@next-bricks/visual-builder 1.38.4 → 1.38.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +17 -17
- package/dist/chunks/{1889.96ce7327.js → 1889.bd796e16.js} +2 -2
- package/dist/chunks/1889.bd796e16.js.map +1 -0
- package/dist/chunks/220.100322b6.js +2 -0
- package/dist/chunks/220.100322b6.js.map +1 -0
- package/dist/chunks/{2980.1544a125.js → 2980.77e044c8.js} +2 -2
- package/dist/chunks/{2980.1544a125.js.map → 2980.77e044c8.js.map} +1 -1
- package/dist/chunks/{3171.d919d954.js → 3171.15ddb878.js} +2 -2
- package/dist/chunks/{3171.d919d954.js.map → 3171.15ddb878.js.map} +1 -1
- package/dist/chunks/{3933.4363c1cf.js → 3933.14041051.js} +2 -2
- package/dist/chunks/{3933.4363c1cf.js.map → 3933.14041051.js.map} +1 -1
- package/dist/chunks/4291.ef7e7fae.js +2 -0
- package/dist/chunks/4291.ef7e7fae.js.map +1 -0
- package/dist/chunks/{7218.698b9922.js → 4837.0f4319f6.js} +2 -2
- package/dist/chunks/{4837.bbbe8edf.js.map → 4837.0f4319f6.js.map} +1 -1
- package/dist/chunks/5247.485f0926.js +3 -0
- package/dist/chunks/5247.485f0926.js.map +1 -0
- package/dist/chunks/{5522.9b10a351.js → 5522.690dcfe1.js} +3 -3
- package/dist/chunks/{5522.9b10a351.js.map → 5522.690dcfe1.js.map} +1 -1
- package/dist/chunks/{5552.25e8ba44.js → 5552.ebeb6852.js} +2 -2
- package/dist/chunks/{5552.25e8ba44.js.map → 5552.ebeb6852.js.map} +1 -1
- package/dist/chunks/5933.80708a00.js +3 -0
- package/dist/chunks/5933.80708a00.js.map +1 -0
- package/dist/chunks/{6314.68a0856f.js → 6314.a58fa1a1.js} +2 -2
- package/dist/chunks/{6314.68a0856f.js.map → 6314.a58fa1a1.js.map} +1 -1
- package/dist/chunks/{4837.bbbe8edf.js → 7218.56461cde.js} +2 -2
- package/dist/chunks/{7218.698b9922.js.map → 7218.56461cde.js.map} +1 -1
- package/dist/chunks/{7721.79a73cc5.js → 7721.c4069d44.js} +3 -3
- package/dist/chunks/7721.c4069d44.js.map +1 -0
- package/dist/chunks/{9515.b82d9bb4.js → 9515.1b9f8fea.js} +2 -2
- package/dist/chunks/9515.1b9f8fea.js.map +1 -0
- package/dist/chunks/{9844.8fa0b43e.js → 9844.4328557b.js} +2 -2
- package/dist/chunks/{9844.8fa0b43e.js.map → 9844.4328557b.js.map} +1 -1
- package/dist/chunks/{batch-update-raw-data-generated-view.d854bc69.js → batch-update-raw-data-generated-view.738a07d5.js} +3 -3
- package/dist/chunks/{batch-update-raw-data-generated-view.d854bc69.js.map → batch-update-raw-data-generated-view.738a07d5.js.map} +1 -1
- package/dist/chunks/{chat-conversation.5660eb6c.js → chat-conversation.a3e800e3.js} +3 -3
- package/dist/chunks/chat-conversation.a3e800e3.js.map +1 -0
- package/dist/chunks/{chat-preview.8f851d13.js → chat-preview.77bfcc3e.js} +3 -3
- package/dist/chunks/{chat-preview.8f851d13.js.map → chat-preview.77bfcc3e.js.map} +1 -1
- package/dist/chunks/{check-editor-by-name.98c9077b.js → check-editor-by-name.a4d0302a.js} +2 -2
- package/dist/chunks/{check-editor-by-name.98c9077b.js.map → check-editor-by-name.a4d0302a.js.map} +1 -1
- package/dist/chunks/{contract-select.c889a30c.js → contract-select.e3332bbc.js} +3 -3
- package/dist/chunks/{contract-select.c889a30c.js.map → contract-select.e3332bbc.js.map} +1 -1
- package/dist/chunks/{generate-snippets-context-menu.146ee748.js → generate-snippets-context-menu.5089749e.js} +2 -2
- package/dist/chunks/{generate-snippets-context-menu.146ee748.js.map → generate-snippets-context-menu.5089749e.js.map} +1 -1
- package/dist/chunks/{get-config-by-data-for-ai.8a90647b.js → get-config-by-data-for-ai.8f826b9c.js} +3 -3
- package/dist/chunks/{get-config-by-data-for-ai.8a90647b.js.map → get-config-by-data-for-ai.8f826b9c.js.map} +1 -1
- package/dist/chunks/{get-data-deps.f481598b.js → get-data-deps.f9ee2770.js} +2 -2
- package/dist/chunks/{get-data-deps.f481598b.js.map → get-data-deps.f9ee2770.js.map} +1 -1
- package/dist/chunks/{get-dependency-tree.52423efa.js → get-dependency-tree.8977b6ec.js} +2 -2
- package/dist/chunks/{get-dependency-tree.52423efa.js.map → get-dependency-tree.8977b6ec.js.map} +1 -1
- package/dist/chunks/{get-raw-data-system-prompts.b5899f4d.js → get-raw-data-system-prompts.3a7aaa58.js} +2 -2
- package/dist/chunks/{get-raw-data-system-prompts.b5899f4d.js.map → get-raw-data-system-prompts.3a7aaa58.js.map} +1 -1
- package/dist/chunks/{inject-chat-preview-agent.db7f95da.js → inject-chat-preview-agent.738f2dd6.js} +2 -2
- package/dist/chunks/{inject-chat-preview-agent.db7f95da.js.map → inject-chat-preview-agent.738f2dd6.js.map} +1 -1
- package/dist/chunks/main.019c7563.js +2 -0
- package/dist/chunks/{main.40573267.js.map → main.019c7563.js.map} +1 -1
- package/dist/chunks/{parse-path.7e88de06.js → parse-path.50f5853b.js} +2 -2
- package/dist/chunks/{parse-path.7e88de06.js.map → parse-path.50f5853b.js.map} +1 -1
- package/dist/chunks/{pre-generated-config-preview.ed6be58a.js → pre-generated-config-preview.78b8fbb0.js} +2 -2
- package/dist/chunks/{pre-generated-config-preview.ed6be58a.js.map → pre-generated-config-preview.78b8fbb0.js.map} +1 -1
- package/dist/chunks/{pre-generated-config.927c0982.js → pre-generated-config.7a52aa90.js} +2 -2
- package/dist/chunks/{pre-generated-config.927c0982.js.map → pre-generated-config.7a52aa90.js.map} +1 -1
- package/dist/chunks/{pre-generated-container.dddeac27.js → pre-generated-container.a87c7041.js} +2 -2
- package/dist/chunks/{pre-generated-container.dddeac27.js.map → pre-generated-container.a87c7041.js.map} +1 -1
- package/dist/chunks/{pre-generated-preview.b3ba835a.js → pre-generated-preview.6f7f34cc.js} +3 -3
- package/dist/chunks/{pre-generated-preview.b3ba835a.js.map → pre-generated-preview.6f7f34cc.js.map} +1 -1
- package/dist/chunks/property-editor.fb323f9e.js +2 -0
- package/dist/chunks/{property-editor.a5d944e2.js.map → property-editor.fb323f9e.js.map} +1 -1
- package/dist/chunks/{raw-data-preview.d668372a.js → raw-data-preview.107690f0.js} +3 -3
- package/dist/chunks/{raw-data-preview.d668372a.js.map → raw-data-preview.107690f0.js.map} +1 -1
- package/dist/chunks/{raw-metric-preview.d1039b5f.js → raw-metric-preview.b51295ec.js} +3 -3
- package/dist/chunks/{raw-metric-preview.d1039b5f.js.map → raw-metric-preview.b51295ec.js.map} +1 -1
- package/dist/chunks/{workbench-action-list.68a47ab3.js → workbench-action-list.2f339a97.js} +2 -2
- package/dist/chunks/{workbench-action-list.68a47ab3.js.map → workbench-action-list.2f339a97.js.map} +1 -1
- package/dist/chunks/{workbench-history-action.7b17ce0a.js → workbench-history-action.a16b53af.js} +3 -3
- package/dist/chunks/{workbench-history-action.7b17ce0a.js.map → workbench-history-action.a16b53af.js.map} +1 -1
- package/dist/index.48a4cac7.js +2 -0
- package/dist/index.48a4cac7.js.map +1 -0
- package/dist/manifest.json +78 -78
- package/dist/types.json +315 -315
- package/package.json +2 -2
- package/dist/chunks/1889.96ce7327.js.map +0 -1
- package/dist/chunks/220.b81cb3a9.js +0 -2
- package/dist/chunks/220.b81cb3a9.js.map +0 -1
- package/dist/chunks/4291.3c12fe9f.js +0 -2
- package/dist/chunks/4291.3c12fe9f.js.map +0 -1
- package/dist/chunks/5659.db2c4d38.js +0 -3
- package/dist/chunks/5659.db2c4d38.js.map +0 -1
- package/dist/chunks/6840.b8f5fecc.js +0 -3
- package/dist/chunks/6840.b8f5fecc.js.map +0 -1
- package/dist/chunks/7721.79a73cc5.js.map +0 -1
- package/dist/chunks/9515.b82d9bb4.js.map +0 -1
- package/dist/chunks/chat-conversation.5660eb6c.js.map +0 -1
- package/dist/chunks/main.40573267.js +0 -2
- package/dist/chunks/property-editor.a5d944e2.js +0 -2
- package/dist/index.228ff2a1.js +0 -2
- package/dist/index.228ff2a1.js.map +0 -1
- /package/dist/chunks/{6840.b8f5fecc.js.LICENSE.txt → 5247.485f0926.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{5522.9b10a351.js.LICENSE.txt → 5522.690dcfe1.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{5659.db2c4d38.js.LICENSE.txt → 5933.80708a00.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{7721.79a73cc5.js.LICENSE.txt → 7721.c4069d44.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{batch-update-raw-data-generated-view.d854bc69.js.LICENSE.txt → batch-update-raw-data-generated-view.738a07d5.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{chat-conversation.5660eb6c.js.LICENSE.txt → chat-conversation.a3e800e3.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{chat-preview.8f851d13.js.LICENSE.txt → chat-preview.77bfcc3e.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{contract-select.c889a30c.js.LICENSE.txt → contract-select.e3332bbc.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{get-config-by-data-for-ai.8a90647b.js.LICENSE.txt → get-config-by-data-for-ai.8f826b9c.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{pre-generated-preview.b3ba835a.js.LICENSE.txt → pre-generated-preview.6f7f34cc.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{raw-data-preview.d668372a.js.LICENSE.txt → raw-data-preview.107690f0.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{raw-metric-preview.d1039b5f.js.LICENSE.txt → raw-metric-preview.b51295ec.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{workbench-history-action.7b17ce0a.js.LICENSE.txt → workbench-history-action.a16b53af.js.LICENSE.txt} +0 -0
package/dist/chunks/{get-config-by-data-for-ai.8a90647b.js → get-config-by-data-for-ai.8f826b9c.js}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/*! For license information please see get-config-by-data-for-ai.
|
|
2
|
-
"use strict";(globalThis.webpackChunk_next_bricks_visual_builder=globalThis.webpackChunk_next_bricks_visual_builder||[]).push([[884],{2983:(e,t,a)=>{a.r(t),a.d(t,{getConfigByDataForAi:()=>l});var i=a(
|
|
3
|
-
//# sourceMappingURL=get-config-by-data-for-ai.
|
|
1
|
+
/*! For license information please see get-config-by-data-for-ai.8f826b9c.js.LICENSE.txt */
|
|
2
|
+
"use strict";(globalThis.webpackChunk_next_bricks_visual_builder=globalThis.webpackChunk_next_bricks_visual_builder||[]).push([[884],{2983:(e,t,a)=>{a.r(t),a.d(t,{getConfigByDataForAi:()=>l});var i=a(4427),n=a(8406),r=a(1030),s=a(9802);async function l(e){if(null==(null==e?void 0:e.value))return null;const{value:t}=e;let a,n,s="unknown",l=[];if(Array.isArray(t))t.length>0&&(s="list",a=t[0],l=t);else if((0,r.isObject)(t)){const e=t;(0,i.hasOwnProperty)(e,"list")&&Array.isArray(e.list)?(e.list.length>0&&(s=(0,i.hasOwnProperty)(e,"page")&&"number"==typeof e.page&&(0,i.hasOwnProperty)(e,"total")&&"number"==typeof e.total?"list-with-pagination":"list-with-wrapper",a=e.list[0],l=e.list),"list-with-pagination"===s&&"number"==typeof e.page_size&&"number"!=typeof e.pageSize&&(n={pageSize:"page_size"})):(s="object",a=t,l=[a])}const u=new Set;for(const e of l){if(!(0,r.isObject)(e)){s="unknown";break}for(const t of Object.keys(e))u.add(t)}let p=[],d=[];if("unknown"!==s&&(0,r.isObject)(a)&&(0,i.hasOwnProperty)(a,"_object_id")&&"string"==typeof a._object_id){const e=a._object_id,t="object"!==s&&(0,i.hasOwnProperty)(a,"time")&&"number"==typeof a.time;({attrList:p,metricGroups:d}=await c(e,u,t))}else console.warn("Can not detect objectId with data:",e),p=[...u].map((e=>({id:e,name:e})));return 0===p.length&&(s="unknown"),{type:s,attrList:p,metricGroups:d,dataList:l,containerOptions:o(s,n,p)}}function o(e,t,a){let i=[];switch(e){case"list":i=[{label:"表格",value:"table"},{label:"卡片列表",value:"cards"}];break;case"list-with-pagination":i=[{label:"表格",value:"table",settings:{pagination:!0,fields:t}},{label:"卡片列表",value:"cards",settings:{pagination:!0,fields:t}}];break;case"list-with-wrapper":i=[{label:"属性详情",value:"descriptions"},{label:"表格",value:"table",settings:{wrapper:!0,fields:t}},{label:"卡片列表",value:"cards",settings:{wrapper:!0}}];break;case"object":return[{label:"属性详情",value:"descriptions"}];default:return[]}let n=0,r=0;for(const e of a)e.metricKey?n++:r++;const s="list-with-pagination"===e?{pagination:!0}:"list-with-wrapper"===e?{wrapper:!0}:void 0;return n>0&&i.push({label:"图表",value:"chart",settings:s,prefer:n>r&&n<6}),n>1&&i.push({label:"组合图表",value:"grouped-chart",settings:s,prefer:n>r&&n>=6}),i}async function c(e,t,a){const i=[],r=[],[l,o]=e.split("@"),{list:u}=await(0,n.y)("MODEL_OBJECT",{fields:["name","objectId","attrList.id","attrList.name","attrList.generatedView.list","parentObjectIds","metricGroups"],query:{objectId:l,ignore:{$ne:!0},...o?{"space.name":o}:{space:{$exists:!1}}},page:1});if(0===u.length)console.warn("Can not find object by objectId:",e);else{const{attrList:l,parentObjectIds:o,metricGroups:p}=u[0];if(null!=o&&o.length){const e=await Promise.all(o.map((e=>c(e,t,a))));for(const t of e)i.push(...t.attrList),r.push(...t.metricGroups)}if(i.push(...l.map((e=>{var a;return t.has(e.id)?{id:e.id,name:e.name,candidates:null===(a=e.generatedView)||void 0===a||null===(a=a[0])||void 0===a?void 0:a.list}:null})).filter(Boolean)),null!=p&&p.length&&r.push(...p),a){const{list:a}=await(0,n.y)("_COLLECTOR_ALIAS_METRIC",{fields:["name","displayName","unit","dataType"],page_size:3e3,query:{dataType:{$ne:"string"},objectId:e},sort:[{key:"name",order:1}]});i.push(...a.map((e=>{const a=e.displayName&&t.has(e.displayName);return a||t.has(e.name)?{id:e.name,name:e.displayName,metricKey:a?e.displayName:e.name,unit:e.unit,candidates:(0,s.e)(e)}:null})).filter(Boolean))}}return{attrList:i,metricGroups:r}}customElements.define("visual-builder.get-config-by-data-for-ai",(0,i.createProviderClass)(l))},6330:(e,t,a)=>{function i(e,t,a,i,n,r,s){try{var l=e[r](s),o=l.value}catch(e){return void a(e)}l.done?t(o):Promise.resolve(o).then(i,n)}function n(e){return function(){var t=this,a=arguments;return new Promise((function(n,r){var s=e.apply(t,a);function l(e){i(s,n,r,l,o,"next",e)}function o(e){i(s,n,r,l,o,"throw",e)}l(void 0)}))}}a.d(t,{A:()=>n})},8406:(e,t,a)=>{a.d(t,{y:()=>r});var i=a(6330),n=a(3357),r=function(){var e=(0,i.A)((function*(e,t,a){return(yield n.http.post("api/gateway/cmdb.instance.PostSearchV3/v3/object/".concat(e,"/instance/_search"),t,a)).data}));return function(t,a,i){return e.apply(this,arguments)}}()},9802:(e,t,a)=>{function i(e){const t=[];for(let a=-1;a<3;a++){const i="percent(1)"===e.unit,n="percent(100)"===e.unit||"%"===e.unit,r=a<=0?"small":1===a?"medium":"large";if(i||n||a>=0){const s=-1===a?"gauge":2===a?"area":"line";t.push({visualWeight:a,chartType:s,size:r,min:0,precision:i||n?1:"double"===e.dataType?2:0})}}return t}a.d(t,{e:()=>i})}}]);
|
|
3
|
+
//# sourceMappingURL=get-config-by-data-for-ai.8f826b9c.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/get-config-by-data-for-ai.8a90647b.js","mappings":"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","sources":["webpack:///./src/data-providers/get-config-by-data-for-ai.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@next-api-sdk/cmdb-sdk/dist/esm/api/cmdb/instance/postSearchV3.js","webpack:///./src/raw-metric-preview/generateMetricCandidates.ts"],"sourcesContent":["import { createProviderClass, hasOwnProperty } from \"@next-core/utils/general\";\nimport { InstanceApi_postSearchV3 } from \"@next-api-sdk/cmdb-sdk\";\nimport { isObject } from \"lodash\";\nimport {\n generateMetricCandidates,\n type Metric,\n} from \"../raw-metric-preview/generateMetricCandidates\";\n\nexport interface Data {\n name: string;\n value: unknown;\n}\n\nexport type Config = NormalConfig | UnknownConfig;\n\nexport interface NormalConfig {\n type: ConfigType;\n attrList: Attr[];\n metricGroups: MetricGroup[];\n dataList: unknown[];\n containerOptions?: ContainerOption[];\n}\n\nexport interface UnknownConfig {\n type: \"unknown\";\n error: string;\n}\n\nexport interface Options {\n dataType?: \"context\" | \"state\";\n}\n\nexport type ConfigType =\n | \"list\"\n | \"list-with-pagination\"\n | \"list-with-wrapper\"\n | \"object\"\n | \"unknown\";\n\nexport interface Attr {\n id: string;\n name: string;\n candidates?: unknown[];\n metricKey?: string;\n unit?: string;\n}\n\nexport interface MetricGroup {\n group: string;\n metrics: string[];\n counter?: string;\n}\n\nexport interface ObjectInfo {\n attrList: Attr[];\n metricGroups: MetricGroup[];\n}\n\nexport interface ContainerOption {\n label: string;\n value: string;\n settings?: unknown;\n prefer?: boolean;\n}\n\ninterface ListWithPagination {\n list: DatumWithObjectId[];\n page: number;\n total: number;\n pageSize?: number;\n page_size?: number;\n}\n\ninterface DatumWithObjectId {\n _object_id: string;\n time?: number;\n}\n\ninterface ModelObject {\n attrList: ModelAttr[];\n parentObjectIds?: string[];\n metricGroups?: MetricGroup[];\n}\n\ninterface ModelAttr {\n id: string;\n name: string;\n generatedView?: ModelAttrGeneratedView[];\n}\n\ninterface ModelAttrGeneratedView {\n list?: unknown[];\n}\n\nexport async function getConfigByDataForAi(\n data: Data | undefined | null\n): Promise<Config> {\n if (data?.value == null) {\n return null;\n }\n\n const { value } = data;\n\n let datum: DatumWithObjectId | undefined;\n let type: ConfigType = \"unknown\";\n let dataList: unknown[] = [];\n let fields: Record<string, string> | undefined;\n\n // Detect value type\n if (Array.isArray(value)) {\n // It's a list without pagination\n if (value.length > 0) {\n type = \"list\";\n datum = value[0] as DatumWithObjectId;\n dataList = value;\n }\n } else if (isObject(value)) {\n const listValue = value as ListWithPagination;\n if (hasOwnProperty(listValue, \"list\") && Array.isArray(listValue.list)) {\n // It's a list with pagination\n if (listValue.list.length > 0) {\n type =\n hasOwnProperty(listValue, \"page\") &&\n typeof listValue.page === \"number\" &&\n hasOwnProperty(listValue, \"total\") &&\n typeof listValue.total === \"number\"\n ? \"list-with-pagination\"\n : \"list-with-wrapper\";\n datum = listValue.list[0];\n dataList = listValue.list;\n }\n if (\n type === \"list-with-pagination\" &&\n typeof listValue.page_size === \"number\" &&\n typeof listValue.pageSize !== \"number\"\n ) {\n fields = { pageSize: \"page_size\" };\n }\n } else {\n // It's a single object\n type = \"object\";\n datum = value as DatumWithObjectId;\n dataList = [datum];\n }\n }\n\n const keys = new Set<string>();\n for (const item of dataList) {\n if (isObject(item)) {\n for (const key of Object.keys(item)) {\n keys.add(key);\n }\n } else {\n type = \"unknown\";\n break;\n }\n }\n\n let attrList: Attr[] = [];\n let metricGroups: MetricGroup[] = [];\n\n if (\n type !== \"unknown\" &&\n isObject(datum) &&\n hasOwnProperty(datum, \"_object_id\") &&\n typeof datum._object_id === \"string\"\n ) {\n const objectId = datum._object_id;\n\n const isTimeSeries =\n type !== \"object\" &&\n hasOwnProperty(datum, \"time\") &&\n typeof datum.time === \"number\";\n ({ attrList, metricGroups } = await getMergedObjectInfo(\n objectId,\n keys,\n isTimeSeries\n ));\n } else {\n // eslint-disable-next-line no-console\n console.warn(\"Can not detect objectId with data:\", data);\n\n // Fallback to attributes retrieval by data keys\n attrList = [...keys].map((id) => ({ id, name: id }));\n }\n\n if (attrList.length === 0) {\n type = \"unknown\";\n }\n\n return {\n type,\n attrList,\n metricGroups,\n dataList,\n containerOptions: getAvailableContainersByType(type, fields, attrList),\n };\n}\n\nfunction getAvailableContainersByType(\n type: ConfigType,\n fields: Record<string, string> | undefined,\n attrList: Attr[]\n): ContainerOption[] {\n let result: ContainerOption[] = [];\n\n switch (type) {\n case \"list\":\n result = [\n {\n label: \"表格\",\n value: \"table\",\n },\n {\n label: \"卡片列表\",\n value: \"cards\",\n },\n ];\n break;\n case \"list-with-pagination\":\n result = [\n {\n label: \"表格\",\n value: \"table\",\n settings: {\n pagination: true,\n fields,\n },\n },\n {\n label: \"卡片列表\",\n value: \"cards\",\n settings: {\n pagination: true,\n fields,\n },\n },\n ];\n break;\n case \"list-with-wrapper\":\n result = [\n {\n label: \"属性详情\",\n value: \"descriptions\",\n },\n {\n label: \"表格\",\n value: \"table\",\n settings: {\n wrapper: true,\n fields,\n },\n },\n {\n label: \"卡片列表\",\n value: \"cards\",\n settings: {\n wrapper: true,\n },\n },\n ];\n break;\n case \"object\":\n return [\n {\n label: \"属性详情\",\n value: \"descriptions\",\n },\n ];\n default:\n return [];\n }\n\n // Count metrics and non-metrics, prefer to show chart first\n // if there are more metrics than non-metrics\n let metricCount = 0;\n let nonMetricCount = 0;\n for (const attr of attrList) {\n if (attr.metricKey) {\n metricCount++;\n } else {\n nonMetricCount++;\n }\n }\n const settings =\n type === \"list-with-pagination\"\n ? { pagination: true }\n : type === \"list-with-wrapper\"\n ? { wrapper: true }\n : undefined;\n if (metricCount > 0) {\n result.push({\n label: \"图表\",\n value: \"chart\",\n settings,\n prefer: metricCount > nonMetricCount && metricCount < 6,\n });\n }\n if (metricCount > 1) {\n result.push({\n label: \"组合图表\",\n value: \"grouped-chart\",\n settings,\n prefer: metricCount > nonMetricCount && metricCount >= 6,\n });\n }\n return result;\n}\n\nasync function getMergedObjectInfo(\n objectIdWithNamespace: string,\n keys: Set<string>,\n isTimeSeries: boolean\n): Promise<ObjectInfo> {\n const attrList: Attr[] = [];\n const metricGroups: MetricGroup[] = [];\n\n const [objectId, namespace] = objectIdWithNamespace.split(\"@\");\n\n const { list } = (await InstanceApi_postSearchV3(\"MODEL_OBJECT\", {\n fields: [\n \"name\",\n \"objectId\",\n \"attrList.id\",\n \"attrList.name\",\n \"attrList.generatedView.list\",\n \"parentObjectIds\",\n \"metricGroups\",\n ],\n query: {\n objectId,\n ignore: { $ne: true },\n ...(namespace\n ? { \"space.name\": namespace }\n : { space: { $exists: false } }),\n },\n page: 1,\n })) as { list: ModelObject[] };\n\n if (list.length === 0) {\n // eslint-disable-next-line no-console\n console.warn(\"Can not find object by objectId:\", objectIdWithNamespace);\n } else {\n const { attrList: attrs, parentObjectIds, metricGroups: groups } = list[0];\n\n if (parentObjectIds?.length) {\n const parents = await Promise.all(\n parentObjectIds.map((parentId) =>\n getMergedObjectInfo(parentId, keys, isTimeSeries)\n )\n );\n\n for (const parent of parents) {\n attrList.push(...parent.attrList);\n metricGroups.push(...parent.metricGroups);\n }\n }\n\n attrList.push(\n ...attrs\n .map<Attr>((attr) =>\n keys.has(attr.id)\n ? {\n id: attr.id,\n name: attr.name,\n candidates: attr.generatedView?.[0]?.list,\n }\n : null\n )\n .filter(Boolean)\n );\n if (groups?.length) {\n metricGroups.push(...groups);\n }\n\n if (isTimeSeries) {\n const { list: metrics } = (await InstanceApi_postSearchV3(\n \"_COLLECTOR_ALIAS_METRIC\",\n {\n fields: [\"name\", \"displayName\", \"unit\", \"dataType\"],\n page_size: 3000,\n query: {\n dataType: {\n $ne: \"string\",\n },\n objectId: objectIdWithNamespace,\n },\n sort: [\n {\n key: \"name\",\n order: 1,\n },\n ],\n }\n )) as { list: Metric[] };\n\n attrList.push(\n ...metrics\n .map<Attr>((metric) => {\n const hasMetricName =\n metric.displayName && keys.has(metric.displayName);\n return hasMetricName || keys.has(metric.name)\n ? {\n id: metric.name,\n name: metric.displayName,\n metricKey: hasMetricName ? metric.displayName : metric.name,\n unit: metric.unit,\n candidates: generateMetricCandidates(metric),\n }\n : null;\n })\n .filter(Boolean)\n );\n }\n }\n\n return { attrList, metricGroups };\n}\n\ncustomElements.define(\n \"visual-builder.get-config-by-data-for-ai\",\n createProviderClass(getConfigByDataForAi)\n);\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 搜索实例V3 (支持多属性排序)\n * @endpoint POST /v3/object/:objectId/instance/_search\n */\nexport var InstanceApi_postSearchV3 = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (objectId, data, options) {\n return (/**! @contract easyops.api.cmdb.instance.PostSearchV3@1.1.0 */(yield http.post(\"api/gateway/cmdb.instance.PostSearchV3/v3/object/\".concat(objectId, \"/instance/_search\"), data, options)).data\n );\n });\n return function InstanceApi_postSearchV3(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=postSearchV3.js.map","import type { MetricVisualConfig } from \"./raw-metric-interfaces\";\n\nexport interface Metric {\n name: string;\n displayName?: string;\n unit?: string;\n dataType?: \"long\" | \"double\";\n}\n\nexport function generateMetricCandidates(metric: Metric): MetricVisualConfig[] {\n const configList: MetricVisualConfig[] = [];\n for (let i = -1; i < 3; i++) {\n const isPercentBase1 = metric.unit === \"percent(1)\";\n const isPercentBase100 =\n metric.unit === \"percent(100)\" || metric.unit === \"%\";\n\n const size = i <= 0 ? \"small\" : i === 1 ? \"medium\" : \"large\";\n\n if (isPercentBase1 || isPercentBase100 || i >= 0) {\n const chartType = i === -1 ? \"gauge\" : i === 2 ? \"area\" : \"line\";\n\n configList.push({\n visualWeight: i,\n // color: \"orange\",\n chartType,\n size,\n min: 0,\n precision:\n isPercentBase1 || isPercentBase100\n ? 1\n : metric.dataType === \"double\"\n ? 2\n : 0,\n });\n }\n }\n return configList;\n}\n"],"names":["async","getConfigByDataForAi","data","value","datum","fields","type","dataList","Array","isArray","length","isObject","listValue","hasOwnProperty","list","page","total","page_size","pageSize","keys","Set","item","key","Object","add","attrList","metricGroups","_object_id","objectId","isTimeSeries","time","getMergedObjectInfo","console","warn","map","id","name","containerOptions","getAvailableContainersByType","result","label","settings","pagination","wrapper","metricCount","nonMetricCount","attr","metricKey","undefined","push","prefer","objectIdWithNamespace","namespace","split","InstanceApi_postSearchV3","query","ignore","$ne","space","$exists","attrs","parentObjectIds","groups","parents","Promise","all","parentId","parent","_attr$generatedView","has","candidates","generatedView","filter","Boolean","metrics","dataType","sort","order","metric","hasMetricName","displayName","unit","generateMetricCandidates","customElements","define","createProviderClass","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","done","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","_ref","options","http","post","concat","_x","_x2","_x3","configList","i","isPercentBase1","isPercentBase100","size","chartType","visualWeight","min","precision"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/get-config-by-data-for-ai.8f826b9c.js","mappings":"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","sources":["webpack:///./src/data-providers/get-config-by-data-for-ai.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@next-api-sdk/cmdb-sdk/dist/esm/api/cmdb/instance/postSearchV3.js","webpack:///./src/raw-metric-preview/generateMetricCandidates.ts"],"sourcesContent":["import { createProviderClass, hasOwnProperty } from \"@next-core/utils/general\";\nimport { InstanceApi_postSearchV3 } from \"@next-api-sdk/cmdb-sdk\";\nimport { isObject } from \"lodash\";\nimport {\n generateMetricCandidates,\n type Metric,\n} from \"../raw-metric-preview/generateMetricCandidates\";\n\nexport interface Data {\n name: string;\n value: unknown;\n}\n\nexport type Config = NormalConfig | UnknownConfig;\n\nexport interface NormalConfig {\n type: ConfigType;\n attrList: Attr[];\n metricGroups: MetricGroup[];\n dataList: unknown[];\n containerOptions?: ContainerOption[];\n}\n\nexport interface UnknownConfig {\n type: \"unknown\";\n error: string;\n}\n\nexport interface Options {\n dataType?: \"context\" | \"state\";\n}\n\nexport type ConfigType =\n | \"list\"\n | \"list-with-pagination\"\n | \"list-with-wrapper\"\n | \"object\"\n | \"unknown\";\n\nexport interface Attr {\n id: string;\n name: string;\n candidates?: unknown[];\n metricKey?: string;\n unit?: string;\n}\n\nexport interface MetricGroup {\n group: string;\n metrics: string[];\n counter?: string;\n}\n\nexport interface ObjectInfo {\n attrList: Attr[];\n metricGroups: MetricGroup[];\n}\n\nexport interface ContainerOption {\n label: string;\n value: string;\n settings?: unknown;\n prefer?: boolean;\n}\n\ninterface ListWithPagination {\n list: DatumWithObjectId[];\n page: number;\n total: number;\n pageSize?: number;\n page_size?: number;\n}\n\ninterface DatumWithObjectId {\n _object_id: string;\n time?: number;\n}\n\ninterface ModelObject {\n attrList: ModelAttr[];\n parentObjectIds?: string[];\n metricGroups?: MetricGroup[];\n}\n\ninterface ModelAttr {\n id: string;\n name: string;\n generatedView?: ModelAttrGeneratedView[];\n}\n\ninterface ModelAttrGeneratedView {\n list?: unknown[];\n}\n\nexport async function getConfigByDataForAi(\n data: Data | undefined | null\n): Promise<Config> {\n if (data?.value == null) {\n return null;\n }\n\n const { value } = data;\n\n let datum: DatumWithObjectId | undefined;\n let type: ConfigType = \"unknown\";\n let dataList: unknown[] = [];\n let fields: Record<string, string> | undefined;\n\n // Detect value type\n if (Array.isArray(value)) {\n // It's a list without pagination\n if (value.length > 0) {\n type = \"list\";\n datum = value[0] as DatumWithObjectId;\n dataList = value;\n }\n } else if (isObject(value)) {\n const listValue = value as ListWithPagination;\n if (hasOwnProperty(listValue, \"list\") && Array.isArray(listValue.list)) {\n // It's a list with pagination\n if (listValue.list.length > 0) {\n type =\n hasOwnProperty(listValue, \"page\") &&\n typeof listValue.page === \"number\" &&\n hasOwnProperty(listValue, \"total\") &&\n typeof listValue.total === \"number\"\n ? \"list-with-pagination\"\n : \"list-with-wrapper\";\n datum = listValue.list[0];\n dataList = listValue.list;\n }\n if (\n type === \"list-with-pagination\" &&\n typeof listValue.page_size === \"number\" &&\n typeof listValue.pageSize !== \"number\"\n ) {\n fields = { pageSize: \"page_size\" };\n }\n } else {\n // It's a single object\n type = \"object\";\n datum = value as DatumWithObjectId;\n dataList = [datum];\n }\n }\n\n const keys = new Set<string>();\n for (const item of dataList) {\n if (isObject(item)) {\n for (const key of Object.keys(item)) {\n keys.add(key);\n }\n } else {\n type = \"unknown\";\n break;\n }\n }\n\n let attrList: Attr[] = [];\n let metricGroups: MetricGroup[] = [];\n\n if (\n type !== \"unknown\" &&\n isObject(datum) &&\n hasOwnProperty(datum, \"_object_id\") &&\n typeof datum._object_id === \"string\"\n ) {\n const objectId = datum._object_id;\n\n const isTimeSeries =\n type !== \"object\" &&\n hasOwnProperty(datum, \"time\") &&\n typeof datum.time === \"number\";\n ({ attrList, metricGroups } = await getMergedObjectInfo(\n objectId,\n keys,\n isTimeSeries\n ));\n } else {\n // eslint-disable-next-line no-console\n console.warn(\"Can not detect objectId with data:\", data);\n\n // Fallback to attributes retrieval by data keys\n attrList = [...keys].map((id) => ({ id, name: id }));\n }\n\n if (attrList.length === 0) {\n type = \"unknown\";\n }\n\n return {\n type,\n attrList,\n metricGroups,\n dataList,\n containerOptions: getAvailableContainersByType(type, fields, attrList),\n };\n}\n\nfunction getAvailableContainersByType(\n type: ConfigType,\n fields: Record<string, string> | undefined,\n attrList: Attr[]\n): ContainerOption[] {\n let result: ContainerOption[] = [];\n\n switch (type) {\n case \"list\":\n result = [\n {\n label: \"表格\",\n value: \"table\",\n },\n {\n label: \"卡片列表\",\n value: \"cards\",\n },\n ];\n break;\n case \"list-with-pagination\":\n result = [\n {\n label: \"表格\",\n value: \"table\",\n settings: {\n pagination: true,\n fields,\n },\n },\n {\n label: \"卡片列表\",\n value: \"cards\",\n settings: {\n pagination: true,\n fields,\n },\n },\n ];\n break;\n case \"list-with-wrapper\":\n result = [\n {\n label: \"属性详情\",\n value: \"descriptions\",\n },\n {\n label: \"表格\",\n value: \"table\",\n settings: {\n wrapper: true,\n fields,\n },\n },\n {\n label: \"卡片列表\",\n value: \"cards\",\n settings: {\n wrapper: true,\n },\n },\n ];\n break;\n case \"object\":\n return [\n {\n label: \"属性详情\",\n value: \"descriptions\",\n },\n ];\n default:\n return [];\n }\n\n // Count metrics and non-metrics, prefer to show chart first\n // if there are more metrics than non-metrics\n let metricCount = 0;\n let nonMetricCount = 0;\n for (const attr of attrList) {\n if (attr.metricKey) {\n metricCount++;\n } else {\n nonMetricCount++;\n }\n }\n const settings =\n type === \"list-with-pagination\"\n ? { pagination: true }\n : type === \"list-with-wrapper\"\n ? { wrapper: true }\n : undefined;\n if (metricCount > 0) {\n result.push({\n label: \"图表\",\n value: \"chart\",\n settings,\n prefer: metricCount > nonMetricCount && metricCount < 6,\n });\n }\n if (metricCount > 1) {\n result.push({\n label: \"组合图表\",\n value: \"grouped-chart\",\n settings,\n prefer: metricCount > nonMetricCount && metricCount >= 6,\n });\n }\n return result;\n}\n\nasync function getMergedObjectInfo(\n objectIdWithNamespace: string,\n keys: Set<string>,\n isTimeSeries: boolean\n): Promise<ObjectInfo> {\n const attrList: Attr[] = [];\n const metricGroups: MetricGroup[] = [];\n\n const [objectId, namespace] = objectIdWithNamespace.split(\"@\");\n\n const { list } = (await InstanceApi_postSearchV3(\"MODEL_OBJECT\", {\n fields: [\n \"name\",\n \"objectId\",\n \"attrList.id\",\n \"attrList.name\",\n \"attrList.generatedView.list\",\n \"parentObjectIds\",\n \"metricGroups\",\n ],\n query: {\n objectId,\n ignore: { $ne: true },\n ...(namespace\n ? { \"space.name\": namespace }\n : { space: { $exists: false } }),\n },\n page: 1,\n })) as { list: ModelObject[] };\n\n if (list.length === 0) {\n // eslint-disable-next-line no-console\n console.warn(\"Can not find object by objectId:\", objectIdWithNamespace);\n } else {\n const { attrList: attrs, parentObjectIds, metricGroups: groups } = list[0];\n\n if (parentObjectIds?.length) {\n const parents = await Promise.all(\n parentObjectIds.map((parentId) =>\n getMergedObjectInfo(parentId, keys, isTimeSeries)\n )\n );\n\n for (const parent of parents) {\n attrList.push(...parent.attrList);\n metricGroups.push(...parent.metricGroups);\n }\n }\n\n attrList.push(\n ...attrs\n .map<Attr>((attr) =>\n keys.has(attr.id)\n ? {\n id: attr.id,\n name: attr.name,\n candidates: attr.generatedView?.[0]?.list,\n }\n : null\n )\n .filter(Boolean)\n );\n if (groups?.length) {\n metricGroups.push(...groups);\n }\n\n if (isTimeSeries) {\n const { list: metrics } = (await InstanceApi_postSearchV3(\n \"_COLLECTOR_ALIAS_METRIC\",\n {\n fields: [\"name\", \"displayName\", \"unit\", \"dataType\"],\n page_size: 3000,\n query: {\n dataType: {\n $ne: \"string\",\n },\n objectId: objectIdWithNamespace,\n },\n sort: [\n {\n key: \"name\",\n order: 1,\n },\n ],\n }\n )) as { list: Metric[] };\n\n attrList.push(\n ...metrics\n .map<Attr>((metric) => {\n const hasMetricName =\n metric.displayName && keys.has(metric.displayName);\n return hasMetricName || keys.has(metric.name)\n ? {\n id: metric.name,\n name: metric.displayName,\n metricKey: hasMetricName ? metric.displayName : metric.name,\n unit: metric.unit,\n candidates: generateMetricCandidates(metric),\n }\n : null;\n })\n .filter(Boolean)\n );\n }\n }\n\n return { attrList, metricGroups };\n}\n\ncustomElements.define(\n \"visual-builder.get-config-by-data-for-ai\",\n createProviderClass(getConfigByDataForAi)\n);\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 搜索实例V3 (支持多属性排序)\n * @endpoint POST /v3/object/:objectId/instance/_search\n */\nexport var InstanceApi_postSearchV3 = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (objectId, data, options) {\n return (/**! @contract easyops.api.cmdb.instance.PostSearchV3@1.1.0 */(yield http.post(\"api/gateway/cmdb.instance.PostSearchV3/v3/object/\".concat(objectId, \"/instance/_search\"), data, options)).data\n );\n });\n return function InstanceApi_postSearchV3(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=postSearchV3.js.map","import type { MetricVisualConfig } from \"./raw-metric-interfaces\";\n\nexport interface Metric {\n name: string;\n displayName?: string;\n unit?: string;\n dataType?: \"long\" | \"double\";\n}\n\nexport function generateMetricCandidates(metric: Metric): MetricVisualConfig[] {\n const configList: MetricVisualConfig[] = [];\n for (let i = -1; i < 3; i++) {\n const isPercentBase1 = metric.unit === \"percent(1)\";\n const isPercentBase100 =\n metric.unit === \"percent(100)\" || metric.unit === \"%\";\n\n const size = i <= 0 ? \"small\" : i === 1 ? \"medium\" : \"large\";\n\n if (isPercentBase1 || isPercentBase100 || i >= 0) {\n const chartType = i === -1 ? \"gauge\" : i === 2 ? \"area\" : \"line\";\n\n configList.push({\n visualWeight: i,\n // color: \"orange\",\n chartType,\n size,\n min: 0,\n precision:\n isPercentBase1 || isPercentBase100\n ? 1\n : metric.dataType === \"double\"\n ? 2\n : 0,\n });\n }\n }\n return configList;\n}\n"],"names":["async","getConfigByDataForAi","data","value","datum","fields","type","dataList","Array","isArray","length","isObject","listValue","hasOwnProperty","list","page","total","page_size","pageSize","keys","Set","item","key","Object","add","attrList","metricGroups","_object_id","objectId","isTimeSeries","time","getMergedObjectInfo","console","warn","map","id","name","containerOptions","getAvailableContainersByType","result","label","settings","pagination","wrapper","metricCount","nonMetricCount","attr","metricKey","undefined","push","prefer","objectIdWithNamespace","namespace","split","InstanceApi_postSearchV3","query","ignore","$ne","space","$exists","attrs","parentObjectIds","groups","parents","Promise","all","parentId","parent","_attr$generatedView","has","candidates","generatedView","filter","Boolean","metrics","dataType","sort","order","metric","hasMetricName","displayName","unit","generateMetricCandidates","customElements","define","createProviderClass","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","done","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","_ref","options","http","post","concat","_x","_x2","_x3","configList","i","isPercentBase1","isPercentBase100","size","chartType","visualWeight","min","precision"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_visual_builder=globalThis.webpackChunk_next_bricks_visual_builder||[]).push([[281],{2651:(e,s,t)=>{t.r(s),t.d(s,{getDataDependency:()=>r});var a=t(
|
|
2
|
-
//# sourceMappingURL=get-data-deps.
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_visual_builder=globalThis.webpackChunk_next_bricks_visual_builder||[]).push([[281],{2651:(e,s,t)=>{t.r(s),t.d(s,{getDataDependency:()=>r});var a=t(4427),l=t(2105);function r(e,s){const t=new Map;for(const a of e){const e=(0,l.collectMemberUsage)([a.if,a.value,a.resolve],s);t.set(a,e)}return t}customElements.define("visual-builder.get-data-deps",(0,a.createProviderClass)(r))}}]);
|
|
2
|
+
//# sourceMappingURL=get-data-deps.f9ee2770.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/get-data-deps.
|
|
1
|
+
{"version":3,"file":"chunks/get-data-deps.f9ee2770.js","mappings":"qNAIO,SAASA,EACdC,EACAC,GAEA,MAAMC,EAAU,IAAIC,IAEpB,IAAK,MAAMC,KAAeJ,EAAc,CACtC,MAAMK,GAAQC,EAAAA,EAAAA,oBACZ,CAACF,EAAYG,GAAIH,EAAYI,MAAOJ,EAAYK,SAChDR,GAEFC,EAAQQ,IAAIN,EAAaC,EAC3B,CAEA,OAAOH,CACT,CAEAS,eAAeC,OACb,gCACAC,EAAAA,EAAAA,qBAAoBd,G","sources":["webpack:///./src/data-providers/get-data-dependency.ts"],"sourcesContent":["import { createProviderClass } from \"@next-core/utils/general\";\nimport { collectMemberUsage, MemberUsage } from \"@next-core/utils/storyboard\";\nimport { ContextConf } from \"@next-core/types\";\n\nexport function getDataDependency(\n contextConfs: ContextConf[],\n keyword: string\n): Map<ContextConf, MemberUsage> {\n const depsMap = new Map<ContextConf, MemberUsage>();\n\n for (const contextConf of contextConfs) {\n const stats = collectMemberUsage(\n [contextConf.if, contextConf.value, contextConf.resolve],\n keyword\n );\n depsMap.set(contextConf, stats);\n }\n\n return depsMap;\n}\n\ncustomElements.define(\n \"visual-builder.get-data-deps\",\n createProviderClass(getDataDependency)\n);\n"],"names":["getDataDependency","contextConfs","keyword","depsMap","Map","contextConf","stats","collectMemberUsage","if","value","resolve","set","customElements","define","createProviderClass"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_visual_builder=globalThis.webpackChunk_next_bricks_visual_builder||[]).push([[281,4426],{2651:(e,n,t)=>{t.r(n),t.d(n,{getDataDependency:()=>o});var s=t(
|
|
2
|
-
//# sourceMappingURL=get-dependency-tree.
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_visual_builder=globalThis.webpackChunk_next_bricks_visual_builder||[]).push([[281,4426],{2651:(e,n,t)=>{t.r(n),t.d(n,{getDataDependency:()=>o});var s=t(4427),r=t(2105);function o(e,n){const t=new Map;for(const s of e){const e=(0,r.collectMemberUsage)([s.if,s.value,s.resolve],n);t.set(s,e)}return t}customElements.define("visual-builder.get-data-deps",(0,s.createProviderClass)(o))},6573:(e,n,t)=>{t.r(n),t.d(n,{getDependencyTree:()=>a});var s=t(4427),r=t(2651),o=t(1030);function d(e,n){e.forEach((t=>{!function(e,n){var t;const{dependencyList:s,nodeList:r,parents:a,result:c}=n,i=(0,o.cloneDeep)(e);c.push(i);const u=s.find((e=>e.node.key===i.key));if(null!==(t=u.deps)&&void 0!==t&&t.length&&!a.some((e=>e.key===i.key))){const e=i.children=[];!function(e,n){const t=[];e.deps.forEach((e=>{const s=n.nodeList.filter((n=>n.name===e));t.push(...s)})),d(t,n)}(u,{dependencyList:s,nodeList:r,parents:[...a,i],result:e})}}(t,{...n,nodeList:e})}))}function a(e,n){const t=e,s=(0,r.getDataDependency)(t.map((e=>e.data)),n.dataType),o=[];for(const[e,n]of s)o.push({deps:Array.from(n.usedProperties),node:t.find((n=>n.data===e))});const a=[];return d(t,{result:a,dependencyList:o,parents:[]}),a}customElements.define("visual-builder.get-dependency-tree",(0,s.createProviderClass)(a))}}]);
|
|
2
|
+
//# sourceMappingURL=get-dependency-tree.8977b6ec.js.map
|
package/dist/chunks/{get-dependency-tree.52423efa.js.map → get-dependency-tree.8977b6ec.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/get-dependency-tree.
|
|
1
|
+
{"version":3,"file":"chunks/get-dependency-tree.8977b6ec.js","mappings":"0NAIO,SAASA,EACdC,EACAC,GAEA,MAAMC,EAAU,IAAIC,IAEpB,IAAK,MAAMC,KAAeJ,EAAc,CACtC,MAAMK,GAAQC,EAAAA,EAAAA,oBACZ,CAACF,EAAYG,GAAIH,EAAYI,MAAOJ,EAAYK,SAChDR,GAEFC,EAAQQ,IAAIN,EAAaC,EAC3B,CAEA,OAAOH,CACT,CAEAS,eAAeC,OACb,gCACAC,EAAAA,EAAAA,qBAAoBd,G,2FCUtB,SAASe,EAAgBC,EAAsBC,GAC7CD,EAASE,SAASC,KAKpB,SAAyBC,EAAoBH,GAAsB,IAAAI,EACjE,MAAM,eAAEC,EAAc,SAAEN,EAAQ,QAAEO,EAAO,OAAEC,GAAWP,EAEhDQ,GAAOC,EAAAA,EAAAA,WAAUN,GACvBI,EAAOG,KAAKF,GAEZ,MAAMG,EAAON,EAAeM,MAAMC,GAAQA,EAAIV,KAAKW,MAAQL,EAAKK,MAEhE,GAAa,QAATT,EAAAO,EAAKG,YAAI,IAAAV,GAATA,EAAWW,SAAWT,EAAQU,MAAMC,GAASA,EAAKJ,MAAQL,EAAKK,MAAM,CACvE,MAAMK,EAAYV,EAAKU,SAAW,IAUtC,SAAyBC,EAAoBnB,GAC3C,MAAMoB,EAAW,GAEjBD,EAASL,KAAKb,SAASoB,IAErB,MAAMC,EAAUtB,EAAQD,SAASwB,QAAQN,GAASA,EAAKI,OAASA,IAChED,EAASV,QAAQY,EAAQ,IAG3BxB,EAAgBsB,EAAUpB,EAC5B,CAnBIwB,CAAgBb,EAAM,CACpBN,iBACAN,WACAO,QAAS,IAAIA,EAASE,GACtBD,OAAQW,GAEZ,CACF,CArBIO,CAAgBvB,EAAM,IAAKF,EAASD,YAAW,GAEnD,CAiCO,SAAS2B,EACdC,EACA3B,GAIA,MAAMD,EAAW4B,EACXC,GAAgB7C,EAAAA,EAAAA,mBACpBgB,EAAS8B,KAAKZ,GAASA,EAAKT,OAC5BR,EAAQ8B,UAGJzB,EAAiB,GACvB,IAAK,MAAO0B,EAASvC,KAAUoC,EAC7BvB,EAAeK,KAAK,CAClBI,KAAMkB,MAAMC,KAAKzC,EAAM0C,gBACvBhC,KAAMH,EAASY,MAAMT,GAASA,EAAKM,OAASuB,MAIhD,MAAMxB,EAAS,GAQf,OANAT,EAAgBC,EAAU,CACxBQ,SACAF,iBACAC,QAAS,KAGJC,CACT,CAEAZ,eAAeC,OACb,sCACAC,EAAAA,EAAAA,qBAAoB6B,G","sources":["webpack:///./src/data-providers/get-data-dependency.ts","webpack:///./src/data-providers/get-dependency-tree.ts"],"sourcesContent":["import { createProviderClass } from \"@next-core/utils/general\";\nimport { collectMemberUsage, MemberUsage } from \"@next-core/utils/storyboard\";\nimport { ContextConf } from \"@next-core/types\";\n\nexport function getDataDependency(\n contextConfs: ContextConf[],\n keyword: string\n): Map<ContextConf, MemberUsage> {\n const depsMap = new Map<ContextConf, MemberUsage>();\n\n for (const contextConf of contextConfs) {\n const stats = collectMemberUsage(\n [contextConf.if, contextConf.value, contextConf.resolve],\n keyword\n );\n depsMap.set(contextConf, stats);\n }\n\n return depsMap;\n}\n\ncustomElements.define(\n \"visual-builder.get-data-deps\",\n createProviderClass(getDataDependency)\n);\n","import { ContextConf } from \"@next-core/types\";\nimport { createProviderClass } from \"@next-core/utils/general\";\nimport { MenuIcon } from \"@next-shared/general/types\";\nimport { getDataDependency } from \"./get-data-dependency\";\nimport { cloneDeep } from \"lodash\";\n\ninterface DataItem extends ContextConf {\n $key?: string;\n path?: string;\n}\n\ninterface NodeItem {\n name: string;\n key: string;\n path?: string;\n icon?: MenuIcon;\n data?: DataItem;\n unreachable?: boolean;\n children?: NodeItem[];\n}\n\ninterface DepsItem {\n deps: string[];\n node: NodeItem;\n}\n\ninterface DepsOptions {\n nodeList?: NodeItem[];\n dependencyList: DepsItem[];\n parents?: NodeItem[];\n result?: NodeItem[];\n}\n\nfunction processNodeList(nodeList: NodeItem[], options: DepsOptions) {\n nodeList.forEach((node) => {\n processNodeItem(node, { ...options, nodeList });\n });\n}\n\nfunction processNodeItem(nodeItem: NodeItem, options: DepsOptions) {\n const { dependencyList, nodeList, parents, result } = options;\n\n const data = cloneDeep(nodeItem);\n result.push(data);\n\n const find = dependencyList.find((dep) => dep.node.key === data.key);\n\n if (find.deps?.length && !parents.some((item) => item.key === data.key)) {\n const children = (data.children = []) as NodeItem[];\n processDataDeps(find, {\n dependencyList,\n nodeList,\n parents: [...parents, data],\n result: children,\n });\n }\n}\n\nfunction processDataDeps(depsData: DepsItem, options: DepsOptions) {\n const collects = [] as NodeItem[];\n\n depsData.deps.forEach((name) => {\n // 有可能存在同名的两个数据,一起展示\n const matches = options.nodeList.filter((item) => item.name === name);\n collects.push(...matches);\n });\n\n processNodeList(collects, options);\n}\n\nexport function getDependencyTree(\n nodeDataList: NodeItem[],\n options: {\n dataType: string;\n }\n): NodeItem[] {\n const nodeList = nodeDataList;\n const dependencyMap = getDataDependency(\n nodeList.map((item) => item.data),\n options.dataType\n );\n\n const dependencyList = [] as DepsItem[];\n for (const [curData, value] of dependencyMap) {\n dependencyList.push({\n deps: Array.from(value.usedProperties),\n node: nodeList.find((node) => node.data === curData),\n });\n }\n\n const result = [] as NodeItem[];\n\n processNodeList(nodeList, {\n result,\n dependencyList,\n parents: [],\n });\n\n return result;\n}\n\ncustomElements.define(\n \"visual-builder.get-dependency-tree\",\n createProviderClass(getDependencyTree)\n);\n"],"names":["getDataDependency","contextConfs","keyword","depsMap","Map","contextConf","stats","collectMemberUsage","if","value","resolve","set","customElements","define","createProviderClass","processNodeList","nodeList","options","forEach","node","nodeItem","_find$deps","dependencyList","parents","result","data","cloneDeep","push","find","dep","key","deps","length","some","item","children","depsData","collects","name","matches","filter","processDataDeps","processNodeItem","getDependencyTree","nodeDataList","dependencyMap","map","dataType","curData","Array","from","usedProperties"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_visual_builder=globalThis.webpackChunk_next_bricks_visual_builder||[]).push([[7031],{5457:(e,t,s)=>{s.r(t),s.d(t,{getRawDataSystemPrompts:()=>m});var r=s(
|
|
2
|
-
//# sourceMappingURL=get-raw-data-system-prompts.
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_visual_builder=globalThis.webpackChunk_next_bricks_visual_builder||[]).push([[7031],{5457:(e,t,s)=>{s.r(t),s.d(t,{getRawDataSystemPrompts:()=>m});var r=s(4427),a=s(3084),u=s(7710),i=s(5799),l=s(4671),n=s(8397),b=s(3404),o=s(3287),c=s(76);function m(){return{boolean:a,"date-time":u,enum:i,number:l,others:n,"struct-list":b,struct:o,json:c}}customElements.define("visual-builder.get-raw-data-system-prompts",(0,r.createProviderClass)(m))}}]);
|
|
2
|
+
//# sourceMappingURL=get-raw-data-system-prompts.3a7aaa58.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/get-raw-data-system-prompts.
|
|
1
|
+
{"version":3,"file":"chunks/get-raw-data-system-prompts.3a7aaa58.js","mappings":"gSAWO,SAASA,IACd,MAAO,CACLC,QAASC,EACT,YAAaC,EACbC,KAAMC,EACNC,OAAQC,EACRC,OAAQC,EACR,cAAeC,EACfC,OAAQC,EACRC,KAAMC,EAEV,CAEAC,eAAeC,OACb,8CACAC,EAAAA,EAAAA,qBAAoBjB,G","sources":["webpack:///./src/data-providers/get-raw-data-system-prompts.ts"],"sourcesContent":["// istanbul ignore file\nimport { createProviderClass } from \"@next-core/utils/general\";\nimport promptOfBoolean from \"./prompts/raw-data-boolean.md\";\nimport promptOfDateTime from \"./prompts/raw-data-date-time.md\";\nimport promptOfEnum from \"./prompts/raw-data-enum.md\";\nimport promptOfNumber from \"./prompts/raw-data-number.md\";\nimport promptOfOthers from \"./prompts/raw-data-others.md\";\nimport promptOfStructList from \"./prompts/raw-data-struct-list.md\";\nimport promptOfStruct from \"./prompts/raw-data-struct.md\";\nimport promptOfJson from \"./prompts/raw-data-json.md\";\n\nexport function getRawDataSystemPrompts(): Record<string, string> {\n return {\n boolean: promptOfBoolean,\n \"date-time\": promptOfDateTime,\n enum: promptOfEnum,\n number: promptOfNumber,\n others: promptOfOthers,\n \"struct-list\": promptOfStructList,\n struct: promptOfStruct,\n json: promptOfJson,\n };\n}\n\ncustomElements.define(\n \"visual-builder.get-raw-data-system-prompts\",\n createProviderClass(getRawDataSystemPrompts)\n);\n"],"names":["getRawDataSystemPrompts","boolean","promptOfBoolean","promptOfDateTime","enum","promptOfEnum","number","promptOfNumber","others","promptOfOthers","promptOfStructList","struct","promptOfStruct","json","promptOfJson","customElements","define","createProviderClass"],"sourceRoot":""}
|
package/dist/chunks/{inject-chat-preview-agent.db7f95da.js → inject-chat-preview-agent.738f2dd6.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_visual_builder=globalThis.webpackChunk_next_bricks_visual_builder||[]).push([[1040],{4839:(e,t,n)=>{n.r(t),n.d(t,{injectChatPreviewAgent:()=>l});var o=n(
|
|
2
|
-
//# sourceMappingURL=inject-chat-preview-agent.
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_visual_builder=globalThis.webpackChunk_next_bricks_visual_builder||[]).push([[1040],{4839:(e,t,n)=>{n.r(t),n.d(t,{injectChatPreviewAgent:()=>l});var o=n(4427),i=n(9123);let a=!1;async function l(){a||(a=!0,n.e(2201).then(n.bind(n,2201)),s({type:"initialized"}),window.addEventListener("message",(e=>{var t;if("chat-preview"===(null===(t=e.data)||void 0===t?void 0:t.channel))switch(e.data.type){case"toggle-inspecting":(0,i.F)(e.data.payload.inspecting);break;case"select":(0,i.L)(e.data.payload)}})),window.addEventListener("scroll",(()=>{s({type:"scroll",payload:{x:window.scrollX,y:window.scrollY}})})))}function s(e){window.parent.postMessage({channel:"chat-preview",...e},location.origin)}customElements.define("visual-builder.inject-chat-preview-agent",(0,o.createProviderClass)(l))},9123:(e,t,n)=>{n.d(t,{F:()=>s,L:()=>c});var o=n(1030);let i=!1;const a="item:";let l=null;function s(e){if(i===e)return;i=e;const t=e?"addEventListener":"removeEventListener";window[t]("click",r,!0),window[t]("mousedown",d,!0),window[t]("mouseover",d,!0),window[t]("mouseup",d,!0),window[t]("pointerdown",d,!0),window[t]("pointerover",d,!0),window[t]("pointerup",d,!0),window[t]("pointerleave",w,!0),window[t]("pointermove",u,!0)}function c(e){const t=function(e){const t=[];return function n(o){const i=o.querySelectorAll(`[data-iid="${e}"]`);if(t.push(...i),!(o===document&&i.length>0))for(const e of o.querySelectorAll("*"))e.shadowRoot&&n(e.shadowRoot)}(document),t}(`${e.type}:${e.uuid}`);window.parent.postMessage({channel:"chat-preview",type:"inspect-active",payload:{outlines:t.map((t=>f({...e,element:t,label:g(t)})))}},location.origin)}function r(e){e.preventDefault(),e.stopPropagation(),function(e){const t=h(e.composedPath());window.parent.postMessage({channel:"chat-preview",type:"inspect-active",payload:{outlines:t.map(f)}},location.origin)}(e)}function d(e){e.preventDefault(),e.stopPropagation()}const p=(0,o.debounce)(((e,t,n)=>{let o=h(e);if(0===o.length)for(const i of e)if(i instanceof HTMLElement&&i.shadowRoot){o=h(i.shadowRoot.elementsFromPoint(t,n));break}const i=o.length>0?o[0].element:null;i!==l&&(l=i,window.parent.postMessage({channel:"chat-preview",type:"inspect-hover",payload:{outlines:o.map(f)}},location.origin))}),20,{leading:!0});function u(e){p(e.composedPath(),e.clientX,e.clientY)}function w(e){e.preventDefault(),e.stopPropagation(),l=null,window.parent.postMessage({channel:"chat-preview",type:"inspect-hover",payload:{outlines:[]}},location.origin)}function h(e){const t=[];return e.forEach((e=>{let n;if(e.nodeType===Node.ELEMENT_NODE&&e instanceof HTMLElement&&(n=e.dataset.iid)&&n.startsWith(a)){const o=n.substring(a.length);t.push({type:"item",uuid:o,label:g(e),element:e})}})),t}function f(e){const{element:t,type:n,uuid:o,label:i}=e,{width:a,height:l,left:s,top:c}=t.getBoundingClientRect();return{width:a,height:l,left:s+window.scrollX,top:c+window.scrollY,type:n,uuid:o,label:i}}function g(e){return e.tagName.toLowerCase().split(".").pop()}}}]);
|
|
2
|
+
//# sourceMappingURL=inject-chat-preview-agent.738f2dd6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/inject-chat-preview-agent.db7f95da.js","mappings":"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","sources":["webpack:///./src/data-providers/inject-chat-preview-agent.ts","webpack:///./src/data-providers/chat-preview/inspector.ts"],"sourcesContent":["import { createProviderClass } from \"@next-core/utils/general\";\nimport { select, toggleInspecting } from \"./chat-preview/inspector\";\n\nlet injected = false;\n\nexport async function injectChatPreviewAgent(): Promise<unknown> {\n if (injected) {\n return;\n }\n injected = true;\n import(\"./chat-preview/styles.css\");\n\n sendMessage({ type: \"initialized\" });\n\n window.addEventListener(\"message\", (e) => {\n if (e.data?.channel === \"chat-preview\") {\n switch (e.data.type) {\n case \"toggle-inspecting\":\n toggleInspecting(e.data.payload.inspecting);\n break;\n case \"select\":\n select(e.data.payload);\n break;\n }\n }\n });\n\n window.addEventListener(\"scroll\", () => {\n sendMessage({\n type: \"scroll\",\n payload: {\n x: window.scrollX,\n y: window.scrollY,\n },\n });\n });\n}\n\nfunction sendMessage(message: object) {\n window.parent.postMessage(\n {\n channel: \"chat-preview\",\n ...message,\n },\n location.origin\n );\n}\n\ncustomElements.define(\n \"visual-builder.inject-chat-preview-agent\",\n createProviderClass(injectChatPreviewAgent)\n);\n","// istanbul ignore file: working in progress\n// https://github.com/facebook/react/blob/cae635054e17a6f107a39d328649137b83f25972/packages/react-devtools-shared/src/backend/views/Highlighter/index.js\nimport { debounce } from \"lodash\";\nimport type {\n InspectOutline,\n InspectSelector,\n InspectTarget,\n} from \"./interfaces.js\";\n\nlet isInspecting = false;\nconst IID_ITEM_PREFIX = \"item:\";\nlet currentHoverElement: Element | null = null;\n\nexport function toggleInspecting(inspecting: boolean): void {\n if (isInspecting === inspecting) {\n return;\n }\n isInspecting = inspecting;\n\n const method = inspecting ? \"addEventListener\" : \"removeEventListener\";\n\n window[method](\"click\", onClick as EventListener, true);\n window[method](\"mousedown\", onMouseEvent as EventListener, true);\n window[method](\"mouseover\", onMouseEvent as EventListener, true);\n window[method](\"mouseup\", onMouseEvent as EventListener, true);\n window[method](\"pointerdown\", onMouseEvent as EventListener, true);\n window[method](\"pointerover\", onMouseEvent as EventListener, true);\n window[method](\"pointerup\", onMouseEvent as EventListener, true);\n window[method](\"pointerleave\", onPointerLeave as EventListener, true);\n window[method](\"pointermove\", onPointerMove as EventListener, true);\n}\n\nfunction getElementsIncludingInShadowDOM(\n iid: string,\n isRoot?: boolean\n): HTMLElement[] {\n const elements: HTMLElement[] = [];\n\n function walk(root: Document | ShadowRoot) {\n const candidates = root.querySelectorAll<HTMLElement>(\n isRoot ? iid : `[data-iid=\"${iid}\"]`\n );\n elements.push(...candidates);\n\n // If elements are found in the document, we should stop searching in shadow DOM.\n if (root === document && candidates.length > 0) {\n return;\n }\n\n // These useBrick in v3 bricks will be inside shadow DOM.\n for (const item of root.querySelectorAll(\"*\")) {\n if (item.shadowRoot) {\n walk(item.shadowRoot);\n }\n }\n }\n\n walk(document);\n\n return elements;\n}\n\nexport function select(selector: InspectSelector) {\n const iid = `${selector.type}:${selector.uuid}`;\n const elements = getElementsIncludingInShadowDOM(iid);\n window.parent.postMessage(\n {\n channel: \"chat-preview\",\n type: \"inspect-active\",\n payload: {\n outlines: elements.map((element) =>\n getTargetOutline({ ...selector, element, label: getLabel(element) })\n ),\n },\n },\n location.origin\n );\n}\n\nfunction onClick(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n selectByClick(event);\n}\n\nfunction onMouseEvent(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n}\n\nconst hoverOnTarget = debounce(\n (eventTargets: EventTarget[], clientX: number, clientY: number) => {\n let targets = getPossibleBrickTargets(eventTargets);\n if (targets.length === 0) {\n for (const element of eventTargets) {\n if (element instanceof HTMLElement && element.shadowRoot) {\n targets = getPossibleBrickTargets(\n element.shadowRoot.elementsFromPoint(clientX, clientY)\n );\n break;\n }\n }\n }\n const hoverElement = targets.length > 0 ? targets[0].element : null;\n if (hoverElement !== currentHoverElement) {\n currentHoverElement = hoverElement;\n window.parent.postMessage(\n {\n channel: \"chat-preview\",\n type: \"inspect-hover\",\n payload: {\n outlines: targets.map(getTargetOutline),\n },\n },\n location.origin\n );\n }\n },\n 20,\n { leading: true }\n);\n\nfunction onPointerMove(event: MouseEvent): void {\n // `event.composedPath()` will be unavailable in debounced callback\n hoverOnTarget(event.composedPath(), event.clientX, event.clientY);\n}\n\nfunction onPointerLeave(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n currentHoverElement = null;\n window.parent.postMessage(\n {\n channel: \"chat-preview\",\n type: \"inspect-hover\",\n payload: { outlines: [] },\n },\n location.origin\n );\n}\n\nfunction selectByClick(event: MouseEvent): void {\n const targets = getPossibleBrickTargets(event.composedPath());\n window.parent.postMessage(\n {\n channel: \"chat-preview\",\n type: \"inspect-active\",\n payload: {\n outlines: targets.map(getTargetOutline),\n },\n },\n location.origin\n );\n}\n\nfunction getPossibleBrickTargets(eventTargets: EventTarget[]) {\n const inspectTargets: InspectTarget[] = [];\n eventTargets.forEach((item) => {\n let iid: string | undefined;\n if (\n (item as Node).nodeType === Node.ELEMENT_NODE &&\n item instanceof HTMLElement &&\n (iid = item.dataset.iid) &&\n iid.startsWith(IID_ITEM_PREFIX)\n ) {\n const uuid = iid.substring(IID_ITEM_PREFIX.length);\n inspectTargets.push({\n type: \"item\",\n uuid,\n label: getLabel(item),\n element: item,\n });\n }\n });\n return inspectTargets;\n}\n\nfunction getTargetOutline(target: InspectTarget): InspectOutline {\n const { element, type, uuid, label } = target;\n const { width, height, left, top } = element.getBoundingClientRect();\n return {\n width,\n height,\n left: left + window.scrollX,\n top: top + window.scrollY,\n type,\n uuid,\n label,\n };\n}\n\nfunction getLabel(element: Element) {\n return element.tagName.toLowerCase().split(\".\").pop();\n}\n"],"names":["injected","async","injectChatPreviewAgent","sendMessage","type","window","addEventListener","e","_e$data","data","channel","toggleInspecting","payload","inspecting","select","x","scrollX","y","scrollY","message","parent","postMessage","location","origin","customElements","define","createProviderClass","isInspecting","IID_ITEM_PREFIX","currentHoverElement","method","onClick","onMouseEvent","onPointerLeave","onPointerMove","selector","elements","iid","walk","root","candidates","querySelectorAll","push","document","length","item","shadowRoot","getElementsIncludingInShadowDOM","uuid","outlines","map","element","getTargetOutline","label","getLabel","event","preventDefault","stopPropagation","targets","getPossibleBrickTargets","composedPath","selectByClick","hoverOnTarget","debounce","eventTargets","clientX","clientY","HTMLElement","elementsFromPoint","hoverElement","leading","inspectTargets","forEach","nodeType","Node","ELEMENT_NODE","dataset","startsWith","substring","target","width","height","left","top","getBoundingClientRect","tagName","toLowerCase","split","pop"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/inject-chat-preview-agent.738f2dd6.js","mappings":"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","sources":["webpack:///./src/data-providers/inject-chat-preview-agent.ts","webpack:///./src/data-providers/chat-preview/inspector.ts"],"sourcesContent":["import { createProviderClass } from \"@next-core/utils/general\";\nimport { select, toggleInspecting } from \"./chat-preview/inspector\";\n\nlet injected = false;\n\nexport async function injectChatPreviewAgent(): Promise<unknown> {\n if (injected) {\n return;\n }\n injected = true;\n import(\"./chat-preview/styles.css\");\n\n sendMessage({ type: \"initialized\" });\n\n window.addEventListener(\"message\", (e) => {\n if (e.data?.channel === \"chat-preview\") {\n switch (e.data.type) {\n case \"toggle-inspecting\":\n toggleInspecting(e.data.payload.inspecting);\n break;\n case \"select\":\n select(e.data.payload);\n break;\n }\n }\n });\n\n window.addEventListener(\"scroll\", () => {\n sendMessage({\n type: \"scroll\",\n payload: {\n x: window.scrollX,\n y: window.scrollY,\n },\n });\n });\n}\n\nfunction sendMessage(message: object) {\n window.parent.postMessage(\n {\n channel: \"chat-preview\",\n ...message,\n },\n location.origin\n );\n}\n\ncustomElements.define(\n \"visual-builder.inject-chat-preview-agent\",\n createProviderClass(injectChatPreviewAgent)\n);\n","// istanbul ignore file: working in progress\n// https://github.com/facebook/react/blob/cae635054e17a6f107a39d328649137b83f25972/packages/react-devtools-shared/src/backend/views/Highlighter/index.js\nimport { debounce } from \"lodash\";\nimport type {\n InspectOutline,\n InspectSelector,\n InspectTarget,\n} from \"./interfaces.js\";\n\nlet isInspecting = false;\nconst IID_ITEM_PREFIX = \"item:\";\nlet currentHoverElement: Element | null = null;\n\nexport function toggleInspecting(inspecting: boolean): void {\n if (isInspecting === inspecting) {\n return;\n }\n isInspecting = inspecting;\n\n const method = inspecting ? \"addEventListener\" : \"removeEventListener\";\n\n window[method](\"click\", onClick as EventListener, true);\n window[method](\"mousedown\", onMouseEvent as EventListener, true);\n window[method](\"mouseover\", onMouseEvent as EventListener, true);\n window[method](\"mouseup\", onMouseEvent as EventListener, true);\n window[method](\"pointerdown\", onMouseEvent as EventListener, true);\n window[method](\"pointerover\", onMouseEvent as EventListener, true);\n window[method](\"pointerup\", onMouseEvent as EventListener, true);\n window[method](\"pointerleave\", onPointerLeave as EventListener, true);\n window[method](\"pointermove\", onPointerMove as EventListener, true);\n}\n\nfunction getElementsIncludingInShadowDOM(\n iid: string,\n isRoot?: boolean\n): HTMLElement[] {\n const elements: HTMLElement[] = [];\n\n function walk(root: Document | ShadowRoot) {\n const candidates = root.querySelectorAll<HTMLElement>(\n isRoot ? iid : `[data-iid=\"${iid}\"]`\n );\n elements.push(...candidates);\n\n // If elements are found in the document, we should stop searching in shadow DOM.\n if (root === document && candidates.length > 0) {\n return;\n }\n\n // These useBrick in v3 bricks will be inside shadow DOM.\n for (const item of root.querySelectorAll(\"*\")) {\n if (item.shadowRoot) {\n walk(item.shadowRoot);\n }\n }\n }\n\n walk(document);\n\n return elements;\n}\n\nexport function select(selector: InspectSelector) {\n const iid = `${selector.type}:${selector.uuid}`;\n const elements = getElementsIncludingInShadowDOM(iid);\n window.parent.postMessage(\n {\n channel: \"chat-preview\",\n type: \"inspect-active\",\n payload: {\n outlines: elements.map((element) =>\n getTargetOutline({ ...selector, element, label: getLabel(element) })\n ),\n },\n },\n location.origin\n );\n}\n\nfunction onClick(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n selectByClick(event);\n}\n\nfunction onMouseEvent(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n}\n\nconst hoverOnTarget = debounce(\n (eventTargets: EventTarget[], clientX: number, clientY: number) => {\n let targets = getPossibleBrickTargets(eventTargets);\n if (targets.length === 0) {\n for (const element of eventTargets) {\n if (element instanceof HTMLElement && element.shadowRoot) {\n targets = getPossibleBrickTargets(\n element.shadowRoot.elementsFromPoint(clientX, clientY)\n );\n break;\n }\n }\n }\n const hoverElement = targets.length > 0 ? targets[0].element : null;\n if (hoverElement !== currentHoverElement) {\n currentHoverElement = hoverElement;\n window.parent.postMessage(\n {\n channel: \"chat-preview\",\n type: \"inspect-hover\",\n payload: {\n outlines: targets.map(getTargetOutline),\n },\n },\n location.origin\n );\n }\n },\n 20,\n { leading: true }\n);\n\nfunction onPointerMove(event: MouseEvent): void {\n // `event.composedPath()` will be unavailable in debounced callback\n hoverOnTarget(event.composedPath(), event.clientX, event.clientY);\n}\n\nfunction onPointerLeave(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n currentHoverElement = null;\n window.parent.postMessage(\n {\n channel: \"chat-preview\",\n type: \"inspect-hover\",\n payload: { outlines: [] },\n },\n location.origin\n );\n}\n\nfunction selectByClick(event: MouseEvent): void {\n const targets = getPossibleBrickTargets(event.composedPath());\n window.parent.postMessage(\n {\n channel: \"chat-preview\",\n type: \"inspect-active\",\n payload: {\n outlines: targets.map(getTargetOutline),\n },\n },\n location.origin\n );\n}\n\nfunction getPossibleBrickTargets(eventTargets: EventTarget[]) {\n const inspectTargets: InspectTarget[] = [];\n eventTargets.forEach((item) => {\n let iid: string | undefined;\n if (\n (item as Node).nodeType === Node.ELEMENT_NODE &&\n item instanceof HTMLElement &&\n (iid = item.dataset.iid) &&\n iid.startsWith(IID_ITEM_PREFIX)\n ) {\n const uuid = iid.substring(IID_ITEM_PREFIX.length);\n inspectTargets.push({\n type: \"item\",\n uuid,\n label: getLabel(item),\n element: item,\n });\n }\n });\n return inspectTargets;\n}\n\nfunction getTargetOutline(target: InspectTarget): InspectOutline {\n const { element, type, uuid, label } = target;\n const { width, height, left, top } = element.getBoundingClientRect();\n return {\n width,\n height,\n left: left + window.scrollX,\n top: top + window.scrollY,\n type,\n uuid,\n label,\n };\n}\n\nfunction getLabel(element: Element) {\n return element.tagName.toLowerCase().split(\".\").pop();\n}\n"],"names":["injected","async","injectChatPreviewAgent","sendMessage","type","window","addEventListener","e","_e$data","data","channel","toggleInspecting","payload","inspecting","select","x","scrollX","y","scrollY","message","parent","postMessage","location","origin","customElements","define","createProviderClass","isInspecting","IID_ITEM_PREFIX","currentHoverElement","method","onClick","onMouseEvent","onPointerLeave","onPointerMove","selector","elements","iid","walk","root","candidates","querySelectorAll","push","document","length","item","shadowRoot","getElementsIncludingInShadowDOM","uuid","outlines","map","element","getTargetOutline","label","getLabel","event","preventDefault","stopPropagation","targets","getPossibleBrickTargets","composedPath","selectByClick","hoverOnTarget","debounce","eventTargets","clientX","clientY","HTMLElement","elementsFromPoint","hoverElement","leading","inspectTargets","forEach","nodeType","Node","ELEMENT_NODE","dataset","startsWith","substring","target","width","height","left","top","getBoundingClientRect","tagName","toLowerCase","split","pop"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(()=>{var e,t,r,n,o,a,l,i,c,u,s,d,f,h,p,m,b,v,g,x,y,P,j,k,w,O={7934:(e,t,r)=>{Promise.all([r.e(7085),r.e(5933),r.e(5522),r.e(8769),r.e(6192),r.e(9859),r.e(1030),r.e(4427),r.e(6477),r.e(8974),r.e(5310),r.e(9733),r.e(3357),r.e(155),r.e(1321),r.e(1304),r.e(9435),r.e(2105),r.e(8361),r.e(9704),r.e(1732),r.e(9080),r.e(2980),r.e(6117),r.e(220)]).then(r.bind(r,220))}},_={};function S(e){var t=_[e];if(void 0!==t)return t.exports;var r=_[e]={id:e,loaded:!1,exports:{}};return O[e].call(r.exports,r,r.exports,S),r.loaded=!0,r.exports}S.m=O,S.c=_,S.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return S.d(t,{a:t}),t},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,S.t=function(r,n){if(1&n&&(r=this(r)),8&n)return r;if("object"==typeof r&&r){if(4&n&&r.__esModule)return r;if(16&n&&"function"==typeof r.then)return r}var o=Object.create(null);S.r(o);var a={};e=e||[null,t({}),t([]),t(t)];for(var l=2&n&&r;"object"==typeof l&&!~e.indexOf(l);l=t(l))Object.getOwnPropertyNames(l).forEach((e=>a[e]=()=>r[e]));return a.default=()=>r,S.d(o,a),o},S.d=(e,t)=>{for(var r in t)S.o(t,r)&&!S.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},S.f={},S.e=e=>Promise.all(Object.keys(S.f).reduce(((t,r)=>(S.f[r](e,t),t)),[])),S.u=e=>"chunks/"+e+"."+{114:"d6772a35",220:"100322b6",726:"decd1cb8",871:"dd401bcf",1045:"da75cb56",1122:"3ee6d6f3",1304:"a8196a2e",1889:"bd796e16",1940:"94045d6e",2201:"301b3dc4",2277:"73960d42",2980:"77e044c8",3144:"1e4265cb",3171:"15ddb878",3933:"14041051",4041:"a9289b9a",4291:"ef7e7fae",4658:"758b09ca",4837:"0f4319f6",5247:"485f0926",5250:"64cfe342",5384:"7fbe2a84",5399:"2121beed",5522:"690dcfe1",5552:"ebeb6852",5933:"80708a00",6117:"b8e62bfc",6314:"a58fa1a1",6519:"11291cc6",6773:"29b2dc35",7085:"5626fe65",7218:"56461cde",7304:"c45ab907",7434:"c8f35cb5",7721:"c4069d44",7733:"348a0514",8097:"beaba572",8989:"1a42d5b8",9080:"e6f4d552",9515:"1b9f8fea",9559:"c6a42507",9844:"4328557b"}[e]+".js",S.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),S.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},n="@next-bricks/visual-builder:",S.l=(e,t,o,a)=>{if(r[e])r[e].push(t);else{var l,i;if(void 0!==o)for(var c=document.getElementsByTagName("script"),u=0;u<c.length;u++){var s=c[u];if(s.getAttribute("src")==e||s.getAttribute("data-webpack")==n+o){l=s;break}}l||(i=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,S.nc&&l.setAttribute("nonce",S.nc),l.setAttribute("data-webpack",n+o),l.src=e),r[e]=[t];var d=(t,n)=>{l.onerror=l.onload=null,clearTimeout(f);var o=r[e];if(delete r[e],l.parentNode&&l.parentNode.removeChild(l),o&&o.forEach((e=>e(n))),t)return t(n)},f=setTimeout(d.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=d.bind(null,l.onerror),l.onload=d.bind(null,l.onload),i&&document.head.appendChild(l)}},S.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},S.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{S.S={};var e={},t={};S.I=(r,n)=>{n||(n=[]);var o=t[r];if(o||(o=t[r]={}),!(n.indexOf(o)>=0)){if(n.push(o),e[r])return e[r];S.o(S.S,r)||(S.S[r]={});var a=S.S[r],l="@next-bricks/visual-builder",i=(e,t,r,n)=>{var o=a[e]=a[e]||{},i=o[t];(!i||!i.loaded&&(!n!=!i.eager?n:l>i.from))&&(o[t]={get:r,from:l,eager:!!n})},c=[];return"default"===r&&(i("@babel/parser","7.25.3",(()=>S.e(6773).then((()=>()=>S(6773))))),i("@easyops-cn/brick-next-pipes","0.7.2",(()=>Promise.all([S.e(4291),S.e(1030),S.e(5310),S.e(155)]).then((()=>()=>S(4291))))),i("@next-core/cook","2.5.8",(()=>Promise.all([S.e(1122),S.e(580)]).then((()=>()=>S(1122))))),i("@next-core/element","1.2.17",(()=>S.e(1045).then((()=>()=>S(1045))))),i("@next-core/http","1.2.12",(()=>S.e(8989).then((()=>()=>S(8989))))),i("@next-core/i18n/react","1.0.75",(()=>Promise.all([S.e(9733),S.e(8097)]).then((()=>()=>S(8097))))),i("@next-core/i18n","1.0.75",(()=>Promise.all([S.e(4427),S.e(9733),S.e(671),S.e(5552)]).then((()=>()=>S(5552))))),i("@next-core/inject","1.0.53",(()=>Promise.all([S.e(1030),S.e(9933),S.e(2277)]).then((()=>()=>S(2277))))),i("@next-core/loader","1.6.15",(()=>S.e(5399).then((()=>()=>S(5399))))),i("@next-core/pipes","2.0.32",(()=>S.e(6519).then((()=>()=>S(6519))))),i("@next-core/react-element","1.0.36",(()=>Promise.all([S.e(8769),S.e(6192),S.e(9435),S.e(114)]).then((()=>()=>S(114))))),i("@next-core/react-runtime","1.7.13",(()=>Promise.all([S.e(8769),S.e(9859),S.e(1030),S.e(8974),S.e(4837)]).then((()=>()=>S(4837))))),i("@next-core/runtime","1.60.0",(()=>Promise.all([S.e(5247),S.e(1030),S.e(4427),S.e(9733),S.e(3357),S.e(155),S.e(1321),S.e(2105),S.e(1732),S.e(6631)]).then((()=>()=>S(5247))))),i("@next-core/supply","2.3.5",(()=>Promise.all([S.e(1030),S.e(155),S.e(9933),S.e(9559)]).then((()=>()=>S(9559))))),i("@next-core/theme","1.5.4",(()=>S.e(1889).then((()=>()=>S(1889))))),i("@next-core/utils/general","1.7.33",(()=>S.e(871).then((()=>()=>S(871))))),i("@next-core/utils/storyboard","1.7.33",(()=>Promise.all([S.e(4427),S.e(1321),S.e(3933)]).then((()=>()=>S(3933))))),i("history","4.10.1",(()=>S.e(5384).then((()=>()=>S(5384))))),i("i18next-browser-languagedetector","7.2.2",(()=>S.e(726).then((()=>()=>S(726))))),i("i18next","22.5.1",(()=>S.e(7304).then((()=>()=>S(7304))))),i("js-yaml","3.14.1",(()=>S.e(9515).then((()=>()=>S(9515))))),i("lodash","4.17.21",(()=>S.e(5250).then((()=>()=>S(5250))))),i("moment/locale/zh-cn.js","2.30.1",(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(1329))))),i("moment","2.30.1",(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(9420))))),i("react-dom","0.0.0-experimental-ee8509801-20230117",(()=>Promise.all([S.e(3144),S.e(8769)]).then((()=>()=>S(3144))))),i("react-i18next","12.3.1",(()=>Promise.all([S.e(7434),S.e(8769)]).then((()=>()=>S(7434))))),i("react","0.0.0-experimental-ee8509801-20230117",(()=>S.e(4041).then((()=>()=>S(4041)))))),e[r]=c.length?Promise.all(c).then((()=>e[r]=1)):1}}})(),(()=>{var e;S.g.importScripts&&(e=S.g.location+"");var t=S.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),S.p=e+"../"})(),o=e=>{var t=e=>e.split(".").map((e=>+e==e?+e:e)),r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=r[1]?t(r[1]):[];return r[2]&&(n.length++,n.push.apply(n,t(r[2]))),r[3]&&(n.push([]),n.push.apply(n,t(r[3]))),n},a=(e,t)=>{e=o(e),t=o(t);for(var r=0;;){if(r>=e.length)return r<t.length&&"u"!=(typeof t[r])[0];var n=e[r],a=(typeof n)[0];if(r>=t.length)return"u"==a;var l=t[r],i=(typeof l)[0];if(a!=i)return"o"==a&&"n"==i||"s"==i||"u"==a;if("o"!=a&&"u"!=a&&n!=l)return n<l;r++}},l=e=>{var t=e[0],r="";if(1===e.length)return"*";if(t+.5){r+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var n=1,o=1;o<e.length;o++)n--,r+="u"==(typeof(i=e[o]))[0]?"-":(n>0?".":"")+(n=2,i);return r}var a=[];for(o=1;o<e.length;o++){var i=e[o];a.push(0===i?"not("+c()+")":1===i?"("+c()+" || "+c()+")":2===i?a.pop()+" "+a.pop():l(i))}return c();function c(){return a.pop().replace(/^\((.+)\)$/,"$1")}},i=(e,t)=>{if(0 in e){t=o(t);var r=e[0],n=r<0;n&&(r=-r-1);for(var a=0,l=1,c=!0;;l++,a++){var u,s,d=l<e.length?(typeof e[l])[0]:"";if(a>=t.length||"o"==(s=(typeof(u=t[a]))[0]))return!c||("u"==d?l>r&&!n:""==d!=n);if("u"==s){if(!c||"u"!=d)return!1}else if(c)if(d==s)if(l<=r){if(u!=e[l])return!1}else{if(n?u>e[l]:u<e[l])return!1;u!=e[l]&&(c=!1)}else if("s"!=d&&"n"!=d){if(n||l<=r)return!1;c=!1,l--}else{if(l<=r||s<d!=n)return!1;c=!1}else"s"!=d&&"n"!=d&&(c=!1,l--)}}var f=[],h=f.pop.bind(f);for(a=1;a<e.length;a++){var p=e[a];f.push(1==p?h()|h():2==p?h()&h():p?i(p,t):!h())}return!!h()},c=(e,t)=>e&&S.o(e,t),u=e=>(e.loaded=1,e.get()),s=e=>Object.keys(e).reduce(((t,r)=>(e[r].eager&&(t[r]=e[r]),t)),{}),d=(e,t,r,n)=>{var o=n?s(e[t]):e[t];return(t=Object.keys(o).reduce(((e,t)=>!i(r,t)||e&&!a(e,t)?e:t),0))&&o[t]},f=(e,t,r)=>{var n=r?s(e[t]):e[t];return Object.keys(n).reduce(((e,t)=>!e||!n[e].loaded&&a(e,t)?t:e),0)},h=(e,t,r,n)=>"Unsatisfied version "+r+" from "+(r&&e[t][r].from)+" of shared singleton module "+t+" (required "+l(n)+")",p=(e,t,r,n,o)=>{var a=e[r];return"No satisfying version ("+l(n)+")"+(o?" for eager consumption":"")+" of shared module "+r+" found in shared scope "+t+".\nAvailable versions: "+Object.keys(a).map((e=>e+" from "+a[e].from)).join(", ")},m=e=>{throw new Error(e)},b=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},g=(e,t,r)=>r?r():((e,t)=>m("Shared module "+t+" doesn't exist in shared scope "+e))(e,t),x=(v=e=>function(t,r,n,o,a){var l=S.I(t);return l&&l.then&&!n?l.then(e.bind(e,t,S.S[t],r,!1,o,a)):e(t,S.S[t],r,n,o,a)})(((e,t,r,n,o,a)=>{if(!c(t,r))return g(e,r,a);var l=d(t,r,o,n);return l?u(l):a?a():void m(p(t,e,r,o,n))})),y=v(((e,t,r,n,o,a)=>{if(!c(t,r))return g(e,r,a);var l=f(t,r,n);return i(o,l)||b(h(t,r,l,o)),u(t[r][l])})),P={},j={8769:()=>x("default","react",!1,[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>S.e(4041).then((()=>()=>S(4041))))),6192:()=>x("default","@next-core/element",!1,[1,1,2,17],(()=>S.e(1045).then((()=>()=>S(1045))))),9859:()=>x("default","@next-core/react-element",!1,[1,1,0,36],(()=>Promise.all([S.e(6192),S.e(9435),S.e(7733)]).then((()=>()=>S(114))))),1030:()=>y("default","lodash",!1,[1,4,17,21],(()=>S.e(5250).then((()=>()=>S(5250))))),4427:()=>y("default","@next-core/utils/general",!1,[1,1,7,33],(()=>S.e(871).then((()=>()=>S(871))))),6477:()=>y("default","@next-core/theme",!1,[1,1,5,4],(()=>S.e(1889).then((()=>()=>S(1889))))),8974:()=>y("default","@next-core/runtime",!1,[1,1,60,0],(()=>Promise.all([S.e(5247),S.e(1030),S.e(4427),S.e(9733),S.e(3357),S.e(155),S.e(1321),S.e(2105),S.e(1732),S.e(6631)]).then((()=>()=>S(5247))))),5310:()=>y("default","js-yaml",!1,[0],(()=>S.e(9515).then((()=>()=>S(9515))))),9733:()=>y("default","@next-core/i18n",!1,[0],(()=>Promise.all([S.e(4427),S.e(671),S.e(3171)]).then((()=>()=>S(5552))))),3357:()=>y("default","@next-core/http",!1,[1,1,2,12],(()=>S.e(8989).then((()=>()=>S(8989))))),155:()=>y("default","moment",!1,[1,2,29,4],(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(9420))))),1321:()=>y("default","@next-core/cook",!1,[0],(()=>Promise.all([S.e(1122),S.e(580)]).then((()=>()=>S(1122))))),9435:()=>x("default","react-dom",!1,[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>S.e(3144).then((()=>()=>S(3144))))),2105:()=>y("default","@next-core/utils/storyboard",!1,[1,1,7,33],(()=>Promise.all([S.e(1321),S.e(6314)]).then((()=>()=>S(3933))))),8361:()=>x("default","@next-core/react-runtime",!1,[1,1,7,13],(()=>Promise.all([S.e(1030),S.e(8974),S.e(7218)]).then((()=>()=>S(4837))))),9704:()=>y("default","@next-core/i18n/react",!1,[0],(()=>Promise.all([S.e(9733),S.e(8097)]).then((()=>()=>S(8097))))),1732:()=>y("default","history",!1,[0],(()=>S.e(5384).then((()=>()=>S(5384))))),580:()=>y("default","@babel/parser",!1,[0],(()=>S.e(6773).then((()=>()=>S(6773))))),7825:()=>y("default","react-i18next",!1,[1,12,3,1],(()=>Promise.all([S.e(7434),S.e(8769)]).then((()=>()=>S(7434))))),848:()=>y("default","i18next-browser-languagedetector",!1,[0],(()=>S.e(726).then((()=>()=>S(726))))),5630:()=>y("default","i18next",!1,[0],(()=>S.e(7304).then((()=>()=>S(7304))))),9933:()=>y("default","@next-core/pipes",!1,[0],(()=>S.e(6519).then((()=>()=>S(6519))))),8377:()=>y("default","@easyops-cn/brick-next-pipes",!1,[0],(()=>Promise.all([S.e(4291),S.e(1030),S.e(5310),S.e(155)]).then((()=>()=>S(4291))))),597:()=>y("default","moment/locale/zh-cn.js",!1,[1,2,29,4],(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(1329))))),4167:()=>y("default","@next-core/supply",!1,[0],(()=>Promise.all([S.e(9933),S.e(1940)]).then((()=>()=>S(9559))))),5599:()=>y("default","@next-core/loader",!1,[0],(()=>S.e(5399).then((()=>()=>S(5399))))),9283:()=>y("default","@next-core/inject",!1,[0],(()=>Promise.all([S.e(9933),S.e(4658)]).then((()=>()=>S(2277)))))},k={155:[155],580:[580],671:[848,5630],1030:[1030],1321:[1321],1732:[1732],2105:[2105],3357:[3357],4427:[4427],5310:[5310],6192:[6192],6477:[6477],6519:[8377],6631:[597,4167,5599,9283],8097:[7825],8361:[8361],8769:[8769],8974:[8974],9435:[9435],9704:[9704],9733:[9733],9859:[9859],9933:[9933]},w={},S.f.consumes=(e,t)=>{S.o(k,e)&&k[e].forEach((e=>{if(S.o(P,e))return t.push(P[e]);if(!w[e]){var r=t=>{P[e]=0,S.m[e]=r=>{delete S.c[e],r.exports=t()}};w[e]=!0;var n=t=>{delete P[e],S.m[e]=r=>{throw delete S.c[e],t}};try{var o=j[e]();o.then?t.push(P[e]=o.then(r).catch(n)):r(o)}catch(e){n(e)}}}))},(()=>{var e={8792:0};S.f.j=(t,r)=>{var n=S.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else if(/^(1(030|321|55|732)|6(192|477|631|71)|8(361|769|974)|9([79]33|435|704|859)|2105|3357|4427|5310|580)$/.test(t))e[t]=0;else{var o=new Promise(((r,o)=>n=e[t]=[r,o]));r.push(n[2]=o);var a=S.p+S.u(t),l=new Error;S.l(a,(r=>{if(S.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",l.name="ChunkLoadError",l.type=o,l.request=a,n[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,l,i]=r,c=0;if(a.some((t=>0!==e[t]))){for(n in l)S.o(l,n)&&(S.m[n]=l[n]);i&&i(S)}for(t&&t(r);c<a.length;c++)o=a[c],S.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=globalThis.webpackChunk_next_bricks_visual_builder=globalThis.webpackChunk_next_bricks_visual_builder||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),S.nc=void 0,S(7934)})();
|
|
2
|
+
//# sourceMappingURL=main.019c7563.js.map
|