@next-bricks/vs 1.13.15 → 1.13.16
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/{3104.68f53c7a.js → 3104.df0022ae.js} +2 -2
- package/dist/chunks/3104.df0022ae.js.map +1 -0
- package/dist/chunks/7242.2efc0e5c.js +2 -0
- package/dist/chunks/7242.2efc0e5c.js.map +1 -0
- package/dist/chunks/code-editor.9d94a9eb.js +2 -0
- package/dist/chunks/code-editor.9d94a9eb.js.map +1 -0
- package/dist/chunks/{main.a1903f35.js → main.a53a79db.js} +2 -2
- package/dist/chunks/{main.a1903f35.js.map → main.a53a79db.js.map} +1 -1
- package/dist/{index.4807e4f4.js → index.5422ca89.js} +2 -2
- package/dist/{index.4807e4f4.js.map → index.5422ca89.js.map} +1 -1
- package/dist-types/code-editor/widget/Placeholder.d.ts +2 -1
- package/package.json +2 -2
- package/dist/chunks/3104.68f53c7a.js.map +0 -1
- package/dist/chunks/7242.12376140.js +0 -2
- package/dist/chunks/7242.12376140.js.map +0 -1
- package/dist/chunks/code-editor.5d6763c1.js +0 -2
- package/dist/chunks/code-editor.5d6763c1.js.map +0 -1
package/dist/bricks.json
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[]).push([[3104],{7137:(e,t,n)=>{n.d(t,{Vu:()=>s,fE:()=>o,lP:()=>i,yU:()=>r});const r=12,o=18,i=12,s=12},8182:(e,t,n)=>{n.d(t,{I:()=>i,K:()=>r,NS:()=>o});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 o="bricks/vs/code-editor",i={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:()=>i});var r=n(2329);const o=new Map;function i(e,t){return e.flatMap((e=>{const n=r.Uri.file(`libs/${e.filePath}`).toString(),i=o.get(n);i&&i.forEach((e=>e.dispose()));const s=[t.languageDefaults].map((t=>r.languages.typescript[t].addExtraLib(e.content,n)));return o.set(n,s),s}))}},4929:(e,t,n)=>{n.d(t,{v:()=>g});var r=n(2329),o=n(7176),i=n(739),s=n(6123),a=n.n(s),l=n(4804),d=n(4102),u=n(1968);const c=(e,t,n)=>{const r=[],o=[];let i="",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&&(!i&&(i=s),a=e.length,o.unshift(s))}s--}return{curLevelKeys:r,keyList:o,parentKey:i}},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,m,p)=>{if(n&&n!==(0,l.B)())return{suggestions:[]};const h=s.showDSKey?["CTX.DS","DS"]:[],b=g.getWordUntilPosition(m),{word:C,token:f}=((e,t,n)=>{var r;const o=e.getWordUntilPosition(t),i=e.getValueInRange({startLineNumber:t.lineNumber,endLineNumber:t.lineNumber,startColumn:t.column-o.word.length-1,endColumn:t.column-o.word.length}),s=e.getWordAtPosition({...t,column:t.column-(null==o||null===(r=o.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:i}})(g,m,s),A=g.getValueInRange({startLineNumber:m.lineNumber,endLineNumber:m.lineNumber,startColumn:0,endColumn:1/0}),v={startLineNumber:m.lineNumber,endLineNumber:m.lineNumber,startColumn:b.startColumn,endColumn:b.endColumn},N=1===b.startColumn,{curLevelKeys:S}=c(g,b,g.getLineCount());if("<"===p.triggerCharacter)return"<"!==g.getValueInRange({startLineNumber:m.lineNumber,endLineNumber:m.lineNumber,startColumn:m.column-2,endColumn:m.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(N)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(":"===p.triggerCharacter||"."===p.triggerCharacter&&C&&!["CTX","STATE","FN"].concat(h).includes(C)){var x;if("action"===C&&":"===p.triggerCharacter)return{suggestions:null===(x=a()(o,"definitions.BuiltinBrickEventHandler.properties.action.enum")??[])||void 0===x?void 0:x.map((e=>({label:` ${e}`,detail:"event action",kind:r.languages.CompletionItemKind.Keyword,insertText:` ${e}`,range:v})))};const e=null==t?void 0:t[C];let n,i="";if(e&&!Array.isArray(e)?(n=e.completers,i=e.triggerCharacter):n=e,i?p.triggerCharacter===i&&n:n)return{suggestions:(n??[]).map((e=>{const t=":"===i?` ${e.label}`:e.label;return{...e,label:t,kind:r.languages.CompletionItemKind.Value,insertText:e.insertText||t,range:v}}))}}if(((e,t)=>{var n;const o=e.getWordUntilPosition(t),i=e.findPreviousMatch("<%",t,!1,!1,null,!1),s=e.findNextMatch("%>",t,!1,!1,null,!1),a=null==i?void 0:i.range,l=null==s?void 0:s.range;if((null==a?void 0:a.startLineNumber)&&(null==l?void 0:l.startLineNumber)&&a.startLineNumber<=t.lineNumber&&l.endLineNumber>=t.lineNumber&&(null===(n=e.findMatches("<%|%>",new r.Range(a.endLineNumber,a.endColumn,l.startLineNumber,l.startColumn),!0,!1,null,!0))||void 0===n||!n.length)){const{parentKey:n}=c(e,a,a.startLineNumber),{parentKey:r}=c(e,l,l.startLineNumber),{keyList:i}=c(e,o,t.lineNumber);if(n===r&&i.includes(n)||""===n&&""===r)return!0}return!1})(g,m)&&":"!==f){const e=u.b.getInstance(n);return{suggestions:await(0,d.DW)(g,m,e.getState())}}return/^[\s|-]*\w$/.test(A)?{suggestions:i.xN.map((e=>({label:e,insertText:e,kind:r.languages.CompletionItemKind.Keyword,range:v}))).filter((e=>!S.includes(e.label)))}:{suggestions:[]}}}},739:(e,t,n)=>{n.d(t,{X2:()=>o,xN:()=>r});const r=["target","targetRef","properties","events","method","callback","success","error","action","useProvider","useChildren","useBrick","args","if","then"],o='\n declare const DATA: any;\n declare const EVENT: CustomEvent<any>;\n declare const FLAGS: Record<string, boolean>;\n declare const ANCHOR: string | null;\n declare const HASH: string;\n declare namespace INSTALLED_APPS {\n function has(appId: string):boolean\n }\n declare const ITEM: any;\n declare const INDEX: number;\n declare const SIZE: number;\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 breakpoint?: "xLarge" | "large" | "medium" | "small" | "xSmall";\n };\n declare const MISC: Record<string, any>;\n declare const PARAMS: URLSearchParams;\n declare const PROCESSORS: Record<string, Record<string, Function>>;\n declare const QUERY_ARRAY: Record<string, string[]>;\n declare const TPL: Record<string, any>;\n declare const PIPES: Record<string, Function>;\n declare const _: Record<string, any>;\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: string;\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'},4804:(e,t,n)=>{let r;function o(e){r=e}function i(){return r}n.d(t,{B:()=>i,J:()=>o})},1968:(e,t,n)=>{n.d(t,{b:()=>d});var r=n(918),o=n(829),i=n(6121),s=n(2559),a=new WeakMap,l=new WeakMap;class d{static getInstance(e){return(0,s.A)(d,this,u)._[e]||((0,s.A)(d,this,u)._[e]=new d(e)),(0,s.A)(d,this,u)._[e]}constructor(e){(0,r.A)(this,a,void 0),(0,r.A)(this,l,{}),(0,i.A)(a,this,e)}updateState(e){(0,i.A)(l,this,e)}getState(){return(0,o.A)(l,this)}}var u={_:{}}},4102:(e,t,n)=>{n.d(t,{AR:()=>a,DW:()=>l,Eh:()=>u});var r=n(7176),o=n(2445),i=n(2329),s=n(739);function a(e){return"uri"in e&&(e=e.uri),i.Uri.parse(e.toString()+".ts")}async function l(e,t,n){const r=await i.languages.typescript.getJavaScriptWorker(),o=await r(e.uri),s=i.editor.getModel(a(e)),l=e.getOffsetAt(t)-((null==n?void 0:n.offset)??0),d=await o.getCompletionsAtPosition(s.uri.toString(),l),u=e.getWordUntilPosition(t),c=new i.Range(t.lineNumber,u.startColumn,t.lineNumber,u.endColumn);return((null==d?void 0:d.entries)??[]).map((n=>{let r=c;if(n.replacementSpan){const t=e.getPositionAt(n.replacementSpan.start),o=e.getPositionAt(n.replacementSpan.start+n.replacementSpan.length);r=new i.Range(t.lineNumber,t.column,o.lineNumber,o.column)}return{uri:s.uri,position:t,offset:l,range:r,label:n.name,insertText:n.name,sortText:n.sortText,kind:i.languages.CompletionItemKind.Property}}))}function d(){const e=(0,o.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[d(),s.X2].join("\n")}},1836:(e,t,n)=>{n.d(t,{j:()=>i});var r=n(4586),o=n(2329);class i{constructor(e,t){(0,r.A)(this,"domNode",void 0),(0,r.A)(this,"placeholder",void 0),(0,r.A)(this,"editor",void 0),this.placeholder=e,this.editor=t,this.editor.onDidChangeModelContent((()=>this.onDidChangeModelContent())),this.onDidChangeModelContent()}onDidChangeModelContent(){var e,t,n,r;""===(null===(e=this.editor)||void 0===e||null===(t=e.getValue)||void 0===t?void 0:t.call(e))?this.editor.addContentWidget(this):null===(n=this.editor)||void 0===n||null===(r=n.removeContentWidget)||void 0===r||r.call(n,this)}getId(){return i.ID}getDomNode(){return this.domNode||(this.domNode=document.createElement("div"),this.domNode.style.width="max-content",this.domNode.style.pointerEvents="none",this.domNode.textContent=this.placeholder,this.domNode.style.whiteSpace="break-spaces",this.domNode.style.fontStyle="italic",this.domNode.style.color="rgba(var(--theme-gray-color-rgb-channel), 0.4)",this.editor.applyFontInfo(this.domNode)),this.domNode}getPosition(){return{position:{lineNumber:1,column:1},preference:[o.editor.ContentWidgetPositionPreference.EXACT]}}dispose(){var e,t;null===(e=this.editor)||void 0===e||null===(t=e.removeContentWidget)||void 0===t||t.call(e,this)}}(0,r.A)(i,"ID","editor.widget.placeholderHint")},3271:(e,t,n)=>{n.d(t,{A:()=>a});var r=n(6758),o=n.n(r),i=n(935),s=n.n(i)()(o());s.push([e.id,".highlight{box-shadow:rgb(74 170 189) 0px 1px 0px 0px}.pointer{cursor:pointer}.monaco-editor{outline-width:0}.monaco-editor .overflow-guard{border-radius:var(--antd-button-border-radius);border:1px solid var(--color-border-divider-line)}.code-editor-wrapper.error .overflow-guard{border-color: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},7716:(e,t,n)=>{n.d(t,{v:()=>i});const r=new RegExp("\\b(MARK:\\s*)(.*)$"),o=/^-+|-+$/g;function i(e,t){var n;let r=[];if(t.findRegionSectionHeaders&&(null===(n=t.foldingRules)||void 0===n?void 0:n.markers)){const n=function(e,t){const n=[],r=e.getLineCount();for(let o=1;o<=r;o++){const r=e.getLineContent(o),i=r.match(t.foldingRules.markers.start);if(i){const e={startLineNumber:o,startColumn:i[0].length+1,endLineNumber:o,endColumn:r.length+1};if(e.endColumn>e.startColumn){const t={range:e,...a(r.substring(i[0].length)),shouldBeInComments:!1};(t.text||t.hasSeparatorLine)&&n.push(t)}}}return n}(e,t);r=r.concat(n)}if(t.findMarkSectionHeaders){const t=function(e){const t=[],n=e.getLineCount();for(let r=1;r<=n;r++)s(e.getLineContent(r),r,t);return t}(e);r=r.concat(t)}return r}function s(e,t,n){r.lastIndex=0;const o=r.exec(e);if(o){const e=o.index+o[1].length+1,r={startLineNumber:t,startColumn:e,endLineNumber:t,endColumn:e+o[2].length};if(r.endColumn>r.startColumn){const e={range:r,...a(o[1]),shouldBeInComments:!0};(e.text||e.hasSeparatorLine)&&n.push(e)}}}function a(e){const t=(e=e.trim()).startsWith("-");return{text:e=e.replace(o,""),hasSeparatorLine:t}}},3569:(e,t,n)=>{var r=n(2591),o=n.n(r),i=n(1740),s=n.n(i),a=n(8128),l=n.n(a),d=n(855),u=n.n(d),c=n(3051),g=n.n(c),m=n(3656),p=n.n(m),h=n(3271),b={};b.styleTagTransform=p(),b.setAttributes=u(),b.insert=l().bind(null,"head"),b.domAPI=s(),b.insertStyleElement=g(),o()(h.A,b),h.A&&h.A.locals&&h.A.locals},1865:(e,t,n)=>{let r;function o(){return r||(r=new Worker(new URL(n.p+n.u(9067),n.b))),r}n.d(t,{e:()=>o})},426:(e,t,n)=>{n.d(t,{N:()=>T});var r,o=n(4635),i=n(918),s=n(5536),a=n(9492),l=n(6121),d=n(829),u=n(2740),c=n(300),g=n(4295);let m,p,h,b,C,f,A,v,N;const{method:S,property:x}=(0,c.createDecorators)();var w=new WeakMap,L=new WeakSet,k=new WeakMap,E=new WeakMap,I=new WeakMap,y=new WeakMap,P=new WeakMap,R=new WeakMap;class T extends g.ReactNextElement{constructor(){super(...arguments),(0,o.A)(this,L),(0,i.A)(this,w,(m(this),!1)),(0,i.A)(this,k,"normal"),(0,i.A)(this,E,!1),(0,i.A)(this,I,p(this)),(0,i.A)(this,y,(h(this),b(this))),(0,i.A)(this,P,(C(this),f(this))),(0,i.A)(this,R,(A(this),v(this))),N(this)}get isFormItemElement(){return!0}set validateState(e){(0,a.A)(L,O,this,e),this._render()}get validateState(){return(0,s.A)(L,this,_)}set notRender(e){this.hidden=e,(0,a.A)(L,D,this,e),this._render()}get notRender(){return(0,s.A)(L,this,M)}get $bindFormItem(){return(0,s.A)(L,this,W)}set $bindFormItem(e){(0,a.A)(L,K,this,e),this._render()}get helpBrick(){return(0,d.A)(I,this)}set helpBrick(e){(0,l.A)(I,this,e)}get labelBrick(){return(0,d.A)(y,this)}set labelBrick(e){(0,l.A)(y,this,e)}get labelCol(){return(0,d.A)(P,this)}set labelCol(e){(0,l.A)(P,this,e)}get wrapperCol(){return(0,d.A)(R,this)}set wrapperCol(e){(0,l.A)(R,this,e)}setNotRender(e){this.notRender=e}getFormElement(){let e=this;for(;(e=e.parentNode)&&e&&!e.isFormElement;);return e}}function M(e){return(0,d.A)(w,e)}function D(e,t){(0,l.A)(w,e,t)}function _(e){return(0,d.A)(k,e)}function O(e,t){(0,l.A)(k,e,t)}function W(e){return(0,d.A)(E,e)}function K(e,t){(0,l.A)(E,e,t)}r=T,[p,h,b,C,f,A,v,N,m]=(0,u.A)(r,[],[[x({attribute:!1}),1,"helpBrick"],[x({attribute:!1}),1,"labelBrick"],[x({attribute:!1}),1,"labelCol"],[x({attribute:!1}),1,"wrapperCol"],[S(),2,"setNotRender"],[S(),2,"getFormElement"]],0,void 0,g.ReactNextElement).e}}]);
|
|
2
|
-
//# sourceMappingURL=3104.
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[]).push([[3104],{7137:(e,t,n)=>{n.d(t,{Vu:()=>s,fE:()=>o,lP:()=>i,yU:()=>r});const r=12,o=18,i=12,s=12},8182:(e,t,n)=>{n.d(t,{I:()=>i,K:()=>r,NS:()=>o});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 o="bricks/vs/code-editor",i={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:()=>i});var r=n(2329);const o=new Map;function i(e,t){return e.flatMap((e=>{const n=r.Uri.file(`libs/${e.filePath}`).toString(),i=o.get(n);i&&i.forEach((e=>e.dispose()));const s=[t.languageDefaults].map((t=>r.languages.typescript[t].addExtraLib(e.content,n)));return o.set(n,s),s}))}},4929:(e,t,n)=>{n.d(t,{v:()=>g});var r=n(2329),o=n(7176),i=n(739),s=n(6123),a=n.n(s),l=n(4804),d=n(4102),u=n(1968);const c=(e,t,n)=>{const r=[],o=[];let i="",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&&(!i&&(i=s),a=e.length,o.unshift(s))}s--}return{curLevelKeys:r,keyList:o,parentKey:i}},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,m,p)=>{if(n&&n!==(0,l.B)())return{suggestions:[]};const h=s.showDSKey?["CTX.DS","DS"]:[],b=g.getWordUntilPosition(m),{word:C,token:f}=((e,t,n)=>{var r;const o=e.getWordUntilPosition(t),i=e.getValueInRange({startLineNumber:t.lineNumber,endLineNumber:t.lineNumber,startColumn:t.column-o.word.length-1,endColumn:t.column-o.word.length}),s=e.getWordAtPosition({...t,column:t.column-(null==o||null===(r=o.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:i}})(g,m,s),A=g.getValueInRange({startLineNumber:m.lineNumber,endLineNumber:m.lineNumber,startColumn:0,endColumn:1/0}),v={startLineNumber:m.lineNumber,endLineNumber:m.lineNumber,startColumn:b.startColumn,endColumn:b.endColumn},N=1===b.startColumn,{curLevelKeys:S}=c(g,b,g.getLineCount());if("<"===p.triggerCharacter)return"<"!==g.getValueInRange({startLineNumber:m.lineNumber,endLineNumber:m.lineNumber,startColumn:m.column-2,endColumn:m.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(N)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(":"===p.triggerCharacter||"."===p.triggerCharacter&&C&&!["CTX","STATE","FN"].concat(h).includes(C)){var x;if("action"===C&&":"===p.triggerCharacter)return{suggestions:null===(x=a()(o,"definitions.BuiltinBrickEventHandler.properties.action.enum")??[])||void 0===x?void 0:x.map((e=>({label:` ${e}`,detail:"event action",kind:r.languages.CompletionItemKind.Keyword,insertText:` ${e}`,range:v})))};const e=null==t?void 0:t[C];let n,i="";if(e&&!Array.isArray(e)?(n=e.completers,i=e.triggerCharacter):n=e,i?p.triggerCharacter===i&&n:n)return{suggestions:(n??[]).map((e=>{const t=":"===i?` ${e.label}`:e.label;return{...e,label:t,kind:r.languages.CompletionItemKind.Value,insertText:e.insertText||t,range:v}}))}}if(((e,t)=>{var n;const o=e.getWordUntilPosition(t),i=e.findPreviousMatch("<%",t,!1,!1,null,!1),s=e.findNextMatch("%>",t,!1,!1,null,!1),a=null==i?void 0:i.range,l=null==s?void 0:s.range;if((null==a?void 0:a.startLineNumber)&&(null==l?void 0:l.startLineNumber)&&a.startLineNumber<=t.lineNumber&&l.endLineNumber>=t.lineNumber&&(null===(n=e.findMatches("<%|%>",new r.Range(a.endLineNumber,a.endColumn,l.startLineNumber,l.startColumn),!0,!1,null,!0))||void 0===n||!n.length)){const{parentKey:n}=c(e,a,a.startLineNumber),{parentKey:r}=c(e,l,l.startLineNumber),{keyList:i}=c(e,o,t.lineNumber);if(n===r&&i.includes(n)||""===n&&""===r)return!0}return!1})(g,m)&&":"!==f){const e=u.b.getInstance(n);return{suggestions:await(0,d.DW)(g,m,e.getState())}}return/^[\s|-]*\w$/.test(A)?{suggestions:i.xN.map((e=>({label:e,insertText:e,kind:r.languages.CompletionItemKind.Keyword,range:v}))).filter((e=>!S.includes(e.label)))}:{suggestions:[]}}}},739:(e,t,n)=>{n.d(t,{X2:()=>o,xN:()=>r});const r=["target","targetRef","properties","events","method","callback","success","error","action","useProvider","useChildren","useBrick","args","if","then"],o='\n declare const DATA: any;\n declare const EVENT: CustomEvent<any>;\n declare const FLAGS: Record<string, boolean>;\n declare const ANCHOR: string | null;\n declare const HASH: string;\n declare namespace INSTALLED_APPS {\n function has(appId: string):boolean\n }\n declare const ITEM: any;\n declare const INDEX: number;\n declare const SIZE: number;\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 breakpoint?: "xLarge" | "large" | "medium" | "small" | "xSmall";\n };\n declare const MISC: Record<string, any>;\n declare const PARAMS: URLSearchParams;\n declare const PROCESSORS: Record<string, Record<string, Function>>;\n declare const QUERY_ARRAY: Record<string, string[]>;\n declare const TPL: Record<string, any>;\n declare const PIPES: Record<string, Function>;\n declare const _: Record<string, any>;\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: string;\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'},4804:(e,t,n)=>{let r;function o(e){r=e}function i(){return r}n.d(t,{B:()=>i,J:()=>o})},1968:(e,t,n)=>{n.d(t,{b:()=>d});var r=n(918),o=n(829),i=n(6121),s=n(2559),a=new WeakMap,l=new WeakMap;class d{static getInstance(e){return(0,s.A)(d,this,u)._[e]||((0,s.A)(d,this,u)._[e]=new d(e)),(0,s.A)(d,this,u)._[e]}constructor(e){(0,r.A)(this,a,void 0),(0,r.A)(this,l,{}),(0,i.A)(a,this,e)}updateState(e){(0,i.A)(l,this,e)}getState(){return(0,o.A)(l,this)}}var u={_:{}}},4102:(e,t,n)=>{n.d(t,{AR:()=>a,DW:()=>l,Eh:()=>u});var r=n(7176),o=n(2445),i=n(2329),s=n(739);function a(e){return"uri"in e&&(e=e.uri),i.Uri.parse(e.toString()+".ts")}async function l(e,t,n){const r=await i.languages.typescript.getJavaScriptWorker(),o=await r(e.uri),s=i.editor.getModel(a(e)),l=e.getOffsetAt(t)-((null==n?void 0:n.offset)??0),d=await o.getCompletionsAtPosition(s.uri.toString(),l),u=e.getWordUntilPosition(t),c=new i.Range(t.lineNumber,u.startColumn,t.lineNumber,u.endColumn);return((null==d?void 0:d.entries)??[]).map((n=>{let r=c;if(n.replacementSpan){const t=e.getPositionAt(n.replacementSpan.start),o=e.getPositionAt(n.replacementSpan.start+n.replacementSpan.length);r=new i.Range(t.lineNumber,t.column,o.lineNumber,o.column)}return{uri:s.uri,position:t,offset:l,range:r,label:n.name,insertText:n.name,sortText:n.sortText,kind:i.languages.CompletionItemKind.Property}}))}function d(){const e=(0,o.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[d(),s.X2].join("\n")}},1836:(e,t,n)=>{n.d(t,{j:()=>i});var r=n(4586),o=n(2329);class i{constructor(e,t,n){(0,r.A)(this,"domNode",void 0),(0,r.A)(this,"placeholder",void 0),(0,r.A)(this,"editor",void 0),(0,r.A)(this,"color",void 0),this.placeholder=e,this.editor=t,this.color=n,this.editor.onDidChangeModelContent((()=>this.onDidChangeModelContent())),this.onDidChangeModelContent()}onDidChangeModelContent(){var e,t,n,r;""===(null===(e=this.editor)||void 0===e||null===(t=e.getValue)||void 0===t?void 0:t.call(e))?this.editor.addContentWidget(this):null===(n=this.editor)||void 0===n||null===(r=n.removeContentWidget)||void 0===r||r.call(n,this)}getId(){return i.ID}getDomNode(){return this.domNode||(this.domNode=document.createElement("div"),this.domNode.style.width="max-content",this.domNode.style.pointerEvents="none",this.domNode.textContent=this.placeholder,this.domNode.style.whiteSpace="break-spaces",this.domNode.style.fontStyle="italic",this.domNode.style.color=this.color,this.editor.applyFontInfo(this.domNode)),this.domNode}getPosition(){return{position:{lineNumber:1,column:1},preference:[o.editor.ContentWidgetPositionPreference.EXACT]}}dispose(){var e,t;null===(e=this.editor)||void 0===e||null===(t=e.removeContentWidget)||void 0===t||t.call(e,this)}}(0,r.A)(i,"ID","editor.widget.placeholderHint")},3271:(e,t,n)=>{n.d(t,{A:()=>a});var r=n(6758),o=n.n(r),i=n(935),s=n.n(i)()(o());s.push([e.id,".highlight{box-shadow:rgb(74 170 189) 0px 1px 0px 0px}.pointer{cursor:pointer}.monaco-editor{outline-width:0}.monaco-editor .overflow-guard{border-radius:var(--antd-button-border-radius);border:1px solid var(--color-border-divider-line)}.code-editor-wrapper.error .overflow-guard{border-color: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},7716:(e,t,n)=>{n.d(t,{v:()=>i});const r=new RegExp("\\b(MARK:\\s*)(.*)$"),o=/^-+|-+$/g;function i(e,t){var n;let r=[];if(t.findRegionSectionHeaders&&(null===(n=t.foldingRules)||void 0===n?void 0:n.markers)){const n=function(e,t){const n=[],r=e.getLineCount();for(let o=1;o<=r;o++){const r=e.getLineContent(o),i=r.match(t.foldingRules.markers.start);if(i){const e={startLineNumber:o,startColumn:i[0].length+1,endLineNumber:o,endColumn:r.length+1};if(e.endColumn>e.startColumn){const t={range:e,...a(r.substring(i[0].length)),shouldBeInComments:!1};(t.text||t.hasSeparatorLine)&&n.push(t)}}}return n}(e,t);r=r.concat(n)}if(t.findMarkSectionHeaders){const t=function(e){const t=[],n=e.getLineCount();for(let r=1;r<=n;r++)s(e.getLineContent(r),r,t);return t}(e);r=r.concat(t)}return r}function s(e,t,n){r.lastIndex=0;const o=r.exec(e);if(o){const e=o.index+o[1].length+1,r={startLineNumber:t,startColumn:e,endLineNumber:t,endColumn:e+o[2].length};if(r.endColumn>r.startColumn){const e={range:r,...a(o[1]),shouldBeInComments:!0};(e.text||e.hasSeparatorLine)&&n.push(e)}}}function a(e){const t=(e=e.trim()).startsWith("-");return{text:e=e.replace(o,""),hasSeparatorLine:t}}},3569:(e,t,n)=>{var r=n(2591),o=n.n(r),i=n(1740),s=n.n(i),a=n(8128),l=n.n(a),d=n(855),u=n.n(d),c=n(3051),g=n.n(c),m=n(3656),p=n.n(m),h=n(3271),b={};b.styleTagTransform=p(),b.setAttributes=u(),b.insert=l().bind(null,"head"),b.domAPI=s(),b.insertStyleElement=g(),o()(h.A,b),h.A&&h.A.locals&&h.A.locals},1865:(e,t,n)=>{let r;function o(){return r||(r=new Worker(new URL(n.p+n.u(9067),n.b))),r}n.d(t,{e:()=>o})},426:(e,t,n)=>{n.d(t,{N:()=>T});var r,o=n(4635),i=n(918),s=n(5536),a=n(9492),l=n(6121),d=n(829),u=n(2740),c=n(300),g=n(4295);let m,p,h,b,C,f,A,v,N;const{method:S,property:x}=(0,c.createDecorators)();var w=new WeakMap,L=new WeakSet,k=new WeakMap,E=new WeakMap,I=new WeakMap,y=new WeakMap,P=new WeakMap,R=new WeakMap;class T extends g.ReactNextElement{constructor(){super(...arguments),(0,o.A)(this,L),(0,i.A)(this,w,(m(this),!1)),(0,i.A)(this,k,"normal"),(0,i.A)(this,E,!1),(0,i.A)(this,I,p(this)),(0,i.A)(this,y,(h(this),b(this))),(0,i.A)(this,P,(C(this),f(this))),(0,i.A)(this,R,(A(this),v(this))),N(this)}get isFormItemElement(){return!0}set validateState(e){(0,a.A)(L,O,this,e),this._render()}get validateState(){return(0,s.A)(L,this,_)}set notRender(e){this.hidden=e,(0,a.A)(L,D,this,e),this._render()}get notRender(){return(0,s.A)(L,this,M)}get $bindFormItem(){return(0,s.A)(L,this,W)}set $bindFormItem(e){(0,a.A)(L,K,this,e),this._render()}get helpBrick(){return(0,d.A)(I,this)}set helpBrick(e){(0,l.A)(I,this,e)}get labelBrick(){return(0,d.A)(y,this)}set labelBrick(e){(0,l.A)(y,this,e)}get labelCol(){return(0,d.A)(P,this)}set labelCol(e){(0,l.A)(P,this,e)}get wrapperCol(){return(0,d.A)(R,this)}set wrapperCol(e){(0,l.A)(R,this,e)}setNotRender(e){this.notRender=e}getFormElement(){let e=this;for(;(e=e.parentNode)&&e&&!e.isFormElement;);return e}}function M(e){return(0,d.A)(w,e)}function D(e,t){(0,l.A)(w,e,t)}function _(e){return(0,d.A)(k,e)}function O(e,t){(0,l.A)(k,e,t)}function W(e){return(0,d.A)(E,e)}function K(e,t){(0,l.A)(E,e,t)}r=T,[p,h,b,C,f,A,v,N,m]=(0,u.A)(r,[],[[x({attribute:!1}),1,"helpBrick"],[x({attribute:!1}),1,"labelBrick"],[x({attribute:!1}),1,"labelCol"],[x({attribute:!1}),1,"wrapperCol"],[S(),2,"setNotRender"],[S(),2,"getFormElement"]],0,void 0,g.ReactNextElement).e}}]);
|
|
2
|
+
//# sourceMappingURL=3104.df0022ae.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/3104.df0022ae.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/widget/Placeholder.tsx","webpack:///./src/code-editor/index.css","webpack:///../../node_modules/monaco-editor/esm/vs/editor/common/services/findSectionHeaders.js","webpack:///./src/code-editor/index.css?aefa","webpack:///./src/code-editor/workers/yamlLinter.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\nconst 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\n const prefixRange = prefixEvaluateOperator?.range;\n const suffixRange = suffixEvaluateOperator?.range;\n\n const isInEvaluateBody =\n prefixRange?.startLineNumber &&\n suffixRange?.startLineNumber &&\n prefixRange.startLineNumber <= position.lineNumber &&\n suffixRange.endLineNumber >= position.lineNumber &&\n // 正确匹配当前表达式,防止匹配到上一个表达式<%的开始,下一个表达式的结尾%>\n !model.findMatches(\n \"<%|%>\",\n new monaco.Range(\n prefixRange.endLineNumber,\n prefixRange.endColumn,\n suffixRange.startLineNumber,\n suffixRange.startColumn\n ),\n true,\n false,\n null,\n true\n )?.length;\n\n if (isInEvaluateBody) {\n const { parentKey: prefixParentKey } = findKeys(\n model,\n prefixRange,\n prefixRange.startLineNumber\n );\n const { parentKey: suffixParentKey } = findKeys(\n model,\n suffixRange,\n suffixRange.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) && prefixToken !== \":\") {\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 \"INDEX\",\n \"SIZE\",\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 /**\n * @deprecated Typo, use `hint` instead\n */\n hit: 1,\n hint: 1,\n info: 2,\n warn: 4,\n error: 8,\n};\n\nexport const builtInKeywordDeclare = `\n declare const DATA: any;\n declare const EVENT: CustomEvent<any>;\n declare const FLAGS: Record<string, boolean>;\n declare const ANCHOR: string | null;\n declare const HASH: string;\n declare namespace INSTALLED_APPS {\n function has(appId: string):boolean\n }\n declare const ITEM: any;\n declare const INDEX: number;\n declare const SIZE: number;\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 breakpoint?: \"xLarge\" | \"large\" | \"medium\" | \"small\" | \"xSmall\";\n };\n declare const MISC: Record<string, any>;\n declare const PARAMS: URLSearchParams;\n declare const PROCESSORS: Record<string, Record<string, Function>>;\n declare const QUERY_ARRAY: Record<string, string[]>;\n declare const TPL: Record<string, any>;\n declare const PIPES: Record<string, Function>;\n declare const _: Record<string, any>;\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: string;\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","import * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\n\nexport class PlaceholderContentWidget implements monaco.editor.IContentWidget {\n private static readonly ID = \"editor.widget.placeholderHint\";\n\n private domNode: HTMLElement | undefined;\n\n private readonly placeholder: string;\n private readonly editor: monaco.editor.ICodeEditor;\n private readonly color: string;\n\n constructor(\n placeholder: string,\n editor: monaco.editor.ICodeEditor,\n color: string\n ) {\n this.placeholder = placeholder;\n this.editor = editor;\n this.color = color;\n // register a listener for editor code changes\n this.editor.onDidChangeModelContent(() => this.onDidChangeModelContent());\n // ensure that on initial load the placeholder is shown\n this.onDidChangeModelContent();\n }\n\n private onDidChangeModelContent(): void {\n if (this.editor?.getValue?.() === \"\") {\n this.editor.addContentWidget(this);\n } else {\n this.editor?.removeContentWidget?.(this);\n }\n }\n\n getId(): string {\n return PlaceholderContentWidget.ID;\n }\n\n getDomNode(): HTMLElement {\n if (!this.domNode) {\n this.domNode = document.createElement(\"div\");\n this.domNode.style.width = \"max-content\";\n this.domNode.style.pointerEvents = \"none\";\n this.domNode.textContent = this.placeholder;\n this.domNode.style.whiteSpace = \"break-spaces\";\n this.domNode.style.fontStyle = \"italic\";\n this.domNode.style.color = this.color;\n this.editor.applyFontInfo(this.domNode);\n }\n\n return this.domNode;\n }\n\n getPosition(): monaco.editor.IContentWidgetPosition | null {\n return {\n position: { lineNumber: 1, column: 1 },\n preference: [monaco.editor.ContentWidgetPositionPreference.EXACT],\n };\n }\n\n dispose(): void {\n this.editor?.removeContentWidget?.(this);\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{box-shadow:rgb(74 170 189) 0px 1px 0px 0px}.pointer{cursor:pointer}.monaco-editor{outline-width:0}.monaco-editor .overflow-guard{border-radius:var(--antd-button-border-radius);border:1px solid var(--color-border-divider-line)}.code-editor-wrapper.error .overflow-guard{border-color: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","// istanbul ignore file\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nconst markRegex = new RegExp(\"\\\\b(MARK:\\\\s*)(.*)$\");\nconst trimDashesRegex = /^-+|-+$/g;\n/**\n * Find section headers in the model.\n *\n * @param model the text model to search in\n * @param options options to search with\n * @returns an array of section headers\n */\nexport function findSectionHeaders(model, options) {\n var _a;\n let headers = [];\n if (\n options.findRegionSectionHeaders &&\n ((_a = options.foldingRules) === null || _a === void 0\n ? void 0\n : _a.markers)\n ) {\n const regionHeaders = collectRegionHeaders(model, options);\n headers = headers.concat(regionHeaders);\n }\n if (options.findMarkSectionHeaders) {\n const markHeaders = collectMarkHeaders(model);\n headers = headers.concat(markHeaders);\n }\n return headers;\n}\nfunction collectRegionHeaders(model, options) {\n const regionHeaders = [];\n const endLineNumber = model.getLineCount();\n for (let lineNumber = 1; lineNumber <= endLineNumber; lineNumber++) {\n const lineContent = model.getLineContent(lineNumber);\n const match = lineContent.match(options.foldingRules.markers.start);\n if (match) {\n const range = {\n startLineNumber: lineNumber,\n startColumn: match[0].length + 1,\n endLineNumber: lineNumber,\n endColumn: lineContent.length + 1,\n };\n if (range.endColumn > range.startColumn) {\n const sectionHeader = {\n range,\n ...getHeaderText(lineContent.substring(match[0].length)),\n shouldBeInComments: false,\n };\n if (sectionHeader.text || sectionHeader.hasSeparatorLine) {\n regionHeaders.push(sectionHeader);\n }\n }\n }\n }\n return regionHeaders;\n}\nfunction collectMarkHeaders(model) {\n const markHeaders = [];\n const endLineNumber = model.getLineCount();\n for (let lineNumber = 1; lineNumber <= endLineNumber; lineNumber++) {\n const lineContent = model.getLineContent(lineNumber);\n addMarkHeaderIfFound(lineContent, lineNumber, markHeaders);\n }\n return markHeaders;\n}\nfunction addMarkHeaderIfFound(lineContent, lineNumber, sectionHeaders) {\n markRegex.lastIndex = 0;\n const match = markRegex.exec(lineContent);\n if (match) {\n const column = match.index + match[1].length + 1;\n const endColumn = column + match[2].length;\n const range = {\n startLineNumber: lineNumber,\n startColumn: column,\n endLineNumber: lineNumber,\n endColumn: endColumn,\n };\n if (range.endColumn > range.startColumn) {\n const sectionHeader = {\n range,\n ...getHeaderText(match[1]),\n shouldBeInComments: true,\n };\n if (sectionHeader.text || sectionHeader.hasSeparatorLine) {\n sectionHeaders.push(sectionHeader);\n }\n }\n }\n}\nfunction getHeaderText(text) {\n text = text.trim();\n const hasSeparatorLine = text.startsWith(\"-\");\n text = text.replace(trimDashesRegex, \"\");\n return { text, hasSeparatorLine };\n}\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","// istanbul ignore file\n// @ts-check\n\n// Use .mjs to avoid jest coverage collection error:\n// ```\n// Error: unknown: import.meta may appear only with 'sourceType: \"module\"'\n// ```\n\n/** @type {Worker | undefined} */\nlet worker;\n\n/**\n * @returns {Worker}\n */\nexport function getYamlLinterWorker() {\n if (!worker) {\n worker = new Worker(new URL(\"./yamlLinter.worker.ts\", import.meta.url));\n }\n return worker;\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","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","_model$findMatches","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixRange","suffixRange","findMatches","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","PlaceholderContentWidget","placeholder","editor","color","_defineProperty","onDidChangeModelContent","_this$editor","_this$editor$getValue","_this$editor2","_this$editor2$removeC","getValue","call","addContentWidget","removeContentWidget","getId","ID","getDomNode","domNode","document","createElement","style","width","pointerEvents","textContent","whiteSpace","fontStyle","applyFontInfo","getPosition","preference","ContentWidgetPositionPreference","EXACT","_this$editor3","_this$editor3$removeC","___CSS_LOADER_EXPORT___","module","markRegex","RegExp","trimDashesRegex","findSectionHeaders","_a","headers","findRegionSectionHeaders","foldingRules","markers","regionHeaders","lineContent","getLineContent","sectionHeader","getHeaderText","substring","shouldBeInComments","text","hasSeparatorLine","collectRegionHeaders","findMarkSectionHeaders","markHeaders","addMarkHeaderIfFound","collectMarkHeaders","sectionHeaders","lastIndex","exec","index","startsWith","replace","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","getYamlLinterWorker","Worker","URL","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],{7242:(e,t,n)=>{var i,s=n(4635),r=n(918),a=n(6902),o=n(5536),l=n(6121),c=n(829),u=n(2740),h=n(8769),d=n.n(h),g=n(300),m=n(3078),p=n(4295),k=n(9592),f=n(426),A=n(2329),y=n(6197),v=n(3909),b=n(2257),w=n(3135),M=n(1732),C=n.n(M),E=(n(6477),n(2445)),x=n(7137),L=n(4929),S=n(4804),N=n(4102),B=n(9287),W=n(5502),_=n(8182),P=n(3373),R=n.n(P),z=(n(3569),n(1968)),O=n(1836),V=n(1865);let I,D,F,H,K,T,Y,q,j,U,J,X,$,G,Q,Z,ee,te,ne,ie,se,re,ae,oe,le,ce,ue,he,de,ge,me,pe,ke,fe,Ae,ye,ve,be,we,Me,Ce,Ee,xe,Le,Se,Ne,Be,We,_e,Pe,Re,ze,Oe,Ve,Ie,De,Fe,He,Ke,Te,Ye;(0,W.initializeReactI18n)(_.NS,_.I),(0,y.kz)(A),(0,v.kz)(A),(0,b.kz)(A,"brick_next_yaml"),(0,w.kz)(A);const{defineElement:qe,property:je,event:Ue}=(0,g.createDecorators)(),Je=(0,p.wrapBrick)("eo-form-item"),Xe=(0,p.wrapBrick)("eo-tooltip"),$e=(0,p.wrapBrick)("eo-icon"),Ge=(0,m.unwrapProvider)("basic.copy-to-clipboard"),Qe=(0,m.unwrapProvider)("basic.show-notification");let Ze;var et=new WeakMap,tt=new WeakMap,nt=new WeakMap,it=new WeakMap,st=new WeakMap,rt=new WeakMap,at=new WeakMap,ot=new WeakMap,lt=new WeakMap,ct=new WeakMap,ut=new WeakMap,ht=new WeakMap,dt=new WeakMap,gt=new WeakMap,mt=new WeakMap,pt=new WeakMap,kt=new WeakMap,ft=new WeakMap,At=new WeakMap,yt=new WeakMap,vt=new WeakMap,bt=new WeakMap,wt=new WeakMap,Mt=new WeakMap,Ct=new WeakMap,Et=new WeakSet,xt=new WeakMap,Lt=new WeakMap,St=new WeakMap,Nt=new WeakMap,Bt=new WeakMap,Wt=new WeakMap;class _t extends f.N{constructor(){super(...arguments),(0,s.A)(this,Et),(0,r.A)(this,et,D(this)),(0,r.A)(this,tt,(F(this),H(this))),(0,r.A)(this,nt,(K(this),T(this))),(0,r.A)(this,it,(Y(this),q(this))),(0,r.A)(this,st,(j(this),U(this))),(0,r.A)(this,rt,(J(this),X(this))),(0,r.A)(this,at,($(this),G(this))),(0,r.A)(this,ot,(Q(this),Z(this))),(0,r.A)(this,lt,(ee(this),te(this))),(0,r.A)(this,ct,(ne(this),ie(this))),(0,r.A)(this,ut,(se(this),re(this))),(0,r.A)(this,ht,(ae(this),oe(this))),(0,r.A)(this,dt,(le(this),ce(this))),(0,r.A)(this,gt,(ue(this),he(this))),(0,r.A)(this,mt,(de(this),ge(this))),(0,r.A)(this,pt,(me(this),pe(this))),(0,r.A)(this,kt,(ke(this),fe(this))),(0,r.A)(this,ft,(Ae(this),ye(this))),(0,r.A)(this,At,(ve(this),be(this))),(0,r.A)(this,yt,(we(this),Me(this))),(0,r.A)(this,vt,(Ce(this),Ee(this))),(0,r.A)(this,bt,(xe(this),Le(this))),(0,r.A)(this,wt,(Se(this),Ne(this))),(0,r.A)(this,Mt,(Be(this),We(this))),(0,r.A)(this,Ct,(_e(this),Pe(this))),(0,r.A)(this,xt,(Oe(this),Ve(this))),(0,r.A)(this,Lt,(Fe(this),e=>{var t;this.value=e,null===(t=this.getFormElement())||void 0===t||t.formStore.onChange(this.name,e),(0,o.A)(Et,this,Re).emit(e)})),(0,r.A)(this,St,(e=>{(0,o.A)(Et,this,Ie).emit(e)})),(0,r.A)(this,Nt,He(this)),(0,r.A)(this,Bt,(Ye(this),e=>{(0,o.A)(Et,this,Ke).emit(e)})),(0,r.A)(this,Wt,(e=>{if("brick_next_yaml"===this.language||"yaml"===this.language)try{C().load(e)}catch{return"请填写正确的格式"}return""}))}get name(){return(0,c.A)(et,this)}set name(e){(0,l.A)(et,this,e)}get label(){return(0,c.A)(tt,this)}set label(e){(0,l.A)(tt,this,e)}get value(){return(0,c.A)(nt,this)}set value(e){(0,l.A)(nt,this,e)}get language(){return(0,c.A)(it,this)}set language(e){(0,l.A)(it,this,e)}get theme(){return(0,c.A)(st,this)}set theme(e){(0,l.A)(st,this,e)}get required(){return(0,c.A)(rt,this)}set required(e){(0,l.A)(rt,this,e)}get readOnly(){return(0,c.A)(at,this)}set readOnly(e){(0,l.A)(at,this,e)}get automaticLayout(){return(0,c.A)(ot,this)}set automaticLayout(e){(0,l.A)(ot,this,e)}get minLines(){return(0,c.A)(lt,this)}set minLines(e){(0,l.A)(lt,this,e)}get completers(){return(0,c.A)(ct,this)}set completers(e){(0,l.A)(ct,this,e)}get advancedCompleters(){return(0,c.A)(ut,this)}set advancedCompleters(e){(0,l.A)(ut,this,e)}get markers(){return(0,c.A)(ht,this)}set markers(e){(0,l.A)(ht,this,e)}get links(){return(0,c.A)(dt,this)}set links(e){(0,l.A)(dt,this,e)}get maxLines(){return(0,c.A)(gt,this)}set maxLines(e){(0,l.A)(gt,this,e)}get height(){return(0,c.A)(mt,this)}set height(e){(0,l.A)(mt,this,e)}get message(){return(0,c.A)(pt,this)}set message(e){(0,l.A)(pt,this,e)}get placeholder(){return(0,c.A)(kt,this)}set placeholder(e){(0,l.A)(kt,this,e)}get showExpandButton(){return(0,c.A)(ft,this)}set showExpandButton(e){(0,l.A)(ft,this,e)}get lineNumbers(){return(0,c.A)(At,this)}set lineNumbers(e){(0,l.A)(At,this,e)}get tokenConfig(){return(0,c.A)(yt,this)}set tokenConfig(e){(0,l.A)(yt,this,e)}get customValidationInBrickNextYaml(){return(0,c.A)(vt,this)}set customValidationInBrickNextYaml(e){(0,l.A)(vt,this,e)}get showCopyButton(){return(0,c.A)(bt,this)}set showCopyButton(e){(0,l.A)(bt,this,e)}get glyphMargin(){return(0,c.A)(wt,this)}set glyphMargin(e){(0,l.A)(wt,this,e)}get extraLibs(){return(0,c.A)(Mt,this)}set extraLibs(e){(0,l.A)(Mt,this,e)}connectedCallback(){this.style.display||(this.style.display="block"),super.connectedCallback()}render(){return d().createElement(Je,{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,c.A)(Wt,this)},d().createElement(Pt,{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,glyphMargin:this.glyphMargin,placeholder:this.placeholder,showCopyButton:this.showCopyButton,showExpandButton:this.showExpandButton,validateState:this.validateState,onChange:(0,c.A)(Lt,this),onUserInput:(0,c.A)(St,this),onTokenClick:(0,c.A)(Bt,this),customValidationInBrickNextYaml:this.customValidationInBrickNextYaml}))}}function Pt(e){let{value:t,language:n,theme:i,minLines:s,maxLines:r,height:a,automaticLayout:o,completers:l,advancedCompleters:c,markers:u,readOnly:g,links:m,extraLibs:p,tokenConfig:f={showDSKey:!1},showExpandButton:y,showCopyButton:v=!0,lineNumbers:b="on",glyphMargin:w=!1,placeholder:M,validateState:C,onChange:P,onTokenClick:I,customValidationInBrickNextYaml:D}=e;const F=t??"",H=n??"plaintext",K=i??"auto",T=s??3,Y=r??1/0,q=a??500,[j,U]=(0,h.useState)(!1),J=(0,h.useMemo)((()=>(0,E.uniqueId)("worker")),[]),{t:X}=(0,W.useTranslation)(_.NS),$=(0,h.useRef)(null),G=(0,h.useRef)(),Q=(0,h.useRef)(),Z=(0,h.useRef)({width:300,height:Rt(F,T,Y)}),[ee,te]=(0,h.useState)(),ne=(0,h.useRef)(o),ie=(0,k.useCurrentTheme)(),se=(0,h.useMemo)((()=>"auto"===K?"dark"===ie||"dark-v2"===ie?"vs-dark":"vs":K),[ie,K]);(0,h.useEffect)((()=>{const e=se.includes("dark")?"#FFFFFF0F":"#0000000A";A.editor.defineTheme("custom-theme",{base:se,inherit:!0,rules:[],colors:{"editor.lineHighlightBackground":`${e}`}}),A.editor.setTheme("custom-theme")}),[se]),(0,h.useEffect)((()=>{if(Q.current){const e=Q.current.getModel();A.editor.setModelLanguage(e,H)}}),[H]),(0,h.useEffect)((()=>{if("brick_next_yaml"===H){const e=(0,L.v)(l,c,J,f),t=A.languages.registerCompletionItemProvider("brick_next_yaml",{provideCompletionItems:e,triggerCharacters:[".",":","<"]});return()=>{t.dispose()}}}),[l,c,H]),(0,h.useEffect)((()=>{const e=Q.current;if(e){const t=e.getModel();null!=t&&t.getValue&&F!==t.getValue()&&t.setValue(F)}}),[F]),(0,h.useLayoutEffect)((()=>{var e;if("fit-content"!==ne.current||!$.current)return;Z.current.width=$.current.getBoundingClientRect().width,null===(e=Q.current)||void 0===e||e.layout(Z.current);const t=new ResizeObserver((e=>{for(const n of e)if(n.target===$.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!==Z.current.width||j)&&(Z.current.width=e,null===(t=Q.current)||void 0===t||t.layout({width:e,height:j?i:Z.current.height}));break}}));return t.observe($.current),()=>{t.disconnect()}}),[j]),(0,h.useLayoutEffect)((()=>{if("fit-container"!==ne.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}}($.current);if(!e)return;const t=new ResizeObserver((()=>{te(e.offsetHeight)}));return t.observe(e),()=>{t.disconnect()}}),[]),(0,h.useEffect)((()=>{"fit-container"!==ne.current&&"fit-content"!==ne.current&&te(q)}),[q]),(0,h.useEffect)((()=>{Q.current&&Q.current.updateOptions({readOnly:g})}),[g]),(0,h.useEffect)((()=>{if(Q.current||!$.current)return;const e=A.editor.createModel(F,H);if("brick_next_yaml"===H){const t=(0,N.AR)(e.uri);A.editor.createModel(F,"javascript",t),A.languages.typescript.javascriptDefaults.addExtraLib((0,N.Eh)(),e.uri.toString()+"d.ts")}Q.current=A.editor.create($.current,{model:e,minimap:{enabled:!1,showRegionSectionHeaders:!1,showMarkSectionHeaders:!1},scrollBeyondLastLine:!1,tabSize:2,insertSpaces:!0,automaticLayout:"fit-content"!==ne.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"==ne.current?void 0:x.Vu},overviewRulerBorder:!1,mouseWheelScrollSensitivity:.5,fixedOverflowWidgets:!0,lineNumbers:b,lineNumbersMinChars:3,glyphMargin:w,folding:"off"!==b,suggest:{insertMode:"insert",preview:!0},readOnly:g,quickSuggestions:{strings:!0,other:!0,comments:!0},renderLineHighlightOnlyWhenFocus:!0,unicodeHighlight:{ambiguousCharacters:!1}}),G.current=Q.current.createDecorationsCollection()}),[]),(0,h.useEffect)((()=>{const e=p??[],t="typescript"===H?"typescriptDefaults":"javascriptDefaults",n=(0,B.m)(e,{languageDefaults:t});return()=>{for(const e of n)e.dispose()}}),[p,H]),(0,h.useEffect)((()=>{const e=Q.current;if("brick_next_yaml"===H&&e){const t=e.getModel(),n=e.onMouseDown((function(e){var n;const i=G.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)&&I(t.getValueInRange(n))}))})),i=e.onMouseMove((function(e){const t=G.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()}}}),[H,I,ie,K]),(0,h.useEffect)((()=>{const e=Q.current;if(!e||!$.current||"fit-content"!==ne.current)return;const t=e.onDidContentSizeChange((t=>{if(!j&&t.contentHeightChanged){const n=zt(t.contentHeight,T,Y);n!==Z.current.height&&(Z.current.height=n,e.layout(Z.current))}})),n=zt(e.getContentHeight(),T,Y);return n!==Z.current.height&&(Z.current.height=n,e.layout(Z.current)),()=>{t.dispose()}}),[Y,T,j]);const re=(0,h.useCallback)((async(e,t)=>{A.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 A.Range(s.startLineNumber,s.endColumn,r.startLineNumber,r.startColumn),i=e.getValueInRange(n);if(n.containsPosition(t)&&!/<% | %>/.test(i)){const t=(0,N.AR)(e.uri);A.editor.getModel(t).setValue(i);const r=e.getOffsetAt(new A.Position(s.startLineNumber,s.endColumn));if(z.b.getInstance(J).updateState({content:i,range:n,offset:r}),!D)return;const a=await A.languages.typescript.getJavaScriptWorker(),o=await a(t),l=(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:A.MarkerSeverity.Warning}}));A.editor.setModelMarkers(e,"semantic_validate",l)}}}),[J]);(0,h.useEffect)((()=>{if(!Q.current)return;const e=Q.current.getModel(),t=e.onDidChangeContent((async t=>{(0,S.J)(J),["brick_next_yaml"].includes(H)&&re(e,Q.current.getPosition()),t.isFlush||P(e.getValue())}));return()=>{t.dispose()}}),[P,J,H,re]),(0,h.useEffect)((()=>{if(j){const e=t=>{"Escape"!==t.key&&"Esc"!==t.key||(window.removeEventListener("keydown",e),U(!1))};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}}}),[j]),(0,h.useEffect)((()=>()=>{var e,t;null===(e=Q.current)||void 0===e||null===(e=e.getModel())||void 0===e||e.dispose(),null===(t=Q.current)||void 0===t||t.dispose()}),[]),(0,h.useEffect)((()=>{if(!Q.current&&!M)return;const e=new O.j(M,Q.current,"vs-dark"===se||"hc-black"===se?"rgba(174,174,175,0.4)":"rgba(89,89,89,0.4)");return()=>{e.dispose()}}),[M,se]);const ae=(0,h.useCallback)((()=>{if(Q.current){const e=Q.current.getModel();Ge(e.getValue()).then((()=>Qe({type:"success",message:X(_.K.COPY_SUCCESS)}))).catch((()=>Qe({type:"error",message:X(_.K.COPY_FAILED)})))}}),[X]),oe=(0,h.useCallback)((()=>{U(!j)}),[j]);return(0,h.useEffect)((()=>{const e=Q.current;if(e&&"brick_next_yaml"===H){const t=(0,V.e)(),n=()=>{const n=e.getValue();t.postMessage({id:J,source:n,links:m,markers:u})},i=(0,E.debounce)(n,200),s=t=>{var n;const{id:i,lintMarkers:s,lintDecorations:r}=t.data;if(i!==J)return;const a=e.getModel();a&&(A.editor.setModelMarkers(a,"brick_next_yaml_lint",s.map((e=>{let{start:t,end:n,message:i,severity:s,code:r}=e;const o=a.getPositionAt(t),l=a.getPositionAt(n);return{startLineNumber:o.lineNumber,startColumn:o.column,endLineNumber:l.lineNumber,endColumn:l.column,severity:A.MarkerSeverity[s],message:i,code:r}}))),null===(n=G.current)||void 0===n||n.set(r.map((e=>{let{start:t,end:n,options:i}=e;return{range:A.Range.fromPositions(a.getPositionAt(t),a.getPositionAt(n)),options:i}}))))};t.addEventListener("message",s);const r=e.onDidChangeModelContent(i);return i(),()=>{r.dispose(),A.editor.setModelMarkers(e.getModel(),"brick_next_yaml_lint",[]),t.removeEventListener("message",s)}}}),[H,m,u,K,J]),d().createElement("div",{className:R()("code-editor-wrapper",{expanded:j,error:"error"===C})},d().createElement("div",{ref:$,style:{height:j?"100%":ee,overflow:j?"scroll":""}}),d().createElement("div",{className:"toolbar"},v&&d().createElement(Xe,{content:X(_.K.COPY)},d().createElement($e,{className:"copy-icon",icon:"copy",lib:"antd",theme:"outlined",onClick:ae})),y&&d().createElement(Xe,{content:X(j?_.K.COLLAPSE:_.K.EXPAND)},d().createElement($e,{className:"expand-icon",icon:j?"compress":"expand",lib:"antd",theme:"outlined",onClick:oe}))))}function Rt(e,t,n){return Ot(Math.min(n,Math.max(t,e.split("\n").length)))}function zt(e,t,n){let i=e;return(e-x.Vu)%x.fE==0&&(i=e+x.lP),Math.min(Ot(n),Math.max(i,Ot(t)))}function Ot(e){return e*x.fE+x.lP+x.Vu}i=_t,({e:[D,F,H,K,T,Y,q,j,U,J,X,$,G,Q,Z,ee,te,ne,ie,se,re,ae,oe,le,ce,ue,he,de,ge,me,pe,ke,fe,Ae,ye,ve,be,we,Me,Ce,Ee,xe,Le,Se,Ne,Be,We,_e,Pe,Re,ze,Oe,Ve,Ie,De,Fe,He,Ke,Te,Ye],c:[Ze,I]}=(0,u.A)(i,[qe("vs.code-editor",{shadowOptions:!1})],[[je(),1,"name"],[je(),1,"label"],[je(),1,"value"],[je(),1,"language"],[je(),1,"theme"],[je({type:Boolean}),1,"required"],[je({type:Boolean}),1,"readOnly"],[je(),1,"automaticLayout"],[je({type:Number}),1,"minLines"],[je({attribute:!1}),1,"completers"],[je({attribute:!1}),1,"advancedCompleters"],[je({attribute:!1}),1,"markers"],[je({attribute:!1}),1,"links"],[je({type:Number}),1,"maxLines"],[je({attribute:!1}),1,"height"],[je(),1,"message"],[je(),1,"placeholder"],[je({type:Boolean}),1,"showExpandButton"],[je(),1,"lineNumbers"],[je({attribute:!1}),1,"tokenConfig"],[je({type:Boolean}),1,"customValidationInBrickNextYaml"],[je({type:Boolean}),1,"showCopyButton"],[je({type:Boolean}),1,"glyphMargin"],[je({attribute:!1}),1,"extraLibs"],[Ue({type:"code.change"}),1,"codeChange",e=>(0,c.A)(Ct,e),(e,t)=>(0,l.A)(Ct,e,t)],[Ue({type:"user.input"}),1,"userInput",e=>(0,c.A)(xt,e),(e,t)=>(0,l.A)(xt,e,t)],[Ue({type:"token.click"}),1,"tokenClickEvent",e=>(0,c.A)(Nt,e),(e,t)=>(0,l.A)(Nt,e,t)]],0,(e=>Wt.has((0,a.A)(e))),f.N)),I()}}]);
|
|
2
|
+
//# sourceMappingURL=7242.2efc0e5c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/7242.2efc0e5c.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\";\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\";\nimport { PlaceholderContentWidget } from \"./widget/Placeholder.js\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { getYamlLinterWorker } from \"./workers/yamlLinter.mjs\";\nimport type { LintResponse } from \"./workers/lintYaml.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 placeholder?: 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 glyphMargin?: boolean;\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 @property()\n accessor placeholder: 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 * 显示字形边距\n * @default false\n */\n @property({ type: Boolean })\n accessor glyphMargin: 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<any>;\n\n #handleChange = (value: string) => {\n this.value = value;\n this.getFormElement()?.formStore.onChange(this.name!, value);\n this.#codeChange.emit(value);\n };\n\n #handleUserInput = (value: any) => {\n this.#userInput.emit(value);\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 #handleValidator = (value: string) => {\n if (this.language === \"brick_next_yaml\" || this.language === \"yaml\") {\n try {\n yaml.load(value);\n } catch {\n return \"请填写正确的格式\";\n }\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.#handleValidator}\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 glyphMargin={this.glyphMargin}\n placeholder={this.placeholder}\n showCopyButton={this.showCopyButton}\n showExpandButton={this.showExpandButton}\n validateState={this.validateState}\n onChange={this.#handleChange}\n onUserInput={this.#handleUserInput}\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 glyphMargin = false,\n placeholder,\n validateState,\n onChange,\n // onUserInput,\n onTokenClick,\n customValidationInBrickNextYaml,\n}: CodeEditorProps & {\n onChange(value: string): void;\n onUserInput: (value: any) => 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 const computedTheme = useMemo(() => {\n return theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme;\n }, [systemTheme, theme]);\n\n useEffect(() => {\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 }, [computedTheme]);\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 useEffect(() => {\n const editor = editorRef.current;\n if (editor) {\n const currentModel = editor.getModel();\n if (currentModel?.getValue && value !== currentModel.getValue()) {\n currentModel.setValue(value as string);\n }\n }\n }, [value]);\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 showRegionSectionHeaders: false,\n showMarkSectionHeaders: 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: glyphMargin,\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 unicodeHighlight: {\n ambiguousCharacters: false,\n },\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 (e) => {\n setEditorId(workerId);\n\n if ([\"brick_next_yaml\"].includes(language)) {\n embeddedModelProcessor(currentModel, editorRef.current!.getPosition()!);\n // debounceParse();\n }\n if (!e.isFlush) {\n onChange(currentModel.getValue());\n }\n });\n return () => {\n listener.dispose();\n };\n }, [\n /* debounceParse, */ onChange,\n workerId,\n language,\n embeddedModelProcessor,\n ]);\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 useEffect(() => {\n if (!editorRef.current && !placeholder) return;\n const placeholderWidget = new PlaceholderContentWidget(\n placeholder!,\n editorRef.current!,\n computedTheme === \"vs-dark\" || computedTheme === \"hc-black\"\n ? \"rgba(174,174,175,0.4)\"\n : \"rgba(89,89,89,0.4)\"\n );\n\n return () => {\n placeholderWidget.dispose();\n };\n }, [placeholder, computedTheme]);\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 // istanbul ignore next\n useEffect(() => {\n const editor = editorRef.current;\n if (editor && language === \"brick_next_yaml\") {\n const yamlLinter = getYamlLinterWorker();\n const handleChange = (): void => {\n const value = editor.getValue();\n yamlLinter.postMessage({\n id: workerId,\n source: value,\n links,\n markers,\n });\n };\n const debounceChange = debounce(handleChange, 200);\n const handleLintResponse = (event: MessageEvent<LintResponse>): void => {\n const { id, lintMarkers, lintDecorations } = event.data;\n if (id !== workerId) {\n return;\n }\n const model = editor.getModel();\n if (!model) {\n return;\n }\n monaco.editor.setModelMarkers(\n model,\n \"brick_next_yaml_lint\",\n lintMarkers.map(({ start, end, message, severity, code }) => {\n const startPos = model.getPositionAt(start);\n const endPos = model.getPositionAt(end);\n return {\n startLineNumber: startPos.lineNumber,\n startColumn: startPos.column,\n endLineNumber: endPos.lineNumber,\n endColumn: endPos.column,\n severity: monaco.MarkerSeverity[severity],\n message,\n code: code as monaco.editor.IMarkerData[\"code\"],\n };\n })\n );\n decorationsCollection.current?.set(\n lintDecorations.map(({ start, end, options }) => ({\n range: monaco.Range.fromPositions(\n model.getPositionAt(start),\n model.getPositionAt(end)\n ),\n options,\n }))\n );\n };\n yamlLinter.addEventListener(\"message\", handleLintResponse);\n const change = editor.onDidChangeModelContent(debounceChange);\n debounceChange();\n return () => {\n change.dispose();\n monaco.editor.setModelMarkers(\n editor.getModel()!,\n \"brick_next_yaml_lint\",\n []\n );\n yamlLinter.removeEventListener(\"message\", handleLintResponse);\n };\n }\n }, [language, links, markers, theme, workerId]);\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","_X","_Y","_CodeEditor_brand","WeakSet","_Z","_handleChange","_handleUserInput","_a","_handleTokenClick","_handleValidator","CodeEditor","FormItemElementBase","constructor","arguments","_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_placeholder","_init_extra_placeholder","_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_glyphMargin","_init_extra_glyphMargin","_init_extraLibs","_init_extra_extraLibs","_init_codeChange","_init_extra_codeChange","_init_userInput","_init_extra_userInput","value","_this$getFormElement","this","getFormElement","formStore","onChange","name","_classPrivateGetter","_get_codeChange","emit","_get_userInput","_init_tokenClickEvent","_init_extra_tokenClickEvent","word","_get_tokenClickEvent","language","yaml","_classPrivateFieldGet","v","_classPrivateFieldSet","label","theme","required","readOnly","automaticLayout","minLines","completers","advancedCompleters","markers","links","maxLines","height","message","placeholder","showExpandButton","lineNumbers","tokenConfig","customValidationInBrickNextYaml","showCopyButton","glyphMargin","extraLibs","connectedCallback","style","display","super","render","React","exportparts","curElement","formElement","helpBrick","labelBrick","notRender","validator","CodeEditorComponent","validateState","onUserInput","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","computedTheme","useEffect","lineHeightBackground","includes","defineTheme","base","inherit","rules","colors","setTheme","current","currentModel","getModel","setModelLanguage","provideCompletionItems","brickNextYAMLProviderCompletionItems","monacoProviderRef","registerCompletionItemProvider","triggerCharacters","dispose","editor","getValue","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","model","createModel","uri","getEmbeddedJavascriptUri","typescript","javascriptDefaults","addExtraLib","getBrickYamlBuiltInDeclare","toString","create","minimap","enabled","showRegionSectionHeaders","showMarkSectionHeaders","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","undefined","overviewRulerBorder","mouseWheelScrollSensitivity","fixedOverflowWidgets","lineNumbersMinChars","folding","suggest","insertMode","preview","quickSuggestions","strings","other","comments","renderLineHighlightOnlyWhenFocus","unicodeHighlight","ambiguousCharacters","createDecorationsCollection","libs","languageDefaults","disposables","addExtraLibs","item","editorMouseDownEvent","onMouseDown","e","_decorations$getRange","decorations","getRanges","call","forEach","range","modKey","test","navigator","platform","position","containsPosition","getValueInRange","mouseOverEvent","onMouseMove","newDecorations","map","options","inlineClassName","equalsRange","set","listener","onDidContentSizeChange","contentHeightChanged","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","embeddedModelProcessor","useCallback","async","setModelMarkers","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixEvaluateRange","suffixEvaluateRange","startLineNumber","endColumn","startColumn","content","newUri","offset","getOffsetAt","EmbeddedModelContext","getInstance","updateState","getWorker","getJavaScriptWorker","worker","semanticMarkers","getSemanticDiagnostics","finalOffset","start","currentPosition","getPositionAt","lineNumber","column","endLineNumber","length","messageText","severity","Warning","onDidChangeContent","setEditorId","getPosition","isFlush","fn","key","window","removeEventListener","addEventListener","_editorRef$current3","_editorRef$current4","placeholderWidget","PlaceholderContentWidget","handleCopyIconClick","then","type","K","COPY_SUCCESS","catch","COPY_FAILED","handleExpandedClick","yamlLinter","getYamlLinterWorker","handleChange","postMessage","id","source","debounceChange","debounce","handleLintResponse","_decorationsCollectio","lintMarkers","lintDecorations","data","_ref2","end","code","startPos","endPos","_ref3","fromPositions","change","onDidChangeModelContent","className","classNames","error","ref","overflow","COPY","icon","lib","onClick","COLLAPSE","EXPAND","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],{2580:(e,t,n)=>{n.r(t),n.d(t,{CodeEditor:()=>Ze,CodeEditorComponent:()=>Pt});var i,s=n(4635),r=n(918),a=n(6902),o=n(5536),l=n(6121),c=n(829),u=n(2740),h=n(8769),d=n.n(h),g=n(300),m=n(3078),p=n(4295),k=n(9592),f=n(426),A=n(2329),y=n(6197),v=n(3909),b=n(2257),w=n(3135),M=n(1732),C=n.n(M),E=(n(6477),n(2445)),x=n(7137),L=n(4929),S=n(4804),N=n(4102),B=n(9287),W=n(5502),_=n(8182),P=n(3373),R=n.n(P),z=(n(3569),n(1968)),O=n(1836),V=n(1865);let I,D,F,H,K,T,Y,q,j,U,J,X,$,G,Q,Z,ee,te,ne,ie,se,re,ae,oe,le,ce,ue,he,de,ge,me,pe,ke,fe,Ae,ye,ve,be,we,Me,Ce,Ee,xe,Le,Se,Ne,Be,We,_e,Pe,Re,ze,Oe,Ve,Ie,De,Fe,He,Ke,Te,Ye;(0,W.initializeReactI18n)(_.NS,_.I),(0,y.kz)(A),(0,v.kz)(A),(0,b.kz)(A,"brick_next_yaml"),(0,w.kz)(A);const{defineElement:qe,property:je,event:Ue}=(0,g.createDecorators)(),Je=(0,p.wrapBrick)("eo-form-item"),Xe=(0,p.wrapBrick)("eo-tooltip"),$e=(0,p.wrapBrick)("eo-icon"),Ge=(0,m.unwrapProvider)("basic.copy-to-clipboard"),Qe=(0,m.unwrapProvider)("basic.show-notification");let Ze;var et=new WeakMap,tt=new WeakMap,nt=new WeakMap,it=new WeakMap,st=new WeakMap,rt=new WeakMap,at=new WeakMap,ot=new WeakMap,lt=new WeakMap,ct=new WeakMap,ut=new WeakMap,ht=new WeakMap,dt=new WeakMap,gt=new WeakMap,mt=new WeakMap,pt=new WeakMap,kt=new WeakMap,ft=new WeakMap,At=new WeakMap,yt=new WeakMap,vt=new WeakMap,bt=new WeakMap,wt=new WeakMap,Mt=new WeakMap,Ct=new WeakMap,Et=new WeakSet,xt=new WeakMap,Lt=new WeakMap,St=new WeakMap,Nt=new WeakMap,Bt=new WeakMap,Wt=new WeakMap;class _t extends f.N{constructor(){super(...arguments),(0,s.A)(this,Et),(0,r.A)(this,et,D(this)),(0,r.A)(this,tt,(F(this),H(this))),(0,r.A)(this,nt,(K(this),T(this))),(0,r.A)(this,it,(Y(this),q(this))),(0,r.A)(this,st,(j(this),U(this))),(0,r.A)(this,rt,(J(this),X(this))),(0,r.A)(this,at,($(this),G(this))),(0,r.A)(this,ot,(Q(this),Z(this))),(0,r.A)(this,lt,(ee(this),te(this))),(0,r.A)(this,ct,(ne(this),ie(this))),(0,r.A)(this,ut,(se(this),re(this))),(0,r.A)(this,ht,(ae(this),oe(this))),(0,r.A)(this,dt,(le(this),ce(this))),(0,r.A)(this,gt,(ue(this),he(this))),(0,r.A)(this,mt,(de(this),ge(this))),(0,r.A)(this,pt,(me(this),pe(this))),(0,r.A)(this,kt,(ke(this),fe(this))),(0,r.A)(this,ft,(Ae(this),ye(this))),(0,r.A)(this,At,(ve(this),be(this))),(0,r.A)(this,yt,(we(this),Me(this))),(0,r.A)(this,vt,(Ce(this),Ee(this))),(0,r.A)(this,bt,(xe(this),Le(this))),(0,r.A)(this,wt,(Se(this),Ne(this))),(0,r.A)(this,Mt,(Be(this),We(this))),(0,r.A)(this,Ct,(_e(this),Pe(this))),(0,r.A)(this,xt,(Oe(this),Ve(this))),(0,r.A)(this,Lt,(Fe(this),e=>{var t;this.value=e,null===(t=this.getFormElement())||void 0===t||t.formStore.onChange(this.name,e),(0,o.A)(Et,this,Re).emit(e)})),(0,r.A)(this,St,(e=>{(0,o.A)(Et,this,Ie).emit(e)})),(0,r.A)(this,Nt,He(this)),(0,r.A)(this,Bt,(Ye(this),e=>{(0,o.A)(Et,this,Ke).emit(e)})),(0,r.A)(this,Wt,(e=>{if("brick_next_yaml"===this.language||"yaml"===this.language)try{C().load(e)}catch{return"请填写正确的格式"}return""}))}get name(){return(0,c.A)(et,this)}set name(e){(0,l.A)(et,this,e)}get label(){return(0,c.A)(tt,this)}set label(e){(0,l.A)(tt,this,e)}get value(){return(0,c.A)(nt,this)}set value(e){(0,l.A)(nt,this,e)}get language(){return(0,c.A)(it,this)}set language(e){(0,l.A)(it,this,e)}get theme(){return(0,c.A)(st,this)}set theme(e){(0,l.A)(st,this,e)}get required(){return(0,c.A)(rt,this)}set required(e){(0,l.A)(rt,this,e)}get readOnly(){return(0,c.A)(at,this)}set readOnly(e){(0,l.A)(at,this,e)}get automaticLayout(){return(0,c.A)(ot,this)}set automaticLayout(e){(0,l.A)(ot,this,e)}get minLines(){return(0,c.A)(lt,this)}set minLines(e){(0,l.A)(lt,this,e)}get completers(){return(0,c.A)(ct,this)}set completers(e){(0,l.A)(ct,this,e)}get advancedCompleters(){return(0,c.A)(ut,this)}set advancedCompleters(e){(0,l.A)(ut,this,e)}get markers(){return(0,c.A)(ht,this)}set markers(e){(0,l.A)(ht,this,e)}get links(){return(0,c.A)(dt,this)}set links(e){(0,l.A)(dt,this,e)}get maxLines(){return(0,c.A)(gt,this)}set maxLines(e){(0,l.A)(gt,this,e)}get height(){return(0,c.A)(mt,this)}set height(e){(0,l.A)(mt,this,e)}get message(){return(0,c.A)(pt,this)}set message(e){(0,l.A)(pt,this,e)}get placeholder(){return(0,c.A)(kt,this)}set placeholder(e){(0,l.A)(kt,this,e)}get showExpandButton(){return(0,c.A)(ft,this)}set showExpandButton(e){(0,l.A)(ft,this,e)}get lineNumbers(){return(0,c.A)(At,this)}set lineNumbers(e){(0,l.A)(At,this,e)}get tokenConfig(){return(0,c.A)(yt,this)}set tokenConfig(e){(0,l.A)(yt,this,e)}get customValidationInBrickNextYaml(){return(0,c.A)(vt,this)}set customValidationInBrickNextYaml(e){(0,l.A)(vt,this,e)}get showCopyButton(){return(0,c.A)(bt,this)}set showCopyButton(e){(0,l.A)(bt,this,e)}get glyphMargin(){return(0,c.A)(wt,this)}set glyphMargin(e){(0,l.A)(wt,this,e)}get extraLibs(){return(0,c.A)(Mt,this)}set extraLibs(e){(0,l.A)(Mt,this,e)}connectedCallback(){this.style.display||(this.style.display="block"),super.connectedCallback()}render(){return d().createElement(Je,{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,c.A)(Wt,this)},d().createElement(Pt,{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,glyphMargin:this.glyphMargin,placeholder:this.placeholder,showCopyButton:this.showCopyButton,showExpandButton:this.showExpandButton,validateState:this.validateState,onChange:(0,c.A)(Lt,this),onUserInput:(0,c.A)(St,this),onTokenClick:(0,c.A)(Bt,this),customValidationInBrickNextYaml:this.customValidationInBrickNextYaml}))}}function Pt(e){let{value:t,language:n,theme:i,minLines:s,maxLines:r,height:a,automaticLayout:o,completers:l,advancedCompleters:c,markers:u,readOnly:g,links:m,extraLibs:p,tokenConfig:f={showDSKey:!1},showExpandButton:y,showCopyButton:v=!0,lineNumbers:b="on",glyphMargin:w=!1,placeholder:M,validateState:C,onChange:P,onTokenClick:I,customValidationInBrickNextYaml:D}=e;const F=t??"",H=n??"plaintext",K=i??"auto",T=s??3,Y=r??1/0,q=a??500,[j,U]=(0,h.useState)(!1),J=(0,h.useMemo)((()=>(0,E.uniqueId)("worker")),[]),{t:X}=(0,W.useTranslation)(_.NS),$=(0,h.useRef)(null),G=(0,h.useRef)(),Q=(0,h.useRef)(),Z=(0,h.useRef)({width:300,height:Rt(F,T,Y)}),[ee,te]=(0,h.useState)(),ne=(0,h.useRef)(o),ie=(0,k.useCurrentTheme)(),se=(0,h.useMemo)((()=>"auto"===K?"dark"===ie||"dark-v2"===ie?"vs-dark":"vs":K),[ie,K]);(0,h.useEffect)((()=>{const e=se.includes("dark")?"#FFFFFF0F":"#0000000A";A.editor.defineTheme("custom-theme",{base:se,inherit:!0,rules:[],colors:{"editor.lineHighlightBackground":`${e}`}}),A.editor.setTheme("custom-theme")}),[se]),(0,h.useEffect)((()=>{if(Q.current){const e=Q.current.getModel();A.editor.setModelLanguage(e,H)}}),[H]),(0,h.useEffect)((()=>{if("brick_next_yaml"===H){const e=(0,L.v)(l,c,J,f),t=A.languages.registerCompletionItemProvider("brick_next_yaml",{provideCompletionItems:e,triggerCharacters:[".",":","<"]});return()=>{t.dispose()}}}),[l,c,H]),(0,h.useEffect)((()=>{const e=Q.current;if(e){const t=e.getModel();null!=t&&t.getValue&&F!==t.getValue()&&t.setValue(F)}}),[F]),(0,h.useLayoutEffect)((()=>{var e;if("fit-content"!==ne.current||!$.current)return;Z.current.width=$.current.getBoundingClientRect().width,null===(e=Q.current)||void 0===e||e.layout(Z.current);const t=new ResizeObserver((e=>{for(const n of e)if(n.target===$.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!==Z.current.width||j)&&(Z.current.width=e,null===(t=Q.current)||void 0===t||t.layout({width:e,height:j?i:Z.current.height}));break}}));return t.observe($.current),()=>{t.disconnect()}}),[j]),(0,h.useLayoutEffect)((()=>{if("fit-container"!==ne.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}}($.current);if(!e)return;const t=new ResizeObserver((()=>{te(e.offsetHeight)}));return t.observe(e),()=>{t.disconnect()}}),[]),(0,h.useEffect)((()=>{"fit-container"!==ne.current&&"fit-content"!==ne.current&&te(q)}),[q]),(0,h.useEffect)((()=>{Q.current&&Q.current.updateOptions({readOnly:g})}),[g]),(0,h.useEffect)((()=>{if(Q.current||!$.current)return;const e=A.editor.createModel(F,H);if("brick_next_yaml"===H){const t=(0,N.AR)(e.uri);A.editor.createModel(F,"javascript",t),A.languages.typescript.javascriptDefaults.addExtraLib((0,N.Eh)(),e.uri.toString()+"d.ts")}Q.current=A.editor.create($.current,{model:e,minimap:{enabled:!1,showRegionSectionHeaders:!1,showMarkSectionHeaders:!1},scrollBeyondLastLine:!1,tabSize:2,insertSpaces:!0,automaticLayout:"fit-content"!==ne.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"==ne.current?void 0:x.Vu},overviewRulerBorder:!1,mouseWheelScrollSensitivity:.5,fixedOverflowWidgets:!0,lineNumbers:b,lineNumbersMinChars:3,glyphMargin:w,folding:"off"!==b,suggest:{insertMode:"insert",preview:!0},readOnly:g,quickSuggestions:{strings:!0,other:!0,comments:!0},renderLineHighlightOnlyWhenFocus:!0,unicodeHighlight:{ambiguousCharacters:!1}}),G.current=Q.current.createDecorationsCollection()}),[]),(0,h.useEffect)((()=>{const e=p??[],t="typescript"===H?"typescriptDefaults":"javascriptDefaults",n=(0,B.m)(e,{languageDefaults:t});return()=>{for(const e of n)e.dispose()}}),[p,H]),(0,h.useEffect)((()=>{const e=Q.current;if("brick_next_yaml"===H&&e){const t=e.getModel(),n=e.onMouseDown((function(e){var n;const i=G.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)&&I(t.getValueInRange(n))}))})),i=e.onMouseMove((function(e){const t=G.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()}}}),[H,I,ie,K]),(0,h.useEffect)((()=>{const e=Q.current;if(!e||!$.current||"fit-content"!==ne.current)return;const t=e.onDidContentSizeChange((t=>{if(!j&&t.contentHeightChanged){const n=zt(t.contentHeight,T,Y);n!==Z.current.height&&(Z.current.height=n,e.layout(Z.current))}})),n=zt(e.getContentHeight(),T,Y);return n!==Z.current.height&&(Z.current.height=n,e.layout(Z.current)),()=>{t.dispose()}}),[Y,T,j]);const re=(0,h.useCallback)((async(e,t)=>{A.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 A.Range(s.startLineNumber,s.endColumn,r.startLineNumber,r.startColumn),i=e.getValueInRange(n);if(n.containsPosition(t)&&!/<% | %>/.test(i)){const t=(0,N.AR)(e.uri);A.editor.getModel(t).setValue(i);const r=e.getOffsetAt(new A.Position(s.startLineNumber,s.endColumn));if(z.b.getInstance(J).updateState({content:i,range:n,offset:r}),!D)return;const a=await A.languages.typescript.getJavaScriptWorker(),o=await a(t),l=(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:A.MarkerSeverity.Warning}}));A.editor.setModelMarkers(e,"semantic_validate",l)}}}),[J]);(0,h.useEffect)((()=>{if(!Q.current)return;const e=Q.current.getModel(),t=e.onDidChangeContent((async t=>{(0,S.J)(J),["brick_next_yaml"].includes(H)&&re(e,Q.current.getPosition()),t.isFlush||P(e.getValue())}));return()=>{t.dispose()}}),[P,J,H,re]),(0,h.useEffect)((()=>{if(j){const e=t=>{"Escape"!==t.key&&"Esc"!==t.key||(window.removeEventListener("keydown",e),U(!1))};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}}}),[j]),(0,h.useEffect)((()=>()=>{var e,t;null===(e=Q.current)||void 0===e||null===(e=e.getModel())||void 0===e||e.dispose(),null===(t=Q.current)||void 0===t||t.dispose()}),[]),(0,h.useEffect)((()=>{if(!Q.current&&!M)return;const e=new O.j(M,Q.current,"vs-dark"===se||"hc-black"===se?"rgba(174,174,175,0.4)":"rgba(89,89,89,0.4)");return()=>{e.dispose()}}),[M,se]);const ae=(0,h.useCallback)((()=>{if(Q.current){const e=Q.current.getModel();Ge(e.getValue()).then((()=>Qe({type:"success",message:X(_.K.COPY_SUCCESS)}))).catch((()=>Qe({type:"error",message:X(_.K.COPY_FAILED)})))}}),[X]),oe=(0,h.useCallback)((()=>{U(!j)}),[j]);return(0,h.useEffect)((()=>{const e=Q.current;if(e&&"brick_next_yaml"===H){const t=(0,V.e)(),n=()=>{const n=e.getValue();t.postMessage({id:J,source:n,links:m,markers:u})},i=(0,E.debounce)(n,200),s=t=>{var n;const{id:i,lintMarkers:s,lintDecorations:r}=t.data;if(i!==J)return;const a=e.getModel();a&&(A.editor.setModelMarkers(a,"brick_next_yaml_lint",s.map((e=>{let{start:t,end:n,message:i,severity:s,code:r}=e;const o=a.getPositionAt(t),l=a.getPositionAt(n);return{startLineNumber:o.lineNumber,startColumn:o.column,endLineNumber:l.lineNumber,endColumn:l.column,severity:A.MarkerSeverity[s],message:i,code:r}}))),null===(n=G.current)||void 0===n||n.set(r.map((e=>{let{start:t,end:n,options:i}=e;return{range:A.Range.fromPositions(a.getPositionAt(t),a.getPositionAt(n)),options:i}}))))};t.addEventListener("message",s);const r=e.onDidChangeModelContent(i);return i(),()=>{r.dispose(),A.editor.setModelMarkers(e.getModel(),"brick_next_yaml_lint",[]),t.removeEventListener("message",s)}}}),[H,m,u,K,J]),d().createElement("div",{className:R()("code-editor-wrapper",{expanded:j,error:"error"===C})},d().createElement("div",{ref:$,style:{height:j?"100%":ee,overflow:j?"scroll":""}}),d().createElement("div",{className:"toolbar"},v&&d().createElement(Xe,{content:X(_.K.COPY)},d().createElement($e,{className:"copy-icon",icon:"copy",lib:"antd",theme:"outlined",onClick:ae})),y&&d().createElement(Xe,{content:X(j?_.K.COLLAPSE:_.K.EXPAND)},d().createElement($e,{className:"expand-icon",icon:j?"compress":"expand",lib:"antd",theme:"outlined",onClick:oe}))))}function Rt(e,t,n){return Ot(Math.min(n,Math.max(t,e.split("\n").length)))}function zt(e,t,n){let i=e;return(e-x.Vu)%x.fE==0&&(i=e+x.lP),Math.min(Ot(n),Math.max(i,Ot(t)))}function Ot(e){return e*x.fE+x.lP+x.Vu}i=_t,({e:[D,F,H,K,T,Y,q,j,U,J,X,$,G,Q,Z,ee,te,ne,ie,se,re,ae,oe,le,ce,ue,he,de,ge,me,pe,ke,fe,Ae,ye,ve,be,we,Me,Ce,Ee,xe,Le,Se,Ne,Be,We,_e,Pe,Re,ze,Oe,Ve,Ie,De,Fe,He,Ke,Te,Ye],c:[Ze,I]}=(0,u.A)(i,[qe("vs.code-editor",{shadowOptions:!1})],[[je(),1,"name"],[je(),1,"label"],[je(),1,"value"],[je(),1,"language"],[je(),1,"theme"],[je({type:Boolean}),1,"required"],[je({type:Boolean}),1,"readOnly"],[je(),1,"automaticLayout"],[je({type:Number}),1,"minLines"],[je({attribute:!1}),1,"completers"],[je({attribute:!1}),1,"advancedCompleters"],[je({attribute:!1}),1,"markers"],[je({attribute:!1}),1,"links"],[je({type:Number}),1,"maxLines"],[je({attribute:!1}),1,"height"],[je(),1,"message"],[je(),1,"placeholder"],[je({type:Boolean}),1,"showExpandButton"],[je(),1,"lineNumbers"],[je({attribute:!1}),1,"tokenConfig"],[je({type:Boolean}),1,"customValidationInBrickNextYaml"],[je({type:Boolean}),1,"showCopyButton"],[je({type:Boolean}),1,"glyphMargin"],[je({attribute:!1}),1,"extraLibs"],[Ue({type:"code.change"}),1,"codeChange",e=>(0,c.A)(Ct,e),(e,t)=>(0,l.A)(Ct,e,t)],[Ue({type:"user.input"}),1,"userInput",e=>(0,c.A)(xt,e),(e,t)=>(0,l.A)(xt,e,t)],[Ue({type:"token.click"}),1,"tokenClickEvent",e=>(0,c.A)(Nt,e),(e,t)=>(0,l.A)(Nt,e,t)]],0,(e=>Wt.has((0,a.A)(e))),f.N)),I()}}]);
|
|
2
|
+
//# sourceMappingURL=code-editor.9d94a9eb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/code-editor.9d94a9eb.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\";\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\";\nimport { PlaceholderContentWidget } from \"./widget/Placeholder.js\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { getYamlLinterWorker } from \"./workers/yamlLinter.mjs\";\nimport type { LintResponse } from \"./workers/lintYaml.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 placeholder?: 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 glyphMargin?: boolean;\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 @property()\n accessor placeholder: 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 * 显示字形边距\n * @default false\n */\n @property({ type: Boolean })\n accessor glyphMargin: 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<any>;\n\n #handleChange = (value: string) => {\n this.value = value;\n this.getFormElement()?.formStore.onChange(this.name!, value);\n this.#codeChange.emit(value);\n };\n\n #handleUserInput = (value: any) => {\n this.#userInput.emit(value);\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 #handleValidator = (value: string) => {\n if (this.language === \"brick_next_yaml\" || this.language === \"yaml\") {\n try {\n yaml.load(value);\n } catch {\n return \"请填写正确的格式\";\n }\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.#handleValidator}\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 glyphMargin={this.glyphMargin}\n placeholder={this.placeholder}\n showCopyButton={this.showCopyButton}\n showExpandButton={this.showExpandButton}\n validateState={this.validateState}\n onChange={this.#handleChange}\n onUserInput={this.#handleUserInput}\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 glyphMargin = false,\n placeholder,\n validateState,\n onChange,\n // onUserInput,\n onTokenClick,\n customValidationInBrickNextYaml,\n}: CodeEditorProps & {\n onChange(value: string): void;\n onUserInput: (value: any) => 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 const computedTheme = useMemo(() => {\n return theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme;\n }, [systemTheme, theme]);\n\n useEffect(() => {\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 }, [computedTheme]);\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 useEffect(() => {\n const editor = editorRef.current;\n if (editor) {\n const currentModel = editor.getModel();\n if (currentModel?.getValue && value !== currentModel.getValue()) {\n currentModel.setValue(value as string);\n }\n }\n }, [value]);\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 showRegionSectionHeaders: false,\n showMarkSectionHeaders: 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: glyphMargin,\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 unicodeHighlight: {\n ambiguousCharacters: false,\n },\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 (e) => {\n setEditorId(workerId);\n\n if ([\"brick_next_yaml\"].includes(language)) {\n embeddedModelProcessor(currentModel, editorRef.current!.getPosition()!);\n // debounceParse();\n }\n if (!e.isFlush) {\n onChange(currentModel.getValue());\n }\n });\n return () => {\n listener.dispose();\n };\n }, [\n /* debounceParse, */ onChange,\n workerId,\n language,\n embeddedModelProcessor,\n ]);\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 useEffect(() => {\n if (!editorRef.current && !placeholder) return;\n const placeholderWidget = new PlaceholderContentWidget(\n placeholder!,\n editorRef.current!,\n computedTheme === \"vs-dark\" || computedTheme === \"hc-black\"\n ? \"rgba(174,174,175,0.4)\"\n : \"rgba(89,89,89,0.4)\"\n );\n\n return () => {\n placeholderWidget.dispose();\n };\n }, [placeholder, computedTheme]);\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 // istanbul ignore next\n useEffect(() => {\n const editor = editorRef.current;\n if (editor && language === \"brick_next_yaml\") {\n const yamlLinter = getYamlLinterWorker();\n const handleChange = (): void => {\n const value = editor.getValue();\n yamlLinter.postMessage({\n id: workerId,\n source: value,\n links,\n markers,\n });\n };\n const debounceChange = debounce(handleChange, 200);\n const handleLintResponse = (event: MessageEvent<LintResponse>): void => {\n const { id, lintMarkers, lintDecorations } = event.data;\n if (id !== workerId) {\n return;\n }\n const model = editor.getModel();\n if (!model) {\n return;\n }\n monaco.editor.setModelMarkers(\n model,\n \"brick_next_yaml_lint\",\n lintMarkers.map(({ start, end, message, severity, code }) => {\n const startPos = model.getPositionAt(start);\n const endPos = model.getPositionAt(end);\n return {\n startLineNumber: startPos.lineNumber,\n startColumn: startPos.column,\n endLineNumber: endPos.lineNumber,\n endColumn: endPos.column,\n severity: monaco.MarkerSeverity[severity],\n message,\n code: code as monaco.editor.IMarkerData[\"code\"],\n };\n })\n );\n decorationsCollection.current?.set(\n lintDecorations.map(({ start, end, options }) => ({\n range: monaco.Range.fromPositions(\n model.getPositionAt(start),\n model.getPositionAt(end)\n ),\n options,\n }))\n );\n };\n yamlLinter.addEventListener(\"message\", handleLintResponse);\n const change = editor.onDidChangeModelContent(debounceChange);\n debounceChange();\n return () => {\n change.dispose();\n monaco.editor.setModelMarkers(\n editor.getModel()!,\n \"brick_next_yaml_lint\",\n []\n );\n yamlLinter.removeEventListener(\"message\", handleLintResponse);\n };\n }\n }, [language, links, markers, theme, workerId]);\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","_X","_Y","_CodeEditor_brand","WeakSet","_Z","_handleChange","_handleUserInput","_a","_handleTokenClick","_handleValidator","CodeEditor","FormItemElementBase","constructor","arguments","_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_placeholder","_init_extra_placeholder","_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_glyphMargin","_init_extra_glyphMargin","_init_extraLibs","_init_extra_extraLibs","_init_codeChange","_init_extra_codeChange","_init_userInput","_init_extra_userInput","value","_this$getFormElement","this","getFormElement","formStore","onChange","name","_classPrivateGetter","_get_codeChange","emit","_get_userInput","_init_tokenClickEvent","_init_extra_tokenClickEvent","word","_get_tokenClickEvent","language","yaml","_classPrivateFieldGet","v","_classPrivateFieldSet","label","theme","required","readOnly","automaticLayout","minLines","completers","advancedCompleters","markers","links","maxLines","height","message","placeholder","showExpandButton","lineNumbers","tokenConfig","customValidationInBrickNextYaml","showCopyButton","glyphMargin","extraLibs","connectedCallback","style","display","super","render","React","exportparts","curElement","formElement","helpBrick","labelBrick","notRender","validator","CodeEditorComponent","validateState","onUserInput","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","computedTheme","useEffect","lineHeightBackground","includes","defineTheme","base","inherit","rules","colors","setTheme","current","currentModel","getModel","setModelLanguage","provideCompletionItems","brickNextYAMLProviderCompletionItems","monacoProviderRef","registerCompletionItemProvider","triggerCharacters","dispose","editor","getValue","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","model","createModel","uri","getEmbeddedJavascriptUri","typescript","javascriptDefaults","addExtraLib","getBrickYamlBuiltInDeclare","toString","create","minimap","enabled","showRegionSectionHeaders","showMarkSectionHeaders","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","undefined","overviewRulerBorder","mouseWheelScrollSensitivity","fixedOverflowWidgets","lineNumbersMinChars","folding","suggest","insertMode","preview","quickSuggestions","strings","other","comments","renderLineHighlightOnlyWhenFocus","unicodeHighlight","ambiguousCharacters","createDecorationsCollection","libs","languageDefaults","disposables","addExtraLibs","item","editorMouseDownEvent","onMouseDown","e","_decorations$getRange","decorations","getRanges","call","forEach","range","modKey","test","navigator","platform","position","containsPosition","getValueInRange","mouseOverEvent","onMouseMove","newDecorations","map","options","inlineClassName","equalsRange","set","listener","onDidContentSizeChange","contentHeightChanged","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","embeddedModelProcessor","useCallback","async","setModelMarkers","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixEvaluateRange","suffixEvaluateRange","startLineNumber","endColumn","startColumn","content","newUri","offset","getOffsetAt","EmbeddedModelContext","getInstance","updateState","getWorker","getJavaScriptWorker","worker","semanticMarkers","getSemanticDiagnostics","finalOffset","start","currentPosition","getPositionAt","lineNumber","column","endLineNumber","length","messageText","severity","Warning","onDidChangeContent","setEditorId","getPosition","isFlush","fn","key","window","removeEventListener","addEventListener","_editorRef$current3","_editorRef$current4","placeholderWidget","PlaceholderContentWidget","handleCopyIconClick","then","type","K","COPY_SUCCESS","catch","COPY_FAILED","handleExpandedClick","yamlLinter","getYamlLinterWorker","handleChange","postMessage","id","source","debounceChange","debounce","handleLintResponse","_decorationsCollectio","lintMarkers","lintDecorations","data","_ref2","end","code","startPos","endPos","_ref3","fromPositions","change","onDidChangeModelContent","className","classNames","error","ref","overflow","COPY","icon","lib","onClick","COLLAPSE","EXPAND","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":""}
|