@next-bricks/vs 1.9.0 → 1.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +1 -1
- package/dist/chunks/2425.a6f4de6f.js.map +1 -1
- package/dist/chunks/3998.bfacc516.js +2 -0
- package/dist/chunks/3998.bfacc516.js.map +1 -0
- package/dist/chunks/7242.0a2d3b0d.js +2 -0
- package/dist/chunks/7242.0a2d3b0d.js.map +1 -0
- package/dist/chunks/code-editor.b77e7e2e.js +2 -0
- package/dist/chunks/code-editor.b77e7e2e.js.map +1 -0
- package/dist/chunks/{main.6c55c3e8.js → main.dca448ef.js} +2 -2
- package/dist/chunks/{main.6c55c3e8.js.map → main.dca448ef.js.map} +1 -1
- package/dist/{index.43977459.js → index.4f0ae4dc.js} +2 -2
- package/dist/{index.43977459.js.map → index.4f0ae4dc.js.map} +1 -1
- package/dist/manifest.json +6 -0
- package/dist/types.json +7 -0
- package/dist-types/code-editor/index.d.ts +7 -1
- package/dist-types/code-editor/utils/constants.d.ts +1 -1
- package/package.json +2 -2
- package/dist/chunks/3998.b2215a80.js +0 -2
- package/dist/chunks/3998.b2215a80.js.map +0 -1
- package/dist/chunks/7242.a17f513b.js +0 -2
- package/dist/chunks/7242.a17f513b.js.map +0 -1
- package/dist/chunks/code-editor.72b1d5c3.js +0 -2
- package/dist/chunks/code-editor.72b1d5c3.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[]).push([[3998],{97137:(e,t,n)=>{n.d(t,{Vu:()=>s,fE:()=>i,lP:()=>o,yU:()=>r});const r=12,i=18,o=12,s=12},8182:(e,t,n)=>{n.d(t,{I:()=>o,K:()=>r,NS:()=>i});let r=function(e){return e.COPY="COPY",e.COPY_SUCCESS="COPY_SUCCESS",e.COPY_FAILED="COPY_FAILED",e.EXPAND="EXPAND",e.COLLAPSE="COLLAPSE",e}({});const i="bricks/vs/code-editor",o={en:{COPY:"Copy",COPY_SUCCESS:"Copied!",COPY_FAILED:"Copy failed!",EXPAND:"Expand",COLLAPSE:"Collapse"},zh:{COPY:"复制",COPY_SUCCESS:"已复制!",COPY_FAILED:"复制失败!",EXPAND:"展开",COLLAPSE:"收起"}}},9287:(e,t,n)=>{n.d(t,{m:()=>o});var r=n(78573);const i=new Map;function o(e,t){return e.flatMap((e=>{const n=r.Uri.file(`libs/${e.filePath}`).toString(),o=i.get(n);o&&o.forEach((e=>e.dispose()));const s=[t.languageDefaults].map((t=>r.languages.typescript[t].addExtraLib(e.content,n)));return i.set(n,s),s}))}},34929:(e,t,n)=>{n.d(t,{v:()=>g});var r=n(78573),i=n(77176),o=n(40739),s=n(46123),a=n.n(s),l=n(44804),c=n(24102),u=n(11968);const d=(e,t,n)=>{const r=[],i=[];let o="",s=n,a=t.startColumn;for(;s>0;){const n=e.getValueInRange({startLineNumber:s,endLineNumber:s,startColumn:0,endColumn:1/0}).match(/^([\s|-]*)(\w+)(?=:)/);if(n){const[,e,s]=n;e.length===t.startColumn-1&&r.unshift(s),e.length<a-1&&(!o&&(o=s),a=e.length,i.unshift(s))}s--}return{curLevelKeys:r,keyList:i,parentKey:o}},g=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,s=arguments.length>3?arguments[3]:void 0;return async(g,p,m)=>{if(n&&n!==(0,l.B)())return{suggestions:[]};const h=s.showDSKey?["CTX.DS","DS"]:[],b=g.getWordUntilPosition(p),{word:A,token:C}=((e,t,n)=>{var r;const i=e.getWordUntilPosition(t),o=e.getValueInRange({startLineNumber:t.lineNumber,endLineNumber:t.lineNumber,startColumn:t.column-i.word.length-1,endColumn:t.column-i.word.length}),s=e.getWordAtPosition({...t,column:t.column-(null==i||null===(r=i.word)||void 0===r?void 0:r.length)-1});let a=null==s?void 0:s.word;if(n.showDSKey&&"DS"===(null==s?void 0:s.word)){const n=e.getWordAtPosition({...t,column:s.startColumn-1});a=`${null==n?void 0:n.word}.${s.word}`}return{word:a,token:o}})(g,p,s),f=g.getValueInRange({startLineNumber:p.lineNumber,endLineNumber:p.lineNumber,startColumn:0,endColumn:1/0}),v={startLineNumber:p.lineNumber,endLineNumber:p.lineNumber,startColumn:b.startColumn,endColumn:b.endColumn},w=1===b.startColumn,{curLevelKeys:S}=d(g,b,g.getLineCount());if("<"===m.triggerCharacter)return"<"!==g.getValueInRange({startLineNumber:p.lineNumber,endLineNumber:p.lineNumber,startColumn:p.column-2,endColumn:p.column+2}).trim()?{suggestions:[]}:{suggestions:[{label:"<% %>",detail:"Evalute Body",kind:r.languages.CompletionItemKind.Value,insertText:"% ${0} %>",insertTextRules:r.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:v},{label:"<%= %>",detail:"Track Evalute Body",kind:r.languages.CompletionItemKind.Value,insertText:"%= ${0} %>",insertTextRules:r.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:v}]};if(w)return{suggestions:(e??[]).filter((e=>!S.includes(e.label))).map((e=>({...e,label:e.label,insertText:e.insertText||e.label,kind:r.languages.CompletionItemKind.Keyword,range:v})))};if(":"===m.triggerCharacter||"."===m.triggerCharacter&&A&&!["CTX","STATE","FN"].concat(h).includes(A)){var k;if("action"===A&&":"===m.triggerCharacter)return{suggestions:null===(k=a()(i,"definitions.BuiltinBrickEventHandler.properties.action.enum")??[])||void 0===k?void 0:k.map((e=>({label:` ${e}`,detail:"event action",kind:r.languages.CompletionItemKind.Keyword,insertText:` ${e}`,range:v})))};const e=null==t?void 0:t[A];let n,o="";if(e&&!Array.isArray(e)?(n=e.completers,o=e.triggerCharacter):n=e,o?m.triggerCharacter===o&&n:n)return{suggestions:(n??[]).map((e=>{const t=":"===o?` ${e.label}`:e.label;return{...e,label:t,kind:r.languages.CompletionItemKind.Value,insertText:e.insertText||t,range:v}}))}}if(((e,t)=>{const n=e.getWordUntilPosition(t),r=e.findPreviousMatch("<%",t,!1,!1,null,!1),i=e.findNextMatch("%>",t,!1,!1,null,!1);if((null==r?void 0:r.range.startLineNumber)&&(null==i?void 0:i.range.startLineNumber)&&r.range.startLineNumber<=t.lineNumber&&i.range.endLineNumber>=t.lineNumber){const{parentKey:o}=d(e,r.range,null==r?void 0:r.range.startLineNumber),{parentKey:s}=d(e,i.range,null==i?void 0:i.range.startLineNumber),{keyList:a}=d(e,n,t.lineNumber);if(o===s&&a.includes(o)||""===o&&""===s)return!0}return!1})(g,p)){const e=u.b.getInstance(n);return{suggestions:await(0,c.DW)(g,p,e.getState())}}return/^[\s|-]*\w$/.test(f)?{suggestions:o.xN.map((e=>({label:e,insertText:e,kind:r.languages.CompletionItemKind.Keyword,range:v}))).filter((e=>!S.includes(e.label)))}:{suggestions:[]}}}},40739:(e,t,n)=>{n.d(t,{X2:()=>i,xN:()=>r});const r=["target","targetRef","properties","events","method","callback","success","error","action","useProvider","useChildren","useBrick","args","if","then"],i='\n declare const DATA;\n declare const EVENT;\n declare const FLAGS;\n declare const ANCHOR;\n declare const HASH;\n declare namespace INSTALLED_APPS {\n function has(appId: string):boolean\n }\n declare const ITEM;\n declare namespace LOCAL_STORAGE {\n function getItem(name: string): string; \n }\n declare namespace SESSION_STORAGE {\n function getItem(name: string): string\n } \n declare const MEDIA;\n declare const MISC;\n declare const PARAMS;\n declare const PROCESSORS;\n declare const QUERY_ARRAY;\n declare const TPL;\n declare const PIPES;\n declare const _;\n declare namespace SYS {\n const username:string;\n const userInstanceId:string;\n const org:number;\n const isAdmin: boolean;\n const accessRule:string;\n const csrfToken:string;\n const accessToken:string;\n const userShowValue:string[];\n }\n declare const BASE_URL;\n declare namespace IMG {\n function get(src: string): string;\n }\n declare function I18N(key: string, options?: string | Record<string, unknown>): string;\n declare function I18N_TEXT(data: {[language: string]: string}):string;\n declare namespace PERMISSIONS {\n function check(...action: string[]):boolean;\n }\n declare namespace THEME {\n function getTheme(): "light" | "dark" | "dark-v2";\n }\n'},44804:(e,t,n)=>{let r;function i(e){r=e}function o(){return r}n.d(t,{B:()=>o,J:()=>i})},11968:(e,t,n)=>{n.d(t,{b:()=>c});var r=n(70918),i=n(70829),o=n(86121),s=n(12559),a=new WeakMap,l=new WeakMap;class c{static getInstance(e){return(0,s.A)(c,this,u)._[e]||((0,s.A)(c,this,u)._[e]=new c(e)),(0,s.A)(c,this,u)._[e]}constructor(e){(0,r.A)(this,a,void 0),(0,r.A)(this,l,{}),(0,o.A)(a,this,e)}updateState(e){(0,o.A)(l,this,e)}getState(){return(0,i.A)(l,this)}}var u={_:{}}},24102:(e,t,n)=>{n.d(t,{AR:()=>a,DW:()=>l,Eh:()=>u});var r=n(77176),i=n(72445),o=n(78573),s=n(40739);function a(e){return"uri"in e&&(e=e.uri),o.Uri.parse(e.toString()+".ts")}async function l(e,t,n){const r=await o.languages.typescript.getJavaScriptWorker(),i=await r(e.uri),s=o.editor.getModel(a(e)),l=e.getOffsetAt(t)-((null==n?void 0:n.offset)??0),c=await i.getCompletionsAtPosition(s.uri.toString(),l),u=e.getWordUntilPosition(t),d=new o.Range(t.lineNumber,u.startColumn,t.lineNumber,u.endColumn);return((null==c?void 0:c.entries)??[]).map((n=>{let r=d;if(n.replacementSpan){const t=e.getPositionAt(n.replacementSpan.start),i=e.getPositionAt(n.replacementSpan.start+n.replacementSpan.length);r=new o.Range(t.lineNumber,t.column,i.lineNumber,i.column)}return{uri:s.uri,position:t,offset:l,range:r,label:n.name,insertText:n.name,sortText:n.sortText,kind:o.languages.CompletionItemKind.Property}}))}function c(){const e=(0,i.get)(r,"definitions.MicroApp.properties"),t=[];for(const[n,r]of Object.entries(e))t.push(`const ${n}: ${r.type??"any"}`);return`\n declare namespace APP {\n ${t.join("\n")}\n }\n `}function u(){return[c(),s.X2].join("\n")}},43271:(e,t,n)=>{n.d(t,{A:()=>a});var r=n(36758),i=n.n(r),o=n(40935),s=n.n(o)()(i());s.push([e.id,".highlight{color:rgb(74 170 189)!important;text-decoration:underline;font-weight:bold;font-style:oblique}.pointer{cursor:pointer}.monaco-editor .overflow-guard{border-radius:var(--antd-button-border-radius);background:var(--color-border-divider-line);border:1px solid var(--color-border-divider-line)}.code-editor-wrapper.error .overflow-guard{outline:1px solid var(--antd-error-color)}.code-editor-wrapper.expanded.error .overflow-guard{border:1px solid var(--antd-error-color)}.code-editor-wrapper{position:relative}.code-editor-wrapper.expanded{position:fixed;z-index:1000;top:0;left:0;right:0;bottom:0;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.code-editor-wrapper.expanded .toolbar{right:40px;top:40px}.code-editor-wrapper:hover .toolbar{display:flex}.toolbar{display:none;position:absolute;top:15px;right:20px;line-height:12px;font-size:12px;text-align:center;gap:10px;box-shadow:none;transition:none;border-radius:50%;border:none}.copy-icon,\n.expand-icon{opacity:0.5;cursor:pointer;font-size:16px}.copy-icon:hover,\n.expand-icon:hover{opacity:1}",""]);const a=s},73569:(e,t,n)=>{var r=n(72591),i=n.n(r),o=n(1740),s=n.n(o),a=n(88128),l=n.n(a),c=n(30855),u=n.n(c),d=n(93051),g=n.n(d),p=n(73656),m=n.n(p),h=n(43271),b={};b.styleTagTransform=m(),b.setAttributes=u(),b.insert=l().bind(null,"head"),b.domAPI=s(),b.insertStyleElement=g(),i()(h.A,b),h.A&&h.A.locals&&h.A.locals},62738:(e,t,n)=>{n.d(t,{h:()=>o});var r=n(72445);let i;class o{static#e={};static getInstance(e){return this.#e[e]||(i||(i=new Worker(new URL(n.p+n.u(2425),n.b))),this.#e[e]=new o(e)),this.#e[e]}#t;#n;#r=new Map;constructor(e){this.#n=i,this.#t=e}postMessage(e){this.#n.postMessage({...e,id:this.#t})}addEventListener(e,t){const n=(0,r.uniqueId)();return this.#n.addEventListener(e,((...e)=>{const{id:n}=e[0].data;n===this.#t&&t(...e)})),this.#r.set(n,{name:e,fn:t}),n}removeEventListener(e){const t=this.#r.get(e);t&&(this.#n.removeEventListener(t.name,t.fn),this.#r.delete(e))}}},30426:(e,t,n)=>{n.d(t,{N:()=>R});var r,i=n(74635),o=n(70918),s=n(5536),a=n(99492),l=n(86121),c=n(70829),u=n(62740),d=n(81929),g=n(4223);let p,m,h,b,A,C,f,v,w;const{method:S,property:k}=(0,d.createDecorators)();var N=new WeakMap,E=new WeakSet,x=new WeakMap,I=new WeakMap,L=new WeakMap,P=new WeakMap,y=new WeakMap,T=new WeakMap;class R extends g.ReactNextElement{constructor(){super(...arguments),(0,i.A)(this,E),(0,o.A)(this,N,(p(this),!1)),(0,o.A)(this,x,"normal"),(0,o.A)(this,I,!1),(0,o.A)(this,L,m(this)),(0,o.A)(this,P,(h(this),b(this))),(0,o.A)(this,y,(A(this),C(this))),(0,o.A)(this,T,(f(this),v(this))),w(this)}get isFormItemElement(){return!0}set validateState(e){(0,a.A)(E,D,this,e),this._render()}get validateState(){return(0,s.A)(E,this,M)}set notRender(e){this.hidden=e,(0,a.A)(E,O,this,e),this._render()}get notRender(){return(0,s.A)(E,this,_)}get $bindFormItem(){return(0,s.A)(E,this,W)}set $bindFormItem(e){(0,a.A)(E,K,this,e),this._render()}get helpBrick(){return(0,c.A)(L,this)}set helpBrick(e){(0,l.A)(L,this,e)}get labelBrick(){return(0,c.A)(P,this)}set labelBrick(e){(0,l.A)(P,this,e)}get labelCol(){return(0,c.A)(y,this)}set labelCol(e){(0,l.A)(y,this,e)}get wrapperCol(){return(0,c.A)(T,this)}set wrapperCol(e){(0,l.A)(T,this,e)}setNotRender(e){this.notRender=e}getFormElement(){let e=this;for(;(e=e.parentNode)&&e&&!e.isFormElement;);return e}}function _(e){return(0,c.A)(N,e)}function O(e,t){(0,l.A)(N,e,t)}function M(e){return(0,c.A)(x,e)}function D(e,t){(0,l.A)(x,e,t)}function W(e){return(0,c.A)(I,e)}function K(e,t){(0,l.A)(I,e,t)}r=R,[m,h,b,A,C,f,v,w,p]=(0,u.A)(r,[],[[k({attribute:!1}),1,"helpBrick"],[k({attribute:!1}),1,"labelBrick"],[k({attribute:!1}),1,"labelCol"],[k({attribute:!1}),1,"wrapperCol"],[S(),2,"setNotRender"],[S(),2,"getFormElement"]],0,void 0,g.ReactNextElement).e}}]);
|
|
2
|
+
//# sourceMappingURL=3998.bfacc516.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/3998.bfacc516.js","mappings":"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","sources":["webpack:///./src/code-editor/constants.ts","webpack:///./src/code-editor/i18n.ts","webpack:///./src/code-editor/utils/addExtraLibs.ts","webpack:///./src/code-editor/utils/brickNextYaml.ts","webpack:///./src/code-editor/utils/constants.ts","webpack:///./src/code-editor/utils/editorId.ts","webpack:///./src/code-editor/utils/embeddedModelState.ts","webpack:///./src/code-editor/utils/jsSuggestInBrickYaml.ts","webpack:///./src/code-editor/index.css","webpack:///./src/code-editor/index.css?aefa","webpack:///./src/code-editor/workers/index.mjs","webpack:///../../src/FormItemElement.tsx"],"sourcesContent":["export const EDITOR_FONT_SIZE = 12;\nexport const EDITOR_LINE_HEIGHT = 18;\nexport const EDITOR_SCROLLBAR_SIZE = 12;\nexport const EDITOR_PADDING_VERTICAL = 12;\n","export enum K {\n COPY = \"COPY\",\n COPY_SUCCESS = \"COPY_SUCCESS\",\n COPY_FAILED = \"COPY_FAILED\",\n EXPAND = \"EXPAND\",\n COLLAPSE = \"COLLAPSE\",\n}\n\nconst en: Locale = {\n COPY: \"Copy\",\n COPY_SUCCESS: \"Copied!\",\n COPY_FAILED: \"Copy failed!\",\n EXPAND: \"Expand\",\n COLLAPSE: \"Collapse\",\n};\n\nconst zh: Locale = {\n COPY: \"复制\",\n COPY_SUCCESS: \"已复制!\",\n COPY_FAILED: \"复制失败!\",\n EXPAND: \"展开\",\n COLLAPSE: \"收起\",\n};\n\nexport const NS = \"bricks/vs/code-editor\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","import * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport { ExtraLib } from \"../interfaces.js\";\n\nconst extraLibsMap = new Map<string, monaco.IDisposable[]>();\n\nexport function addExtraLibs(\n libs: ExtraLib[],\n options: {\n languageDefaults?: string;\n }\n): monaco.IDisposable[] {\n return libs.flatMap((lib) => {\n const uri = monaco.Uri.file(`libs/${lib.filePath}`);\n const uriString = uri.toString();\n const previousLibs = extraLibsMap.get(uriString);\n if (previousLibs) {\n previousLibs.forEach((lib) => lib.dispose());\n }\n // Add libs for both js and ts.\n const disposables = (\n [options.languageDefaults] as Array<\n \"javascriptDefaults\" | \"typescriptDefaults\"\n >\n ).map((key) =>\n monaco.languages.typescript[key].addExtraLib(lib.content, uriString)\n );\n\n extraLibsMap.set(uriString, disposables);\n return disposables;\n });\n}\n","import * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport storyboardJsonSchema from \"@next-core/types/storyboard.json\";\nimport { brickNextKeywords } from \"./constants.js\";\nimport get from \"lodash/get.js\";\nimport { getEditorId } from \"./editorId.js\";\nimport { TokenConfig } from \"../index.jsx\";\nimport { AdvancedCompleterMap } from \"../interfaces.js\";\nimport { provideJsSuggestItems } from \"../utils/jsSuggestInBrickYaml.js\";\nimport { EmbeddedModelContext } from \"../utils/embeddedModelState.js\";\n\nconst findKeys = (\n model: monaco.editor.ITextModel,\n range: monaco.Range | monaco.editor.IWordAtPosition,\n line: number\n) => {\n const curLevelKeys: string[] = [];\n const keyList: string[] = [];\n let parentKey = \"\";\n let i = line;\n let startColumn = range.startColumn;\n while (i > 0) {\n const prefixLineWord = model.getValueInRange({\n startLineNumber: i,\n endLineNumber: i,\n startColumn: 0,\n endColumn: Infinity,\n });\n const matchWord = prefixLineWord.match(/^([\\s|-]*)(\\w+)(?=:)/);\n if (matchWord) {\n const [, wordSpace, key] = matchWord;\n if (wordSpace.length === range.startColumn - 1) {\n curLevelKeys.unshift(key);\n }\n if (wordSpace.length < startColumn - 1) {\n !parentKey && (parentKey = key);\n startColumn = wordSpace.length;\n keyList.unshift(key);\n }\n }\n i--;\n }\n return {\n curLevelKeys,\n keyList,\n parentKey,\n };\n};\n\nconst getPrefixWord = (\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n tokenConfig: TokenConfig\n): {\n word: string | undefined;\n token: string;\n} => {\n const word = model.getWordUntilPosition(position);\n const prefixToken = model.getValueInRange({\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: position.column - word.word.length - 1,\n endColumn: position.column - word.word.length,\n });\n const prefixWord = model.getWordAtPosition({\n ...position,\n column: position.column - word?.word?.length - 1,\n });\n let matchWord = prefixWord?.word;\n if (tokenConfig.showDSKey && prefixWord?.word === \"DS\") {\n const prefix = model.getWordAtPosition({\n ...position,\n column: prefixWord.startColumn - 1,\n });\n\n matchWord = `${prefix?.word}.${prefixWord.word}`;\n }\n return {\n word: matchWord,\n token: prefixToken,\n };\n};\n\nexport const isInEvaluateBody = (\n model: monaco.editor.ITextModel,\n position: monaco.Position\n): boolean => {\n const word = model.getWordUntilPosition(position);\n const prefixEvaluateOperator = model.findPreviousMatch(\n \"<%\",\n position,\n false,\n false,\n null,\n false\n );\n const suffixEvaluateOperator = model.findNextMatch(\n \"%>\",\n position,\n false,\n false,\n null,\n false\n );\n const isInEvaluateBody =\n prefixEvaluateOperator?.range.startLineNumber &&\n suffixEvaluateOperator?.range.startLineNumber &&\n prefixEvaluateOperator.range.startLineNumber <= position.lineNumber &&\n suffixEvaluateOperator.range.endLineNumber >= position.lineNumber;\n\n if (isInEvaluateBody) {\n const { parentKey: prefixParentKey } = findKeys(\n model,\n prefixEvaluateOperator.range,\n prefixEvaluateOperator?.range.startLineNumber\n );\n const { parentKey: suffixParentKey } = findKeys(\n model,\n suffixEvaluateOperator.range,\n suffixEvaluateOperator?.range.startLineNumber\n );\n const { keyList } = findKeys(model, word, position.lineNumber);\n if (\n // value is object\n (prefixParentKey === suffixParentKey &&\n keyList.includes(prefixParentKey)) ||\n // value is string\n (prefixParentKey === \"\" && suffixParentKey === \"\")\n ) {\n return true;\n }\n }\n return false;\n};\n\nexport const brickNextYAMLProviderCompletionItems = (\n completers: monaco.languages.CompletionItem[] = [],\n advancedCompleters: AdvancedCompleterMap = {},\n id: string,\n tokenConfig: TokenConfig\n) => {\n return async (\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n context: monaco.languages.CompletionContext\n ): Promise<\n monaco.languages.ProviderResult<monaco.languages.CompletionList>\n > => {\n if (id && id !== getEditorId())\n return {\n suggestions: [],\n };\n const DSToken = tokenConfig.showDSKey ? [\"CTX.DS\", \"DS\"] : [];\n const word = model.getWordUntilPosition(position);\n const { word: prefixWord, token: _prefixToken } = getPrefixWord(\n model,\n position,\n tokenConfig\n );\n const curLineWord = model.getValueInRange({\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: 0,\n endColumn: Infinity,\n });\n const range = {\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: word.startColumn,\n endColumn: word.endColumn,\n };\n\n const isFirstLevelProperty = word.startColumn === 1;\n const { curLevelKeys } = findKeys(model, word, model.getLineCount());\n\n if (context.triggerCharacter === \"<\") {\n const fullWord = model.getValueInRange({\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: position.column - 2,\n endColumn: position.column + 2,\n });\n if (fullWord.trim() !== \"<\") {\n return {\n suggestions: [],\n };\n }\n return {\n suggestions: [\n {\n label: \"<% %>\",\n detail: \"Evalute Body\",\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: \"% ${0} %>\",\n insertTextRules:\n monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n range: range,\n },\n {\n label: \"<%= %>\",\n detail: \"Track Evalute Body\",\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: \"%= ${0} %>\",\n insertTextRules:\n monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n range: range,\n },\n ],\n };\n }\n\n if (isFirstLevelProperty) {\n return {\n suggestions: (completers ?? [])\n .filter((item) => !curLevelKeys.includes(item.label as string))\n .map((item) => ({\n ...item,\n label: item.label,\n insertText: item.insertText || (item.label as string),\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n })),\n };\n }\n\n if (\n context.triggerCharacter === \":\" ||\n (context.triggerCharacter === \".\" &&\n prefixWord &&\n ![\"CTX\", \"STATE\", \"FN\"].concat(DSToken).includes(prefixWord))\n ) {\n if (prefixWord === \"action\" && context.triggerCharacter === \":\") {\n const actions = get(\n storyboardJsonSchema,\n \"definitions.BuiltinBrickEventHandler.properties.action.enum\"\n );\n return {\n suggestions: ((actions as unknown as string[]) ?? [])?.map(\n (item) => ({\n label: ` ${item}`,\n detail: \"event action\",\n kind: monaco.languages.CompletionItemKind.Keyword,\n insertText: ` ${item}`,\n range,\n })\n ),\n };\n }\n const matchCompletion = advancedCompleters?.[prefixWord as string];\n let matchTriggerCharacter = \"\";\n let list: monaco.languages.CompletionItem[] | undefined;\n if (matchCompletion && !Array.isArray(matchCompletion)) {\n list = matchCompletion.completers;\n matchTriggerCharacter = matchCompletion.triggerCharacter;\n } else {\n list = matchCompletion;\n }\n if (\n matchTriggerCharacter\n ? context.triggerCharacter === matchTriggerCharacter && list\n : list\n ) {\n return {\n suggestions: (list ?? []).map((item) => {\n const label =\n matchTriggerCharacter === \":\"\n ? ` ${item.label}`\n : (item.label as string);\n return {\n ...item,\n label: label,\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: item.insertText || label,\n range,\n };\n }),\n };\n }\n }\n\n if (isInEvaluateBody(model, position)) {\n const embeddedContext = EmbeddedModelContext.getInstance(id);\n\n const suggestions = await provideJsSuggestItems(\n model,\n position,\n embeddedContext.getState()\n );\n\n return {\n suggestions,\n };\n }\n\n if (/^[\\s|-]*\\w$/.test(curLineWord)) {\n return {\n suggestions: brickNextKeywords\n .map((item) => ({\n label: item,\n insertText: item,\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n }))\n .filter((item) => !curLevelKeys.includes(item.label as string)),\n };\n }\n\n return {\n suggestions: [],\n };\n };\n};\n","export const EVALUATE_KEYWORD = [\n \"CTX\",\n \"STATE\",\n \"DATA\",\n \"EVENT\",\n \"FLAGS\",\n \"APP\",\n \"ANCHOR\",\n \"HASH\",\n \"INSTALLED_APPS\",\n \"ITEM\",\n \"LOCAL_STORAGE\",\n \"MEDIA\",\n \"MISC\",\n \"PARAMS\",\n \"PATH\",\n \"PROCESSORS\",\n \"QUERY\",\n \"QUERY_ARRAY\",\n \"SESSION_STORAGE\",\n \"TPL\",\n \"SYS\",\n \"BASE_URL\",\n \"IMG\",\n \"FN\",\n \"I18N\",\n \"I18N_TEXT\",\n \"PERMISSIONS\",\n \"THEME\",\n];\n\nexport const brickNextKeywords = [\n \"target\",\n \"targetRef\",\n \"properties\",\n \"events\",\n \"method\",\n \"callback\",\n \"success\",\n \"error\",\n \"action\",\n \"useProvider\",\n \"useChildren\",\n \"useBrick\",\n \"args\",\n \"if\",\n \"then\",\n];\n\nexport const Level = {\n hit: 1,\n info: 2,\n warn: 4,\n error: 8,\n};\n\nexport const builtInKeywordDeclare = `\n declare const DATA;\n declare const EVENT;\n declare const FLAGS;\n declare const ANCHOR;\n declare const HASH;\n declare namespace INSTALLED_APPS {\n function has(appId: string):boolean\n }\n declare const ITEM;\n declare namespace LOCAL_STORAGE {\n function getItem(name: string): string; \n }\n declare namespace SESSION_STORAGE {\n function getItem(name: string): string\n } \n declare const MEDIA;\n declare const MISC;\n declare const PARAMS;\n declare const PROCESSORS;\n declare const QUERY_ARRAY;\n declare const TPL;\n declare const PIPES;\n declare const _;\n declare namespace SYS {\n const username:string;\n const userInstanceId:string;\n const org:number;\n const isAdmin: boolean;\n const accessRule:string;\n const csrfToken:string;\n const accessToken:string;\n const userShowValue:string[];\n }\n declare const BASE_URL;\n declare namespace IMG {\n function get(src: string): string;\n }\n declare function I18N(key: string, options?: string | Record<string, unknown>): string;\n declare function I18N_TEXT(data: {[language: string]: string}):string;\n declare namespace PERMISSIONS {\n function check(...action: string[]):boolean;\n }\n declare namespace THEME {\n function getTheme(): \"light\" | \"dark\" | \"dark-v2\";\n }\n`;\n","let editorId: string;\n\nexport function setEditorId(id: string) {\n editorId = id;\n}\n\nexport function getEditorId() {\n return editorId;\n}\n","interface Range {\n startLineNumber: number;\n startColumn: number;\n endLineNumber: number;\n endColumn: number;\n}\n\nexport interface EmbeddedState {\n content?: string;\n offset?: number;\n range?: Range;\n}\n\nexport class EmbeddedModelContext {\n static #instance: Record<string, EmbeddedModelContext> = {};\n #id: string;\n #state: EmbeddedState = {};\n\n static getInstance(id: string) {\n if (!this.#instance[id]) {\n this.#instance[id] = new EmbeddedModelContext(id);\n }\n return this.#instance[id];\n }\n\n constructor(id: string) {\n this.#id = id;\n }\n\n updateState(state: EmbeddedState) {\n this.#state = state;\n }\n\n getState(): EmbeddedState {\n return this.#state;\n }\n}\n","import storyboardJsonSchema from \"@next-core/types/storyboard.json\";\nimport { get } from \"lodash\";\nimport * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport { builtInKeywordDeclare } from \"./constants.js\";\n\ninterface BlockContext {\n offset?: number;\n}\n\nexport function getEmbeddedJavascriptUri(\n value: monaco.editor.IModel | monaco.Uri\n) {\n if (\"uri\" in value) {\n value = value.uri;\n }\n return monaco.Uri.parse(value.toString() + \".ts\");\n}\n\n// istanbul ignore next\nexport async function provideJsSuggestItems(\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n embeddedContext: BlockContext\n) {\n const workerGetter = await monaco.languages.typescript.getJavaScriptWorker();\n const worker = await workerGetter(model.uri);\n const javascriptModel = monaco.editor.getModel(\n getEmbeddedJavascriptUri(model)\n );\n\n const endOffset = model.getOffsetAt(position);\n const starOffset = embeddedContext?.offset ?? 0;\n\n const offset = endOffset - starOffset;\n\n const info = await worker.getCompletionsAtPosition(\n javascriptModel!.uri.toString(),\n offset!\n );\n\n const wordInfo = model.getWordUntilPosition(position);\n\n const wordRange = new monaco.Range(\n position.lineNumber,\n wordInfo.startColumn,\n position.lineNumber,\n wordInfo.endColumn\n );\n\n const suggestions = (info?.entries ?? []).map((entry: any) => {\n let range = wordRange;\n\n if (entry.replacementSpan) {\n const p1 = model.getPositionAt(entry.replacementSpan.start);\n const p2 = model.getPositionAt(\n entry.replacementSpan.start + entry.replacementSpan.length\n );\n range = new monaco.Range(\n p1.lineNumber,\n p1.column,\n p2.lineNumber,\n p2.column\n );\n }\n\n return {\n uri: javascriptModel!.uri,\n position: position,\n offset: offset,\n range: range,\n label: entry.name,\n insertText: entry.name,\n sortText: entry.sortText,\n kind: monaco.languages.CompletionItemKind.Property,\n };\n });\n\n return suggestions;\n}\n\nexport function getMicroAppDeclare() {\n const appProperties = get(\n storyboardJsonSchema,\n \"definitions.MicroApp.properties\"\n ) as unknown as Record<string, { type: string }>;\n\n const fields = [];\n for (const [k, v] of Object.entries(appProperties)) {\n fields.push(`const ${k}: ${v.type ?? \"any\"}`);\n }\n\n return `\n declare namespace APP {\n ${fields.join(\"\\n\")}\n }\n `;\n}\n\nexport function getBrickYamlBuiltInDeclare() {\n return [getMicroAppDeclare(), builtInKeywordDeclare].join(\"\\n\");\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.highlight{color:rgb(74 170 189)!important;text-decoration:underline;font-weight:bold;font-style:oblique}.pointer{cursor:pointer}.monaco-editor .overflow-guard{border-radius:var(--antd-button-border-radius);background:var(--color-border-divider-line);border:1px solid var(--color-border-divider-line)}.code-editor-wrapper.error .overflow-guard{outline:1px solid var(--antd-error-color)}.code-editor-wrapper.expanded.error .overflow-guard{border:1px solid var(--antd-error-color)}.code-editor-wrapper{position:relative}.code-editor-wrapper.expanded{position:fixed;z-index:1000;top:0;left:0;right:0;bottom:0;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.code-editor-wrapper.expanded .toolbar{right:40px;top:40px}.code-editor-wrapper:hover .toolbar{display:flex}.toolbar{display:none;position:absolute;top:15px;right:20px;line-height:12px;font-size:12px;text-align:center;gap:10px;box-shadow:none;transition:none;border-radius:50%;border:none}.copy-icon,\n.expand-icon{opacity:0.5;cursor:pointer;font-size:16px}.copy-icon:hover,\n.expand-icon:hover{opacity:1}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./index.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./index.css\";\n export default content && content.locals ? content.locals : undefined;\n","import { uniqueId } from \"lodash\";\n\nlet parseWorker;\n\nfunction init() {\n if (!parseWorker) {\n parseWorker = new Worker(new URL(\"./parseYaml.worker.ts\", import.meta.url));\n }\n}\n\nexport class VSWorkers {\n static #instance = {};\n\n static getInstance(id) {\n if (!this.#instance[id]) {\n init();\n this.#instance[id] = new VSWorkers(id);\n }\n return this.#instance[id];\n }\n\n #id;\n #worker;\n\n #listenerCache = new Map();\n\n constructor(id) {\n this.#worker = parseWorker;\n this.#id = id;\n }\n\n postMessage(message) {\n this.#worker.postMessage({\n ...message,\n id: this.#id,\n });\n }\n\n addEventListener(name, listener) {\n const uid = uniqueId();\n this.#worker.addEventListener(name, (...args) => {\n const { id } = args[0].data;\n if (id === this.#id) listener(...args);\n });\n this.#listenerCache.set(uid, {\n name,\n fn: listener,\n });\n return uid;\n }\n\n removeEventListener(uid) {\n const listener = this.#listenerCache.get(uid);\n if (listener) {\n this.#worker.removeEventListener(listener.name, listener.fn);\n this.#listenerCache.delete(uid);\n }\n }\n}\n","import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm, ColProps } from \"./Form.js\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\nconst { method, property } = createDecorators();\n\nexport abstract class FormItemElementBase extends ReactNextElement {\n accessor #_notRender = false;\n accessor #validate = \"normal\";\n accessor #bindFormItem = false;\n\n get isFormItemElement(): true {\n return true;\n }\n\n set validateState(value: string) {\n this.#validate = value;\n this._render();\n }\n get validateState() {\n return this.#validate;\n }\n\n /**\n * 控制该表单项是否隐藏\n * @default false\n * @group ui\n */\n set notRender(value: boolean) {\n this.hidden = value;\n this.#_notRender = value;\n this._render();\n }\n get notRender(): boolean {\n return this.#_notRender;\n }\n\n get $bindFormItem() {\n return this.#bindFormItem;\n }\n set $bindFormItem(value: boolean) {\n this.#bindFormItem = value;\n this._render();\n }\n\n @property({\n attribute: false,\n })\n accessor helpBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelCol: ColProps | undefined;\n\n @property({\n attribute: false,\n })\n accessor wrapperCol: ColProps | undefined;\n\n @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n"],"names":["EDITOR_FONT_SIZE","EDITOR_LINE_HEIGHT","EDITOR_SCROLLBAR_SIZE","EDITOR_PADDING_VERTICAL","K","NS","locales","en","COPY","COPY_SUCCESS","COPY_FAILED","EXPAND","COLLAPSE","zh","extraLibsMap","Map","addExtraLibs","libs","options","flatMap","lib","uriString","monaco","file","filePath","toString","previousLibs","get","forEach","dispose","disposables","languageDefaults","map","key","typescript","addExtraLib","content","set","findKeys","model","range","line","curLevelKeys","keyList","parentKey","i","startColumn","matchWord","getValueInRange","startLineNumber","endLineNumber","endColumn","Infinity","match","wordSpace","length","unshift","brickNextYAMLProviderCompletionItems","completers","arguments","undefined","advancedCompleters","id","tokenConfig","async","position","context","getEditorId","suggestions","DSToken","showDSKey","word","getWordUntilPosition","prefixWord","token","_prefixToken","getPrefixWord","_word$word","prefixToken","lineNumber","column","getWordAtPosition","prefix","curLineWord","isFirstLevelProperty","getLineCount","triggerCharacter","trim","label","detail","kind","CompletionItemKind","Value","insertText","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","filter","item","includes","Keyword","concat","_ref","storyboardJsonSchema","matchCompletion","list","matchTriggerCharacter","Array","isArray","isInEvaluateBody","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixParentKey","suffixParentKey","embeddedContext","EmbeddedModelContext","getInstance","provideJsSuggestItems","getState","test","brickNextKeywords","builtInKeywordDeclare","editorId","setEditorId","_assertClassBrand","this","_instance","_","constructor","_classPrivateFieldInitSpec","_id","_state","_classPrivateFieldSet","updateState","state","_classPrivateFieldGet","getEmbeddedJavascriptUri","value","uri","parse","workerGetter","getJavaScriptWorker","worker","javascriptModel","getModel","offset","getOffsetAt","info","getCompletionsAtPosition","wordInfo","wordRange","entries","entry","replacementSpan","p1","getPositionAt","start","p2","name","sortText","Property","getMicroAppDeclare","appProperties","fields","k","v","Object","push","type","join","getBrickYamlBuiltInDeclare","___CSS_LOADER_EXPORT___","module","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","parseWorker","VSWorkers","static","Worker","URL","postMessage","message","addEventListener","listener","uid","uniqueId","args","data","fn","removeEventListener","delete","method","property","createDecorators","_A","WeakMap","_FormItemElementBase_brand","WeakSet","_B","_C","_D","_E","_F","_G","FormItemElementBase","ReactNextElement","_classPrivateMethodInitSpec","_initProto","_init_helpBrick","_init_extra_helpBrick","_init_labelBrick","_init_extra_labelBrick","_init_labelCol","_init_extra_labelCol","_init_wrapperCol","_init_extra_wrapperCol","isFormItemElement","validateState","_classPrivateSetter","_set_validate","_render","_classPrivateGetter","_get_validate","notRender","hidden","_set__notRender","_get__notRender","$bindFormItem","_get_bindFormItem","_set_bindFormItem","helpBrick","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","_this","_this2","_this3","_this4","_this5","_this6","_FormItemElementBase","_applyDecs","attribute","e"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[]).push([[7242],{77242:(e,t,n)=>{n.r(t);var i,s=n(74635),r=n(70918),a=n(26902),o=n(5536),c=n(86121),l=n(70829),u=n(62740),h=n(18769),d=n.n(h),m=n(81929),g=n(18896),p=n(4223),f=n(6484),k=n(30426),v=n(78573),A=n(36197),y=n(23909),b=n(92257),w=n(93135),M=n(91732),C=n.n(M),E=(n(19583),n(72445)),x=n(97137),L=n(34929),S=n(62738),N=n(44804),B=n(24102),W=n(9287),_=n(85502),P=n(8182),R=n(53373),z=n.n(R),V=(n(73569),n(11968));let O,I,D,F,K,T,Y,q,H,j,J,U,X,$,G,Q,Z,ee,te,ne,ie,se,re,ae,oe,ce,le,ue,he,de,me,ge,pe,fe,ke,ve,Ae,ye,be,we,Me,Ce,Ee,xe,Le,Se,Ne,Be,We,_e,Pe,Re,ze,Ve,Oe,Ie,De;(0,_.initializeReactI18n)(P.NS,P.I),(0,A.kz)(v),(0,y.kz)(v),(0,b.kz)(v,"brick_next_yaml"),(0,w.kz)(v);const{defineElement:Fe,property:Ke,event:Te}=(0,m.createDecorators)(),Ye=(0,p.wrapBrick)("eo-form-item"),qe=(0,p.wrapBrick)("eo-tooltip"),He=(0,p.wrapBrick)("eo-icon"),je=(0,g.unwrapProvider)("basic.copy-to-clipboard"),Je=(0,g.unwrapProvider)("basic.show-notification");let Ue;var Xe=new WeakMap,$e=new WeakMap,Ge=new WeakMap,Qe=new WeakMap,Ze=new WeakMap,et=new WeakMap,tt=new WeakMap,nt=new WeakMap,it=new WeakMap,st=new WeakMap,rt=new WeakMap,at=new WeakMap,ot=new WeakMap,ct=new WeakMap,lt=new WeakMap,ut=new WeakMap,ht=new WeakMap,dt=new WeakMap,mt=new WeakMap,gt=new WeakMap,pt=new WeakMap,ft=new WeakMap,kt=new WeakMap,vt=new WeakSet,At=new WeakMap,yt=new WeakMap,bt=new WeakMap,wt=new WeakMap,Mt=new WeakMap;class Ct extends k.N{constructor(){var e;super(...arguments),e=this,(0,s.A)(this,vt),(0,r.A)(this,Xe,I(this)),(0,r.A)(this,$e,(D(this),F(this))),(0,r.A)(this,Ge,(K(this),T(this))),(0,r.A)(this,Qe,(Y(this),q(this))),(0,r.A)(this,Ze,(H(this),j(this))),(0,r.A)(this,et,(J(this),U(this))),(0,r.A)(this,tt,(X(this),$(this))),(0,r.A)(this,nt,(G(this),Q(this))),(0,r.A)(this,it,(Z(this),ee(this))),(0,r.A)(this,st,(te(this),ne(this))),(0,r.A)(this,rt,(ie(this),se(this))),(0,r.A)(this,at,(re(this),ae(this))),(0,r.A)(this,ot,(oe(this),ce(this))),(0,r.A)(this,ct,(le(this),ue(this))),(0,r.A)(this,lt,(he(this),de(this))),(0,r.A)(this,ut,(me(this),ge(this))),(0,r.A)(this,ht,(pe(this),fe(this))),(0,r.A)(this,dt,(ke(this),ve(this))),(0,r.A)(this,mt,(Ae(this),ye(this))),(0,r.A)(this,gt,(be(this),we(this))),(0,r.A)(this,pt,(Me(this),Ce(this))),(0,r.A)(this,ft,(Ee(this),xe(this))),(0,r.A)(this,kt,(Le(this),Se(this))),(0,r.A)(this,At,(We(this),_e(this))),(0,r.A)(this,yt,(ze(this),function(t,n,i){var s;let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e.value=t,!r&&(null===(s=e.getFormElement())||void 0===s||s.formStore.onChange(e.name,t)),(0,o.A)(vt,e,Ne).emit(t),i||(0,o.A)(vt,e,Pe).emit(n)})),(0,r.A)(this,bt,Ve(this)),(0,r.A)(this,wt,(De(this),e=>{(0,o.A)(vt,this,Oe).emit(e)})),(0,r.A)(this,Mt,(e=>{try{C().load(e)}catch{return"请填写正确的格式"}return""}))}get name(){return(0,l.A)(Xe,this)}set name(e){(0,c.A)(Xe,this,e)}get label(){return(0,l.A)($e,this)}set label(e){(0,c.A)($e,this,e)}get value(){return(0,l.A)(Ge,this)}set value(e){(0,c.A)(Ge,this,e)}get language(){return(0,l.A)(Qe,this)}set language(e){(0,c.A)(Qe,this,e)}get theme(){return(0,l.A)(Ze,this)}set theme(e){(0,c.A)(Ze,this,e)}get required(){return(0,l.A)(et,this)}set required(e){(0,c.A)(et,this,e)}get readOnly(){return(0,l.A)(tt,this)}set readOnly(e){(0,c.A)(tt,this,e)}get automaticLayout(){return(0,l.A)(nt,this)}set automaticLayout(e){(0,c.A)(nt,this,e)}get minLines(){return(0,l.A)(it,this)}set minLines(e){(0,c.A)(it,this,e)}get completers(){return(0,l.A)(st,this)}set completers(e){(0,c.A)(st,this,e)}get advancedCompleters(){return(0,l.A)(rt,this)}set advancedCompleters(e){(0,c.A)(rt,this,e)}get markers(){return(0,l.A)(at,this)}set markers(e){(0,c.A)(at,this,e)}get links(){return(0,l.A)(ot,this)}set links(e){(0,c.A)(ot,this,e)}get maxLines(){return(0,l.A)(ct,this)}set maxLines(e){(0,c.A)(ct,this,e)}get height(){return(0,l.A)(lt,this)}set height(e){(0,c.A)(lt,this,e)}get message(){return(0,l.A)(ut,this)}set message(e){(0,c.A)(ut,this,e)}get showExpandButton(){return(0,l.A)(ht,this)}set showExpandButton(e){(0,c.A)(ht,this,e)}get lineNumbers(){return(0,l.A)(dt,this)}set lineNumbers(e){(0,c.A)(dt,this,e)}get tokenConfig(){return(0,l.A)(mt,this)}set tokenConfig(e){(0,c.A)(mt,this,e)}get customValidationInBrickNextYaml(){return(0,l.A)(gt,this)}set customValidationInBrickNextYaml(e){(0,c.A)(gt,this,e)}get showCopyButton(){return(0,l.A)(pt,this)}set showCopyButton(e){(0,c.A)(pt,this,e)}get extraLibs(){return(0,l.A)(ft,this)}set extraLibs(e){(0,c.A)(ft,this,e)}connectedCallback(){this.style.display||(this.style.display="block"),super.connectedCallback()}render(){return d().createElement(Ye,{exportparts:"message",curElement:this,formElement:this.getFormElement(),name:this.name,label:this.label,required:this.required,helpBrick:this.helpBrick,labelBrick:this.labelBrick,notRender:this.notRender,validator:(0,l.A)(Mt,this)},d().createElement(Et,{value:this.value,language:this.language,readOnly:this.readOnly,theme:this.theme,automaticLayout:this.automaticLayout,minLines:this.minLines,maxLines:this.maxLines,height:this.height,completers:this.completers,advancedCompleters:this.advancedCompleters,extraLibs:this.extraLibs,markers:this.markers,links:this.links,tokenConfig:this.tokenConfig,lineNumbers:this.lineNumbers,showCopyButton:this.showCopyButton,showExpandButton:this.showExpandButton,validateState:this.validateState,onChange:(0,l.A)(yt,this),onTokenClick:(0,l.A)(wt,this),customValidationInBrickNextYaml:this.customValidationInBrickNextYaml}))}}function Et(e){let{value:t,language:n,theme:i,minLines:s,maxLines:r,height:a,automaticLayout:o,completers:c,advancedCompleters:l,markers:u,readOnly:m,links:g,extraLibs:p,tokenConfig:k={showDSKey:!1},showExpandButton:A,showCopyButton:y=!0,lineNumbers:b="on",validateState:w,onChange:M,onTokenClick:C,customValidationInBrickNextYaml:R}=e;const O=t??"",I=n??"plaintext",D=i??"auto",F=s??3,K=r??1/0,T=a??500,[Y,q]=(0,h.useState)(!1),H=(0,h.useMemo)((()=>(0,E.uniqueId)("worker")),[]),{t:j}=(0,_.useTranslation)(P.NS),J=(0,h.useRef)(null),U=(0,h.useRef)(),X=(0,h.useRef)(),$=(0,h.useRef)({width:300,height:xt(O,F,K)}),[G,Q]=(0,h.useState)(),Z=(0,h.useRef)(o),ee=(0,f.useCurrentTheme)();(0,h.useEffect)((()=>{if("brick_next_yaml"!==I)return;const e=S.h.getInstance(H),t=e.addEventListener("message",(e=>{const{token:t,data:n,init:i=!1}=e.data,s=X.current.getModel();if(!s)return;const r=s.getValue();switch(t){case"parse_yaml":{var a;const{value:e,tokens:t,markers:o}=n;null===(a=U.current)||void 0===a||a.set(t.map((e=>({range:new v.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),options:{inlineClassName:"highlight"}})))),v.editor.setModelMarkers(s,"brick_next_yaml",o),M(r,e,!1,i);break}case"parse_yaml_error":var o;v.editor.setModelMarkers(s,"brick_next_yaml",[]),null==U||null===(o=U.current)||void 0===o||o.set([]),M(r,void 0,!1,i)}}));return()=>{e.removeEventListener(t)}}),[]),(0,h.useEffect)((()=>{const e="auto"===D?"dark"===ee||"dark-v2"===ee?"vs-dark":"vs":D,t=e.includes("dark")?"#FFFFFF0F":"#0000000A";v.editor.defineTheme("custom-theme",{base:e,inherit:!0,rules:[],colors:{"editor.lineHighlightBackground":`${t}`}}),v.editor.setTheme("custom-theme")}),[ee,D]),(0,h.useEffect)((()=>{if(X.current){const e=X.current.getModel();v.editor.setModelLanguage(e,I)}}),[I]),(0,h.useEffect)((()=>{if("brick_next_yaml"===I){const e=(0,L.v)(c,l,H,k),t=v.languages.registerCompletionItemProvider("brick_next_yaml",{provideCompletionItems:e,triggerCharacters:[".",":","<"]});return()=>{t.dispose()}}}),[c,l,I]);const te=(0,h.useCallback)((e=>{let{init:t=!1}=e;if("brick_next_yaml"!==I||!X.current)return;const n=S.h.getInstance(H),i=X.current.getModel();n.postMessage({token:"parse_yaml",data:{value:null==i?void 0:i.getValue(),links:g,markers:u},options:k,init:t})}),[I,k,g,u,H]),ne=(0,h.useMemo)((()=>(0,E.debounce)(te,300)),[te]);(0,h.useEffect)((()=>{if(X.current){const e=X.current.getModel();null!=e&&e.getValue&&O!==e.getValue()&&(e.setValue(O),ne({init:!0}))}}),[O,ne]),(0,h.useEffect)((()=>{ne({init:!0})}),[]),(0,h.useLayoutEffect)((()=>{var e;if("fit-content"!==Z.current||!J.current)return;$.current.width=J.current.getBoundingClientRect().width,null===(e=X.current)||void 0===e||e.layout($.current);const t=new ResizeObserver((e=>{for(const n of e)if(n.target===J.current){const e=n.contentBoxSize?n.contentBoxSize[0].inlineSize:n.contentRect.width,i=n.contentBoxSize?n.contentBoxSize[0].blockSize:n.contentRect.height;var t;(e!==$.current.width||Y)&&($.current.width=e,null===(t=X.current)||void 0===t||t.layout({width:e,height:Y?i:$.current.height}));break}}));return t.observe(J.current),()=>{t.disconnect()}}),[Y]),(0,h.useLayoutEffect)((()=>{if("fit-container"!==Z.current)return;const e=function(e){let t=e;for(;t;){const e="vs.code-editor"===t.tagName.toLowerCase();if(t=t.parentElement,e)return t}}(J.current);if(!e)return;const t=new ResizeObserver((()=>{Q(e.offsetHeight)}));return t.observe(e),()=>{t.disconnect()}}),[]),(0,h.useEffect)((()=>{"fit-container"!==Z.current&&"fit-content"!==Z.current&&Q(T)}),[T]),(0,h.useEffect)((()=>{X.current&&X.current.updateOptions({readOnly:m})}),[m]),(0,h.useEffect)((()=>{if(X.current||!J.current)return;const e=v.editor.createModel(O,I);if("brick_next_yaml"===I){const t=(0,B.AR)(e.uri);v.editor.createModel(O,"javascript",t),v.languages.typescript.javascriptDefaults.addExtraLib((0,B.Eh)(),e.uri.toString()+"d.ts")}X.current=v.editor.create(J.current,{model:e,minimap:{enabled:!1},scrollBeyondLastLine:!1,tabSize:2,insertSpaces:!0,automaticLayout:"fit-content"!==Z.current,fontSize:x.yU,lineHeight:x.fE,scrollbar:{horizontalScrollbarSize:x.lP,verticalScrollbarSize:x.lP,horizontalSliderSize:8,verticalSliderSize:8,alwaysConsumeMouseWheel:!1},padding:{top:x.Vu,bottom:"fit-content"==Z.current?void 0:x.Vu},overviewRulerBorder:!1,mouseWheelScrollSensitivity:.5,fixedOverflowWidgets:!0,lineNumbers:b,lineNumbersMinChars:3,glyphMargin:"off"!==b,folding:"off"!==b,suggest:{insertMode:"insert",preview:!0},readOnly:m,quickSuggestions:{strings:!0,other:!0,comments:!0},renderLineHighlightOnlyWhenFocus:!0}),U.current=X.current.createDecorationsCollection()}),[]),(0,h.useEffect)((()=>{const e=p??[],t="typescript"===I?"typescriptDefaults":"javascriptDefaults",n=(0,W.m)(e,{languageDefaults:t});return()=>{for(const e of n)e.dispose()}}),[p,I]),(0,h.useEffect)((()=>{const e=X.current;if("brick_next_yaml"===I&&e){const t=e.getModel(),n=e.onMouseDown((function(e){var n;const i=U.current;((null==i||null===(n=i.getRanges)||void 0===n?void 0:n.call(i))??[]).forEach((n=>{const i=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";n&&e.target.position&&e.event[i]&&n.containsPosition(e.target.position)&&C(t.getValueInRange(n))}))})),i=e.onMouseMove((function(e){const t=U.current;t&&t.getRanges().forEach((n=>{const i=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";if(n&&e.target.position&&e.event[i]&&n.containsPosition(e.target.position)){const e=t.getRanges().map((e=>({range:e,options:{inlineClassName:n.equalsRange(e)?"highlight pointer":"highlight"}})));t.set(e)}else if(!e.event[i]){const e=t.getRanges().map((e=>({range:e,options:{inlineClassName:"highlight"}})));t.set(e)}}))}));return()=>{null==i||i.dispose(),null==n||n.dispose()}}}),[I,C,ee,D]),(0,h.useEffect)((()=>{const e=X.current;if(!e||!J.current||"fit-content"!==Z.current)return;const t=e.onDidContentSizeChange((t=>{if(!Y&&t.contentHeightChanged){const n=Lt(t.contentHeight,F,K);n!==$.current.height&&($.current.height=n,e.layout($.current))}})),n=Lt(e.getContentHeight(),F,K);return n!==$.current.height&&($.current.height=n,e.layout($.current)),()=>{t.dispose()}}),[K,F,Y]);const ie=(0,h.useCallback)((async(e,t)=>{v.editor.setModelMarkers(e,"semantic_validate",[]);const n=e.findPreviousMatch("<%[~=]?",t,!0,!1,null,!1),i=e.findNextMatch("%>",t,!1,!1,null,!1),s=null==n?void 0:n.range,r=null==i?void 0:i.range;if(s&&r){const n=new v.Range(s.startLineNumber,s.endColumn,r.startLineNumber,r.startColumn),i=e.getValueInRange(n);if(n.containsPosition(t)&&!/<% | %>/.test(i)){const t=(0,B.AR)(e.uri);v.editor.getModel(t).setValue(i);const r=e.getOffsetAt(new v.Position(s.startLineNumber,s.endColumn));if(V.b.getInstance(H).updateState({content:i,range:n,offset:r}),!R)return;const a=await v.languages.typescript.getJavaScriptWorker(),o=await a(t),c=(await o.getSemanticDiagnostics(t.toString())).map((t=>{const n=r+(t.start??0),i=e.getPositionAt(n);return{startLineNumber:i.lineNumber,startColumn:i.column,endLineNumber:i.lineNumber,endColumn:i.column+t.length,message:t.messageText,severity:v.MarkerSeverity.Warning}}));v.editor.setModelMarkers(e,"semantic_validate",c)}}}),[H]);(0,h.useEffect)((()=>{if(!X.current)return;const e=X.current.getModel(),t=e.onDidChangeContent((async()=>{(0,N.J)(H),["brick_next_yaml"].includes(I)?(ie(e,X.current.getPosition()),ne({init:!1})):M(e.getValue(),void 0,!1,!1)}));return()=>{t.dispose()}}),[ne,M,H,I,ie]),(0,h.useEffect)((()=>{if(Y){const e=t=>{"Escape"!==t.key&&"Esc"!==t.key||(window.removeEventListener("keydown",e),q(!1))};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}}}),[Y]),(0,h.useEffect)((()=>()=>{var e,t;null===(e=X.current)||void 0===e||null===(e=e.getModel())||void 0===e||e.dispose(),null===(t=X.current)||void 0===t||t.dispose()}),[]);const se=(0,h.useCallback)((()=>{if(X.current){const e=X.current.getModel();je(e.getValue()).then((()=>Je({type:"success",message:j(P.K.COPY_SUCCESS)}))).catch((()=>Je({type:"error",message:j(P.K.COPY_FAILED)})))}}),[j]),re=(0,h.useCallback)((()=>{q(!Y)}),[Y]);return d().createElement("div",{className:z()("code-editor-wrapper",{expanded:Y,error:"error"===w})},d().createElement("div",{ref:J,style:{height:Y?"100%":G,overflow:Y?"scroll":""}}),d().createElement("div",{className:"toolbar"},y&&d().createElement(qe,{content:j(P.K.COPY)},d().createElement(He,{className:"copy-icon",icon:"copy",lib:"antd",theme:"outlined",onClick:se})),A&&d().createElement(qe,{content:j(Y?P.K.COLLAPSE:P.K.EXPAND)},d().createElement(He,{className:"expand-icon",icon:Y?"compress":"expand",lib:"antd",theme:"outlined",onClick:re}))))}function xt(e,t,n){return St(Math.min(n,Math.max(t,e.split("\n").length)))}function Lt(e,t,n){let i=e;return(e-x.Vu)%x.fE==0&&(i=e+x.lP),Math.min(St(n),Math.max(i,St(t)))}function St(e){return e*x.fE+x.lP+x.Vu}i=Ct,({e:[I,D,F,K,T,Y,q,H,j,J,U,X,$,G,Q,Z,ee,te,ne,ie,se,re,ae,oe,ce,le,ue,he,de,me,ge,pe,fe,ke,ve,Ae,ye,be,we,Me,Ce,Ee,xe,Le,Se,Ne,Be,We,_e,Pe,Re,ze,Ve,Oe,Ie,De],c:[Ue,O]}=(0,u.A)(i,[Fe("vs.code-editor",{shadowOptions:!1})],[[Ke(),1,"name"],[Ke(),1,"label"],[Ke(),1,"value"],[Ke(),1,"language"],[Ke(),1,"theme"],[Ke({type:Boolean}),1,"required"],[Ke({type:Boolean}),1,"readOnly"],[Ke(),1,"automaticLayout"],[Ke({type:Number}),1,"minLines"],[Ke({attribute:!1}),1,"completers"],[Ke({attribute:!1}),1,"advancedCompleters"],[Ke({attribute:!1}),1,"markers"],[Ke({attribute:!1}),1,"links"],[Ke({type:Number}),1,"maxLines"],[Ke({attribute:!1}),1,"height"],[Ke(),1,"message"],[Ke({type:Boolean}),1,"showExpandButton"],[Ke(),1,"lineNumbers"],[Ke({attribute:!1}),1,"tokenConfig"],[Ke({type:Boolean}),1,"customValidationInBrickNextYaml"],[Ke({type:Boolean}),1,"showCopyButton"],[Ke({attribute:!1}),1,"extraLibs"],[Te({type:"code.change"}),1,"codeChange",e=>(0,l.A)(kt,e),(e,t)=>(0,c.A)(kt,e,t)],[Te({type:"user.input"}),1,"userInput",e=>(0,l.A)(At,e),(e,t)=>(0,c.A)(At,e,t)],[Te({type:"token.click"}),1,"tokenClickEvent",e=>(0,l.A)(bt,e),(e,t)=>(0,c.A)(bt,e,t)]],0,(e=>Mt.has((0,a.A)(e))),k.N)),O()}}]);
|
|
2
|
+
//# sourceMappingURL=7242.0a2d3b0d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/7242.0a2d3b0d.js","mappings":"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","sources":["webpack:///./src/code-editor/index.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport { register as registerJavaScript } from \"@next-core/monaco-contributions/javascript\";\nimport { register as registerTypeScript } from \"@next-core/monaco-contributions/typescript\";\nimport { register as registerYaml } from \"@next-core/monaco-contributions/yaml\";\nimport { register as registerHtml } from \"@next-core/monaco-contributions/html\";\nimport yaml from \"js-yaml\";\nimport \"@next-core/theme\";\nimport { uniqueId, debounce } from \"lodash\";\nimport {\n EDITOR_SCROLLBAR_SIZE,\n EDITOR_PADDING_VERTICAL,\n EDITOR_LINE_HEIGHT,\n EDITOR_FONT_SIZE,\n} from \"./constants.js\";\nimport { AdvancedCompleterMap, ExtraLib } from \"./interfaces.js\";\nimport { brickNextYAMLProviderCompletionItems } from \"./utils/brickNextYaml.js\";\nimport { Level } from \"./utils/constants.js\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { VSWorkers } from \"./workers/index.mjs\";\nimport { setEditorId } from \"./utils/editorId.js\";\nimport {\n getEmbeddedJavascriptUri,\n getBrickYamlBuiltInDeclare,\n} from \"./utils/jsSuggestInBrickYaml.js\";\nimport { addExtraLibs } from \"./utils/addExtraLibs.js\";\nimport type { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport type { copyToClipboard as _copyToClipboard } from \"@next-bricks/basic/data-providers/copy-to-clipboard\";\nimport type { showNotification as _showNotification } from \"@next-bricks/basic/data-providers/show-notification/show-notification\";\nimport classNames from \"classnames\";\nimport \"./index.css\";\nimport { EmbeddedModelContext } from \"./utils/embeddedModelState.js\";\n\ninitializeReactI18n(NS, locales);\n\nregisterJavaScript(monaco);\nregisterTypeScript(monaco);\nregisterYaml(monaco, \"brick_next_yaml\");\nregisterHtml(monaco);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedTooltip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst copyToClipboard = unwrapProvider<typeof _copyToClipboard>(\n \"basic.copy-to-clipboard\"\n);\nconst showNotification = unwrapProvider<typeof _showNotification>(\n \"basic.show-notification\"\n);\n\nexport interface CodeEditorProps {\n name?: string;\n label?: string;\n value?: string;\n language?: string;\n theme?: string;\n required?: boolean;\n readOnly?: boolean;\n automaticLayout?: \"fit-container\" | \"fit-content\" | \"none\";\n minLines?: number;\n maxLines?: number;\n height?: string | number;\n completers?: monaco.languages.CompletionItem[];\n tokenConfig?: TokenConfig;\n advancedCompleters?: AdvancedCompleterMap;\n extraLibs?: ExtraLib[];\n markers?: Marker[];\n links?: string[];\n showExpandButton?: boolean;\n showCopyButton?: boolean;\n lineNumbers?: monaco.editor.LineNumbersType;\n validateState?: string;\n customValidationInBrickNextYaml?: boolean;\n}\n\nexport interface Marker {\n token: string;\n level?: keyof typeof Level;\n message?: string;\n code?: {\n value: string;\n target: string;\n };\n params?: string[];\n}\n\nexport type TokenConfig = {\n showDSKey: boolean;\n};\n\n/**\n * 构件代码编辑器\n * @category form-input-advanced\n */\nexport\n@defineElement(\"vs.code-editor\", {\n // There are a few issues for monaco-editor with shadow DOM.\n // So we use light DOM for now.\n // See https://github.com/microsoft/monaco-editor/issues?q=is%3Aissue+is%3Aopen+shadow+dom\n shadowOptions: false,\n})\nclass CodeEditor extends FormItemElementBase implements CodeEditorProps {\n @property()\n accessor name: string | undefined;\n\n @property()\n accessor label: string | undefined;\n\n @property()\n accessor value: string | undefined;\n\n /**\n * @default \"plaintext\"\n */\n @property()\n accessor language: string | undefined;\n\n /**\n * 主题,支持 `\"auto\" | \"vs\" | \"vs-dark\"`\n *\n * @default \"auto\"\n * @group ui\n */\n @property() accessor theme: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n @property({\n type: Boolean,\n })\n accessor readOnly: boolean | undefined;\n\n @property()\n accessor automaticLayout:\n | \"fit-container\"\n | \"fit-content\"\n | \"none\"\n | undefined;\n\n /**\n * @default 3\n */\n @property({ type: Number })\n accessor minLines: number | undefined;\n\n @property({\n attribute: false,\n })\n accessor completers: monaco.languages.CompletionItem[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor advancedCompleters: AdvancedCompleterMap | undefined;\n\n @property({ attribute: false })\n accessor markers: Marker[] | undefined;\n\n @property({ attribute: false })\n accessor links: string[] | undefined;\n\n /**\n * @default Infinity\n */\n @property({ type: Number })\n accessor maxLines: number | undefined;\n\n @property({ attribute: false })\n accessor height: string | number | undefined;\n\n @property()\n accessor message: string | undefined;\n\n /**\n * 是否展示展开按钮\n */\n @property({ type: Boolean })\n accessor showExpandButton: boolean | undefined;\n\n /**\n * 行数配置\n */\n @property()\n accessor lineNumbers: monaco.editor.LineNumbersType | undefined;\n\n /**\n * 自定义高亮配置\n */\n @property({\n attribute: false,\n })\n accessor tokenConfig: TokenConfig | undefined;\n\n /**\n * 在 brick_next_yaml 中是否开启语义相关校验\n * @default false\n */\n @property({\n type: Boolean,\n })\n accessor customValidationInBrickNextYaml: boolean | undefined;\n\n /**\n * 是否展示复制按钮\n * @default true\n */\n @property({ type: Boolean })\n accessor showCopyButton: boolean | undefined;\n\n /**\n * @description 额外声明的 lib 库\n */\n @property({\n attribute: false,\n })\n accessor extraLibs: ExtraLib[] | undefined;\n\n @event({ type: \"code.change\" })\n accessor #codeChange!: EventEmitter<string>;\n\n @event({ type: \"user.input\" })\n accessor #userInput!: EventEmitter<string>;\n\n #handleChange = (\n value: string,\n parseValue: any,\n isFlush: boolean,\n isInit: boolean = false\n ) => {\n this.value = value;\n !isInit && this.getFormElement()?.formStore.onChange(this.name!, value);\n this.#codeChange.emit(value);\n if (!isFlush) {\n this.#userInput.emit(parseValue);\n }\n };\n\n @event({ type: \"token.click\" })\n accessor #tokenClickEvent!: EventEmitter<string>;\n\n #handleTokenClick = (word: string) => {\n this.#tokenClickEvent.emit(word);\n };\n\n #handleValidtor = (value: string) => {\n try {\n yaml.load(value);\n } catch {\n return \"请填写正确的格式\";\n }\n return \"\";\n };\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <WrappedFormItem\n exportparts=\"message\"\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n helpBrick={this.helpBrick}\n labelBrick={this.labelBrick}\n notRender={this.notRender}\n validator={this.#handleValidtor}\n >\n <CodeEditorComponent\n value={this.value}\n language={this.language}\n readOnly={this.readOnly}\n theme={this.theme}\n automaticLayout={this.automaticLayout}\n minLines={this.minLines}\n maxLines={this.maxLines}\n height={this.height}\n completers={this.completers}\n advancedCompleters={this.advancedCompleters}\n extraLibs={this.extraLibs}\n markers={this.markers}\n links={this.links}\n tokenConfig={this.tokenConfig}\n lineNumbers={this.lineNumbers}\n showCopyButton={this.showCopyButton}\n showExpandButton={this.showExpandButton}\n validateState={this.validateState}\n onChange={this.#handleChange}\n onTokenClick={this.#handleTokenClick}\n customValidationInBrickNextYaml={this.customValidationInBrickNextYaml}\n />\n </WrappedFormItem>\n );\n }\n}\n\nexport function CodeEditorComponent({\n value: _value,\n language: _language,\n theme: _theme,\n minLines: _minLines,\n maxLines: _maxLines,\n height: _height,\n automaticLayout,\n completers,\n advancedCompleters,\n markers,\n readOnly,\n links,\n extraLibs,\n tokenConfig = {\n showDSKey: false,\n },\n showExpandButton,\n showCopyButton = true,\n lineNumbers = \"on\",\n validateState,\n onChange,\n onTokenClick,\n customValidationInBrickNextYaml,\n}: CodeEditorProps & {\n onChange(\n value: string,\n parseValue: any,\n isFlush: boolean,\n isInit: boolean\n ): void;\n onTokenClick(word: string): void;\n}) {\n const value = _value ?? \"\";\n const language = _language ?? \"plaintext\";\n const theme = _theme ?? \"auto\";\n const minLines = _minLines ?? 3;\n const maxLines = _maxLines ?? Infinity;\n const height = _height ?? 500;\n const [expanded, setExpanded] = useState(false);\n const workerId = useMemo(() => uniqueId(\"worker\"), []);\n\n const { t } = useTranslation(NS);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const decorationsCollection =\n useRef<monaco.editor.IEditorDecorationsCollection>();\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n const size = useRef<monaco.editor.IDimension>({\n width: 300,\n height: getContentHeightByCode(value, minLines, maxLines),\n });\n const [actualHeight, setActualHeight] = useState<string | number>();\n // `automaticLayout` should never change\n const automaticLayoutRef = useRef(automaticLayout);\n const systemTheme = useCurrentTheme();\n\n useEffect(() => {\n if (language !== \"brick_next_yaml\") return;\n const workerInstance = VSWorkers.getInstance(workerId);\n const id = workerInstance.addEventListener(\"message\", (message: any) => {\n const { token, data, init = false } = message.data;\n const model = editorRef.current!.getModel();\n if (!model) return;\n const originValue = model.getValue();\n\n switch (token) {\n case \"parse_yaml\": {\n const { value, tokens, markers } = data;\n\n decorationsCollection.current?.set(\n tokens.map((token: any) => ({\n range: new monaco.Range(\n token.startLineNumber,\n token.startColumn,\n token.endLineNumber,\n token.endColumn\n ),\n options: {\n inlineClassName: \"highlight\",\n },\n }))\n );\n monaco.editor.setModelMarkers(model, \"brick_next_yaml\", markers);\n onChange(originValue, value, false, init);\n break;\n }\n case \"parse_yaml_error\": {\n monaco.editor.setModelMarkers(model, \"brick_next_yaml\", []);\n decorationsCollection?.current?.set([]);\n onChange(originValue, undefined, false, init);\n break;\n }\n }\n });\n return () => {\n workerInstance.removeEventListener(id);\n };\n }, []);\n\n useEffect(() => {\n const computedTheme =\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme;\n const lineHeightBackground = computedTheme.includes(\"dark\")\n ? \"#FFFFFF0F\"\n : \"#0000000A\";\n monaco.editor.defineTheme(\"custom-theme\", {\n base: computedTheme as \"vs-dark\" | \"vs\",\n inherit: true,\n rules: [],\n colors: {\n \"editor.lineHighlightBackground\": `${lineHeightBackground}`,\n },\n });\n // Currently theme is configured globally.\n // See https://github.com/microsoft/monaco-editor/issues/338\n monaco.editor.setTheme(\"custom-theme\");\n }, [systemTheme, theme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n }\n }, [language]);\n\n useEffect(() => {\n if (language === \"brick_next_yaml\") {\n const provideCompletionItems = brickNextYAMLProviderCompletionItems(\n completers,\n advancedCompleters,\n workerId,\n tokenConfig\n );\n const monacoProviderRef = monaco.languages.registerCompletionItemProvider(\n \"brick_next_yaml\",\n {\n provideCompletionItems,\n triggerCharacters: [\".\", \":\", \"<\"],\n } as monaco.languages.CompletionItemProvider\n );\n return () => {\n monacoProviderRef.dispose();\n };\n }\n }, [completers, advancedCompleters, language]);\n\n const parseYaml = useCallback(\n ({ init = false }: { init?: boolean }) => {\n if (language !== \"brick_next_yaml\" || !editorRef.current) return;\n const workerInstance = VSWorkers.getInstance(workerId);\n const currentModel = editorRef.current.getModel();\n workerInstance.postMessage({\n token: \"parse_yaml\",\n data: {\n value: currentModel?.getValue(),\n links,\n markers,\n },\n options: tokenConfig,\n init,\n });\n },\n [language, tokenConfig, links, markers, workerId]\n );\n\n const debounceParse = useMemo(() => debounce(parseYaml, 300), [parseYaml]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel();\n if (currentModel?.getValue && value !== currentModel.getValue()) {\n currentModel.setValue(value as string);\n debounceParse({\n init: true,\n });\n }\n }\n }, [value, debounceParse]);\n\n useEffect(() => {\n debounceParse({\n init: true,\n });\n }, []);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-content\" || !containerRef.current) {\n return;\n }\n\n size.current.width = containerRef.current.getBoundingClientRect().width;\n editorRef.current?.layout(size.current);\n\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === containerRef.current) {\n const newWidth = entry.contentBoxSize\n ? entry.contentBoxSize[0].inlineSize\n : entry.contentRect.width;\n const newHeight = entry.contentBoxSize\n ? entry.contentBoxSize[0].blockSize\n : entry.contentRect.height;\n if (newWidth !== size.current.width || expanded) {\n size.current.width = newWidth;\n editorRef.current?.layout({\n width: newWidth,\n height: expanded ? newHeight : size.current.height,\n });\n }\n break;\n }\n }\n });\n observer.observe(containerRef.current);\n\n return () => {\n observer.disconnect();\n };\n }, [expanded]);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-container\") {\n return;\n }\n\n const container = getDOMContainer(containerRef.current);\n if (!container) {\n return;\n }\n // Manually layout the editor once the container resized.\n const observer = new ResizeObserver((): void => {\n setActualHeight(container.offsetHeight);\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (\n automaticLayoutRef.current !== \"fit-container\" &&\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n setActualHeight(height);\n }\n }, [height]);\n\n useEffect(() => {\n if (!editorRef.current) return;\n editorRef.current.updateOptions({\n readOnly,\n });\n }, [readOnly]);\n\n useEffect(() => {\n if (editorRef.current || !containerRef.current) {\n return;\n }\n const model = monaco.editor.createModel(value, language);\n if (language === \"brick_next_yaml\") {\n // 注册嵌套的 model, language 为 js\n const uri = getEmbeddedJavascriptUri(model.uri);\n monaco.editor.createModel(value, \"javascript\", uri);\n monaco.languages.typescript.javascriptDefaults.addExtraLib(\n getBrickYamlBuiltInDeclare(),\n model.uri.toString() + \"d.ts\"\n );\n }\n\n editorRef.current = monaco.editor.create(containerRef.current, {\n model,\n minimap: {\n enabled: false,\n },\n scrollBeyondLastLine: false,\n tabSize: 2,\n insertSpaces: true,\n automaticLayout: automaticLayoutRef.current !== \"fit-content\",\n fontSize: EDITOR_FONT_SIZE,\n lineHeight: EDITOR_LINE_HEIGHT,\n scrollbar: {\n horizontalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n verticalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n horizontalSliderSize: 8,\n verticalSliderSize: 8,\n alwaysConsumeMouseWheel: false,\n },\n padding: {\n top: EDITOR_PADDING_VERTICAL,\n // When use `fit-content`, we always plus the height with the vertical padding.\n // Thus the possible x-scrollbar will not take extra space at the bottom.\n bottom:\n automaticLayoutRef.current == \"fit-content\"\n ? undefined\n : EDITOR_PADDING_VERTICAL,\n },\n overviewRulerBorder: false,\n mouseWheelScrollSensitivity: 0.5,\n fixedOverflowWidgets: true,\n lineNumbers: lineNumbers,\n lineNumbersMinChars: 3,\n glyphMargin: lineNumbers !== \"off\",\n folding: lineNumbers !== \"off\",\n suggest: {\n insertMode: \"insert\",\n preview: true,\n },\n readOnly: readOnly,\n quickSuggestions: { strings: true, other: true, comments: true },\n renderLineHighlightOnlyWhenFocus: true,\n });\n\n decorationsCollection.current =\n editorRef.current.createDecorationsCollection();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const libs: ExtraLib[] = extraLibs ?? [];\n\n const languageDefaults =\n language === \"typescript\" ? \"typescriptDefaults\" : \"javascriptDefaults\";\n const disposables = addExtraLibs(libs, {\n languageDefaults,\n });\n return () => {\n for (const item of disposables) {\n item.dispose();\n }\n };\n }, [extraLibs, language]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (language === \"brick_next_yaml\" && editor) {\n const model = editor.getModel()!;\n const editorMouseDownEvent = editor.onMouseDown(function (e) {\n const decorations = decorationsCollection.current;\n (decorations?.getRanges?.() ?? []).forEach((range) => {\n const modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n if (\n range &&\n e.target.position &&\n e.event[modKey] &&\n range.containsPosition(e.target.position)\n ) {\n onTokenClick(model.getValueInRange(range));\n }\n });\n });\n\n const mouseOverEvent = editor.onMouseMove(function (e) {\n const decorations = decorationsCollection.current;\n if (!decorations) return;\n decorations.getRanges().forEach((range) => {\n const modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n if (\n range &&\n e.target.position &&\n e.event[modKey] &&\n range.containsPosition(e.target.position)\n ) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: range.equalsRange(item)\n ? \"highlight pointer\"\n : \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n } else if (!e.event[modKey]) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n }\n });\n });\n\n return () => {\n mouseOverEvent?.dispose();\n editorMouseDownEvent?.dispose();\n };\n }\n }, [language, onTokenClick, systemTheme, theme]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (\n !editor ||\n !containerRef.current ||\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n return;\n }\n\n const listener = editor.onDidContentSizeChange((e) => {\n if (expanded) return;\n if (e.contentHeightChanged) {\n const newHeight = fixEditorHeightWithScrollBar(\n e.contentHeight,\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n }\n });\n\n const newHeight = fixEditorHeightWithScrollBar(\n editor.getContentHeight(),\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n\n return () => {\n listener.dispose();\n };\n }, [maxLines, minLines, expanded]);\n\n // istanbul ignore next\n const embeddedModelProcessor = useCallback(\n async (model: monaco.editor.IModel, position: monaco.Position) => {\n monaco.editor.setModelMarkers(model, \"semantic_validate\", []);\n\n const prefixEvaluateOperator = model.findPreviousMatch(\n \"<%[~=]?\",\n position,\n true,\n false,\n null,\n false\n );\n\n const suffixEvaluateOperator = model.findNextMatch(\n \"%>\",\n position,\n false,\n false,\n null,\n false\n );\n\n const prefixEvaluateRange = prefixEvaluateOperator?.range;\n const suffixEvaluateRange = suffixEvaluateOperator?.range;\n\n if (prefixEvaluateRange && suffixEvaluateRange) {\n const range = new monaco.Range(\n prefixEvaluateRange.startLineNumber,\n prefixEvaluateRange.endColumn,\n suffixEvaluateRange.startLineNumber,\n suffixEvaluateRange.startColumn\n );\n\n const content = model.getValueInRange(range);\n if (range.containsPosition(position!) && !/<% | %>/.test(content)) {\n const newUri = getEmbeddedJavascriptUri(model.uri);\n const embeddedModel = monaco.editor.getModel(newUri);\n\n embeddedModel!.setValue(content);\n const offset = model.getOffsetAt(\n new monaco.Position(\n prefixEvaluateRange.startLineNumber,\n prefixEvaluateRange.endColumn\n )\n );\n\n const embeddedContext = EmbeddedModelContext.getInstance(workerId);\n\n embeddedContext.updateState({ content, range, offset });\n\n if (!customValidationInBrickNextYaml) return;\n\n const getWorker =\n await monaco.languages.typescript.getJavaScriptWorker();\n\n const worker = await getWorker(newUri);\n\n const diagnostics = await worker.getSemanticDiagnostics(\n newUri.toString()\n );\n\n const semanticMarkers = diagnostics.map((item) => {\n const finalOffset = offset + (item.start ?? 0);\n const currentPosition = model.getPositionAt(finalOffset);\n\n return {\n startLineNumber: currentPosition.lineNumber,\n startColumn: currentPosition.column,\n endLineNumber: currentPosition.lineNumber,\n endColumn: currentPosition.column + item.length!,\n message: item.messageText as string,\n severity: monaco.MarkerSeverity.Warning,\n };\n });\n\n monaco.editor.setModelMarkers(\n model,\n \"semantic_validate\",\n semanticMarkers\n );\n }\n }\n },\n [workerId]\n );\n\n useEffect(() => {\n if (!editorRef.current) {\n return;\n }\n const currentModel = editorRef.current.getModel()!;\n const listener = currentModel.onDidChangeContent(async () => {\n setEditorId(workerId);\n\n if ([\"brick_next_yaml\"].includes(language)) {\n embeddedModelProcessor(currentModel, editorRef.current!.getPosition()!);\n debounceParse({\n init: false,\n });\n } else {\n onChange(currentModel.getValue(), undefined, false, false);\n }\n });\n return () => {\n listener.dispose();\n };\n }, [debounceParse, onChange, workerId, language, embeddedModelProcessor]);\n\n useEffect(() => {\n if (expanded) {\n const fn = (e: KeyboardEvent): void => {\n if (e.key === \"Escape\" || e.key === \"Esc\") {\n window.removeEventListener(\"keydown\", fn);\n setExpanded(false);\n }\n };\n window.addEventListener(\"keydown\", fn);\n return () => {\n window.removeEventListener(\"keydown\", fn);\n };\n }\n }, [expanded]);\n\n useEffect(() => {\n return () => {\n editorRef.current?.getModel()?.dispose();\n editorRef.current?.dispose();\n };\n }, []);\n\n const handleCopyIconClick = useCallback(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n copyToClipboard(currentModel.getValue())\n .then(() =>\n showNotification({ type: \"success\", message: t(K.COPY_SUCCESS) })\n )\n .catch(() =>\n showNotification({ type: \"error\", message: t(K.COPY_FAILED) })\n );\n }\n }, [t]);\n\n const handleExpandedClick = useCallback(() => {\n setExpanded(!expanded);\n }, [expanded]);\n\n return (\n <div\n className={classNames(\"code-editor-wrapper\", {\n expanded,\n error: validateState === \"error\",\n })}\n >\n <div\n ref={containerRef}\n style={{\n height: expanded ? \"100%\" : actualHeight,\n overflow: expanded ? \"scroll\" : \"\",\n }}\n />\n <div className=\"toolbar\">\n {showCopyButton && (\n <WrappedTooltip content={t(K.COPY) as string}>\n <WrappedIcon\n className=\"copy-icon\"\n icon=\"copy\"\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleCopyIconClick}\n />\n </WrappedTooltip>\n )}\n {showExpandButton && (\n <WrappedTooltip\n content={(expanded ? t(K.COLLAPSE) : t(K.EXPAND)) as string}\n >\n <WrappedIcon\n className=\"expand-icon\"\n icon={expanded ? \"compress\" : \"expand\"}\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleExpandedClick}\n />\n </WrappedTooltip>\n )}\n </div>\n </div>\n );\n}\n\nfunction getContentHeightByCode(\n code: string,\n minLines: number,\n maxLines: number\n): number {\n return getContentHeightByLines(\n Math.min(maxLines, Math.max(minLines, code.split(\"\\n\").length))\n );\n}\n\nfunction fixEditorHeightWithScrollBar(\n contentHeight: number,\n minLines: number,\n maxLines: number\n): number {\n let fixedHeight = contentHeight;\n if ((contentHeight - EDITOR_PADDING_VERTICAL) % EDITOR_LINE_HEIGHT === 0) {\n fixedHeight = contentHeight + EDITOR_SCROLLBAR_SIZE;\n }\n return Math.min(\n getContentHeightByLines(maxLines),\n Math.max(fixedHeight, getContentHeightByLines(minLines))\n );\n}\n\nfunction getContentHeightByLines(lines: number): number {\n return (\n lines * EDITOR_LINE_HEIGHT + EDITOR_SCROLLBAR_SIZE + EDITOR_PADDING_VERTICAL\n );\n}\n\n/** Get the direct DOM container of `vs.code-editor` */\nfunction getDOMContainer(element: HTMLElement | null) {\n let brick = element;\n while (brick) {\n const found = brick.tagName.toLowerCase() === \"vs.code-editor\";\n brick = brick.parentElement;\n if (found) {\n return brick;\n }\n }\n}\n"],"names":["initializeReactI18n","NS","locales","registerJavaScript","monaco","registerTypeScript","registerYaml","registerHtml","defineElement","property","event","createDecorators","WrappedFormItem","wrapBrick","WrappedTooltip","WrappedIcon","copyToClipboard","unwrapProvider","showNotification","_CodeEditor","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_T","_U","_V","_W","_CodeEditor_brand","WeakSet","_X","_handleChange","_Y","_handleTokenClick","_handleValidtor","CodeEditor","FormItemElementBase","constructor","_this","arguments","this","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_name","_init_extra_name","_init_label","_init_extra_label","_init_value","_init_extra_value","_init_language","_init_extra_language","_init_theme","_init_extra_theme","_init_required","_init_extra_required","_init_readOnly","_init_extra_readOnly","_init_automaticLayout","_init_extra_automaticLayout","_init_minLines","_init_extra_minLines","_init_completers","_init_extra_completers","_init_advancedCompleters","_init_extra_advancedCompleters","_init_markers","_init_extra_markers","_init_links","_init_extra_links","_init_maxLines","_init_extra_maxLines","_init_height","_init_extra_height","_init_message","_init_extra_message","_init_showExpandButton","_init_extra_showExpandButton","_init_lineNumbers","_init_extra_lineNumbers","_init_tokenConfig","_init_extra_tokenConfig","_init_customValidationInBrickNextYaml","_init_extra_customValidationInBrickNextYaml","_init_showCopyButton","_init_extra_showCopyButton","_init_extraLibs","_init_extra_extraLibs","_init_codeChange","_init_extra_codeChange","_init_userInput","_init_extra_userInput","value","parseValue","isFlush","_this$getFormElement","isInit","length","undefined","getFormElement","formStore","onChange","name","_classPrivateGetter","_get_codeChange","emit","_get_userInput","_init_tokenClickEvent","_init_extra_tokenClickEvent","word","_get_tokenClickEvent","yaml","_classPrivateFieldGet","v","_classPrivateFieldSet","label","language","theme","required","readOnly","automaticLayout","minLines","completers","advancedCompleters","markers","links","maxLines","height","message","showExpandButton","lineNumbers","tokenConfig","customValidationInBrickNextYaml","showCopyButton","extraLibs","connectedCallback","style","display","super","render","React","exportparts","curElement","formElement","helpBrick","labelBrick","notRender","validator","CodeEditorComponent","validateState","onTokenClick","_ref","_value","_language","_theme","_minLines","_maxLines","_height","showDSKey","Infinity","expanded","setExpanded","useState","workerId","useMemo","uniqueId","t","useTranslation","containerRef","useRef","decorationsCollection","editorRef","size","width","getContentHeightByCode","actualHeight","setActualHeight","automaticLayoutRef","systemTheme","useCurrentTheme","useEffect","workerInstance","VSWorkers","getInstance","id","addEventListener","token","data","init","model","current","getModel","originValue","getValue","_decorationsCollectio","tokens","set","map","range","startLineNumber","startColumn","endLineNumber","endColumn","options","inlineClassName","setModelMarkers","_decorationsCollectio2","removeEventListener","computedTheme","lineHeightBackground","includes","defineTheme","base","inherit","rules","colors","setTheme","currentModel","setModelLanguage","provideCompletionItems","brickNextYAMLProviderCompletionItems","monacoProviderRef","registerCompletionItemProvider","triggerCharacters","dispose","parseYaml","useCallback","_ref2","postMessage","debounceParse","debounce","setValue","useLayoutEffect","_editorRef$current","getBoundingClientRect","layout","observer","ResizeObserver","entries","entry","target","newWidth","contentBoxSize","inlineSize","contentRect","newHeight","blockSize","_editorRef$current2","observe","disconnect","container","element","brick","found","tagName","toLowerCase","parentElement","getDOMContainer","offsetHeight","updateOptions","createModel","uri","getEmbeddedJavascriptUri","typescript","javascriptDefaults","addExtraLib","getBrickYamlBuiltInDeclare","toString","create","minimap","enabled","scrollBeyondLastLine","tabSize","insertSpaces","fontSize","EDITOR_FONT_SIZE","lineHeight","EDITOR_LINE_HEIGHT","scrollbar","horizontalScrollbarSize","EDITOR_SCROLLBAR_SIZE","verticalScrollbarSize","horizontalSliderSize","verticalSliderSize","alwaysConsumeMouseWheel","padding","top","EDITOR_PADDING_VERTICAL","bottom","overviewRulerBorder","mouseWheelScrollSensitivity","fixedOverflowWidgets","lineNumbersMinChars","glyphMargin","folding","suggest","insertMode","preview","quickSuggestions","strings","other","comments","renderLineHighlightOnlyWhenFocus","createDecorationsCollection","libs","languageDefaults","disposables","addExtraLibs","item","editor","editorMouseDownEvent","onMouseDown","e","_decorations$getRange","decorations","getRanges","call","forEach","modKey","test","navigator","platform","position","containsPosition","getValueInRange","mouseOverEvent","onMouseMove","newDecorations","equalsRange","listener","onDidContentSizeChange","contentHeightChanged","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","embeddedModelProcessor","async","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixEvaluateRange","suffixEvaluateRange","content","newUri","offset","getOffsetAt","EmbeddedModelContext","updateState","getWorker","getJavaScriptWorker","worker","semanticMarkers","getSemanticDiagnostics","finalOffset","start","currentPosition","getPositionAt","lineNumber","column","messageText","severity","Warning","onDidChangeContent","setEditorId","getPosition","fn","key","window","_editorRef$current3","_editorRef$current4","handleCopyIconClick","then","type","K","COPY_SUCCESS","catch","COPY_FAILED","handleExpandedClick","className","classNames","error","ref","overflow","COPY","icon","lib","onClick","COLLAPSE","EXPAND","code","getContentHeightByLines","Math","min","max","split","fixedHeight","lines","_CodeEditor2","_set_codeChange","_set_userInput","_set_tokenClickEvent","c","_initClass","_applyDecs","shadowOptions","Boolean","Number","attribute","o","_","has","_checkInRHS"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[]).push([[3722],{32580:(e,t,n)=>{n.r(t),n.d(t,{CodeEditor:()=>Ue,CodeEditorComponent:()=>Et});var i,s=n(74635),r=n(70918),a=n(26902),o=n(5536),c=n(86121),l=n(70829),u=n(62740),h=n(18769),d=n.n(h),m=n(81929),g=n(18896),p=n(4223),f=n(6484),k=n(30426),v=n(78573),A=n(36197),y=n(23909),b=n(92257),w=n(93135),C=n(91732),M=n.n(C),E=(n(19583),n(72445)),x=n(97137),L=n(34929),S=n(62738),N=n(44804),B=n(24102),W=n(9287),_=n(85502),P=n(8182),R=n(53373),z=n.n(R),V=(n(73569),n(11968));let O,I,D,F,K,T,Y,q,H,j,J,U,X,$,G,Q,Z,ee,te,ne,ie,se,re,ae,oe,ce,le,ue,he,de,me,ge,pe,fe,ke,ve,Ae,ye,be,we,Ce,Me,Ee,xe,Le,Se,Ne,Be,We,_e,Pe,Re,ze,Ve,Oe,Ie,De;(0,_.initializeReactI18n)(P.NS,P.I),(0,A.kz)(v),(0,y.kz)(v),(0,b.kz)(v,"brick_next_yaml"),(0,w.kz)(v);const{defineElement:Fe,property:Ke,event:Te}=(0,m.createDecorators)(),Ye=(0,p.wrapBrick)("eo-form-item"),qe=(0,p.wrapBrick)("eo-tooltip"),He=(0,p.wrapBrick)("eo-icon"),je=(0,g.unwrapProvider)("basic.copy-to-clipboard"),Je=(0,g.unwrapProvider)("basic.show-notification");let Ue;var Xe=new WeakMap,$e=new WeakMap,Ge=new WeakMap,Qe=new WeakMap,Ze=new WeakMap,et=new WeakMap,tt=new WeakMap,nt=new WeakMap,it=new WeakMap,st=new WeakMap,rt=new WeakMap,at=new WeakMap,ot=new WeakMap,ct=new WeakMap,lt=new WeakMap,ut=new WeakMap,ht=new WeakMap,dt=new WeakMap,mt=new WeakMap,gt=new WeakMap,pt=new WeakMap,ft=new WeakMap,kt=new WeakMap,vt=new WeakSet,At=new WeakMap,yt=new WeakMap,bt=new WeakMap,wt=new WeakMap,Ct=new WeakMap;class Mt extends k.N{constructor(){var e;super(...arguments),e=this,(0,s.A)(this,vt),(0,r.A)(this,Xe,I(this)),(0,r.A)(this,$e,(D(this),F(this))),(0,r.A)(this,Ge,(K(this),T(this))),(0,r.A)(this,Qe,(Y(this),q(this))),(0,r.A)(this,Ze,(H(this),j(this))),(0,r.A)(this,et,(J(this),U(this))),(0,r.A)(this,tt,(X(this),$(this))),(0,r.A)(this,nt,(G(this),Q(this))),(0,r.A)(this,it,(Z(this),ee(this))),(0,r.A)(this,st,(te(this),ne(this))),(0,r.A)(this,rt,(ie(this),se(this))),(0,r.A)(this,at,(re(this),ae(this))),(0,r.A)(this,ot,(oe(this),ce(this))),(0,r.A)(this,ct,(le(this),ue(this))),(0,r.A)(this,lt,(he(this),de(this))),(0,r.A)(this,ut,(me(this),ge(this))),(0,r.A)(this,ht,(pe(this),fe(this))),(0,r.A)(this,dt,(ke(this),ve(this))),(0,r.A)(this,mt,(Ae(this),ye(this))),(0,r.A)(this,gt,(be(this),we(this))),(0,r.A)(this,pt,(Ce(this),Me(this))),(0,r.A)(this,ft,(Ee(this),xe(this))),(0,r.A)(this,kt,(Le(this),Se(this))),(0,r.A)(this,At,(We(this),_e(this))),(0,r.A)(this,yt,(ze(this),function(t,n,i){var s;let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e.value=t,!r&&(null===(s=e.getFormElement())||void 0===s||s.formStore.onChange(e.name,t)),(0,o.A)(vt,e,Ne).emit(t),i||(0,o.A)(vt,e,Pe).emit(n)})),(0,r.A)(this,bt,Ve(this)),(0,r.A)(this,wt,(De(this),e=>{(0,o.A)(vt,this,Oe).emit(e)})),(0,r.A)(this,Ct,(e=>{try{M().load(e)}catch{return"请填写正确的格式"}return""}))}get name(){return(0,l.A)(Xe,this)}set name(e){(0,c.A)(Xe,this,e)}get label(){return(0,l.A)($e,this)}set label(e){(0,c.A)($e,this,e)}get value(){return(0,l.A)(Ge,this)}set value(e){(0,c.A)(Ge,this,e)}get language(){return(0,l.A)(Qe,this)}set language(e){(0,c.A)(Qe,this,e)}get theme(){return(0,l.A)(Ze,this)}set theme(e){(0,c.A)(Ze,this,e)}get required(){return(0,l.A)(et,this)}set required(e){(0,c.A)(et,this,e)}get readOnly(){return(0,l.A)(tt,this)}set readOnly(e){(0,c.A)(tt,this,e)}get automaticLayout(){return(0,l.A)(nt,this)}set automaticLayout(e){(0,c.A)(nt,this,e)}get minLines(){return(0,l.A)(it,this)}set minLines(e){(0,c.A)(it,this,e)}get completers(){return(0,l.A)(st,this)}set completers(e){(0,c.A)(st,this,e)}get advancedCompleters(){return(0,l.A)(rt,this)}set advancedCompleters(e){(0,c.A)(rt,this,e)}get markers(){return(0,l.A)(at,this)}set markers(e){(0,c.A)(at,this,e)}get links(){return(0,l.A)(ot,this)}set links(e){(0,c.A)(ot,this,e)}get maxLines(){return(0,l.A)(ct,this)}set maxLines(e){(0,c.A)(ct,this,e)}get height(){return(0,l.A)(lt,this)}set height(e){(0,c.A)(lt,this,e)}get message(){return(0,l.A)(ut,this)}set message(e){(0,c.A)(ut,this,e)}get showExpandButton(){return(0,l.A)(ht,this)}set showExpandButton(e){(0,c.A)(ht,this,e)}get lineNumbers(){return(0,l.A)(dt,this)}set lineNumbers(e){(0,c.A)(dt,this,e)}get tokenConfig(){return(0,l.A)(mt,this)}set tokenConfig(e){(0,c.A)(mt,this,e)}get customValidationInBrickNextYaml(){return(0,l.A)(gt,this)}set customValidationInBrickNextYaml(e){(0,c.A)(gt,this,e)}get showCopyButton(){return(0,l.A)(pt,this)}set showCopyButton(e){(0,c.A)(pt,this,e)}get extraLibs(){return(0,l.A)(ft,this)}set extraLibs(e){(0,c.A)(ft,this,e)}connectedCallback(){this.style.display||(this.style.display="block"),super.connectedCallback()}render(){return d().createElement(Ye,{exportparts:"message",curElement:this,formElement:this.getFormElement(),name:this.name,label:this.label,required:this.required,helpBrick:this.helpBrick,labelBrick:this.labelBrick,notRender:this.notRender,validator:(0,l.A)(Ct,this)},d().createElement(Et,{value:this.value,language:this.language,readOnly:this.readOnly,theme:this.theme,automaticLayout:this.automaticLayout,minLines:this.minLines,maxLines:this.maxLines,height:this.height,completers:this.completers,advancedCompleters:this.advancedCompleters,extraLibs:this.extraLibs,markers:this.markers,links:this.links,tokenConfig:this.tokenConfig,lineNumbers:this.lineNumbers,showCopyButton:this.showCopyButton,showExpandButton:this.showExpandButton,validateState:this.validateState,onChange:(0,l.A)(yt,this),onTokenClick:(0,l.A)(wt,this),customValidationInBrickNextYaml:this.customValidationInBrickNextYaml}))}}function Et(e){let{value:t,language:n,theme:i,minLines:s,maxLines:r,height:a,automaticLayout:o,completers:c,advancedCompleters:l,markers:u,readOnly:m,links:g,extraLibs:p,tokenConfig:k={showDSKey:!1},showExpandButton:A,showCopyButton:y=!0,lineNumbers:b="on",validateState:w,onChange:C,onTokenClick:M,customValidationInBrickNextYaml:R}=e;const O=t??"",I=n??"plaintext",D=i??"auto",F=s??3,K=r??1/0,T=a??500,[Y,q]=(0,h.useState)(!1),H=(0,h.useMemo)((()=>(0,E.uniqueId)("worker")),[]),{t:j}=(0,_.useTranslation)(P.NS),J=(0,h.useRef)(null),U=(0,h.useRef)(),X=(0,h.useRef)(),$=(0,h.useRef)({width:300,height:xt(O,F,K)}),[G,Q]=(0,h.useState)(),Z=(0,h.useRef)(o),ee=(0,f.useCurrentTheme)();(0,h.useEffect)((()=>{if("brick_next_yaml"!==I)return;const e=S.h.getInstance(H),t=e.addEventListener("message",(e=>{const{token:t,data:n,init:i=!1}=e.data,s=X.current.getModel();if(!s)return;const r=s.getValue();switch(t){case"parse_yaml":{var a;const{value:e,tokens:t,markers:o}=n;null===(a=U.current)||void 0===a||a.set(t.map((e=>({range:new v.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),options:{inlineClassName:"highlight"}})))),v.editor.setModelMarkers(s,"brick_next_yaml",o),C(r,e,!1,i);break}case"parse_yaml_error":var o;v.editor.setModelMarkers(s,"brick_next_yaml",[]),null==U||null===(o=U.current)||void 0===o||o.set([]),C(r,void 0,!1,i)}}));return()=>{e.removeEventListener(t)}}),[]),(0,h.useEffect)((()=>{const e="auto"===D?"dark"===ee||"dark-v2"===ee?"vs-dark":"vs":D,t=e.includes("dark")?"#FFFFFF0F":"#0000000A";v.editor.defineTheme("custom-theme",{base:e,inherit:!0,rules:[],colors:{"editor.lineHighlightBackground":`${t}`}}),v.editor.setTheme("custom-theme")}),[ee,D]),(0,h.useEffect)((()=>{if(X.current){const e=X.current.getModel();v.editor.setModelLanguage(e,I)}}),[I]),(0,h.useEffect)((()=>{if("brick_next_yaml"===I){const e=(0,L.v)(c,l,H,k),t=v.languages.registerCompletionItemProvider("brick_next_yaml",{provideCompletionItems:e,triggerCharacters:[".",":","<"]});return()=>{t.dispose()}}}),[c,l,I]);const te=(0,h.useCallback)((e=>{let{init:t=!1}=e;if("brick_next_yaml"!==I||!X.current)return;const n=S.h.getInstance(H),i=X.current.getModel();n.postMessage({token:"parse_yaml",data:{value:null==i?void 0:i.getValue(),links:g,markers:u},options:k,init:t})}),[I,k,g,u,H]),ne=(0,h.useMemo)((()=>(0,E.debounce)(te,300)),[te]);(0,h.useEffect)((()=>{if(X.current){const e=X.current.getModel();null!=e&&e.getValue&&O!==e.getValue()&&(e.setValue(O),ne({init:!0}))}}),[O,ne]),(0,h.useEffect)((()=>{ne({init:!0})}),[]),(0,h.useLayoutEffect)((()=>{var e;if("fit-content"!==Z.current||!J.current)return;$.current.width=J.current.getBoundingClientRect().width,null===(e=X.current)||void 0===e||e.layout($.current);const t=new ResizeObserver((e=>{for(const n of e)if(n.target===J.current){const e=n.contentBoxSize?n.contentBoxSize[0].inlineSize:n.contentRect.width,i=n.contentBoxSize?n.contentBoxSize[0].blockSize:n.contentRect.height;var t;(e!==$.current.width||Y)&&($.current.width=e,null===(t=X.current)||void 0===t||t.layout({width:e,height:Y?i:$.current.height}));break}}));return t.observe(J.current),()=>{t.disconnect()}}),[Y]),(0,h.useLayoutEffect)((()=>{if("fit-container"!==Z.current)return;const e=function(e){let t=e;for(;t;){const e="vs.code-editor"===t.tagName.toLowerCase();if(t=t.parentElement,e)return t}}(J.current);if(!e)return;const t=new ResizeObserver((()=>{Q(e.offsetHeight)}));return t.observe(e),()=>{t.disconnect()}}),[]),(0,h.useEffect)((()=>{"fit-container"!==Z.current&&"fit-content"!==Z.current&&Q(T)}),[T]),(0,h.useEffect)((()=>{X.current&&X.current.updateOptions({readOnly:m})}),[m]),(0,h.useEffect)((()=>{if(X.current||!J.current)return;const e=v.editor.createModel(O,I);if("brick_next_yaml"===I){const t=(0,B.AR)(e.uri);v.editor.createModel(O,"javascript",t),v.languages.typescript.javascriptDefaults.addExtraLib((0,B.Eh)(),e.uri.toString()+"d.ts")}X.current=v.editor.create(J.current,{model:e,minimap:{enabled:!1},scrollBeyondLastLine:!1,tabSize:2,insertSpaces:!0,automaticLayout:"fit-content"!==Z.current,fontSize:x.yU,lineHeight:x.fE,scrollbar:{horizontalScrollbarSize:x.lP,verticalScrollbarSize:x.lP,horizontalSliderSize:8,verticalSliderSize:8,alwaysConsumeMouseWheel:!1},padding:{top:x.Vu,bottom:"fit-content"==Z.current?void 0:x.Vu},overviewRulerBorder:!1,mouseWheelScrollSensitivity:.5,fixedOverflowWidgets:!0,lineNumbers:b,lineNumbersMinChars:3,glyphMargin:"off"!==b,folding:"off"!==b,suggest:{insertMode:"insert",preview:!0},readOnly:m,quickSuggestions:{strings:!0,other:!0,comments:!0},renderLineHighlightOnlyWhenFocus:!0}),U.current=X.current.createDecorationsCollection()}),[]),(0,h.useEffect)((()=>{const e=p??[],t="typescript"===I?"typescriptDefaults":"javascriptDefaults",n=(0,W.m)(e,{languageDefaults:t});return()=>{for(const e of n)e.dispose()}}),[p,I]),(0,h.useEffect)((()=>{const e=X.current;if("brick_next_yaml"===I&&e){const t=e.getModel(),n=e.onMouseDown((function(e){var n;const i=U.current;((null==i||null===(n=i.getRanges)||void 0===n?void 0:n.call(i))??[]).forEach((n=>{const i=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";n&&e.target.position&&e.event[i]&&n.containsPosition(e.target.position)&&M(t.getValueInRange(n))}))})),i=e.onMouseMove((function(e){const t=U.current;t&&t.getRanges().forEach((n=>{const i=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";if(n&&e.target.position&&e.event[i]&&n.containsPosition(e.target.position)){const e=t.getRanges().map((e=>({range:e,options:{inlineClassName:n.equalsRange(e)?"highlight pointer":"highlight"}})));t.set(e)}else if(!e.event[i]){const e=t.getRanges().map((e=>({range:e,options:{inlineClassName:"highlight"}})));t.set(e)}}))}));return()=>{null==i||i.dispose(),null==n||n.dispose()}}}),[I,M,ee,D]),(0,h.useEffect)((()=>{const e=X.current;if(!e||!J.current||"fit-content"!==Z.current)return;const t=e.onDidContentSizeChange((t=>{if(!Y&&t.contentHeightChanged){const n=Lt(t.contentHeight,F,K);n!==$.current.height&&($.current.height=n,e.layout($.current))}})),n=Lt(e.getContentHeight(),F,K);return n!==$.current.height&&($.current.height=n,e.layout($.current)),()=>{t.dispose()}}),[K,F,Y]);const ie=(0,h.useCallback)((async(e,t)=>{v.editor.setModelMarkers(e,"semantic_validate",[]);const n=e.findPreviousMatch("<%[~=]?",t,!0,!1,null,!1),i=e.findNextMatch("%>",t,!1,!1,null,!1),s=null==n?void 0:n.range,r=null==i?void 0:i.range;if(s&&r){const n=new v.Range(s.startLineNumber,s.endColumn,r.startLineNumber,r.startColumn),i=e.getValueInRange(n);if(n.containsPosition(t)&&!/<% | %>/.test(i)){const t=(0,B.AR)(e.uri);v.editor.getModel(t).setValue(i);const r=e.getOffsetAt(new v.Position(s.startLineNumber,s.endColumn));if(V.b.getInstance(H).updateState({content:i,range:n,offset:r}),!R)return;const a=await v.languages.typescript.getJavaScriptWorker(),o=await a(t),c=(await o.getSemanticDiagnostics(t.toString())).map((t=>{const n=r+(t.start??0),i=e.getPositionAt(n);return{startLineNumber:i.lineNumber,startColumn:i.column,endLineNumber:i.lineNumber,endColumn:i.column+t.length,message:t.messageText,severity:v.MarkerSeverity.Warning}}));v.editor.setModelMarkers(e,"semantic_validate",c)}}}),[H]);(0,h.useEffect)((()=>{if(!X.current)return;const e=X.current.getModel(),t=e.onDidChangeContent((async()=>{(0,N.J)(H),["brick_next_yaml"].includes(I)?(ie(e,X.current.getPosition()),ne({init:!1})):C(e.getValue(),void 0,!1,!1)}));return()=>{t.dispose()}}),[ne,C,H,I,ie]),(0,h.useEffect)((()=>{if(Y){const e=t=>{"Escape"!==t.key&&"Esc"!==t.key||(window.removeEventListener("keydown",e),q(!1))};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}}}),[Y]),(0,h.useEffect)((()=>()=>{var e,t;null===(e=X.current)||void 0===e||null===(e=e.getModel())||void 0===e||e.dispose(),null===(t=X.current)||void 0===t||t.dispose()}),[]);const se=(0,h.useCallback)((()=>{if(X.current){const e=X.current.getModel();je(e.getValue()).then((()=>Je({type:"success",message:j(P.K.COPY_SUCCESS)}))).catch((()=>Je({type:"error",message:j(P.K.COPY_FAILED)})))}}),[j]),re=(0,h.useCallback)((()=>{q(!Y)}),[Y]);return d().createElement("div",{className:z()("code-editor-wrapper",{expanded:Y,error:"error"===w})},d().createElement("div",{ref:J,style:{height:Y?"100%":G,overflow:Y?"scroll":""}}),d().createElement("div",{className:"toolbar"},y&&d().createElement(qe,{content:j(P.K.COPY)},d().createElement(He,{className:"copy-icon",icon:"copy",lib:"antd",theme:"outlined",onClick:se})),A&&d().createElement(qe,{content:j(Y?P.K.COLLAPSE:P.K.EXPAND)},d().createElement(He,{className:"expand-icon",icon:Y?"compress":"expand",lib:"antd",theme:"outlined",onClick:re}))))}function xt(e,t,n){return St(Math.min(n,Math.max(t,e.split("\n").length)))}function Lt(e,t,n){let i=e;return(e-x.Vu)%x.fE==0&&(i=e+x.lP),Math.min(St(n),Math.max(i,St(t)))}function St(e){return e*x.fE+x.lP+x.Vu}i=Mt,({e:[I,D,F,K,T,Y,q,H,j,J,U,X,$,G,Q,Z,ee,te,ne,ie,se,re,ae,oe,ce,le,ue,he,de,me,ge,pe,fe,ke,ve,Ae,ye,be,we,Ce,Me,Ee,xe,Le,Se,Ne,Be,We,_e,Pe,Re,ze,Ve,Oe,Ie,De],c:[Ue,O]}=(0,u.A)(i,[Fe("vs.code-editor",{shadowOptions:!1})],[[Ke(),1,"name"],[Ke(),1,"label"],[Ke(),1,"value"],[Ke(),1,"language"],[Ke(),1,"theme"],[Ke({type:Boolean}),1,"required"],[Ke({type:Boolean}),1,"readOnly"],[Ke(),1,"automaticLayout"],[Ke({type:Number}),1,"minLines"],[Ke({attribute:!1}),1,"completers"],[Ke({attribute:!1}),1,"advancedCompleters"],[Ke({attribute:!1}),1,"markers"],[Ke({attribute:!1}),1,"links"],[Ke({type:Number}),1,"maxLines"],[Ke({attribute:!1}),1,"height"],[Ke(),1,"message"],[Ke({type:Boolean}),1,"showExpandButton"],[Ke(),1,"lineNumbers"],[Ke({attribute:!1}),1,"tokenConfig"],[Ke({type:Boolean}),1,"customValidationInBrickNextYaml"],[Ke({type:Boolean}),1,"showCopyButton"],[Ke({attribute:!1}),1,"extraLibs"],[Te({type:"code.change"}),1,"codeChange",e=>(0,l.A)(kt,e),(e,t)=>(0,c.A)(kt,e,t)],[Te({type:"user.input"}),1,"userInput",e=>(0,l.A)(At,e),(e,t)=>(0,c.A)(At,e,t)],[Te({type:"token.click"}),1,"tokenClickEvent",e=>(0,l.A)(bt,e),(e,t)=>(0,c.A)(bt,e,t)]],0,(e=>Ct.has((0,a.A)(e))),k.N)),O()}}]);
|
|
2
|
+
//# sourceMappingURL=code-editor.b77e7e2e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/code-editor.b77e7e2e.js","mappings":"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","sources":["webpack:///./src/code-editor/index.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport { register as registerJavaScript } from \"@next-core/monaco-contributions/javascript\";\nimport { register as registerTypeScript } from \"@next-core/monaco-contributions/typescript\";\nimport { register as registerYaml } from \"@next-core/monaco-contributions/yaml\";\nimport { register as registerHtml } from \"@next-core/monaco-contributions/html\";\nimport yaml from \"js-yaml\";\nimport \"@next-core/theme\";\nimport { uniqueId, debounce } from \"lodash\";\nimport {\n EDITOR_SCROLLBAR_SIZE,\n EDITOR_PADDING_VERTICAL,\n EDITOR_LINE_HEIGHT,\n EDITOR_FONT_SIZE,\n} from \"./constants.js\";\nimport { AdvancedCompleterMap, ExtraLib } from \"./interfaces.js\";\nimport { brickNextYAMLProviderCompletionItems } from \"./utils/brickNextYaml.js\";\nimport { Level } from \"./utils/constants.js\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { VSWorkers } from \"./workers/index.mjs\";\nimport { setEditorId } from \"./utils/editorId.js\";\nimport {\n getEmbeddedJavascriptUri,\n getBrickYamlBuiltInDeclare,\n} from \"./utils/jsSuggestInBrickYaml.js\";\nimport { addExtraLibs } from \"./utils/addExtraLibs.js\";\nimport type { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport type { copyToClipboard as _copyToClipboard } from \"@next-bricks/basic/data-providers/copy-to-clipboard\";\nimport type { showNotification as _showNotification } from \"@next-bricks/basic/data-providers/show-notification/show-notification\";\nimport classNames from \"classnames\";\nimport \"./index.css\";\nimport { EmbeddedModelContext } from \"./utils/embeddedModelState.js\";\n\ninitializeReactI18n(NS, locales);\n\nregisterJavaScript(monaco);\nregisterTypeScript(monaco);\nregisterYaml(monaco, \"brick_next_yaml\");\nregisterHtml(monaco);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedTooltip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst copyToClipboard = unwrapProvider<typeof _copyToClipboard>(\n \"basic.copy-to-clipboard\"\n);\nconst showNotification = unwrapProvider<typeof _showNotification>(\n \"basic.show-notification\"\n);\n\nexport interface CodeEditorProps {\n name?: string;\n label?: string;\n value?: string;\n language?: string;\n theme?: string;\n required?: boolean;\n readOnly?: boolean;\n automaticLayout?: \"fit-container\" | \"fit-content\" | \"none\";\n minLines?: number;\n maxLines?: number;\n height?: string | number;\n completers?: monaco.languages.CompletionItem[];\n tokenConfig?: TokenConfig;\n advancedCompleters?: AdvancedCompleterMap;\n extraLibs?: ExtraLib[];\n markers?: Marker[];\n links?: string[];\n showExpandButton?: boolean;\n showCopyButton?: boolean;\n lineNumbers?: monaco.editor.LineNumbersType;\n validateState?: string;\n customValidationInBrickNextYaml?: boolean;\n}\n\nexport interface Marker {\n token: string;\n level?: keyof typeof Level;\n message?: string;\n code?: {\n value: string;\n target: string;\n };\n params?: string[];\n}\n\nexport type TokenConfig = {\n showDSKey: boolean;\n};\n\n/**\n * 构件代码编辑器\n * @category form-input-advanced\n */\nexport\n@defineElement(\"vs.code-editor\", {\n // There are a few issues for monaco-editor with shadow DOM.\n // So we use light DOM for now.\n // See https://github.com/microsoft/monaco-editor/issues?q=is%3Aissue+is%3Aopen+shadow+dom\n shadowOptions: false,\n})\nclass CodeEditor extends FormItemElementBase implements CodeEditorProps {\n @property()\n accessor name: string | undefined;\n\n @property()\n accessor label: string | undefined;\n\n @property()\n accessor value: string | undefined;\n\n /**\n * @default \"plaintext\"\n */\n @property()\n accessor language: string | undefined;\n\n /**\n * 主题,支持 `\"auto\" | \"vs\" | \"vs-dark\"`\n *\n * @default \"auto\"\n * @group ui\n */\n @property() accessor theme: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n @property({\n type: Boolean,\n })\n accessor readOnly: boolean | undefined;\n\n @property()\n accessor automaticLayout:\n | \"fit-container\"\n | \"fit-content\"\n | \"none\"\n | undefined;\n\n /**\n * @default 3\n */\n @property({ type: Number })\n accessor minLines: number | undefined;\n\n @property({\n attribute: false,\n })\n accessor completers: monaco.languages.CompletionItem[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor advancedCompleters: AdvancedCompleterMap | undefined;\n\n @property({ attribute: false })\n accessor markers: Marker[] | undefined;\n\n @property({ attribute: false })\n accessor links: string[] | undefined;\n\n /**\n * @default Infinity\n */\n @property({ type: Number })\n accessor maxLines: number | undefined;\n\n @property({ attribute: false })\n accessor height: string | number | undefined;\n\n @property()\n accessor message: string | undefined;\n\n /**\n * 是否展示展开按钮\n */\n @property({ type: Boolean })\n accessor showExpandButton: boolean | undefined;\n\n /**\n * 行数配置\n */\n @property()\n accessor lineNumbers: monaco.editor.LineNumbersType | undefined;\n\n /**\n * 自定义高亮配置\n */\n @property({\n attribute: false,\n })\n accessor tokenConfig: TokenConfig | undefined;\n\n /**\n * 在 brick_next_yaml 中是否开启语义相关校验\n * @default false\n */\n @property({\n type: Boolean,\n })\n accessor customValidationInBrickNextYaml: boolean | undefined;\n\n /**\n * 是否展示复制按钮\n * @default true\n */\n @property({ type: Boolean })\n accessor showCopyButton: boolean | undefined;\n\n /**\n * @description 额外声明的 lib 库\n */\n @property({\n attribute: false,\n })\n accessor extraLibs: ExtraLib[] | undefined;\n\n @event({ type: \"code.change\" })\n accessor #codeChange!: EventEmitter<string>;\n\n @event({ type: \"user.input\" })\n accessor #userInput!: EventEmitter<string>;\n\n #handleChange = (\n value: string,\n parseValue: any,\n isFlush: boolean,\n isInit: boolean = false\n ) => {\n this.value = value;\n !isInit && this.getFormElement()?.formStore.onChange(this.name!, value);\n this.#codeChange.emit(value);\n if (!isFlush) {\n this.#userInput.emit(parseValue);\n }\n };\n\n @event({ type: \"token.click\" })\n accessor #tokenClickEvent!: EventEmitter<string>;\n\n #handleTokenClick = (word: string) => {\n this.#tokenClickEvent.emit(word);\n };\n\n #handleValidtor = (value: string) => {\n try {\n yaml.load(value);\n } catch {\n return \"请填写正确的格式\";\n }\n return \"\";\n };\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <WrappedFormItem\n exportparts=\"message\"\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n helpBrick={this.helpBrick}\n labelBrick={this.labelBrick}\n notRender={this.notRender}\n validator={this.#handleValidtor}\n >\n <CodeEditorComponent\n value={this.value}\n language={this.language}\n readOnly={this.readOnly}\n theme={this.theme}\n automaticLayout={this.automaticLayout}\n minLines={this.minLines}\n maxLines={this.maxLines}\n height={this.height}\n completers={this.completers}\n advancedCompleters={this.advancedCompleters}\n extraLibs={this.extraLibs}\n markers={this.markers}\n links={this.links}\n tokenConfig={this.tokenConfig}\n lineNumbers={this.lineNumbers}\n showCopyButton={this.showCopyButton}\n showExpandButton={this.showExpandButton}\n validateState={this.validateState}\n onChange={this.#handleChange}\n onTokenClick={this.#handleTokenClick}\n customValidationInBrickNextYaml={this.customValidationInBrickNextYaml}\n />\n </WrappedFormItem>\n );\n }\n}\n\nexport function CodeEditorComponent({\n value: _value,\n language: _language,\n theme: _theme,\n minLines: _minLines,\n maxLines: _maxLines,\n height: _height,\n automaticLayout,\n completers,\n advancedCompleters,\n markers,\n readOnly,\n links,\n extraLibs,\n tokenConfig = {\n showDSKey: false,\n },\n showExpandButton,\n showCopyButton = true,\n lineNumbers = \"on\",\n validateState,\n onChange,\n onTokenClick,\n customValidationInBrickNextYaml,\n}: CodeEditorProps & {\n onChange(\n value: string,\n parseValue: any,\n isFlush: boolean,\n isInit: boolean\n ): void;\n onTokenClick(word: string): void;\n}) {\n const value = _value ?? \"\";\n const language = _language ?? \"plaintext\";\n const theme = _theme ?? \"auto\";\n const minLines = _minLines ?? 3;\n const maxLines = _maxLines ?? Infinity;\n const height = _height ?? 500;\n const [expanded, setExpanded] = useState(false);\n const workerId = useMemo(() => uniqueId(\"worker\"), []);\n\n const { t } = useTranslation(NS);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const decorationsCollection =\n useRef<monaco.editor.IEditorDecorationsCollection>();\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n const size = useRef<monaco.editor.IDimension>({\n width: 300,\n height: getContentHeightByCode(value, minLines, maxLines),\n });\n const [actualHeight, setActualHeight] = useState<string | number>();\n // `automaticLayout` should never change\n const automaticLayoutRef = useRef(automaticLayout);\n const systemTheme = useCurrentTheme();\n\n useEffect(() => {\n if (language !== \"brick_next_yaml\") return;\n const workerInstance = VSWorkers.getInstance(workerId);\n const id = workerInstance.addEventListener(\"message\", (message: any) => {\n const { token, data, init = false } = message.data;\n const model = editorRef.current!.getModel();\n if (!model) return;\n const originValue = model.getValue();\n\n switch (token) {\n case \"parse_yaml\": {\n const { value, tokens, markers } = data;\n\n decorationsCollection.current?.set(\n tokens.map((token: any) => ({\n range: new monaco.Range(\n token.startLineNumber,\n token.startColumn,\n token.endLineNumber,\n token.endColumn\n ),\n options: {\n inlineClassName: \"highlight\",\n },\n }))\n );\n monaco.editor.setModelMarkers(model, \"brick_next_yaml\", markers);\n onChange(originValue, value, false, init);\n break;\n }\n case \"parse_yaml_error\": {\n monaco.editor.setModelMarkers(model, \"brick_next_yaml\", []);\n decorationsCollection?.current?.set([]);\n onChange(originValue, undefined, false, init);\n break;\n }\n }\n });\n return () => {\n workerInstance.removeEventListener(id);\n };\n }, []);\n\n useEffect(() => {\n const computedTheme =\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme;\n const lineHeightBackground = computedTheme.includes(\"dark\")\n ? \"#FFFFFF0F\"\n : \"#0000000A\";\n monaco.editor.defineTheme(\"custom-theme\", {\n base: computedTheme as \"vs-dark\" | \"vs\",\n inherit: true,\n rules: [],\n colors: {\n \"editor.lineHighlightBackground\": `${lineHeightBackground}`,\n },\n });\n // Currently theme is configured globally.\n // See https://github.com/microsoft/monaco-editor/issues/338\n monaco.editor.setTheme(\"custom-theme\");\n }, [systemTheme, theme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n }\n }, [language]);\n\n useEffect(() => {\n if (language === \"brick_next_yaml\") {\n const provideCompletionItems = brickNextYAMLProviderCompletionItems(\n completers,\n advancedCompleters,\n workerId,\n tokenConfig\n );\n const monacoProviderRef = monaco.languages.registerCompletionItemProvider(\n \"brick_next_yaml\",\n {\n provideCompletionItems,\n triggerCharacters: [\".\", \":\", \"<\"],\n } as monaco.languages.CompletionItemProvider\n );\n return () => {\n monacoProviderRef.dispose();\n };\n }\n }, [completers, advancedCompleters, language]);\n\n const parseYaml = useCallback(\n ({ init = false }: { init?: boolean }) => {\n if (language !== \"brick_next_yaml\" || !editorRef.current) return;\n const workerInstance = VSWorkers.getInstance(workerId);\n const currentModel = editorRef.current.getModel();\n workerInstance.postMessage({\n token: \"parse_yaml\",\n data: {\n value: currentModel?.getValue(),\n links,\n markers,\n },\n options: tokenConfig,\n init,\n });\n },\n [language, tokenConfig, links, markers, workerId]\n );\n\n const debounceParse = useMemo(() => debounce(parseYaml, 300), [parseYaml]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel();\n if (currentModel?.getValue && value !== currentModel.getValue()) {\n currentModel.setValue(value as string);\n debounceParse({\n init: true,\n });\n }\n }\n }, [value, debounceParse]);\n\n useEffect(() => {\n debounceParse({\n init: true,\n });\n }, []);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-content\" || !containerRef.current) {\n return;\n }\n\n size.current.width = containerRef.current.getBoundingClientRect().width;\n editorRef.current?.layout(size.current);\n\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === containerRef.current) {\n const newWidth = entry.contentBoxSize\n ? entry.contentBoxSize[0].inlineSize\n : entry.contentRect.width;\n const newHeight = entry.contentBoxSize\n ? entry.contentBoxSize[0].blockSize\n : entry.contentRect.height;\n if (newWidth !== size.current.width || expanded) {\n size.current.width = newWidth;\n editorRef.current?.layout({\n width: newWidth,\n height: expanded ? newHeight : size.current.height,\n });\n }\n break;\n }\n }\n });\n observer.observe(containerRef.current);\n\n return () => {\n observer.disconnect();\n };\n }, [expanded]);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-container\") {\n return;\n }\n\n const container = getDOMContainer(containerRef.current);\n if (!container) {\n return;\n }\n // Manually layout the editor once the container resized.\n const observer = new ResizeObserver((): void => {\n setActualHeight(container.offsetHeight);\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (\n automaticLayoutRef.current !== \"fit-container\" &&\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n setActualHeight(height);\n }\n }, [height]);\n\n useEffect(() => {\n if (!editorRef.current) return;\n editorRef.current.updateOptions({\n readOnly,\n });\n }, [readOnly]);\n\n useEffect(() => {\n if (editorRef.current || !containerRef.current) {\n return;\n }\n const model = monaco.editor.createModel(value, language);\n if (language === \"brick_next_yaml\") {\n // 注册嵌套的 model, language 为 js\n const uri = getEmbeddedJavascriptUri(model.uri);\n monaco.editor.createModel(value, \"javascript\", uri);\n monaco.languages.typescript.javascriptDefaults.addExtraLib(\n getBrickYamlBuiltInDeclare(),\n model.uri.toString() + \"d.ts\"\n );\n }\n\n editorRef.current = monaco.editor.create(containerRef.current, {\n model,\n minimap: {\n enabled: false,\n },\n scrollBeyondLastLine: false,\n tabSize: 2,\n insertSpaces: true,\n automaticLayout: automaticLayoutRef.current !== \"fit-content\",\n fontSize: EDITOR_FONT_SIZE,\n lineHeight: EDITOR_LINE_HEIGHT,\n scrollbar: {\n horizontalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n verticalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n horizontalSliderSize: 8,\n verticalSliderSize: 8,\n alwaysConsumeMouseWheel: false,\n },\n padding: {\n top: EDITOR_PADDING_VERTICAL,\n // When use `fit-content`, we always plus the height with the vertical padding.\n // Thus the possible x-scrollbar will not take extra space at the bottom.\n bottom:\n automaticLayoutRef.current == \"fit-content\"\n ? undefined\n : EDITOR_PADDING_VERTICAL,\n },\n overviewRulerBorder: false,\n mouseWheelScrollSensitivity: 0.5,\n fixedOverflowWidgets: true,\n lineNumbers: lineNumbers,\n lineNumbersMinChars: 3,\n glyphMargin: lineNumbers !== \"off\",\n folding: lineNumbers !== \"off\",\n suggest: {\n insertMode: \"insert\",\n preview: true,\n },\n readOnly: readOnly,\n quickSuggestions: { strings: true, other: true, comments: true },\n renderLineHighlightOnlyWhenFocus: true,\n });\n\n decorationsCollection.current =\n editorRef.current.createDecorationsCollection();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const libs: ExtraLib[] = extraLibs ?? [];\n\n const languageDefaults =\n language === \"typescript\" ? \"typescriptDefaults\" : \"javascriptDefaults\";\n const disposables = addExtraLibs(libs, {\n languageDefaults,\n });\n return () => {\n for (const item of disposables) {\n item.dispose();\n }\n };\n }, [extraLibs, language]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (language === \"brick_next_yaml\" && editor) {\n const model = editor.getModel()!;\n const editorMouseDownEvent = editor.onMouseDown(function (e) {\n const decorations = decorationsCollection.current;\n (decorations?.getRanges?.() ?? []).forEach((range) => {\n const modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n if (\n range &&\n e.target.position &&\n e.event[modKey] &&\n range.containsPosition(e.target.position)\n ) {\n onTokenClick(model.getValueInRange(range));\n }\n });\n });\n\n const mouseOverEvent = editor.onMouseMove(function (e) {\n const decorations = decorationsCollection.current;\n if (!decorations) return;\n decorations.getRanges().forEach((range) => {\n const modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n if (\n range &&\n e.target.position &&\n e.event[modKey] &&\n range.containsPosition(e.target.position)\n ) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: range.equalsRange(item)\n ? \"highlight pointer\"\n : \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n } else if (!e.event[modKey]) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n }\n });\n });\n\n return () => {\n mouseOverEvent?.dispose();\n editorMouseDownEvent?.dispose();\n };\n }\n }, [language, onTokenClick, systemTheme, theme]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (\n !editor ||\n !containerRef.current ||\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n return;\n }\n\n const listener = editor.onDidContentSizeChange((e) => {\n if (expanded) return;\n if (e.contentHeightChanged) {\n const newHeight = fixEditorHeightWithScrollBar(\n e.contentHeight,\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n }\n });\n\n const newHeight = fixEditorHeightWithScrollBar(\n editor.getContentHeight(),\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n\n return () => {\n listener.dispose();\n };\n }, [maxLines, minLines, expanded]);\n\n // istanbul ignore next\n const embeddedModelProcessor = useCallback(\n async (model: monaco.editor.IModel, position: monaco.Position) => {\n monaco.editor.setModelMarkers(model, \"semantic_validate\", []);\n\n const prefixEvaluateOperator = model.findPreviousMatch(\n \"<%[~=]?\",\n position,\n true,\n false,\n null,\n false\n );\n\n const suffixEvaluateOperator = model.findNextMatch(\n \"%>\",\n position,\n false,\n false,\n null,\n false\n );\n\n const prefixEvaluateRange = prefixEvaluateOperator?.range;\n const suffixEvaluateRange = suffixEvaluateOperator?.range;\n\n if (prefixEvaluateRange && suffixEvaluateRange) {\n const range = new monaco.Range(\n prefixEvaluateRange.startLineNumber,\n prefixEvaluateRange.endColumn,\n suffixEvaluateRange.startLineNumber,\n suffixEvaluateRange.startColumn\n );\n\n const content = model.getValueInRange(range);\n if (range.containsPosition(position!) && !/<% | %>/.test(content)) {\n const newUri = getEmbeddedJavascriptUri(model.uri);\n const embeddedModel = monaco.editor.getModel(newUri);\n\n embeddedModel!.setValue(content);\n const offset = model.getOffsetAt(\n new monaco.Position(\n prefixEvaluateRange.startLineNumber,\n prefixEvaluateRange.endColumn\n )\n );\n\n const embeddedContext = EmbeddedModelContext.getInstance(workerId);\n\n embeddedContext.updateState({ content, range, offset });\n\n if (!customValidationInBrickNextYaml) return;\n\n const getWorker =\n await monaco.languages.typescript.getJavaScriptWorker();\n\n const worker = await getWorker(newUri);\n\n const diagnostics = await worker.getSemanticDiagnostics(\n newUri.toString()\n );\n\n const semanticMarkers = diagnostics.map((item) => {\n const finalOffset = offset + (item.start ?? 0);\n const currentPosition = model.getPositionAt(finalOffset);\n\n return {\n startLineNumber: currentPosition.lineNumber,\n startColumn: currentPosition.column,\n endLineNumber: currentPosition.lineNumber,\n endColumn: currentPosition.column + item.length!,\n message: item.messageText as string,\n severity: monaco.MarkerSeverity.Warning,\n };\n });\n\n monaco.editor.setModelMarkers(\n model,\n \"semantic_validate\",\n semanticMarkers\n );\n }\n }\n },\n [workerId]\n );\n\n useEffect(() => {\n if (!editorRef.current) {\n return;\n }\n const currentModel = editorRef.current.getModel()!;\n const listener = currentModel.onDidChangeContent(async () => {\n setEditorId(workerId);\n\n if ([\"brick_next_yaml\"].includes(language)) {\n embeddedModelProcessor(currentModel, editorRef.current!.getPosition()!);\n debounceParse({\n init: false,\n });\n } else {\n onChange(currentModel.getValue(), undefined, false, false);\n }\n });\n return () => {\n listener.dispose();\n };\n }, [debounceParse, onChange, workerId, language, embeddedModelProcessor]);\n\n useEffect(() => {\n if (expanded) {\n const fn = (e: KeyboardEvent): void => {\n if (e.key === \"Escape\" || e.key === \"Esc\") {\n window.removeEventListener(\"keydown\", fn);\n setExpanded(false);\n }\n };\n window.addEventListener(\"keydown\", fn);\n return () => {\n window.removeEventListener(\"keydown\", fn);\n };\n }\n }, [expanded]);\n\n useEffect(() => {\n return () => {\n editorRef.current?.getModel()?.dispose();\n editorRef.current?.dispose();\n };\n }, []);\n\n const handleCopyIconClick = useCallback(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n copyToClipboard(currentModel.getValue())\n .then(() =>\n showNotification({ type: \"success\", message: t(K.COPY_SUCCESS) })\n )\n .catch(() =>\n showNotification({ type: \"error\", message: t(K.COPY_FAILED) })\n );\n }\n }, [t]);\n\n const handleExpandedClick = useCallback(() => {\n setExpanded(!expanded);\n }, [expanded]);\n\n return (\n <div\n className={classNames(\"code-editor-wrapper\", {\n expanded,\n error: validateState === \"error\",\n })}\n >\n <div\n ref={containerRef}\n style={{\n height: expanded ? \"100%\" : actualHeight,\n overflow: expanded ? \"scroll\" : \"\",\n }}\n />\n <div className=\"toolbar\">\n {showCopyButton && (\n <WrappedTooltip content={t(K.COPY) as string}>\n <WrappedIcon\n className=\"copy-icon\"\n icon=\"copy\"\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleCopyIconClick}\n />\n </WrappedTooltip>\n )}\n {showExpandButton && (\n <WrappedTooltip\n content={(expanded ? t(K.COLLAPSE) : t(K.EXPAND)) as string}\n >\n <WrappedIcon\n className=\"expand-icon\"\n icon={expanded ? \"compress\" : \"expand\"}\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleExpandedClick}\n />\n </WrappedTooltip>\n )}\n </div>\n </div>\n );\n}\n\nfunction getContentHeightByCode(\n code: string,\n minLines: number,\n maxLines: number\n): number {\n return getContentHeightByLines(\n Math.min(maxLines, Math.max(minLines, code.split(\"\\n\").length))\n );\n}\n\nfunction fixEditorHeightWithScrollBar(\n contentHeight: number,\n minLines: number,\n maxLines: number\n): number {\n let fixedHeight = contentHeight;\n if ((contentHeight - EDITOR_PADDING_VERTICAL) % EDITOR_LINE_HEIGHT === 0) {\n fixedHeight = contentHeight + EDITOR_SCROLLBAR_SIZE;\n }\n return Math.min(\n getContentHeightByLines(maxLines),\n Math.max(fixedHeight, getContentHeightByLines(minLines))\n );\n}\n\nfunction getContentHeightByLines(lines: number): number {\n return (\n lines * EDITOR_LINE_HEIGHT + EDITOR_SCROLLBAR_SIZE + EDITOR_PADDING_VERTICAL\n );\n}\n\n/** Get the direct DOM container of `vs.code-editor` */\nfunction getDOMContainer(element: HTMLElement | null) {\n let brick = element;\n while (brick) {\n const found = brick.tagName.toLowerCase() === \"vs.code-editor\";\n brick = brick.parentElement;\n if (found) {\n return brick;\n }\n }\n}\n"],"names":["initializeReactI18n","NS","locales","registerJavaScript","monaco","registerTypeScript","registerYaml","registerHtml","defineElement","property","event","createDecorators","WrappedFormItem","wrapBrick","WrappedTooltip","WrappedIcon","copyToClipboard","unwrapProvider","showNotification","_CodeEditor","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_T","_U","_V","_W","_CodeEditor_brand","WeakSet","_X","_handleChange","_Y","_handleTokenClick","_handleValidtor","CodeEditor","FormItemElementBase","constructor","_this","arguments","this","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_name","_init_extra_name","_init_label","_init_extra_label","_init_value","_init_extra_value","_init_language","_init_extra_language","_init_theme","_init_extra_theme","_init_required","_init_extra_required","_init_readOnly","_init_extra_readOnly","_init_automaticLayout","_init_extra_automaticLayout","_init_minLines","_init_extra_minLines","_init_completers","_init_extra_completers","_init_advancedCompleters","_init_extra_advancedCompleters","_init_markers","_init_extra_markers","_init_links","_init_extra_links","_init_maxLines","_init_extra_maxLines","_init_height","_init_extra_height","_init_message","_init_extra_message","_init_showExpandButton","_init_extra_showExpandButton","_init_lineNumbers","_init_extra_lineNumbers","_init_tokenConfig","_init_extra_tokenConfig","_init_customValidationInBrickNextYaml","_init_extra_customValidationInBrickNextYaml","_init_showCopyButton","_init_extra_showCopyButton","_init_extraLibs","_init_extra_extraLibs","_init_codeChange","_init_extra_codeChange","_init_userInput","_init_extra_userInput","value","parseValue","isFlush","_this$getFormElement","isInit","length","undefined","getFormElement","formStore","onChange","name","_classPrivateGetter","_get_codeChange","emit","_get_userInput","_init_tokenClickEvent","_init_extra_tokenClickEvent","word","_get_tokenClickEvent","yaml","_classPrivateFieldGet","v","_classPrivateFieldSet","label","language","theme","required","readOnly","automaticLayout","minLines","completers","advancedCompleters","markers","links","maxLines","height","message","showExpandButton","lineNumbers","tokenConfig","customValidationInBrickNextYaml","showCopyButton","extraLibs","connectedCallback","style","display","super","render","React","exportparts","curElement","formElement","helpBrick","labelBrick","notRender","validator","CodeEditorComponent","validateState","onTokenClick","_ref","_value","_language","_theme","_minLines","_maxLines","_height","showDSKey","Infinity","expanded","setExpanded","useState","workerId","useMemo","uniqueId","t","useTranslation","containerRef","useRef","decorationsCollection","editorRef","size","width","getContentHeightByCode","actualHeight","setActualHeight","automaticLayoutRef","systemTheme","useCurrentTheme","useEffect","workerInstance","VSWorkers","getInstance","id","addEventListener","token","data","init","model","current","getModel","originValue","getValue","_decorationsCollectio","tokens","set","map","range","startLineNumber","startColumn","endLineNumber","endColumn","options","inlineClassName","setModelMarkers","_decorationsCollectio2","removeEventListener","computedTheme","lineHeightBackground","includes","defineTheme","base","inherit","rules","colors","setTheme","currentModel","setModelLanguage","provideCompletionItems","brickNextYAMLProviderCompletionItems","monacoProviderRef","registerCompletionItemProvider","triggerCharacters","dispose","parseYaml","useCallback","_ref2","postMessage","debounceParse","debounce","setValue","useLayoutEffect","_editorRef$current","getBoundingClientRect","layout","observer","ResizeObserver","entries","entry","target","newWidth","contentBoxSize","inlineSize","contentRect","newHeight","blockSize","_editorRef$current2","observe","disconnect","container","element","brick","found","tagName","toLowerCase","parentElement","getDOMContainer","offsetHeight","updateOptions","createModel","uri","getEmbeddedJavascriptUri","typescript","javascriptDefaults","addExtraLib","getBrickYamlBuiltInDeclare","toString","create","minimap","enabled","scrollBeyondLastLine","tabSize","insertSpaces","fontSize","EDITOR_FONT_SIZE","lineHeight","EDITOR_LINE_HEIGHT","scrollbar","horizontalScrollbarSize","EDITOR_SCROLLBAR_SIZE","verticalScrollbarSize","horizontalSliderSize","verticalSliderSize","alwaysConsumeMouseWheel","padding","top","EDITOR_PADDING_VERTICAL","bottom","overviewRulerBorder","mouseWheelScrollSensitivity","fixedOverflowWidgets","lineNumbersMinChars","glyphMargin","folding","suggest","insertMode","preview","quickSuggestions","strings","other","comments","renderLineHighlightOnlyWhenFocus","createDecorationsCollection","libs","languageDefaults","disposables","addExtraLibs","item","editor","editorMouseDownEvent","onMouseDown","e","_decorations$getRange","decorations","getRanges","call","forEach","modKey","test","navigator","platform","position","containsPosition","getValueInRange","mouseOverEvent","onMouseMove","newDecorations","equalsRange","listener","onDidContentSizeChange","contentHeightChanged","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","embeddedModelProcessor","async","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixEvaluateRange","suffixEvaluateRange","content","newUri","offset","getOffsetAt","EmbeddedModelContext","updateState","getWorker","getJavaScriptWorker","worker","semanticMarkers","getSemanticDiagnostics","finalOffset","start","currentPosition","getPositionAt","lineNumber","column","messageText","severity","Warning","onDidChangeContent","setEditorId","getPosition","fn","key","window","_editorRef$current3","_editorRef$current4","handleCopyIconClick","then","type","K","COPY_SUCCESS","catch","COPY_FAILED","handleExpandedClick","className","classNames","error","ref","overflow","COPY","icon","lib","onClick","COLLAPSE","EXPAND","code","getContentHeightByLines","Math","min","max","split","fixedHeight","lines","_CodeEditor2","_set_codeChange","_set_userInput","_set_tokenClickEvent","c","_initClass","_applyDecs","shadowOptions","Boolean","Number","attribute","o","_","has","_checkInRHS"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{var e,t,r,n,a,o,l,i,c,f,s,d,u,h,p,m,b,v,x,g,y,P={17934:(e,t,r)=>{Promise.all([r.e(1644),r.e(5115),r.e(8769),r.e(8896),r.e(1929),r.e(9267),r.e(1732),r.e(3998),r.e(7242)]).then(r.bind(r,77242))}},k={};function w(e){var t=k[e];if(void 0!==t)return t.exports;var r=k[e]={id:e,loaded:!1,exports:{}};return P[e].call(r.exports,r,r.exports,w),r.loaded=!0,r.exports}w.m=P,w.c=k,w.amdO={},w.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return w.d(t,{a:t}),t},w.d=(e,t)=>{for(var r in t)w.o(t,r)&&!w.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},w.f={},w.e=e=>Promise.all(Object.keys(w.f).reduce(((t,r)=>(w.f[r](e,t),t)),[])),w.u=e=>"chunks/"+e+"."+{4:"27b29c20",114:"95b19c45",726:"bd57fe45",790:"dfd49962",871:"4fd463cc",886:"00d08346",1030:"bfb69082",1045:"3c8e9199",1055:"ce9b2464",1092:"a1d14ef0",1122:"967d33b8",1302:"1f55c365",1370:"9f3d4535",1580:"c4428d58",1644:"24a5e50b",1732:"a847b5d6",1760:"f257948d",1889:"7588158a",1898:"5f2675a1",1929:"08e7f037",1940:"6d0e27a5",2227:"f1247e94",2277:"3b0c3e4c",2425:"a6f4de6f",2487:"10db9263",2725:"8e05680f",3053:"a843cb9d",3144:"1e1621c1",3171:"eeb49af0",3426:"fbd8394d",3435:"dfb01d52",3505:"5331d966",3933:"0532506c",3998:"b2215a80",4041:"94a4162b",4450:"4ce8e1af",4658:"4881faa8",4741:"f2928f28",4837:"8f0e00b0",4873:"2d9af36f",4933:"7b6216a8",5115:"27891620",5250:"9e817257",5384:"a29aea17",5399:"924a1aa3",5497:"40dbb6f8",5552:"924159ee",5637:"8829231a",6314:"a13860b9",6519:"b2507172",6693:"c2557eb7",6773:"b0c8f21e",6916:"0db6f5d1",6987:"ba7f3ff1",7218:"1c9447fa",7242:"a17f513b",7721:"53dd3d9d",7733:"6d721ef2",8097:"4013e9bb",8769:"0f272e86",8799:"fe269f42",8896:"1ec589c1",8989:"8a210895",9267:"619de59c",9435:"5b9ebefa",9515:"e028ea4c",9542:"b3da2beb",9559:"a89c2a78",9755:"4db4e82d",9780:"dd0eac06",9844:"a2457ef0"}[e]+".js",w.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),w.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="@next-bricks/vs:",w.l=(r,n,a,o)=>{if(e[r])e[r].push(n);else{var l,i;if(void 0!==a)for(var c=document.getElementsByTagName("script"),f=0;f<c.length;f++){var s=c[f];if(s.getAttribute("src")==r||s.getAttribute("data-webpack")==t+a){l=s;break}}l||(i=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,w.nc&&l.setAttribute("nonce",w.nc),l.setAttribute("data-webpack",t+a),l.src=r),e[r]=[n];var d=(t,n)=>{l.onerror=l.onload=null,clearTimeout(u);var a=e[r];if(delete e[r],l.parentNode&&l.parentNode.removeChild(l),a&&a.forEach((e=>e(n))),t)return t(n)},u=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)}},w.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},w.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{w.S={};var e={},t={};w.I=(r,n)=>{n||(n=[]);var a=t[r];if(a||(a=t[r]={}),!(n.indexOf(a)>=0)){if(n.push(a),e[r])return e[r];w.o(w.S,r)||(w.S[r]={});var o=w.S[r],l="@next-bricks/vs",i=(e,t,r,n)=>{var a=o[e]=o[e]||{},i=a[t];(!i||!i.loaded&&(!n!=!i.eager?n:l>i.from))&&(a[t]={get:r,from:l,eager:!!n})},c=[];return"default"===r&&(i("@babel/parser","7.24.4",(()=>w.e(6773).then((()=>()=>w(46773))))),i("@easyops-cn/brick-next-pipes","0.6.0",(()=>Promise.all([w.e(4741),w.e(886)]).then((()=>()=>w(24741))))),i("@next-core/cook","2.4.5",(()=>Promise.all([w.e(1122),w.e(1760)]).then((()=>()=>w(61122))))),i("@next-core/element","1.2.10",(()=>w.e(1045).then((()=>()=>w(21045))))),i("@next-core/http","1.2.5",(()=>w.e(8989).then((()=>()=>w(48989))))),i("@next-core/i18n/react","1.0.56",(()=>Promise.all([w.e(8799),w.e(8097)]).then((()=>()=>w(88097))))),i("@next-core/i18n","1.0.56",(()=>Promise.all([w.e(8896),w.e(9755),w.e(8799),w.e(5552)]).then((()=>()=>w(75552))))),i("@next-core/inject","1.0.38",(()=>Promise.all([w.e(1092),w.e(1030),w.e(2277)]).then((()=>()=>w(72277))))),i("@next-core/loader","1.6.3",(()=>w.e(5399).then((()=>()=>w(35399))))),i("@next-core/pipes","2.0.23",(()=>w.e(6519).then((()=>()=>w(76519))))),i("@next-core/react-element","1.0.29",(()=>Promise.all([w.e(8769),w.e(1929),w.e(9435),w.e(114)]).then((()=>()=>w(20114))))),i("@next-core/react-runtime","1.6.13",(()=>Promise.all([w.e(8769),w.e(9267),w.e(6916),w.e(4837)]).then((()=>()=>w(64837))))),i("@next-core/runtime","1.49.9",(()=>Promise.all([w.e(4),w.e(8896),w.e(1030),w.e(1580),w.e(1302),w.e(6987)]).then((()=>()=>w(80004))))),i("@next-core/supply","2.1.19",(()=>Promise.all([w.e(1092),w.e(1030),w.e(1302),w.e(9559)]).then((()=>()=>w(49559))))),i("@next-core/theme","1.5.2",(()=>Promise.all([w.e(1889),w.e(1055)]).then((()=>()=>w(51889))))),i("@next-core/utils/general","1.7.14",(()=>w.e(871).then((()=>()=>w(40871))))),i("@next-core/utils/storyboard","1.7.14",(()=>Promise.all([w.e(8896),w.e(1580),w.e(3933)]).then((()=>()=>w(13933))))),i("history","4.10.1",(()=>w.e(5384).then((()=>()=>w(65384))))),i("i18next-browser-languagedetector","7.2.1",(()=>w.e(726).then((()=>()=>w(50726))))),i("i18next","22.5.1",(()=>w.e(9542).then((()=>()=>w(39542))))),i("js-yaml","3.14.1",(()=>w.e(9515).then((()=>()=>w(19515))))),i("lodash","4.17.21",(()=>w.e(5250).then((()=>()=>w(45250))))),i("moment/locale/zh-cn.js","2.30.1",(()=>Promise.all([w.e(7721),w.e(9844)]).then((()=>()=>w(61329))))),i("moment","2.30.1",(()=>Promise.all([w.e(7721),w.e(9844)]).then((()=>()=>w(99420))))),i("react-dom","0.0.0-experimental-ee8509801-20230117",(()=>Promise.all([w.e(3144),w.e(8769)]).then((()=>()=>w(43144))))),i("react-i18next","12.3.1",(()=>Promise.all([w.e(9780),w.e(8769)]).then((()=>()=>w(59780))))),i("react","0.0.0-experimental-ee8509801-20230117",(()=>w.e(4041).then((()=>()=>w(14041)))))),e[r]=c.length?Promise.all(c).then((()=>e[r]=1)):1}}})(),(()=>{var e;w.g.importScripts&&(e=w.g.location+"");var t=w.g.document;if(!e&&t&&(t.currentScript&&(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(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),w.p=e+"../"})(),r=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},n=(e,t)=>{e=r(e),t=r(t);for(var n=0;;){if(n>=e.length)return n<t.length&&"u"!=(typeof t[n])[0];var a=e[n],o=(typeof a)[0];if(n>=t.length)return"u"==o;var l=t[n],i=(typeof l)[0];if(o!=i)return"o"==o&&"n"==i||"s"==i||"u"==o;if("o"!=o&&"u"!=o&&a!=l)return a<l;n++}},a=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 l=[];for(o=1;o<e.length;o++){var i=e[o];l.push(0===i?"not("+c()+")":1===i?"("+c()+" || "+c()+")":2===i?l.pop()+" "+l.pop():a(i))}return c();function c(){return l.pop().replace(/^\((.+)\)$/,"$1")}},o=(e,t)=>{if(0 in e){t=r(t);var n=e[0],a=n<0;a&&(n=-n-1);for(var l=0,i=1,c=!0;;i++,l++){var f,s,d=i<e.length?(typeof e[i])[0]:"";if(l>=t.length||"o"==(s=(typeof(f=t[l]))[0]))return!c||("u"==d?i>n&&!a:""==d!=a);if("u"==s){if(!c||"u"!=d)return!1}else if(c)if(d==s)if(i<=n){if(f!=e[i])return!1}else{if(a?f>e[i]:f<e[i])return!1;f!=e[i]&&(c=!1)}else if("s"!=d&&"n"!=d){if(a||i<=n)return!1;c=!1,i--}else{if(i<=n||s<d!=a)return!1;c=!1}else"s"!=d&&"n"!=d&&(c=!1,i--)}}var u=[],h=u.pop.bind(u);for(l=1;l<e.length;l++){var p=e[l];u.push(1==p?h()|h():2==p?h()&h():p?o(p,t):!h())}return!!h()},l=(e,t)=>{var r=e[t];return Object.keys(r).reduce(((e,t)=>!e||!r[e].loaded&&n(e,t)?t:e),0)},i=(e,t,r,n)=>"Unsatisfied version "+r+" from "+(r&&e[t][r].from)+" of shared singleton module "+t+" (required "+a(n)+")",c=(e,t,r,n)=>{var a=l(e,r);return u(e[r][a])},f=(e,t,r,n)=>{var a=l(e,r);return o(n,a)||d(i(e,r,a,n)),u(e[r][a])},s=(e,t,r)=>{var a=e[t];return(t=Object.keys(a).reduce(((e,t)=>!o(r,t)||e&&!n(e,t)?e:t),0))&&a[t]},d=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},u=e=>(e.loaded=1,e.get()),p=(h=e=>function(t,r,n,a){var o=w.I(t);return o&&o.then?o.then(e.bind(e,t,w.S[t],r,n,a)):e(t,w.S[t],r,n,a)})(((e,t,r,n)=>t&&w.o(t,r)?c(t,0,r):n())),m=h(((e,t,r,n,a)=>t&&w.o(t,r)?f(t,0,r,n):a())),b=h(((e,t,r,n,a)=>{var o=t&&w.o(t,r)&&s(t,r,n);return o?u(o):a()})),v={},x={18769:()=>b("default","react",[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>w.e(4041).then((()=>()=>w(14041))))),18896:()=>m("default","@next-core/utils/general",[1,1,7,14],(()=>w.e(871).then((()=>()=>w(40871))))),81929:()=>b("default","@next-core/element",[1,1,2,10],(()=>w.e(3426).then((()=>()=>w(21045))))),4223:()=>b("default","@next-core/react-element",[1,1,0,29],(()=>Promise.all([w.e(1929),w.e(9435),w.e(7733)]).then((()=>()=>w(20114))))),72445:()=>p("default","lodash",(()=>w.e(5250).then((()=>()=>w(45250))))),91732:()=>p("default","js-yaml",(()=>w.e(9515).then((()=>()=>w(19515))))),6484:()=>b("default","@next-core/react-runtime",[1,1,6,13],(()=>Promise.all([w.e(6916),w.e(7218)]).then((()=>()=>w(64837))))),19583:()=>m("default","@next-core/theme",[1,1,5,2],(()=>w.e(1889).then((()=>()=>w(51889))))),85502:()=>p("default","@next-core/i18n/react",(()=>Promise.all([w.e(8799),w.e(8097)]).then((()=>()=>w(88097))))),28297:()=>m("default","moment",[1,2,27,0],(()=>Promise.all([w.e(7721),w.e(9844)]).then((()=>()=>w(99420))))),55521:()=>m("default","lodash",[1,4,17,19],(()=>w.e(5250).then((()=>()=>w(45250))))),91204:()=>m("default","js-yaml",[1,3,14,0],(()=>w.e(9515).then((()=>()=>w(19515))))),71760:()=>m("default","@babel/parser",[1,7,24,7],(()=>w.e(6773).then((()=>()=>w(46773))))),18799:()=>p("default","@next-core/i18n",(()=>Promise.all([w.e(8896),w.e(9755),w.e(3171)]).then((()=>()=>w(75552))))),47825:()=>m("default","react-i18next",[1,12,3,1],(()=>Promise.all([w.e(9780),w.e(8769)]).then((()=>()=>w(59780))))),2350:()=>m("default","i18next",[1,22,5,1],(()=>w.e(9542).then((()=>()=>w(39542))))),27072:()=>m("default","i18next-browser-languagedetector",[1,7,2,1],(()=>w.e(726).then((()=>()=>w(50726))))),21092:()=>m("default","@next-core/pipes",[1,2,0,23],(()=>w.e(6519).then((()=>()=>w(76519))))),41030:()=>m("default","lodash",[1,4,17,21],(()=>w.e(5250).then((()=>()=>w(45250))))),161:()=>m("default","@easyops-cn/brick-next-pipes",[2,0,6,0],(()=>Promise.all([w.e(4741),w.e(886)]).then((()=>()=>w(24741))))),59435:()=>b("default","react-dom",[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>w.e(3144).then((()=>()=>w(43144))))),66916:()=>m("default","@next-core/runtime",[1,1,49,9],(()=>Promise.all([w.e(4),w.e(8896),w.e(1030),w.e(1580),w.e(1302),w.e(6987)]).then((()=>()=>w(80004))))),31580:()=>m("default","@next-core/cook",[1,2,4,5],(()=>Promise.all([w.e(1122),w.e(1760)]).then((()=>()=>w(61122))))),21302:()=>m("default","moment",[1,2,30,1],(()=>Promise.all([w.e(7721),w.e(9844)]).then((()=>()=>w(99420))))),3465:()=>m("default","@next-core/http",[1,1,2,5],(()=>w.e(1370).then((()=>()=>w(48989))))),4307:()=>m("default","@next-core/i18n",[1,1,0,56],(()=>Promise.all([w.e(9755),w.e(8799),w.e(790)]).then((()=>()=>w(75552))))),5684:()=>m("default","@next-core/supply",[1,2,1,19],(()=>Promise.all([w.e(1092),w.e(1940)]).then((()=>()=>w(49559))))),10537:()=>m("default","@next-core/inject",[1,1,0,38],(()=>Promise.all([w.e(1092),w.e(4658)]).then((()=>()=>w(72277))))),26036:()=>m("default","moment/locale/zh-cn.js",[1,2,30,1],(()=>Promise.all([w.e(7721),w.e(9844)]).then((()=>()=>w(61329))))),32890:()=>m("default","history",[1,4,10,1],(()=>w.e(5384).then((()=>()=>w(65384))))),69680:()=>m("default","@next-core/utils/storyboard",[1,1,7,14],(()=>w.e(6314).then((()=>()=>w(13933))))),94615:()=>m("default","@next-core/loader",[1,1,6,3],(()=>w.e(5399).then((()=>()=>w(35399)))))},g={886:[28297,55521,91204],1030:[41030],1092:[21092],1302:[21302],1580:[31580],1732:[91732],1760:[71760],1929:[81929],3998:[6484,19583,85502],6519:[161],6916:[66916],6987:[3465,4307,5684,10537,26036,32890,69680,94615],8097:[47825],8769:[18769],8799:[18799],8896:[18896],9267:[4223,72445],9435:[59435],9755:[2350,27072]},y={},w.f.consumes=(e,t)=>{w.o(g,e)&&g[e].forEach((e=>{if(w.o(v,e))return t.push(v[e]);if(!y[e]){var r=t=>{v[e]=0,w.m[e]=r=>{delete w.c[e],r.exports=t()}};y[e]=!0;var n=t=>{delete v[e],w.m[e]=r=>{throw delete w.c[e],t}};try{var a=x[e]();a.then?t.push(v[e]=a.then(r).catch(n)):r(a)}catch(e){n(e)}}}))},(()=>{w.b=document.baseURI||self.location.href;var e={8792:0};w.f.j=(t,r)=>{var n=w.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else if(/^(1((03|58|76)0|(09|30|73)2|929)|69(16|87)|8(769|799|86|896)|9(267|435|755))$/.test(t))e[t]=0;else{var a=new Promise(((r,a)=>n=e[t]=[r,a]));r.push(n[2]=a);var o=w.p+w.u(t),l=new Error;w.l(o,(r=>{if(w.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",l.name="ChunkLoadError",l.type=a,l.request=o,n[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,a,[o,l,i]=r,c=0;if(o.some((t=>0!==e[t]))){for(n in l)w.o(l,n)&&(w.m[n]=l[n]);i&&i(w)}for(t&&t(r);c<o.length;c++)a=o[c],w.o(e,a)&&e[a]&&e[a][0](),e[a]=0},r=globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),w.nc=void 0,w(17934)})();
|
|
2
|
-
//# sourceMappingURL=main.
|
|
1
|
+
(()=>{var e,t,r,n,a,o,l,i,c,s,f,d,u,h,p,m,b,v,x,g,y,P={17934:(e,t,r)=>{Promise.all([r.e(1644),r.e(5115),r.e(8769),r.e(8896),r.e(1929),r.e(9267),r.e(1732),r.e(3998),r.e(7242)]).then(r.bind(r,77242))}},k={};function w(e){var t=k[e];if(void 0!==t)return t.exports;var r=k[e]={id:e,loaded:!1,exports:{}};return P[e].call(r.exports,r,r.exports,w),r.loaded=!0,r.exports}w.m=P,w.c=k,w.amdO={},w.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return w.d(t,{a:t}),t},w.d=(e,t)=>{for(var r in t)w.o(t,r)&&!w.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},w.f={},w.e=e=>Promise.all(Object.keys(w.f).reduce(((t,r)=>(w.f[r](e,t),t)),[])),w.u=e=>"chunks/"+e+"."+{4:"27b29c20",114:"95b19c45",726:"bd57fe45",790:"dfd49962",871:"4fd463cc",886:"00d08346",1030:"bfb69082",1045:"3c8e9199",1055:"ce9b2464",1092:"a1d14ef0",1122:"967d33b8",1302:"1f55c365",1370:"9f3d4535",1580:"c4428d58",1644:"24a5e50b",1732:"a847b5d6",1760:"f257948d",1889:"7588158a",1898:"5f2675a1",1929:"08e7f037",1940:"6d0e27a5",2227:"f1247e94",2277:"3b0c3e4c",2425:"a6f4de6f",2487:"10db9263",2725:"8e05680f",3053:"a843cb9d",3144:"1e1621c1",3171:"eeb49af0",3426:"fbd8394d",3435:"dfb01d52",3505:"5331d966",3933:"0532506c",3998:"bfacc516",4041:"94a4162b",4450:"4ce8e1af",4658:"4881faa8",4741:"f2928f28",4837:"8f0e00b0",4873:"2d9af36f",4933:"7b6216a8",5115:"27891620",5250:"9e817257",5384:"a29aea17",5399:"924a1aa3",5497:"40dbb6f8",5552:"924159ee",5637:"8829231a",6314:"a13860b9",6519:"b2507172",6693:"c2557eb7",6773:"b0c8f21e",6916:"0db6f5d1",6987:"ba7f3ff1",7218:"1c9447fa",7242:"0a2d3b0d",7721:"53dd3d9d",7733:"6d721ef2",8097:"4013e9bb",8769:"0f272e86",8799:"fe269f42",8896:"1ec589c1",8989:"8a210895",9267:"619de59c",9435:"5b9ebefa",9515:"e028ea4c",9542:"b3da2beb",9559:"a89c2a78",9755:"4db4e82d",9780:"dd0eac06",9844:"a2457ef0"}[e]+".js",w.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),w.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="@next-bricks/vs:",w.l=(r,n,a,o)=>{if(e[r])e[r].push(n);else{var l,i;if(void 0!==a)for(var c=document.getElementsByTagName("script"),s=0;s<c.length;s++){var f=c[s];if(f.getAttribute("src")==r||f.getAttribute("data-webpack")==t+a){l=f;break}}l||(i=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,w.nc&&l.setAttribute("nonce",w.nc),l.setAttribute("data-webpack",t+a),l.src=r),e[r]=[n];var d=(t,n)=>{l.onerror=l.onload=null,clearTimeout(u);var a=e[r];if(delete e[r],l.parentNode&&l.parentNode.removeChild(l),a&&a.forEach((e=>e(n))),t)return t(n)},u=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)}},w.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},w.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{w.S={};var e={},t={};w.I=(r,n)=>{n||(n=[]);var a=t[r];if(a||(a=t[r]={}),!(n.indexOf(a)>=0)){if(n.push(a),e[r])return e[r];w.o(w.S,r)||(w.S[r]={});var o=w.S[r],l="@next-bricks/vs",i=(e,t,r,n)=>{var a=o[e]=o[e]||{},i=a[t];(!i||!i.loaded&&(!n!=!i.eager?n:l>i.from))&&(a[t]={get:r,from:l,eager:!!n})},c=[];return"default"===r&&(i("@babel/parser","7.24.4",(()=>w.e(6773).then((()=>()=>w(46773))))),i("@easyops-cn/brick-next-pipes","0.6.0",(()=>Promise.all([w.e(4741),w.e(886)]).then((()=>()=>w(24741))))),i("@next-core/cook","2.4.5",(()=>Promise.all([w.e(1122),w.e(1760)]).then((()=>()=>w(61122))))),i("@next-core/element","1.2.10",(()=>w.e(1045).then((()=>()=>w(21045))))),i("@next-core/http","1.2.5",(()=>w.e(8989).then((()=>()=>w(48989))))),i("@next-core/i18n/react","1.0.56",(()=>Promise.all([w.e(8799),w.e(8097)]).then((()=>()=>w(88097))))),i("@next-core/i18n","1.0.56",(()=>Promise.all([w.e(8896),w.e(9755),w.e(8799),w.e(5552)]).then((()=>()=>w(75552))))),i("@next-core/inject","1.0.38",(()=>Promise.all([w.e(1092),w.e(1030),w.e(2277)]).then((()=>()=>w(72277))))),i("@next-core/loader","1.6.3",(()=>w.e(5399).then((()=>()=>w(35399))))),i("@next-core/pipes","2.0.23",(()=>w.e(6519).then((()=>()=>w(76519))))),i("@next-core/react-element","1.0.29",(()=>Promise.all([w.e(8769),w.e(1929),w.e(9435),w.e(114)]).then((()=>()=>w(20114))))),i("@next-core/react-runtime","1.6.13",(()=>Promise.all([w.e(8769),w.e(9267),w.e(6916),w.e(4837)]).then((()=>()=>w(64837))))),i("@next-core/runtime","1.49.9",(()=>Promise.all([w.e(4),w.e(8896),w.e(1030),w.e(1580),w.e(1302),w.e(6987)]).then((()=>()=>w(80004))))),i("@next-core/supply","2.1.19",(()=>Promise.all([w.e(1092),w.e(1030),w.e(1302),w.e(9559)]).then((()=>()=>w(49559))))),i("@next-core/theme","1.5.2",(()=>Promise.all([w.e(1889),w.e(1055)]).then((()=>()=>w(51889))))),i("@next-core/utils/general","1.7.14",(()=>w.e(871).then((()=>()=>w(40871))))),i("@next-core/utils/storyboard","1.7.14",(()=>Promise.all([w.e(8896),w.e(1580),w.e(3933)]).then((()=>()=>w(13933))))),i("history","4.10.1",(()=>w.e(5384).then((()=>()=>w(65384))))),i("i18next-browser-languagedetector","7.2.1",(()=>w.e(726).then((()=>()=>w(50726))))),i("i18next","22.5.1",(()=>w.e(9542).then((()=>()=>w(39542))))),i("js-yaml","3.14.1",(()=>w.e(9515).then((()=>()=>w(19515))))),i("lodash","4.17.21",(()=>w.e(5250).then((()=>()=>w(45250))))),i("moment/locale/zh-cn.js","2.30.1",(()=>Promise.all([w.e(7721),w.e(9844)]).then((()=>()=>w(61329))))),i("moment","2.30.1",(()=>Promise.all([w.e(7721),w.e(9844)]).then((()=>()=>w(99420))))),i("react-dom","0.0.0-experimental-ee8509801-20230117",(()=>Promise.all([w.e(3144),w.e(8769)]).then((()=>()=>w(43144))))),i("react-i18next","12.3.1",(()=>Promise.all([w.e(9780),w.e(8769)]).then((()=>()=>w(59780))))),i("react","0.0.0-experimental-ee8509801-20230117",(()=>w.e(4041).then((()=>()=>w(14041)))))),e[r]=c.length?Promise.all(c).then((()=>e[r]=1)):1}}})(),(()=>{var e;w.g.importScripts&&(e=w.g.location+"");var t=w.g.document;if(!e&&t&&(t.currentScript&&(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(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),w.p=e+"../"})(),r=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},n=(e,t)=>{e=r(e),t=r(t);for(var n=0;;){if(n>=e.length)return n<t.length&&"u"!=(typeof t[n])[0];var a=e[n],o=(typeof a)[0];if(n>=t.length)return"u"==o;var l=t[n],i=(typeof l)[0];if(o!=i)return"o"==o&&"n"==i||"s"==i||"u"==o;if("o"!=o&&"u"!=o&&a!=l)return a<l;n++}},a=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 l=[];for(o=1;o<e.length;o++){var i=e[o];l.push(0===i?"not("+c()+")":1===i?"("+c()+" || "+c()+")":2===i?l.pop()+" "+l.pop():a(i))}return c();function c(){return l.pop().replace(/^\((.+)\)$/,"$1")}},o=(e,t)=>{if(0 in e){t=r(t);var n=e[0],a=n<0;a&&(n=-n-1);for(var l=0,i=1,c=!0;;i++,l++){var s,f,d=i<e.length?(typeof e[i])[0]:"";if(l>=t.length||"o"==(f=(typeof(s=t[l]))[0]))return!c||("u"==d?i>n&&!a:""==d!=a);if("u"==f){if(!c||"u"!=d)return!1}else if(c)if(d==f)if(i<=n){if(s!=e[i])return!1}else{if(a?s>e[i]:s<e[i])return!1;s!=e[i]&&(c=!1)}else if("s"!=d&&"n"!=d){if(a||i<=n)return!1;c=!1,i--}else{if(i<=n||f<d!=a)return!1;c=!1}else"s"!=d&&"n"!=d&&(c=!1,i--)}}var u=[],h=u.pop.bind(u);for(l=1;l<e.length;l++){var p=e[l];u.push(1==p?h()|h():2==p?h()&h():p?o(p,t):!h())}return!!h()},l=(e,t)=>{var r=e[t];return Object.keys(r).reduce(((e,t)=>!e||!r[e].loaded&&n(e,t)?t:e),0)},i=(e,t,r,n)=>"Unsatisfied version "+r+" from "+(r&&e[t][r].from)+" of shared singleton module "+t+" (required "+a(n)+")",c=(e,t,r,n)=>{var a=l(e,r);return u(e[r][a])},s=(e,t,r,n)=>{var a=l(e,r);return o(n,a)||d(i(e,r,a,n)),u(e[r][a])},f=(e,t,r)=>{var a=e[t];return(t=Object.keys(a).reduce(((e,t)=>!o(r,t)||e&&!n(e,t)?e:t),0))&&a[t]},d=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},u=e=>(e.loaded=1,e.get()),p=(h=e=>function(t,r,n,a){var o=w.I(t);return o&&o.then?o.then(e.bind(e,t,w.S[t],r,n,a)):e(t,w.S[t],r,n,a)})(((e,t,r,n)=>t&&w.o(t,r)?c(t,0,r):n())),m=h(((e,t,r,n,a)=>t&&w.o(t,r)?s(t,0,r,n):a())),b=h(((e,t,r,n,a)=>{var o=t&&w.o(t,r)&&f(t,r,n);return o?u(o):a()})),v={},x={18769:()=>b("default","react",[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>w.e(4041).then((()=>()=>w(14041))))),18896:()=>m("default","@next-core/utils/general",[1,1,7,14],(()=>w.e(871).then((()=>()=>w(40871))))),81929:()=>b("default","@next-core/element",[1,1,2,10],(()=>w.e(3426).then((()=>()=>w(21045))))),4223:()=>b("default","@next-core/react-element",[1,1,0,29],(()=>Promise.all([w.e(1929),w.e(9435),w.e(7733)]).then((()=>()=>w(20114))))),72445:()=>p("default","lodash",(()=>w.e(5250).then((()=>()=>w(45250))))),91732:()=>p("default","js-yaml",(()=>w.e(9515).then((()=>()=>w(19515))))),6484:()=>b("default","@next-core/react-runtime",[1,1,6,13],(()=>Promise.all([w.e(6916),w.e(7218)]).then((()=>()=>w(64837))))),19583:()=>m("default","@next-core/theme",[1,1,5,2],(()=>w.e(1889).then((()=>()=>w(51889))))),85502:()=>p("default","@next-core/i18n/react",(()=>Promise.all([w.e(8799),w.e(8097)]).then((()=>()=>w(88097))))),28297:()=>m("default","moment",[1,2,27,0],(()=>Promise.all([w.e(7721),w.e(9844)]).then((()=>()=>w(99420))))),55521:()=>m("default","lodash",[1,4,17,19],(()=>w.e(5250).then((()=>()=>w(45250))))),91204:()=>m("default","js-yaml",[1,3,14,0],(()=>w.e(9515).then((()=>()=>w(19515))))),71760:()=>m("default","@babel/parser",[1,7,24,7],(()=>w.e(6773).then((()=>()=>w(46773))))),18799:()=>p("default","@next-core/i18n",(()=>Promise.all([w.e(8896),w.e(9755),w.e(3171)]).then((()=>()=>w(75552))))),47825:()=>m("default","react-i18next",[1,12,3,1],(()=>Promise.all([w.e(9780),w.e(8769)]).then((()=>()=>w(59780))))),2350:()=>m("default","i18next",[1,22,5,1],(()=>w.e(9542).then((()=>()=>w(39542))))),27072:()=>m("default","i18next-browser-languagedetector",[1,7,2,1],(()=>w.e(726).then((()=>()=>w(50726))))),21092:()=>m("default","@next-core/pipes",[1,2,0,23],(()=>w.e(6519).then((()=>()=>w(76519))))),41030:()=>m("default","lodash",[1,4,17,21],(()=>w.e(5250).then((()=>()=>w(45250))))),161:()=>m("default","@easyops-cn/brick-next-pipes",[2,0,6,0],(()=>Promise.all([w.e(4741),w.e(886)]).then((()=>()=>w(24741))))),59435:()=>b("default","react-dom",[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>w.e(3144).then((()=>()=>w(43144))))),66916:()=>m("default","@next-core/runtime",[1,1,49,9],(()=>Promise.all([w.e(4),w.e(8896),w.e(1030),w.e(1580),w.e(1302),w.e(6987)]).then((()=>()=>w(80004))))),31580:()=>m("default","@next-core/cook",[1,2,4,5],(()=>Promise.all([w.e(1122),w.e(1760)]).then((()=>()=>w(61122))))),21302:()=>m("default","moment",[1,2,30,1],(()=>Promise.all([w.e(7721),w.e(9844)]).then((()=>()=>w(99420))))),3465:()=>m("default","@next-core/http",[1,1,2,5],(()=>w.e(1370).then((()=>()=>w(48989))))),4307:()=>m("default","@next-core/i18n",[1,1,0,56],(()=>Promise.all([w.e(9755),w.e(8799),w.e(790)]).then((()=>()=>w(75552))))),5684:()=>m("default","@next-core/supply",[1,2,1,19],(()=>Promise.all([w.e(1092),w.e(1940)]).then((()=>()=>w(49559))))),10537:()=>m("default","@next-core/inject",[1,1,0,38],(()=>Promise.all([w.e(1092),w.e(4658)]).then((()=>()=>w(72277))))),26036:()=>m("default","moment/locale/zh-cn.js",[1,2,30,1],(()=>Promise.all([w.e(7721),w.e(9844)]).then((()=>()=>w(61329))))),32890:()=>m("default","history",[1,4,10,1],(()=>w.e(5384).then((()=>()=>w(65384))))),69680:()=>m("default","@next-core/utils/storyboard",[1,1,7,14],(()=>w.e(6314).then((()=>()=>w(13933))))),94615:()=>m("default","@next-core/loader",[1,1,6,3],(()=>w.e(5399).then((()=>()=>w(35399)))))},g={886:[28297,55521,91204],1030:[41030],1092:[21092],1302:[21302],1580:[31580],1732:[91732],1760:[71760],1929:[81929],3998:[6484,19583,85502],6519:[161],6916:[66916],6987:[3465,4307,5684,10537,26036,32890,69680,94615],8097:[47825],8769:[18769],8799:[18799],8896:[18896],9267:[4223,72445],9435:[59435],9755:[2350,27072]},y={},w.f.consumes=(e,t)=>{w.o(g,e)&&g[e].forEach((e=>{if(w.o(v,e))return t.push(v[e]);if(!y[e]){var r=t=>{v[e]=0,w.m[e]=r=>{delete w.c[e],r.exports=t()}};y[e]=!0;var n=t=>{delete v[e],w.m[e]=r=>{throw delete w.c[e],t}};try{var a=x[e]();a.then?t.push(v[e]=a.then(r).catch(n)):r(a)}catch(e){n(e)}}}))},(()=>{w.b=document.baseURI||self.location.href;var e={8792:0};w.f.j=(t,r)=>{var n=w.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else if(/^(1((03|58|76)0|(09|30|73)2|929)|69(16|87)|8(769|799|86|896)|9(267|435|755))$/.test(t))e[t]=0;else{var a=new Promise(((r,a)=>n=e[t]=[r,a]));r.push(n[2]=a);var o=w.p+w.u(t),l=new Error;w.l(o,(r=>{if(w.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",l.name="ChunkLoadError",l.type=a,l.request=o,n[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,a,[o,l,i]=r,c=0;if(o.some((t=>0!==e[t]))){for(n in l)w.o(l,n)&&(w.m[n]=l[n]);i&&i(w)}for(t&&t(r);c<o.length;c++)a=o[c],w.o(e,a)&&e[a]&&e[a][0](),e[a]=0},r=globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),w.nc=void 0,w(17934)})();
|
|
2
|
+
//# sourceMappingURL=main.dca448ef.js.map
|