@next-bricks/vs 1.8.2 → 1.8.3
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/dist/bricks.json +1 -1
- package/dist/chunks/{1122.085ae9f8.js → 1122.4626ce53.js} +2 -2
- package/dist/chunks/{1122.085ae9f8.js.map → 1122.4626ce53.js.map} +1 -1
- package/dist/chunks/{114.eb07fd66.js → 114.95b19c45.js} +2 -2
- package/dist/chunks/{114.eb07fd66.js.map → 114.95b19c45.js.map} +1 -1
- package/dist/chunks/{1940.5e0b0e64.js → 1940.6d0e27a5.js} +2 -2
- package/dist/chunks/{1940.5e0b0e64.js.map → 1940.6d0e27a5.js.map} +1 -1
- package/dist/chunks/{2277.79fd5d4c.js → 2277.3b0c3e4c.js} +2 -2
- package/dist/chunks/{4658.0d52c558.js.map → 2277.3b0c3e4c.js.map} +1 -1
- package/dist/chunks/{2425.188aee5c.js → 2425.56265e81.js} +2 -2
- package/dist/chunks/{2425.188aee5c.js.map → 2425.56265e81.js.map} +1 -1
- package/dist/chunks/{3171.fae8a74e.js → 3171.2af001ea.js} +2 -2
- package/dist/chunks/{3171.fae8a74e.js.map → 3171.2af001ea.js.map} +1 -1
- package/dist/chunks/{3933.4bbd40bf.js → 3933.8aa507c0.js} +2 -2
- package/dist/chunks/{6314.c71a4da0.js.map → 3933.8aa507c0.js.map} +1 -1
- package/dist/chunks/4.82b82ff5.js +3 -0
- package/dist/chunks/4.82b82ff5.js.map +1 -0
- package/dist/chunks/{4658.0d52c558.js → 4658.4881faa8.js} +2 -2
- package/dist/chunks/{2277.79fd5d4c.js.map → 4658.4881faa8.js.map} +1 -1
- package/dist/chunks/4741.b9cacbb0.js +2 -0
- package/dist/chunks/4741.b9cacbb0.js.map +1 -0
- package/dist/chunks/{4837.a5bbc867.js → 4837.b5c2ae1a.js} +2 -2
- package/dist/chunks/{4837.a5bbc867.js.map → 4837.b5c2ae1a.js.map} +1 -1
- package/dist/chunks/{5115.d21f0c48.js → 5115.27891620.js} +3 -3
- package/dist/chunks/{5115.d21f0c48.js.map → 5115.27891620.js.map} +1 -1
- package/dist/chunks/{5552.fbf85995.js → 5552.afb9e468.js} +2 -2
- package/dist/chunks/{5552.fbf85995.js.map → 5552.afb9e468.js.map} +1 -1
- package/dist/chunks/{6314.c71a4da0.js → 6314.112357f5.js} +2 -2
- package/dist/chunks/{3933.4bbd40bf.js.map → 6314.112357f5.js.map} +1 -1
- package/dist/chunks/{4741.f2928f28.js → 7122.d2834c56.js} +2 -2
- package/dist/chunks/{4741.f2928f28.js.map → 7122.d2834c56.js.map} +1 -1
- package/dist/chunks/{7218.9032ae25.js → 7218.a0c41b9c.js} +2 -2
- package/dist/chunks/{7218.9032ae25.js.map → 7218.a0c41b9c.js.map} +1 -1
- package/dist/chunks/7242.defe6823.js +2 -0
- package/dist/chunks/{7242.bcd0f5f2.js.map → 7242.defe6823.js.map} +1 -1
- package/dist/chunks/{7733.f304fc53.js → 7733.6d721ef2.js} +2 -2
- package/dist/chunks/{7733.f304fc53.js.map → 7733.6d721ef2.js.map} +1 -1
- package/dist/chunks/{790.f1e144b6.js → 790.1dc05805.js} +2 -2
- package/dist/chunks/{790.f1e144b6.js.map → 790.1dc05805.js.map} +1 -1
- package/dist/chunks/{9559.dde40d37.js → 9559.a89c2a78.js} +2 -2
- package/dist/chunks/{9559.dde40d37.js.map → 9559.a89c2a78.js.map} +1 -1
- package/dist/chunks/code-editor.569f6054.js +2 -0
- package/dist/chunks/{code-editor.bdd92248.js.map → code-editor.569f6054.js.map} +1 -1
- package/dist/chunks/main.8c9d6911.js +2 -0
- package/dist/chunks/{main.68937c56.js.map → main.8c9d6911.js.map} +1 -1
- package/dist/index.a99c8178.js +2 -0
- package/dist/{index.00538f8f.js.map → index.a99c8178.js.map} +1 -1
- package/dist-types/code-editor/utils/brickNextSourceMap.d.ts +1 -1
- package/package.json +4 -4
- package/dist/chunks/4.c2ba3b12.js +0 -3
- package/dist/chunks/4.c2ba3b12.js.map +0 -1
- package/dist/chunks/7242.bcd0f5f2.js +0 -2
- package/dist/chunks/854.6036e8ab.js +0 -2
- package/dist/chunks/854.6036e8ab.js.map +0 -1
- package/dist/chunks/code-editor.bdd92248.js +0 -2
- package/dist/chunks/main.68937c56.js +0 -2
- package/dist/index.00538f8f.js +0 -2
- /package/dist/chunks/{4.c2ba3b12.js.LICENSE.txt → 4.82b82ff5.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{5115.d21f0c48.js.LICENSE.txt → 5115.27891620.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/7218.9032ae25.js","mappings":"mYAIA,IAAIA,EAAgB,SAAuBC,GACzC,IAAI,SACFC,EAAQ,KACRC,EAAI,cACJC,EAAa,YACbC,EAAW,gBACXC,GACEL,EACJ,MAAOM,EAAcC,IAAmB,IAAAC,UAAS,MAC3CC,GAAc,IAAAC,WACbC,EAAWC,IAAgB,IAAAJ,YAC5BK,GAAe,IAAAH,QAAO,GACtBI,GAAkB,IAAAC,UAAQ,KAC9B,IAAIC,EACJ,OAAmE,QAA3DA,EAAuB,EAAAC,mBAAmBC,mBAAkD,IAAzBF,OAAkC,EAASA,EAAqBG,KAAK,EAAAF,mBAAmB,GAClK,KACH,IAAAG,YAAU,KACR,IAAIC,GAAS,EAkBb,OAjBAC,iBACE,IACE,MAAMC,QAAkB,EAAAN,mBAAmBO,eAAevB,EAAUC,EAAMC,GAC1E,GAAIkB,EACF,OAEFd,EAAgBgB,GAChBX,IAAyBC,EA6ClBY,QA5CT,CAAE,MAAOC,IACFL,GA6Cb,SAAyBP,GACvB,IAAIa,EACJ,MAAMC,EAA2E,QAA5DD,EAAwB,EAAAV,mBAAmBC,mBAAmD,IAA1BS,OAAmC,EAASA,EAAsBR,KAAK,EAAAF,oBAChK,OAAQH,IAAoBc,GAAed,IAAoBc,CACjE,CAjDuBC,CAAgBf,KAE7BgB,QAAQJ,MAAM,0BAA2BzB,EAAU,aAAcC,IACjE,IAAA6B,iBAAgBL,GAEpB,CACF,CACAM,GACO,KACLX,GAAS,CAAI,CACd,GACA,CAACnB,EAAMD,EAAUa,EAAiBX,IACrC,MAAM8B,GAAe,IAAAC,cAAYC,IAC3BA,EACF1B,EAAYgB,QAAU,EAAAR,mBAAmBmB,cAEzC9B,EAAc6B,IAGd,EAAAlB,mBAAmBoB,gBAAgB/B,EAAcG,EAAYgB,SAC7DhB,EAAYgB,aAAUa,GAExBlC,SAAkDA,EAAY+B,EAAQ,GACrE,CAAC/B,EAAaE,IACjB,IAAKA,EAEH,OAAO,KAGT,MAAM,QACJiC,GACEjC,EACJ,GAAgB,OAAZiC,EAEF,OADAlC,SAA0DA,IACnD,KAET,MAAMmC,EAAeD,EACrB,OAAoB,gBAAoBC,EAAc,CACpDC,IAAK9B,EACL+B,IAAKT,GAET,EASIU,EAAyB,SAAgCC,GAC3D,IAAI,SACF3C,EAAQ,KACRC,EAAI,cACJC,GACEyC,EACJ,OAAIC,MAAMC,QAAQ7C,GACI,gBAAoB,WAAgB,KAAMA,EAAS8C,KAAI,CAACC,EAAMC,IAAuB,gBAAoBlD,EAAe,CAC1I0C,IAAKQ,EACLhD,SAAU+C,EACV9C,KAAMA,EACNC,cAAeA,OAGC,gBAAoBJ,EAAe,CACrDE,SAAUA,EACVC,KAAMA,EACNC,cAAeA,GAEnB,EAIA,MAAM+C,GAAQ,IAAAC,uBAEd,GAAID,EAAO,CACT,MAAM,8BACJE,EAA6B,wBAC7BC,GACEH,EACAE,GAAiCC,IACnCtD,EAAgBqD,EAA8B,GAC9CT,EAAyBU,EAAwB,GAErD,CCjHO,SAASC,IACd,MAAOC,EAAcC,IAAmB,IAAAhD,UAAS,EAAAiD,iBAUjD,OATA,IAAArC,YAAU,KACR,MAAMsC,EAAsBC,IAC1BH,EAAgBG,EAAMC,OAAO,EAG/B,OADAC,OAAOC,iBAAiB,eAAgBJ,GACjC,KACLG,OAAOE,oBAAoB,eAAgBL,EAAoB,CAChE,GACA,IACIH,CACT,CCZO,SAASS,IACd,MAAOC,EAAYC,GAAiB,YAAe,KAAM,IAAAC,cAAaC,kBAQtE,OAPA,aAAgB,KACd,MAAMC,EAAWV,IACfO,EAAcP,EAAMC,OAAO,EAG7B,OADAC,OAAOC,iBAAiB,aAAcO,GAC/B,IAAMR,OAAOE,oBAAoB,aAAcM,EAAS,GAC9D,IACIJ,CACT,CCIO,SAASK,IACd,OAAON,IAAgBO,UACzB,CCjBO,SAASC,IACd,MAAOC,EAAaC,GAAkB,WAAe,MAQrD,OAPA,aAAgB,KACd,MAAML,EAAWV,IACfe,EAAef,EAAMC,OAAO,EAG9B,OADAC,OAAOC,iBAAiB,eAAgBO,GACjC,IAAMR,OAAOE,oBAAoB,eAAgBM,EAAS,GAChE,IACII,CACT,CCXO,MAAME,EAA0B,CACrCC,SAAU,GACVC,cAAe,CACbC,QAAS,OAGTC,UAAW,CAACC,EAASC,IAAYA,EACjC/E,UAAMoC,EACN4C,SAAS,EACTC,UAAU,EACVC,OAAO,GAETC,kBAAc/C,GAEhB,EAAegD,OAAOC,QAAQZ,GAAyBa,QAAO,CAACC,EAAKzF,KAClE,IAAKyC,EAAKiD,GAAS1F,EACnB,MAA8C,oBAA1CsF,OAAOK,UAAUC,SAASzE,KAAKuE,GAAqC,IACnED,KACAC,GAEE,IACFD,EACH,CAAChD,GAAMiD,EACR,GACA,CAAC,G,eCvBJ,MAAMG,EAAW,IAAIC,ICGd,SAASC,IACd,MAAM,SACJnB,EAAQ,cACRC,EAAa,aACbQ,EAAY,YACZW,GCNW,SAAyBC,EAAiCC,EAAqBC,GAC5F,MAAMvB,GAAW,IAAA7D,UAAQ,IACwB,iBAApCkF,EACFA,EAEFtB,EAAwBC,UAC9B,CAACqB,EAAiCC,IAC/BE,GAAU,IAAArF,UAAQ,KACtB,IAAIsF,EAAe,CAAC,EAMpB,OALI,IAAAC,UAASL,GACXI,EAAeJ,GACN,IAAAK,UAASJ,KAClBG,EAAeH,GAEV,IACF,KACAG,EACJ,GACA,CAACJ,EAAiCC,IAC/BF,GAAc,IAAAjF,UAAQ,KAC1B,MAAMwF,EAAmB,IAAIjB,OAAOkB,KAAK7B,MAA6BW,OAAOkB,KAAK7B,EAAwBE,iBACpG,KACJ4B,EAAO,QACJC,GACDpB,OAAOkB,KAAKJ,GAASZ,QAAO,CAACC,EAAKhD,KAC/B8D,EAAiBI,SAASlE,KAAMgD,EAAIhD,GAAO2D,EAAQ3D,IACjDgD,IACN,CAAC,GACJ,MAAO,CACLW,QAAS,IACJM,GAELD,OACD,GACA,CAACL,IACEf,GAAe,IAAAtE,UAAQ,IACvB8B,MAAMC,QAAQoD,GAA6BA,EAC3CrD,MAAMC,QAAQqD,GAAcA,EACzB,EAASd,cACf,CAACa,EAAqBC,IACnBjB,EAAUkB,EAAQlB,SAAWrC,MAAMC,QAAQuC,GAYjD,MAAO,CACLT,WACAC,eAboB,IAAA9D,UAAQ,KAMrB,IALkBuE,OAAOkB,KAAK7B,EAAwBE,eACtBW,QAAO,CAACoB,EAAMnE,KACnDmE,EAAKnE,GAAO2D,EAAQ3D,GACbmE,IACN,CAAC,GAGF1B,aAED,CAACkB,IAIFJ,cACAX,eAEJ,CDnDMwB,IAAmBC,YACjB,QACJhC,EAAO,UACPC,EAAS,SACTI,EAAQ,MACRC,KACG2B,GACDlC,GACGK,EAAS8B,IAAc,IAAAxG,UAASuG,EAAS7B,SAC1C+B,GAAiB,IAAAvG,QAAO,WACxBwG,GAAY,IAAAxG,UACZyG,GAAU,IAAAzG,SAAO,GACjBgB,GAAQ,IAAAhB,UACR0G,GAAW,IAAA1G,UACXR,GAAO,IAAAQ,QAAOqG,EAAS7G,MACvBmH,GAAc,IAAAC,aAAW,KAAM,CAAG,IAAG,IAAI,GACzCC,GAAU,IAAArF,cAAYZ,MAAOsD,EAAU4C,KAC3C,IACE9F,EAAMD,aAAUa,EACX6C,GAAU6B,GAAW,GAC1B,MAAMS,QDFGnG,eAAqBsD,EAAUQ,EAAOqB,GACnD,IAAIiB,EAGJ,MAAMC,EAxBR,SAA6B/C,GAC3B,MAAMgD,EAAUC,GAAOvC,OAAOkB,KAAKqB,GAAKC,OAAO/E,KAAIgF,IAAK,CACtD,CAACA,GAAIF,EAAIE,OAEX,IAAK,IAAIC,EAAOlB,UAAUmB,OAAQxB,EAAO,IAAI5D,MAAMmF,EAAO,EAAIA,EAAO,EAAI,GAAIE,EAAO,EAAGA,EAAOF,EAAME,IAClGzB,EAAKyB,EAAO,GAAKpB,UAAUoB,GAE7B,IACE,MAAMC,EAbY,iBADPC,EAcc3B,IAbW,OAAN2B,GAAevF,MAAMC,QAAQsF,GAaV3B,EAAK1D,KAAIsF,GAX9D,SAAkBD,GAChB,MAAoB,iBAANA,CAChB,CASqEE,CAASD,GAAOA,EAAMT,EAAQS,KAA9DT,EAAQnB,GACzC,OAAO8B,KAAKC,UAAU,CACpB5D,WACA6B,KAAM0B,GAEV,CAAE,MAAOM,GACP,OAAOF,KAAKC,UAAU,CACpB5D,WACA6B,QAEJ,CAxBF,IAAe2B,CAyBf,CAKmBM,CAAoB9D,KAAa6B,GAUlD,OATCrB,GAASS,EAAS8C,IAAIhB,IAAa9B,EAAS+C,OAAOjB,GAChD9B,EAAS8C,IAAIhB,GACfD,EAAU7B,EAASgD,IAAIlB,IAEvBD,GACS,IAAAoB,iBAAgBlE,EAAU6B,GAEnCrB,GAASS,EAASkD,IAAIpB,EAAUD,IAE3BA,CACT,CCb2BsB,CAAMpE,EAAUQ,EAAOoC,GAC5CJ,EAAS3F,QAAUgG,EACnBvH,EAAKuB,QAAUsD,EAAU7E,EAAKuB,QAASgG,EACzC,CAAE,MAAOgB,GACP/G,EAAMD,QAAUgH,EAChBvI,EAAKuB,aAAUa,CACjB,CAGA,OAFK6C,GAAU6B,GAAW,GACtBtF,EAAMD,SAASqD,EAAQpD,EAAMD,SAC1BvB,EAAKuB,OAAO,GAClB,CAACmD,EAAUC,EAAeQ,EAAcW,EAAab,EAAUJ,EAAWgC,EAAS7G,KAAM4E,EAASM,IAC/F6D,GAAY,IAAA/G,cAAYZ,MAAO4H,EAAgBzC,KACnD,IAAI0C,EAAcvE,EACd4C,EAAe,GASnB,OARI,IAAAc,UAASY,KACXC,EAAcD,IAEZ,IAAA5C,UAAS4C,GACX1B,EAAe0B,GACN,IAAA5C,UAASG,KAClBe,EAAef,GAEbtB,EACK,WACL+B,EAAUzF,QAAU8F,EAAQ4B,EAAa3B,GAAc4B,MAAKnE,IAC1DgC,EAAexF,QAAU,UAClBwD,KACNvD,IAEDuF,EAAexF,QAAU,QACzBC,EAAMD,QAAUC,EACTA,KAET2F,UACaH,EAAUzF,SAXlB,GAcF8F,EAAQ4B,EAAa3B,EAAa,GACxC,CAACD,IACE8B,GAAU,IAAAtI,UAAQ,IAAMuE,OAAOgE,iBAAiB,CACpDC,MAAON,GACN,CACD/D,QAAS,CACP2D,IAAG,IACM3D,GAGXhF,KAAM,CACJ2I,IAAG,IACM3I,EAAKuB,SAGhBC,MAAO,CACLmH,IAAG,IACMnH,EAAMD,YAGf,CAACwH,IAUL,IAPA,IAAA7H,YAAU,KACR+F,EAAQ1F,SAAU,EACdoB,MAAMC,QAAQuC,IAAiBT,GACjCyE,EAAQE,MAAM3E,EAAUoB,EAAYS,MAE/B,IAAMU,EAAQ1F,SAAU,IAC9B4D,GACCF,GAAY+B,EAAUzF,QACxB,OAAQwF,EAAexF,SACrB,IAAK,UACH,MAAMyF,EAAUzF,QAElB,IAAK,QACH,MAAMC,EAAMD,QAGlB,OAAO6D,OAAOkE,OAAO,CAACH,EAASjC,EAAS3F,QAASyD,EAASxD,EAAMD,SAAU,CACxE4H,aACGA,EACHjC,SAAUA,EAAS3F,QACnBvB,KAAMA,EAAKuB,QACXyD,UACAxD,MAAOA,EAAMD,SAEjB,C,eEjGOH,eAAemI,EAAeC,EAAWC,GAE9C,aADM,EAAA1I,mBAAmB2I,WAAW,CAACF,KAC9B,IAAAG,WAAUH,EAAWC,EAC9B,CClBO,SAASG,IACd,MAAOC,EAAWC,IAAgB,IAAAxJ,WAAS,KAAM,IAAA2D,cAAa8F,iBAQ9D,OAPA,IAAA7I,YAAU,KACR,MAAMiD,EAAWV,IACfqG,EAAarG,EAAMC,OAAO,EAG5B,OADAC,OAAOC,iBAAiB,mBAAoBO,GACrC,IAAMR,OAAOE,oBAAoB,mBAAoBM,EAAS,GACpE,IACI0F,CACT,CC2CO,SAASG,EAAiBR,EAAWC,GAC1C,OAAO,IAAA5I,UAAQ,IACI,MAAb2I,GACkB,IAAAS,OAAK7I,UAAY,CACnC8I,cAAeX,EAAeC,EAAWC,OAGtC,MACN,CAACD,EAAWC,GACjB,C","sources":["webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgsDefaults.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/fetch.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProvider.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgs.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/asyncWrapBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useNavConfig.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useLazyWrapBrick.js"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError, getV2RuntimeFromDll } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrick = function ReactUseBrick(_ref) {\n let {\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback\n } = _ref;\n const [renderResult, setRenderResult] = useState(null);\n const mountResult = useRef();\n const [renderKey, setRenderKey] = useState();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(useBrick, data, errorBoundary);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (!ignore && isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n const _refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult, element);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n refCallback === null || refCallback === void 0 || refCallback(element);\n }, [refCallback, renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n const {\n tagName\n } = renderResult;\n if (tagName === null) {\n ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();\n return null;\n }\n const WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: _refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n const newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n let {\n useBrick,\n data,\n errorBoundary\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data,\n errorBoundary: errorBoundary\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data,\n errorBoundary: errorBoundary\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n const [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n const listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n const [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n const listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n const [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n const listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map","export const useProviderArgsDefaults = {\n provider: \"\",\n customOptions: {\n onError: () => {\n /* Do nothing.. */\n },\n transform: (oldData, newData) => newData,\n data: undefined,\n loading: false,\n suspense: false,\n cache: true\n },\n dependencies: undefined\n};\nexport default Object.entries(useProviderArgsDefaults).reduce((acc, _ref) => {\n let [key, value] = _ref;\n if (Object.prototype.toString.call(value) === \"[object Object]\") return {\n ...acc,\n ...value\n };\n return {\n ...acc,\n [key]: value\n };\n}, {});\n//# sourceMappingURL=useProviderArgsDefaults.js.map","import { fetchByProvider } from \"@next-core/runtime\";\nconst cacheMap = new Map();\nfunction isObj(v) {\n return typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\nfunction isString(v) {\n return typeof v === \"string\";\n}\nfunction buildSortedCacheKey(provider) {\n const sortObj = obj => Object.keys(obj).sort().map(k => ({\n [k]: obj[k]\n }));\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n try {\n const sortedArgs = isObj(args) ? sortObj(args) : args.map(arg => isString(arg) ? arg : sortObj(arg));\n return JSON.stringify({\n provider,\n args: sortedArgs\n });\n } catch (e) {\n return JSON.stringify({\n provider,\n args\n });\n }\n}\nexport default async function fetch(provider, cache, args) {\n let promise;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const cacheKey = buildSortedCacheKey(provider, ...args);\n !cache && cacheMap.has(cacheKey) && cacheMap.delete(cacheKey);\n if (cacheMap.has(cacheKey)) {\n promise = cacheMap.get(cacheKey);\n } else {\n promise = (() => {\n return fetchByProvider(provider, args);\n })();\n cache && cacheMap.set(cacheKey, promise);\n }\n return promise;\n}\n//# sourceMappingURL=fetch.js.map","import { useCallback, useEffect, useMemo, useReducer, useRef, useState } from \"react\";\nimport useProviderArgs from \"./useProviderArgs.js\";\nimport { isObject, isString } from \"lodash\";\nimport fetch from \"./fetch.js\";\nexport function useProvider() {\n const {\n provider,\n customOptions,\n dependencies,\n requestInit\n } = useProviderArgs(...arguments);\n const {\n onError,\n transform,\n suspense,\n cache,\n ...defaults\n } = customOptions;\n const [loading, setLoading] = useState(defaults.loading);\n const suspenseStatus = useRef(\"pending\");\n const suspender = useRef();\n const mounted = useRef(false);\n const error = useRef();\n const response = useRef();\n const data = useRef(defaults.data);\n const forceUpdate = useReducer(() => ({}), [])[1];\n const doFetch = useCallback(async (provider, providerArgs) => {\n try {\n error.current = undefined;\n if (!suspense) setLoading(true);\n const newRes = await fetch(provider, cache, providerArgs);\n response.current = newRes;\n data.current = transform(data.current, newRes);\n } catch (e) {\n error.current = e;\n data.current = undefined;\n }\n if (!suspense) setLoading(false);\n if (error.current) onError(error.current);\n return data.current;\n }, [provider, customOptions, dependencies, requestInit, suspense, transform, defaults.data, onError, cache]);\n const makeFetch = useCallback(async (providerOrBody, args) => {\n let providerStr = provider;\n let providerArgs = [];\n if (isString(providerOrBody)) {\n providerStr = providerOrBody;\n }\n if (isObject(providerOrBody)) {\n providerArgs = providerOrBody;\n } else if (isObject(args)) {\n providerArgs = args;\n }\n if (suspense) {\n return (async () => {\n suspender.current = doFetch(providerStr, providerArgs).then(newData => {\n suspenseStatus.current = \"success\";\n return newData;\n }, error => {\n /* istanbul ignore next */\n suspenseStatus.current = \"error\";\n error.current = error;\n return error;\n });\n forceUpdate();\n return await suspender.current;\n })();\n }\n return doFetch(providerStr, providerArgs);\n }, [doFetch]);\n const request = useMemo(() => Object.defineProperties({\n query: makeFetch\n }, {\n loading: {\n get() {\n return loading;\n }\n },\n data: {\n get() {\n return data.current;\n }\n },\n error: {\n get() {\n return error.current;\n }\n }\n }), [makeFetch]);\n\n // onMount/onUpdate\n useEffect(() => {\n mounted.current = true;\n if (Array.isArray(dependencies) && provider) {\n request.query(provider, requestInit.args);\n }\n return () => mounted.current = false;\n }, dependencies);\n if (suspense && suspender.current) {\n switch (suspenseStatus.current) {\n case \"pending\":\n throw suspender.current;\n /* istanbul ignore next */\n case \"error\":\n throw error.current;\n }\n }\n return Object.assign([request, response.current, loading, error.current], {\n request,\n ...request,\n response: response.current,\n data: data.current,\n loading,\n error: error.current\n });\n}\n//# sourceMappingURL=useProvider.js.map","import { useMemo } from \"react\";\nimport defaults, { useProviderArgsDefaults } from \"./useProviderArgsDefaults.js\";\nimport { isObject } from \"lodash\";\nexport default function useProviderArgs(providerOrParamsOrGlobalOptions, globalOptionsOrDeps, deps) {\n const provider = useMemo(() => {\n if (typeof providerOrParamsOrGlobalOptions === \"string\") {\n return providerOrParamsOrGlobalOptions;\n }\n return useProviderArgsDefaults.provider;\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const options = useMemo(() => {\n let localOptions = {};\n if (isObject(providerOrParamsOrGlobalOptions)) {\n localOptions = providerOrParamsOrGlobalOptions;\n } else if (isObject(globalOptionsOrDeps)) {\n localOptions = globalOptionsOrDeps;\n }\n return {\n ...defaults,\n ...localOptions\n };\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const requestInit = useMemo(() => {\n const customOptionKeys = [...Object.keys(useProviderArgsDefaults), ...Object.keys(useProviderArgsDefaults.customOptions)];\n const {\n args = null,\n ...restOptions\n } = Object.keys(options).reduce((acc, key) => {\n if (!customOptionKeys.includes(key)) acc[key] = options[key];\n return acc;\n }, {});\n return {\n options: {\n ...restOptions\n },\n args\n };\n }, [options]);\n const dependencies = useMemo(() => {\n if (Array.isArray(globalOptionsOrDeps)) return globalOptionsOrDeps;\n if (Array.isArray(deps)) return deps;\n return defaults.dependencies;\n }, [globalOptionsOrDeps, deps]);\n const loading = options.loading || Array.isArray(dependencies);\n const customOptions = useMemo(() => {\n const customOptionKeys = Object.keys(useProviderArgsDefaults.customOptions);\n const customOptions = customOptionKeys.reduce((opts, key) => {\n opts[key] = options[key];\n return opts;\n }, {});\n return {\n ...customOptions,\n loading\n };\n }, [options]);\n return {\n provider,\n customOptions,\n requestInit,\n dependencies\n };\n}\n//# sourceMappingURL=useProviderArgs.js.map","import { __secret_internals } from \"@next-core/runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\nexport async function asyncWrapBrick(brickName, eventsMapping) {\n await __secret_internals.loadBricks([brickName]);\n return wrapBrick(brickName, eventsMapping);\n}\n//# sourceMappingURL=asyncWrapBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useNavConfig() {\n const [navConfig, setNavConfig] = useState(() => getRuntime().getNavConfig());\n useEffect(() => {\n const listener = event => {\n setNavConfig(event.detail);\n };\n window.addEventListener(\"navConfig.change\", listener);\n return () => window.removeEventListener(\"navConfig.change\", listener);\n }, []);\n return navConfig;\n}\n//# sourceMappingURL=useNavConfig.js.map","import { lazy, useMemo } from \"react\";\nimport { asyncWrapBrick } from \"./asyncWrapBrick.js\";\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\nexport function useLazyWrapBrick(brickName, eventsMapping) {\n return useMemo(() => {\n if (brickName != null) {\n return /*#__PURE__*/lazy(async () => ({\n default: await asyncWrapBrick(brickName, eventsMapping)\n }));\n }\n return null;\n }, [brickName, eventsMapping]);\n}\n//# sourceMappingURL=useLazyWrapBrick.js.map"],"names":["ReactUseBrick","_ref","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","async","newRender","renderUseBrick","current","error","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","_refCallback","useCallback","element","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","key","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","window","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender","useProviderArgsDefaults","provider","customOptions","onError","transform","oldData","newData","loading","suspense","cache","dependencies","Object","entries","reduce","acc","value","prototype","toString","cacheMap","Map","useProvider","requestInit","providerOrParamsOrGlobalOptions","globalOptionsOrDeps","deps","options","localOptions","isObject","customOptionKeys","keys","args","restOptions","includes","opts","useProviderArgs","arguments","defaults","setLoading","suspenseStatus","suspender","mounted","response","forceUpdate","useReducer","doFetch","providerArgs","newRes","promise","cacheKey","sortObj","obj","sort","k","_len","length","_key","sortedArgs","v","arg","isString","JSON","stringify","e","buildSortedCacheKey","has","delete","get","fetchByProvider","set","fetch","makeFetch","providerOrBody","providerStr","then","request","defineProperties","query","assign","asyncWrapBrick","brickName","eventsMapping","loadBricks","wrapBrick","useNavConfig","navConfig","setNavConfig","getNavConfig","useLazyWrapBrick","lazy","default"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/7218.a0c41b9c.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgsDefaults.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/fetch.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProvider.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgs.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/asyncWrapBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useNavConfig.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useLazyWrapBrick.js"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError, getV2RuntimeFromDll } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrick = function ReactUseBrick(_ref) {\n let {\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback\n } = _ref;\n const [renderResult, setRenderResult] = useState(null);\n const mountResult = useRef();\n const [renderKey, setRenderKey] = useState();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(useBrick, data, errorBoundary);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (!ignore && isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n const _refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult, element);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n refCallback === null || refCallback === void 0 || refCallback(element);\n }, [refCallback, renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n const {\n tagName\n } = renderResult;\n if (tagName === null) {\n ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();\n return null;\n }\n const WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: _refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n const newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n let {\n useBrick,\n data,\n errorBoundary\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data,\n errorBoundary: errorBoundary\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data,\n errorBoundary: errorBoundary\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n const [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n const listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n const [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n const listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n const [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n const listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map","export const useProviderArgsDefaults = {\n provider: \"\",\n customOptions: {\n onError: () => {\n /* Do nothing.. */\n },\n transform: (oldData, newData) => newData,\n data: undefined,\n loading: false,\n suspense: false,\n cache: true\n },\n dependencies: undefined\n};\nexport default Object.entries(useProviderArgsDefaults).reduce((acc, _ref) => {\n let [key, value] = _ref;\n if (Object.prototype.toString.call(value) === \"[object Object]\") return {\n ...acc,\n ...value\n };\n return {\n ...acc,\n [key]: value\n };\n}, {});\n//# sourceMappingURL=useProviderArgsDefaults.js.map","import { fetchByProvider } from \"@next-core/runtime\";\nconst cacheMap = new Map();\nfunction isObj(v) {\n return typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\nfunction isString(v) {\n return typeof v === \"string\";\n}\nfunction buildSortedCacheKey(provider) {\n const sortObj = obj => Object.keys(obj).sort().map(k => ({\n [k]: obj[k]\n }));\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n try {\n const sortedArgs = isObj(args) ? sortObj(args) : args.map(arg => isString(arg) ? arg : sortObj(arg));\n return JSON.stringify({\n provider,\n args: sortedArgs\n });\n } catch (e) {\n return JSON.stringify({\n provider,\n args\n });\n }\n}\nexport default async function fetch(provider, cache, args) {\n let promise;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const cacheKey = buildSortedCacheKey(provider, ...args);\n !cache && cacheMap.has(cacheKey) && cacheMap.delete(cacheKey);\n if (cacheMap.has(cacheKey)) {\n promise = cacheMap.get(cacheKey);\n } else {\n promise = (() => {\n return fetchByProvider(provider, args);\n })();\n cache && cacheMap.set(cacheKey, promise);\n }\n return promise;\n}\n//# sourceMappingURL=fetch.js.map","import { useCallback, useEffect, useMemo, useReducer, useRef, useState } from \"react\";\nimport useProviderArgs from \"./useProviderArgs.js\";\nimport { isObject, isString } from \"lodash\";\nimport fetch from \"./fetch.js\";\nexport function useProvider() {\n const {\n provider,\n customOptions,\n dependencies,\n requestInit\n } = useProviderArgs(...arguments);\n const {\n onError,\n transform,\n suspense,\n cache,\n ...defaults\n } = customOptions;\n const [loading, setLoading] = useState(defaults.loading);\n const suspenseStatus = useRef(\"pending\");\n const suspender = useRef();\n const mounted = useRef(false);\n const error = useRef();\n const response = useRef();\n const data = useRef(defaults.data);\n const forceUpdate = useReducer(() => ({}), [])[1];\n const doFetch = useCallback(async (provider, providerArgs) => {\n try {\n error.current = undefined;\n if (!suspense) setLoading(true);\n const newRes = await fetch(provider, cache, providerArgs);\n response.current = newRes;\n data.current = transform(data.current, newRes);\n } catch (e) {\n error.current = e;\n data.current = undefined;\n }\n if (!suspense) setLoading(false);\n if (error.current) onError(error.current);\n return data.current;\n }, [provider, customOptions, dependencies, requestInit, suspense, transform, defaults.data, onError, cache]);\n const makeFetch = useCallback(async (providerOrBody, args) => {\n let providerStr = provider;\n let providerArgs = [];\n if (isString(providerOrBody)) {\n providerStr = providerOrBody;\n }\n if (isObject(providerOrBody)) {\n providerArgs = providerOrBody;\n } else if (isObject(args)) {\n providerArgs = args;\n }\n if (suspense) {\n return (async () => {\n suspender.current = doFetch(providerStr, providerArgs).then(newData => {\n suspenseStatus.current = \"success\";\n return newData;\n }, error => {\n /* istanbul ignore next */\n suspenseStatus.current = \"error\";\n error.current = error;\n return error;\n });\n forceUpdate();\n return await suspender.current;\n })();\n }\n return doFetch(providerStr, providerArgs);\n }, [doFetch]);\n const request = useMemo(() => Object.defineProperties({\n query: makeFetch\n }, {\n loading: {\n get() {\n return loading;\n }\n },\n data: {\n get() {\n return data.current;\n }\n },\n error: {\n get() {\n return error.current;\n }\n }\n }), [makeFetch]);\n\n // onMount/onUpdate\n useEffect(() => {\n mounted.current = true;\n if (Array.isArray(dependencies) && provider) {\n request.query(provider, requestInit.args);\n }\n return () => mounted.current = false;\n }, dependencies);\n if (suspense && suspender.current) {\n switch (suspenseStatus.current) {\n case \"pending\":\n throw suspender.current;\n /* istanbul ignore next */\n case \"error\":\n throw error.current;\n }\n }\n return Object.assign([request, response.current, loading, error.current], {\n request,\n ...request,\n response: response.current,\n data: data.current,\n loading,\n error: error.current\n });\n}\n//# sourceMappingURL=useProvider.js.map","import { useMemo } from \"react\";\nimport defaults, { useProviderArgsDefaults } from \"./useProviderArgsDefaults.js\";\nimport { isObject } from \"lodash\";\nexport default function useProviderArgs(providerOrParamsOrGlobalOptions, globalOptionsOrDeps, deps) {\n const provider = useMemo(() => {\n if (typeof providerOrParamsOrGlobalOptions === \"string\") {\n return providerOrParamsOrGlobalOptions;\n }\n return useProviderArgsDefaults.provider;\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const options = useMemo(() => {\n let localOptions = {};\n if (isObject(providerOrParamsOrGlobalOptions)) {\n localOptions = providerOrParamsOrGlobalOptions;\n } else if (isObject(globalOptionsOrDeps)) {\n localOptions = globalOptionsOrDeps;\n }\n return {\n ...defaults,\n ...localOptions\n };\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const requestInit = useMemo(() => {\n const customOptionKeys = [...Object.keys(useProviderArgsDefaults), ...Object.keys(useProviderArgsDefaults.customOptions)];\n const {\n args = null,\n ...restOptions\n } = Object.keys(options).reduce((acc, key) => {\n if (!customOptionKeys.includes(key)) acc[key] = options[key];\n return acc;\n }, {});\n return {\n options: {\n ...restOptions\n },\n args\n };\n }, [options]);\n const dependencies = useMemo(() => {\n if (Array.isArray(globalOptionsOrDeps)) return globalOptionsOrDeps;\n if (Array.isArray(deps)) return deps;\n return defaults.dependencies;\n }, [globalOptionsOrDeps, deps]);\n const loading = options.loading || Array.isArray(dependencies);\n const customOptions = useMemo(() => {\n const customOptionKeys = Object.keys(useProviderArgsDefaults.customOptions);\n const customOptions = customOptionKeys.reduce((opts, key) => {\n opts[key] = options[key];\n return opts;\n }, {});\n return {\n ...customOptions,\n loading\n };\n }, [options]);\n return {\n provider,\n customOptions,\n requestInit,\n dependencies\n };\n}\n//# sourceMappingURL=useProviderArgs.js.map","import { __secret_internals } from \"@next-core/runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\nexport async function asyncWrapBrick(brickName, eventsMapping) {\n await __secret_internals.loadBricks([brickName]);\n return wrapBrick(brickName, eventsMapping);\n}\n//# sourceMappingURL=asyncWrapBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useNavConfig() {\n const [navConfig, setNavConfig] = useState(() => getRuntime().getNavConfig());\n useEffect(() => {\n const listener = event => {\n setNavConfig(event.detail);\n };\n window.addEventListener(\"navConfig.change\", listener);\n return () => window.removeEventListener(\"navConfig.change\", listener);\n }, []);\n return navConfig;\n}\n//# sourceMappingURL=useNavConfig.js.map","import { lazy, useMemo } from \"react\";\nimport { asyncWrapBrick } from \"./asyncWrapBrick.js\";\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\nexport function useLazyWrapBrick(brickName, eventsMapping) {\n return useMemo(() => {\n if (brickName != null) {\n return /*#__PURE__*/lazy(async () => ({\n default: await asyncWrapBrick(brickName, eventsMapping)\n }));\n }\n return null;\n }, [brickName, eventsMapping]);\n}\n//# sourceMappingURL=useLazyWrapBrick.js.map"],"names":["ReactUseBrick","_ref","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","async","newRender","renderUseBrick","current","error","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","_refCallback","useCallback","element","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","key","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","window","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender","useProviderArgsDefaults","provider","customOptions","onError","transform","oldData","newData","loading","suspense","cache","dependencies","Object","entries","reduce","acc","value","prototype","toString","cacheMap","Map","useProvider","requestInit","providerOrParamsOrGlobalOptions","globalOptionsOrDeps","deps","options","localOptions","isObject","customOptionKeys","keys","args","restOptions","includes","opts","useProviderArgs","arguments","defaults","setLoading","suspenseStatus","suspender","mounted","response","forceUpdate","useReducer","doFetch","providerArgs","newRes","promise","cacheKey","sortObj","obj","sort","k","_len","length","_key","sortedArgs","v","arg","isString","JSON","stringify","e","buildSortedCacheKey","has","delete","get","fetchByProvider","set","fetch","makeFetch","providerOrBody","providerStr","then","request","defineProperties","query","assign","asyncWrapBrick","brickName","eventsMapping","loadBricks","wrapBrick","useNavConfig","navConfig","setNavConfig","getNavConfig","useLazyWrapBrick","lazy","default"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[]).push([[7242],{77242:(e,t,n)=>{n.r(t);var i,s=n(74635),r=n(70918),a=n(26902),o=n(5536),c=n(86121),u=n(70829),l=n(62740),h=n(18769),d=n.n(h),g=n(81929),m=n(93453),p=n(4223),k=n(39605),f=n(30426),v=n(78573),A=n(36197),y=n(23909),w=n(92257),b=n(93135),C=n(91732),M=n.n(C),E=(n(19583),n(72445)),L=n(97137),x=n(34929),S=n(62738),_=n(44804),W=n(24102),B=n(9287),N=n(85502),P=n(8182),R=n(53373),z=n.n(R),O=(n(73569),n(11968));let D,V,I,F,K,T,q,H,j,Y,J,U,X,$,G,Q,Z,ee,te,ne,ie,se,re,ae,oe,ce,ue,le,he,de,ge,me,pe,ke,fe,ve,Ae,ye,we,be,Ce,Me,Ee,Le,xe,Se,_e,We,Be,Ne,Pe,Re,ze;(0,N.initializeReactI18n)(P.NS,P.I),(0,A.kz)(v),(0,y.kz)(v),(0,w.kz)(v,"brick_next_yaml"),(0,b.kz)(v);const{defineElement:Oe,property:De,event:Ve}=(0,g.createDecorators)(),Ie=(0,p.wrapBrick)("eo-form-item"),Fe=(0,p.wrapBrick)("eo-tooltip"),Ke=(0,p.wrapBrick)("eo-icon"),Te=(0,m.unwrapProvider)("basic.copy-to-clipboard"),qe=(0,m.unwrapProvider)("basic.show-notification");let He;var je=new WeakMap,Ye=new WeakMap,Je=new WeakMap,Ue=new WeakMap,Xe=new WeakMap,$e=new WeakMap,Ge=new WeakMap,Qe=new WeakMap,Ze=new WeakMap,et=new WeakMap,tt=new WeakMap,nt=new WeakMap,it=new WeakMap,st=new WeakMap,rt=new WeakMap,at=new WeakMap,ot=new WeakMap,ct=new WeakMap,ut=new WeakMap,lt=new WeakMap,ht=new WeakMap,dt=new WeakSet,gt=new WeakMap,mt=new WeakMap,pt=new WeakMap,kt=new WeakMap,ft=new WeakMap;class vt extends f.N{constructor(){var e;super(...arguments),e=this,(0,s.A)(this,dt),(0,r.A)(this,je,V(this)),(0,r.A)(this,Ye,(I(this),F(this))),(0,r.A)(this,Je,(K(this),T(this))),(0,r.A)(this,Ue,(q(this),H(this))),(0,r.A)(this,Xe,(j(this),Y(this))),(0,r.A)(this,$e,(J(this),U(this))),(0,r.A)(this,Ge,(X(this),$(this))),(0,r.A)(this,Qe,(G(this),Q(this))),(0,r.A)(this,Ze,(Z(this),ee(this))),(0,r.A)(this,et,(te(this),ne(this))),(0,r.A)(this,tt,(ie(this),se(this))),(0,r.A)(this,nt,(re(this),ae(this))),(0,r.A)(this,it,(oe(this),ce(this))),(0,r.A)(this,st,(ue(this),le(this))),(0,r.A)(this,rt,(he(this),de(this))),(0,r.A)(this,at,(ge(this),me(this))),(0,r.A)(this,ot,(pe(this),ke(this))),(0,r.A)(this,ct,(fe(this),ve(this))),(0,r.A)(this,ut,(Ae(this),ye(this))),(0,r.A)(this,lt,(we(this),be(this))),(0,r.A)(this,ht,(Ce(this),Me(this))),(0,r.A)(this,gt,(xe(this),Se(this))),(0,r.A)(this,mt,(Be(this),function(t,n,i){var s;let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e.value=t,!r&&(null===(s=e.getFormElement())||void 0===s||s.formStore.onChange(e.name,t)),(0,o.A)(dt,e,Ee).emit(t),i||(0,o.A)(dt,e,_e).emit(n)})),(0,r.A)(this,pt,Ne(this)),(0,r.A)(this,kt,(ze(this),e=>{(0,o.A)(dt,this,Pe).emit(e)})),(0,r.A)(this,ft,(e=>{try{M().load(e)}catch{return"请填写正确的格式"}return""}))}get name(){return(0,u.A)(je,this)}set name(e){(0,c.A)(je,this,e)}get label(){return(0,u.A)(Ye,this)}set label(e){(0,c.A)(Ye,this,e)}get value(){return(0,u.A)(Je,this)}set value(e){(0,c.A)(Je,this,e)}get language(){return(0,u.A)(Ue,this)}set language(e){(0,c.A)(Ue,this,e)}get theme(){return(0,u.A)(Xe,this)}set theme(e){(0,c.A)(Xe,this,e)}get required(){return(0,u.A)($e,this)}set required(e){(0,c.A)($e,this,e)}get readOnly(){return(0,u.A)(Ge,this)}set readOnly(e){(0,c.A)(Ge,this,e)}get automaticLayout(){return(0,u.A)(Qe,this)}set automaticLayout(e){(0,c.A)(Qe,this,e)}get minLines(){return(0,u.A)(Ze,this)}set minLines(e){(0,c.A)(Ze,this,e)}get completers(){return(0,u.A)(et,this)}set completers(e){(0,c.A)(et,this,e)}get advancedCompleters(){return(0,u.A)(tt,this)}set advancedCompleters(e){(0,c.A)(tt,this,e)}get markers(){return(0,u.A)(nt,this)}set markers(e){(0,c.A)(nt,this,e)}get links(){return(0,u.A)(it,this)}set links(e){(0,c.A)(it,this,e)}get maxLines(){return(0,u.A)(st,this)}set maxLines(e){(0,c.A)(st,this,e)}get height(){return(0,u.A)(rt,this)}set height(e){(0,c.A)(rt,this,e)}get message(){return(0,u.A)(at,this)}set message(e){(0,c.A)(at,this,e)}get showExpandButton(){return(0,u.A)(ot,this)}set showExpandButton(e){(0,c.A)(ot,this,e)}get tokenConfig(){return(0,u.A)(ct,this)}set tokenConfig(e){(0,c.A)(ct,this,e)}get showCopyButton(){return(0,u.A)(ut,this)}set showCopyButton(e){(0,c.A)(ut,this,e)}get extraLibs(){return(0,u.A)(lt,this)}set extraLibs(e){(0,c.A)(lt,this,e)}connectedCallback(){this.style.display||(this.style.display="block"),super.connectedCallback()}render(){return d().createElement(Ie,{exportparts:"message",curElement:this,formElement:this.getFormElement(),name:this.name,label:this.label,required:this.required,helpBrick:this.helpBrick,labelBrick:this.labelBrick,notRender:this.notRender,validator:(0,u.A)(ft,this)},d().createElement(At,{value:this.value,language:this.language,readOnly:this.readOnly,theme:this.theme,automaticLayout:this.automaticLayout,minLines:this.minLines,maxLines:this.maxLines,height:this.height,completers:this.completers,advancedCompleters:this.advancedCompleters,extraLibs:this.extraLibs,markers:this.markers,links:this.links,tokenConfig:this.tokenConfig,showCopyButton:this.showCopyButton,showExpandButton:this.showExpandButton,validateState:this.validateState,onChange:(0,u.A)(mt,this),onTokenClick:(0,u.A)(kt,this)}))}}function At(e){let{value:t,language:n,theme:i,minLines:s,maxLines:r,height:a,automaticLayout:o,completers:c,advancedCompleters:u,markers:l,readOnly:g,links:m,extraLibs:p,tokenConfig:f={showDSKey:!1},showExpandButton:A,showCopyButton:y=!0,validateState:w,onChange:b,onTokenClick:C}=e;const M=t??"",R=n??"plaintext",D=i??"auto",V=s??3,I=r??1/0,F=a??500,[K,T]=(0,h.useState)(!1),q=(0,h.useMemo)((()=>(0,E.uniqueId)("worker")),[]),{t:H}=(0,N.useTranslation)(P.NS),j=(0,h.useRef)(null),Y=(0,h.useRef)(),J=(0,h.useRef)(),U=(0,h.useRef)({width:300,height:yt(M,V,I)}),[X,$]=(0,h.useState)(),G=(0,h.useRef)(o),Q=(0,k.useCurrentTheme)();(0,h.useEffect)((()=>{if("brick_next_yaml"!==R)return;const e=S.h.getInstance(q),t=e.addEventListener("message",(e=>{const{token:t,data:n,init:i=!1}=e.data,s=J.current.getModel();if(!s)return;const r=s.getValue();switch(t){case"parse_yaml":{var a;const{value:e,tokens:t,markers:o}=n;null===(a=Y.current)||void 0===a||a.set(t.map((e=>({range:new v.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),options:{inlineClassName:"highlight"}})))),v.editor.setModelMarkers(s,"brick_next_yaml",o),b(r,e,!1,i);break}case"parse_yaml_error":var o;v.editor.setModelMarkers(s,"brick_next_yaml",[]),null==Y||null===(o=Y.current)||void 0===o||o.set([]),b(r,void 0,!1,i)}}));return()=>{e.removeEventListener(t)}}),[]),(0,h.useEffect)((()=>{const e="auto"===D?"dark"===Q||"dark-v2"===Q?"vs-dark":"vs":D,t=e.includes("dark")?"#FFFFFF0F":"#0000000A";v.editor.defineTheme("custom-theme",{base:e,inherit:!0,rules:[],colors:{"editor.lineHighlightBackground":`${t}`}}),v.editor.setTheme("custom-theme")}),[Q,D]),(0,h.useEffect)((()=>{if(J.current){const e=J.current.getModel();v.editor.setModelLanguage(e,R)}}),[R]),(0,h.useEffect)((()=>{if("brick_next_yaml"===R){const e=(0,x.v)(c,u,q,f),t=v.languages.registerCompletionItemProvider("brick_next_yaml",{provideCompletionItems:e,triggerCharacters:[".",":","<"]});return()=>{t.dispose()}}}),[c,u,R]);const Z=(0,h.useCallback)((e=>{let{init:t=!1}=e;"brick_next_yaml"===R&&J.current&&S.h.getInstance(q).postMessage({token:"parse_yaml",data:{value:M,links:m,markers:l},options:f,init:t})}),[R,M,f,m,l,q]),ee=(0,h.useMemo)((()=>(0,E.debounce)(Z,300)),[Z]);(0,h.useEffect)((()=>{if(J.current){const e=J.current.getModel();null!=e&&e.getValue&&M!==e.getValue()&&(e.setValue(M),ee({init:!0}))}}),[M,ee]),(0,h.useLayoutEffect)((()=>{var e;if("fit-content"!==G.current||!j.current)return;U.current.width=j.current.getBoundingClientRect().width,null===(e=J.current)||void 0===e||e.layout(U.current);const t=new ResizeObserver((e=>{for(const n of e)if(n.target===j.current){const e=n.contentBoxSize?n.contentBoxSize[0].inlineSize:n.contentRect.width,i=n.contentBoxSize?n.contentBoxSize[0].blockSize:n.contentRect.height;var t;(e!==U.current.width||K)&&(U.current.width=e,null===(t=J.current)||void 0===t||t.layout({width:e,height:K?i:U.current.height}));break}}));return t.observe(j.current),()=>{t.disconnect()}}),[K]),(0,h.useLayoutEffect)((()=>{if("fit-container"!==G.current)return;const e=function(e){let t=e;for(;t;){const e="vs.code-editor"===t.tagName.toLowerCase();if(t=t.parentElement,e)return t}}(j.current);if(!e)return;const t=new ResizeObserver((()=>{$(e.offsetHeight)}));return t.observe(e),()=>{t.disconnect()}}),[]),(0,h.useEffect)((()=>{"fit-container"!==G.current&&"fit-content"!==G.current&&$(F)}),[F]),(0,h.useEffect)((()=>{J.current&&J.current.updateOptions({readOnly:g})}),[g]),(0,h.useEffect)((()=>{if(J.current||!j.current)return;const e=v.editor.createModel(M,R);if("brick_next_yaml"===R){const t=(0,W.AR)(e.uri);v.editor.createModel(M,"javascript",t),v.languages.typescript.javascriptDefaults.addExtraLib((0,W.Eh)(),e.uri.toString()+"d.ts")}J.current=v.editor.create(j.current,{model:e,minimap:{enabled:!1},scrollBeyondLastLine:!1,tabSize:2,insertSpaces:!0,automaticLayout:"fit-content"!==G.current,fontSize:L.yU,lineHeight:L.fE,scrollbar:{horizontalScrollbarSize:L.lP,verticalScrollbarSize:L.lP,horizontalSliderSize:8,verticalSliderSize:8,alwaysConsumeMouseWheel:!1},padding:{top:L.Vu,bottom:"fit-content"==G.current?void 0:L.Vu},overviewRulerBorder:!1,mouseWheelScrollSensitivity:.5,fixedOverflowWidgets:!0,lineNumbersMinChars:3,suggest:{insertMode:"insert",preview:!0},readOnly:g,quickSuggestions:{strings:!0,other:!0,comments:!0},renderLineHighlightOnlyWhenFocus:!0}),Y.current=J.current.createDecorationsCollection()}),[]),(0,h.useEffect)((()=>{const e=p??[],t="typescript"===R?"typescriptDefaults":"javascriptDefaults",n=(0,B.m)(e,{languageDefaults:t});return()=>{for(const e of n)e.dispose()}}),[p,R]),(0,h.useEffect)((()=>{const e=J.current;if("brick_next_yaml"===R&&e){const t=e.getModel(),n=e.onMouseDown((function(e){var n;const i=Y.current;((null==i||null===(n=i.getRanges)||void 0===n?void 0:n.call(i))??[]).forEach((n=>{const i=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";n&&e.target.position&&e.event[i]&&n.containsPosition(e.target.position)&&C(t.getValueInRange(n))}))})),i=e.onMouseMove((function(e){const t=Y.current;t&&t.getRanges().forEach((n=>{const i=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";if(n&&e.target.position&&e.event[i]&&n.containsPosition(e.target.position)){const e=t.getRanges().map((e=>({range:e,options:{inlineClassName:n.equalsRange(e)?"highlight pointer":"highlight"}})));t.set(e)}else if(!e.event[i]){const e=t.getRanges().map((e=>({range:e,options:{inlineClassName:"highlight"}})));t.set(e)}}))}));return ee({init:!0}),()=>{null==i||i.dispose(),null==n||n.dispose()}}}),[R,C,Q,D,ee]),(0,h.useEffect)((()=>{const e=J.current;if(!e||!j.current||"fit-content"!==G.current)return;const t=e.onDidContentSizeChange((t=>{if(!K&&t.contentHeightChanged){const n=wt(t.contentHeight,V,I);n!==U.current.height&&(U.current.height=n,e.layout(U.current))}})),n=wt(e.getContentHeight(),V,I);return n!==U.current.height&&(U.current.height=n,e.layout(U.current)),()=>{t.dispose()}}),[I,V,K]);const te=(0,h.useCallback)((async(e,t)=>{v.editor.setModelMarkers(e,"semantic_validate",[]);const n=e.findPreviousMatch("<%[~=]?",t,!0,!1,null,!1),i=e.findNextMatch("%>",t,!1,!1,null,!1),s=null==n?void 0:n.range,r=null==i?void 0:i.range;if(s&&r){const n=new v.Range(s.startLineNumber,s.endColumn,r.startLineNumber,r.startColumn),i=e.getValueInRange(n);if(n.containsPosition(t)&&!/<% | %>/.test(i)){const t=(0,W.AR)(e.uri);v.editor.getModel(t).setValue(i);const r=e.getOffsetAt(new v.Position(s.startLineNumber,s.endColumn));O.b.getInstance(q).updateState({content:i,range:n,offset:r});const a=await v.languages.typescript.getJavaScriptWorker(),o=await a(t),c=(await o.getSemanticDiagnostics(t.toString())).map((t=>{const n=r+(t.start??0),i=e.getPositionAt(n);return{startLineNumber:i.lineNumber,startColumn:i.column,endLineNumber:i.lineNumber,endColumn:i.column+t.length,message:t.messageText,severity:v.MarkerSeverity.Warning}}));v.editor.setModelMarkers(e,"semantic_validate",c)}}}),[q]);(0,h.useEffect)((()=>{if(!J.current)return;const e=J.current.getModel(),t=e.onDidChangeContent((async()=>{(0,_.J)(q),["brick_next_yaml"].includes(R)?(te(e,J.current.getPosition()),ee({init:!1})):b(e.getValue(),void 0,!1,!1)}));return()=>{t.dispose()}}),[ee,b,q,R,te]),(0,h.useEffect)((()=>{if(K){const e=t=>{"Escape"!==t.key&&"Esc"!==t.key||(window.removeEventListener("keydown",e),T(!1))};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}}}),[K]),(0,h.useEffect)((()=>()=>{var e,t;null===(e=J.current)||void 0===e||null===(e=e.getModel())||void 0===e||e.dispose(),null===(t=J.current)||void 0===t||t.dispose()}),[]);const ne=(0,h.useCallback)((()=>{if(J.current){const e=J.current.getModel();Te(e.getValue()).then((()=>qe({type:"success",message:H(P.K.COPY_SUCCESS)}))).catch((()=>qe({type:"error",message:H(P.K.COPY_FAILED)})))}}),[H]),ie=(0,h.useCallback)((()=>{T(!K)}),[K]);return d().createElement("div",{className:z()("code-editor-wrapper",{expanded:K,error:"error"===w})},d().createElement("div",{ref:j,style:{height:K?"100%":X,overflow:K?"scroll":""}}),d().createElement("div",{className:"toolbar"},y&&d().createElement(Fe,{content:H(P.K.COPY)},d().createElement(Ke,{className:"copy-icon",icon:"copy",lib:"antd",theme:"outlined",onClick:ne})),A&&d().createElement(Fe,{content:H(K?P.K.COLLAPSE:P.K.EXPAND)},d().createElement(Ke,{className:"expand-icon",icon:K?"compress":"expand",lib:"antd",theme:"outlined",onClick:ie}))))}function yt(e,t,n){return bt(Math.min(n,Math.max(t,e.split("\n").length)))}function wt(e,t,n){let i=e;return(e-L.Vu)%L.fE==0&&(i=e+L.lP),Math.min(bt(n),Math.max(i,bt(t)))}function bt(e){return e*L.fE+L.lP+L.Vu}i=vt,({e:[V,I,F,K,T,q,H,j,Y,J,U,X,$,G,Q,Z,ee,te,ne,ie,se,re,ae,oe,ce,ue,le,he,de,ge,me,pe,ke,fe,ve,Ae,ye,we,be,Ce,Me,Ee,Le,xe,Se,_e,We,Be,Ne,Pe,Re,ze],c:[He,D]}=(0,l.A)(i,[Oe("vs.code-editor",{shadowOptions:!1})],[[De(),1,"name"],[De(),1,"label"],[De(),1,"value"],[De(),1,"language"],[De(),1,"theme"],[De({type:Boolean}),1,"required"],[De({type:Boolean}),1,"readOnly"],[De(),1,"automaticLayout"],[De({type:Number}),1,"minLines"],[De({attribute:!1}),1,"completers"],[De({attribute:!1}),1,"advancedCompleters"],[De({attribute:!1}),1,"markers"],[De({attribute:!1}),1,"links"],[De({type:Number}),1,"maxLines"],[De({attribute:!1}),1,"height"],[De(),1,"message"],[De({type:Boolean}),1,"showExpandButton"],[De({attribute:!1}),1,"tokenConfig"],[De({type:Boolean}),1,"showCopyButton"],[De({attribute:!1}),1,"extraLibs"],[Ve({type:"code.change"}),1,"codeChange",e=>(0,u.A)(ht,e),(e,t)=>(0,c.A)(ht,e,t)],[Ve({type:"user.input"}),1,"userInput",e=>(0,u.A)(gt,e),(e,t)=>(0,c.A)(gt,e,t)],[Ve({type:"token.click"}),1,"tokenClickEvent",e=>(0,u.A)(pt,e),(e,t)=>(0,c.A)(pt,e,t)]],0,(e=>ft.has((0,a.A)(e))),f.N)),D()}}]);
|
|
2
|
+
//# sourceMappingURL=7242.defe6823.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/7242.bcd0f5f2.js","mappings":"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","sources":["webpack:///./src/code-editor/index.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\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 \"@next-core/theme\";\nimport { uniqueId, debounce } from \"lodash\";\nimport {\n EDITOR_SCROLLBAR_SIZE,\n EDITOR_PADDING_VERTICAL,\n EDITOR_LINE_HEIGHT,\n EDITOR_FONT_SIZE,\n} from \"./constants.js\";\nimport { AdvancedCompleterMap, ExtraLib } from \"./interfaces.js\";\nimport { brickNextYAMLProviderCompletionItems } from \"./utils/brickNextYaml.js\";\nimport { Level } from \"./utils/constants.js\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { VSWorkers } from \"./workers/index.mjs\";\nimport { setEditorId } from \"./utils/editorId.js\";\nimport {\n getEmbeddedJavascriptUri,\n getBrickYamlBuiltInDeclare,\n} from \"./utils/jsSuggestInBrickYaml.js\";\nimport { addExtraLibs } from \"./utils/addExtraLibs.js\";\nimport type { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport type { copyToClipboard as _copyToClipboard } from \"@next-bricks/basic/data-providers/copy-to-clipboard\";\nimport type { showNotification as _showNotification } from \"@next-bricks/basic/data-providers/show-notification/show-notification\";\nimport classNames from \"classnames\";\nimport \"./index.css\";\nimport { EmbeddedModelContext } from \"./utils/embeddedModelState.js\";\n\ninitializeReactI18n(NS, locales);\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\");\nconst WrappedTooltip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst copyToClipboard = unwrapProvider<typeof _copyToClipboard>(\n \"basic.copy-to-clipboard\"\n);\nconst showNotification = unwrapProvider<typeof _showNotification>(\n \"basic.show-notification\"\n);\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 tokenConfig?: TokenConfig;\n advancedCompleters?: AdvancedCompleterMap;\n extraLibs?: ExtraLib[];\n markers?: Marker[];\n links?: string[];\n showExpandButton?: boolean;\n showCopyButton?: boolean;\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\nexport type TokenConfig = {\n showDSKey: boolean;\n};\n\n/**\n * 构件代码编辑器\n * @category form-input-advanced\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()\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: AdvancedCompleterMap | 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 /**\n * 是否展示展开按钮\n */\n @property({ type: Boolean })\n accessor showExpandButton: boolean | undefined;\n\n /**\n * 自定义高亮配置\n */\n @property({\n attribute: false,\n })\n accessor tokenConfig: TokenConfig | undefined;\n\n /**\n * 是否展示复制按钮\n * @default true\n */\n @property({ type: Boolean })\n accessor showCopyButton: boolean | undefined;\n\n /**\n * @description 额外声明的 lib 库\n */\n @property({\n attribute: false,\n })\n accessor extraLibs: ExtraLib[] | 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 = (\n value: string,\n parseValue: any,\n isFlush: boolean,\n isInit: boolean = false\n ) => {\n this.value = value;\n !isInit && this.getFormElement()?.formStore.onChange(this.name!, value);\n this.#codeChange.emit(value);\n if (!isFlush) {\n this.#userInput.emit(parseValue);\n }\n };\n\n @event({ type: \"token.click\" })\n accessor #tokenClickEvent!: EventEmitter<string>;\n\n #handleTokenClick = (word: string) => {\n this.#tokenClickEvent.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 exportparts=\"message\"\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n helpBrick={this.helpBrick}\n labelBrick={this.labelBrick}\n notRender={this.notRender}\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 extraLibs={this.extraLibs}\n markers={this.markers}\n links={this.links}\n tokenConfig={this.tokenConfig}\n showCopyButton={this.showCopyButton}\n showExpandButton={this.showExpandButton}\n validateState={this.validateState}\n onChange={this.#handleChange}\n onTokenClick={this.#handleTokenClick}\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 extraLibs,\n tokenConfig = {\n showDSKey: false,\n },\n showExpandButton,\n showCopyButton = true,\n validateState,\n onChange,\n onTokenClick,\n}: CodeEditorProps & {\n onChange(\n value: string,\n parseValue: any,\n isFlush: boolean,\n isInit: boolean\n ): void;\n onTokenClick(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 const [expanded, setExpanded] = useState(false);\n const workerId = useMemo(() => uniqueId(\"worker\"), []);\n\n const { t } = useTranslation(NS);\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 if (language !== \"brick_next_yaml\") return;\n const workerInstance = VSWorkers.getInstance(workerId);\n const id = workerInstance.addEventListener(\"message\", (message: any) => {\n const { token, data, init = false } = message.data;\n const model = editorRef.current!.getModel();\n if (!model) return;\n const originValue = model.getValue();\n\n switch (token) {\n case \"parse_yaml\": {\n const { value, tokens, markers } = data;\n\n decorationsCollection.current?.set(\n tokens.map((token: any) => ({\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 monaco.editor.setModelMarkers(model, \"brick_next_yaml\", markers);\n onChange(originValue, value, false, init);\n break;\n }\n case \"parse_yaml_error\": {\n monaco.editor.setModelMarkers(model, \"brick_next_yaml\", []);\n decorationsCollection?.current?.set([]);\n onChange(originValue, undefined, false, init);\n break;\n }\n }\n });\n return () => {\n workerInstance.removeEventListener(id);\n };\n }, []);\n\n useEffect(() => {\n const computedTheme =\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme;\n const lineHeightBackground = computedTheme.includes(\"dark\")\n ? \"#FFFFFF0F\"\n : \"#0000000A\";\n monaco.editor.defineTheme(\"custom-theme\", {\n base: computedTheme as \"vs-dark\" | \"vs\",\n inherit: true,\n rules: [],\n colors: {\n \"editor.lineHighlightBackground\": `${lineHeightBackground}`,\n },\n });\n // Currently theme is configured globally.\n // See https://github.com/microsoft/monaco-editor/issues/338\n monaco.editor.setTheme(\"custom-theme\");\n }, [systemTheme, theme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n }\n }, [language]);\n\n useEffect(() => {\n if (language === \"brick_next_yaml\") {\n const provideCompletionItems = brickNextYAMLProviderCompletionItems(\n completers,\n advancedCompleters,\n workerId,\n tokenConfig\n );\n const monacoProviderRef = monaco.languages.registerCompletionItemProvider(\n \"brick_next_yaml\",\n {\n provideCompletionItems,\n triggerCharacters: [\".\", \":\", \"<\"],\n } as monaco.languages.CompletionItemProvider\n );\n return () => {\n monacoProviderRef.dispose();\n };\n }\n }, [completers, advancedCompleters, language]);\n\n const parseYaml = useCallback(\n ({ init = false }: { init?: boolean }) => {\n if (language !== \"brick_next_yaml\" || !editorRef.current) return;\n const workerInstance = VSWorkers.getInstance(workerId);\n workerInstance.postMessage({\n token: \"parse_yaml\",\n data: {\n value,\n links,\n markers,\n },\n options: tokenConfig,\n init,\n });\n },\n [language, value, tokenConfig, links, markers, workerId]\n );\n\n const debounceParse = useMemo(() => debounce(parseYaml, 300), [parseYaml]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel();\n if (currentModel?.getValue && value !== currentModel.getValue()) {\n currentModel.setValue(value as string);\n debounceParse({\n init: true,\n });\n }\n }\n }, [value, debounceParse]);\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 const newHeight = entry.contentBoxSize\n ? entry.contentBoxSize[0].blockSize\n : entry.contentRect.height;\n if (newWidth !== size.current.width || expanded) {\n size.current.width = newWidth;\n editorRef.current?.layout({\n width: newWidth,\n height: expanded ? newHeight : size.current.height,\n });\n }\n break;\n }\n }\n });\n observer.observe(containerRef.current);\n\n return () => {\n observer.disconnect();\n };\n }, [expanded]);\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 if (language === \"brick_next_yaml\") {\n // 注册嵌套的 model, language 为 js\n const uri = getEmbeddedJavascriptUri(model.uri);\n monaco.editor.createModel(value, \"javascript\", uri);\n monaco.languages.typescript.javascriptDefaults.addExtraLib(\n getBrickYamlBuiltInDeclare(),\n model.uri.toString() + \"d.ts\"\n );\n }\n\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 fixedOverflowWidgets: true,\n lineNumbersMinChars: 3,\n suggest: {\n insertMode: \"insert\",\n preview: true,\n },\n readOnly: readOnly,\n quickSuggestions: { strings: true, other: true, comments: true },\n renderLineHighlightOnlyWhenFocus: true,\n });\n\n decorationsCollection.current =\n editorRef.current.createDecorationsCollection();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const libs: ExtraLib[] = extraLibs ?? [];\n\n const languageDefaults =\n language === \"typescript\" ? \"typescriptDefaults\" : \"javascriptDefaults\";\n const disposables = addExtraLibs(libs, {\n languageDefaults,\n });\n return () => {\n for (const item of disposables) {\n item.dispose();\n }\n };\n }, [extraLibs, language]);\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 onTokenClick(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 debounceParse({\n init: true,\n });\n\n return () => {\n mouseOverEvent?.dispose();\n editorMouseDownEvent?.dispose();\n };\n }\n }, [language, onTokenClick, systemTheme, theme, debounceParse]);\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 (expanded) return;\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, expanded]);\n\n // istanbul ignore next\n const embeddedModelProcessor = useCallback(\n async (model: monaco.editor.IModel, position: monaco.Position) => {\n monaco.editor.setModelMarkers(model, \"semantic_validate\", []);\n\n const prefixEvaluateOperator = model.findPreviousMatch(\n \"<%[~=]?\",\n position,\n true,\n false,\n null,\n false\n );\n\n const suffixEvaluateOperator = model.findNextMatch(\n \"%>\",\n position,\n false,\n false,\n null,\n false\n );\n\n const prefixEvaluateRange = prefixEvaluateOperator?.range;\n const suffixEvaluateRange = suffixEvaluateOperator?.range;\n\n if (prefixEvaluateRange && suffixEvaluateRange) {\n const range = new monaco.Range(\n prefixEvaluateRange.startLineNumber,\n prefixEvaluateRange.endColumn,\n suffixEvaluateRange.startLineNumber,\n suffixEvaluateRange.startColumn\n );\n\n const content = model.getValueInRange(range);\n if (range.containsPosition(position!) && !/<% | %>/.test(content)) {\n const newUri = getEmbeddedJavascriptUri(model.uri);\n const embeddedModel = monaco.editor.getModel(newUri);\n\n embeddedModel!.setValue(content);\n const offset = model.getOffsetAt(\n new monaco.Position(\n prefixEvaluateRange.startLineNumber,\n prefixEvaluateRange.endColumn\n )\n );\n\n const embeddedContext = EmbeddedModelContext.getInstance(workerId);\n\n embeddedContext.updateState({ content, range, offset });\n\n const getWorker =\n await monaco.languages.typescript.getJavaScriptWorker();\n\n const worker = await getWorker(newUri);\n\n const diagnostics = await worker.getSemanticDiagnostics(\n newUri.toString()\n );\n\n const semanticMarkers = diagnostics.map((item) => {\n const finalOffset = offset + (item.start ?? 0);\n const currentPosition = model.getPositionAt(finalOffset);\n\n return {\n startLineNumber: currentPosition.lineNumber,\n startColumn: currentPosition.column,\n endLineNumber: currentPosition.lineNumber,\n endColumn: currentPosition.column + item.length!,\n message: item.messageText as string,\n severity: monaco.MarkerSeverity.Warning,\n };\n });\n\n monaco.editor.setModelMarkers(\n model,\n \"semantic_validate\",\n semanticMarkers\n );\n }\n }\n },\n [workerId]\n );\n\n useEffect(() => {\n if (!editorRef.current) {\n return;\n }\n const currentModel = editorRef.current.getModel()!;\n const listener = currentModel.onDidChangeContent(async () => {\n setEditorId(workerId);\n\n if ([\"brick_next_yaml\"].includes(language)) {\n embeddedModelProcessor(currentModel, editorRef.current!.getPosition()!);\n debounceParse({\n init: false,\n });\n } else {\n onChange(currentModel.getValue(), undefined, false, false);\n }\n });\n return () => {\n listener.dispose();\n };\n }, [debounceParse, onChange, workerId, language, embeddedModelProcessor]);\n\n useEffect(() => {\n if (expanded) {\n const fn = (e: KeyboardEvent): void => {\n if (e.key === \"Escape\" || e.key === \"Esc\") {\n window.removeEventListener(\"keydown\", fn);\n setExpanded(false);\n }\n };\n window.addEventListener(\"keydown\", fn);\n return () => {\n window.removeEventListener(\"keydown\", fn);\n };\n }\n }, [expanded]);\n\n useEffect(() => {\n return () => {\n editorRef.current?.getModel()?.dispose();\n editorRef.current?.dispose();\n };\n }, []);\n\n const handleCopyIconClick = useCallback(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n copyToClipboard(currentModel.getValue())\n .then(() =>\n showNotification({ type: \"success\", message: t(K.COPY_SUCCESS) })\n )\n .catch(() =>\n showNotification({ type: \"error\", message: t(K.COPY_FAILED) })\n );\n }\n }, [t]);\n\n const handleExpandedClick = useCallback(() => {\n setExpanded(!expanded);\n }, [expanded]);\n\n return (\n <div\n className={classNames(\"code-editor-wrapper\", {\n expanded,\n error: validateState === \"error\",\n })}\n >\n <div\n ref={containerRef}\n style={{\n height: expanded ? \"100%\" : actualHeight,\n overflow: expanded ? \"scroll\" : \"\",\n }}\n />\n <div className=\"toolbar\">\n {showCopyButton && (\n <WrappedTooltip content={t(K.COPY) as string}>\n <WrappedIcon\n className=\"copy-icon\"\n icon=\"copy\"\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleCopyIconClick}\n />\n </WrappedTooltip>\n )}\n {showExpandButton && (\n <WrappedTooltip\n content={(expanded ? t(K.COLLAPSE) : t(K.EXPAND)) as string}\n >\n <WrappedIcon\n className=\"expand-icon\"\n icon={expanded ? \"compress\" : \"expand\"}\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleExpandedClick}\n />\n </WrappedTooltip>\n )}\n </div>\n </div>\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"],"names":["initializeReactI18n","NS","locales","registerJavaScript","monaco","registerTypeScript","registerYaml","registerHtml","defineElement","property","event","createDecorators","WrappedFormItem","wrapBrick","WrappedTooltip","WrappedIcon","copyToClipboard","unwrapProvider","showNotification","_CodeEditor","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_T","_U","_CodeEditor_brand","WeakSet","_V","_handleChange","_W","_handleTokenClick","_handleValidtor","CodeEditor","FormItemElementBase","constructor","_this","arguments","this","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_name","_init_extra_name","_init_label","_init_extra_label","_init_value","_init_extra_value","_init_language","_init_extra_language","_init_theme","_init_extra_theme","_init_required","_init_extra_required","_init_readOnly","_init_extra_readOnly","_init_automaticLayout","_init_extra_automaticLayout","_init_minLines","_init_extra_minLines","_init_completers","_init_extra_completers","_init_advancedCompleters","_init_extra_advancedCompleters","_init_markers","_init_extra_markers","_init_links","_init_extra_links","_init_maxLines","_init_extra_maxLines","_init_height","_init_extra_height","_init_message","_init_extra_message","_init_showExpandButton","_init_extra_showExpandButton","_init_tokenConfig","_init_extra_tokenConfig","_init_showCopyButton","_init_extra_showCopyButton","_init_extraLibs","_init_extra_extraLibs","_init_codeChange","_init_extra_codeChange","_init_userInput","_init_extra_userInput","value","parseValue","isFlush","_this$getFormElement","isInit","length","undefined","getFormElement","formStore","onChange","name","_classPrivateGetter","_get_codeChange","emit","_get_userInput","_init_tokenClickEvent","_init_extra_tokenClickEvent","word","_get_tokenClickEvent","yaml","_classPrivateFieldGet","v","_classPrivateFieldSet","label","language","theme","required","readOnly","automaticLayout","minLines","completers","advancedCompleters","markers","links","maxLines","height","message","showExpandButton","tokenConfig","showCopyButton","extraLibs","connectedCallback","style","display","super","render","React","exportparts","curElement","formElement","helpBrick","labelBrick","notRender","validator","CodeEditorComponent","validateState","onTokenClick","_ref","_value","_language","_theme","_minLines","_maxLines","_height","showDSKey","Infinity","expanded","setExpanded","useState","workerId","useMemo","uniqueId","t","useTranslation","containerRef","useRef","decorationsCollection","editorRef","size","width","getContentHeightByCode","actualHeight","setActualHeight","automaticLayoutRef","systemTheme","useCurrentTheme","useEffect","workerInstance","VSWorkers","getInstance","id","addEventListener","token","data","init","model","current","getModel","originValue","getValue","_decorationsCollectio","tokens","set","map","range","startLineNumber","startColumn","endLineNumber","endColumn","options","inlineClassName","setModelMarkers","_decorationsCollectio2","removeEventListener","computedTheme","lineHeightBackground","includes","defineTheme","base","inherit","rules","colors","setTheme","currentModel","setModelLanguage","provideCompletionItems","brickNextYAMLProviderCompletionItems","monacoProviderRef","registerCompletionItemProvider","triggerCharacters","dispose","parseYaml","useCallback","_ref2","postMessage","debounceParse","debounce","setValue","useLayoutEffect","_editorRef$current","getBoundingClientRect","layout","observer","ResizeObserver","entries","entry","target","newWidth","contentBoxSize","inlineSize","contentRect","newHeight","blockSize","_editorRef$current2","observe","disconnect","container","element","brick","found","tagName","toLowerCase","parentElement","getDOMContainer","offsetHeight","updateOptions","createModel","uri","getEmbeddedJavascriptUri","typescript","javascriptDefaults","addExtraLib","getBrickYamlBuiltInDeclare","toString","create","minimap","enabled","scrollBeyondLastLine","tabSize","insertSpaces","fontSize","EDITOR_FONT_SIZE","lineHeight","EDITOR_LINE_HEIGHT","scrollbar","horizontalScrollbarSize","EDITOR_SCROLLBAR_SIZE","verticalScrollbarSize","horizontalSliderSize","verticalSliderSize","alwaysConsumeMouseWheel","padding","top","EDITOR_PADDING_VERTICAL","bottom","overviewRulerBorder","mouseWheelScrollSensitivity","fixedOverflowWidgets","lineNumbersMinChars","suggest","insertMode","preview","quickSuggestions","strings","other","comments","renderLineHighlightOnlyWhenFocus","createDecorationsCollection","libs","languageDefaults","disposables","addExtraLibs","item","editor","editorMouseDownEvent","onMouseDown","e","_decorations$getRange","decorations","getRanges","call","forEach","modKey","test","navigator","platform","position","containsPosition","getValueInRange","mouseOverEvent","onMouseMove","newDecorations","equalsRange","listener","onDidContentSizeChange","contentHeightChanged","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","embeddedModelProcessor","async","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixEvaluateRange","suffixEvaluateRange","content","newUri","offset","getOffsetAt","EmbeddedModelContext","updateState","getWorker","getJavaScriptWorker","worker","semanticMarkers","getSemanticDiagnostics","finalOffset","start","currentPosition","getPositionAt","lineNumber","column","messageText","severity","Warning","onDidChangeContent","setEditorId","getPosition","fn","key","window","_editorRef$current3","_editorRef$current4","handleCopyIconClick","then","type","K","COPY_SUCCESS","catch","COPY_FAILED","handleExpandedClick","className","classNames","error","ref","overflow","COPY","icon","lib","onClick","COLLAPSE","EXPAND","code","getContentHeightByLines","Math","min","max","split","fixedHeight","lines","_CodeEditor2","_set_codeChange","_set_userInput","_set_tokenClickEvent","c","_initClass","_applyDecs","shadowOptions","Boolean","Number","attribute","o","_","has","_checkInRHS"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/7242.defe6823.js","mappings":"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","sources":["webpack:///./src/code-editor/index.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\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 \"@next-core/theme\";\nimport { uniqueId, debounce } from \"lodash\";\nimport {\n EDITOR_SCROLLBAR_SIZE,\n EDITOR_PADDING_VERTICAL,\n EDITOR_LINE_HEIGHT,\n EDITOR_FONT_SIZE,\n} from \"./constants.js\";\nimport { AdvancedCompleterMap, ExtraLib } from \"./interfaces.js\";\nimport { brickNextYAMLProviderCompletionItems } from \"./utils/brickNextYaml.js\";\nimport { Level } from \"./utils/constants.js\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { VSWorkers } from \"./workers/index.mjs\";\nimport { setEditorId } from \"./utils/editorId.js\";\nimport {\n getEmbeddedJavascriptUri,\n getBrickYamlBuiltInDeclare,\n} from \"./utils/jsSuggestInBrickYaml.js\";\nimport { addExtraLibs } from \"./utils/addExtraLibs.js\";\nimport type { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport type { copyToClipboard as _copyToClipboard } from \"@next-bricks/basic/data-providers/copy-to-clipboard\";\nimport type { showNotification as _showNotification } from \"@next-bricks/basic/data-providers/show-notification/show-notification\";\nimport classNames from \"classnames\";\nimport \"./index.css\";\nimport { EmbeddedModelContext } from \"./utils/embeddedModelState.js\";\n\ninitializeReactI18n(NS, locales);\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\");\nconst WrappedTooltip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst copyToClipboard = unwrapProvider<typeof _copyToClipboard>(\n \"basic.copy-to-clipboard\"\n);\nconst showNotification = unwrapProvider<typeof _showNotification>(\n \"basic.show-notification\"\n);\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 tokenConfig?: TokenConfig;\n advancedCompleters?: AdvancedCompleterMap;\n extraLibs?: ExtraLib[];\n markers?: Marker[];\n links?: string[];\n showExpandButton?: boolean;\n showCopyButton?: boolean;\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\nexport type TokenConfig = {\n showDSKey: boolean;\n};\n\n/**\n * 构件代码编辑器\n * @category form-input-advanced\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()\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: AdvancedCompleterMap | 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 /**\n * 是否展示展开按钮\n */\n @property({ type: Boolean })\n accessor showExpandButton: boolean | undefined;\n\n /**\n * 自定义高亮配置\n */\n @property({\n attribute: false,\n })\n accessor tokenConfig: TokenConfig | undefined;\n\n /**\n * 是否展示复制按钮\n * @default true\n */\n @property({ type: Boolean })\n accessor showCopyButton: boolean | undefined;\n\n /**\n * @description 额外声明的 lib 库\n */\n @property({\n attribute: false,\n })\n accessor extraLibs: ExtraLib[] | 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 = (\n value: string,\n parseValue: any,\n isFlush: boolean,\n isInit: boolean = false\n ) => {\n this.value = value;\n !isInit && this.getFormElement()?.formStore.onChange(this.name!, value);\n this.#codeChange.emit(value);\n if (!isFlush) {\n this.#userInput.emit(parseValue);\n }\n };\n\n @event({ type: \"token.click\" })\n accessor #tokenClickEvent!: EventEmitter<string>;\n\n #handleTokenClick = (word: string) => {\n this.#tokenClickEvent.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 exportparts=\"message\"\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n helpBrick={this.helpBrick}\n labelBrick={this.labelBrick}\n notRender={this.notRender}\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 extraLibs={this.extraLibs}\n markers={this.markers}\n links={this.links}\n tokenConfig={this.tokenConfig}\n showCopyButton={this.showCopyButton}\n showExpandButton={this.showExpandButton}\n validateState={this.validateState}\n onChange={this.#handleChange}\n onTokenClick={this.#handleTokenClick}\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 extraLibs,\n tokenConfig = {\n showDSKey: false,\n },\n showExpandButton,\n showCopyButton = true,\n validateState,\n onChange,\n onTokenClick,\n}: CodeEditorProps & {\n onChange(\n value: string,\n parseValue: any,\n isFlush: boolean,\n isInit: boolean\n ): void;\n onTokenClick(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 const [expanded, setExpanded] = useState(false);\n const workerId = useMemo(() => uniqueId(\"worker\"), []);\n\n const { t } = useTranslation(NS);\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 if (language !== \"brick_next_yaml\") return;\n const workerInstance = VSWorkers.getInstance(workerId);\n const id = workerInstance.addEventListener(\"message\", (message: any) => {\n const { token, data, init = false } = message.data;\n const model = editorRef.current!.getModel();\n if (!model) return;\n const originValue = model.getValue();\n\n switch (token) {\n case \"parse_yaml\": {\n const { value, tokens, markers } = data;\n\n decorationsCollection.current?.set(\n tokens.map((token: any) => ({\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 monaco.editor.setModelMarkers(model, \"brick_next_yaml\", markers);\n onChange(originValue, value, false, init);\n break;\n }\n case \"parse_yaml_error\": {\n monaco.editor.setModelMarkers(model, \"brick_next_yaml\", []);\n decorationsCollection?.current?.set([]);\n onChange(originValue, undefined, false, init);\n break;\n }\n }\n });\n return () => {\n workerInstance.removeEventListener(id);\n };\n }, []);\n\n useEffect(() => {\n const computedTheme =\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme;\n const lineHeightBackground = computedTheme.includes(\"dark\")\n ? \"#FFFFFF0F\"\n : \"#0000000A\";\n monaco.editor.defineTheme(\"custom-theme\", {\n base: computedTheme as \"vs-dark\" | \"vs\",\n inherit: true,\n rules: [],\n colors: {\n \"editor.lineHighlightBackground\": `${lineHeightBackground}`,\n },\n });\n // Currently theme is configured globally.\n // See https://github.com/microsoft/monaco-editor/issues/338\n monaco.editor.setTheme(\"custom-theme\");\n }, [systemTheme, theme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n }\n }, [language]);\n\n useEffect(() => {\n if (language === \"brick_next_yaml\") {\n const provideCompletionItems = brickNextYAMLProviderCompletionItems(\n completers,\n advancedCompleters,\n workerId,\n tokenConfig\n );\n const monacoProviderRef = monaco.languages.registerCompletionItemProvider(\n \"brick_next_yaml\",\n {\n provideCompletionItems,\n triggerCharacters: [\".\", \":\", \"<\"],\n } as monaco.languages.CompletionItemProvider\n );\n return () => {\n monacoProviderRef.dispose();\n };\n }\n }, [completers, advancedCompleters, language]);\n\n const parseYaml = useCallback(\n ({ init = false }: { init?: boolean }) => {\n if (language !== \"brick_next_yaml\" || !editorRef.current) return;\n const workerInstance = VSWorkers.getInstance(workerId);\n workerInstance.postMessage({\n token: \"parse_yaml\",\n data: {\n value,\n links,\n markers,\n },\n options: tokenConfig,\n init,\n });\n },\n [language, value, tokenConfig, links, markers, workerId]\n );\n\n const debounceParse = useMemo(() => debounce(parseYaml, 300), [parseYaml]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel();\n if (currentModel?.getValue && value !== currentModel.getValue()) {\n currentModel.setValue(value as string);\n debounceParse({\n init: true,\n });\n }\n }\n }, [value, debounceParse]);\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 const newHeight = entry.contentBoxSize\n ? entry.contentBoxSize[0].blockSize\n : entry.contentRect.height;\n if (newWidth !== size.current.width || expanded) {\n size.current.width = newWidth;\n editorRef.current?.layout({\n width: newWidth,\n height: expanded ? newHeight : size.current.height,\n });\n }\n break;\n }\n }\n });\n observer.observe(containerRef.current);\n\n return () => {\n observer.disconnect();\n };\n }, [expanded]);\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 if (language === \"brick_next_yaml\") {\n // 注册嵌套的 model, language 为 js\n const uri = getEmbeddedJavascriptUri(model.uri);\n monaco.editor.createModel(value, \"javascript\", uri);\n monaco.languages.typescript.javascriptDefaults.addExtraLib(\n getBrickYamlBuiltInDeclare(),\n model.uri.toString() + \"d.ts\"\n );\n }\n\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 fixedOverflowWidgets: true,\n lineNumbersMinChars: 3,\n suggest: {\n insertMode: \"insert\",\n preview: true,\n },\n readOnly: readOnly,\n quickSuggestions: { strings: true, other: true, comments: true },\n renderLineHighlightOnlyWhenFocus: true,\n });\n\n decorationsCollection.current =\n editorRef.current.createDecorationsCollection();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const libs: ExtraLib[] = extraLibs ?? [];\n\n const languageDefaults =\n language === \"typescript\" ? \"typescriptDefaults\" : \"javascriptDefaults\";\n const disposables = addExtraLibs(libs, {\n languageDefaults,\n });\n return () => {\n for (const item of disposables) {\n item.dispose();\n }\n };\n }, [extraLibs, language]);\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 onTokenClick(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 debounceParse({\n init: true,\n });\n\n return () => {\n mouseOverEvent?.dispose();\n editorMouseDownEvent?.dispose();\n };\n }\n }, [language, onTokenClick, systemTheme, theme, debounceParse]);\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 (expanded) return;\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, expanded]);\n\n // istanbul ignore next\n const embeddedModelProcessor = useCallback(\n async (model: monaco.editor.IModel, position: monaco.Position) => {\n monaco.editor.setModelMarkers(model, \"semantic_validate\", []);\n\n const prefixEvaluateOperator = model.findPreviousMatch(\n \"<%[~=]?\",\n position,\n true,\n false,\n null,\n false\n );\n\n const suffixEvaluateOperator = model.findNextMatch(\n \"%>\",\n position,\n false,\n false,\n null,\n false\n );\n\n const prefixEvaluateRange = prefixEvaluateOperator?.range;\n const suffixEvaluateRange = suffixEvaluateOperator?.range;\n\n if (prefixEvaluateRange && suffixEvaluateRange) {\n const range = new monaco.Range(\n prefixEvaluateRange.startLineNumber,\n prefixEvaluateRange.endColumn,\n suffixEvaluateRange.startLineNumber,\n suffixEvaluateRange.startColumn\n );\n\n const content = model.getValueInRange(range);\n if (range.containsPosition(position!) && !/<% | %>/.test(content)) {\n const newUri = getEmbeddedJavascriptUri(model.uri);\n const embeddedModel = monaco.editor.getModel(newUri);\n\n embeddedModel!.setValue(content);\n const offset = model.getOffsetAt(\n new monaco.Position(\n prefixEvaluateRange.startLineNumber,\n prefixEvaluateRange.endColumn\n )\n );\n\n const embeddedContext = EmbeddedModelContext.getInstance(workerId);\n\n embeddedContext.updateState({ content, range, offset });\n\n const getWorker =\n await monaco.languages.typescript.getJavaScriptWorker();\n\n const worker = await getWorker(newUri);\n\n const diagnostics = await worker.getSemanticDiagnostics(\n newUri.toString()\n );\n\n const semanticMarkers = diagnostics.map((item) => {\n const finalOffset = offset + (item.start ?? 0);\n const currentPosition = model.getPositionAt(finalOffset);\n\n return {\n startLineNumber: currentPosition.lineNumber,\n startColumn: currentPosition.column,\n endLineNumber: currentPosition.lineNumber,\n endColumn: currentPosition.column + item.length!,\n message: item.messageText as string,\n severity: monaco.MarkerSeverity.Warning,\n };\n });\n\n monaco.editor.setModelMarkers(\n model,\n \"semantic_validate\",\n semanticMarkers\n );\n }\n }\n },\n [workerId]\n );\n\n useEffect(() => {\n if (!editorRef.current) {\n return;\n }\n const currentModel = editorRef.current.getModel()!;\n const listener = currentModel.onDidChangeContent(async () => {\n setEditorId(workerId);\n\n if ([\"brick_next_yaml\"].includes(language)) {\n embeddedModelProcessor(currentModel, editorRef.current!.getPosition()!);\n debounceParse({\n init: false,\n });\n } else {\n onChange(currentModel.getValue(), undefined, false, false);\n }\n });\n return () => {\n listener.dispose();\n };\n }, [debounceParse, onChange, workerId, language, embeddedModelProcessor]);\n\n useEffect(() => {\n if (expanded) {\n const fn = (e: KeyboardEvent): void => {\n if (e.key === \"Escape\" || e.key === \"Esc\") {\n window.removeEventListener(\"keydown\", fn);\n setExpanded(false);\n }\n };\n window.addEventListener(\"keydown\", fn);\n return () => {\n window.removeEventListener(\"keydown\", fn);\n };\n }\n }, [expanded]);\n\n useEffect(() => {\n return () => {\n editorRef.current?.getModel()?.dispose();\n editorRef.current?.dispose();\n };\n }, []);\n\n const handleCopyIconClick = useCallback(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n copyToClipboard(currentModel.getValue())\n .then(() =>\n showNotification({ type: \"success\", message: t(K.COPY_SUCCESS) })\n )\n .catch(() =>\n showNotification({ type: \"error\", message: t(K.COPY_FAILED) })\n );\n }\n }, [t]);\n\n const handleExpandedClick = useCallback(() => {\n setExpanded(!expanded);\n }, [expanded]);\n\n return (\n <div\n className={classNames(\"code-editor-wrapper\", {\n expanded,\n error: validateState === \"error\",\n })}\n >\n <div\n ref={containerRef}\n style={{\n height: expanded ? \"100%\" : actualHeight,\n overflow: expanded ? \"scroll\" : \"\",\n }}\n />\n <div className=\"toolbar\">\n {showCopyButton && (\n <WrappedTooltip content={t(K.COPY) as string}>\n <WrappedIcon\n className=\"copy-icon\"\n icon=\"copy\"\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleCopyIconClick}\n />\n </WrappedTooltip>\n )}\n {showExpandButton && (\n <WrappedTooltip\n content={(expanded ? t(K.COLLAPSE) : t(K.EXPAND)) as string}\n >\n <WrappedIcon\n className=\"expand-icon\"\n icon={expanded ? \"compress\" : \"expand\"}\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleExpandedClick}\n />\n </WrappedTooltip>\n )}\n </div>\n </div>\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"],"names":["initializeReactI18n","NS","locales","registerJavaScript","monaco","registerTypeScript","registerYaml","registerHtml","defineElement","property","event","createDecorators","WrappedFormItem","wrapBrick","WrappedTooltip","WrappedIcon","copyToClipboard","unwrapProvider","showNotification","_CodeEditor","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_T","_U","_CodeEditor_brand","WeakSet","_V","_handleChange","_W","_handleTokenClick","_handleValidtor","CodeEditor","FormItemElementBase","constructor","_this","arguments","this","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_name","_init_extra_name","_init_label","_init_extra_label","_init_value","_init_extra_value","_init_language","_init_extra_language","_init_theme","_init_extra_theme","_init_required","_init_extra_required","_init_readOnly","_init_extra_readOnly","_init_automaticLayout","_init_extra_automaticLayout","_init_minLines","_init_extra_minLines","_init_completers","_init_extra_completers","_init_advancedCompleters","_init_extra_advancedCompleters","_init_markers","_init_extra_markers","_init_links","_init_extra_links","_init_maxLines","_init_extra_maxLines","_init_height","_init_extra_height","_init_message","_init_extra_message","_init_showExpandButton","_init_extra_showExpandButton","_init_tokenConfig","_init_extra_tokenConfig","_init_showCopyButton","_init_extra_showCopyButton","_init_extraLibs","_init_extra_extraLibs","_init_codeChange","_init_extra_codeChange","_init_userInput","_init_extra_userInput","value","parseValue","isFlush","_this$getFormElement","isInit","length","undefined","getFormElement","formStore","onChange","name","_classPrivateGetter","_get_codeChange","emit","_get_userInput","_init_tokenClickEvent","_init_extra_tokenClickEvent","word","_get_tokenClickEvent","yaml","_classPrivateFieldGet","v","_classPrivateFieldSet","label","language","theme","required","readOnly","automaticLayout","minLines","completers","advancedCompleters","markers","links","maxLines","height","message","showExpandButton","tokenConfig","showCopyButton","extraLibs","connectedCallback","style","display","super","render","React","exportparts","curElement","formElement","helpBrick","labelBrick","notRender","validator","CodeEditorComponent","validateState","onTokenClick","_ref","_value","_language","_theme","_minLines","_maxLines","_height","showDSKey","Infinity","expanded","setExpanded","useState","workerId","useMemo","uniqueId","t","useTranslation","containerRef","useRef","decorationsCollection","editorRef","size","width","getContentHeightByCode","actualHeight","setActualHeight","automaticLayoutRef","systemTheme","useCurrentTheme","useEffect","workerInstance","VSWorkers","getInstance","id","addEventListener","token","data","init","model","current","getModel","originValue","getValue","_decorationsCollectio","tokens","set","map","range","startLineNumber","startColumn","endLineNumber","endColumn","options","inlineClassName","setModelMarkers","_decorationsCollectio2","removeEventListener","computedTheme","lineHeightBackground","includes","defineTheme","base","inherit","rules","colors","setTheme","currentModel","setModelLanguage","provideCompletionItems","brickNextYAMLProviderCompletionItems","monacoProviderRef","registerCompletionItemProvider","triggerCharacters","dispose","parseYaml","useCallback","_ref2","postMessage","debounceParse","debounce","setValue","useLayoutEffect","_editorRef$current","getBoundingClientRect","layout","observer","ResizeObserver","entries","entry","target","newWidth","contentBoxSize","inlineSize","contentRect","newHeight","blockSize","_editorRef$current2","observe","disconnect","container","element","brick","found","tagName","toLowerCase","parentElement","getDOMContainer","offsetHeight","updateOptions","createModel","uri","getEmbeddedJavascriptUri","typescript","javascriptDefaults","addExtraLib","getBrickYamlBuiltInDeclare","toString","create","minimap","enabled","scrollBeyondLastLine","tabSize","insertSpaces","fontSize","EDITOR_FONT_SIZE","lineHeight","EDITOR_LINE_HEIGHT","scrollbar","horizontalScrollbarSize","EDITOR_SCROLLBAR_SIZE","verticalScrollbarSize","horizontalSliderSize","verticalSliderSize","alwaysConsumeMouseWheel","padding","top","EDITOR_PADDING_VERTICAL","bottom","overviewRulerBorder","mouseWheelScrollSensitivity","fixedOverflowWidgets","lineNumbersMinChars","suggest","insertMode","preview","quickSuggestions","strings","other","comments","renderLineHighlightOnlyWhenFocus","createDecorationsCollection","libs","languageDefaults","disposables","addExtraLibs","item","editor","editorMouseDownEvent","onMouseDown","e","_decorations$getRange","decorations","getRanges","call","forEach","modKey","test","navigator","platform","position","containsPosition","getValueInRange","mouseOverEvent","onMouseMove","newDecorations","equalsRange","listener","onDidContentSizeChange","contentHeightChanged","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","embeddedModelProcessor","async","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixEvaluateRange","suffixEvaluateRange","content","newUri","offset","getOffsetAt","EmbeddedModelContext","updateState","getWorker","getJavaScriptWorker","worker","semanticMarkers","getSemanticDiagnostics","finalOffset","start","currentPosition","getPositionAt","lineNumber","column","messageText","severity","Warning","onDidChangeContent","setEditorId","getPosition","fn","key","window","_editorRef$current3","_editorRef$current4","handleCopyIconClick","then","type","K","COPY_SUCCESS","catch","COPY_FAILED","handleExpandedClick","className","classNames","error","ref","overflow","COPY","icon","lib","onClick","COLLAPSE","EXPAND","code","getContentHeightByLines","Math","min","max","split","fixedHeight","lines","_CodeEditor2","_set_codeChange","_set_userInput","_set_tokenClickEvent","c","_initClass","_applyDecs","shadowOptions","Boolean","Number","attribute","o","_","has","_checkInRHS"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[]).push([[7733,114],{25873:(t,e,n)=>{var r=n(59435);e.H=r.createRoot,r.hydrateRoot},12559:(t,e,n)=>{function r(t,e,n){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}n.d(e,{A:()=>r})},72016:(t,e,n)=>{function r(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(e,{A:()=>r})},70829:(t,e,n)=>{n.d(e,{A:()=>s});var r=n(12559);function s(t,e){return t.get((0,r.A)(t,e))}},70918:(t,e,n)=>{n.d(e,{A:()=>s});var r=n(72016);function s(t,e,n){(0,r.A)(t,e),e.set(t,n)}},86121:(t,e,n)=>{n.d(e,{A:()=>s});var r=n(12559);function s(t,e,n){return t.set((0,r.A)(t,e),n),n}},74635:(t,e,n)=>{n.d(e,{A:()=>s});var r=n(72016);function s(t,e){(0,r.A)(t,e),e.add(t)}},89575:(t,e,n)=>{function r(){return r=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},r.apply(this,arguments)}n.d(e,{A:()=>r})},20114:(t,e,n)=>{n.r(e),n.d(e,{ReactNextElement:()=>p,wrapBrick:()=>y,wrapLocalBrick:()=>v});var r=n(74635),s=n(70918),o=n(12559),i=n(86121),c=n(70829),a=n(18769),l=n(25873),h=n(59435),d=n(
|
|
2
|
-
//# sourceMappingURL=7733.
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[]).push([[7733,114],{25873:(t,e,n)=>{var r=n(59435);e.H=r.createRoot,r.hydrateRoot},12559:(t,e,n)=>{function r(t,e,n){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}n.d(e,{A:()=>r})},72016:(t,e,n)=>{function r(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(e,{A:()=>r})},70829:(t,e,n)=>{n.d(e,{A:()=>s});var r=n(12559);function s(t,e){return t.get((0,r.A)(t,e))}},70918:(t,e,n)=>{n.d(e,{A:()=>s});var r=n(72016);function s(t,e,n){(0,r.A)(t,e),e.set(t,n)}},86121:(t,e,n)=>{n.d(e,{A:()=>s});var r=n(12559);function s(t,e,n){return t.set((0,r.A)(t,e),n),n}},74635:(t,e,n)=>{n.d(e,{A:()=>s});var r=n(72016);function s(t,e){(0,r.A)(t,e),e.add(t)}},89575:(t,e,n)=>{function r(){return r=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},r.apply(this,arguments)}n.d(e,{A:()=>r})},20114:(t,e,n)=>{n.r(e),n.d(e,{ReactNextElement:()=>p,wrapBrick:()=>y,wrapLocalBrick:()=>v});var r=n(74635),s=n(70918),o=n(12559),i=n(86121),c=n(70829),a=n(18769),l=n(25873),h=n(59435),d=n(81929),u=new WeakMap,f=new WeakSet;class p extends d.NextElement{constructor(){super(...arguments),(0,r.A)(this,f),(0,s.A)(this,u,void 0)}connectedCallback(){super._markConnectedCallbackCalled(),(0,o.A)(f,this,A).call(this),this._render()}disconnectedCallback(){var t;null===(t=(0,c.A)(u,this))||void 0===t||t.render(null)}_render(){const t=()=>{if(!this.isConnected||!(0,c.A)(u,this))return;const t=this.constructor;var e;t.shadowOptions?(0,c.A)(u,this).render((0,d.supportsAdoptingStyleSheets)()||null===(e=t.styleTexts)||void 0===e||!e.length?this.render():a.createElement(a.Fragment,null,a.createElement("style",null,t.styleTexts.join("\n")),this.render())):(0,c.A)(u,this).render(this.render())};window.BRICK_NEXT_VERSIONS&&!window.DISABLE_REACT_FLUSH_SYNC?(0,h.flushSync)(t):t()}}function A(){if((0,c.A)(u,this))return;const t=this.constructor;if(t.shadowOptions){const n=this.attachShadow(t.shadowOptions);var e;if((0,d.supportsAdoptingStyleSheets)()&&null!==(e=t.styleTexts)&&void 0!==e&&e.length){const e=new CSSStyleSheet;e.replaceSync(t.styleTexts.join("")),n.adoptedStyleSheets=[e]}(0,i.A)(u,this,(0,l.H)(n))}else(0,i.A)(u,this,(0,l.H)(this))}var w=n(89575);function v(t,e){return(0,a.forwardRef)((function(n,r){let{children:s,...o}=n;const i="string"==typeof t?t:t.__tagName,c=S(o,e);return a.createElement(i,(0,w.A)({},c,{ref:r}),s)}))}function y(t,e){return(0,a.forwardRef)((function(n,r){let{children:s,...o}=n;const i=S(o,e);return a.createElement(t,(0,w.A)({},i,{ref:r}),s)}))}function S(t,e){let n;if(e){n={};for(const[r,s]of Object.entries(t))Object.prototype.hasOwnProperty.call(e,r)?n[`on${e[r]}`]=s:n[r]=s}else n=t;return n}}}]);
|
|
2
|
+
//# sourceMappingURL=7733.6d721ef2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/7733.f304fc53.js","mappings":"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","sources":["webpack:///../../node_modules/react-dom/client.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///../../node_modules/@next-core/react-element/dist/esm/ReactNextElement.js","webpack:///../../node_modules/@next-core/react-element/dist/esm/wrapBrick.js"],"sourcesContent":["'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _assertClassBrand from \"@babel/runtime/helpers/assertClassBrand\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet2\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet2\";\nvar _ReactNextElement;\nimport React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { flushSync } from \"react-dom\";\nimport { NextElement, supportsAdoptingStyleSheets } from \"@next-core/element\";\nvar _root = /*#__PURE__*/new WeakMap();\nvar _ReactNextElement_brand = /*#__PURE__*/new WeakSet();\nexport class ReactNextElement extends NextElement {\n constructor() {\n super(...arguments);\n _classPrivateMethodInitSpec(this, _ReactNextElement_brand);\n _classPrivateFieldInitSpec(this, _root, void 0);\n }\n connectedCallback() {\n super._markConnectedCallbackCalled();\n _assertClassBrand(_ReactNextElement_brand, this, _createRoot).call(this);\n this._render();\n }\n disconnectedCallback() {\n var _classPrivateFieldGet2;\n (_classPrivateFieldGet2 = _classPrivateFieldGet(_root, this)) === null || _classPrivateFieldGet2 === void 0 || _classPrivateFieldGet2.render(null);\n }\n _render() {\n const render = () => {\n if (!this.isConnected || !_classPrivateFieldGet(_root, this)) {\n return;\n }\n const ctor = this.constructor;\n if (ctor.shadowOptions) {\n var _ctor$styleTexts;\n _classPrivateFieldGet(_root, this).render(supportsAdoptingStyleSheets() || !((_ctor$styleTexts = ctor.styleTexts) !== null && _ctor$styleTexts !== void 0 && _ctor$styleTexts.length) ? this.render() : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"style\", null, ctor.styleTexts.join(\"\\n\")), this.render()));\n } else {\n _classPrivateFieldGet(_root, this).render(this.render());\n }\n };\n\n // In brick next container, enable flush sync for the initial mount of\n // each page, in order to avoid menu flickering.\n // Otherwise, avoid using flush sync as possible.\n if (window.BRICK_NEXT_VERSIONS && !window.DISABLE_REACT_FLUSH_SYNC) {\n flushSync(render);\n } else {\n render();\n }\n }\n}\n_ReactNextElement = ReactNextElement;\nfunction _createRoot() {\n if (_classPrivateFieldGet(_root, this)) {\n return;\n }\n const ctor = this.constructor;\n if (ctor.shadowOptions) {\n const shadowRoot = this.attachShadow(ctor.shadowOptions);\n if (supportsAdoptingStyleSheets()) {\n var _ctor$styleTexts2;\n if ((_ctor$styleTexts2 = ctor.styleTexts) !== null && _ctor$styleTexts2 !== void 0 && _ctor$styleTexts2.length) {\n const styleSheet = new CSSStyleSheet();\n styleSheet.replaceSync(ctor.styleTexts.join(\"\"));\n shadowRoot.adoptedStyleSheets = [styleSheet];\n }\n }\n _classPrivateFieldSet(_root, this, createRoot(shadowRoot));\n } else {\n var _ctor$styleTexts3;\n if (process.env.NODE_ENV !== \"production\" && (_ctor$styleTexts3 = ctor.styleTexts) !== null && _ctor$styleTexts3 !== void 0 && _ctor$styleTexts3.length) {\n throw new Error(\"Use `styleTexts` with `shadowOptions: false` is not supported\");\n }\n _classPrivateFieldSet(_root, this, createRoot(this));\n }\n}\n//# sourceMappingURL=ReactNextElement.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { forwardRef } from \"react\";\nexport function wrapLocalBrick(brick, eventsMapping) {\n // istanbul ignore next\n if (process.env.NODE_ENV === \"development\") {\n if (typeof brick === \"string\" && !customElements.get(brick)) {\n throw new Error(`Brick ${brick} is not defined while using \\`wrapLocalBrick\\`.`);\n }\n }\n return /*#__PURE__*/forwardRef(function BrickReactWrapper(_ref, ref) {\n let {\n children,\n ...props\n } = _ref;\n const WebComponent = typeof brick === \"string\" ? brick : brick.__tagName;\n const properties = getMappedProperties(props, eventsMapping);\n return /*#__PURE__*/React.createElement(WebComponent, _extends({}, properties, {\n ref: ref\n }), children);\n });\n}\nexport function wrapBrick(BrickName, eventsMapping) {\n return /*#__PURE__*/forwardRef(function BrickReactWrapper(_ref2, ref) {\n let {\n children,\n ...props\n } = _ref2;\n const properties = getMappedProperties(props, eventsMapping);\n return /*#__PURE__*/React.createElement(BrickName, _extends({}, properties, {\n ref: ref\n }), children);\n });\n}\nfunction getMappedProperties(props, eventsMapping) {\n let properties;\n if (eventsMapping) {\n properties = {};\n for (const [propName, propValue] of Object.entries(props)) {\n if (Object.prototype.hasOwnProperty.call(eventsMapping, propName)) {\n properties[`on${eventsMapping[propName]}`] = propValue;\n } else {\n properties[propName] = propValue;\n }\n }\n } else {\n properties = props;\n }\n return properties;\n}\n//# sourceMappingURL=wrapBrick.js.map"],"names":["m","exports","createRoot","hydrateRoot","_assertClassBrand","e","t","n","has","arguments","length","TypeError","_checkPrivateRedeclaration","obj","privateCollection","_classPrivateFieldGet2","s","a","get","_classPrivateFieldInitSpec","privateMap","value","set","_classPrivateFieldSet2","r","_classPrivateMethodInitSpec","privateSet","add","_extends","Object","assign","bind","target","i","source","key","prototype","hasOwnProperty","call","apply","this","_root","WeakMap","_ReactNextElement_brand","WeakSet","ReactNextElement","NextElement","constructor","super","connectedCallback","_markConnectedCallbackCalled","_createRoot","_render","disconnectedCallback","render","isConnected","ctor","_ctor$styleTexts","shadowOptions","supportsAdoptingStyleSheets","styleTexts","join","window","BRICK_NEXT_VERSIONS","DISABLE_REACT_FLUSH_SYNC","flushSync","shadowRoot","attachShadow","_ctor$styleTexts2","styleSheet","CSSStyleSheet","replaceSync","adoptedStyleSheets","wrapLocalBrick","brick","eventsMapping","forwardRef","_ref","ref","children","props","WebComponent","__tagName","properties","getMappedProperties","wrapBrick","BrickName","_ref2","propName","propValue","entries"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/7733.6d721ef2.js","mappings":"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","sources":["webpack:///../../node_modules/react-dom/client.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///../../node_modules/@next-core/react-element/dist/esm/ReactNextElement.js","webpack:///../../node_modules/@next-core/react-element/dist/esm/wrapBrick.js"],"sourcesContent":["'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _assertClassBrand from \"@babel/runtime/helpers/assertClassBrand\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet2\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet2\";\nvar _ReactNextElement;\nimport React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { flushSync } from \"react-dom\";\nimport { NextElement, supportsAdoptingStyleSheets } from \"@next-core/element\";\nvar _root = /*#__PURE__*/new WeakMap();\nvar _ReactNextElement_brand = /*#__PURE__*/new WeakSet();\nexport class ReactNextElement extends NextElement {\n constructor() {\n super(...arguments);\n _classPrivateMethodInitSpec(this, _ReactNextElement_brand);\n _classPrivateFieldInitSpec(this, _root, void 0);\n }\n connectedCallback() {\n super._markConnectedCallbackCalled();\n _assertClassBrand(_ReactNextElement_brand, this, _createRoot).call(this);\n this._render();\n }\n disconnectedCallback() {\n var _classPrivateFieldGet2;\n (_classPrivateFieldGet2 = _classPrivateFieldGet(_root, this)) === null || _classPrivateFieldGet2 === void 0 || _classPrivateFieldGet2.render(null);\n }\n _render() {\n const render = () => {\n if (!this.isConnected || !_classPrivateFieldGet(_root, this)) {\n return;\n }\n const ctor = this.constructor;\n if (ctor.shadowOptions) {\n var _ctor$styleTexts;\n _classPrivateFieldGet(_root, this).render(supportsAdoptingStyleSheets() || !((_ctor$styleTexts = ctor.styleTexts) !== null && _ctor$styleTexts !== void 0 && _ctor$styleTexts.length) ? this.render() : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"style\", null, ctor.styleTexts.join(\"\\n\")), this.render()));\n } else {\n _classPrivateFieldGet(_root, this).render(this.render());\n }\n };\n\n // In brick next container, enable flush sync for the initial mount of\n // each page, in order to avoid menu flickering.\n // Otherwise, avoid using flush sync as possible.\n if (window.BRICK_NEXT_VERSIONS && !window.DISABLE_REACT_FLUSH_SYNC) {\n flushSync(render);\n } else {\n render();\n }\n }\n}\n_ReactNextElement = ReactNextElement;\nfunction _createRoot() {\n if (_classPrivateFieldGet(_root, this)) {\n return;\n }\n const ctor = this.constructor;\n if (ctor.shadowOptions) {\n const shadowRoot = this.attachShadow(ctor.shadowOptions);\n if (supportsAdoptingStyleSheets()) {\n var _ctor$styleTexts2;\n if ((_ctor$styleTexts2 = ctor.styleTexts) !== null && _ctor$styleTexts2 !== void 0 && _ctor$styleTexts2.length) {\n const styleSheet = new CSSStyleSheet();\n styleSheet.replaceSync(ctor.styleTexts.join(\"\"));\n shadowRoot.adoptedStyleSheets = [styleSheet];\n }\n }\n _classPrivateFieldSet(_root, this, createRoot(shadowRoot));\n } else {\n var _ctor$styleTexts3;\n if (process.env.NODE_ENV !== \"production\" && (_ctor$styleTexts3 = ctor.styleTexts) !== null && _ctor$styleTexts3 !== void 0 && _ctor$styleTexts3.length) {\n throw new Error(\"Use `styleTexts` with `shadowOptions: false` is not supported\");\n }\n _classPrivateFieldSet(_root, this, createRoot(this));\n }\n}\n//# sourceMappingURL=ReactNextElement.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { forwardRef } from \"react\";\nexport function wrapLocalBrick(brick, eventsMapping) {\n // istanbul ignore next\n if (process.env.NODE_ENV === \"development\") {\n if (typeof brick === \"string\" && !customElements.get(brick)) {\n throw new Error(`Brick ${brick} is not defined while using \\`wrapLocalBrick\\`.`);\n }\n }\n return /*#__PURE__*/forwardRef(function BrickReactWrapper(_ref, ref) {\n let {\n children,\n ...props\n } = _ref;\n const WebComponent = typeof brick === \"string\" ? brick : brick.__tagName;\n const properties = getMappedProperties(props, eventsMapping);\n return /*#__PURE__*/React.createElement(WebComponent, _extends({}, properties, {\n ref: ref\n }), children);\n });\n}\nexport function wrapBrick(BrickName, eventsMapping) {\n return /*#__PURE__*/forwardRef(function BrickReactWrapper(_ref2, ref) {\n let {\n children,\n ...props\n } = _ref2;\n const properties = getMappedProperties(props, eventsMapping);\n return /*#__PURE__*/React.createElement(BrickName, _extends({}, properties, {\n ref: ref\n }), children);\n });\n}\nfunction getMappedProperties(props, eventsMapping) {\n let properties;\n if (eventsMapping) {\n properties = {};\n for (const [propName, propValue] of Object.entries(props)) {\n if (Object.prototype.hasOwnProperty.call(eventsMapping, propName)) {\n properties[`on${eventsMapping[propName]}`] = propValue;\n } else {\n properties[propName] = propValue;\n }\n }\n } else {\n properties = props;\n }\n return properties;\n}\n//# sourceMappingURL=wrapBrick.js.map"],"names":["m","exports","createRoot","hydrateRoot","_assertClassBrand","e","t","n","has","arguments","length","TypeError","_checkPrivateRedeclaration","obj","privateCollection","_classPrivateFieldGet2","s","a","get","_classPrivateFieldInitSpec","privateMap","value","set","_classPrivateFieldSet2","r","_classPrivateMethodInitSpec","privateSet","add","_extends","Object","assign","bind","target","i","source","key","prototype","hasOwnProperty","call","apply","this","_root","WeakMap","_ReactNextElement_brand","WeakSet","ReactNextElement","NextElement","constructor","super","connectedCallback","_markConnectedCallbackCalled","_createRoot","_render","disconnectedCallback","render","isConnected","ctor","_ctor$styleTexts","shadowOptions","supportsAdoptingStyleSheets","styleTexts","join","window","BRICK_NEXT_VERSIONS","DISABLE_REACT_FLUSH_SYNC","flushSync","shadowRoot","attachShadow","_ctor$styleTexts2","styleSheet","CSSStyleSheet","replaceSync","adoptedStyleSheets","wrapLocalBrick","brick","eventsMapping","forwardRef","_ref","ref","children","props","WebComponent","__tagName","properties","getMappedProperties","wrapBrick","BrickName","_ref2","propName","propValue","entries"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[]).push([[790,5552,3171],{75552:(e,n,t)=>{t.r(n),t.d(n,{i18n:()=>p,i18nText:()=>l,initializeI18n:()=>c});var s=t(2350),i=t(18799),r=t(27072);let o=!1;const a=new Set;function c(e,n){if(o||(o=!0,i.i18n.use(r.default).init({fallbackLng:"zh",debug:!1,supportedLngs:["zh","en"],nonExplicitSupportedLngs:!0,interpolation:{escapeValue:!1},react:{useSuspense:!1},compatibilityJSON:"v3",resources:{}})),e&&n&&!a.has(e)){a.add(e);for(const[t,s]of Object.entries(n))i.i18n.addResourceBundle(t,e,s)}}var u=t(
|
|
2
|
-
//# sourceMappingURL=790.
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[]).push([[790,5552,3171],{75552:(e,n,t)=>{t.r(n),t.d(n,{i18n:()=>p,i18nText:()=>l,initializeI18n:()=>c});var s=t(2350),i=t(18799),r=t(27072);let o=!1;const a=new Set;function c(e,n){if(o||(o=!0,i.i18n.use(r.default).init({fallbackLng:"zh",debug:!1,supportedLngs:["zh","en"],nonExplicitSupportedLngs:!0,interpolation:{escapeValue:!1},react:{useSuspense:!1},compatibilityJSON:"v3",resources:{}})),e&&n&&!a.has(e)){a.add(e);for(const[t,s]of Object.entries(n))i.i18n.addResourceBundle(t,e,s)}}var u=t(93453);function l(e){if(!e)return;const n=i.i18n.language??"zh-CN";if((0,u.hasOwnProperty)(e,n))return e[n];const t=n.split("-")[0];if(t!==n)return(0,u.hasOwnProperty)(e,t)?e[t]:void 0;const s=`${t}-`;for(const n of Object.keys(e))if(n.startsWith(s))return e[n]}const p=s.default}}]);
|
|
2
|
+
//# sourceMappingURL=790.1dc05805.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/790.
|
|
1
|
+
{"version":3,"file":"chunks/790.1dc05805.js","mappings":"2OAEA,IAAIA,GAAc,EAClB,MAAMC,EAAwB,IAAIC,IAC3B,SAASC,EAAeC,EAAIC,GAwBjC,GAvBKL,IACHA,GAAc,EACd,EAAAM,KAICC,IAAmF,WAEnFC,KAAK,CACJC,YAAa,KACbC,OAAO,EACPC,cAAe,CAAC,KAAM,MACtBC,0BAA0B,EAC1BC,cAAe,CACbC,aAAa,GAEfC,MAAO,CACLC,aAAa,GAEfC,kBAAmB,KACnBC,UAAW,CAAC,KAGXd,GAAOC,IAAWJ,EAAsBkB,IAAIf,GAAjD,CAGAH,EAAsBmB,IAAIhB,GAC1B,IAAK,MAAOiB,EAAMH,KAAcI,OAAOC,QAAQlB,GAC7C,EAAAC,KAAKkB,kBAAkBH,EAAMjB,EAAIc,EAHnC,CAKF,C,eCjCO,SAASO,EAASC,GACvB,IAAKA,EACH,OAEF,MAAMC,EAAW,EAAArB,KAAKqB,UAAY,QAElC,IAAI,IAAAC,gBAAeF,EAAMC,GACvB,OAAOD,EAAKC,GAGd,MAAME,EAAkBF,EAASG,MAAM,KAAK,GAC5C,GAAID,IAAoBF,EAGtB,OAAO,IAAAC,gBAAeF,EAAMG,GAAmBH,EAAKG,QAAmBE,EAKzE,MAAMC,EAAS,GAAGH,KAClB,IAAK,MAAMI,KAAOX,OAAOY,KAAKR,GAC5B,GAAIO,EAAIE,WAAWH,GACjB,OAAON,EAAKO,EAGlB,CC1BO,MAAM3B,EAA6E,S","sources":["webpack:///../../node_modules/@next-core/i18n/dist/esm/init.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/text.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/index.js"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nlet initialized = false;\nconst initializedNamespaces = new Set();\nexport function initializeI18n(NS, locales) {\n if (!initialized) {\n initialized = true;\n i18n\n // learn more: https://github.com/i18next/i18next-xhr-backend\n // .use(Backend)\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(process.env.NODE_ENV === \"test\" ? LanguageDetector : /* istanbul ignore next */LanguageDetector.default)\n // for all options read: https://www.i18next.com/overview/configuration-options\n .init({\n fallbackLng: \"zh\",\n debug: process.env.NODE_ENV === \"development\",\n supportedLngs: [\"zh\", \"en\"],\n nonExplicitSupportedLngs: true,\n interpolation: {\n escapeValue: false // not needed for react as it escapes by default\n },\n react: {\n useSuspense: false\n },\n compatibilityJSON: \"v3\",\n resources: {}\n });\n }\n if (!NS || !locales || initializedNamespaces.has(NS)) {\n return;\n }\n initializedNamespaces.add(NS);\n for (const [lang, resources] of Object.entries(locales)) {\n i18n.addResourceBundle(lang, NS, resources);\n }\n}\n//# sourceMappingURL=init.js.map","import { i18n } from \"@next-core/i18n\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nexport function i18nText(data) {\n if (!data) {\n return;\n }\n const language = i18n.language ?? \"zh-CN\";\n // First, make a perfect match.\n if (hasOwnProperty(data, language)) {\n return data[language];\n }\n // https://en.wikipedia.org/wiki/IETF_language_tag\n const primaryLanguage = language.split(\"-\")[0];\n if (primaryLanguage !== language) {\n // Then, match the primary language (which omits other subtags).\n // E.g., match `zh` if the current language is `zh-CN`.\n return hasOwnProperty(data, primaryLanguage) ? data[primaryLanguage] : undefined;\n }\n // At last, match the first key which starts with the primary language,\n // if the current language contains primary subtag only.\n // E.g., match `zh-CN` if the current language is `zh`.\n const prefix = `${primaryLanguage}-`;\n for (const key of Object.keys(data)) {\n if (key.startsWith(prefix)) {\n return data[key];\n }\n }\n}\n//# sourceMappingURL=text.js.map","import i18next from \"i18next\";\nexport const i18n = process.env.NODE_ENV === \"test\" ? i18next : /* istanbul ignore next */i18next.default;\nexport * from \"./init.js\";\nexport * from \"./text.js\";\n//# sourceMappingURL=index.js.map"],"names":["initialized","initializedNamespaces","Set","initializeI18n","NS","locales","i18n","use","init","fallbackLng","debug","supportedLngs","nonExplicitSupportedLngs","interpolation","escapeValue","react","useSuspense","compatibilityJSON","resources","has","add","lang","Object","entries","addResourceBundle","i18nText","data","language","hasOwnProperty","primaryLanguage","split","undefined","prefix","key","keys","startsWith"],"sourceRoot":""}
|