@next-bricks/data-view 1.12.2 → 1.12.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.
Files changed (46) hide show
  1. package/dist/bricks.json +19 -19
  2. package/dist/chunks/{3171.c0d5c9a1.js → 3171.f1058377.js} +2 -2
  3. package/dist/chunks/{5552.f046ba86.js.map → 3171.f1058377.js.map} +1 -1
  4. package/dist/chunks/4765.108f59d4.js +2 -0
  5. package/dist/chunks/4765.108f59d4.js.map +1 -0
  6. package/dist/chunks/4837.7e3e2eea.js.map +1 -1
  7. package/dist/chunks/{5552.f046ba86.js → 5552.01e2ba3d.js} +2 -2
  8. package/dist/chunks/{3171.c0d5c9a1.js.map → 5552.01e2ba3d.js.map} +1 -1
  9. package/dist/chunks/7146.01773098.js +2 -0
  10. package/dist/chunks/7146.01773098.js.map +1 -0
  11. package/dist/chunks/7218.2b5b7887.js.map +1 -1
  12. package/dist/chunks/{8097.f99bf9d0.js → 8097.6028e869.js} +2 -2
  13. package/dist/chunks/{8097.f99bf9d0.js.map → 8097.6028e869.js.map} +1 -1
  14. package/dist/chunks/8826.6472b495.js +2 -0
  15. package/dist/chunks/{8826.63d2867f.js.map → 8826.6472b495.js.map} +1 -1
  16. package/dist/chunks/9140.9bce802b.js +3 -0
  17. package/dist/chunks/9140.9bce802b.js.map +1 -0
  18. package/dist/chunks/complex-search.6254baa8.js +2 -0
  19. package/dist/chunks/{complex-search.92e0b5ca.js.map → complex-search.6254baa8.js.map} +1 -1
  20. package/dist/chunks/{graph-text.1e489f3c.js → graph-text.fa54ea09.js} +2 -2
  21. package/dist/chunks/{graph-text.1e489f3c.js.map → graph-text.fa54ea09.js.map} +1 -1
  22. package/dist/chunks/main.fbfe3e79.js +2 -0
  23. package/dist/chunks/main.fbfe3e79.js.map +1 -0
  24. package/dist/chunks/modern-style-treemap.1f2b7101.js +3 -0
  25. package/dist/chunks/{modern-style-treemap.53d4bfc8.js.map → modern-style-treemap.1f2b7101.js.map} +1 -1
  26. package/dist/examples.json +26 -26
  27. package/dist/index.0223ee1d.js +2 -0
  28. package/dist/index.0223ee1d.js.map +1 -0
  29. package/dist/manifest.json +243 -243
  30. package/dist/types.json +421 -421
  31. package/package.json +2 -2
  32. package/dist/chunks/3933.b3a62e03.js +0 -2
  33. package/dist/chunks/3933.b3a62e03.js.map +0 -1
  34. package/dist/chunks/6314.6563d16e.js +0 -2
  35. package/dist/chunks/6314.6563d16e.js.map +0 -1
  36. package/dist/chunks/8826.63d2867f.js +0 -2
  37. package/dist/chunks/9140.776942ea.js +0 -3
  38. package/dist/chunks/9140.776942ea.js.map +0 -1
  39. package/dist/chunks/complex-search.92e0b5ca.js +0 -2
  40. package/dist/chunks/main.2bd22c14.js +0 -2
  41. package/dist/chunks/main.2bd22c14.js.map +0 -1
  42. package/dist/chunks/modern-style-treemap.53d4bfc8.js +0 -3
  43. package/dist/index.727c7633.js +0 -2
  44. package/dist/index.727c7633.js.map +0 -1
  45. /package/dist/chunks/{9140.776942ea.js.LICENSE.txt → 9140.9bce802b.js.LICENSE.txt} +0 -0
  46. /package/dist/chunks/{modern-style-treemap.53d4bfc8.js.LICENSE.txt → modern-style-treemap.1f2b7101.js.LICENSE.txt} +0 -0
package/dist/bricks.json CHANGED
@@ -2,36 +2,38 @@
2
2
  "id": "bricks/data-view",
3
3
  "bricks": [
4
4
  "data-view.gauge-chart",
5
- "data-view.modern-style-page-title",
6
- "data-view.modern-style-component-title",
7
5
  "data-view.tabs-drawer",
8
6
  "data-view.modern-style-treemap",
9
- "data-view.dropdown-menu",
7
+ "data-view.modern-style-page-title",
10
8
  "data-view.battery-chart",
9
+ "data-view.dropdown-menu",
10
+ "data-view.modern-style-component-title",
11
11
  "data-view.loading-panel",
12
12
  "data-view.complex-search",
13
13
  "data-view.particle-animation",
14
+ "data-view.app-wall-card-item",
14
15
  "data-view.app-wall-system-card",
15
16
  "data-view.app-wall-relation-line",
16
- "data-view.app-wall-card-item",
17
17
  "data-view.cabinet-button",
18
- "data-view.cabinet-app-layer",
19
18
  "data-view.cabinet-node",
19
+ "data-view.cabinet-app-layer",
20
20
  "data-view.cabinet-container",
21
- "data-view.cabinet-thumbnail",
22
21
  "data-view.cabinet-graph",
22
+ "data-view.cabinet-thumbnail",
23
23
  "data-view.app-wall",
24
24
  "data-view.graph-text",
25
25
  "data-view.graph-node",
26
+ "data-view.graph-layout-grid",
26
27
  "data-view.gear-background",
28
+ "data-view.grid-background",
27
29
  "data-view.radar-chart",
28
30
  "data-view.title-text",
29
31
  "data-view.brick-notification",
30
32
  "data-view.tabs-page-title",
31
33
  "data-view.top-title-bar",
32
34
  "data-view.lights-component-title",
33
- "data-view.hi-tech-button",
34
35
  "data-view.tech-mesh-base-view",
36
+ "data-view.hi-tech-button",
35
37
  "data-view.simple-card-item",
36
38
  "data-view.basic-index-group",
37
39
  "data-view.data-display-flipper",
@@ -45,9 +47,7 @@
45
47
  "data-view.globe-with-gear-indicator",
46
48
  "data-view.bubbles-indicator",
47
49
  "data-view.globe-with-orbit-indicator",
48
- "data-view.china-map",
49
- "data-view.grid-background",
50
- "data-view.graph-layout-grid"
50
+ "data-view.china-map"
51
51
  ],
52
52
  "elements": [],
53
53
  "processors": [],
@@ -68,21 +68,25 @@
68
68
  "data-view.cabinet-container": [
69
69
  "data-view.cabinet-node"
70
70
  ],
71
- "data-view.cabinet-thumbnail": [
72
- "data-view.cabinet-app-layer",
73
- "data-view.cabinet-node"
74
- ],
75
71
  "data-view.cabinet-graph": [
76
72
  "data-view.cabinet-app-layer",
77
73
  "data-view.cabinet-button",
78
74
  "data-view.cabinet-container"
79
75
  ],
76
+ "data-view.cabinet-thumbnail": [
77
+ "data-view.cabinet-app-layer",
78
+ "data-view.cabinet-node"
79
+ ],
80
80
  "data-view.app-wall": [
81
81
  "data-view.app-wall-card-item",
82
82
  "data-view.cabinet-thumbnail",
83
83
  "data-view.simple-card-item",
84
84
  "monitoring.sys-popover"
85
85
  ],
86
+ "data-view.graph-layout-grid": [
87
+ "data-view.graph-node",
88
+ "data-view.graph-text"
89
+ ],
86
90
  "data-view.brick-notification": [
87
91
  "eo-icon"
88
92
  ],
@@ -104,11 +108,7 @@
104
108
  ],
105
109
  "data-view.china-map": [
106
110
  "eo-icon"
107
- ],
108
- "data-view.graph-layout-grid": [
109
- "data-view.graph-node",
110
- "data-view.graph-text"
111
111
  ]
112
112
  },
113
- "filePath": "bricks/data-view/dist/index.727c7633.js"
113
+ "filePath": "bricks/data-view/dist/index.0223ee1d.js"
114
114
  }
