@next-bricks/vs 0.4.36 → 0.4.37

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 CHANGED
@@ -10,5 +10,5 @@
10
10
  "eo-form-item"
11
11
  ]
12
12
  },
13
- "filePath": "bricks/vs/dist/index.a21beae9.js"
13
+ "filePath": "bricks/vs/dist/index.75bd1a53.js"
14
14
  }
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[2383],{92383:(e,t,n)=>{n.r(t);var r,i,a,s,l,u,o,h=n(33028),d=n(53395),c=n(31815),m=n(40381),g=n(70687),v=n(72604),p=n(48657),b=n.n(p),f=n(92061),Z=n(88978),k=n(83361),{method:w,property:C}=(0,f.createDecorators)();r=C({attribute:!1}),a=C({attribute:!1}),l=w(),u=w();var y=new WeakMap,N=new WeakMap,L=new WeakMap,M=new WeakMap,E=new WeakMap,S=new WeakMap,x=new WeakMap,R=new WeakMap;class T extends Z.ReactNextElement{constructor(){super(...arguments),(0,d.Z)(this,S,{get:_,set:K}),(0,d.Z)(this,M,{get:A,set:P}),(0,d.Z)(this,N,{get:W,set:I}),(0,d.Z)(this,y,{writable:!0,value:!1}),(0,d.Z)(this,L,{writable:!0,value:"normal"}),(0,d.Z)(this,E,{writable:!0,value:!1}),(0,d.Z)(this,x,{writable:!0,value:(o(this),i(this))}),(0,d.Z)(this,R,{writable:!0,value:s(this)})}get isFormItemElement(){return!0}set validateState(e){(0,m.Z)(this,M,e),this._render()}get validateState(){return(0,g.Z)(this,M)}set notRender(e){this.hidden=e,(0,m.Z)(this,N,e),this._render()}get notRender(){return(0,g.Z)(this,N)}get $bindFormItem(){return(0,g.Z)(this,S)}set $bindFormItem(e){(0,m.Z)(this,S,e),this._render()}get helpBrick(){return(0,g.Z)(this,x)}set helpBrick(e){(0,m.Z)(this,x,e)}get labelBrick(){return(0,g.Z)(this,R)}set labelBrick(e){(0,m.Z)(this,R,e)}setNotRender(e){this.notRender=e}getFormElement(){for(var e=this;(e=e.parentNode)&&e&&!e.isFormElement;);return e}}function W(){return(0,g.Z)(this,y)}function I(e){(0,m.Z)(this,y,e)}function A(){return(0,g.Z)(this,L)}function P(e){(0,m.Z)(this,L,e)}function _(){return(0,g.Z)(this,E)}function K(e){(0,m.Z)(this,E,e)}[i,s,o]=(0,v.Z)(T,[[r,1,"helpBrick"],[a,1,"labelBrick"],[l,2,"setNotRender"],[u,2,"getFormElement"]],[]).e;var B=n(46475),O=n(73701),z=n(47637),V=n(64167),F=n(27680),H=n(42308),q=n.n(H),D=n(56666),U=n(78035),j=new WeakMap,$=new WeakMap,G=new WeakMap;n(65254);var X=18,Y=12,Q=12,J=n(36023),ee=["CTX","STATE","DATA","EVENT","FLAGS","APP","ANCHOR","HASH","INSTALLED_APPS","ITEM","LOCAL_STORAGE","MEDIA","MISC","PARAMS","PATH","PROCESSORS","QUERY","QUERY_ARRAY","SESSION_STORAGE","TPL","SYS","BASE_URL","IMG","FN","I18N","I18N_TEXT","PERMISSIONS","THEME"],te=["target","targetRef","properties","events","method","callback","success","error","action","useProvider","useChildren","useBrick","args","if","then"],ne={hit:1,info:2,warn:4,error:8},re=(e,t,n)=>{for(var r=[],i=[],a="",s=n,l=t.startColumn;s>0;){var u=e.getValueInRange({startLineNumber:s,endLineNumber:s,startColumn:0,endColumn:1/0}).match(/^([\s|-]*)(\w+)(?=:)/);if(u){var[o,h,d]=u;h.length===t.startColumn-1&&r.unshift(d),h.length<l-1&&(!a&&(a=d),l=h.length,i.unshift(d))}s--}return{curLevelKeys:r,keyList:i,parentKey:a}},ie=n(46062),ae=n.n(ie),se=n(44036),le=n.n(se),ue=n(96793),oe=n.n(ue),he=n(17892),de=n.n(he),ce=n(11173),me=n.n(ce),ge=n(42464),ve=n.n(ge),pe=n(76126),be={};be.styleTagTransform=ve(),be.setAttributes=de(),be.insert=oe().bind(null,"head"),be.domAPI=le(),be.insertStyleElement=me(),ae()(pe.Z,be),pe.Z&&pe.Z.locals&&pe.Z.locals;var fe,Ze,ke,we,Ce,ye,Ne,Le,Me,Ee,Se,xe,Re,Te,We,Ie,Ae,Pe,_e,Ke,Be,Oe,ze,Ve,Fe,He,qe,De,Ue,je,$e,Ge,Xe,Ye,Qe,Je,et,tt,nt,rt,it,at,st,lt,ut,ot,ht,dt=n(28440);(0,O.z2)(B),(0,z.z2)(B),(0,V.z2)(B,"brick_next_yaml"),(0,F.z2)(B);var ct,{defineElement:mt,property:gt,event:vt}=(0,f.createDecorators)(),pt=(0,Z.wrapBrick)("eo-form-item");Ze=mt("vs.code-editor",{shadowOptions:!1}),ke=gt(),Ce=gt(),Ne=gt({attribute:!1}),Me=gt(),Se=gt(),Re=gt({type:Boolean}),We=gt({type:Boolean}),Ae=gt(),_e=gt({type:Number}),Be=gt({attribute:!1}),ze=gt({attribute:!1}),Fe=gt({attribute:!1}),qe=gt({attribute:!1}),Ue=gt({type:Number}),$e=gt({attribute:!1}),Xe=gt(),Qe=vt({type:"code.change"}),nt=vt({type:"user.input"}),st=vt({type:"token.click"});var bt=new WeakMap,ft=new WeakMap,Zt=new WeakMap,kt=new WeakMap,wt=new WeakMap,Ct=new WeakMap,yt=new WeakMap,Nt=new WeakMap,Lt=new WeakMap,Mt=new WeakMap,Et=new WeakMap,St=new WeakMap,xt=new WeakMap,Rt=new WeakMap,Tt=new WeakMap,Wt=new WeakMap,It=new WeakMap,At=new WeakMap,Pt=new WeakMap,_t=new WeakMap,Kt=new WeakMap,Bt=new WeakMap,Ot=new WeakMap,zt=new WeakMap,Vt=new WeakMap;function Ft(e){tt(this,e)}function Ht(){return et(this)}function qt(e){at(this,e)}function Dt(){return it(this)}function Ut(e){ot(this,e)}function jt(){return ut(this)}function $t(e){var{value:t,language:n,theme:r,minLines:i,maxLines:a,height:s,automaticLayout:l,completers:u,advancedCompleters:o,markers:c,readOnly:v,links:f,validateState:Z,onChange:w,onHighlightClick:C}=e,y=null!=t?t:"",N=null!=n?n:"plaintext",L=null!=r?r:"auto",M=null!=i?i:3,E=null!=a?a:1/0,S=null!=s?s:500,x=(0,p.useRef)(null),R=(0,p.useRef)(),T=(0,p.useRef)(),W=(0,p.useRef)({width:300,height:Gt(y,M,E)}),[I,A]=(0,p.useState)(),P=(0,p.useRef)(l),_=(0,k.useCurrentTheme)();(0,p.useEffect)((()=>{B.editor.setTheme("auto"===L?"dark"===_||"dark-v2"===_?"vs-dark":"vs":L)}),[_,L]),(0,p.useEffect)((()=>{if(T.current){var e=T.current.getModel();B.editor.setModelLanguage(e,N),(0,U.isEqual)(e.getValue(),y)||e.setValue(y)}}),[y,N]),(0,p.useEffect)((()=>{if("brick_next_yaml"===N){var e=((e,t)=>(n,r,i,a)=>{var s=n.getWordUntilPosition(r),{word:l,token:u}=((e,t)=>{var n,r=e.getWordUntilPosition(t),i=e.getValueInRange({startLineNumber:t.lineNumber,endLineNumber:t.lineNumber,startColumn:t.column-r.word.length-1,endColumn:t.column-r.word.length}),a=e.getWordAtPosition((0,h.Z)((0,h.Z)({},t),{},{column:t.column-(null==r||null===(n=r.word)||void 0===n?void 0:n.length)-1}));return{word:null==a?void 0:a.word,token:i}})(n,r),o=n.getValueInRange({startLineNumber:r.lineNumber,endLineNumber:r.lineNumber,startColumn:0,endColumn:1/0}),d={startLineNumber:r.lineNumber,endLineNumber:r.lineNumber,startColumn:s.startColumn,endColumn:s.endColumn},c=1===s.startColumn,{curLevelKeys:m}=re(n,s,n.getLineCount());if("<"===i.triggerCharacter)return"<"!==n.getValueInRange({startLineNumber:r.lineNumber,endLineNumber:r.lineNumber,startColumn:r.column-2,endColumn:r.column+2}).trim()?{suggestions:[]}:{suggestions:[{label:"<% %>",detail:"Evalute Body",kind:B.languages.CompletionItemKind.Value,insertText:"% ${0} %>",insertTextRules:B.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:d},{label:"<%= %>",detail:"Track Evalute Body",kind:B.languages.CompletionItemKind.Value,insertText:"%= ${0} %>",insertTextRules:B.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:d}]};if(c)return{suggestions:(null!=e?e:[]).filter((e=>!m.includes(e.label))).map((e=>(0,h.Z)((0,h.Z)({},e),{},{label:e.label,insertText:e.insertText||e.label,kind:B.languages.CompletionItemKind.Keyword,range:d})))};if(":"===i.triggerCharacter||"."===i.triggerCharacter&&l&&!["CTX","STATE","FN"].includes(l)){var g,v;if("action"===l&&":"===i.triggerCharacter)return{suggestions:null===(g=null!==(v=(0,U.get)(J,"definitions.BuiltinBrickEventHandler.properties.action.enum"))&&void 0!==v?v:[])||void 0===g?void 0:g.map((e=>({label:" ".concat(e),detail:"event action",kind:B.languages.CompletionItemKind.Keyword,insertText:" ".concat(e),range:d})))};var p,b,f=null==t?void 0:t[l],Z="";if(f&&!Array.isArray(f)?(p=f.completers,Z=f.triggerCharacter):p=f,Z?i.triggerCharacter===Z&&p:p)return{suggestions:(null!==(b=p)&&void 0!==b?b:[]).map((e=>{var t=":"===Z?" ".concat(e.label):e.label;return(0,h.Z)((0,h.Z)({},e),{},{label:t,kind:B.languages.CompletionItemKind.Value,insertText:e.insertText||t,range:d})}))}}if(((e,t)=>{var n=e.getWordUntilPosition(t),r=e.findPreviousMatch("<%",t,!1,!1,null,!1),i=e.findNextMatch("%>",t,!1,!1,null,!1);if((null==r?void 0:r.range.startLineNumber)&&(null==i?void 0:i.range.startLineNumber)&&r.range.startLineNumber<=t.lineNumber&&i.range.endLineNumber>=t.lineNumber){var{parentKey:a}=re(e,r.range,null==r?void 0:r.range.startLineNumber),{parentKey:s}=re(e,i.range,null==i?void 0:i.range.startLineNumber),{keyList:l}=re(e,n,t.lineNumber);if(a===s&&l.includes(a))return!0}return!1})(n,r)){var k,w,C,y;if(l&&["CTX","STATE"].includes(l)&&t)return{suggestions:(null!==(k=null===(w=t[l])||void 0===w?void 0:w.completers)&&void 0!==k?k:[]).map((e=>({label:e.label,insertText:e.label,kind:B.languages.CompletionItemKind.Value,range:d})))};if("FN"===l&&"."===i.triggerCharacter&&t)return{suggestions:(null!==(C=null===(y=t.FN)||void 0===y?void 0:y.completers)&&void 0!==C?C:[]).map((e=>({label:e.label,insertText:e.label,kind:B.languages.CompletionItemKind.Value,range:d})))};if("APP"===l&&"."===i.triggerCharacter){var N=(0,U.get)(J,"definitions.MicroApp.properties"),L=[];for(var[M,E]of Object.entries(N))L.push({label:M,kind:B.languages.CompletionItemKind.Value,documentation:E.description,detail:E.enum?E.enum.join("|"):E.type,insertText:M,range:d});return{suggestions:L}}return[".",":"].includes(u)?{suggestions:[]}:{suggestions:ee.map((e=>({label:e,insertText:e,kind:B.languages.CompletionItemKind.Keyword,range:d})))}}return/^[\s|-]*\w$/.test(o)?{suggestions:te.map((e=>({label:e,insertText:e,kind:B.languages.CompletionItemKind.Keyword,range:d}))).filter((e=>!m.includes(e.label)))}:{suggestions:[]}})(u,o),t=B.languages.registerCompletionItemProvider("brick_next_yaml",{provideCompletionItems:e,triggerCharacters:[".",":","<"]});return()=>{t.dispose()}}}),[u,o,N]);var K=(0,p.useCallback)((()=>{var e=new class{constructor(){(0,d.Z)(this,j,{writable:!0,value:void 0}),(0,d.Z)(this,$,{writable:!0,value:void 0}),(0,d.Z)(this,G,{writable:!0,value:void 0}),(0,D.Z)(this,"getTokens",(()=>(0,g.Z)(this,j))),(0,m.Z)(this,j,[]),(0,m.Z)(this,$,0),(0,m.Z)(this,G,"")}handleState(e,t){if("close"===e){var{line:n,position:r,lineStart:i,result:a}=t,s=t.input.substring(i,r);if(s.trim()===(0,g.Z)(this,G).trim())return;(0,m.Z)(this,G,s);var l=n+1,u=n+1,o=r-i-a.length,h=r-i-t.lineIndent;if("string"==typeof a&&/^\s*<%[~=]?\s/.test(a)&&/\s%>\s*$/.test(a)){var d,c=a,v=null===(d=a.match(/\n/g))||void 0===d?void 0:d.length;if(v){for(var p=(0,g.Z)(this,$),b=(0,g.Z)(this,$);b<t.input.length;b++)if("\n"===t.input[b]){p=b+1;break}var f=/(\|-|>-)/.test(t.input.substring((0,g.Z)(this,$),r-1));c=t.input.substring(p,r-1),l=t.line-v+1-Number(f),u=n,o=0,h=0}var Z={source:c,startLineNumber:l,endLineNumber:u,startColumn:o,endColumn:h,isString:['"',"'"].includes(t.input[i+o-2])};!(0,g.Z)(this,j).find((e=>(0,U.isEqual)(e,Z)))&&(0,g.Z)(this,j).push(Z)}(0,m.Z)(this,$,r)}}listen(){return this.handleState.bind(this)}},t=void 0;if(T.current){var n=T.current.getModel();try{if(t=q().load(y,{listener:e.listen()}),(f||c)&&T.current){var r,i=[];if(e.getTokens().forEach((e=>{var{startLineNumber:t,endLineNumber:n,startColumn:r}=e,a=[],s=(0,dt.preevaluate)(e.source,{hooks:{beforeVisit(e){"MemberExpression"===e.type&&"Identifier"===e.object.type&&ee.includes(e.object.name)&&"Identifier"===e.property.type&&a.push(e)}}});a.forEach((a=>{var{start:l,end:u,loc:o}=a;if(e.startLineNumber!==e.endLineNumber){var h,d,c,m,g,v=/<%[ ]+/.test(s.prefix);i.push({token:null===(h=a.object)||void 0===h?void 0:h.name,property:a.property.name,startLineNumber:e.startLineNumber+(null==o||null===(d=o.start)||void 0===d?void 0:d.line)-Number(v),endLineNumber:e.startLineNumber+(null==o||null===(c=o.end)||void 0===c?void 0:c.line)-Number(v),startColumn:(v&&1===(null==o?void 0:o.start.line)?s.prefix.length:0)+(null==o||null===(m=o.start)||void 0===m?void 0:m.column)+1,endColumn:(v&&1===(null==o?void 0:o.start.line)?s.prefix.length:0)+(null==o||null===(g=o.end)||void 0===g?void 0:g.column)+1})}else{var p,b,f;i.push({token:null===(p=a.object)||void 0===p?void 0:p.name,property:a.property.name,startLineNumber:t,endLineNumber:n,startColumn:r+l+(null===(b=s.prefix)||void 0===b?void 0:b.length)+Number(!e.isString),endColumn:r+u+(null===(f=s.prefix)||void 0===f?void 0:f.length)+Number(!e.isString)})}}))})),null===(r=R.current)||void 0===r||r.set(i.filter((e=>null==f?void 0:f.includes(e.token))).map((e=>({range:new B.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),options:{inlineClassName:"highlight"}})))),c){var a=i.map((e=>{var t,n,r=c.find((t=>t.token===e.token));return null==r||!r.params||(null===(t=r.params)||void 0===t?void 0:t.includes(e.property))?r&&r.message?(0,h.Z)((0,h.Z)({severity:ne[null!==(n=null==r?void 0:r.level)&&void 0!==n?n:"warn"],message:r.message},r.code?{code:{value:r.code.value,target:B.Uri.parse(r.code.target)}}:{}),{},{startLineNumber:e.startLineNumber,endLineNumber:e.endLineNumber,startColumn:e.startColumn,endColumn:e.endColumn}):void 0:{severity:ne.warn,message:"Miss Property",startLineNumber:e.startLineNumber,endLineNumber:e.endLineNumber,startColumn:e.startColumn,endColumn:e.endColumn}})).filter(Boolean);B.editor.setModelMarkers(n,"brick_next_yaml",a)}}}catch(e){var s;B.editor.setModelMarkers(n,"brick_next_yaml",[]),null==R||null===(s=R.current)||void 0===s||s.set([])}}return t}),[y,f,c]);return(0,p.useLayoutEffect)((()=>{var e;if("fit-content"===P.current&&x.current){W.current.width=x.current.getBoundingClientRect().width,null===(e=T.current)||void 0===e||e.layout(W.current);var t=new ResizeObserver((e=>{for(var t of e)if(t.target===x.current){var n,r=t.contentBoxSize?t.contentBoxSize[0].inlineSize:t.contentRect.width;r!==W.current.width&&(W.current.width=r,null===(n=T.current)||void 0===n||n.layout(W.current));break}}));return t.observe(x.current),()=>{t.disconnect()}}}),[]),(0,p.useLayoutEffect)((()=>{if("fit-container"===P.current){var e=function(e){for(var t=e;t;){var n="vs.code-editor"===t.tagName.toLowerCase();if(t=t.parentElement,n)return t}}(x.current);if(e){var t=new ResizeObserver((()=>{A(e.offsetHeight)}));return t.observe(e),()=>{t.disconnect()}}}}),[]),(0,p.useEffect)((()=>{"fit-container"!==P.current&&"fit-content"!==P.current&&A(S)}),[S]),(0,p.useEffect)((()=>{T.current&&T.current.updateOptions({readOnly:v})}),[v]),(0,p.useEffect)((()=>{if(!T.current&&x.current){var e=B.editor.createModel(y,N);T.current=B.editor.create(x.current,{model:e,minimap:{enabled:!1},scrollBeyondLastLine:!1,tabSize:2,insertSpaces:!0,automaticLayout:"fit-content"!==P.current,fontSize:12,lineHeight:X,scrollbar:{horizontalScrollbarSize:Y,verticalScrollbarSize:Y,horizontalSliderSize:8,verticalSliderSize:8,alwaysConsumeMouseWheel:!1},padding:{top:Q,bottom:"fit-content"==P.current?void 0:Q},overviewRulerBorder:!1,mouseWheelScrollSensitivity:.5,suggest:{insertMode:"insert",preview:!0},readOnly:v,quickSuggestions:{strings:!0,other:!0,comments:!0}}),R.current=T.current.createDecorationsCollection()}}),[y,N,v]),(0,p.useEffect)((()=>{var e=T.current;if("brick_next_yaml"===N&&e){var t=e.getModel(),n=e.onMouseDown((function(e){var n,r,i=R.current;(null!==(n=null==i||null===(r=i.getRanges)||void 0===r?void 0:r.call(i))&&void 0!==n?n:[]).forEach((n=>{var r=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";n&&e.target.position&&e.event[r]&&n.containsPosition(e.target.position)&&C(t.getValueInRange(n))}))})),r=e.onMouseMove((function(e){var t=R.current;t&&t.getRanges().forEach((n=>{var r=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";if(n&&e.target.position&&e.event[r]&&n.containsPosition(e.target.position)){var i=t.getRanges().map((e=>({range:e,options:{inlineClassName:n.equalsRange(e)?"highlight pointer":"highlight"}})));t.set(i)}else if(!e.event[r]){var a=t.getRanges().map((e=>({range:e,options:{inlineClassName:"highlight"}})));t.set(a)}}))}));return K(),()=>{null==r||r.dispose(),null==n||n.dispose()}}}),[N,C,_,L,K]),(0,p.useEffect)((()=>{var e=T.current;if(e&&x.current&&"fit-content"===P.current){var t=e.onDidContentSizeChange((t=>{if(t.contentHeightChanged){var n=Xt(t.contentHeight,M,E);n!==W.current.height&&(W.current.height=n,e.layout(W.current))}})),n=Xt(e.getContentHeight(),M,E);return n!==W.current.height&&(W.current.height=n,e.layout(W.current)),()=>{t.dispose()}}}),[E,M]),(0,p.useEffect)((()=>{if(T.current){var e=T.current.getModel(),t=e.onDidChangeContent((t=>{var n=K();w(e.getValue(),n,t.isFlush)}));return()=>{t.dispose()}}}),[w,K]),(0,p.useEffect)((()=>()=>{var e,t;null===(e=T.current)||void 0===e||null===(e=e.getModel())||void 0===e||e.dispose(),null===(t=T.current)||void 0===t||t.dispose()}),[]),b().createElement("div",{ref:x,style:(0,h.Z)({height:I},"error"===Z?{outline:"1px solid var(--antd-error-color)"}:{})})}function Gt(e,t,n){return Yt(Math.min(n,Math.max(t,e.split("\n").length)))}function Xt(e,t,n){var r=e;return(e-Q)%X==0&&(r=e+Y),Math.min(Yt(n),Math.max(r,Yt(t)))}function Yt(e){return e*X+Y+Q}({e:[we,ye,Le,Ee,xe,Te,Ie,Pe,Ke,Oe,Ve,He,De,je,Ge,Ye,Je,et,tt,rt,it,at,lt,ut,ot,ht],c:[ct,fe]}=(0,v.Z)(class extends T{constructor(){super(...arguments),(0,d.Z)(this,Ot,{get:jt,set:Ut}),(0,d.Z)(this,_t,{get:Dt,set:qt}),(0,d.Z)(this,At,{get:Ht,set:Ft}),(0,d.Z)(this,bt,{writable:!0,value:(ht(this),we(this))}),(0,d.Z)(this,ft,{writable:!0,value:ye(this)}),(0,d.Z)(this,Zt,{writable:!0,value:Le(this)}),(0,d.Z)(this,kt,{writable:!0,value:Ee(this)}),(0,d.Z)(this,wt,{writable:!0,value:xe(this)}),(0,d.Z)(this,Ct,{writable:!0,value:Te(this)}),(0,d.Z)(this,yt,{writable:!0,value:Ie(this)}),(0,d.Z)(this,Nt,{writable:!0,value:Pe(this)}),(0,d.Z)(this,Lt,{writable:!0,value:Ke(this)}),(0,d.Z)(this,Mt,{writable:!0,value:Oe(this)}),(0,d.Z)(this,Et,{writable:!0,value:Ve(this)}),(0,d.Z)(this,St,{writable:!0,value:He(this)}),(0,d.Z)(this,xt,{writable:!0,value:De(this)}),(0,d.Z)(this,Rt,{writable:!0,value:je(this)}),(0,d.Z)(this,Tt,{writable:!0,value:Ge(this)}),(0,d.Z)(this,Wt,{writable:!0,value:Ye(this)}),(0,d.Z)(this,It,{writable:!0,value:Je(this)}),(0,d.Z)(this,Pt,{writable:!0,value:rt(this)}),(0,d.Z)(this,Kt,{writable:!0,value:(e,t,n)=>{var r;null===(r=this.getFormElement())||void 0===r||r.formStore.onChange(this.name,e),(0,g.Z)(this,At).emit(t),n||(0,g.Z)(this,_t).emit(t)}}),(0,d.Z)(this,Bt,{writable:!0,value:lt(this)}),(0,d.Z)(this,zt,{writable:!0,value:e=>{(0,g.Z)(this,Ot).emit(e)}}),(0,d.Z)(this,Vt,{writable:!0,value:e=>{try{q().load(e)}catch(e){return"请填写正确的格式"}return""}})}get name(){return(0,g.Z)(this,bt)}set name(e){(0,m.Z)(this,bt,e)}get label(){return(0,g.Z)(this,ft)}set label(e){(0,m.Z)(this,ft,e)}get value(){return(0,g.Z)(this,Zt)}set value(e){(0,m.Z)(this,Zt,e)}get language(){return(0,g.Z)(this,kt)}set language(e){(0,m.Z)(this,kt,e)}get theme(){return(0,g.Z)(this,wt)}set theme(e){(0,m.Z)(this,wt,e)}get required(){return(0,g.Z)(this,Ct)}set required(e){(0,m.Z)(this,Ct,e)}get readOnly(){return(0,g.Z)(this,yt)}set readOnly(e){(0,m.Z)(this,yt,e)}get automaticLayout(){return(0,g.Z)(this,Nt)}set automaticLayout(e){(0,m.Z)(this,Nt,e)}get minLines(){return(0,g.Z)(this,Lt)}set minLines(e){(0,m.Z)(this,Lt,e)}get completers(){return(0,g.Z)(this,Mt)}set completers(e){(0,m.Z)(this,Mt,e)}get advancedCompleters(){return(0,g.Z)(this,Et)}set advancedCompleters(e){(0,m.Z)(this,Et,e)}get markers(){return(0,g.Z)(this,St)}set markers(e){(0,m.Z)(this,St,e)}get links(){return(0,g.Z)(this,xt)}set links(e){(0,m.Z)(this,xt,e)}get maxLines(){return(0,g.Z)(this,Rt)}set maxLines(e){(0,m.Z)(this,Rt,e)}get height(){return(0,g.Z)(this,Tt)}set height(e){(0,m.Z)(this,Tt,e)}get message(){return(0,g.Z)(this,Wt)}set message(e){(0,m.Z)(this,Wt,e)}connectedCallback(){this.style.display||(this.style.display="block"),super.connectedCallback()}render(){return b().createElement(pt,{curElement:this,formElement:this.getFormElement(),name:this.name,label:this.label,required:this.required,validator:(0,g.Z)(this,Vt)},b().createElement($t,{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,markers:this.markers,links:this.links,validateState:this.validateState,onChange:(0,g.Z)(this,Kt),onHighlightClick:(0,g.Z)(this,zt)}))}},[[ke,1,"name"],[Ce,1,"label"],[Ne,1,"value"],[Me,1,"language"],[Se,1,"theme"],[Re,1,"required"],[We,1,"readOnly"],[Ae,1,"automaticLayout"],[_e,1,"minLines"],[Be,1,"completers"],[ze,1,"advancedCompleters"],[Fe,1,"markers"],[qe,1,"links"],[Ue,1,"maxLines"],[$e,1,"height"],[Xe,1,"message"],[Qe,1,"codeChange",e=>(0,g.Z)(e,It),(e,t)=>(0,m.Z)(e,It,t)],[nt,1,"userInput",e=>(0,g.Z)(e,Pt),(e,t)=>(0,m.Z)(e,Pt,t)],[st,1,"highlighClickEvent",e=>(0,g.Z)(e,Bt),(e,t)=>(0,m.Z)(e,Bt,t)]],[Ze],0,(e=>Vt.has((0,c.Z)(e))))),fe()},76126:(e,t,n)=>{n.d(t,{Z:()=>l});var r=n(39601),i=n.n(r),a=n(82609),s=n.n(a)()(i());s.push([e.id,".highlight{color:rgb(74 170 189)!important;text-decoration:underline;font-weight:bold;font-style:oblique}.pointer{cursor:pointer}",""]);const l=s}}]);
2
- //# sourceMappingURL=2383.c3bdd910.js.map
1
+ "use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[2383],{92383:(e,t,n)=>{n.r(t);var r,i,a,s,l,u,o,h=n(33028),d=n(53395),c=n(31815),m=n(40381),g=n(70687),v=n(72604),p=n(48657),b=n.n(p),f=n(92061),Z=n(88978),k=n(64734),{method:w,property:C}=(0,f.createDecorators)();r=C({attribute:!1}),a=C({attribute:!1}),l=w(),u=w();var y=new WeakMap,N=new WeakMap,L=new WeakMap,M=new WeakMap,E=new WeakMap,S=new WeakMap,x=new WeakMap,R=new WeakMap;class T extends Z.ReactNextElement{constructor(){super(...arguments),(0,d.Z)(this,S,{get:_,set:K}),(0,d.Z)(this,M,{get:A,set:P}),(0,d.Z)(this,N,{get:W,set:I}),(0,d.Z)(this,y,{writable:!0,value:!1}),(0,d.Z)(this,L,{writable:!0,value:"normal"}),(0,d.Z)(this,E,{writable:!0,value:!1}),(0,d.Z)(this,x,{writable:!0,value:(o(this),i(this))}),(0,d.Z)(this,R,{writable:!0,value:s(this)})}get isFormItemElement(){return!0}set validateState(e){(0,m.Z)(this,M,e),this._render()}get validateState(){return(0,g.Z)(this,M)}set notRender(e){this.hidden=e,(0,m.Z)(this,N,e),this._render()}get notRender(){return(0,g.Z)(this,N)}get $bindFormItem(){return(0,g.Z)(this,S)}set $bindFormItem(e){(0,m.Z)(this,S,e),this._render()}get helpBrick(){return(0,g.Z)(this,x)}set helpBrick(e){(0,m.Z)(this,x,e)}get labelBrick(){return(0,g.Z)(this,R)}set labelBrick(e){(0,m.Z)(this,R,e)}setNotRender(e){this.notRender=e}getFormElement(){for(var e=this;(e=e.parentNode)&&e&&!e.isFormElement;);return e}}function W(){return(0,g.Z)(this,y)}function I(e){(0,m.Z)(this,y,e)}function A(){return(0,g.Z)(this,L)}function P(e){(0,m.Z)(this,L,e)}function _(){return(0,g.Z)(this,E)}function K(e){(0,m.Z)(this,E,e)}[i,s,o]=(0,v.Z)(T,[[r,1,"helpBrick"],[a,1,"labelBrick"],[l,2,"setNotRender"],[u,2,"getFormElement"]],[]).e;var B=n(46475),O=n(73701),z=n(47637),V=n(64167),F=n(27680),H=n(42308),q=n.n(H),D=n(56666),U=n(78035),j=new WeakMap,$=new WeakMap,G=new WeakMap;n(65254);var X=18,Y=12,Q=12,J=n(36023),ee=["CTX","STATE","DATA","EVENT","FLAGS","APP","ANCHOR","HASH","INSTALLED_APPS","ITEM","LOCAL_STORAGE","MEDIA","MISC","PARAMS","PATH","PROCESSORS","QUERY","QUERY_ARRAY","SESSION_STORAGE","TPL","SYS","BASE_URL","IMG","FN","I18N","I18N_TEXT","PERMISSIONS","THEME"],te=["target","targetRef","properties","events","method","callback","success","error","action","useProvider","useChildren","useBrick","args","if","then"],ne={hit:1,info:2,warn:4,error:8},re=(e,t,n)=>{for(var r=[],i=[],a="",s=n,l=t.startColumn;s>0;){var u=e.getValueInRange({startLineNumber:s,endLineNumber:s,startColumn:0,endColumn:1/0}).match(/^([\s|-]*)(\w+)(?=:)/);if(u){var[o,h,d]=u;h.length===t.startColumn-1&&r.unshift(d),h.length<l-1&&(!a&&(a=d),l=h.length,i.unshift(d))}s--}return{curLevelKeys:r,keyList:i,parentKey:a}},ie=n(46062),ae=n.n(ie),se=n(44036),le=n.n(se),ue=n(96793),oe=n.n(ue),he=n(17892),de=n.n(he),ce=n(11173),me=n.n(ce),ge=n(42464),ve=n.n(ge),pe=n(76126),be={};be.styleTagTransform=ve(),be.setAttributes=de(),be.insert=oe().bind(null,"head"),be.domAPI=le(),be.insertStyleElement=me(),ae()(pe.Z,be),pe.Z&&pe.Z.locals&&pe.Z.locals;var fe,Ze,ke,we,Ce,ye,Ne,Le,Me,Ee,Se,xe,Re,Te,We,Ie,Ae,Pe,_e,Ke,Be,Oe,ze,Ve,Fe,He,qe,De,Ue,je,$e,Ge,Xe,Ye,Qe,Je,et,tt,nt,rt,it,at,st,lt,ut,ot,ht,dt=n(28440);(0,O.z2)(B),(0,z.z2)(B),(0,V.z2)(B,"brick_next_yaml"),(0,F.z2)(B);var ct,{defineElement:mt,property:gt,event:vt}=(0,f.createDecorators)(),pt=(0,Z.wrapBrick)("eo-form-item");Ze=mt("vs.code-editor",{shadowOptions:!1}),ke=gt(),Ce=gt(),Ne=gt({attribute:!1}),Me=gt(),Se=gt(),Re=gt({type:Boolean}),We=gt({type:Boolean}),Ae=gt(),_e=gt({type:Number}),Be=gt({attribute:!1}),ze=gt({attribute:!1}),Fe=gt({attribute:!1}),qe=gt({attribute:!1}),Ue=gt({type:Number}),$e=gt({attribute:!1}),Xe=gt(),Qe=vt({type:"code.change"}),nt=vt({type:"user.input"}),st=vt({type:"token.click"});var bt=new WeakMap,ft=new WeakMap,Zt=new WeakMap,kt=new WeakMap,wt=new WeakMap,Ct=new WeakMap,yt=new WeakMap,Nt=new WeakMap,Lt=new WeakMap,Mt=new WeakMap,Et=new WeakMap,St=new WeakMap,xt=new WeakMap,Rt=new WeakMap,Tt=new WeakMap,Wt=new WeakMap,It=new WeakMap,At=new WeakMap,Pt=new WeakMap,_t=new WeakMap,Kt=new WeakMap,Bt=new WeakMap,Ot=new WeakMap,zt=new WeakMap,Vt=new WeakMap;function Ft(e){tt(this,e)}function Ht(){return et(this)}function qt(e){at(this,e)}function Dt(){return it(this)}function Ut(e){ot(this,e)}function jt(){return ut(this)}function $t(e){var{value:t,language:n,theme:r,minLines:i,maxLines:a,height:s,automaticLayout:l,completers:u,advancedCompleters:o,markers:c,readOnly:v,links:f,validateState:Z,onChange:w,onHighlightClick:C}=e,y=null!=t?t:"",N=null!=n?n:"plaintext",L=null!=r?r:"auto",M=null!=i?i:3,E=null!=a?a:1/0,S=null!=s?s:500,x=(0,p.useRef)(null),R=(0,p.useRef)(),T=(0,p.useRef)(),W=(0,p.useRef)({width:300,height:Gt(y,M,E)}),[I,A]=(0,p.useState)(),P=(0,p.useRef)(l),_=(0,k.useCurrentTheme)();(0,p.useEffect)((()=>{B.editor.setTheme("auto"===L?"dark"===_||"dark-v2"===_?"vs-dark":"vs":L)}),[_,L]),(0,p.useEffect)((()=>{if(T.current){var e=T.current.getModel();B.editor.setModelLanguage(e,N),(0,U.isEqual)(e.getValue(),y)||e.setValue(y)}}),[y,N]),(0,p.useEffect)((()=>{if("brick_next_yaml"===N){var e=((e,t)=>(n,r,i,a)=>{var s=n.getWordUntilPosition(r),{word:l,token:u}=((e,t)=>{var n,r=e.getWordUntilPosition(t),i=e.getValueInRange({startLineNumber:t.lineNumber,endLineNumber:t.lineNumber,startColumn:t.column-r.word.length-1,endColumn:t.column-r.word.length}),a=e.getWordAtPosition((0,h.Z)((0,h.Z)({},t),{},{column:t.column-(null==r||null===(n=r.word)||void 0===n?void 0:n.length)-1}));return{word:null==a?void 0:a.word,token:i}})(n,r),o=n.getValueInRange({startLineNumber:r.lineNumber,endLineNumber:r.lineNumber,startColumn:0,endColumn:1/0}),d={startLineNumber:r.lineNumber,endLineNumber:r.lineNumber,startColumn:s.startColumn,endColumn:s.endColumn},c=1===s.startColumn,{curLevelKeys:m}=re(n,s,n.getLineCount());if("<"===i.triggerCharacter)return"<"!==n.getValueInRange({startLineNumber:r.lineNumber,endLineNumber:r.lineNumber,startColumn:r.column-2,endColumn:r.column+2}).trim()?{suggestions:[]}:{suggestions:[{label:"<% %>",detail:"Evalute Body",kind:B.languages.CompletionItemKind.Value,insertText:"% ${0} %>",insertTextRules:B.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:d},{label:"<%= %>",detail:"Track Evalute Body",kind:B.languages.CompletionItemKind.Value,insertText:"%= ${0} %>",insertTextRules:B.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:d}]};if(c)return{suggestions:(null!=e?e:[]).filter((e=>!m.includes(e.label))).map((e=>(0,h.Z)((0,h.Z)({},e),{},{label:e.label,insertText:e.insertText||e.label,kind:B.languages.CompletionItemKind.Keyword,range:d})))};if(":"===i.triggerCharacter||"."===i.triggerCharacter&&l&&!["CTX","STATE","FN"].includes(l)){var g,v;if("action"===l&&":"===i.triggerCharacter)return{suggestions:null===(g=null!==(v=(0,U.get)(J,"definitions.BuiltinBrickEventHandler.properties.action.enum"))&&void 0!==v?v:[])||void 0===g?void 0:g.map((e=>({label:" ".concat(e),detail:"event action",kind:B.languages.CompletionItemKind.Keyword,insertText:" ".concat(e),range:d})))};var p,b,f=null==t?void 0:t[l],Z="";if(f&&!Array.isArray(f)?(p=f.completers,Z=f.triggerCharacter):p=f,Z?i.triggerCharacter===Z&&p:p)return{suggestions:(null!==(b=p)&&void 0!==b?b:[]).map((e=>{var t=":"===Z?" ".concat(e.label):e.label;return(0,h.Z)((0,h.Z)({},e),{},{label:t,kind:B.languages.CompletionItemKind.Value,insertText:e.insertText||t,range:d})}))}}if(((e,t)=>{var n=e.getWordUntilPosition(t),r=e.findPreviousMatch("<%",t,!1,!1,null,!1),i=e.findNextMatch("%>",t,!1,!1,null,!1);if((null==r?void 0:r.range.startLineNumber)&&(null==i?void 0:i.range.startLineNumber)&&r.range.startLineNumber<=t.lineNumber&&i.range.endLineNumber>=t.lineNumber){var{parentKey:a}=re(e,r.range,null==r?void 0:r.range.startLineNumber),{parentKey:s}=re(e,i.range,null==i?void 0:i.range.startLineNumber),{keyList:l}=re(e,n,t.lineNumber);if(a===s&&l.includes(a))return!0}return!1})(n,r)){var k,w,C,y;if(l&&["CTX","STATE"].includes(l)&&t)return{suggestions:(null!==(k=null===(w=t[l])||void 0===w?void 0:w.completers)&&void 0!==k?k:[]).map((e=>({label:e.label,insertText:e.label,kind:B.languages.CompletionItemKind.Value,range:d})))};if("FN"===l&&"."===i.triggerCharacter&&t)return{suggestions:(null!==(C=null===(y=t.FN)||void 0===y?void 0:y.completers)&&void 0!==C?C:[]).map((e=>({label:e.label,insertText:e.label,kind:B.languages.CompletionItemKind.Value,range:d})))};if("APP"===l&&"."===i.triggerCharacter){var N=(0,U.get)(J,"definitions.MicroApp.properties"),L=[];for(var[M,E]of Object.entries(N))L.push({label:M,kind:B.languages.CompletionItemKind.Value,documentation:E.description,detail:E.enum?E.enum.join("|"):E.type,insertText:M,range:d});return{suggestions:L}}return[".",":"].includes(u)?{suggestions:[]}:{suggestions:ee.map((e=>({label:e,insertText:e,kind:B.languages.CompletionItemKind.Keyword,range:d})))}}return/^[\s|-]*\w$/.test(o)?{suggestions:te.map((e=>({label:e,insertText:e,kind:B.languages.CompletionItemKind.Keyword,range:d}))).filter((e=>!m.includes(e.label)))}:{suggestions:[]}})(u,o),t=B.languages.registerCompletionItemProvider("brick_next_yaml",{provideCompletionItems:e,triggerCharacters:[".",":","<"]});return()=>{t.dispose()}}}),[u,o,N]);var K=(0,p.useCallback)((()=>{var e=new class{constructor(){(0,d.Z)(this,j,{writable:!0,value:void 0}),(0,d.Z)(this,$,{writable:!0,value:void 0}),(0,d.Z)(this,G,{writable:!0,value:void 0}),(0,D.Z)(this,"getTokens",(()=>(0,g.Z)(this,j))),(0,m.Z)(this,j,[]),(0,m.Z)(this,$,0),(0,m.Z)(this,G,"")}handleState(e,t){if("close"===e){var{line:n,position:r,lineStart:i,result:a}=t,s=t.input.substring(i,r);if(s.trim()===(0,g.Z)(this,G).trim())return;(0,m.Z)(this,G,s);var l=n+1,u=n+1,o=r-i-a.length,h=r-i-t.lineIndent;if("string"==typeof a&&/^\s*<%[~=]?\s/.test(a)&&/\s%>\s*$/.test(a)){var d,c=a,v=null===(d=a.match(/\n/g))||void 0===d?void 0:d.length;if(v){for(var p=(0,g.Z)(this,$),b=(0,g.Z)(this,$);b<t.input.length;b++)if("\n"===t.input[b]){p=b+1;break}var f=/(\|-|>-)/.test(t.input.substring((0,g.Z)(this,$),r-1));c=t.input.substring(p,r-1),l=t.line-v+1-Number(f),u=n,o=0,h=0}var Z={source:c,startLineNumber:l,endLineNumber:u,startColumn:o,endColumn:h,isString:['"',"'"].includes(t.input[i+o-2])};!(0,g.Z)(this,j).find((e=>(0,U.isEqual)(e,Z)))&&(0,g.Z)(this,j).push(Z)}(0,m.Z)(this,$,r)}}listen(){return this.handleState.bind(this)}},t=void 0;if(T.current){var n=T.current.getModel();try{if(t=q().load(y,{listener:e.listen()}),(f||c)&&T.current){var r,i=[];if(e.getTokens().forEach((e=>{var{startLineNumber:t,endLineNumber:n,startColumn:r}=e,a=[],s=(0,dt.preevaluate)(e.source,{hooks:{beforeVisit(e){"MemberExpression"===e.type&&"Identifier"===e.object.type&&ee.includes(e.object.name)&&"Identifier"===e.property.type&&a.push(e)}}});a.forEach((a=>{var{start:l,end:u,loc:o}=a;if(e.startLineNumber!==e.endLineNumber){var h,d,c,m,g,v=/<%[ ]+/.test(s.prefix);i.push({token:null===(h=a.object)||void 0===h?void 0:h.name,property:a.property.name,startLineNumber:e.startLineNumber+(null==o||null===(d=o.start)||void 0===d?void 0:d.line)-Number(v),endLineNumber:e.startLineNumber+(null==o||null===(c=o.end)||void 0===c?void 0:c.line)-Number(v),startColumn:(v&&1===(null==o?void 0:o.start.line)?s.prefix.length:0)+(null==o||null===(m=o.start)||void 0===m?void 0:m.column)+1,endColumn:(v&&1===(null==o?void 0:o.start.line)?s.prefix.length:0)+(null==o||null===(g=o.end)||void 0===g?void 0:g.column)+1})}else{var p,b,f;i.push({token:null===(p=a.object)||void 0===p?void 0:p.name,property:a.property.name,startLineNumber:t,endLineNumber:n,startColumn:r+l+(null===(b=s.prefix)||void 0===b?void 0:b.length)+Number(!e.isString),endColumn:r+u+(null===(f=s.prefix)||void 0===f?void 0:f.length)+Number(!e.isString)})}}))})),null===(r=R.current)||void 0===r||r.set(i.filter((e=>null==f?void 0:f.includes(e.token))).map((e=>({range:new B.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),options:{inlineClassName:"highlight"}})))),c){var a=i.map((e=>{var t,n,r=c.find((t=>t.token===e.token));return null==r||!r.params||(null===(t=r.params)||void 0===t?void 0:t.includes(e.property))?r&&r.message?(0,h.Z)((0,h.Z)({severity:ne[null!==(n=null==r?void 0:r.level)&&void 0!==n?n:"warn"],message:r.message},r.code?{code:{value:r.code.value,target:B.Uri.parse(r.code.target)}}:{}),{},{startLineNumber:e.startLineNumber,endLineNumber:e.endLineNumber,startColumn:e.startColumn,endColumn:e.endColumn}):void 0:{severity:ne.warn,message:"Miss Property",startLineNumber:e.startLineNumber,endLineNumber:e.endLineNumber,startColumn:e.startColumn,endColumn:e.endColumn}})).filter(Boolean);B.editor.setModelMarkers(n,"brick_next_yaml",a)}}}catch(e){var s;B.editor.setModelMarkers(n,"brick_next_yaml",[]),null==R||null===(s=R.current)||void 0===s||s.set([])}}return t}),[y,f,c]);return(0,p.useLayoutEffect)((()=>{var e;if("fit-content"===P.current&&x.current){W.current.width=x.current.getBoundingClientRect().width,null===(e=T.current)||void 0===e||e.layout(W.current);var t=new ResizeObserver((e=>{for(var t of e)if(t.target===x.current){var n,r=t.contentBoxSize?t.contentBoxSize[0].inlineSize:t.contentRect.width;r!==W.current.width&&(W.current.width=r,null===(n=T.current)||void 0===n||n.layout(W.current));break}}));return t.observe(x.current),()=>{t.disconnect()}}}),[]),(0,p.useLayoutEffect)((()=>{if("fit-container"===P.current){var e=function(e){for(var t=e;t;){var n="vs.code-editor"===t.tagName.toLowerCase();if(t=t.parentElement,n)return t}}(x.current);if(e){var t=new ResizeObserver((()=>{A(e.offsetHeight)}));return t.observe(e),()=>{t.disconnect()}}}}),[]),(0,p.useEffect)((()=>{"fit-container"!==P.current&&"fit-content"!==P.current&&A(S)}),[S]),(0,p.useEffect)((()=>{T.current&&T.current.updateOptions({readOnly:v})}),[v]),(0,p.useEffect)((()=>{if(!T.current&&x.current){var e=B.editor.createModel(y,N);T.current=B.editor.create(x.current,{model:e,minimap:{enabled:!1},scrollBeyondLastLine:!1,tabSize:2,insertSpaces:!0,automaticLayout:"fit-content"!==P.current,fontSize:12,lineHeight:X,scrollbar:{horizontalScrollbarSize:Y,verticalScrollbarSize:Y,horizontalSliderSize:8,verticalSliderSize:8,alwaysConsumeMouseWheel:!1},padding:{top:Q,bottom:"fit-content"==P.current?void 0:Q},overviewRulerBorder:!1,mouseWheelScrollSensitivity:.5,suggest:{insertMode:"insert",preview:!0},readOnly:v,quickSuggestions:{strings:!0,other:!0,comments:!0}}),R.current=T.current.createDecorationsCollection()}}),[y,N,v]),(0,p.useEffect)((()=>{var e=T.current;if("brick_next_yaml"===N&&e){var t=e.getModel(),n=e.onMouseDown((function(e){var n,r,i=R.current;(null!==(n=null==i||null===(r=i.getRanges)||void 0===r?void 0:r.call(i))&&void 0!==n?n:[]).forEach((n=>{var r=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";n&&e.target.position&&e.event[r]&&n.containsPosition(e.target.position)&&C(t.getValueInRange(n))}))})),r=e.onMouseMove((function(e){var t=R.current;t&&t.getRanges().forEach((n=>{var r=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";if(n&&e.target.position&&e.event[r]&&n.containsPosition(e.target.position)){var i=t.getRanges().map((e=>({range:e,options:{inlineClassName:n.equalsRange(e)?"highlight pointer":"highlight"}})));t.set(i)}else if(!e.event[r]){var a=t.getRanges().map((e=>({range:e,options:{inlineClassName:"highlight"}})));t.set(a)}}))}));return K(),()=>{null==r||r.dispose(),null==n||n.dispose()}}}),[N,C,_,L,K]),(0,p.useEffect)((()=>{var e=T.current;if(e&&x.current&&"fit-content"===P.current){var t=e.onDidContentSizeChange((t=>{if(t.contentHeightChanged){var n=Xt(t.contentHeight,M,E);n!==W.current.height&&(W.current.height=n,e.layout(W.current))}})),n=Xt(e.getContentHeight(),M,E);return n!==W.current.height&&(W.current.height=n,e.layout(W.current)),()=>{t.dispose()}}}),[E,M]),(0,p.useEffect)((()=>{if(T.current){var e=T.current.getModel(),t=e.onDidChangeContent((t=>{var n=K();w(e.getValue(),n,t.isFlush)}));return()=>{t.dispose()}}}),[w,K]),(0,p.useEffect)((()=>()=>{var e,t;null===(e=T.current)||void 0===e||null===(e=e.getModel())||void 0===e||e.dispose(),null===(t=T.current)||void 0===t||t.dispose()}),[]),b().createElement("div",{ref:x,style:(0,h.Z)({height:I},"error"===Z?{outline:"1px solid var(--antd-error-color)"}:{})})}function Gt(e,t,n){return Yt(Math.min(n,Math.max(t,e.split("\n").length)))}function Xt(e,t,n){var r=e;return(e-Q)%X==0&&(r=e+Y),Math.min(Yt(n),Math.max(r,Yt(t)))}function Yt(e){return e*X+Y+Q}({e:[we,ye,Le,Ee,xe,Te,Ie,Pe,Ke,Oe,Ve,He,De,je,Ge,Ye,Je,et,tt,rt,it,at,lt,ut,ot,ht],c:[ct,fe]}=(0,v.Z)(class extends T{constructor(){super(...arguments),(0,d.Z)(this,Ot,{get:jt,set:Ut}),(0,d.Z)(this,_t,{get:Dt,set:qt}),(0,d.Z)(this,At,{get:Ht,set:Ft}),(0,d.Z)(this,bt,{writable:!0,value:(ht(this),we(this))}),(0,d.Z)(this,ft,{writable:!0,value:ye(this)}),(0,d.Z)(this,Zt,{writable:!0,value:Le(this)}),(0,d.Z)(this,kt,{writable:!0,value:Ee(this)}),(0,d.Z)(this,wt,{writable:!0,value:xe(this)}),(0,d.Z)(this,Ct,{writable:!0,value:Te(this)}),(0,d.Z)(this,yt,{writable:!0,value:Ie(this)}),(0,d.Z)(this,Nt,{writable:!0,value:Pe(this)}),(0,d.Z)(this,Lt,{writable:!0,value:Ke(this)}),(0,d.Z)(this,Mt,{writable:!0,value:Oe(this)}),(0,d.Z)(this,Et,{writable:!0,value:Ve(this)}),(0,d.Z)(this,St,{writable:!0,value:He(this)}),(0,d.Z)(this,xt,{writable:!0,value:De(this)}),(0,d.Z)(this,Rt,{writable:!0,value:je(this)}),(0,d.Z)(this,Tt,{writable:!0,value:Ge(this)}),(0,d.Z)(this,Wt,{writable:!0,value:Ye(this)}),(0,d.Z)(this,It,{writable:!0,value:Je(this)}),(0,d.Z)(this,Pt,{writable:!0,value:rt(this)}),(0,d.Z)(this,Kt,{writable:!0,value:(e,t,n)=>{var r;null===(r=this.getFormElement())||void 0===r||r.formStore.onChange(this.name,e),(0,g.Z)(this,At).emit(t),n||(0,g.Z)(this,_t).emit(t)}}),(0,d.Z)(this,Bt,{writable:!0,value:lt(this)}),(0,d.Z)(this,zt,{writable:!0,value:e=>{(0,g.Z)(this,Ot).emit(e)}}),(0,d.Z)(this,Vt,{writable:!0,value:e=>{try{q().load(e)}catch(e){return"请填写正确的格式"}return""}})}get name(){return(0,g.Z)(this,bt)}set name(e){(0,m.Z)(this,bt,e)}get label(){return(0,g.Z)(this,ft)}set label(e){(0,m.Z)(this,ft,e)}get value(){return(0,g.Z)(this,Zt)}set value(e){(0,m.Z)(this,Zt,e)}get language(){return(0,g.Z)(this,kt)}set language(e){(0,m.Z)(this,kt,e)}get theme(){return(0,g.Z)(this,wt)}set theme(e){(0,m.Z)(this,wt,e)}get required(){return(0,g.Z)(this,Ct)}set required(e){(0,m.Z)(this,Ct,e)}get readOnly(){return(0,g.Z)(this,yt)}set readOnly(e){(0,m.Z)(this,yt,e)}get automaticLayout(){return(0,g.Z)(this,Nt)}set automaticLayout(e){(0,m.Z)(this,Nt,e)}get minLines(){return(0,g.Z)(this,Lt)}set minLines(e){(0,m.Z)(this,Lt,e)}get completers(){return(0,g.Z)(this,Mt)}set completers(e){(0,m.Z)(this,Mt,e)}get advancedCompleters(){return(0,g.Z)(this,Et)}set advancedCompleters(e){(0,m.Z)(this,Et,e)}get markers(){return(0,g.Z)(this,St)}set markers(e){(0,m.Z)(this,St,e)}get links(){return(0,g.Z)(this,xt)}set links(e){(0,m.Z)(this,xt,e)}get maxLines(){return(0,g.Z)(this,Rt)}set maxLines(e){(0,m.Z)(this,Rt,e)}get height(){return(0,g.Z)(this,Tt)}set height(e){(0,m.Z)(this,Tt,e)}get message(){return(0,g.Z)(this,Wt)}set message(e){(0,m.Z)(this,Wt,e)}connectedCallback(){this.style.display||(this.style.display="block"),super.connectedCallback()}render(){return b().createElement(pt,{curElement:this,formElement:this.getFormElement(),name:this.name,label:this.label,required:this.required,validator:(0,g.Z)(this,Vt)},b().createElement($t,{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,markers:this.markers,links:this.links,validateState:this.validateState,onChange:(0,g.Z)(this,Kt),onHighlightClick:(0,g.Z)(this,zt)}))}},[[ke,1,"name"],[Ce,1,"label"],[Ne,1,"value"],[Me,1,"language"],[Se,1,"theme"],[Re,1,"required"],[We,1,"readOnly"],[Ae,1,"automaticLayout"],[_e,1,"minLines"],[Be,1,"completers"],[ze,1,"advancedCompleters"],[Fe,1,"markers"],[qe,1,"links"],[Ue,1,"maxLines"],[$e,1,"height"],[Xe,1,"message"],[Qe,1,"codeChange",e=>(0,g.Z)(e,It),(e,t)=>(0,m.Z)(e,It,t)],[nt,1,"userInput",e=>(0,g.Z)(e,Pt),(e,t)=>(0,m.Z)(e,Pt,t)],[st,1,"highlighClickEvent",e=>(0,g.Z)(e,Bt),(e,t)=>(0,m.Z)(e,Bt,t)]],[Ze],0,(e=>Vt.has((0,c.Z)(e))))),fe()},76126:(e,t,n)=>{n.d(t,{Z:()=>l});var r=n(39601),i=n.n(r),a=n(82609),s=n.n(a)()(i());s.push([e.id,".highlight{color:rgb(74 170 189)!important;text-decoration:underline;font-weight:bold;font-style:oblique}.pointer{cursor:pointer}",""]);const l=s}}]);
2
+ //# sourceMappingURL=2383.6c45d9d3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/2383.c3bdd910.js","mappings":"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","sources":["webpack:///../../src/FormItemElement.tsx","webpack:///./src/code-editor/utils/brickNextSourceMap.ts","webpack:///./src/code-editor/constants.ts","webpack:///./src/code-editor/utils/constants.ts","webpack:///./src/code-editor/utils/brickNextYaml.ts","webpack:///./src/code-editor/index.css?aefa","webpack:///./src/code-editor/index.tsx","webpack:///./src/code-editor/index.css"],"sourcesContent":["import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm } 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 @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","import type { State } from \"js-yaml\";\nimport { isEqual } from \"lodash\";\n\nexport interface Token {\n startLineNumber: number;\n endLineNumber: number;\n startColumn: number;\n endColumn: number;\n source: string;\n isString?: boolean;\n}\n\nclass BrickNextYamlSourceMap {\n #recordsToken: Token[];\n #prefixPosition: number;\n #recordLastWord: string;\n\n constructor() {\n this.#recordsToken = [];\n this.#prefixPosition = 0;\n this.#recordLastWord = \"\";\n }\n\n private handleState(event: \"open\" | \"close\", state: State): void {\n if (event === \"close\") {\n const { line, position, lineStart, result } = state;\n const curWord = state.input.substring(lineStart, position);\n if (curWord.trim() === this.#recordLastWord.trim()) return;\n this.#recordLastWord = curWord;\n let startLineNumber = line + 1;\n let endLineNumber = line + 1;\n let startColumn = position - lineStart - result.length;\n let endColumn = position - lineStart - state.lineIndent;\n if (\n typeof result === \"string\" &&\n /^\\s*<%[~=]?\\s/.test(result) &&\n /\\s%>\\s*$/.test(result)\n ) {\n let source = result;\n const wrapLength = result.match(/\\n/g)?.length;\n if (wrapLength) {\n let nearWrapIndex = this.#prefixPosition;\n for (let i = this.#prefixPosition; i < state.input.length; i++) {\n if (state.input[i] === \"\\n\") {\n nearWrapIndex = i + 1;\n break;\n }\n }\n const specilStringPrefix = /(\\|-|>-)/.test(\n state.input.substring(this.#prefixPosition, position - 1)\n );\n source = state.input.substring(nearWrapIndex, position - 1);\n startLineNumber =\n state.line - wrapLength + 1 - Number(specilStringPrefix);\n endLineNumber = line;\n startColumn = 0;\n endColumn = 0;\n }\n const token = {\n source,\n startLineNumber,\n endLineNumber,\n startColumn,\n endColumn,\n isString: ['\"', \"'\"].includes(\n state.input[lineStart + startColumn - 2]\n ),\n };\n !this.#recordsToken.find((item) => isEqual(item, token)) &&\n this.#recordsToken.push(token);\n }\n this.#prefixPosition = position;\n }\n }\n\n public listen() {\n return this.handleState.bind(this);\n }\n\n public getTokens = () => {\n return this.#recordsToken;\n };\n}\n\nexport default BrickNextYamlSourceMap;\n","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 const EVALUATE_KEYWORD = [\n \"CTX\",\n \"STATE\",\n \"DATA\",\n \"EVENT\",\n \"FLAGS\",\n \"APP\",\n \"ANCHOR\",\n \"HASH\",\n \"INSTALLED_APPS\",\n \"ITEM\",\n \"LOCAL_STORAGE\",\n \"MEDIA\",\n \"MISC\",\n \"PARAMS\",\n \"PATH\",\n \"PROCESSORS\",\n \"QUERY\",\n \"QUERY_ARRAY\",\n \"SESSION_STORAGE\",\n \"TPL\",\n \"SYS\",\n \"BASE_URL\",\n \"IMG\",\n \"FN\",\n \"I18N\",\n \"I18N_TEXT\",\n \"PERMISSIONS\",\n \"THEME\",\n];\n\nexport const brickNextKeywords = [\n \"target\",\n \"targetRef\",\n \"properties\",\n \"events\",\n \"method\",\n \"callback\",\n \"success\",\n \"error\",\n \"action\",\n \"useProvider\",\n \"useChildren\",\n \"useBrick\",\n \"args\",\n \"if\",\n \"then\",\n];\n\nexport const Level = {\n hit: 1,\n info: 2,\n warn: 4,\n error: 8,\n};\n","import * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport storyboardJsonSchema from \"@next-core/types/storyboard.json\";\nimport { EVALUATE_KEYWORD, brickNextKeywords, Level } from \"./constants.js\";\nimport { get } from \"lodash\";\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): {\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 return {\n word: prefixWord?.word,\n token: prefixToken,\n };\n};\n\nexport const isInEvaluateBody = (\n model: monaco.editor.ITextModel,\n position: monaco.Position\n): boolean => {\n const word = model.getWordUntilPosition(position);\n const prefixEvaluateOperator = model.findPreviousMatch(\n \"<%\",\n position,\n false,\n false,\n null,\n false\n );\n const suffixEvaluateOperator = model.findNextMatch(\n \"%>\",\n position,\n false,\n false,\n null,\n false\n );\n const isInEvaluateBody =\n prefixEvaluateOperator?.range.startLineNumber &&\n suffixEvaluateOperator?.range.startLineNumber &&\n prefixEvaluateOperator.range.startLineNumber <= position.lineNumber &&\n suffixEvaluateOperator.range.endLineNumber >= position.lineNumber;\n\n if (isInEvaluateBody) {\n const { parentKey: prefixParentKey } = findKeys(\n model,\n prefixEvaluateOperator.range,\n prefixEvaluateOperator?.range.startLineNumber\n );\n const { parentKey: suffixParentKey } = findKeys(\n model,\n suffixEvaluateOperator.range,\n suffixEvaluateOperator?.range.startLineNumber\n );\n const { keyList } = findKeys(model, word, position.lineNumber);\n if (\n prefixParentKey === suffixParentKey &&\n keyList.includes(prefixParentKey)\n ) {\n return true;\n }\n }\n return false;\n};\n\nexport const brickNextYAMLProvideCompletionItems = (\n completers?: monaco.languages.CompletionItem[],\n advancedCompleters?: Record<\n string,\n { triggerCharacter: string; completers: monaco.languages.CompletionItem[] }\n >\n) => {\n return (\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n context: monaco.languages.CompletionContext,\n _token: monaco.CancellationToken\n ): monaco.languages.ProviderResult<monaco.languages.CompletionList> => {\n const word = model.getWordUntilPosition(position);\n const { word: prefixWord, token: prefixToken } = getPrefixWord(\n model,\n position\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\"].includes(prefixWord))\n ) {\n if (prefixWord === \"action\" && context.triggerCharacter === \":\") {\n const actions = get(\n storyboardJsonSchema,\n \"definitions.BuiltinBrickEventHandler.properties.action.enum\"\n );\n return {\n suggestions: ((actions as unknown as string[]) ?? [])?.map(\n (item) => ({\n label: ` ${item}`,\n detail: \"event action\",\n kind: monaco.languages.CompletionItemKind.Keyword,\n insertText: ` ${item}`,\n range,\n })\n ),\n };\n }\n const matchCompletion = advancedCompleters?.[prefixWord as string];\n let matchTriggerCharacter = \"\";\n let list: monaco.languages.CompletionItem[] | undefined;\n if (matchCompletion && !Array.isArray(matchCompletion)) {\n list = matchCompletion.completers;\n matchTriggerCharacter = matchCompletion.triggerCharacter;\n } else {\n list = matchCompletion;\n }\n if (\n matchTriggerCharacter\n ? context.triggerCharacter === matchTriggerCharacter && list\n : list\n ) {\n return {\n suggestions: (list ?? []).map((item) => {\n const label =\n matchTriggerCharacter === \":\"\n ? ` ${item.label}`\n : (item.label as string);\n return {\n ...item,\n label: label,\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: item.insertText || label,\n range,\n };\n }),\n };\n }\n }\n\n if (isInEvaluateBody(model, position)) {\n if (\n prefixWord &&\n [\"CTX\", \"STATE\"].includes(prefixWord) &&\n advancedCompleters\n ) {\n return {\n suggestions: (advancedCompleters[prefixWord]?.completers ?? []).map(\n (item) => ({\n label: item.label,\n insertText: item.label as string,\n kind: monaco.languages.CompletionItemKind.Value,\n range,\n })\n ),\n };\n }\n\n if (\n prefixWord === \"FN\" &&\n context.triggerCharacter === \".\" &&\n advancedCompleters\n ) {\n return {\n suggestions: (advancedCompleters[\"FN\"]?.completers ?? []).map(\n (item) => ({\n label: item.label,\n insertText: item.label as string,\n kind: monaco.languages.CompletionItemKind.Value,\n range,\n })\n ),\n };\n }\n\n if (prefixWord === \"APP\" && context.triggerCharacter === \".\") {\n const appProperties = get(\n storyboardJsonSchema,\n \"definitions.MicroApp.properties\"\n );\n const suggestions = [];\n for (const [k, v] of Object.entries(\n appProperties as unknown as Record<\n string,\n {\n description: string;\n type: string;\n enum: string[];\n }\n >\n )) {\n suggestions.push({\n label: k,\n kind: monaco.languages.CompletionItemKind.Value,\n documentation: v.description,\n detail: v.enum ? v.enum.join(\"|\") : v.type,\n insertText: k,\n range,\n });\n }\n return {\n suggestions,\n };\n }\n\n if ([\".\", \":\"].includes(prefixToken)) {\n return {\n suggestions: [],\n };\n }\n\n return {\n suggestions: EVALUATE_KEYWORD.map((item) => ({\n label: item,\n insertText: item,\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n })),\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","\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;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./index.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\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 BrickNextYamlSourceMap, { Token } from \"./utils/brickNextSourceMap.js\";\nimport \"@next-core/theme\";\nimport { isEqual } from \"lodash\";\nimport {\n EDITOR_SCROLLBAR_SIZE,\n EDITOR_PADDING_VERTICAL,\n EDITOR_LINE_HEIGHT,\n EDITOR_FONT_SIZE,\n} from \"./constants.js\";\nimport { brickNextYAMLProvideCompletionItems } from \"./utils/brickNextYaml.js\";\nimport \"./index.css\";\nimport { EVALUATE_KEYWORD, Level } from \"./utils/constants.js\";\nimport type { MemberExpression, Identifier } from \"@babel/types\";\nimport { preevaluate } from \"@next-core/cook\";\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\");\n\nexport interface CodeEditorProps {\n name?: string;\n label?: string;\n value?: string;\n language?: string;\n theme?: string;\n required?: boolean;\n readOnly?: boolean;\n automaticLayout?: \"fit-container\" | \"fit-content\" | \"none\";\n minLines?: number;\n maxLines?: number;\n height?: string | number;\n completers?: monaco.languages.CompletionItem[];\n advancedCompleters?: Record<\n string,\n { triggerCharacter: string; completers: monaco.languages.CompletionItem[] }\n >;\n markers?: Marker[];\n links?: string[];\n validateState?: string;\n}\n\nexport interface Marker {\n token: string;\n level: keyof typeof Level;\n message: string;\n code?: {\n value: string;\n target: string;\n };\n params?: string[];\n}\n\n/**\n * 构件 code-editor\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({ attribute: false })\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:\n | Record<\n string,\n {\n triggerCharacter: string;\n completers: monaco.languages.CompletionItem[];\n }\n >\n | 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 @event({ type: \"code.change\" })\n accessor #codeChange!: EventEmitter<string>;\n\n @event({ type: \"user.input\" })\n accessor #userInput!: EventEmitter<string>;\n\n #handleChange = (value: string, parseValue: any, isFlush: boolean) => {\n this.getFormElement()?.formStore.onChange(this.name!, value);\n this.#codeChange.emit(parseValue);\n if (!isFlush) {\n this.#userInput.emit(parseValue);\n }\n };\n\n @event({ type: \"token.click\" })\n accessor #highlighClickEvent!: EventEmitter<string>;\n\n #handleHighlightClick = (word: string) => {\n this.#highlighClickEvent.emit(word);\n };\n\n #handleValidtor = (value: string) => {\n try {\n yaml.load(value);\n } catch {\n return \"请填写正确的格式\";\n }\n return \"\";\n };\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <WrappedFormItem\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n validator={this.#handleValidtor}\n >\n <CodeEditorComponent\n value={this.value}\n language={this.language}\n readOnly={this.readOnly}\n theme={this.theme}\n automaticLayout={this.automaticLayout}\n minLines={this.minLines}\n maxLines={this.maxLines}\n height={this.height}\n completers={this.completers}\n advancedCompleters={this.advancedCompleters}\n markers={this.markers}\n links={this.links}\n validateState={this.validateState}\n onChange={this.#handleChange}\n onHighlightClick={this.#handleHighlightClick}\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 validateState,\n onChange,\n onHighlightClick,\n}: CodeEditorProps & {\n onChange(value: string, parseValue: any, isFlush: boolean): void;\n onHighlightClick(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\n const containerRef = useRef<HTMLDivElement>(null);\n const decorationsCollection =\n useRef<monaco.editor.IEditorDecorationsCollection>();\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n const size = useRef<monaco.editor.IDimension>({\n width: 300,\n height: getContentHeightByCode(value, minLines, maxLines),\n });\n const [actualHeight, setActualHeight] = useState<string | number>();\n // `automaticLayout` should never change\n const automaticLayoutRef = useRef(automaticLayout);\n const systemTheme = useCurrentTheme();\n\n useEffect(() => {\n // Currently theme is configured globally.\n // See https://github.com/microsoft/monaco-editor/issues/338\n monaco.editor.setTheme(\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme\n );\n }, [systemTheme, theme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n if (!isEqual(currentModel.getValue(), value)) {\n currentModel.setValue(value);\n }\n }\n }, [value, language]);\n\n useEffect(() => {\n if (language === \"brick_next_yaml\") {\n const provideCompletionItems = brickNextYAMLProvideCompletionItems(\n completers,\n advancedCompleters\n );\n const monacoProviderRef = monaco.languages.registerCompletionItemProvider(\n \"brick_next_yaml\",\n {\n provideCompletionItems,\n triggerCharacters: [\".\", \":\", \"<\"],\n }\n );\n return () => {\n monacoProviderRef.dispose();\n };\n }\n }, [completers, advancedCompleters, language]);\n\n const parseYaml = useCallback(() => {\n const map = new BrickNextYamlSourceMap();\n let parseValue = undefined;\n if (editorRef.current) {\n const model = editorRef.current.getModel()!;\n\n try {\n parseValue = yaml.load(value, {\n listener: map.listen(),\n });\n\n if ((links || markers) && editorRef.current) {\n const tokens: Omit<\n Token & { token: string; property: string },\n \"source\"\n >[] = [];\n map.getTokens().forEach((item) => {\n const { startLineNumber, endLineNumber, startColumn } = item;\n const globalNodes: MemberExpression[] = [];\n const result = preevaluate(item.source, {\n hooks: {\n beforeVisit(node) {\n if (\n node.type === \"MemberExpression\" &&\n node.object.type === \"Identifier\" &&\n EVALUATE_KEYWORD.includes(node.object.name) &&\n node.property.type === \"Identifier\"\n ) {\n globalNodes.push(node);\n }\n },\n },\n });\n\n globalNodes.forEach((node) => {\n const { start, end, loc } = node;\n if (item.startLineNumber !== item.endLineNumber) {\n const hadWrap = /<%[ ]+/.test(result.prefix);\n tokens.push({\n token: (node.object as Identifier)?.name,\n property: (node.property as Identifier).name,\n startLineNumber:\n item.startLineNumber +\n (loc?.start?.line as number) -\n Number(hadWrap),\n endLineNumber:\n item.startLineNumber +\n (loc?.end?.line as number) -\n Number(hadWrap),\n startColumn:\n (hadWrap && loc?.start.line === 1\n ? result.prefix.length\n : 0) +\n (loc?.start?.column as number) +\n 1,\n endColumn:\n (hadWrap && loc?.start.line === 1\n ? result.prefix.length\n : 0) +\n (loc?.end?.column as number) +\n 1,\n });\n } else {\n tokens.push({\n token: (node.object as Identifier)?.name,\n property: (node.property as Identifier).name,\n startLineNumber,\n endLineNumber,\n startColumn:\n startColumn +\n (start as number) +\n result.prefix?.length +\n Number(!item.isString),\n endColumn:\n startColumn +\n (end as number) +\n result.prefix?.length +\n Number(!item.isString),\n });\n }\n });\n });\n\n decorationsCollection.current?.set(\n tokens\n .filter((token) => links?.includes(token.token))\n .map((token) => ({\n range: new monaco.Range(\n token.startLineNumber,\n token.startColumn,\n token.endLineNumber,\n token.endColumn\n ),\n options: {\n inlineClassName: \"highlight\",\n },\n }))\n );\n\n if (markers) {\n const modelMarkers = tokens\n .map((token) => {\n const matchTokenConf = markers.find(\n (item) => item.token === token.token\n );\n const hadProperty = matchTokenConf?.params\n ? matchTokenConf.params?.includes(token.property)\n : true;\n if (!hadProperty) {\n return {\n severity: Level.warn,\n message: \"Miss Property\",\n startLineNumber: token.startLineNumber,\n endLineNumber: token.endLineNumber,\n startColumn: token.startColumn,\n endColumn: token.endColumn,\n };\n }\n if (matchTokenConf && matchTokenConf.message) {\n return {\n severity: Level[matchTokenConf?.level ?? \"warn\"],\n message: matchTokenConf.message,\n ...(matchTokenConf.code\n ? {\n code: {\n value: matchTokenConf.code.value,\n target: monaco.Uri.parse(\n matchTokenConf.code.target\n ),\n },\n }\n : {}),\n startLineNumber: token.startLineNumber,\n endLineNumber: token.endLineNumber,\n startColumn: token.startColumn,\n endColumn: token.endColumn,\n };\n }\n })\n .filter(Boolean) as monaco.editor.IMarkerData[];\n\n monaco.editor.setModelMarkers(\n model,\n \"brick_next_yaml\",\n modelMarkers\n );\n }\n }\n } catch (e) {\n monaco.editor.setModelMarkers(model, \"brick_next_yaml\", []);\n decorationsCollection?.current?.set([]);\n }\n }\n return parseValue;\n }, [value, links, markers]);\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 if (newWidth !== size.current.width) {\n size.current.width = newWidth;\n editorRef.current?.layout(size.current);\n }\n break;\n }\n }\n });\n observer.observe(containerRef.current);\n\n return () => {\n observer.disconnect();\n };\n }, []);\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 editorRef.current = monaco.editor.create(containerRef.current, {\n model,\n minimap: {\n enabled: false,\n },\n scrollBeyondLastLine: false,\n tabSize: 2,\n insertSpaces: true,\n automaticLayout: automaticLayoutRef.current !== \"fit-content\",\n fontSize: EDITOR_FONT_SIZE,\n lineHeight: EDITOR_LINE_HEIGHT,\n scrollbar: {\n horizontalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n verticalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n horizontalSliderSize: 8,\n verticalSliderSize: 8,\n alwaysConsumeMouseWheel: false,\n },\n padding: {\n top: EDITOR_PADDING_VERTICAL,\n // When use `fit-content`, we always plus the height with the vertical padding.\n // Thus the possible x-scrollbar will not take extra space at the bottom.\n bottom:\n automaticLayoutRef.current == \"fit-content\"\n ? undefined\n : EDITOR_PADDING_VERTICAL,\n },\n overviewRulerBorder: false,\n mouseWheelScrollSensitivity: 0.5,\n suggest: {\n insertMode: \"insert\",\n preview: true,\n },\n readOnly: readOnly,\n quickSuggestions: { strings: true, other: true, comments: true },\n });\n\n decorationsCollection.current =\n editorRef.current.createDecorationsCollection();\n }, [value, language, readOnly]);\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 onHighlightClick(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 parseYaml();\n\n return () => {\n mouseOverEvent?.dispose();\n editorMouseDownEvent?.dispose();\n };\n }\n }, [language, onHighlightClick, systemTheme, theme, parseYaml]);\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 (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]);\n\n useEffect(() => {\n if (!editorRef.current) {\n return;\n }\n const currentModel = editorRef.current.getModel()!;\n const listener = currentModel.onDidChangeContent((e) => {\n const parseValue = parseYaml();\n onChange(currentModel.getValue(), parseValue, e.isFlush);\n });\n return () => {\n listener.dispose();\n };\n }, [onChange, parseYaml]);\n\n useEffect(() => {\n return () => {\n editorRef.current?.getModel()?.dispose();\n editorRef.current?.dispose();\n };\n }, []);\n\n return (\n <div\n ref={containerRef}\n style={{\n height: actualHeight,\n ...(validateState === \"error\"\n ? {\n outline: \"1px solid var(--antd-error-color)\",\n }\n : {}),\n }}\n />\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","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.highlight{color:rgb(74 170 189)!important;text-decoration:underline;font-weight:bold;font-style:oblique}.pointer{cursor:pointer}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["method","property","createDecorators","_dec","attribute","_dec2","_dec3","_dec4","_A","WeakMap","_notRender","_B","_validate","_C","_bindFormItem","_D","_E","FormItemElementBase","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","get","_get_bindFormItem","set","_set_bindFormItem","_get_validate","_set_validate","_get__notRender","_set__notRender","writable","value","_initProto","_init_helpBrick","_init_labelBrick","isFormItemElement","validateState","_classPrivateFieldSet","this","_render","_classPrivateFieldGet","notRender","hidden","$bindFormItem","helpBrick","v","labelBrick","setNotRender","getFormElement","element","parentNode","isFormElement","_applyDecs","e","_recordsToken","_prefixPosition","_recordLastWord","EDITOR_LINE_HEIGHT","EDITOR_SCROLLBAR_SIZE","EDITOR_PADDING_VERTICAL","EVALUATE_KEYWORD","brickNextKeywords","Level","hit","info","warn","error","findKeys","model","range","line","curLevelKeys","keyList","parentKey","i","startColumn","matchWord","getValueInRange","startLineNumber","endLineNumber","endColumn","Infinity","match","_","wordspace","key","length","unshift","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","registerJavaScript","monaco","registerTypeScript","registerYaml","registerHtml","_CodeEditor","defineElement","event","WrappedFormItem","wrapBrick","shadowOptions","_dec5","_dec6","_dec7","type","Boolean","_dec8","_dec9","_dec10","Number","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_codeChange","_R","_userInput","_handleChange","_S","_highlighClickEvent","_handleHighlightClick","_handleValidtor","_set_codeChange2","_set_codeChange","_get_codeChange2","_get_codeChange","_set_userInput2","_set_userInput","_get_userInput2","_get_userInput","_set_highlighClickEvent2","_set_highlighClickEvent","_get_highlighClickEvent2","_get_highlighClickEvent","CodeEditorComponent","_ref","_value","language","_language","theme","_theme","minLines","_minLines","maxLines","_maxLines","height","_height","automaticLayout","completers","advancedCompleters","markers","readOnly","links","onChange","onHighlightClick","containerRef","useRef","decorationsCollection","editorRef","size","width","getContentHeightByCode","actualHeight","setActualHeight","useState","automaticLayoutRef","systemTheme","useCurrentTheme","useEffect","setTheme","current","currentModel","getModel","setModelLanguage","isEqual","getValue","setValue","provideCompletionItems","brickNextYAMLProvideCompletionItems","position","context","_token","word","getWordUntilPosition","prefixWord","token","prefixToken","getPrefixWord","_word$word","lineNumber","column","getWordAtPosition","_objectSpread","curLineWord","isFirstLevelProperty","getLineCount","triggerCharacter","trim","suggestions","label","detail","kind","CompletionItemKind","Value","insertText","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","filter","item","includes","map","Keyword","_ref2","storyboardJsonSchema","concat","list","_list","matchCompletion","matchTriggerCharacter","Array","isArray","isInEvaluateBody","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixParentKey","suffixParentKey","_advancedCompleters$p","_advancedCompleters$p2","_advancedCompleters$F","_advancedCompleters$F2","appProperties","k","Object","entries","push","documentation","description","enum","join","test","monacoProviderRef","registerCompletionItemProvider","triggerCharacters","dispose","parseYaml","useCallback","_defineProperty","handleState","state","lineStart","result","curWord","input","substring","lineIndent","_result$match","source","wrapLength","nearWrapIndex","specilStringPrefix","isString","find","listen","bind","parseValue","undefined","yaml","listener","_decorationsCollectio","tokens","getTokens","forEach","globalNodes","preevaluate","hooks","beforeVisit","node","object","name","start","end","loc","_node$object","_loc$start","_loc$end","_loc$start2","_loc$end2","hadWrap","prefix","_node$object2","_result$prefix","_result$prefix2","inlineClassName","modelMarkers","_matchTokenConf$param","_matchTokenConf$level","matchTokenConf","params","message","severity","level","code","target","parse","setModelMarkers","_decorationsCollectio2","useLayoutEffect","_editorRef$current","getBoundingClientRect","layout","observer","ResizeObserver","entry","_editorRef$current2","newWidth","contentBoxSize","inlineSize","contentRect","observe","disconnect","container","brick","found","tagName","toLowerCase","parentElement","getDOMContainer","offsetHeight","updateOptions","createModel","create","minimap","enabled","scrollBeyondLastLine","tabSize","insertSpaces","fontSize","lineHeight","scrollbar","horizontalScrollbarSize","verticalScrollbarSize","horizontalSliderSize","verticalSliderSize","alwaysConsumeMouseWheel","padding","top","bottom","overviewRulerBorder","mouseWheelScrollSensitivity","suggest","insertMode","preview","quickSuggestions","strings","other","comments","createDecorationsCollection","editor","editorMouseDownEvent","onMouseDown","_decorations$getRange","_decorations$getRange2","decorations","getRanges","call","modKey","navigator","platform","containsPosition","mouseOverEvent","onMouseMove","newDecorations","equalsRange","onDidContentSizeChange","contentHeightChanged","newHeight","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","onDidChangeContent","isFlush","_editorRef$current3","_editorRef$current4","React","ref","style","outline","getContentHeightByLines","Math","min","max","split","fixedHeight","lines","_init_name","_init_label","_init_value","_init_language","_init_theme","_init_required","_init_readOnly","_init_automaticLayout","_init_minLines","_init_completers","_init_advancedCompleters","_init_markers","_init_links","_init_maxLines","_init_height","_init_message","_init_codeChange","_init_userInput","_init_highlighClickEvent","c","_initClass","_this$getFormElement","formStore","emit","_unused","required","connectedCallback","display","super","render","curElement","formElement","validator","o","has","_checkInRHS","___CSS_LOADER_EXPORT___","module","id"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/2383.6c45d9d3.js","mappings":"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","sources":["webpack:///../../src/FormItemElement.tsx","webpack:///./src/code-editor/utils/brickNextSourceMap.ts","webpack:///./src/code-editor/constants.ts","webpack:///./src/code-editor/utils/constants.ts","webpack:///./src/code-editor/utils/brickNextYaml.ts","webpack:///./src/code-editor/index.css?aefa","webpack:///./src/code-editor/index.tsx","webpack:///./src/code-editor/index.css"],"sourcesContent":["import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm } 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 @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","import type { State } from \"js-yaml\";\nimport { isEqual } from \"lodash\";\n\nexport interface Token {\n startLineNumber: number;\n endLineNumber: number;\n startColumn: number;\n endColumn: number;\n source: string;\n isString?: boolean;\n}\n\nclass BrickNextYamlSourceMap {\n #recordsToken: Token[];\n #prefixPosition: number;\n #recordLastWord: string;\n\n constructor() {\n this.#recordsToken = [];\n this.#prefixPosition = 0;\n this.#recordLastWord = \"\";\n }\n\n private handleState(event: \"open\" | \"close\", state: State): void {\n if (event === \"close\") {\n const { line, position, lineStart, result } = state;\n const curWord = state.input.substring(lineStart, position);\n if (curWord.trim() === this.#recordLastWord.trim()) return;\n this.#recordLastWord = curWord;\n let startLineNumber = line + 1;\n let endLineNumber = line + 1;\n let startColumn = position - lineStart - result.length;\n let endColumn = position - lineStart - state.lineIndent;\n if (\n typeof result === \"string\" &&\n /^\\s*<%[~=]?\\s/.test(result) &&\n /\\s%>\\s*$/.test(result)\n ) {\n let source = result;\n const wrapLength = result.match(/\\n/g)?.length;\n if (wrapLength) {\n let nearWrapIndex = this.#prefixPosition;\n for (let i = this.#prefixPosition; i < state.input.length; i++) {\n if (state.input[i] === \"\\n\") {\n nearWrapIndex = i + 1;\n break;\n }\n }\n const specilStringPrefix = /(\\|-|>-)/.test(\n state.input.substring(this.#prefixPosition, position - 1)\n );\n source = state.input.substring(nearWrapIndex, position - 1);\n startLineNumber =\n state.line - wrapLength + 1 - Number(specilStringPrefix);\n endLineNumber = line;\n startColumn = 0;\n endColumn = 0;\n }\n const token = {\n source,\n startLineNumber,\n endLineNumber,\n startColumn,\n endColumn,\n isString: ['\"', \"'\"].includes(\n state.input[lineStart + startColumn - 2]\n ),\n };\n !this.#recordsToken.find((item) => isEqual(item, token)) &&\n this.#recordsToken.push(token);\n }\n this.#prefixPosition = position;\n }\n }\n\n public listen() {\n return this.handleState.bind(this);\n }\n\n public getTokens = () => {\n return this.#recordsToken;\n };\n}\n\nexport default BrickNextYamlSourceMap;\n","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 const EVALUATE_KEYWORD = [\n \"CTX\",\n \"STATE\",\n \"DATA\",\n \"EVENT\",\n \"FLAGS\",\n \"APP\",\n \"ANCHOR\",\n \"HASH\",\n \"INSTALLED_APPS\",\n \"ITEM\",\n \"LOCAL_STORAGE\",\n \"MEDIA\",\n \"MISC\",\n \"PARAMS\",\n \"PATH\",\n \"PROCESSORS\",\n \"QUERY\",\n \"QUERY_ARRAY\",\n \"SESSION_STORAGE\",\n \"TPL\",\n \"SYS\",\n \"BASE_URL\",\n \"IMG\",\n \"FN\",\n \"I18N\",\n \"I18N_TEXT\",\n \"PERMISSIONS\",\n \"THEME\",\n];\n\nexport const brickNextKeywords = [\n \"target\",\n \"targetRef\",\n \"properties\",\n \"events\",\n \"method\",\n \"callback\",\n \"success\",\n \"error\",\n \"action\",\n \"useProvider\",\n \"useChildren\",\n \"useBrick\",\n \"args\",\n \"if\",\n \"then\",\n];\n\nexport const Level = {\n hit: 1,\n info: 2,\n warn: 4,\n error: 8,\n};\n","import * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport storyboardJsonSchema from \"@next-core/types/storyboard.json\";\nimport { EVALUATE_KEYWORD, brickNextKeywords, Level } from \"./constants.js\";\nimport { get } from \"lodash\";\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): {\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 return {\n word: prefixWord?.word,\n token: prefixToken,\n };\n};\n\nexport const isInEvaluateBody = (\n model: monaco.editor.ITextModel,\n position: monaco.Position\n): boolean => {\n const word = model.getWordUntilPosition(position);\n const prefixEvaluateOperator = model.findPreviousMatch(\n \"<%\",\n position,\n false,\n false,\n null,\n false\n );\n const suffixEvaluateOperator = model.findNextMatch(\n \"%>\",\n position,\n false,\n false,\n null,\n false\n );\n const isInEvaluateBody =\n prefixEvaluateOperator?.range.startLineNumber &&\n suffixEvaluateOperator?.range.startLineNumber &&\n prefixEvaluateOperator.range.startLineNumber <= position.lineNumber &&\n suffixEvaluateOperator.range.endLineNumber >= position.lineNumber;\n\n if (isInEvaluateBody) {\n const { parentKey: prefixParentKey } = findKeys(\n model,\n prefixEvaluateOperator.range,\n prefixEvaluateOperator?.range.startLineNumber\n );\n const { parentKey: suffixParentKey } = findKeys(\n model,\n suffixEvaluateOperator.range,\n suffixEvaluateOperator?.range.startLineNumber\n );\n const { keyList } = findKeys(model, word, position.lineNumber);\n if (\n prefixParentKey === suffixParentKey &&\n keyList.includes(prefixParentKey)\n ) {\n return true;\n }\n }\n return false;\n};\n\nexport const brickNextYAMLProvideCompletionItems = (\n completers?: monaco.languages.CompletionItem[],\n advancedCompleters?: Record<\n string,\n { triggerCharacter: string; completers: monaco.languages.CompletionItem[] }\n >\n) => {\n return (\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n context: monaco.languages.CompletionContext,\n _token: monaco.CancellationToken\n ): monaco.languages.ProviderResult<monaco.languages.CompletionList> => {\n const word = model.getWordUntilPosition(position);\n const { word: prefixWord, token: prefixToken } = getPrefixWord(\n model,\n position\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\"].includes(prefixWord))\n ) {\n if (prefixWord === \"action\" && context.triggerCharacter === \":\") {\n const actions = get(\n storyboardJsonSchema,\n \"definitions.BuiltinBrickEventHandler.properties.action.enum\"\n );\n return {\n suggestions: ((actions as unknown as string[]) ?? [])?.map(\n (item) => ({\n label: ` ${item}`,\n detail: \"event action\",\n kind: monaco.languages.CompletionItemKind.Keyword,\n insertText: ` ${item}`,\n range,\n })\n ),\n };\n }\n const matchCompletion = advancedCompleters?.[prefixWord as string];\n let matchTriggerCharacter = \"\";\n let list: monaco.languages.CompletionItem[] | undefined;\n if (matchCompletion && !Array.isArray(matchCompletion)) {\n list = matchCompletion.completers;\n matchTriggerCharacter = matchCompletion.triggerCharacter;\n } else {\n list = matchCompletion;\n }\n if (\n matchTriggerCharacter\n ? context.triggerCharacter === matchTriggerCharacter && list\n : list\n ) {\n return {\n suggestions: (list ?? []).map((item) => {\n const label =\n matchTriggerCharacter === \":\"\n ? ` ${item.label}`\n : (item.label as string);\n return {\n ...item,\n label: label,\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: item.insertText || label,\n range,\n };\n }),\n };\n }\n }\n\n if (isInEvaluateBody(model, position)) {\n if (\n prefixWord &&\n [\"CTX\", \"STATE\"].includes(prefixWord) &&\n advancedCompleters\n ) {\n return {\n suggestions: (advancedCompleters[prefixWord]?.completers ?? []).map(\n (item) => ({\n label: item.label,\n insertText: item.label as string,\n kind: monaco.languages.CompletionItemKind.Value,\n range,\n })\n ),\n };\n }\n\n if (\n prefixWord === \"FN\" &&\n context.triggerCharacter === \".\" &&\n advancedCompleters\n ) {\n return {\n suggestions: (advancedCompleters[\"FN\"]?.completers ?? []).map(\n (item) => ({\n label: item.label,\n insertText: item.label as string,\n kind: monaco.languages.CompletionItemKind.Value,\n range,\n })\n ),\n };\n }\n\n if (prefixWord === \"APP\" && context.triggerCharacter === \".\") {\n const appProperties = get(\n storyboardJsonSchema,\n \"definitions.MicroApp.properties\"\n );\n const suggestions = [];\n for (const [k, v] of Object.entries(\n appProperties as unknown as Record<\n string,\n {\n description: string;\n type: string;\n enum: string[];\n }\n >\n )) {\n suggestions.push({\n label: k,\n kind: monaco.languages.CompletionItemKind.Value,\n documentation: v.description,\n detail: v.enum ? v.enum.join(\"|\") : v.type,\n insertText: k,\n range,\n });\n }\n return {\n suggestions,\n };\n }\n\n if ([\".\", \":\"].includes(prefixToken)) {\n return {\n suggestions: [],\n };\n }\n\n return {\n suggestions: EVALUATE_KEYWORD.map((item) => ({\n label: item,\n insertText: item,\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n })),\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","\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;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./index.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\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 BrickNextYamlSourceMap, { Token } from \"./utils/brickNextSourceMap.js\";\nimport \"@next-core/theme\";\nimport { isEqual } from \"lodash\";\nimport {\n EDITOR_SCROLLBAR_SIZE,\n EDITOR_PADDING_VERTICAL,\n EDITOR_LINE_HEIGHT,\n EDITOR_FONT_SIZE,\n} from \"./constants.js\";\nimport { brickNextYAMLProvideCompletionItems } from \"./utils/brickNextYaml.js\";\nimport \"./index.css\";\nimport { EVALUATE_KEYWORD, Level } from \"./utils/constants.js\";\nimport type { MemberExpression, Identifier } from \"@babel/types\";\nimport { preevaluate } from \"@next-core/cook\";\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\");\n\nexport interface CodeEditorProps {\n name?: string;\n label?: string;\n value?: string;\n language?: string;\n theme?: string;\n required?: boolean;\n readOnly?: boolean;\n automaticLayout?: \"fit-container\" | \"fit-content\" | \"none\";\n minLines?: number;\n maxLines?: number;\n height?: string | number;\n completers?: monaco.languages.CompletionItem[];\n advancedCompleters?: Record<\n string,\n { triggerCharacter: string; completers: monaco.languages.CompletionItem[] }\n >;\n markers?: Marker[];\n links?: string[];\n validateState?: string;\n}\n\nexport interface Marker {\n token: string;\n level: keyof typeof Level;\n message: string;\n code?: {\n value: string;\n target: string;\n };\n params?: string[];\n}\n\n/**\n * 构件 code-editor\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({ attribute: false })\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:\n | Record<\n string,\n {\n triggerCharacter: string;\n completers: monaco.languages.CompletionItem[];\n }\n >\n | 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 @event({ type: \"code.change\" })\n accessor #codeChange!: EventEmitter<string>;\n\n @event({ type: \"user.input\" })\n accessor #userInput!: EventEmitter<string>;\n\n #handleChange = (value: string, parseValue: any, isFlush: boolean) => {\n this.getFormElement()?.formStore.onChange(this.name!, value);\n this.#codeChange.emit(parseValue);\n if (!isFlush) {\n this.#userInput.emit(parseValue);\n }\n };\n\n @event({ type: \"token.click\" })\n accessor #highlighClickEvent!: EventEmitter<string>;\n\n #handleHighlightClick = (word: string) => {\n this.#highlighClickEvent.emit(word);\n };\n\n #handleValidtor = (value: string) => {\n try {\n yaml.load(value);\n } catch {\n return \"请填写正确的格式\";\n }\n return \"\";\n };\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <WrappedFormItem\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n validator={this.#handleValidtor}\n >\n <CodeEditorComponent\n value={this.value}\n language={this.language}\n readOnly={this.readOnly}\n theme={this.theme}\n automaticLayout={this.automaticLayout}\n minLines={this.minLines}\n maxLines={this.maxLines}\n height={this.height}\n completers={this.completers}\n advancedCompleters={this.advancedCompleters}\n markers={this.markers}\n links={this.links}\n validateState={this.validateState}\n onChange={this.#handleChange}\n onHighlightClick={this.#handleHighlightClick}\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 validateState,\n onChange,\n onHighlightClick,\n}: CodeEditorProps & {\n onChange(value: string, parseValue: any, isFlush: boolean): void;\n onHighlightClick(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\n const containerRef = useRef<HTMLDivElement>(null);\n const decorationsCollection =\n useRef<monaco.editor.IEditorDecorationsCollection>();\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n const size = useRef<monaco.editor.IDimension>({\n width: 300,\n height: getContentHeightByCode(value, minLines, maxLines),\n });\n const [actualHeight, setActualHeight] = useState<string | number>();\n // `automaticLayout` should never change\n const automaticLayoutRef = useRef(automaticLayout);\n const systemTheme = useCurrentTheme();\n\n useEffect(() => {\n // Currently theme is configured globally.\n // See https://github.com/microsoft/monaco-editor/issues/338\n monaco.editor.setTheme(\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme\n );\n }, [systemTheme, theme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n if (!isEqual(currentModel.getValue(), value)) {\n currentModel.setValue(value);\n }\n }\n }, [value, language]);\n\n useEffect(() => {\n if (language === \"brick_next_yaml\") {\n const provideCompletionItems = brickNextYAMLProvideCompletionItems(\n completers,\n advancedCompleters\n );\n const monacoProviderRef = monaco.languages.registerCompletionItemProvider(\n \"brick_next_yaml\",\n {\n provideCompletionItems,\n triggerCharacters: [\".\", \":\", \"<\"],\n }\n );\n return () => {\n monacoProviderRef.dispose();\n };\n }\n }, [completers, advancedCompleters, language]);\n\n const parseYaml = useCallback(() => {\n const map = new BrickNextYamlSourceMap();\n let parseValue = undefined;\n if (editorRef.current) {\n const model = editorRef.current.getModel()!;\n\n try {\n parseValue = yaml.load(value, {\n listener: map.listen(),\n });\n\n if ((links || markers) && editorRef.current) {\n const tokens: Omit<\n Token & { token: string; property: string },\n \"source\"\n >[] = [];\n map.getTokens().forEach((item) => {\n const { startLineNumber, endLineNumber, startColumn } = item;\n const globalNodes: MemberExpression[] = [];\n const result = preevaluate(item.source, {\n hooks: {\n beforeVisit(node) {\n if (\n node.type === \"MemberExpression\" &&\n node.object.type === \"Identifier\" &&\n EVALUATE_KEYWORD.includes(node.object.name) &&\n node.property.type === \"Identifier\"\n ) {\n globalNodes.push(node);\n }\n },\n },\n });\n\n globalNodes.forEach((node) => {\n const { start, end, loc } = node;\n if (item.startLineNumber !== item.endLineNumber) {\n const hadWrap = /<%[ ]+/.test(result.prefix);\n tokens.push({\n token: (node.object as Identifier)?.name,\n property: (node.property as Identifier).name,\n startLineNumber:\n item.startLineNumber +\n (loc?.start?.line as number) -\n Number(hadWrap),\n endLineNumber:\n item.startLineNumber +\n (loc?.end?.line as number) -\n Number(hadWrap),\n startColumn:\n (hadWrap && loc?.start.line === 1\n ? result.prefix.length\n : 0) +\n (loc?.start?.column as number) +\n 1,\n endColumn:\n (hadWrap && loc?.start.line === 1\n ? result.prefix.length\n : 0) +\n (loc?.end?.column as number) +\n 1,\n });\n } else {\n tokens.push({\n token: (node.object as Identifier)?.name,\n property: (node.property as Identifier).name,\n startLineNumber,\n endLineNumber,\n startColumn:\n startColumn +\n (start as number) +\n result.prefix?.length +\n Number(!item.isString),\n endColumn:\n startColumn +\n (end as number) +\n result.prefix?.length +\n Number(!item.isString),\n });\n }\n });\n });\n\n decorationsCollection.current?.set(\n tokens\n .filter((token) => links?.includes(token.token))\n .map((token) => ({\n range: new monaco.Range(\n token.startLineNumber,\n token.startColumn,\n token.endLineNumber,\n token.endColumn\n ),\n options: {\n inlineClassName: \"highlight\",\n },\n }))\n );\n\n if (markers) {\n const modelMarkers = tokens\n .map((token) => {\n const matchTokenConf = markers.find(\n (item) => item.token === token.token\n );\n const hadProperty = matchTokenConf?.params\n ? matchTokenConf.params?.includes(token.property)\n : true;\n if (!hadProperty) {\n return {\n severity: Level.warn,\n message: \"Miss Property\",\n startLineNumber: token.startLineNumber,\n endLineNumber: token.endLineNumber,\n startColumn: token.startColumn,\n endColumn: token.endColumn,\n };\n }\n if (matchTokenConf && matchTokenConf.message) {\n return {\n severity: Level[matchTokenConf?.level ?? \"warn\"],\n message: matchTokenConf.message,\n ...(matchTokenConf.code\n ? {\n code: {\n value: matchTokenConf.code.value,\n target: monaco.Uri.parse(\n matchTokenConf.code.target\n ),\n },\n }\n : {}),\n startLineNumber: token.startLineNumber,\n endLineNumber: token.endLineNumber,\n startColumn: token.startColumn,\n endColumn: token.endColumn,\n };\n }\n })\n .filter(Boolean) as monaco.editor.IMarkerData[];\n\n monaco.editor.setModelMarkers(\n model,\n \"brick_next_yaml\",\n modelMarkers\n );\n }\n }\n } catch (e) {\n monaco.editor.setModelMarkers(model, \"brick_next_yaml\", []);\n decorationsCollection?.current?.set([]);\n }\n }\n return parseValue;\n }, [value, links, markers]);\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 if (newWidth !== size.current.width) {\n size.current.width = newWidth;\n editorRef.current?.layout(size.current);\n }\n break;\n }\n }\n });\n observer.observe(containerRef.current);\n\n return () => {\n observer.disconnect();\n };\n }, []);\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 editorRef.current = monaco.editor.create(containerRef.current, {\n model,\n minimap: {\n enabled: false,\n },\n scrollBeyondLastLine: false,\n tabSize: 2,\n insertSpaces: true,\n automaticLayout: automaticLayoutRef.current !== \"fit-content\",\n fontSize: EDITOR_FONT_SIZE,\n lineHeight: EDITOR_LINE_HEIGHT,\n scrollbar: {\n horizontalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n verticalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n horizontalSliderSize: 8,\n verticalSliderSize: 8,\n alwaysConsumeMouseWheel: false,\n },\n padding: {\n top: EDITOR_PADDING_VERTICAL,\n // When use `fit-content`, we always plus the height with the vertical padding.\n // Thus the possible x-scrollbar will not take extra space at the bottom.\n bottom:\n automaticLayoutRef.current == \"fit-content\"\n ? undefined\n : EDITOR_PADDING_VERTICAL,\n },\n overviewRulerBorder: false,\n mouseWheelScrollSensitivity: 0.5,\n suggest: {\n insertMode: \"insert\",\n preview: true,\n },\n readOnly: readOnly,\n quickSuggestions: { strings: true, other: true, comments: true },\n });\n\n decorationsCollection.current =\n editorRef.current.createDecorationsCollection();\n }, [value, language, readOnly]);\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 onHighlightClick(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 parseYaml();\n\n return () => {\n mouseOverEvent?.dispose();\n editorMouseDownEvent?.dispose();\n };\n }\n }, [language, onHighlightClick, systemTheme, theme, parseYaml]);\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 (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]);\n\n useEffect(() => {\n if (!editorRef.current) {\n return;\n }\n const currentModel = editorRef.current.getModel()!;\n const listener = currentModel.onDidChangeContent((e) => {\n const parseValue = parseYaml();\n onChange(currentModel.getValue(), parseValue, e.isFlush);\n });\n return () => {\n listener.dispose();\n };\n }, [onChange, parseYaml]);\n\n useEffect(() => {\n return () => {\n editorRef.current?.getModel()?.dispose();\n editorRef.current?.dispose();\n };\n }, []);\n\n return (\n <div\n ref={containerRef}\n style={{\n height: actualHeight,\n ...(validateState === \"error\"\n ? {\n outline: \"1px solid var(--antd-error-color)\",\n }\n : {}),\n }}\n />\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","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.highlight{color:rgb(74 170 189)!important;text-decoration:underline;font-weight:bold;font-style:oblique}.pointer{cursor:pointer}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["method","property","createDecorators","_dec","attribute","_dec2","_dec3","_dec4","_A","WeakMap","_notRender","_B","_validate","_C","_bindFormItem","_D","_E","FormItemElementBase","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","get","_get_bindFormItem","set","_set_bindFormItem","_get_validate","_set_validate","_get__notRender","_set__notRender","writable","value","_initProto","_init_helpBrick","_init_labelBrick","isFormItemElement","validateState","_classPrivateFieldSet","this","_render","_classPrivateFieldGet","notRender","hidden","$bindFormItem","helpBrick","v","labelBrick","setNotRender","getFormElement","element","parentNode","isFormElement","_applyDecs","e","_recordsToken","_prefixPosition","_recordLastWord","EDITOR_LINE_HEIGHT","EDITOR_SCROLLBAR_SIZE","EDITOR_PADDING_VERTICAL","EVALUATE_KEYWORD","brickNextKeywords","Level","hit","info","warn","error","findKeys","model","range","line","curLevelKeys","keyList","parentKey","i","startColumn","matchWord","getValueInRange","startLineNumber","endLineNumber","endColumn","Infinity","match","_","wordspace","key","length","unshift","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","registerJavaScript","monaco","registerTypeScript","registerYaml","registerHtml","_CodeEditor","defineElement","event","WrappedFormItem","wrapBrick","shadowOptions","_dec5","_dec6","_dec7","type","Boolean","_dec8","_dec9","_dec10","Number","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_codeChange","_R","_userInput","_handleChange","_S","_highlighClickEvent","_handleHighlightClick","_handleValidtor","_set_codeChange2","_set_codeChange","_get_codeChange2","_get_codeChange","_set_userInput2","_set_userInput","_get_userInput2","_get_userInput","_set_highlighClickEvent2","_set_highlighClickEvent","_get_highlighClickEvent2","_get_highlighClickEvent","CodeEditorComponent","_ref","_value","language","_language","theme","_theme","minLines","_minLines","maxLines","_maxLines","height","_height","automaticLayout","completers","advancedCompleters","markers","readOnly","links","onChange","onHighlightClick","containerRef","useRef","decorationsCollection","editorRef","size","width","getContentHeightByCode","actualHeight","setActualHeight","useState","automaticLayoutRef","systemTheme","useCurrentTheme","useEffect","setTheme","current","currentModel","getModel","setModelLanguage","isEqual","getValue","setValue","provideCompletionItems","brickNextYAMLProvideCompletionItems","position","context","_token","word","getWordUntilPosition","prefixWord","token","prefixToken","getPrefixWord","_word$word","lineNumber","column","getWordAtPosition","_objectSpread","curLineWord","isFirstLevelProperty","getLineCount","triggerCharacter","trim","suggestions","label","detail","kind","CompletionItemKind","Value","insertText","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","filter","item","includes","map","Keyword","_ref2","storyboardJsonSchema","concat","list","_list","matchCompletion","matchTriggerCharacter","Array","isArray","isInEvaluateBody","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixParentKey","suffixParentKey","_advancedCompleters$p","_advancedCompleters$p2","_advancedCompleters$F","_advancedCompleters$F2","appProperties","k","Object","entries","push","documentation","description","enum","join","test","monacoProviderRef","registerCompletionItemProvider","triggerCharacters","dispose","parseYaml","useCallback","_defineProperty","handleState","state","lineStart","result","curWord","input","substring","lineIndent","_result$match","source","wrapLength","nearWrapIndex","specilStringPrefix","isString","find","listen","bind","parseValue","undefined","yaml","listener","_decorationsCollectio","tokens","getTokens","forEach","globalNodes","preevaluate","hooks","beforeVisit","node","object","name","start","end","loc","_node$object","_loc$start","_loc$end","_loc$start2","_loc$end2","hadWrap","prefix","_node$object2","_result$prefix","_result$prefix2","inlineClassName","modelMarkers","_matchTokenConf$param","_matchTokenConf$level","matchTokenConf","params","message","severity","level","code","target","parse","setModelMarkers","_decorationsCollectio2","useLayoutEffect","_editorRef$current","getBoundingClientRect","layout","observer","ResizeObserver","entry","_editorRef$current2","newWidth","contentBoxSize","inlineSize","contentRect","observe","disconnect","container","brick","found","tagName","toLowerCase","parentElement","getDOMContainer","offsetHeight","updateOptions","createModel","create","minimap","enabled","scrollBeyondLastLine","tabSize","insertSpaces","fontSize","lineHeight","scrollbar","horizontalScrollbarSize","verticalScrollbarSize","horizontalSliderSize","verticalSliderSize","alwaysConsumeMouseWheel","padding","top","bottom","overviewRulerBorder","mouseWheelScrollSensitivity","suggest","insertMode","preview","quickSuggestions","strings","other","comments","createDecorationsCollection","editor","editorMouseDownEvent","onMouseDown","_decorations$getRange","_decorations$getRange2","decorations","getRanges","call","modKey","navigator","platform","containsPosition","mouseOverEvent","onMouseMove","newDecorations","equalsRange","onDidContentSizeChange","contentHeightChanged","newHeight","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","onDidChangeContent","isFlush","_editorRef$current3","_editorRef$current4","React","ref","style","outline","getContentHeightByLines","Math","min","max","split","fixedHeight","lines","_init_name","_init_label","_init_value","_init_language","_init_theme","_init_required","_init_readOnly","_init_automaticLayout","_init_minLines","_init_completers","_init_advancedCompleters","_init_markers","_init_links","_init_maxLines","_init_height","_init_message","_init_codeChange","_init_userInput","_init_highlighClickEvent","c","_initClass","_this$getFormElement","formStore","emit","_unused","required","connectedCallback","display","super","render","curElement","formElement","validator","o","has","_checkInRHS","___CSS_LOADER_EXPORT___","module","id"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[5381,6660,4795],{34795:(e,r,t)=>{function n(e,r,t,n,u,i,a){try{var c=e[i](a),s=c.value}catch(e){return void t(e)}c.done?r(s):Promise.resolve(s).then(n,u)}function u(e){return function(){var r=this,t=arguments;return new Promise((function(u,i){var a=e.apply(r,t);function c(e){n(a,u,i,c,s,"next",e)}function s(e){n(a,u,i,c,s,"throw",e)}c(void 0)}))}}t.d(r,{Z:()=>u})},16660:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>c,ReactUseMultipleBricks:()=>s,useCurrentApp:()=>f,useCurrentTheme:()=>d,useRecentApps:()=>v,useRouteRender:()=>_});var n,u=t(34795),i=t(48657),a=t(29236),c=function(e){var{useBrick:r,data:t}=e,[n,c]=(0,i.useState)(null),s=(0,i.useRef)(),[o,l]=(0,i.useState)(),d=(0,i.useRef)(0),v=(0,i.useMemo)((()=>{var e;return null===(e=a.__secret_internals.getRenderId)||void 0===e?void 0:e.call(a.__secret_internals)}),[]);(0,i.useEffect)((()=>{function e(){return e=(0,u.Z)((function*(){try{c(yield a.__secret_internals.renderUseBrick(r,t)),l(++d.current)}catch(e){(function(e){var r,t=null===(r=a.__secret_internals.getRenderId)||void 0===r?void 0:r.call(a.__secret_internals);return!e||!t||e===t})(v)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,a.handleHttpError)(e))}})),e.apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[t,r,v]);var f=(0,i.useCallback)((e=>{e?s.current=a.__secret_internals.mountUseBrick(n,e):(a.__secret_internals.unmountUseBrick(n,s.current),s.current=void 0)}),[n]);if(!n)return null;var{tagName:_}=n;if(null===_)return null;var p=_;return i.createElement(p,{key:o,ref:f})},s=function(e){var{useBrick:r,data:t}=e;return Array.isArray(r)?i.createElement(i.Fragment,null,r.map(((e,r)=>i.createElement(c,{key:r,useBrick:e,data:t})))):i.createElement(c,{useBrick:r,data:t})};if(window.dll&&null!==(n=window.BRICK_NEXT_VERSIONS)&&void 0!==n&&null!==(n=n["brick-container"])&&void 0!==n&&n.startsWith("2.")){var{SingleBrickAsComponentFactory:o,BrickAsComponentFactory:l}=window.dll("tYg3");o&&l&&(c=o(i),s=l(i))}function d(){var[e,r]=(0,i.useState)(a.getCurrentTheme);return(0,i.useEffect)((()=>{var e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function v(){var[e,r]=i.useState((()=>(0,a.getRuntime)().getRecentApps()));return i.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function f(){return v().currentApp}function _(){var[e,r]=i.useState(null);return i.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}}}]);
2
- //# sourceMappingURL=5381.e532552e.js.map
1
+ "use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[5381,6660,4795],{34795:(e,r,t)=>{function n(e,r,t,n,u,i,a){try{var c=e[i](a),s=c.value}catch(e){return void t(e)}c.done?r(s):Promise.resolve(s).then(n,u)}function u(e){return function(){var r=this,t=arguments;return new Promise((function(u,i){var a=e.apply(r,t);function c(e){n(a,u,i,c,s,"next",e)}function s(e){n(a,u,i,c,s,"throw",e)}c(void 0)}))}}t.d(r,{Z:()=>u})},16660:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>c,ReactUseMultipleBricks:()=>s,useCurrentApp:()=>f,useCurrentTheme:()=>d,useRecentApps:()=>v,useRouteRender:()=>_});var n,u=t(34795),i=t(48657),a=t(11233),c=function(e){var{useBrick:r,data:t}=e,[n,c]=(0,i.useState)(null),s=(0,i.useRef)(),[o,l]=(0,i.useState)(),d=(0,i.useRef)(0),v=(0,i.useMemo)((()=>{var e;return null===(e=a.__secret_internals.getRenderId)||void 0===e?void 0:e.call(a.__secret_internals)}),[]);(0,i.useEffect)((()=>{function e(){return e=(0,u.Z)((function*(){try{c(yield a.__secret_internals.renderUseBrick(r,t)),l(++d.current)}catch(e){(function(e){var r,t=null===(r=a.__secret_internals.getRenderId)||void 0===r?void 0:r.call(a.__secret_internals);return!e||!t||e===t})(v)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,a.handleHttpError)(e))}})),e.apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[t,r,v]);var f=(0,i.useCallback)((e=>{e?s.current=a.__secret_internals.mountUseBrick(n,e):(a.__secret_internals.unmountUseBrick(n,s.current),s.current=void 0)}),[n]);if(!n)return null;var{tagName:_}=n;if(null===_)return null;var p=_;return i.createElement(p,{key:o,ref:f})},s=function(e){var{useBrick:r,data:t}=e;return Array.isArray(r)?i.createElement(i.Fragment,null,r.map(((e,r)=>i.createElement(c,{key:r,useBrick:e,data:t})))):i.createElement(c,{useBrick:r,data:t})};if(window.dll&&null!==(n=window.BRICK_NEXT_VERSIONS)&&void 0!==n&&null!==(n=n["brick-container"])&&void 0!==n&&n.startsWith("2.")){var{SingleBrickAsComponentFactory:o,BrickAsComponentFactory:l}=window.dll("tYg3");o&&l&&(c=o(i),s=l(i))}function d(){var[e,r]=(0,i.useState)(a.getCurrentTheme);return(0,i.useEffect)((()=>{var e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function v(){var[e,r]=i.useState((()=>(0,a.getRuntime)().getRecentApps()));return i.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function f(){return v().currentApp}function _(){var[e,r]=i.useState(null);return i.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}}}]);
2
+ //# sourceMappingURL=5381.54e0999c.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/6660.29dc23a8.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nvar _window$BRICK_NEXT_VE;\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nvar ReactUseBrick = function ReactUseBrick(_ref) {\n var {\n useBrick,\n data\n } = _ref;\n var [renderResult, setRenderResult] = useState(null);\n var mountResult = useRef();\n var [renderKey, setRenderKey] = useState();\n var IdCounterRef = useRef(0);\n var initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n function init() {\n return _init.apply(this, arguments);\n }\n function _init() {\n _init = _asyncToGenerator(function* () {\n try {\n setRenderResult(yield __secret_internals.renderUseBrick(useBrick, data));\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n });\n return _init.apply(this, arguments);\n }\n init();\n }, [data, useBrick, initialRenderId]);\n var refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult, element);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n }, [renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n\n var {\n tagName\n } = renderResult;\n if (tagName === null) {\n return null;\n }\n var WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n var newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nvar ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n var {\n useBrick,\n data\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data\n });\n};\n\n// istanbul ignore next\n// Make v3 bricks compatible with Brick Next v2.\nif (window.dll && (_window$BRICK_NEXT_VE = window.BRICK_NEXT_VERSIONS) !== null && _window$BRICK_NEXT_VE !== void 0 && (_window$BRICK_NEXT_VE = _window$BRICK_NEXT_VE[\"brick-container\"]) !== null && _window$BRICK_NEXT_VE !== void 0 && _window$BRICK_NEXT_VE.startsWith(\"2.\")) {\n var {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = window.dll(\"tYg3\");\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n var [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n var listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n var [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n var listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n var [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n var listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","_window$BRICK_NEXT_VE","ReactUseBrick","_ref","useBrick","data","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","_init","renderUseBrick","current","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","refCallback","useCallback","element","mountUseBrick","unmountUseBrick","tagName","WebComponent","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","window","dll","BRICK_NEXT_VERSIONS","startsWith","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/5381.54e0999c.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nvar _window$BRICK_NEXT_VE;\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nvar ReactUseBrick = function ReactUseBrick(_ref) {\n var {\n useBrick,\n data\n } = _ref;\n var [renderResult, setRenderResult] = useState(null);\n var mountResult = useRef();\n var [renderKey, setRenderKey] = useState();\n var IdCounterRef = useRef(0);\n var initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n function init() {\n return _init.apply(this, arguments);\n }\n function _init() {\n _init = _asyncToGenerator(function* () {\n try {\n setRenderResult(yield __secret_internals.renderUseBrick(useBrick, data));\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n });\n return _init.apply(this, arguments);\n }\n init();\n }, [data, useBrick, initialRenderId]);\n var refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult, element);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n }, [renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n\n var {\n tagName\n } = renderResult;\n if (tagName === null) {\n return null;\n }\n var WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n var newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nvar ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n var {\n useBrick,\n data\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data\n });\n};\n\n// istanbul ignore next\n// Make v3 bricks compatible with Brick Next v2.\nif (window.dll && (_window$BRICK_NEXT_VE = window.BRICK_NEXT_VERSIONS) !== null && _window$BRICK_NEXT_VE !== void 0 && (_window$BRICK_NEXT_VE = _window$BRICK_NEXT_VE[\"brick-container\"]) !== null && _window$BRICK_NEXT_VE !== void 0 && _window$BRICK_NEXT_VE.startsWith(\"2.\")) {\n var {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = window.dll(\"tYg3\");\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n var [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n var listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n var [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n var listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n var [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n var listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","_window$BRICK_NEXT_VE","ReactUseBrick","_ref","useBrick","data","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","_init","renderUseBrick","current","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","refCallback","useCallback","element","mountUseBrick","unmountUseBrick","tagName","WebComponent","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","window","dll","BRICK_NEXT_VERSIONS","startsWith","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[6660,4795,5381],{34795:(e,r,t)=>{function n(e,r,t,n,u,i,a){try{var c=e[i](a),s=c.value}catch(e){return void t(e)}c.done?r(s):Promise.resolve(s).then(n,u)}function u(e){return function(){var r=this,t=arguments;return new Promise((function(u,i){var a=e.apply(r,t);function c(e){n(a,u,i,c,s,"next",e)}function s(e){n(a,u,i,c,s,"throw",e)}c(void 0)}))}}t.d(r,{Z:()=>u})},16660:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>c,ReactUseMultipleBricks:()=>s,useCurrentApp:()=>f,useCurrentTheme:()=>d,useRecentApps:()=>v,useRouteRender:()=>_});var n,u=t(34795),i=t(48657),a=t(29236),c=function(e){var{useBrick:r,data:t}=e,[n,c]=(0,i.useState)(null),s=(0,i.useRef)(),[o,l]=(0,i.useState)(),d=(0,i.useRef)(0),v=(0,i.useMemo)((()=>{var e;return null===(e=a.__secret_internals.getRenderId)||void 0===e?void 0:e.call(a.__secret_internals)}),[]);(0,i.useEffect)((()=>{function e(){return e=(0,u.Z)((function*(){try{c(yield a.__secret_internals.renderUseBrick(r,t)),l(++d.current)}catch(e){(function(e){var r,t=null===(r=a.__secret_internals.getRenderId)||void 0===r?void 0:r.call(a.__secret_internals);return!e||!t||e===t})(v)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,a.handleHttpError)(e))}})),e.apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[t,r,v]);var f=(0,i.useCallback)((e=>{e?s.current=a.__secret_internals.mountUseBrick(n,e):(a.__secret_internals.unmountUseBrick(n,s.current),s.current=void 0)}),[n]);if(!n)return null;var{tagName:_}=n;if(null===_)return null;var p=_;return i.createElement(p,{key:o,ref:f})},s=function(e){var{useBrick:r,data:t}=e;return Array.isArray(r)?i.createElement(i.Fragment,null,r.map(((e,r)=>i.createElement(c,{key:r,useBrick:e,data:t})))):i.createElement(c,{useBrick:r,data:t})};if(window.dll&&null!==(n=window.BRICK_NEXT_VERSIONS)&&void 0!==n&&null!==(n=n["brick-container"])&&void 0!==n&&n.startsWith("2.")){var{SingleBrickAsComponentFactory:o,BrickAsComponentFactory:l}=window.dll("tYg3");o&&l&&(c=o(i),s=l(i))}function d(){var[e,r]=(0,i.useState)(a.getCurrentTheme);return(0,i.useEffect)((()=>{var e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function v(){var[e,r]=i.useState((()=>(0,a.getRuntime)().getRecentApps()));return i.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function f(){return v().currentApp}function _(){var[e,r]=i.useState(null);return i.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}}}]);
2
- //# sourceMappingURL=6660.29dc23a8.js.map
1
+ "use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[6660,4795,5381],{34795:(e,r,t)=>{function n(e,r,t,n,u,i,a){try{var c=e[i](a),s=c.value}catch(e){return void t(e)}c.done?r(s):Promise.resolve(s).then(n,u)}function u(e){return function(){var r=this,t=arguments;return new Promise((function(u,i){var a=e.apply(r,t);function c(e){n(a,u,i,c,s,"next",e)}function s(e){n(a,u,i,c,s,"throw",e)}c(void 0)}))}}t.d(r,{Z:()=>u})},16660:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>c,ReactUseMultipleBricks:()=>s,useCurrentApp:()=>f,useCurrentTheme:()=>d,useRecentApps:()=>v,useRouteRender:()=>_});var n,u=t(34795),i=t(48657),a=t(11233),c=function(e){var{useBrick:r,data:t}=e,[n,c]=(0,i.useState)(null),s=(0,i.useRef)(),[o,l]=(0,i.useState)(),d=(0,i.useRef)(0),v=(0,i.useMemo)((()=>{var e;return null===(e=a.__secret_internals.getRenderId)||void 0===e?void 0:e.call(a.__secret_internals)}),[]);(0,i.useEffect)((()=>{function e(){return e=(0,u.Z)((function*(){try{c(yield a.__secret_internals.renderUseBrick(r,t)),l(++d.current)}catch(e){(function(e){var r,t=null===(r=a.__secret_internals.getRenderId)||void 0===r?void 0:r.call(a.__secret_internals);return!e||!t||e===t})(v)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,a.handleHttpError)(e))}})),e.apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[t,r,v]);var f=(0,i.useCallback)((e=>{e?s.current=a.__secret_internals.mountUseBrick(n,e):(a.__secret_internals.unmountUseBrick(n,s.current),s.current=void 0)}),[n]);if(!n)return null;var{tagName:_}=n;if(null===_)return null;var p=_;return i.createElement(p,{key:o,ref:f})},s=function(e){var{useBrick:r,data:t}=e;return Array.isArray(r)?i.createElement(i.Fragment,null,r.map(((e,r)=>i.createElement(c,{key:r,useBrick:e,data:t})))):i.createElement(c,{useBrick:r,data:t})};if(window.dll&&null!==(n=window.BRICK_NEXT_VERSIONS)&&void 0!==n&&null!==(n=n["brick-container"])&&void 0!==n&&n.startsWith("2.")){var{SingleBrickAsComponentFactory:o,BrickAsComponentFactory:l}=window.dll("tYg3");o&&l&&(c=o(i),s=l(i))}function d(){var[e,r]=(0,i.useState)(a.getCurrentTheme);return(0,i.useEffect)((()=>{var e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function v(){var[e,r]=i.useState((()=>(0,a.getRuntime)().getRecentApps()));return i.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function f(){return v().currentApp}function _(){var[e,r]=i.useState(null);return i.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}}}]);
2
+ //# sourceMappingURL=6660.00922c96.js.map