@@ -1,2 +1,2 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[3171,5552],{75552:(e,n,t)=>{t.r(n),t.d(n,{i18n:()=>d,i18nText:()=>l,initializeI18n:()=>u});var i=t(75630),s=t(90023),r=t(848);let a=!1;const o=new Set;function u(e,n){if(a||(a=!0,s.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&&!o.has(e)){o.add(e);for(const[t,i]of Object.entries(n))s.i18n.addResourceBundle(t,e,i)}}var c=t(56548);function l(e){var n;if(!e)return;const t=null!==(n=s.i18n.language)&&void 0!==n?n:"zh-CN";if((0,c.hasOwnProperty)(e,t))return e[t];const i=t.split("-")[0];if(i!==t)return(0,c.hasOwnProperty)(e,i)?e[i]:void 0;const r=`${i}-`;for(const n of Object.keys(e))if(n.startsWith(r))return e[n]}const d=i.default}}]);
2
- //# sourceMappingURL=3171.c0d5c9a1.js.map
1
+ "use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[3171,5552],{75552:(e,n,t)=>{t.r(n),t.d(n,{i18n:()=>d,i18nText:()=>l,initializeI18n:()=>u});var i=t(75630),s=t(34726),r=t(848);let a=!1;const o=new Set;function u(e,n){if(a||(a=!0,s.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&&!o.has(e)){o.add(e);for(const[t,i]of Object.entries(n))s.i18n.addResourceBundle(t,e,i)}}var c=t(24493);function l(e){var n;if(!e)return;const t=null!==(n=s.i18n.language)&&void 0!==n?n:"zh-CN";if((0,c.hasOwnProperty)(e,t))return e[t];const i=t.split("-")[0];if(i!==t)return(0,c.hasOwnProperty)(e,i)?e[i]:void 0;const r=`${i}-`;for(const n of Object.keys(e))if(n.startsWith(r))return e[n]}const d=i.default}}]);
2
+ //# sourceMappingURL=3171.f1058377.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/5552.f046ba86.js","mappings":"oPAEA,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,IAAIC,EACJ,IAAKD,EACH,OAEF,MAAME,EAAgD,QAApCD,EAAiB,EAAArB,KAAKsB,gBAAyC,IAAnBD,EAA4BA,EAAiB,QAE3G,IAAI,IAAAE,gBAAeH,EAAME,GACvB,OAAOF,EAAKE,GAGd,MAAME,EAAkBF,EAASG,MAAM,KAAK,GAC5C,GAAID,IAAoBF,EAGtB,OAAO,IAAAC,gBAAeH,EAAMI,GAAmBJ,EAAKI,QAAmBE,EAKzE,MAAMC,EAAS,GAAGH,KAClB,IAAK,MAAMI,KAAOZ,OAAOa,KAAKT,GAC5B,GAAIQ,EAAIE,WAAWH,GACjB,OAAOP,EAAKQ,EAGlB,CC3BO,MAAM5B,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 var _i18n$language;\n if (!data) {\n return;\n }\n const language = (_i18n$language = i18n.language) !== null && _i18n$language !== void 0 ? _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","_i18n$language","language","hasOwnProperty","primaryLanguage","split","undefined","prefix","key","keys","startsWith"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/3171.f1058377.js","mappings":"oPAEA,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,IAAIC,EACJ,IAAKD,EACH,OAEF,MAAME,EAAgD,QAApCD,EAAiB,EAAArB,KAAKsB,gBAAyC,IAAnBD,EAA4BA,EAAiB,QAE3G,IAAI,IAAAE,gBAAeH,EAAME,GACvB,OAAOF,EAAKE,GAGd,MAAME,EAAkBF,EAASG,MAAM,KAAK,GAC5C,GAAID,IAAoBF,EAGtB,OAAO,IAAAC,gBAAeH,EAAMI,GAAmBJ,EAAKI,QAAmBE,EAKzE,MAAMC,EAAS,GAAGH,KAClB,IAAK,MAAMI,KAAOZ,OAAOa,KAAKT,GAC5B,GAAIQ,EAAIE,WAAWH,GACjB,OAAOP,EAAKQ,EAGlB,CC3BO,MAAM5B,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 var _i18n$language;\n if (!data) {\n return;\n }\n const language = (_i18n$language = i18n.language) !== null && _i18n$language !== void 0 ? _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","_i18n$language","language","hasOwnProperty","primaryLanguage","split","undefined","prefix","key","keys","startsWith"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[4765,7146],{97146:(e,t,r)=>{function o(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return function(n,s){if("string"==typeof t?n.name===t:t.includes(n.name)){const t=[];for(let i=1;i<=r;i++){const r=s[s.length-i];if("MemberExpression"===(null==r?void 0:r.node.type)&&"object"===r.key){const s=r.node;s.computed||"Identifier"!==s.property.type?s.computed&&"Literal"===s.property.type&&"string"==typeof s.property.value?t.push(o?`${n.name}.${s.property.value}`:s.property.value):e.hasNonStaticUsage=!0:t.push(o?`${n.name}.${s.property.name}`:s.property.name)}else e.hasNonStaticUsage=!0}t.length===r&&e.usedProperties.add(t.join("."))}}}function n(e,t){return function(r,o,n){if(o.name===e){const e=n[n.length-1],o=n[n.length-2];if("CallExpression"===(null==o?void 0:o.node.type)&&"callee"===(null==o?void 0:o.key)&&"MemberExpression"===(null==e?void 0:e.node.type)&&"object"===e.key&&(e.node.computed?"Literal"===e.node.property.type&&e.node.property.value===t:"Identifier"===e.node.property.type&&e.node.property.name===t)){const e=o.node.arguments;if(e.length>0){const t=e[0];"Literal"===t.type&&"string"==typeof t.value?r.usedArgs.add(t.value):r.hasNonStaticUsage=!0}}}}}r.r(t),r.d(t,{beforeVisitGlobalMember:()=>o,collectAppGetMenuUsage:()=>s,collectInstalledAppsHasUsage:()=>i,collectMemberUsage:()=>p,collectMemberUsageInFunction:()=>b,createProviderClass:()=>c.createProviderClass,replaceUseChildren:()=>E,scanPermissionActionsInAny:()=>A,scanPermissionActionsInStoryboard:()=>m,strictCollectMemberUsage:()=>u,track:()=>f,trackAll:()=>y,traverseStoryboardExpressions:()=>l,traverseStoryboardFunction:()=>g,traverseStoryboardFunctions:()=>h,unwrapProvider:()=>c.unwrapProvider});const s=n("APP","getMenu"),i=n("INSTALLED_APPS","has");var a=r(71321),c=r(24493);function l(e,t,r){const o=new WeakSet,{matchExpressionString:n,visitNotMatchedExpressionString:s,visitNonExpressionString:i,visitObject:l}="string"==typeof r?{matchExpressionString:e=>e.includes(r)}:r;!function e(r){if("string"==typeof r)if((0,a.isEvaluable)(r))if(n(r))try{(0,a.preevaluate)(r,{cache:!0,withParent:!0,hooks:{beforeVisitGlobal(e,o){t(e,o,r)}}})}catch(e){console.error("Parse storyboard expression failed:",e)}else null==s||s(r);else null==i||i(r);else if((0,c.isObject)(r)){if(o.has(r))return;o.add(r),null==l||l(r);for(const t of Array.isArray(r)?r:Object.values(r))e(t)}}(e)}function u(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const{hasNonStaticUsage:o,nonStaticUsage:n,usedProperties:s}=p(e,t,r);if(o)throw new Error(`Non-static usage of ${t} is prohibited, check your expression: "${n}"`);return s}function p(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const n={usedProperties:new Set,hasNonStaticUsage:!1},s=o(n,t,r);return l(e,((e,t,r)=>{s(e,t),n.hasNonStaticUsage&&(n.nonStaticUsage=r)}),t),n}const d=["CTX","STATE","FORM_STATE"];function f(e,t,r){if(e.includes(t)){const n={usedProperties:new Set,hasNonStaticUsage:!1},{expression:s}=(0,a.preevaluate)(e,{cache:!0,withParent:!0,hooks:{beforeVisitGlobal:o(n,r)}});let i;if("SequenceExpression"===s.type&&(i=s.expressions[0])&&"Literal"===i.type&&i.value===t){if(n.usedProperties.size>0)return n.usedProperties;console.warn(`You are using "${t}" but no \`${r}\` usage found in your expression: ${JSON.stringify(e)}`)}}return!1}function y(e){if(d.some((t=>e.includes(t)))){const t={usedProperties:new Set,hasNonStaticUsage:!1};if((0,a.preevaluate)(e,{cache:!0,withParent:!0,hooks:{beforeVisitGlobal:o(t,d,1,!0)}}),t.usedProperties.size>0){const e=[...t.usedProperties],r={context:!1,state:!1,formState:!1},o={CTX:"context",STATE:"state",FORM_STATE:"formState"};return e.forEach((e=>{const[t,n]=e.split(".");r[o[t]]||(r[o[t]]=[]),r[o[t]].push(n)})),r}console.warn(`You are using track all but no "CTX" or "STATE" or "FORM_STATE" usage found in your expression: ${JSON.stringify(e)}`)}return!1}function h(e,t,r){if(Array.isArray(e))for(const o of e)null!=r&&r.matchSource&&!r.matchSource(o.source)||g(o,t)}function g(e,t,r){try{(0,a.precookFunction)(e.source,{typescript:e.typescript,withParent:!0,hooks:{beforeVisitGlobal:t},cacheKey:e})}catch(t){r||console.error(`Parse storyboard function "${e.name}" failed:`,t)}}function b(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;const s={usedProperties:new Set,hasNonStaticUsage:!1};if(e.source.includes(t)&&g(e,o(s,t,n),r),s.hasNonStaticUsage&&!r)throw new Error(`Non-static usage of ${t} is prohibited, check your function: "${e.name}"`);return s.usedProperties.delete(e.name),s.usedProperties}const S="PERMISSIONS",v="check";function m(e){var t;const r=new Set,o=P(r),{customTemplates:n,functions:s}=null!==(t=e.meta)&&void 0!==t?t:{};return l([e.routes,n],o,S),h(s,o,{matchSource:e=>e.includes(S)}),Array.from(r)}function A(e){const t=new Set;return l(e,P(t),S),Array.from(t)}function P(e){return function(t,r){if(t.name===S){const t=r[r.length-1],o=r[r.length-2];if("CallExpression"===(null==o?void 0:o.node.type)&&"callee"===(null==o?void 0:o.key)&&"MemberExpression"===(null==t?void 0:t.node.type)&&"object"===t.key&&(t.node.computed?"Literal"===t.node.property.type&&t.node.property.value===v:"Identifier"===t.node.property.type&&t.node.property.name===v))for(const t of o.node.arguments)"Literal"===t.type&&"string"==typeof t.value&&e.add(t.value)}}}var k=r(20563);const w=/^\[\w+\]$/;function E(e){if(Array.isArray(e))for(const t of e)x(t);else x(e)}function x(e){let t=e.slots;const r=new Map;if(Array.isArray(e.children)&&!t){const t=[];for(const n of e.children){var o;const e=null!==(o=n.slot)&&void 0!==o?o:"";if(w.test(e)){delete n.slot;const o=r.get(e);o?o.push(n):r.set(e,[n]),t.push(n)}x(n)}(0,k.pull)(e.children,...t)}else{null!=t||(t={});for(const[e,o]of Object.entries(t)){if(w.test(e)){const{bricks:n}=o;Array.isArray(n)&&n.length>0&&(r.set(e,n),E(n)),delete t[e]}Array.isArray(o.bricks)&&E(o.bricks)}}r.size>0&&T(e.properties,r)}function T(e,t){if(Array.isArray(e))for(const r of e)T(r,t);else if((0,c.isObject)(e))for(const[r,o]of Object.entries(e))if("useChildren"===r){const n=t.get(o);n&&(delete e[r],e.useBrick=1===n.length?n[0]:n)}else T(o,t)}}}]);
2
+ //# sourceMappingURL=4765.108f59d4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/4765.108f59d4.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/beforeVisitGlobalMember.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/collectMemberCallUsage.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/traverse.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/collectMemberUsage.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/track.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/functions/traverse.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/functions/collectMemberUsageInFunction.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/permissions.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/replaceUseChildren.js"],"sourcesContent":["export function beforeVisitGlobalMember(usage, objectName) {\n let level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n let rememberObjectName = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n return function beforeVisitGlobal(node, parent) {\n if (typeof objectName === \"string\" ? node.name === objectName : objectName.includes(node.name)) {\n const segments = [];\n for (let i = 1; i <= level; i++) {\n const memberParent = parent[parent.length - i];\n if ((memberParent === null || memberParent === void 0 ? void 0 : memberParent.node.type) === \"MemberExpression\" && memberParent.key === \"object\") {\n const memberNode = memberParent.node;\n if (!memberNode.computed && memberNode.property.type === \"Identifier\") {\n segments.push(rememberObjectName ? `${node.name}.${memberNode.property.name}` : memberNode.property.name);\n } else if (memberNode.computed && memberNode.property.type === \"Literal\" && typeof memberNode.property.value === \"string\") {\n segments.push(rememberObjectName ? `${node.name}.${memberNode.property.value}` : memberNode.property.value);\n } else {\n usage.hasNonStaticUsage = true;\n }\n } else {\n usage.hasNonStaticUsage = true;\n }\n }\n if (segments.length === level) {\n usage.usedProperties.add(segments.join(\".\"));\n }\n }\n };\n}\n//# sourceMappingURL=beforeVisitGlobalMember.js.map","function collectMemberCallUsageFactory(object, property) {\n return function collectMemberCallUsage(usage, node, parent) {\n if (node.name === object) {\n const memberParent = parent[parent.length - 1];\n const callParent = parent[parent.length - 2];\n if ((callParent === null || callParent === void 0 ? void 0 : callParent.node.type) === \"CallExpression\" && (callParent === null || callParent === void 0 ? void 0 : callParent.key) === \"callee\" && (memberParent === null || memberParent === void 0 ? void 0 : memberParent.node.type) === \"MemberExpression\" && memberParent.key === \"object\" && (memberParent.node.computed ? memberParent.node.property.type === \"Literal\" && memberParent.node.property.value === property : memberParent.node.property.type === \"Identifier\" && memberParent.node.property.name === property)) {\n const args = callParent.node.arguments;\n if (args.length > 0) {\n const firstArg = args[0];\n if (firstArg.type === \"Literal\" && typeof firstArg.value === \"string\") {\n usage.usedArgs.add(firstArg.value);\n } else {\n usage.hasNonStaticUsage = true;\n }\n }\n }\n }\n };\n}\nexport const collectAppGetMenuUsage = collectMemberCallUsageFactory(\"APP\", \"getMenu\");\nexport const collectInstalledAppsHasUsage = collectMemberCallUsageFactory(\"INSTALLED_APPS\", \"has\");\n//# sourceMappingURL=collectMemberCallUsage.js.map","import { isEvaluable, preevaluate } from \"@next-core/cook\";\nimport { isObject } from \"@next-core/utils/general\";\nexport function traverseStoryboardExpressions(data, beforeVisitGlobal,\n// If `options` is a string, it means the *keyword*.\noptions) {\n const memo = new WeakSet();\n const {\n matchExpressionString,\n visitNotMatchedExpressionString,\n visitNonExpressionString,\n visitObject\n } = typeof options === \"string\" ? {\n matchExpressionString: v => v.includes(options)\n } : options;\n function traverse(value) {\n if (typeof value === \"string\") {\n if (isEvaluable(value)) {\n if (matchExpressionString(value)) {\n try {\n preevaluate(value, {\n cache: true,\n withParent: true,\n hooks: {\n beforeVisitGlobal(node, parent) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n beforeVisitGlobal(node, parent, value);\n }\n }\n });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Parse storyboard expression failed:\", error);\n }\n } else {\n visitNotMatchedExpressionString === null || visitNotMatchedExpressionString === void 0 || visitNotMatchedExpressionString(value);\n }\n } else {\n visitNonExpressionString === null || visitNonExpressionString === void 0 || visitNonExpressionString(value);\n }\n } else if (isObject(value)) {\n // Avoid call stack overflow.\n if (memo.has(value)) {\n return;\n }\n memo.add(value);\n visitObject === null || visitObject === void 0 || visitObject(value);\n for (const item of Array.isArray(value) ? value : Object.values(value)) {\n traverse(item);\n }\n }\n }\n traverse(data);\n}\n//# sourceMappingURL=traverse.js.map","import { beforeVisitGlobalMember } from \"./beforeVisitGlobalMember.js\";\nimport { traverseStoryboardExpressions } from \"./traverse.js\";\nexport function strictCollectMemberUsage(data, objectName) {\n let level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n const {\n hasNonStaticUsage,\n nonStaticUsage,\n usedProperties\n } = collectMemberUsage(data, objectName, level);\n if (hasNonStaticUsage) {\n throw new Error(`Non-static usage of ${objectName} is prohibited, check your expression: \"${nonStaticUsage}\"`);\n }\n return usedProperties;\n}\nexport function collectMemberUsage(data, objectName) {\n let level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n const beforeVisitGlobal = beforeVisitGlobalMember(usage, objectName, level);\n traverseStoryboardExpressions(data, (node, parent, expr) => {\n beforeVisitGlobal(node, parent);\n if (usage.hasNonStaticUsage) {\n usage.nonStaticUsage = expr;\n }\n }, objectName);\n return usage;\n}\n//# sourceMappingURL=collectMemberUsage.js.map","import { preevaluate } from \"@next-core/cook\";\nimport { beforeVisitGlobalMember } from \"./beforeVisitGlobalMember.js\";\nconst TRACK_NAMES = [\"CTX\", \"STATE\", \"FORM_STATE\"];\nexport function track(raw, trackText, variableName) {\n if (raw.includes(trackText)) {\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n const {\n expression\n } = preevaluate(raw, {\n cache: true,\n withParent: true,\n hooks: {\n beforeVisitGlobal: beforeVisitGlobalMember(usage, variableName)\n }\n });\n let trackCtxExp;\n if (expression.type === \"SequenceExpression\" && (trackCtxExp = expression.expressions[0]) && trackCtxExp.type === \"Literal\" && trackCtxExp.value === trackText) {\n if (usage.usedProperties.size > 0) {\n return usage.usedProperties;\n } else {\n // eslint-disable-next-line no-console\n console.warn(`You are using \"${trackText}\" but no \\`${variableName}\\` usage found in your expression: ${JSON.stringify(raw)}`);\n }\n }\n }\n return false;\n}\nexport function trackAll(raw) {\n // Do not pre-evaluate a string if it doesn't include track names.\n if (TRACK_NAMES.some(name => raw.includes(name))) {\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n preevaluate(raw, {\n cache: true,\n withParent: true,\n hooks: {\n beforeVisitGlobal: beforeVisitGlobalMember(usage, TRACK_NAMES, 1, true)\n }\n });\n if (usage.usedProperties.size > 0) {\n const usedProperties = [...usage.usedProperties];\n const result = {\n context: false,\n state: false,\n formState: false\n };\n const keyMap = {\n CTX: \"context\",\n STATE: \"state\",\n FORM_STATE: \"formState\"\n };\n usedProperties.forEach(item => {\n const [key, name] = item.split(\".\");\n if (!result[keyMap[key]]) {\n result[keyMap[key]] = [];\n }\n result[keyMap[key]].push(name);\n });\n return result;\n } else {\n // eslint-disable-next-line no-console\n console.warn(`You are using track all but no \"CTX\" or \"STATE\" or \"FORM_STATE\" usage found in your expression: ${JSON.stringify(raw)}`);\n }\n }\n return false;\n}\n//# sourceMappingURL=track.js.map","import { precookFunction } from \"@next-core/cook\";\nexport function traverseStoryboardFunctions(functions, beforeVisitGlobal, options) {\n if (Array.isArray(functions)) {\n for (const fn of functions) {\n if (!(options !== null && options !== void 0 && options.matchSource) || options.matchSource(fn.source)) {\n traverseStoryboardFunction(fn, beforeVisitGlobal);\n }\n }\n }\n}\nexport function traverseStoryboardFunction(fn, beforeVisitGlobal, silentErrors) {\n try {\n precookFunction(fn.source, {\n typescript: fn.typescript,\n withParent: true,\n hooks: {\n beforeVisitGlobal\n },\n cacheKey: fn\n });\n } catch (error) {\n if (!silentErrors) {\n // eslint-disable-next-line no-console\n console.error(`Parse storyboard function \"${fn.name}\" failed:`, error);\n }\n }\n}\n//# sourceMappingURL=traverse.js.map","import { beforeVisitGlobalMember } from \"../expressions/beforeVisitGlobalMember.js\";\nimport { traverseStoryboardFunction } from \"./traverse.js\";\nexport function collectMemberUsageInFunction(fn, objectName, silentErrors) {\n let level = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n if (fn.source.includes(objectName)) {\n traverseStoryboardFunction(fn, beforeVisitGlobalMember(usage, objectName, level), silentErrors);\n }\n if (usage.hasNonStaticUsage && !silentErrors) {\n throw new Error(`Non-static usage of ${objectName} is prohibited, check your function: \"${fn.name}\"`);\n }\n usage.usedProperties.delete(fn.name);\n return usage.usedProperties;\n}\n//# sourceMappingURL=collectMemberUsageInFunction.js.map","import { traverseStoryboardExpressions } from \"./expressions/index.js\";\nimport { traverseStoryboardFunctions } from \"./functions/index.js\";\nconst PERMISSIONS = \"PERMISSIONS\";\nconst check = \"check\";\nexport function scanPermissionActionsInStoryboard(storyboard) {\n var _storyboard$meta;\n const collection = new Set();\n const beforeVisitPermissions = beforeVisitPermissionsFactory(collection);\n const {\n customTemplates,\n functions\n } = (_storyboard$meta = storyboard.meta) !== null && _storyboard$meta !== void 0 ? _storyboard$meta : {};\n traverseStoryboardExpressions([storyboard.routes, customTemplates], beforeVisitPermissions, PERMISSIONS);\n traverseStoryboardFunctions(functions, beforeVisitPermissions, {\n matchSource(source) {\n return source.includes(PERMISSIONS);\n }\n });\n return Array.from(collection);\n}\nexport function scanPermissionActionsInAny(data) {\n const collection = new Set();\n traverseStoryboardExpressions(data, beforeVisitPermissionsFactory(collection), PERMISSIONS);\n return Array.from(collection);\n}\nfunction beforeVisitPermissionsFactory(collection) {\n return function beforeVisitPermissions(node, parent) {\n if (node.name === PERMISSIONS) {\n const memberParent = parent[parent.length - 1];\n const callParent = parent[parent.length - 2];\n if ((callParent === null || callParent === void 0 ? void 0 : callParent.node.type) === \"CallExpression\" && (callParent === null || callParent === void 0 ? void 0 : callParent.key) === \"callee\" && (memberParent === null || memberParent === void 0 ? void 0 : memberParent.node.type) === \"MemberExpression\" && memberParent.key === \"object\" && (memberParent.node.computed ? memberParent.node.property.type === \"Literal\" && memberParent.node.property.value === check : memberParent.node.property.type === \"Identifier\" && memberParent.node.property.name === check)) {\n for (const arg of callParent.node.arguments) {\n if (arg.type === \"Literal\" && typeof arg.value === \"string\") {\n collection.add(arg.value);\n }\n }\n }\n }\n };\n}\n//# sourceMappingURL=permissions.js.map","import { isObject } from \"@next-core/utils/general\";\nimport { pull } from \"lodash\";\nconst USE_CHILDREN_SLOT_REGEXP = /^\\[\\w+\\]$/;\n\n/**\n * Replace `useChildren: \"[xxx]\"` with `useBrick`.\n *\n * This will mutate the input.\n */\nexport function replaceUseChildren(input) {\n if (Array.isArray(input)) {\n for (const brick of input) {\n replaceInBrick(brick);\n }\n } else {\n replaceInBrick(input);\n }\n}\nfunction replaceInBrick(brick) {\n let slots = brick.slots;\n const useChildrenMap = new Map();\n if (Array.isArray(brick.children) && !slots) {\n const removeBricks = [];\n for (const child of brick.children) {\n var _child$slot;\n const slot = (_child$slot = child.slot) !== null && _child$slot !== void 0 ? _child$slot : \"\";\n if (USE_CHILDREN_SLOT_REGEXP.test(slot)) {\n delete child.slot;\n const children = useChildrenMap.get(slot);\n if (children) {\n children.push(child);\n } else {\n useChildrenMap.set(slot, [child]);\n }\n removeBricks.push(child);\n }\n replaceInBrick(child);\n }\n pull(brick.children, ...removeBricks);\n } else {\n slots !== null && slots !== void 0 ? slots : slots = {};\n for (const [slot, slotConf] of Object.entries(slots)) {\n if (USE_CHILDREN_SLOT_REGEXP.test(slot)) {\n const {\n bricks: children\n } = slotConf;\n if (Array.isArray(children) && children.length > 0) {\n useChildrenMap.set(slot, children);\n replaceUseChildren(children);\n }\n delete slots[slot];\n }\n if (Array.isArray(slotConf.bricks)) {\n replaceUseChildren(slotConf.bricks);\n }\n }\n }\n if (useChildrenMap.size > 0) {\n replaceInProperties(brick.properties, useChildrenMap);\n }\n}\nfunction replaceInProperties(value, useChildrenMap) {\n if (Array.isArray(value)) {\n for (const item of value) {\n replaceInProperties(item, useChildrenMap);\n }\n } else if (isObject(value)) {\n for (const [k, v] of Object.entries(value)) {\n if (k === \"useChildren\") {\n const children = useChildrenMap.get(v);\n if (children) {\n delete value[k];\n value.useBrick = children.length === 1 ? children[0] : children;\n }\n } else {\n replaceInProperties(v, useChildrenMap);\n }\n }\n }\n}\n//# sourceMappingURL=replaceUseChildren.js.map"],"names":["beforeVisitGlobalMember","usage","objectName","level","arguments","length","undefined","rememberObjectName","node","parent","name","includes","segments","i","memberParent","type","key","memberNode","computed","property","value","push","hasNonStaticUsage","usedProperties","add","join","collectMemberCallUsageFactory","object","callParent","args","firstArg","usedArgs","collectAppGetMenuUsage","collectInstalledAppsHasUsage","traverseStoryboardExpressions","data","beforeVisitGlobal","options","memo","WeakSet","matchExpressionString","visitNotMatchedExpressionString","visitNonExpressionString","visitObject","v","traverse","isEvaluable","preevaluate","cache","withParent","hooks","error","console","isObject","has","item","Array","isArray","Object","values","strictCollectMemberUsage","nonStaticUsage","collectMemberUsage","Error","Set","expr","TRACK_NAMES","track","raw","trackText","variableName","expression","trackCtxExp","expressions","size","warn","JSON","stringify","trackAll","some","result","context","state","formState","keyMap","CTX","STATE","FORM_STATE","forEach","split","traverseStoryboardFunctions","functions","fn","matchSource","source","traverseStoryboardFunction","silentErrors","precookFunction","typescript","cacheKey","collectMemberUsageInFunction","delete","PERMISSIONS","check","scanPermissionActionsInStoryboard","storyboard","_storyboard$meta","collection","beforeVisitPermissions","beforeVisitPermissionsFactory","customTemplates","meta","routes","from","scanPermissionActionsInAny","arg","USE_CHILDREN_SLOT_REGEXP","replaceUseChildren","input","brick","replaceInBrick","slots","useChildrenMap","Map","children","removeBricks","child","_child$slot","slot","test","get","set","pull","slotConf","entries","bricks","replaceInProperties","properties","k","useBrick"],"sourceRoot":""}
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/4837.7e3e2eea.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 cache: cache ? \"default\" : \"reload\"\n });\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/4837.7e3e2eea.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(renderResult, element);\n } else {\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 cache: cache ? \"default\" : \"reload\"\n });\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,2 +1,2 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[3171,5552],{75552:(e,n,t)=>{t.r(n),t.d(n,{i18n:()=>d,i18nText:()=>l,initializeI18n:()=>u});var i=t(75630),s=t(90023),r=t(848);let a=!1;const o=new Set;function u(e,n){if(a||(a=!0,s.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&&!o.has(e)){o.add(e);for(const[t,i]of Object.entries(n))s.i18n.addResourceBundle(t,e,i)}}var c=t(56548);function l(e){var n;if(!e)return;const t=null!==(n=s.i18n.language)&&void 0!==n?n:"zh-CN";if((0,c.hasOwnProperty)(e,t))return e[t];const i=t.split("-")[0];if(i!==t)return(0,c.hasOwnProperty)(e,i)?e[i]:void 0;const r=`${i}-`;for(const n of Object.keys(e))if(n.startsWith(r))return e[n]}const d=i.default}}]);
2
- //# sourceMappingURL=5552.f046ba86.js.map
1
+ "use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[3171,5552],{75552:(e,n,t)=>{t.r(n),t.d(n,{i18n:()=>d,i18nText:()=>l,initializeI18n:()=>u});var i=t(75630),s=t(34726),r=t(848);let a=!1;const o=new Set;function u(e,n){if(a||(a=!0,s.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&&!o.has(e)){o.add(e);for(const[t,i]of Object.entries(n))s.i18n.addResourceBundle(t,e,i)}}var c=t(24493);function l(e){var n;if(!e)return;const t=null!==(n=s.i18n.language)&&void 0!==n?n:"zh-CN";if((0,c.hasOwnProperty)(e,t))return e[t];const i=t.split("-")[0];if(i!==t)return(0,c.hasOwnProperty)(e,i)?e[i]:void 0;const r=`${i}-`;for(const n of Object.keys(e))if(n.startsWith(r))return e[n]}const d=i.default}}]);
2
+ //# sourceMappingURL=5552.01e2ba3d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/3171.c0d5c9a1.js","mappings":"oPAEA,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,IAAIC,EACJ,IAAKD,EACH,OAEF,MAAME,EAAgD,QAApCD,EAAiB,EAAArB,KAAKsB,gBAAyC,IAAnBD,EAA4BA,EAAiB,QAE3G,IAAI,IAAAE,gBAAeH,EAAME,GACvB,OAAOF,EAAKE,GAGd,MAAME,EAAkBF,EAASG,MAAM,KAAK,GAC5C,GAAID,IAAoBF,EAGtB,OAAO,IAAAC,gBAAeH,EAAMI,GAAmBJ,EAAKI,QAAmBE,EAKzE,MAAMC,EAAS,GAAGH,KAClB,IAAK,MAAMI,KAAOZ,OAAOa,KAAKT,GAC5B,GAAIQ,EAAIE,WAAWH,GACjB,OAAOP,EAAKQ,EAGlB,CC3BO,MAAM5B,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 var _i18n$language;\n if (!data) {\n return;\n }\n const language = (_i18n$language = i18n.language) !== null && _i18n$language !== void 0 ? _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","_i18n$language","language","hasOwnProperty","primaryLanguage","split","undefined","prefix","key","keys","startsWith"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/5552.01e2ba3d.js","mappings":"oPAEA,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,IAAIC,EACJ,IAAKD,EACH,OAEF,MAAME,EAAgD,QAApCD,EAAiB,EAAArB,KAAKsB,gBAAyC,IAAnBD,EAA4BA,EAAiB,QAE3G,IAAI,IAAAE,gBAAeH,EAAME,GACvB,OAAOF,EAAKE,GAGd,MAAME,EAAkBF,EAASG,MAAM,KAAK,GAC5C,GAAID,IAAoBF,EAGtB,OAAO,IAAAC,gBAAeH,EAAMI,GAAmBJ,EAAKI,QAAmBE,EAKzE,MAAMC,EAAS,GAAGH,KAClB,IAAK,MAAMI,KAAOZ,OAAOa,KAAKT,GAC5B,GAAIQ,EAAIE,WAAWH,GACjB,OAAOP,EAAKQ,EAGlB,CC3BO,MAAM5B,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 var _i18n$language;\n if (!data) {\n return;\n }\n const language = (_i18n$language = i18n.language) !== null && _i18n$language !== void 0 ? _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","_i18n$language","language","hasOwnProperty","primaryLanguage","split","undefined","prefix","key","keys","startsWith"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[4765,7146],{97146:(e,t,r)=>{function o(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return function(n,s){if("string"==typeof t?n.name===t:t.includes(n.name)){const t=[];for(let i=1;i<=r;i++){const r=s[s.length-i];if("MemberExpression"===(null==r?void 0:r.node.type)&&"object"===r.key){const s=r.node;s.computed||"Identifier"!==s.property.type?s.computed&&"Literal"===s.property.type&&"string"==typeof s.property.value?t.push(o?`${n.name}.${s.property.value}`:s.property.value):e.hasNonStaticUsage=!0:t.push(o?`${n.name}.${s.property.name}`:s.property.name)}else e.hasNonStaticUsage=!0}t.length===r&&e.usedProperties.add(t.join("."))}}}function n(e,t){return function(r,o,n){if(o.name===e){const e=n[n.length-1],o=n[n.length-2];if("CallExpression"===(null==o?void 0:o.node.type)&&"callee"===(null==o?void 0:o.key)&&"MemberExpression"===(null==e?void 0:e.node.type)&&"object"===e.key&&(e.node.computed?"Literal"===e.node.property.type&&e.node.property.value===t:"Identifier"===e.node.property.type&&e.node.property.name===t)){const e=o.node.arguments;if(e.length>0){const t=e[0];"Literal"===t.type&&"string"==typeof t.value?r.usedArgs.add(t.value):r.hasNonStaticUsage=!0}}}}}r.r(t),r.d(t,{beforeVisitGlobalMember:()=>o,collectAppGetMenuUsage:()=>s,collectInstalledAppsHasUsage:()=>i,collectMemberUsage:()=>p,collectMemberUsageInFunction:()=>b,createProviderClass:()=>c.createProviderClass,replaceUseChildren:()=>E,scanPermissionActionsInAny:()=>A,scanPermissionActionsInStoryboard:()=>m,strictCollectMemberUsage:()=>u,track:()=>f,trackAll:()=>y,traverseStoryboardExpressions:()=>l,traverseStoryboardFunction:()=>g,traverseStoryboardFunctions:()=>h,unwrapProvider:()=>c.unwrapProvider});const s=n("APP","getMenu"),i=n("INSTALLED_APPS","has");var a=r(71321),c=r(24493);function l(e,t,r){const o=new WeakSet,{matchExpressionString:n,visitNotMatchedExpressionString:s,visitNonExpressionString:i,visitObject:l}="string"==typeof r?{matchExpressionString:e=>e.includes(r)}:r;!function e(r){if("string"==typeof r)if((0,a.isEvaluable)(r))if(n(r))try{(0,a.preevaluate)(r,{cache:!0,withParent:!0,hooks:{beforeVisitGlobal(e,o){t(e,o,r)}}})}catch(e){console.error("Parse storyboard expression failed:",e)}else null==s||s(r);else null==i||i(r);else if((0,c.isObject)(r)){if(o.has(r))return;o.add(r),null==l||l(r);for(const t of Array.isArray(r)?r:Object.values(r))e(t)}}(e)}function u(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const{hasNonStaticUsage:o,nonStaticUsage:n,usedProperties:s}=p(e,t,r);if(o)throw new Error(`Non-static usage of ${t} is prohibited, check your expression: "${n}"`);return s}function p(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const n={usedProperties:new Set,hasNonStaticUsage:!1},s=o(n,t,r);return l(e,((e,t,r)=>{s(e,t),n.hasNonStaticUsage&&(n.nonStaticUsage=r)}),t),n}const d=["CTX","STATE","FORM_STATE"];function f(e,t,r){if(e.includes(t)){const n={usedProperties:new Set,hasNonStaticUsage:!1},{expression:s}=(0,a.preevaluate)(e,{cache:!0,withParent:!0,hooks:{beforeVisitGlobal:o(n,r)}});let i;if("SequenceExpression"===s.type&&(i=s.expressions[0])&&"Literal"===i.type&&i.value===t){if(n.usedProperties.size>0)return n.usedProperties;console.warn(`You are using "${t}" but no \`${r}\` usage found in your expression: ${JSON.stringify(e)}`)}}return!1}function y(e){if(d.some((t=>e.includes(t)))){const t={usedProperties:new Set,hasNonStaticUsage:!1};if((0,a.preevaluate)(e,{cache:!0,withParent:!0,hooks:{beforeVisitGlobal:o(t,d,1,!0)}}),t.usedProperties.size>0){const e=[...t.usedProperties],r={context:!1,state:!1,formState:!1},o={CTX:"context",STATE:"state",FORM_STATE:"formState"};return e.forEach((e=>{const[t,n]=e.split(".");r[o[t]]||(r[o[t]]=[]),r[o[t]].push(n)})),r}console.warn(`You are using track all but no "CTX" or "STATE" or "FORM_STATE" usage found in your expression: ${JSON.stringify(e)}`)}return!1}function h(e,t,r){if(Array.isArray(e))for(const o of e)null!=r&&r.matchSource&&!r.matchSource(o.source)||g(o,t)}function g(e,t,r){try{(0,a.precookFunction)(e.source,{typescript:e.typescript,withParent:!0,hooks:{beforeVisitGlobal:t},cacheKey:e})}catch(t){r||console.error(`Parse storyboard function "${e.name}" failed:`,t)}}function b(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;const s={usedProperties:new Set,hasNonStaticUsage:!1};if(e.source.includes(t)&&g(e,o(s,t,n),r),s.hasNonStaticUsage&&!r)throw new Error(`Non-static usage of ${t} is prohibited, check your function: "${e.name}"`);return s.usedProperties.delete(e.name),s.usedProperties}const S="PERMISSIONS",v="check";function m(e){var t;const r=new Set,o=P(r),{customTemplates:n,functions:s}=null!==(t=e.meta)&&void 0!==t?t:{};return l([e.routes,n],o,S),h(s,o,{matchSource:e=>e.includes(S)}),Array.from(r)}function A(e){const t=new Set;return l(e,P(t),S),Array.from(t)}function P(e){return function(t,r){if(t.name===S){const t=r[r.length-1],o=r[r.length-2];if("CallExpression"===(null==o?void 0:o.node.type)&&"callee"===(null==o?void 0:o.key)&&"MemberExpression"===(null==t?void 0:t.node.type)&&"object"===t.key&&(t.node.computed?"Literal"===t.node.property.type&&t.node.property.value===v:"Identifier"===t.node.property.type&&t.node.property.name===v))for(const t of o.node.arguments)"Literal"===t.type&&"string"==typeof t.value&&e.add(t.value)}}}var k=r(20563);const w=/^\[\w+\]$/;function E(e){if(Array.isArray(e))for(const t of e)x(t);else x(e)}function x(e){let t=e.slots;const r=new Map;if(Array.isArray(e.children)&&!t){const t=[];for(const n of e.children){var o;const e=null!==(o=n.slot)&&void 0!==o?o:"";if(w.test(e)){delete n.slot;const o=r.get(e);o?o.push(n):r.set(e,[n]),t.push(n)}x(n)}(0,k.pull)(e.children,...t)}else{null!=t||(t={});for(const[e,o]of Object.entries(t)){if(w.test(e)){const{bricks:n}=o;Array.isArray(n)&&n.length>0&&(r.set(e,n),E(n)),delete t[e]}Array.isArray(o.bricks)&&E(o.bricks)}}r.size>0&&T(e.properties,r)}function T(e,t){if(Array.isArray(e))for(const r of e)T(r,t);else if((0,c.isObject)(e))for(const[r,o]of Object.entries(e))if("useChildren"===r){const n=t.get(o);n&&(delete e[r],e.useBrick=1===n.length?n[0]:n)}else T(o,t)}}}]);
2
+ //# sourceMappingURL=7146.01773098.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/7146.01773098.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/beforeVisitGlobalMember.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/collectMemberCallUsage.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/traverse.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/collectMemberUsage.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/track.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/functions/traverse.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/functions/collectMemberUsageInFunction.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/permissions.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/replaceUseChildren.js"],"sourcesContent":["export function beforeVisitGlobalMember(usage, objectName) {\n let level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n let rememberObjectName = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n return function beforeVisitGlobal(node, parent) {\n if (typeof objectName === \"string\" ? node.name === objectName : objectName.includes(node.name)) {\n const segments = [];\n for (let i = 1; i <= level; i++) {\n const memberParent = parent[parent.length - i];\n if ((memberParent === null || memberParent === void 0 ? void 0 : memberParent.node.type) === \"MemberExpression\" && memberParent.key === \"object\") {\n const memberNode = memberParent.node;\n if (!memberNode.computed && memberNode.property.type === \"Identifier\") {\n segments.push(rememberObjectName ? `${node.name}.${memberNode.property.name}` : memberNode.property.name);\n } else if (memberNode.computed && memberNode.property.type === \"Literal\" && typeof memberNode.property.value === \"string\") {\n segments.push(rememberObjectName ? `${node.name}.${memberNode.property.value}` : memberNode.property.value);\n } else {\n usage.hasNonStaticUsage = true;\n }\n } else {\n usage.hasNonStaticUsage = true;\n }\n }\n if (segments.length === level) {\n usage.usedProperties.add(segments.join(\".\"));\n }\n }\n };\n}\n//# sourceMappingURL=beforeVisitGlobalMember.js.map","function collectMemberCallUsageFactory(object, property) {\n return function collectMemberCallUsage(usage, node, parent) {\n if (node.name === object) {\n const memberParent = parent[parent.length - 1];\n const callParent = parent[parent.length - 2];\n if ((callParent === null || callParent === void 0 ? void 0 : callParent.node.type) === \"CallExpression\" && (callParent === null || callParent === void 0 ? void 0 : callParent.key) === \"callee\" && (memberParent === null || memberParent === void 0 ? void 0 : memberParent.node.type) === \"MemberExpression\" && memberParent.key === \"object\" && (memberParent.node.computed ? memberParent.node.property.type === \"Literal\" && memberParent.node.property.value === property : memberParent.node.property.type === \"Identifier\" && memberParent.node.property.name === property)) {\n const args = callParent.node.arguments;\n if (args.length > 0) {\n const firstArg = args[0];\n if (firstArg.type === \"Literal\" && typeof firstArg.value === \"string\") {\n usage.usedArgs.add(firstArg.value);\n } else {\n usage.hasNonStaticUsage = true;\n }\n }\n }\n }\n };\n}\nexport const collectAppGetMenuUsage = collectMemberCallUsageFactory(\"APP\", \"getMenu\");\nexport const collectInstalledAppsHasUsage = collectMemberCallUsageFactory(\"INSTALLED_APPS\", \"has\");\n//# sourceMappingURL=collectMemberCallUsage.js.map","import { isEvaluable, preevaluate } from \"@next-core/cook\";\nimport { isObject } from \"@next-core/utils/general\";\nexport function traverseStoryboardExpressions(data, beforeVisitGlobal,\n// If `options` is a string, it means the *keyword*.\noptions) {\n const memo = new WeakSet();\n const {\n matchExpressionString,\n visitNotMatchedExpressionString,\n visitNonExpressionString,\n visitObject\n } = typeof options === \"string\" ? {\n matchExpressionString: v => v.includes(options)\n } : options;\n function traverse(value) {\n if (typeof value === \"string\") {\n if (isEvaluable(value)) {\n if (matchExpressionString(value)) {\n try {\n preevaluate(value, {\n cache: true,\n withParent: true,\n hooks: {\n beforeVisitGlobal(node, parent) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n beforeVisitGlobal(node, parent, value);\n }\n }\n });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Parse storyboard expression failed:\", error);\n }\n } else {\n visitNotMatchedExpressionString === null || visitNotMatchedExpressionString === void 0 || visitNotMatchedExpressionString(value);\n }\n } else {\n visitNonExpressionString === null || visitNonExpressionString === void 0 || visitNonExpressionString(value);\n }\n } else if (isObject(value)) {\n // Avoid call stack overflow.\n if (memo.has(value)) {\n return;\n }\n memo.add(value);\n visitObject === null || visitObject === void 0 || visitObject(value);\n for (const item of Array.isArray(value) ? value : Object.values(value)) {\n traverse(item);\n }\n }\n }\n traverse(data);\n}\n//# sourceMappingURL=traverse.js.map","import { beforeVisitGlobalMember } from \"./beforeVisitGlobalMember.js\";\nimport { traverseStoryboardExpressions } from \"./traverse.js\";\nexport function strictCollectMemberUsage(data, objectName) {\n let level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n const {\n hasNonStaticUsage,\n nonStaticUsage,\n usedProperties\n } = collectMemberUsage(data, objectName, level);\n if (hasNonStaticUsage) {\n throw new Error(`Non-static usage of ${objectName} is prohibited, check your expression: \"${nonStaticUsage}\"`);\n }\n return usedProperties;\n}\nexport function collectMemberUsage(data, objectName) {\n let level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n const beforeVisitGlobal = beforeVisitGlobalMember(usage, objectName, level);\n traverseStoryboardExpressions(data, (node, parent, expr) => {\n beforeVisitGlobal(node, parent);\n if (usage.hasNonStaticUsage) {\n usage.nonStaticUsage = expr;\n }\n }, objectName);\n return usage;\n}\n//# sourceMappingURL=collectMemberUsage.js.map","import { preevaluate } from \"@next-core/cook\";\nimport { beforeVisitGlobalMember } from \"./beforeVisitGlobalMember.js\";\nconst TRACK_NAMES = [\"CTX\", \"STATE\", \"FORM_STATE\"];\nexport function track(raw, trackText, variableName) {\n if (raw.includes(trackText)) {\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n const {\n expression\n } = preevaluate(raw, {\n cache: true,\n withParent: true,\n hooks: {\n beforeVisitGlobal: beforeVisitGlobalMember(usage, variableName)\n }\n });\n let trackCtxExp;\n if (expression.type === \"SequenceExpression\" && (trackCtxExp = expression.expressions[0]) && trackCtxExp.type === \"Literal\" && trackCtxExp.value === trackText) {\n if (usage.usedProperties.size > 0) {\n return usage.usedProperties;\n } else {\n // eslint-disable-next-line no-console\n console.warn(`You are using \"${trackText}\" but no \\`${variableName}\\` usage found in your expression: ${JSON.stringify(raw)}`);\n }\n }\n }\n return false;\n}\nexport function trackAll(raw) {\n // Do not pre-evaluate a string if it doesn't include track names.\n if (TRACK_NAMES.some(name => raw.includes(name))) {\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n preevaluate(raw, {\n cache: true,\n withParent: true,\n hooks: {\n beforeVisitGlobal: beforeVisitGlobalMember(usage, TRACK_NAMES, 1, true)\n }\n });\n if (usage.usedProperties.size > 0) {\n const usedProperties = [...usage.usedProperties];\n const result = {\n context: false,\n state: false,\n formState: false\n };\n const keyMap = {\n CTX: \"context\",\n STATE: \"state\",\n FORM_STATE: \"formState\"\n };\n usedProperties.forEach(item => {\n const [key, name] = item.split(\".\");\n if (!result[keyMap[key]]) {\n result[keyMap[key]] = [];\n }\n result[keyMap[key]].push(name);\n });\n return result;\n } else {\n // eslint-disable-next-line no-console\n console.warn(`You are using track all but no \"CTX\" or \"STATE\" or \"FORM_STATE\" usage found in your expression: ${JSON.stringify(raw)}`);\n }\n }\n return false;\n}\n//# sourceMappingURL=track.js.map","import { precookFunction } from \"@next-core/cook\";\nexport function traverseStoryboardFunctions(functions, beforeVisitGlobal, options) {\n if (Array.isArray(functions)) {\n for (const fn of functions) {\n if (!(options !== null && options !== void 0 && options.matchSource) || options.matchSource(fn.source)) {\n traverseStoryboardFunction(fn, beforeVisitGlobal);\n }\n }\n }\n}\nexport function traverseStoryboardFunction(fn, beforeVisitGlobal, silentErrors) {\n try {\n precookFunction(fn.source, {\n typescript: fn.typescript,\n withParent: true,\n hooks: {\n beforeVisitGlobal\n },\n cacheKey: fn\n });\n } catch (error) {\n if (!silentErrors) {\n // eslint-disable-next-line no-console\n console.error(`Parse storyboard function \"${fn.name}\" failed:`, error);\n }\n }\n}\n//# sourceMappingURL=traverse.js.map","import { beforeVisitGlobalMember } from \"../expressions/beforeVisitGlobalMember.js\";\nimport { traverseStoryboardFunction } from \"./traverse.js\";\nexport function collectMemberUsageInFunction(fn, objectName, silentErrors) {\n let level = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n if (fn.source.includes(objectName)) {\n traverseStoryboardFunction(fn, beforeVisitGlobalMember(usage, objectName, level), silentErrors);\n }\n if (usage.hasNonStaticUsage && !silentErrors) {\n throw new Error(`Non-static usage of ${objectName} is prohibited, check your function: \"${fn.name}\"`);\n }\n usage.usedProperties.delete(fn.name);\n return usage.usedProperties;\n}\n//# sourceMappingURL=collectMemberUsageInFunction.js.map","import { traverseStoryboardExpressions } from \"./expressions/index.js\";\nimport { traverseStoryboardFunctions } from \"./functions/index.js\";\nconst PERMISSIONS = \"PERMISSIONS\";\nconst check = \"check\";\nexport function scanPermissionActionsInStoryboard(storyboard) {\n var _storyboard$meta;\n const collection = new Set();\n const beforeVisitPermissions = beforeVisitPermissionsFactory(collection);\n const {\n customTemplates,\n functions\n } = (_storyboard$meta = storyboard.meta) !== null && _storyboard$meta !== void 0 ? _storyboard$meta : {};\n traverseStoryboardExpressions([storyboard.routes, customTemplates], beforeVisitPermissions, PERMISSIONS);\n traverseStoryboardFunctions(functions, beforeVisitPermissions, {\n matchSource(source) {\n return source.includes(PERMISSIONS);\n }\n });\n return Array.from(collection);\n}\nexport function scanPermissionActionsInAny(data) {\n const collection = new Set();\n traverseStoryboardExpressions(data, beforeVisitPermissionsFactory(collection), PERMISSIONS);\n return Array.from(collection);\n}\nfunction beforeVisitPermissionsFactory(collection) {\n return function beforeVisitPermissions(node, parent) {\n if (node.name === PERMISSIONS) {\n const memberParent = parent[parent.length - 1];\n const callParent = parent[parent.length - 2];\n if ((callParent === null || callParent === void 0 ? void 0 : callParent.node.type) === \"CallExpression\" && (callParent === null || callParent === void 0 ? void 0 : callParent.key) === \"callee\" && (memberParent === null || memberParent === void 0 ? void 0 : memberParent.node.type) === \"MemberExpression\" && memberParent.key === \"object\" && (memberParent.node.computed ? memberParent.node.property.type === \"Literal\" && memberParent.node.property.value === check : memberParent.node.property.type === \"Identifier\" && memberParent.node.property.name === check)) {\n for (const arg of callParent.node.arguments) {\n if (arg.type === \"Literal\" && typeof arg.value === \"string\") {\n collection.add(arg.value);\n }\n }\n }\n }\n };\n}\n//# sourceMappingURL=permissions.js.map","import { isObject } from \"@next-core/utils/general\";\nimport { pull } from \"lodash\";\nconst USE_CHILDREN_SLOT_REGEXP = /^\\[\\w+\\]$/;\n\n/**\n * Replace `useChildren: \"[xxx]\"` with `useBrick`.\n *\n * This will mutate the input.\n */\nexport function replaceUseChildren(input) {\n if (Array.isArray(input)) {\n for (const brick of input) {\n replaceInBrick(brick);\n }\n } else {\n replaceInBrick(input);\n }\n}\nfunction replaceInBrick(brick) {\n let slots = brick.slots;\n const useChildrenMap = new Map();\n if (Array.isArray(brick.children) && !slots) {\n const removeBricks = [];\n for (const child of brick.children) {\n var _child$slot;\n const slot = (_child$slot = child.slot) !== null && _child$slot !== void 0 ? _child$slot : \"\";\n if (USE_CHILDREN_SLOT_REGEXP.test(slot)) {\n delete child.slot;\n const children = useChildrenMap.get(slot);\n if (children) {\n children.push(child);\n } else {\n useChildrenMap.set(slot, [child]);\n }\n removeBricks.push(child);\n }\n replaceInBrick(child);\n }\n pull(brick.children, ...removeBricks);\n } else {\n slots !== null && slots !== void 0 ? slots : slots = {};\n for (const [slot, slotConf] of Object.entries(slots)) {\n if (USE_CHILDREN_SLOT_REGEXP.test(slot)) {\n const {\n bricks: children\n } = slotConf;\n if (Array.isArray(children) && children.length > 0) {\n useChildrenMap.set(slot, children);\n replaceUseChildren(children);\n }\n delete slots[slot];\n }\n if (Array.isArray(slotConf.bricks)) {\n replaceUseChildren(slotConf.bricks);\n }\n }\n }\n if (useChildrenMap.size > 0) {\n replaceInProperties(brick.properties, useChildrenMap);\n }\n}\nfunction replaceInProperties(value, useChildrenMap) {\n if (Array.isArray(value)) {\n for (const item of value) {\n replaceInProperties(item, useChildrenMap);\n }\n } else if (isObject(value)) {\n for (const [k, v] of Object.entries(value)) {\n if (k === \"useChildren\") {\n const children = useChildrenMap.get(v);\n if (children) {\n delete value[k];\n value.useBrick = children.length === 1 ? children[0] : children;\n }\n } else {\n replaceInProperties(v, useChildrenMap);\n }\n }\n }\n}\n//# sourceMappingURL=replaceUseChildren.js.map"],"names":["beforeVisitGlobalMember","usage","objectName","level","arguments","length","undefined","rememberObjectName","node","parent","name","includes","segments","i","memberParent","type","key","memberNode","computed","property","value","push","hasNonStaticUsage","usedProperties","add","join","collectMemberCallUsageFactory","object","callParent","args","firstArg","usedArgs","collectAppGetMenuUsage","collectInstalledAppsHasUsage","traverseStoryboardExpressions","data","beforeVisitGlobal","options","memo","WeakSet","matchExpressionString","visitNotMatchedExpressionString","visitNonExpressionString","visitObject","v","traverse","isEvaluable","preevaluate","cache","withParent","hooks","error","console","isObject","has","item","Array","isArray","Object","values","strictCollectMemberUsage","nonStaticUsage","collectMemberUsage","Error","Set","expr","TRACK_NAMES","track","raw","trackText","variableName","expression","trackCtxExp","expressions","size","warn","JSON","stringify","trackAll","some","result","context","state","formState","keyMap","CTX","STATE","FORM_STATE","forEach","split","traverseStoryboardFunctions","functions","fn","matchSource","source","traverseStoryboardFunction","silentErrors","precookFunction","typescript","cacheKey","collectMemberUsageInFunction","delete","PERMISSIONS","check","scanPermissionActionsInStoryboard","storyboard","_storyboard$meta","collection","beforeVisitPermissions","beforeVisitPermissionsFactory","customTemplates","meta","routes","from","scanPermissionActionsInAny","arg","USE_CHILDREN_SLOT_REGEXP","replaceUseChildren","input","brick","replaceInBrick","slots","useChildrenMap","Map","children","removeBricks","child","_child$slot","slot","test","get","set","pull","slotConf","entries","bricks","replaceInProperties","properties","k","useBrick"],"sourceRoot":""}