@next-bricks/vs 1.6.14 → 1.6.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +1 -1
- package/dist/chunks/{2652.9b7c347f.js → 2652.19c8bde8.js} +2 -2
- package/dist/chunks/{2652.9b7c347f.js.map → 2652.19c8bde8.js.map} +1 -1
- package/dist/chunks/{3171.7239247f.js → 3171.e9864838.js} +2 -2
- package/dist/chunks/{5552.67f3b678.js.map → 3171.e9864838.js.map} +1 -1
- package/dist/chunks/{3933.50baebca.js → 3933.ac9ce2be.js} +2 -2
- package/dist/chunks/{3933.50baebca.js.map → 3933.ac9ce2be.js.map} +1 -1
- package/dist/chunks/{5552.67f3b678.js → 5552.3bf763af.js} +2 -2
- package/dist/chunks/{3171.7239247f.js.map → 5552.3bf763af.js.map} +1 -1
- package/dist/chunks/{6314.8ee39174.js → 6314.88e19f2a.js} +2 -2
- package/dist/chunks/{6314.8ee39174.js.map → 6314.88e19f2a.js.map} +1 -1
- package/dist/chunks/{7115.39d90b67.js → 7115.63550a9d.js} +2 -2
- package/dist/chunks/{7115.39d90b67.js.map → 7115.63550a9d.js.map} +1 -1
- package/dist/chunks/{7242.a65bfd08.js → 7242.8369accb.js} +2 -2
- package/dist/chunks/{7242.a65bfd08.js.map → 7242.8369accb.js.map} +1 -1
- package/dist/chunks/{790.986d551b.js → 790.9e7665d6.js} +2 -2
- package/dist/chunks/{790.986d551b.js.map → 790.9e7665d6.js.map} +1 -1
- package/dist/chunks/{5263.c54c2634.js → 7920.e429074b.js} +2 -2
- package/dist/chunks/{5263.c54c2634.js.map → 7920.e429074b.js.map} +1 -1
- package/dist/chunks/{871.279ede04.js → 871.5fe9c73a.js} +2 -2
- package/dist/chunks/871.5fe9c73a.js.map +1 -0
- package/dist/chunks/{9496.4c84ad1d.js → 9496.12c6f4a2.js} +2 -2
- package/dist/chunks/{9496.4c84ad1d.js.map → 9496.12c6f4a2.js.map} +1 -1
- package/dist/chunks/{code-editor.27abbf61.js → code-editor.63895d7d.js} +2 -2
- package/dist/chunks/{code-editor.27abbf61.js.map → code-editor.63895d7d.js.map} +1 -1
- package/dist/chunks/main.778e7a24.js +2 -0
- package/dist/chunks/{main.eaa2d9fd.js.map → main.778e7a24.js.map} +1 -1
- package/dist/index.1fbf1535.js +2 -0
- package/dist/{index.f1883bd6.js.map → index.1fbf1535.js.map} +1 -1
- package/package.json +2 -2
- package/dist/chunks/871.279ede04.js.map +0 -1
- package/dist/chunks/main.eaa2d9fd.js +0 -2
- package/dist/index.f1883bd6.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[3722],{32580:(e,t,n)=>{n.r(t),n.d(t,{CodeEditor:()=>_e,CodeEditorComponent:()=>mt});var i,r,a,s,o,l,u,h,c,d,m,g,p,v,k,f,A,w,y,C,b,E,M,L,x,S,B,W,_,z,R,P,N,O,F,V,I,K,q,D,H,T,Y,U,J,X,j,G,Q,Z,$,ee,te=n(74635),ne=n(70918),ie=n(26902),re=n(5536),ae=n(86121),se=n(70829),oe=n(62740),le=n(18769),ue=n.n(le),he=n(93741),ce=n(53757),de=n(46430),me=n(78652),ge=n(30426),pe=n(78573),ve=n(36197),ke=n(23909),fe=n(92257),Ae=n(93135),we=n(91732),ye=n.n(we),Ce=(n(46329),n(72445)),be=n(97137),Ee=n(89956),Me=n(62738),Le=n(44804),xe=n(85502),Se=n(8182),Be=n(53373),We=n.n(Be);n(73569),(0,xe.initializeReactI18n)(Se.NS,Se.I),(0,ve.kz)(pe),(0,ke.kz)(pe),(0,fe.kz)(pe,"brick_next_yaml"),(0,Ae.kz)(pe);var _e,{defineElement:ze,property:Re,event:Pe}=(0,he.createDecorators)(),Ne=(0,de.wrapBrick)("eo-form-item"),Oe=(0,de.wrapBrick)("eo-tooltip"),Fe=(0,de.wrapBrick)("eo-icon"),Ve=(0,ce.unwrapProvider)("basic.copy-to-clipboard"),Ie=(0,ce.unwrapProvider)("basic.show-notification"),Ke=new WeakMap,qe=new WeakMap,De=new WeakMap,He=new WeakMap,Te=new WeakMap,Ye=new WeakMap,Ue=new WeakMap,Je=new WeakMap,Xe=new WeakMap,je=new WeakMap,Ge=new WeakMap,Qe=new WeakMap,Ze=new WeakMap,$e=new WeakMap,et=new WeakMap,tt=new WeakMap,nt=new WeakMap,it=new WeakMap,rt=new WeakMap,at=new WeakMap,st=new WeakSet,ot=new WeakMap,lt=new WeakMap,ut=new WeakMap,ht=new WeakMap,ct=new WeakMap;class dt extends ge.N{constructor(){var e;super(...arguments),e=this,(0,te.A)(this,st),(0,ne.A)(this,Ke,a(this)),(0,ne.A)(this,qe,(s(this),o(this))),(0,ne.A)(this,De,(l(this),u(this))),(0,ne.A)(this,He,(h(this),c(this))),(0,ne.A)(this,Te,(d(this),m(this))),(0,ne.A)(this,Ye,(g(this),p(this))),(0,ne.A)(this,Ue,(v(this),k(this))),(0,ne.A)(this,Je,(f(this),A(this))),(0,ne.A)(this,Xe,(w(this),y(this))),(0,ne.A)(this,je,(C(this),b(this))),(0,ne.A)(this,Ge,(E(this),M(this))),(0,ne.A)(this,Qe,(L(this),x(this))),(0,ne.A)(this,Ze,(S(this),B(this))),(0,ne.A)(this,$e,(W(this),_(this))),(0,ne.A)(this,et,(z(this),R(this))),(0,ne.A)(this,tt,(P(this),N(this))),(0,ne.A)(this,nt,(O(this),F(this))),(0,ne.A)(this,it,(V(this),I(this))),(0,ne.A)(this,rt,(K(this),q(this))),(0,ne.A)(this,at,(D(this),H(this))),(0,ne.A)(this,ot,(U(this),J(this))),(0,ne.A)(this,lt,(G(this),function(t,n,i){var r,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e.value=t,!a&&(null===(r=e.getFormElement())||void 0===r||r.formStore.onChange(e.name,t)),(0,re.A)(st,e,T).emit(t),i||(0,re.A)(st,e,X).emit(n)})),(0,ne.A)(this,ut,Q(this)),(0,ne.A)(this,ht,(ee(this),e=>{(0,re.A)(st,this,Z).emit(e)})),(0,ne.A)(this,ct,(e=>{try{ye().load(e)}catch(e){return"请填写正确的格式"}return""}))}get name(){return(0,se.A)(Ke,this)}set name(e){(0,ae.A)(Ke,this,e)}get label(){return(0,se.A)(qe,this)}set label(e){(0,ae.A)(qe,this,e)}get value(){return(0,se.A)(De,this)}set value(e){(0,ae.A)(De,this,e)}get language(){return(0,se.A)(He,this)}set language(e){(0,ae.A)(He,this,e)}get theme(){return(0,se.A)(Te,this)}set theme(e){(0,ae.A)(Te,this,e)}get required(){return(0,se.A)(Ye,this)}set required(e){(0,ae.A)(Ye,this,e)}get readOnly(){return(0,se.A)(Ue,this)}set readOnly(e){(0,ae.A)(Ue,this,e)}get automaticLayout(){return(0,se.A)(Je,this)}set automaticLayout(e){(0,ae.A)(Je,this,e)}get minLines(){return(0,se.A)(Xe,this)}set minLines(e){(0,ae.A)(Xe,this,e)}get completers(){return(0,se.A)(je,this)}set completers(e){(0,ae.A)(je,this,e)}get advancedCompleters(){return(0,se.A)(Ge,this)}set advancedCompleters(e){(0,ae.A)(Ge,this,e)}get markers(){return(0,se.A)(Qe,this)}set markers(e){(0,ae.A)(Qe,this,e)}get links(){return(0,se.A)(Ze,this)}set links(e){(0,ae.A)(Ze,this,e)}get maxLines(){return(0,se.A)($e,this)}set maxLines(e){(0,ae.A)($e,this,e)}get height(){return(0,se.A)(et,this)}set height(e){(0,ae.A)(et,this,e)}get message(){return(0,se.A)(tt,this)}set message(e){(0,ae.A)(tt,this,e)}get showExpandButton(){return(0,se.A)(nt,this)}set showExpandButton(e){(0,ae.A)(nt,this,e)}get tokenConfig(){return(0,se.A)(it,this)}set tokenConfig(e){(0,ae.A)(it,this,e)}get showCopyButton(){return(0,se.A)(rt,this)}set showCopyButton(e){(0,ae.A)(rt,this,e)}connectedCallback(){this.style.display||(this.style.display="block"),super.connectedCallback()}render(){return ue().createElement(Ne,{curElement:this,formElement:this.getFormElement(),name:this.name,label:this.label,required:this.required,helpBrick:this.helpBrick,labelBrick:this.labelBrick,notRender:this.notRender,validator:(0,se.A)(ct,this)},ue().createElement(mt,{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,tokenConfig:this.tokenConfig,showCopyButton:this.showCopyButton,showExpandButton:this.showExpandButton,validateState:this.validateState,onChange:(0,se.A)(lt,this),onTokenClick:(0,se.A)(ht,this)}))}}function mt(e){var{value:t,language:n,theme:i,minLines:r,maxLines:a,height:s,automaticLayout:o,completers:l,advancedCompleters:u,markers:h,readOnly:c,links:d,tokenConfig:m={showDSKey:!1},showExpandButton:g,showCopyButton:p=!0,validateState:v,onChange:k,onTokenClick:f}=e,A=null!=t?t:"",w=null!=n?n:"plaintext",y=null!=i?i:"auto",C=null!=r?r:3,b=null!=a?a:1/0,E=null!=s?s:500,[M,L]=(0,le.useState)(!1),x=(0,le.useMemo)((()=>(0,Ce.uniqueId)("worker")),[]),{t:S}=(0,xe.useTranslation)(Se.NS),B=(0,le.useRef)(null),W=(0,le.useRef)(),_=(0,le.useRef)(),z=(0,le.useRef)({width:300,height:gt(A,C,b)}),[R,P]=(0,le.useState)(),N=(0,le.useRef)(o),O=(0,me.useCurrentTheme)();(0,le.useEffect)((()=>{if("brick_next_yaml"===w){var e=Me.h.getInstance(x),t=e.addEventListener("message",(e=>{var{token:t,data:n,init:i=!1}=e.data,r=_.current.getModel();if(r){var a=r.getValue();switch(t){case"parse_yaml":var s,{value:o,tokens:l,markers:u}=n;null===(s=W.current)||void 0===s||s.set(l.map((e=>({range:new pe.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),options:{inlineClassName:"highlight"}})))),pe.editor.setModelMarkers(r,"brick_next_yaml",u),k(a,o,!1,i);break;case"parse_yaml_error":var h;pe.editor.setModelMarkers(r,"brick_next_yaml",[]),null==W||null===(h=W.current)||void 0===h||h.set([]),k(a,void 0,!1,i)}}}));return()=>{e.removeEventListener(t)}}}),[]),(0,le.useEffect)((()=>{var e="auto"===y?"dark"===O||"dark-v2"===O?"vs-dark":"vs":y,t=e.includes("dark")?"#FFFFFF0F":"#0000000A";pe.editor.defineTheme("custom-theme",{base:e,inherit:!0,rules:[],colors:{"editor.lineHighlightBackground":"".concat(t)}}),pe.editor.setTheme("custom-theme")}),[O,y]),(0,le.useEffect)((()=>{if(_.current){var e=_.current.getModel();pe.editor.setModelLanguage(e,w)}}),[w]),(0,le.useEffect)((()=>{if("brick_next_yaml"===w){var e=(0,Ee.v)(l,u,x,m),t=pe.languages.registerCompletionItemProvider("brick_next_yaml",{provideCompletionItems:e,triggerCharacters:[".",":","<"]});return()=>{t.dispose()}}}),[l,u,w]);var F=(0,le.useCallback)((e=>{var{init:t=!1}=e;"brick_next_yaml"===w&&_.current&&Me.h.getInstance(x).postMessage({token:"parse_yaml",data:{value:A,links:d,markers:h},options:m,init:t})}),[w,A,m,d,h,x]),V=(0,le.useMemo)((()=>(0,Ce.debounce)(F,300)),[F]);(0,le.useEffect)((()=>{if(_.current){var e=_.current.getModel();null!=e&&e.getValue&&A!==e.getValue()&&(e.setValue(A),V({init:!0}))}}),[A,V]),(0,le.useLayoutEffect)((()=>{var e;if("fit-content"===N.current&&B.current){z.current.width=B.current.getBoundingClientRect().width,null===(e=_.current)||void 0===e||e.layout(z.current);var t=new ResizeObserver((e=>{for(var t of e)if(t.target===B.current){var n,i=t.contentBoxSize?t.contentBoxSize[0].inlineSize:t.contentRect.width,r=t.contentBoxSize?t.contentBoxSize[0].blockSize:t.contentRect.height;(i!==z.current.width||M)&&(z.current.width=i,null===(n=_.current)||void 0===n||n.layout({width:i,height:M?r:z.current.height}));break}}));return t.observe(B.current),()=>{t.disconnect()}}}),[M]),(0,le.useLayoutEffect)((()=>{if("fit-container"===N.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}}(B.current);if(e){var t=new ResizeObserver((()=>{P(e.offsetHeight)}));return t.observe(e),()=>{t.disconnect()}}}}),[]),(0,le.useEffect)((()=>{"fit-container"!==N.current&&"fit-content"!==N.current&&P(E)}),[E]),(0,le.useEffect)((()=>{_.current&&_.current.updateOptions({readOnly:c})}),[c]),(0,le.useEffect)((()=>{if(!_.current&&B.current){var e=pe.editor.createModel(A,w);_.current=pe.editor.create(B.current,{model:e,minimap:{enabled:!1},scrollBeyondLastLine:!1,tabSize:2,insertSpaces:!0,automaticLayout:"fit-content"!==N.current,fontSize:be.yU,lineHeight:be.fE,scrollbar:{horizontalScrollbarSize:be.lP,verticalScrollbarSize:be.lP,horizontalSliderSize:8,verticalSliderSize:8,alwaysConsumeMouseWheel:!1},padding:{top:be.Vu,bottom:"fit-content"==N.current?void 0:be.Vu},overviewRulerBorder:!1,mouseWheelScrollSensitivity:.5,fixedOverflowWidgets:!0,lineNumbersMinChars:3,suggest:{insertMode:"insert",preview:!0},readOnly:c,quickSuggestions:{strings:!0,other:!0,comments:!0},renderLineHighlightOnlyWhenFocus:!0}),W.current=_.current.createDecorationsCollection()}}),[A,w,c]),(0,le.useEffect)((()=>{var e=_.current;if("brick_next_yaml"===w&&e){var t=e.getModel(),n=e.onMouseDown((function(e){var n,i,r=W.current;(null!==(n=null==r||null===(i=r.getRanges)||void 0===i?void 0:i.call(r))&&void 0!==n?n:[]).forEach((n=>{var i=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";n&&e.target.position&&e.event[i]&&n.containsPosition(e.target.position)&&f(t.getValueInRange(n))}))})),i=e.onMouseMove((function(e){var t=W.current;t&&t.getRanges().forEach((n=>{var i=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";if(n&&e.target.position&&e.event[i]&&n.containsPosition(e.target.position)){var r=t.getRanges().map((e=>({range:e,options:{inlineClassName:n.equalsRange(e)?"highlight pointer":"highlight"}})));t.set(r)}else if(!e.event[i]){var a=t.getRanges().map((e=>({range:e,options:{inlineClassName:"highlight"}})));t.set(a)}}))}));return V({init:!0}),()=>{null==i||i.dispose(),null==n||n.dispose()}}}),[w,f,O,y,V]),(0,le.useEffect)((()=>{var e=_.current;if(e&&B.current&&"fit-content"===N.current){var t=e.onDidContentSizeChange((t=>{if(!M&&t.contentHeightChanged){var n=pt(t.contentHeight,C,b);n!==z.current.height&&(z.current.height=n,e.layout(z.current))}})),n=pt(e.getContentHeight(),C,b);return n!==z.current.height&&(z.current.height=n,e.layout(z.current)),()=>{t.dispose()}}}),[b,C,M]),(0,le.useEffect)((()=>{if(_.current){var e=_.current.getModel(),t=e.onDidChangeContent((()=>{(0,Le.J)(x),["brick_next_yaml"].includes(w)?V({init:!1}):k(e.getValue(),void 0,!1,!1)}));return()=>{t.dispose()}}}),[V,k,x,w]),(0,le.useEffect)((()=>{if(M){var e=t=>{"Escape"!==t.key&&"Esc"!==t.key||(window.removeEventListener("keydown",e),L(!1))};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}}}),[M]),(0,le.useEffect)((()=>()=>{var e,t;null===(e=_.current)||void 0===e||null===(e=e.getModel())||void 0===e||e.dispose(),null===(t=_.current)||void 0===t||t.dispose()}),[]);var I=(0,le.useCallback)((()=>{if(_.current){var e=_.current.getModel();Ve(e.getValue()).then((()=>Ie({type:"success",message:S(Se.K.COPY_SUCCESS)}))).catch((()=>Ie({type:"error",message:S(Se.K.COPY_FAILED)})))}}),[S]),K=(0,le.useCallback)((()=>{L(!M)}),[M]);return ue().createElement("div",{className:We()("code-editor-wrapper",{expanded:M,error:"error"===v})},ue().createElement("div",{ref:B,style:{height:M?"100%":R,overflow:M?"scroll":""}}),ue().createElement("div",{className:"toolbar"},p&&ue().createElement(Oe,{content:S(Se.K.COPY)},ue().createElement(Fe,{className:"copy-icon",icon:"copy",lib:"antd",theme:"outlined",onClick:I})),g&&ue().createElement(Oe,{content:S(M?Se.K.COLLAPSE:Se.K.EXPAND)},ue().createElement(Fe,{className:"expand-icon",icon:M?"compress":"expand",lib:"antd",theme:"outlined",onClick:K}))))}function gt(e,t,n){return vt(Math.min(n,Math.max(t,e.split("\n").length)))}function pt(e,t,n){var i=e;return(e-be.Vu)%be.fE==0&&(i=e+be.lP),Math.min(vt(n),Math.max(i,vt(t)))}function vt(e){return e*be.fE+be.lP+be.Vu}i=dt,({e:[a,s,o,l,u,h,c,d,m,g,p,v,k,f,A,w,y,C,b,E,M,L,x,S,B,W,_,z,R,P,N,O,F,V,I,K,q,D,H,T,Y,U,J,X,j,G,Q,Z,$,ee],c:[_e,r]}=(0,oe.A)(i,[ze("vs.code-editor",{shadowOptions:!1})],[[Re(),1,"name"],[Re(),1,"label"],[Re(),1,"value"],[Re(),1,"language"],[Re(),1,"theme"],[Re({type:Boolean}),1,"required"],[Re({type:Boolean}),1,"readOnly"],[Re(),1,"automaticLayout"],[Re({type:Number}),1,"minLines"],[Re({attribute:!1}),1,"completers"],[Re({attribute:!1}),1,"advancedCompleters"],[Re({attribute:!1}),1,"markers"],[Re({attribute:!1}),1,"links"],[Re({type:Number}),1,"maxLines"],[Re({attribute:!1}),1,"height"],[Re(),1,"message"],[Re({type:Boolean}),1,"showExpandButton"],[Re({attribute:!1}),1,"tokenConfig"],[Re({type:Boolean}),1,"showCopyButton"],[Pe({type:"code.change"}),1,"codeChange",e=>(0,se.A)(at,e),(e,t)=>(0,ae.A)(at,e,t)],[Pe({type:"user.input"}),1,"userInput",e=>(0,se.A)(ot,e),(e,t)=>(0,ae.A)(ot,e,t)],[Pe({type:"token.click"}),1,"tokenClickEvent",e=>(0,se.A)(ut,e),(e,t)=>(0,ae.A)(ut,e,t)]],0,(e=>ct.has((0,ie.A)(e))),ge.N)),r()}}]);
|
|
2
|
-
//# sourceMappingURL=code-editor.
|
|
1
|
+
"use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[3722],{32580:(e,t,n)=>{n.r(t),n.d(t,{CodeEditor:()=>_e,CodeEditorComponent:()=>mt});var i,r,a,s,o,l,u,h,c,d,m,g,p,v,k,f,A,w,y,C,b,E,M,L,x,S,B,W,_,z,R,P,N,O,F,V,I,K,q,D,H,T,Y,U,J,X,j,G,Q,Z,$,ee,te=n(74635),ne=n(70918),ie=n(26902),re=n(5536),ae=n(86121),se=n(70829),oe=n(62740),le=n(18769),ue=n.n(le),he=n(93741),ce=n(18594),de=n(46430),me=n(70781),ge=n(30426),pe=n(78573),ve=n(36197),ke=n(23909),fe=n(92257),Ae=n(93135),we=n(91732),ye=n.n(we),Ce=(n(46329),n(72445)),be=n(97137),Ee=n(89956),Me=n(62738),Le=n(44804),xe=n(85502),Se=n(8182),Be=n(53373),We=n.n(Be);n(73569),(0,xe.initializeReactI18n)(Se.NS,Se.I),(0,ve.kz)(pe),(0,ke.kz)(pe),(0,fe.kz)(pe,"brick_next_yaml"),(0,Ae.kz)(pe);var _e,{defineElement:ze,property:Re,event:Pe}=(0,he.createDecorators)(),Ne=(0,de.wrapBrick)("eo-form-item"),Oe=(0,de.wrapBrick)("eo-tooltip"),Fe=(0,de.wrapBrick)("eo-icon"),Ve=(0,ce.unwrapProvider)("basic.copy-to-clipboard"),Ie=(0,ce.unwrapProvider)("basic.show-notification"),Ke=new WeakMap,qe=new WeakMap,De=new WeakMap,He=new WeakMap,Te=new WeakMap,Ye=new WeakMap,Ue=new WeakMap,Je=new WeakMap,Xe=new WeakMap,je=new WeakMap,Ge=new WeakMap,Qe=new WeakMap,Ze=new WeakMap,$e=new WeakMap,et=new WeakMap,tt=new WeakMap,nt=new WeakMap,it=new WeakMap,rt=new WeakMap,at=new WeakMap,st=new WeakSet,ot=new WeakMap,lt=new WeakMap,ut=new WeakMap,ht=new WeakMap,ct=new WeakMap;class dt extends ge.N{constructor(){var e;super(...arguments),e=this,(0,te.A)(this,st),(0,ne.A)(this,Ke,a(this)),(0,ne.A)(this,qe,(s(this),o(this))),(0,ne.A)(this,De,(l(this),u(this))),(0,ne.A)(this,He,(h(this),c(this))),(0,ne.A)(this,Te,(d(this),m(this))),(0,ne.A)(this,Ye,(g(this),p(this))),(0,ne.A)(this,Ue,(v(this),k(this))),(0,ne.A)(this,Je,(f(this),A(this))),(0,ne.A)(this,Xe,(w(this),y(this))),(0,ne.A)(this,je,(C(this),b(this))),(0,ne.A)(this,Ge,(E(this),M(this))),(0,ne.A)(this,Qe,(L(this),x(this))),(0,ne.A)(this,Ze,(S(this),B(this))),(0,ne.A)(this,$e,(W(this),_(this))),(0,ne.A)(this,et,(z(this),R(this))),(0,ne.A)(this,tt,(P(this),N(this))),(0,ne.A)(this,nt,(O(this),F(this))),(0,ne.A)(this,it,(V(this),I(this))),(0,ne.A)(this,rt,(K(this),q(this))),(0,ne.A)(this,at,(D(this),H(this))),(0,ne.A)(this,ot,(U(this),J(this))),(0,ne.A)(this,lt,(G(this),function(t,n,i){var r,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e.value=t,!a&&(null===(r=e.getFormElement())||void 0===r||r.formStore.onChange(e.name,t)),(0,re.A)(st,e,T).emit(t),i||(0,re.A)(st,e,X).emit(n)})),(0,ne.A)(this,ut,Q(this)),(0,ne.A)(this,ht,(ee(this),e=>{(0,re.A)(st,this,Z).emit(e)})),(0,ne.A)(this,ct,(e=>{try{ye().load(e)}catch(e){return"请填写正确的格式"}return""}))}get name(){return(0,se.A)(Ke,this)}set name(e){(0,ae.A)(Ke,this,e)}get label(){return(0,se.A)(qe,this)}set label(e){(0,ae.A)(qe,this,e)}get value(){return(0,se.A)(De,this)}set value(e){(0,ae.A)(De,this,e)}get language(){return(0,se.A)(He,this)}set language(e){(0,ae.A)(He,this,e)}get theme(){return(0,se.A)(Te,this)}set theme(e){(0,ae.A)(Te,this,e)}get required(){return(0,se.A)(Ye,this)}set required(e){(0,ae.A)(Ye,this,e)}get readOnly(){return(0,se.A)(Ue,this)}set readOnly(e){(0,ae.A)(Ue,this,e)}get automaticLayout(){return(0,se.A)(Je,this)}set automaticLayout(e){(0,ae.A)(Je,this,e)}get minLines(){return(0,se.A)(Xe,this)}set minLines(e){(0,ae.A)(Xe,this,e)}get completers(){return(0,se.A)(je,this)}set completers(e){(0,ae.A)(je,this,e)}get advancedCompleters(){return(0,se.A)(Ge,this)}set advancedCompleters(e){(0,ae.A)(Ge,this,e)}get markers(){return(0,se.A)(Qe,this)}set markers(e){(0,ae.A)(Qe,this,e)}get links(){return(0,se.A)(Ze,this)}set links(e){(0,ae.A)(Ze,this,e)}get maxLines(){return(0,se.A)($e,this)}set maxLines(e){(0,ae.A)($e,this,e)}get height(){return(0,se.A)(et,this)}set height(e){(0,ae.A)(et,this,e)}get message(){return(0,se.A)(tt,this)}set message(e){(0,ae.A)(tt,this,e)}get showExpandButton(){return(0,se.A)(nt,this)}set showExpandButton(e){(0,ae.A)(nt,this,e)}get tokenConfig(){return(0,se.A)(it,this)}set tokenConfig(e){(0,ae.A)(it,this,e)}get showCopyButton(){return(0,se.A)(rt,this)}set showCopyButton(e){(0,ae.A)(rt,this,e)}connectedCallback(){this.style.display||(this.style.display="block"),super.connectedCallback()}render(){return ue().createElement(Ne,{curElement:this,formElement:this.getFormElement(),name:this.name,label:this.label,required:this.required,helpBrick:this.helpBrick,labelBrick:this.labelBrick,notRender:this.notRender,validator:(0,se.A)(ct,this)},ue().createElement(mt,{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,tokenConfig:this.tokenConfig,showCopyButton:this.showCopyButton,showExpandButton:this.showExpandButton,validateState:this.validateState,onChange:(0,se.A)(lt,this),onTokenClick:(0,se.A)(ht,this)}))}}function mt(e){var{value:t,language:n,theme:i,minLines:r,maxLines:a,height:s,automaticLayout:o,completers:l,advancedCompleters:u,markers:h,readOnly:c,links:d,tokenConfig:m={showDSKey:!1},showExpandButton:g,showCopyButton:p=!0,validateState:v,onChange:k,onTokenClick:f}=e,A=null!=t?t:"",w=null!=n?n:"plaintext",y=null!=i?i:"auto",C=null!=r?r:3,b=null!=a?a:1/0,E=null!=s?s:500,[M,L]=(0,le.useState)(!1),x=(0,le.useMemo)((()=>(0,Ce.uniqueId)("worker")),[]),{t:S}=(0,xe.useTranslation)(Se.NS),B=(0,le.useRef)(null),W=(0,le.useRef)(),_=(0,le.useRef)(),z=(0,le.useRef)({width:300,height:gt(A,C,b)}),[R,P]=(0,le.useState)(),N=(0,le.useRef)(o),O=(0,me.useCurrentTheme)();(0,le.useEffect)((()=>{if("brick_next_yaml"===w){var e=Me.h.getInstance(x),t=e.addEventListener("message",(e=>{var{token:t,data:n,init:i=!1}=e.data,r=_.current.getModel();if(r){var a=r.getValue();switch(t){case"parse_yaml":var s,{value:o,tokens:l,markers:u}=n;null===(s=W.current)||void 0===s||s.set(l.map((e=>({range:new pe.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),options:{inlineClassName:"highlight"}})))),pe.editor.setModelMarkers(r,"brick_next_yaml",u),k(a,o,!1,i);break;case"parse_yaml_error":var h;pe.editor.setModelMarkers(r,"brick_next_yaml",[]),null==W||null===(h=W.current)||void 0===h||h.set([]),k(a,void 0,!1,i)}}}));return()=>{e.removeEventListener(t)}}}),[]),(0,le.useEffect)((()=>{var e="auto"===y?"dark"===O||"dark-v2"===O?"vs-dark":"vs":y,t=e.includes("dark")?"#FFFFFF0F":"#0000000A";pe.editor.defineTheme("custom-theme",{base:e,inherit:!0,rules:[],colors:{"editor.lineHighlightBackground":"".concat(t)}}),pe.editor.setTheme("custom-theme")}),[O,y]),(0,le.useEffect)((()=>{if(_.current){var e=_.current.getModel();pe.editor.setModelLanguage(e,w)}}),[w]),(0,le.useEffect)((()=>{if("brick_next_yaml"===w){var e=(0,Ee.v)(l,u,x,m),t=pe.languages.registerCompletionItemProvider("brick_next_yaml",{provideCompletionItems:e,triggerCharacters:[".",":","<"]});return()=>{t.dispose()}}}),[l,u,w]);var F=(0,le.useCallback)((e=>{var{init:t=!1}=e;"brick_next_yaml"===w&&_.current&&Me.h.getInstance(x).postMessage({token:"parse_yaml",data:{value:A,links:d,markers:h},options:m,init:t})}),[w,A,m,d,h,x]),V=(0,le.useMemo)((()=>(0,Ce.debounce)(F,300)),[F]);(0,le.useEffect)((()=>{if(_.current){var e=_.current.getModel();null!=e&&e.getValue&&A!==e.getValue()&&(e.setValue(A),V({init:!0}))}}),[A,V]),(0,le.useLayoutEffect)((()=>{var e;if("fit-content"===N.current&&B.current){z.current.width=B.current.getBoundingClientRect().width,null===(e=_.current)||void 0===e||e.layout(z.current);var t=new ResizeObserver((e=>{for(var t of e)if(t.target===B.current){var n,i=t.contentBoxSize?t.contentBoxSize[0].inlineSize:t.contentRect.width,r=t.contentBoxSize?t.contentBoxSize[0].blockSize:t.contentRect.height;(i!==z.current.width||M)&&(z.current.width=i,null===(n=_.current)||void 0===n||n.layout({width:i,height:M?r:z.current.height}));break}}));return t.observe(B.current),()=>{t.disconnect()}}}),[M]),(0,le.useLayoutEffect)((()=>{if("fit-container"===N.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}}(B.current);if(e){var t=new ResizeObserver((()=>{P(e.offsetHeight)}));return t.observe(e),()=>{t.disconnect()}}}}),[]),(0,le.useEffect)((()=>{"fit-container"!==N.current&&"fit-content"!==N.current&&P(E)}),[E]),(0,le.useEffect)((()=>{_.current&&_.current.updateOptions({readOnly:c})}),[c]),(0,le.useEffect)((()=>{if(!_.current&&B.current){var e=pe.editor.createModel(A,w);_.current=pe.editor.create(B.current,{model:e,minimap:{enabled:!1},scrollBeyondLastLine:!1,tabSize:2,insertSpaces:!0,automaticLayout:"fit-content"!==N.current,fontSize:be.yU,lineHeight:be.fE,scrollbar:{horizontalScrollbarSize:be.lP,verticalScrollbarSize:be.lP,horizontalSliderSize:8,verticalSliderSize:8,alwaysConsumeMouseWheel:!1},padding:{top:be.Vu,bottom:"fit-content"==N.current?void 0:be.Vu},overviewRulerBorder:!1,mouseWheelScrollSensitivity:.5,fixedOverflowWidgets:!0,lineNumbersMinChars:3,suggest:{insertMode:"insert",preview:!0},readOnly:c,quickSuggestions:{strings:!0,other:!0,comments:!0},renderLineHighlightOnlyWhenFocus:!0}),W.current=_.current.createDecorationsCollection()}}),[A,w,c]),(0,le.useEffect)((()=>{var e=_.current;if("brick_next_yaml"===w&&e){var t=e.getModel(),n=e.onMouseDown((function(e){var n,i,r=W.current;(null!==(n=null==r||null===(i=r.getRanges)||void 0===i?void 0:i.call(r))&&void 0!==n?n:[]).forEach((n=>{var i=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";n&&e.target.position&&e.event[i]&&n.containsPosition(e.target.position)&&f(t.getValueInRange(n))}))})),i=e.onMouseMove((function(e){var t=W.current;t&&t.getRanges().forEach((n=>{var i=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";if(n&&e.target.position&&e.event[i]&&n.containsPosition(e.target.position)){var r=t.getRanges().map((e=>({range:e,options:{inlineClassName:n.equalsRange(e)?"highlight pointer":"highlight"}})));t.set(r)}else if(!e.event[i]){var a=t.getRanges().map((e=>({range:e,options:{inlineClassName:"highlight"}})));t.set(a)}}))}));return V({init:!0}),()=>{null==i||i.dispose(),null==n||n.dispose()}}}),[w,f,O,y,V]),(0,le.useEffect)((()=>{var e=_.current;if(e&&B.current&&"fit-content"===N.current){var t=e.onDidContentSizeChange((t=>{if(!M&&t.contentHeightChanged){var n=pt(t.contentHeight,C,b);n!==z.current.height&&(z.current.height=n,e.layout(z.current))}})),n=pt(e.getContentHeight(),C,b);return n!==z.current.height&&(z.current.height=n,e.layout(z.current)),()=>{t.dispose()}}}),[b,C,M]),(0,le.useEffect)((()=>{if(_.current){var e=_.current.getModel(),t=e.onDidChangeContent((()=>{(0,Le.J)(x),["brick_next_yaml"].includes(w)?V({init:!1}):k(e.getValue(),void 0,!1,!1)}));return()=>{t.dispose()}}}),[V,k,x,w]),(0,le.useEffect)((()=>{if(M){var e=t=>{"Escape"!==t.key&&"Esc"!==t.key||(window.removeEventListener("keydown",e),L(!1))};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}}}),[M]),(0,le.useEffect)((()=>()=>{var e,t;null===(e=_.current)||void 0===e||null===(e=e.getModel())||void 0===e||e.dispose(),null===(t=_.current)||void 0===t||t.dispose()}),[]);var I=(0,le.useCallback)((()=>{if(_.current){var e=_.current.getModel();Ve(e.getValue()).then((()=>Ie({type:"success",message:S(Se.K.COPY_SUCCESS)}))).catch((()=>Ie({type:"error",message:S(Se.K.COPY_FAILED)})))}}),[S]),K=(0,le.useCallback)((()=>{L(!M)}),[M]);return ue().createElement("div",{className:We()("code-editor-wrapper",{expanded:M,error:"error"===v})},ue().createElement("div",{ref:B,style:{height:M?"100%":R,overflow:M?"scroll":""}}),ue().createElement("div",{className:"toolbar"},p&&ue().createElement(Oe,{content:S(Se.K.COPY)},ue().createElement(Fe,{className:"copy-icon",icon:"copy",lib:"antd",theme:"outlined",onClick:I})),g&&ue().createElement(Oe,{content:S(M?Se.K.COLLAPSE:Se.K.EXPAND)},ue().createElement(Fe,{className:"expand-icon",icon:M?"compress":"expand",lib:"antd",theme:"outlined",onClick:K}))))}function gt(e,t,n){return vt(Math.min(n,Math.max(t,e.split("\n").length)))}function pt(e,t,n){var i=e;return(e-be.Vu)%be.fE==0&&(i=e+be.lP),Math.min(vt(n),Math.max(i,vt(t)))}function vt(e){return e*be.fE+be.lP+be.Vu}i=dt,({e:[a,s,o,l,u,h,c,d,m,g,p,v,k,f,A,w,y,C,b,E,M,L,x,S,B,W,_,z,R,P,N,O,F,V,I,K,q,D,H,T,Y,U,J,X,j,G,Q,Z,$,ee],c:[_e,r]}=(0,oe.A)(i,[ze("vs.code-editor",{shadowOptions:!1})],[[Re(),1,"name"],[Re(),1,"label"],[Re(),1,"value"],[Re(),1,"language"],[Re(),1,"theme"],[Re({type:Boolean}),1,"required"],[Re({type:Boolean}),1,"readOnly"],[Re(),1,"automaticLayout"],[Re({type:Number}),1,"minLines"],[Re({attribute:!1}),1,"completers"],[Re({attribute:!1}),1,"advancedCompleters"],[Re({attribute:!1}),1,"markers"],[Re({attribute:!1}),1,"links"],[Re({type:Number}),1,"maxLines"],[Re({attribute:!1}),1,"height"],[Re(),1,"message"],[Re({type:Boolean}),1,"showExpandButton"],[Re({attribute:!1}),1,"tokenConfig"],[Re({type:Boolean}),1,"showCopyButton"],[Pe({type:"code.change"}),1,"codeChange",e=>(0,se.A)(at,e),(e,t)=>(0,ae.A)(at,e,t)],[Pe({type:"user.input"}),1,"userInput",e=>(0,se.A)(ot,e),(e,t)=>(0,ae.A)(ot,e,t)],[Pe({type:"token.click"}),1,"tokenClickEvent",e=>(0,se.A)(ut,e),(e,t)=>(0,ae.A)(ut,e,t)]],0,(e=>ct.has((0,ie.A)(e))),ge.N)),r()}}]);
|
|
2
|
+
//# sourceMappingURL=code-editor.63895d7d.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/code-editor.27abbf61.js","mappings":"qpBA8CAA,EAAAA,GAAAA,qBAAoBC,GAAAA,GAAIC,GAAAA,IAExBC,EAAAA,GAAAA,IAAmBC,KACnBC,EAAAA,GAAAA,IAAmBD,KACnBE,EAAAA,GAAAA,IAAaF,GAAQ,oBACrBG,EAAAA,GAAAA,IAAaH,IAEb,IAUEI,IAVI,cAAEC,GAAa,SAAEC,GAAQ,MAAEC,KAAUC,EAAAA,GAAAA,oBAErCC,IAAkBC,EAAAA,GAAAA,WAAmC,gBACrDC,IAAiBD,EAAAA,GAAAA,WAAmC,cACpDE,IAAcF,EAAAA,GAAAA,WAAyC,WACvDG,IAAkBC,EAAAA,GAAAA,gBACtB,2BAEIC,IAAmBD,EAAAA,GAAAA,gBACvB,2BACAE,GAAA,IAAAC,QAAAC,GAAA,IAAAD,QAAAE,GAAA,IAAAF,QAAAG,GAAA,IAAAH,QAAAI,GAAA,IAAAJ,QAAAK,GAAA,IAAAL,QAAAM,GAAA,IAAAN,QAAAO,GAAA,IAAAP,QAAAQ,GAAA,IAAAR,QAAAS,GAAA,IAAAT,QAAAU,GAAA,IAAAV,QAAAW,GAAA,IAAAX,QAAAY,GAAA,IAAAZ,QAAAa,GAAA,IAAAb,QAAAc,GAAA,IAAAd,QAAAe,GAAA,IAAAf,QAAAgB,GAAA,IAAAhB,QAAAiB,GAAA,IAAAjB,QAAAkB,GAAA,IAAAlB,QAAAmB,GAAA,IAAAnB,QAAAoB,GAAA,IAAAC,QAAAC,GAAA,IAAAtB,QAAAuB,GAAA,IAAAvB,QAAAwB,GAAA,IAAAxB,QAAAyB,GAAA,IAAAzB,QAAA0B,GAAA,IAAA1B,QA+CF,MAAA2B,WAMyBC,GAAAA,EAA+CC,WAAAA,GAAA,IAAAC,EAAA,SAAAC,WAAAD,EAAAE,MAAAC,EAAAA,GAAAA,GAAA,KAAAb,KAAAc,EAAAA,GAAAA,GAAA,KAAAnC,GAAAoC,EAAA,QAAAD,EAAAA,GAAAA,GAAA,KAAAjC,IAAAmC,EAAA,MAAAC,EAAA,SAAAH,EAAAA,GAAAA,GAAA,KAAAhC,IAAAoC,EAAA,MAAAC,EAAA,SAUtEL,EAAAA,GAAAA,GAAA,KAAA/B,IAAAqC,EAAA,MAAAC,EAAA,SAMAP,EAAAA,GAAAA,GAAA,KAAA9B,IAAAsC,EAAA,MAAAC,EAAA,SAAAT,EAAAA,GAAAA,GAAA,KAAA7B,IAAAuC,EAAA,MAAAC,EAAA,SAAAX,EAAAA,GAAAA,GAAA,KAAA5B,IAAAwC,EAAA,MAAAC,EAAA,SAAAb,EAAAA,GAAAA,GAAA,KAAA3B,IAAAyC,EAAA,MAAAC,EAAA,SAyBAf,EAAAA,GAAAA,GAAA,KAAA1B,IAAA0C,EAAA,MAAAC,EAAA,SAAAjB,EAAAA,GAAAA,GAAA,KAAAzB,IAAA2C,EAAA,MAAAC,EAAA,SAAAnB,EAAAA,GAAAA,GAAA,KAAAxB,IAAA4C,EAAA,MAAAC,EAAA,SAAArB,EAAAA,GAAAA,GAAA,KAAAvB,IAAA6C,EAAA,MAAAC,EAAA,SAAAvB,EAAAA,GAAAA,GAAA,KAAAtB,IAAA8C,EAAA,MAAAC,EAAA,SA8BAzB,EAAAA,GAAAA,GAAA,KAAArB,IAAA+C,EAAA,MAAAC,EAAA,SAAA3B,EAAAA,GAAAA,GAAA,KAAApB,IAAAgD,EAAA,MAAAC,EAAA,SAAA7B,EAAAA,GAAAA,GAAA,KAAAnB,IAAAiD,EAAA,MAAAC,EAAA,SAYA/B,EAAAA,GAAAA,GAAA,KAAAlB,IAAAkD,EAAA,MAAAC,EAAA,SAMAjC,EAAAA,GAAAA,GAAA,KAAAjB,IAAAmD,EAAA,MAAAC,EAAA,SAQAnC,EAAAA,GAAAA,GAAA,KAAAhB,IAAAoD,EAAA,MAAAC,EAAA,SAAArC,EAAAA,GAAAA,GAAA,KAAAf,IAAAqD,EAAA,MAAAC,EAAA,SAAAvC,EAAAA,GAAAA,GAAA,KAAAZ,IAAAoD,EAAA,MAAAC,EAAA,SAAAzC,EAAAA,GAAAA,GAAA,KAAAX,IAAAqD,EAAA,MAagB,SACdC,EACAC,EACAC,GAEG,IAAAC,EADHC,EAAelD,UAAAmD,OAAA,QAAAC,IAAApD,UAAA,IAAAA,UAAA,GAEfD,EAAK+C,MAAQA,GACZI,IAA+B,QAAzBD,EAAIlD,EAAKsD,wBAAgB,IAAAJ,GAArBA,EAAuBK,UAAUC,SAASxD,EAAKyD,KAAOV,KACjEW,EAAAA,GAAAA,GAAApE,GAAAU,EAAI2D,GAAaC,KAAKb,GACjBE,IACHS,EAAAA,GAAAA,GAAApE,GAAAU,EAAI6D,GAAYD,KAAKZ,EAEzB,KAAC5C,EAAAA,GAAAA,GAAA,KAAAV,GAAAoE,EAAA,QAAA1D,EAAAA,GAAAA,GAAA,KAAAT,IAAAoE,GAAA,MAKoBC,KACnBN,EAAAA,GAAAA,GAAApE,GAAAY,KAAI+D,GAAkBL,KAAKI,EAAK,KACjC5D,EAAAA,GAAAA,GAAA,KAAAR,IAEkBmD,IACjB,IACEmB,KAAAA,KAAUnB,EACZ,CAAE,MAAAoB,GACA,MAAO,UACT,CACA,MAAO,EAAE,GACV,SAxIQV,GAAI,OAAAW,EAAAA,GAAAA,GAAAnG,GAAA,cAAJwF,CAAIY,IAAAC,EAAAA,GAAAA,GAAArG,GAAA,KAAAoG,EAAA,UAGJE,GAAK,OAAAH,EAAAA,GAAAA,GAAAjG,GAAA,eAALoG,CAAKF,IAAAC,EAAAA,GAAAA,GAAAnG,GAAA,KAAAkG,EAAA,UAGLtB,GAAK,OAAAqB,EAAAA,GAAAA,GAAAhG,GAAA,eAAL2E,CAAKsB,IAAAC,EAAAA,GAAAA,GAAAlG,GAAA,KAAAiG,EAAA,aAMLG,GAAQ,OAAAJ,EAAAA,GAAAA,GAAA/F,GAAA,kBAARmG,CAAQH,IAAAC,EAAAA,GAAAA,GAAAjG,GAAA,KAAAgG,EAAA,UAQII,GAAK,OAAAL,EAAAA,GAAAA,GAAA9F,GAAA,eAALmG,CAAKJ,IAAAC,EAAAA,GAAAA,GAAAhG,GAAA,KAAA+F,EAAA,aAKjBK,GAAQ,OAAAN,EAAAA,GAAAA,GAAA7F,GAAA,kBAARmG,CAAQL,IAAAC,EAAAA,GAAAA,GAAA/F,GAAA,KAAA8F,EAAA,aAKRM,GAAQ,OAAAP,EAAAA,GAAAA,GAAA5F,GAAA,kBAARmG,CAAQN,IAAAC,EAAAA,GAAAA,GAAA9F,GAAA,KAAA6F,EAAA,oBAGRO,GAAe,OAAAR,EAAAA,GAAAA,GAAA3F,GAAA,yBAAfmG,CAAeP,IAAAC,EAAAA,GAAAA,GAAA7F,GAAA,KAAA4F,EAAA,aAUfQ,GAAQ,OAAAT,EAAAA,GAAAA,GAAA1F,GAAA,kBAARmG,CAAQR,IAAAC,EAAAA,GAAAA,GAAA5F,GAAA,KAAA2F,EAAA,eAKRS,GAAU,OAAAV,EAAAA,GAAAA,GAAAzF,GAAA,oBAAVmG,CAAUT,IAAAC,EAAAA,GAAAA,GAAA3F,GAAA,KAAA0F,EAAA,uBAKVU,GAAkB,OAAAX,EAAAA,GAAAA,GAAAxF,GAAA,4BAAlBmG,CAAkBV,IAAAC,EAAAA,GAAAA,GAAA1F,GAAA,KAAAyF,EAAA,YAWlBW,GAAO,OAAAZ,EAAAA,GAAAA,GAAAvF,GAAA,iBAAPmG,CAAOX,IAAAC,EAAAA,GAAAA,GAAAzF,GAAA,KAAAwF,EAAA,UAGPY,GAAK,OAAAb,EAAAA,GAAAA,GAAAtF,GAAA,eAALmG,CAAKZ,IAAAC,EAAAA,GAAAA,GAAAxF,GAAA,KAAAuF,EAAA,aAMLa,GAAQ,OAAAd,EAAAA,GAAAA,GAAArF,GAAA,kBAARmG,CAAQb,IAAAC,EAAAA,GAAAA,GAAAvF,GAAA,KAAAsF,EAAA,WAGRc,GAAM,OAAAf,EAAAA,GAAAA,GAAApF,GAAA,gBAANmG,CAAMd,IAAAC,EAAAA,GAAAA,GAAAtF,GAAA,KAAAqF,EAAA,YAGNe,GAAO,OAAAhB,EAAAA,GAAAA,GAAAnF,GAAA,iBAAPmG,CAAOf,IAAAC,EAAAA,GAAAA,GAAArF,GAAA,KAAAoF,EAAA,qBAMPgB,GAAgB,OAAAjB,EAAAA,GAAAA,GAAAlF,GAAA,0BAAhBmG,CAAgBhB,IAAAC,EAAAA,GAAAA,GAAApF,GAAA,KAAAmF,EAAA,gBAQhBiB,GAAW,OAAAlB,EAAAA,GAAAA,GAAAjF,GAAA,qBAAXmG,CAAWjB,IAAAC,EAAAA,GAAAA,GAAAnF,GAAA,KAAAkF,EAAA,mBAOXkB,GAAc,OAAAnB,EAAAA,GAAAA,GAAAhF,GAAA,wBAAdmG,CAAclB,IAAAC,EAAAA,GAAAA,GAAAlF,GAAA,KAAAiF,EAAA,CAsCvBmB,iBAAAA,GAGOtF,KAAKuF,MAAMC,UACdxF,KAAKuF,MAAMC,QAAU,SAEvBC,MAAMH,mBACR,CAEAI,MAAAA,GACE,OACEC,KAAAA,cAACnI,GAAe,CACdoI,WAAY5F,KACZ6F,YAAa7F,KAAKoD,iBAClBG,KAAMvD,KAAKuD,KACXc,MAAOrE,KAAKqE,MACZG,SAAUxE,KAAKwE,SACfsB,UAAW9F,KAAK8F,UAChBC,WAAY/F,KAAK+F,WACjBC,UAAWhG,KAAKgG,UAChBC,WAAS/B,EAAAA,GAAAA,GAAAxE,GAAEM,OAEX2F,KAAAA,cAACO,GAAmB,CAClBrD,MAAO7C,KAAK6C,MACZyB,SAAUtE,KAAKsE,SACfG,SAAUzE,KAAKyE,SACfF,MAAOvE,KAAKuE,MACZG,gBAAiB1E,KAAK0E,gBACtBC,SAAU3E,KAAK2E,SACfK,SAAUhF,KAAKgF,SACfC,OAAQjF,KAAKiF,OACbL,WAAY5E,KAAK4E,WACjBC,mBAAoB7E,KAAK6E,mBACzBC,QAAS9E,KAAK8E,QACdC,MAAO/E,KAAK+E,MACZK,YAAapF,KAAKoF,YAClBC,eAAgBrF,KAAKqF,eACrBF,iBAAkBnF,KAAKmF,iBACvBgB,cAAenG,KAAKmG,cACpB7C,UAAQY,EAAAA,GAAAA,GAAA3E,GAAES,MACVoG,cAAYlC,EAAAA,GAAAA,GAAAzE,GAAEO,QAItB,EAGK,SAASkG,GAAmBG,GA6BhC,IA5BDxD,MAAOyD,EACPhC,SAAUiC,EACVhC,MAAOiC,EACP7B,SAAU8B,EACVzB,SAAU0B,EACVzB,OAAQ0B,EAAO,gBACfjC,EAAe,WACfE,EAAU,mBACVC,EAAkB,QAClBC,EAAO,SACPL,EAAQ,MACRM,EAAK,YACLK,EAAc,CACZwB,WAAW,GACZ,iBACDzB,EAAgB,eAChBE,GAAiB,EAAI,cACrBc,EAAa,SACb7C,EAAQ,aACR8C,GASDC,EACOxD,EAAQyD,QAAAA,EAAU,GAClBhC,EAAWiC,QAAAA,EAAa,YACxBhC,EAAQiC,QAAAA,EAAU,OAClB7B,EAAW8B,QAAAA,EAAa,EACxBzB,EAAW0B,QAAAA,EAAaG,IACxB5B,EAAS0B,QAAAA,EAAW,KACnBG,EAAUC,IAAeC,EAAAA,GAAAA,WAAS,GACnCC,GAAWC,EAAAA,GAAAA,UAAQ,KAAMC,EAAAA,GAAAA,UAAS,WAAW,KAE7C,EAAEC,IAAMC,EAAAA,GAAAA,gBAAezK,GAAAA,IAEvB0K,GAAeC,EAAAA,GAAAA,QAAuB,MACtCC,GACJD,EAAAA,GAAAA,UACIE,GAAYF,EAAAA,GAAAA,UACZG,GAAOH,EAAAA,GAAAA,QAAiC,CAC5CI,MAAO,IACP1C,OAAQ2C,GAAuB/E,EAAO8B,EAAUK,MAE3C6C,EAAcC,IAAmBd,EAAAA,GAAAA,YAElCe,GAAqBR,EAAAA,GAAAA,QAAO7C,GAC5BsD,GAAcC,EAAAA,GAAAA,oBAEpBC,EAAAA,GAAAA,YAAU,KACR,GAAiB,oBAAb5D,EAAJ,CACA,IAAM6D,EAAiBC,GAAAA,EAAUC,YAAYpB,GACvCqB,EAAKH,EAAeI,iBAAiB,WAAYrD,IACrD,IAAM,MAAEsD,EAAK,KAAEC,EAAI,KAAEC,GAAO,GAAUxD,EAAQuD,KACxCE,EAAQlB,EAAUmB,QAASC,WACjC,GAAKF,EAAL,CACA,IAAMG,EAAcH,EAAMI,WAE1B,OAAQP,GACN,IAAK,aAAc,IAAAQ,GACTnG,MAAAA,EAAK,OAAEoG,EAAQnE,QAAAA,GAAY2D,EAEN,QAA7BO,EAAAxB,EAAsBoB,eAAO,IAAAI,GAA7BA,EAA+BE,IAC7BD,EAAOE,KAAKX,IAAU,CACpBY,MAAO,IAAIrM,GAAAA,MACTyL,EAAMa,gBACNb,EAAMc,YACNd,EAAMe,cACNf,EAAMgB,WAERC,QAAS,CACPC,gBAAiB,kBAIvB3M,GAAAA,OAAc4M,gBAAgBhB,EAAO,kBAAmB7D,GACxDxB,EAASwF,EAAajG,GAAO,EAAO6F,GACpC,MAEF,IAAK,mBAAoB,IAAAkB,EACvB7M,GAAAA,OAAc4M,gBAAgBhB,EAAO,kBAAmB,IACxDnB,SAA8B,QAAToC,EAArBpC,EAAuBoB,eAAO,IAAAgB,GAA9BA,EAAgCV,IAAI,IACpC5F,EAASwF,OAAa3F,GAAW,EAAOuF,GA3B1B,CA8BlB,IAEF,MAAO,KACLP,EAAe0B,oBAAoBvB,EAAG,CAtCE,CAuCzC,GACA,KAEHJ,EAAAA,GAAAA,YAAU,KACR,IAAM4B,EACM,SAAVvF,EACoB,SAAhByD,GAA0C,YAAhBA,EACxB,UACA,KACFzD,EACAwF,EAAuBD,EAAcE,SAAS,QAChD,YACA,YACJjN,GAAAA,OAAckN,YAAY,eAAgB,CACxCC,KAAMJ,EACNK,SAAS,EACTC,MAAO,GACPC,OAAQ,CACN,iCAAkC,GAAFC,OAAKP,MAKzChN,GAAAA,OAAcwN,SAAS,eAAe,GACrC,CAACvC,EAAazD,KAEjB2D,EAAAA,GAAAA,YAAU,KACR,GAAIT,EAAUmB,QAAS,CACrB,IAAM4B,EAAe/C,EAAUmB,QAAQC,WACvC9L,GAAAA,OAAc0N,iBAAiBD,EAAclG,EAC/C,IACC,CAACA,KAEJ4D,EAAAA,GAAAA,YAAU,KACR,GAAiB,oBAAb5D,EAAgC,CAClC,IAAMoG,GAAyBC,EAAAA,GAAAA,GAC7B/F,EACAC,EACAoC,EACA7B,GAEIwF,EAAoB7N,GAAAA,UAAiB8N,+BACzC,kBACA,CACEH,yBACAI,kBAAmB,CAAC,IAAK,IAAK,OAGlC,MAAO,KACLF,EAAkBG,SAAS,CAE/B,IACC,CAACnG,EAAYC,EAAoBP,IAEpC,IAAM0G,GAAYC,EAAAA,GAAAA,cAChBC,IAA0C,IAAzC,KAAExC,GAAO,GAA2BwC,EAClB,oBAAb5G,GAAmCmD,EAAUmB,SAC1BR,GAAAA,EAAUC,YAAYpB,GAC9BkE,YAAY,CACzB3C,MAAO,aACPC,KAAM,CACJ5F,QACAkC,QACAD,WAEF2E,QAASrE,EACTsD,QACA,GAEJ,CAACpE,EAAUzB,EAAOuC,EAAaL,EAAOD,EAASmC,IAG3CmE,GAAgBlE,EAAAA,GAAAA,UAAQ,KAAMmE,EAAAA,GAAAA,UAASL,EAAW,MAAM,CAACA,KAE/D9C,EAAAA,GAAAA,YAAU,KACR,GAAIT,EAAUmB,QAAS,CACrB,IAAM4B,EAAe/C,EAAUmB,QAAQC,WACnC2B,SAAAA,EAAczB,UAAYlG,IAAU2H,EAAazB,aACnDyB,EAAac,SAASzI,GACtBuI,EAAc,CACZ1C,MAAM,IAGZ,IACC,CAAC7F,EAAOuI,KAEXG,EAAAA,GAAAA,kBAAgB,KAAM,IAAAC,EACpB,GAAmC,gBAA/BzD,EAAmBa,SAA8BtB,EAAasB,QAAlE,CAIAlB,EAAKkB,QAAQjB,MAAQL,EAAasB,QAAQ6C,wBAAwB9D,MACjD,QAAjB6D,EAAA/D,EAAUmB,eAAO,IAAA4C,GAAjBA,EAAmBE,OAAOhE,EAAKkB,SAE/B,IAAM+C,EAAW,IAAIC,gBAAgBC,IACnC,IAAK,IAAMC,KAASD,EAClB,GAAIC,EAAMC,SAAWzE,EAAasB,QAAS,CACzC,IAMiDoD,EAN3CC,EAAWH,EAAMI,eACnBJ,EAAMI,eAAe,GAAGC,WACxBL,EAAMM,YAAYzE,MAChB0E,EAAYP,EAAMI,eACpBJ,EAAMI,eAAe,GAAGI,UACxBR,EAAMM,YAAYnH,QAClBgH,IAAavE,EAAKkB,QAAQjB,OAASb,KACrCY,EAAKkB,QAAQjB,MAAQsE,EACJ,QAAjBD,EAAAvE,EAAUmB,eAAO,IAAAoD,GAAjBA,EAAmBN,OAAO,CACxB/D,MAAOsE,EACPhH,OAAQ6B,EAAWuF,EAAY3E,EAAKkB,QAAQ3D,UAGhD,KACF,CACF,IAIF,OAFA0G,EAASY,QAAQjF,EAAasB,SAEvB,KACL+C,EAASa,YAAY,CA5BvB,CA6BC,GACA,CAAC1F,KAEJyE,EAAAA,GAAAA,kBAAgB,KACd,GAAmC,kBAA/BxD,EAAmBa,QAAvB,CAIA,IAAM6D,EAgUV,SAAyBC,GAEvB,IADA,IAAIC,EAAQD,EACLC,GAAO,CACZ,IAAMC,EAAwC,mBAAhCD,EAAME,QAAQC,cAE5B,GADAH,EAAQA,EAAMI,cACVH,EACF,OAAOD,CAEX,CACF,CAzUsBK,CAAgB1F,EAAasB,SAC/C,GAAK6D,EAAL,CAIA,IAAMd,EAAW,IAAIC,gBAAe,KAClC9D,EAAgB2E,EAAUQ,aAAa,IAGzC,OADAtB,EAASY,QAAQE,GACV,KACLd,EAASa,YAAY,CAPvB,CALA,CAaC,GACA,KAEHtE,EAAAA,GAAAA,YAAU,KAEyB,kBAA/BH,EAAmBa,SACY,gBAA/Bb,EAAmBa,SAEnBd,EAAgB7C,EAClB,GACC,CAACA,KAEJiD,EAAAA,GAAAA,YAAU,KACHT,EAAUmB,SACfnB,EAAUmB,QAAQsE,cAAc,CAC9BzI,YACA,GACD,CAACA,KAEJyD,EAAAA,GAAAA,YAAU,KACR,IAAIT,EAAUmB,SAAYtB,EAAasB,QAAvC,CAGA,IAAMD,EAAQ5L,GAAAA,OAAcoQ,YAAYtK,EAAOyB,GAC/CmD,EAAUmB,QAAU7L,GAAAA,OAAcqQ,OAAO9F,EAAasB,QAAS,CAC7DD,QACA0E,QAAS,CACPC,SAAS,GAEXC,sBAAsB,EACtBC,QAAS,EACTC,cAAc,EACd/I,gBAAgD,gBAA/BqD,EAAmBa,QACpC8E,SAAUC,GAAAA,GACVC,WAAYC,GAAAA,GACZC,UAAW,CACTC,wBAAyBC,GAAAA,GACzBC,sBAAuBD,GAAAA,GACvBE,qBAAsB,EACtBC,mBAAoB,EACpBC,yBAAyB,GAE3BC,QAAS,CACPC,IAAKC,GAAAA,GAGLC,OACgC,eAA9BzG,EAAmBa,aACfzF,EACAoL,GAAAA,IAERE,qBAAqB,EACrBC,4BAA6B,GAC7BC,sBAAsB,EACtBC,oBAAqB,EACrBC,QAAS,CACPC,WAAY,SACZC,SAAS,GAEXtK,SAAUA,EACVuK,iBAAkB,CAAEC,SAAS,EAAMC,OAAO,EAAMC,UAAU,GAC1DC,kCAAkC,IAGpC5H,EAAsBoB,QACpBnB,EAAUmB,QAAQyG,6BA3CpB,CA2CiD,GAChD,CAACxM,EAAOyB,EAAUG,KAErByD,EAAAA,GAAAA,YAAU,KACR,IAAMoH,EAAS7H,EAAUmB,QACzB,GAAiB,oBAAbtE,GAAkCgL,EAAQ,CAC5C,IAAM3G,EAAQ2G,EAAOzG,WACf0G,EAAuBD,EAAOE,aAAY,SAAUC,GAAG,IAAAC,EAAAC,EACrDC,EAAcpI,EAAsBoB,SACf,QAA3B8G,EAACE,SAAsB,QAAXD,EAAXC,EAAaC,iBAAS,IAAAF,OAAA,EAAtBA,EAAAG,KAAAF,UAA0B,IAAAF,EAAAA,EAAI,IAAIK,SAAS3G,IAC1C,IAAM4G,EAAS,uBAAuBC,KAAKC,UAAUC,UACjD,UACA,UAEF/G,GACAqG,EAAE1D,OAAOqE,UACTX,EAAEnS,MAAM0S,IACR5G,EAAMiH,iBAAiBZ,EAAE1D,OAAOqE,WAEhChK,EAAauC,EAAM2H,gBAAgBlH,GACrC,GAEJ,IAEMmH,EAAiBjB,EAAOkB,aAAY,SAAUf,GAClD,IAAMG,EAAcpI,EAAsBoB,QACrCgH,GACLA,EAAYC,YAAYE,SAAS3G,IAC/B,IAAM4G,EAAS,uBAAuBC,KAAKC,UAAUC,UACjD,UACA,UACJ,GACE/G,GACAqG,EAAE1D,OAAOqE,UACTX,EAAEnS,MAAM0S,IACR5G,EAAMiH,iBAAiBZ,EAAE1D,OAAOqE,UAChC,CACA,IAAMK,EAAiBb,EAAYC,YAAY1G,KAAKuH,IAAI,CACtDtH,MAAOsH,EACPjH,QAAS,CACPC,gBAAiBN,EAAMuH,YAAYD,GAC/B,oBACA,iBAGRd,EAAY1G,IAAIuH,EAClB,MAAO,IAAKhB,EAAEnS,MAAM0S,GAAS,CAC3B,IAAMS,EAAiBb,EAAYC,YAAY1G,KAAKuH,IAAI,CACtDtH,MAAOsH,EACPjH,QAAS,CACPC,gBAAiB,iBAGrBkG,EAAY1G,IAAIuH,EAClB,IAEJ,IAMA,OAJArF,EAAc,CACZ1C,MAAM,IAGD,KACL6H,SAAAA,EAAgBxF,UAChBwE,SAAAA,EAAsBxE,SAAS,CAEnC,IACC,CAACzG,EAAU8B,EAAc4B,EAAazD,EAAO6G,KAEhDlD,EAAAA,GAAAA,YAAU,KACR,IAAMoH,EAAS7H,EAAUmB,QACzB,GACG0G,GACAhI,EAAasB,SACiB,gBAA/Bb,EAAmBa,QAHrB,CAQA,IAAMgI,EAAWtB,EAAOuB,wBAAwBpB,IAC9C,IAAI3I,GACA2I,EAAEqB,qBAAsB,CAC1B,IAAMzE,EAAY0E,GAChBtB,EAAEuB,cACFrM,EACAK,GAEEqH,IAAc3E,EAAKkB,QAAQ3D,SAC7ByC,EAAKkB,QAAQ3D,OAASoH,EACtBiD,EAAO5D,OAAOhE,EAAKkB,SAEvB,KAGIyD,EAAY0E,GAChBzB,EAAO2B,mBACPtM,EACAK,GAOF,OALIqH,IAAc3E,EAAKkB,QAAQ3D,SAC7ByC,EAAKkB,QAAQ3D,OAASoH,EACtBiD,EAAO5D,OAAOhE,EAAKkB,UAGd,KACLgI,EAAS7F,SAAS,CA5BpB,CA6BC,GACA,CAAC/F,EAAUL,EAAUmC,KAExBoB,EAAAA,GAAAA,YAAU,KACR,GAAKT,EAAUmB,QAAf,CAGA,IAAM4B,EAAe/C,EAAUmB,QAAQC,WACjC+H,EAAWpG,EAAa0G,oBAAmB,MAC/CC,EAAAA,GAAAA,GAAYlK,GACR,CAAC,mBAAmB+C,SAAS1F,GAC/B8G,EAAc,CACZ1C,MAAM,IAGRpF,EAASkH,EAAazB,gBAAY5F,GAAW,GAAO,EACtD,IAEF,MAAO,KACLyN,EAAS7F,SAAS,CAbpB,CAcC,GACA,CAACK,EAAe9H,EAAU2D,EAAU3C,KAEvC4D,EAAAA,GAAAA,YAAU,KACR,GAAIpB,EAAU,CACZ,IAAMsK,EAAM3B,IACI,WAAVA,EAAE4B,KAA8B,QAAV5B,EAAE4B,MAC1BC,OAAOzH,oBAAoB,UAAWuH,GACtCrK,GAAY,GACd,EAGF,OADAuK,OAAO/I,iBAAiB,UAAW6I,GAC5B,KACLE,OAAOzH,oBAAoB,UAAWuH,EAAG,CAE7C,IACC,CAACtK,KAEJoB,EAAAA,GAAAA,YAAU,IACD,KAAM,IAAAqJ,EAAAC,EACM,QAAjBD,EAAA9J,EAAUmB,eAAO,IAAA2I,GAAY,QAAZA,EAAjBA,EAAmB1I,kBAAU,IAAA0I,GAA7BA,EAA+BxG,UACd,QAAjByG,EAAA/J,EAAUmB,eAAO,IAAA4I,GAAjBA,EAAmBzG,SAAS,GAE7B,IAEH,IAAM0G,GAAsBxG,EAAAA,GAAAA,cAAY,KACtC,GAAIxD,EAAUmB,QAAS,CACrB,IAAM4B,EAAe/C,EAAUmB,QAAQC,WACvCjL,GAAgB4M,EAAazB,YAC1B2I,MAAK,IACJ5T,GAAiB,CAAE6T,KAAM,UAAWzM,QAASkC,EAAEwK,GAAAA,EAAEC,kBAElDC,OAAM,IACLhU,GAAiB,CAAE6T,KAAM,QAASzM,QAASkC,EAAEwK,GAAAA,EAAEG,gBAErD,IACC,CAAC3K,IAEE4K,GAAsB/G,EAAAA,GAAAA,cAAY,KACtClE,GAAaD,EAAS,GACrB,CAACA,IAEJ,OACEnB,KAAAA,cAAA,OACEsM,UAAWC,KAAW,sBAAuB,CAC3CpL,WACAqL,MAAyB,UAAlBhM,KAGTR,KAAAA,cAAA,OACEyM,IAAK9K,EACL/B,MAAO,CACLN,OAAQ6B,EAAW,OAASe,EAC5BwK,SAAUvL,EAAW,SAAW,MAGpCnB,KAAAA,cAAA,OAAKsM,UAAU,WACZ5M,GACCM,KAAAA,cAACjI,GAAc,CAAC4U,QAASlL,EAAEwK,GAAAA,EAAEW,OAC3B5M,KAAAA,cAAChI,GAAW,CACVsU,UAAU,YACVO,KAAK,OACLC,IAAI,OACJlO,MAAM,WACNmO,QAASjB,KAIdtM,GACCQ,KAAAA,cAACjI,GAAc,CACb4U,QAAqBlL,EAAXN,EAAa8K,GAAAA,EAAEe,SAAcf,GAAAA,EAAEgB,SAEzCjN,KAAAA,cAAChI,GAAW,CACVsU,UAAU,cACVO,KAAM1L,EAAW,WAAa,SAC9B2L,IAAI,OACJlO,MAAM,WACNmO,QAASV,MAOvB,CAEA,SAASpK,GACPiL,EACAlO,EACAK,GAEA,OAAO8N,GACLC,KAAKC,IAAIhO,EAAU+N,KAAKE,IAAItO,EAAUkO,EAAKK,MAAM,MAAMhQ,SAE3D,CAEA,SAAS6N,GACPC,EACArM,EACAK,GAEA,IAAImO,EAAcnC,EAIlB,OAHKA,EAAgBzC,GAAAA,IAA2BV,GAAAA,IAAuB,IACrEsF,EAAcnC,EAAgBhD,GAAAA,IAEzB+E,KAAKC,IACVF,GAAwB9N,GACxB+N,KAAKE,IAAIE,EAAaL,GAAwBnO,IAElD,CAEA,SAASmO,GAAwBM,GAC/B,OACEA,EAAQvF,GAAAA,GAAqBG,GAAAA,GAAwBO,GAAAA,EAEzD,CA3hBC8E,EAAA1T,KAAA8P,GAAAtP,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAgB,EAAA6P,EAAA5Q,EAAAC,EAAAgB,EAAA4P,EAAA3Q,EAAAgB,EAAAG,EAAAyP,EAAA3P,IAAA4P,GAAAtW,GAAAuW,KAAAC,EAAAA,GAAAA,GAAAN,EAAA,CA/LAjW,GAAc,iBAAkB,CAI/BwW,eAAe,KACf,EAECvW,KAAU,WAGVA,KAAU,YAGVA,KAAU,YAMVA,KAAU,eASVA,KAAU,YAEVA,GAAS,CACRsU,KAAMkC,UACN,eAGDxW,GAAS,CACRsU,KAAMkC,UACN,eAGDxW,KAAU,sBAUVA,GAAS,CAAEsU,KAAMmC,SAAS,eAG1BzW,GAAS,CACR0W,WAAW,IACX,iBAGD1W,GAAS,CACR0W,WAAW,IACX,yBAWD1W,GAAS,CAAE0W,WAAW,IAAQ,cAG9B1W,GAAS,CAAE0W,WAAW,IAAQ,YAM9B1W,GAAS,CAAEsU,KAAMmC,SAAS,eAG1BzW,GAAS,CAAE0W,WAAW,IAAQ,aAG9B1W,KAAU,cAMVA,GAAS,CAAEsU,KAAMkC,UAAU,uBAM3BxW,GAAS,CACR0W,WAAW,IACX,kBAOD1W,GAAS,CAAEsU,KAAMkC,UAAU,qBAG3BvW,GAAM,CAAEqU,KAAM,gBAAgB,eAAAqC,IAAA9P,EAAAA,GAAAA,GAAA/E,GAAA6U,GAAA,CAAAA,EAAA7P,KAAAC,EAAAA,GAAAA,GAAAjF,GAAA6U,EAAA7P,IAAA,CAG9B7G,GAAM,CAAEqU,KAAM,eAAe,cAAAqC,IAAA9P,EAAAA,GAAAA,GAAA5E,GAAA0U,GAAA,CAAAA,EAAA7P,KAAAC,EAAAA,GAAAA,GAAA9E,GAAA0U,EAAA7P,IAAA,CAiB7B7G,GAAM,CAAEqU,KAAM,gBAAgB,oBAAAqC,IAAA9P,EAAAA,GAAAA,GAAA1E,GAAAwU,GAAA,CAAAA,EAAA7P,KAAAC,EAAAA,GAAAA,GAAA5E,GAAAwU,EAAA7P,KAAA,GAAA8P,GAAAvU,GAAAwU,KAAAC,EAAAA,GAAAA,GAAAF,KA5HRrU,GAAAA,IAAmB8T,G","sources":["webpack:///./src/code-editor/index.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport { register as registerJavaScript } from \"@next-core/monaco-contributions/javascript\";\nimport { register as registerTypeScript } from \"@next-core/monaco-contributions/typescript\";\nimport { register as registerYaml } from \"@next-core/monaco-contributions/yaml\";\nimport { register as registerHtml } from \"@next-core/monaco-contributions/html\";\nimport yaml from \"js-yaml\";\nimport \"@next-core/theme\";\nimport { uniqueId, debounce } from \"lodash\";\nimport {\n EDITOR_SCROLLBAR_SIZE,\n EDITOR_PADDING_VERTICAL,\n EDITOR_LINE_HEIGHT,\n EDITOR_FONT_SIZE,\n} from \"./constants.js\";\nimport { brickNextYAMLProviderCompletionItems } from \"./utils/brickNextYaml.js\";\nimport { Level } from \"./utils/constants.js\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { VSWorkers } from \"./workers/index.mjs\";\nimport { setEditorId } from \"./utils/editorId.js\";\nimport type { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport type { copyToClipboard as _copyToClipboard } from \"@next-bricks/basic/data-providers/copy-to-clipboard\";\nimport type { showNotification as _showNotification } from \"@next-bricks/basic/data-providers/show-notification/show-notification\";\nimport classNames from \"classnames\";\nimport \"./index.css\";\n\ninitializeReactI18n(NS, locales);\n\nregisterJavaScript(monaco);\nregisterTypeScript(monaco);\nregisterYaml(monaco, \"brick_next_yaml\");\nregisterHtml(monaco);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedTooltip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst copyToClipboard = unwrapProvider<typeof _copyToClipboard>(\n \"basic.copy-to-clipboard\"\n);\nconst showNotification = unwrapProvider<typeof _showNotification>(\n \"basic.show-notification\"\n);\n\nexport interface CodeEditorProps {\n name?: string;\n label?: string;\n value?: string;\n language?: string;\n theme?: string;\n required?: boolean;\n readOnly?: boolean;\n automaticLayout?: \"fit-container\" | \"fit-content\" | \"none\";\n minLines?: number;\n maxLines?: number;\n height?: string | number;\n completers?: monaco.languages.CompletionItem[];\n tokenConfig?: TokenConfig;\n advancedCompleters?: Record<\n string,\n { triggerCharacter: string; completers: monaco.languages.CompletionItem[] }\n >;\n markers?: Marker[];\n links?: string[];\n showExpandButton?: boolean;\n showCopyButton?: boolean;\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\nexport type TokenConfig = {\n showDSKey: boolean;\n};\n\n/**\n * 构件代码编辑器\n * @category form-input-advanced\n */\nexport\n@defineElement(\"vs.code-editor\", {\n // There are a few issues for monaco-editor with shadow DOM.\n // So we use light DOM for now.\n // See https://github.com/microsoft/monaco-editor/issues?q=is%3Aissue+is%3Aopen+shadow+dom\n shadowOptions: false,\n})\nclass CodeEditor extends FormItemElementBase implements CodeEditorProps {\n @property()\n accessor name: string | undefined;\n\n @property()\n accessor label: string | undefined;\n\n @property()\n accessor value: string | undefined;\n\n /**\n * @default \"plaintext\"\n */\n @property()\n accessor language: string | undefined;\n\n /**\n * 主题,支持 `\"auto\" | \"vs\" | \"vs-dark\"`\n *\n * @default \"auto\"\n * @group ui\n */\n @property() accessor theme: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n @property({\n type: Boolean,\n })\n accessor readOnly: boolean | undefined;\n\n @property()\n accessor automaticLayout:\n | \"fit-container\"\n | \"fit-content\"\n | \"none\"\n | undefined;\n\n /**\n * @default 3\n */\n @property({ type: Number })\n accessor minLines: number | undefined;\n\n @property({\n attribute: false,\n })\n accessor completers: monaco.languages.CompletionItem[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor advancedCompleters:\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 /**\n * 是否展示展开按钮\n */\n @property({ type: Boolean })\n accessor showExpandButton: boolean | undefined;\n\n /**\n * 自定义高亮配置\n */\n @property({\n attribute: false,\n })\n accessor tokenConfig: TokenConfig | undefined;\n\n /**\n * 是否展示复制按钮\n * @default true\n */\n @property({ type: Boolean })\n accessor showCopyButton: boolean | undefined;\n\n @event({ type: \"code.change\" })\n accessor #codeChange!: EventEmitter<string>;\n\n @event({ type: \"user.input\" })\n accessor #userInput!: EventEmitter<string>;\n\n #handleChange = (\n value: string,\n parseValue: any,\n isFlush: boolean,\n isInit: boolean = false\n ) => {\n this.value = value;\n !isInit && this.getFormElement()?.formStore.onChange(this.name!, value);\n this.#codeChange.emit(value);\n if (!isFlush) {\n this.#userInput.emit(parseValue);\n }\n };\n\n @event({ type: \"token.click\" })\n accessor #tokenClickEvent!: EventEmitter<string>;\n\n #handleTokenClick = (word: string) => {\n this.#tokenClickEvent.emit(word);\n };\n\n #handleValidtor = (value: string) => {\n try {\n yaml.load(value);\n } catch {\n return \"请填写正确的格式\";\n }\n return \"\";\n };\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <WrappedFormItem\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n helpBrick={this.helpBrick}\n labelBrick={this.labelBrick}\n notRender={this.notRender}\n validator={this.#handleValidtor}\n >\n <CodeEditorComponent\n value={this.value}\n language={this.language}\n readOnly={this.readOnly}\n theme={this.theme}\n automaticLayout={this.automaticLayout}\n minLines={this.minLines}\n maxLines={this.maxLines}\n height={this.height}\n completers={this.completers}\n advancedCompleters={this.advancedCompleters}\n markers={this.markers}\n links={this.links}\n tokenConfig={this.tokenConfig}\n showCopyButton={this.showCopyButton}\n showExpandButton={this.showExpandButton}\n validateState={this.validateState}\n onChange={this.#handleChange}\n onTokenClick={this.#handleTokenClick}\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 tokenConfig = {\n showDSKey: false,\n },\n showExpandButton,\n showCopyButton = true,\n validateState,\n onChange,\n onTokenClick,\n}: CodeEditorProps & {\n onChange(\n value: string,\n parseValue: any,\n isFlush: boolean,\n isInit: boolean\n ): void;\n onTokenClick(word: string): void;\n}) {\n const value = _value ?? \"\";\n const language = _language ?? \"plaintext\";\n const theme = _theme ?? \"auto\";\n const minLines = _minLines ?? 3;\n const maxLines = _maxLines ?? Infinity;\n const height = _height ?? 500;\n const [expanded, setExpanded] = useState(false);\n const workerId = useMemo(() => uniqueId(\"worker\"), []);\n\n const { t } = useTranslation(NS);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const decorationsCollection =\n useRef<monaco.editor.IEditorDecorationsCollection>();\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n const size = useRef<monaco.editor.IDimension>({\n width: 300,\n height: getContentHeightByCode(value, minLines, maxLines),\n });\n const [actualHeight, setActualHeight] = useState<string | number>();\n // `automaticLayout` should never change\n const automaticLayoutRef = useRef(automaticLayout);\n const systemTheme = useCurrentTheme();\n\n useEffect(() => {\n if (language !== \"brick_next_yaml\") return;\n const workerInstance = VSWorkers.getInstance(workerId);\n const id = workerInstance.addEventListener(\"message\", (message: any) => {\n const { token, data, init = false } = message.data;\n const model = editorRef.current!.getModel();\n if (!model) return;\n const originValue = model.getValue();\n\n switch (token) {\n case \"parse_yaml\": {\n const { value, tokens, markers } = data;\n\n decorationsCollection.current?.set(\n tokens.map((token: any) => ({\n range: new monaco.Range(\n token.startLineNumber,\n token.startColumn,\n token.endLineNumber,\n token.endColumn\n ),\n options: {\n inlineClassName: \"highlight\",\n },\n }))\n );\n monaco.editor.setModelMarkers(model, \"brick_next_yaml\", markers);\n onChange(originValue, value, false, init);\n break;\n }\n case \"parse_yaml_error\": {\n monaco.editor.setModelMarkers(model, \"brick_next_yaml\", []);\n decorationsCollection?.current?.set([]);\n onChange(originValue, undefined, false, init);\n break;\n }\n }\n });\n return () => {\n workerInstance.removeEventListener(id);\n };\n }, []);\n\n useEffect(() => {\n const computedTheme =\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme;\n const lineHeightBackground = computedTheme.includes(\"dark\")\n ? \"#FFFFFF0F\"\n : \"#0000000A\";\n monaco.editor.defineTheme(\"custom-theme\", {\n base: computedTheme as \"vs-dark\" | \"vs\",\n inherit: true,\n rules: [],\n colors: {\n \"editor.lineHighlightBackground\": `${lineHeightBackground}`,\n },\n });\n // Currently theme is configured globally.\n // See https://github.com/microsoft/monaco-editor/issues/338\n monaco.editor.setTheme(\"custom-theme\");\n }, [systemTheme, theme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n }\n }, [language]);\n\n useEffect(() => {\n if (language === \"brick_next_yaml\") {\n const provideCompletionItems = brickNextYAMLProviderCompletionItems(\n completers,\n advancedCompleters,\n workerId,\n tokenConfig\n );\n const monacoProviderRef = monaco.languages.registerCompletionItemProvider(\n \"brick_next_yaml\",\n {\n provideCompletionItems,\n triggerCharacters: [\".\", \":\", \"<\"],\n }\n );\n return () => {\n monacoProviderRef.dispose();\n };\n }\n }, [completers, advancedCompleters, language]);\n\n const parseYaml = useCallback(\n ({ init = false }: { init?: boolean }) => {\n if (language !== \"brick_next_yaml\" || !editorRef.current) return;\n const workerInstance = VSWorkers.getInstance(workerId);\n workerInstance.postMessage({\n token: \"parse_yaml\",\n data: {\n value,\n links,\n markers,\n },\n options: tokenConfig,\n init,\n });\n },\n [language, value, tokenConfig, links, markers, workerId]\n );\n\n const debounceParse = useMemo(() => debounce(parseYaml, 300), [parseYaml]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel();\n if (currentModel?.getValue && value !== currentModel.getValue()) {\n currentModel.setValue(value as string);\n debounceParse({\n init: true,\n });\n }\n }\n }, [value, debounceParse]);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-content\" || !containerRef.current) {\n return;\n }\n\n size.current.width = containerRef.current.getBoundingClientRect().width;\n editorRef.current?.layout(size.current);\n\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === containerRef.current) {\n const newWidth = entry.contentBoxSize\n ? entry.contentBoxSize[0].inlineSize\n : entry.contentRect.width;\n const newHeight = entry.contentBoxSize\n ? entry.contentBoxSize[0].blockSize\n : entry.contentRect.height;\n if (newWidth !== size.current.width || expanded) {\n size.current.width = newWidth;\n editorRef.current?.layout({\n width: newWidth,\n height: expanded ? newHeight : size.current.height,\n });\n }\n break;\n }\n }\n });\n observer.observe(containerRef.current);\n\n return () => {\n observer.disconnect();\n };\n }, [expanded]);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-container\") {\n return;\n }\n\n const container = getDOMContainer(containerRef.current);\n if (!container) {\n return;\n }\n // Manually layout the editor once the container resized.\n const observer = new ResizeObserver((): void => {\n setActualHeight(container.offsetHeight);\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (\n automaticLayoutRef.current !== \"fit-container\" &&\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n setActualHeight(height);\n }\n }, [height]);\n\n useEffect(() => {\n if (!editorRef.current) return;\n editorRef.current.updateOptions({\n readOnly,\n });\n }, [readOnly]);\n\n useEffect(() => {\n if (editorRef.current || !containerRef.current) {\n return;\n }\n const model = monaco.editor.createModel(value, language);\n editorRef.current = monaco.editor.create(containerRef.current, {\n model,\n minimap: {\n enabled: false,\n },\n scrollBeyondLastLine: false,\n tabSize: 2,\n insertSpaces: true,\n automaticLayout: automaticLayoutRef.current !== \"fit-content\",\n fontSize: EDITOR_FONT_SIZE,\n lineHeight: EDITOR_LINE_HEIGHT,\n scrollbar: {\n horizontalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n verticalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n horizontalSliderSize: 8,\n verticalSliderSize: 8,\n alwaysConsumeMouseWheel: false,\n },\n padding: {\n top: EDITOR_PADDING_VERTICAL,\n // When use `fit-content`, we always plus the height with the vertical padding.\n // Thus the possible x-scrollbar will not take extra space at the bottom.\n bottom:\n automaticLayoutRef.current == \"fit-content\"\n ? undefined\n : EDITOR_PADDING_VERTICAL,\n },\n overviewRulerBorder: false,\n mouseWheelScrollSensitivity: 0.5,\n fixedOverflowWidgets: true,\n lineNumbersMinChars: 3,\n suggest: {\n insertMode: \"insert\",\n preview: true,\n },\n readOnly: readOnly,\n quickSuggestions: { strings: true, other: true, comments: true },\n renderLineHighlightOnlyWhenFocus: true,\n });\n\n decorationsCollection.current =\n editorRef.current.createDecorationsCollection();\n }, [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 onTokenClick(model.getValueInRange(range));\n }\n });\n });\n\n const mouseOverEvent = editor.onMouseMove(function (e) {\n const decorations = decorationsCollection.current;\n if (!decorations) return;\n decorations.getRanges().forEach((range) => {\n const modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n if (\n range &&\n e.target.position &&\n e.event[modKey] &&\n range.containsPosition(e.target.position)\n ) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: range.equalsRange(item)\n ? \"highlight pointer\"\n : \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n } else if (!e.event[modKey]) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n }\n });\n });\n\n debounceParse({\n init: true,\n });\n\n return () => {\n mouseOverEvent?.dispose();\n editorMouseDownEvent?.dispose();\n };\n }\n }, [language, onTokenClick, systemTheme, theme, debounceParse]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (\n !editor ||\n !containerRef.current ||\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n return;\n }\n\n const listener = editor.onDidContentSizeChange((e) => {\n if (expanded) return;\n if (e.contentHeightChanged) {\n const newHeight = fixEditorHeightWithScrollBar(\n e.contentHeight,\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n }\n });\n\n const newHeight = fixEditorHeightWithScrollBar(\n editor.getContentHeight(),\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n\n return () => {\n listener.dispose();\n };\n }, [maxLines, minLines, expanded]);\n\n useEffect(() => {\n if (!editorRef.current) {\n return;\n }\n const currentModel = editorRef.current.getModel()!;\n const listener = currentModel.onDidChangeContent(() => {\n setEditorId(workerId);\n if ([\"brick_next_yaml\"].includes(language)) {\n debounceParse({\n init: false,\n });\n } else {\n onChange(currentModel.getValue(), undefined, false, false);\n }\n });\n return () => {\n listener.dispose();\n };\n }, [debounceParse, onChange, workerId, language]);\n\n useEffect(() => {\n if (expanded) {\n const fn = (e: KeyboardEvent): void => {\n if (e.key === \"Escape\" || e.key === \"Esc\") {\n window.removeEventListener(\"keydown\", fn);\n setExpanded(false);\n }\n };\n window.addEventListener(\"keydown\", fn);\n return () => {\n window.removeEventListener(\"keydown\", fn);\n };\n }\n }, [expanded]);\n\n useEffect(() => {\n return () => {\n editorRef.current?.getModel()?.dispose();\n editorRef.current?.dispose();\n };\n }, []);\n\n const handleCopyIconClick = useCallback(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n copyToClipboard(currentModel.getValue())\n .then(() =>\n showNotification({ type: \"success\", message: t(K.COPY_SUCCESS) })\n )\n .catch(() =>\n showNotification({ type: \"error\", message: t(K.COPY_FAILED) })\n );\n }\n }, [t]);\n\n const handleExpandedClick = useCallback(() => {\n setExpanded(!expanded);\n }, [expanded]);\n\n return (\n <div\n className={classNames(\"code-editor-wrapper\", {\n expanded,\n error: validateState === \"error\",\n })}\n >\n <div\n ref={containerRef}\n style={{\n height: expanded ? \"100%\" : actualHeight,\n overflow: expanded ? \"scroll\" : \"\",\n }}\n />\n <div className=\"toolbar\">\n {showCopyButton && (\n <WrappedTooltip content={t(K.COPY) as string}>\n <WrappedIcon\n className=\"copy-icon\"\n icon=\"copy\"\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleCopyIconClick}\n />\n </WrappedTooltip>\n )}\n {showExpandButton && (\n <WrappedTooltip\n content={(expanded ? t(K.COLLAPSE) : t(K.EXPAND)) as string}\n >\n <WrappedIcon\n className=\"expand-icon\"\n icon={expanded ? \"compress\" : \"expand\"}\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleExpandedClick}\n />\n </WrappedTooltip>\n )}\n </div>\n </div>\n );\n}\n\nfunction getContentHeightByCode(\n code: string,\n minLines: number,\n maxLines: number\n): number {\n return getContentHeightByLines(\n Math.min(maxLines, Math.max(minLines, code.split(\"\\n\").length))\n );\n}\n\nfunction fixEditorHeightWithScrollBar(\n contentHeight: number,\n minLines: number,\n maxLines: number\n): number {\n let fixedHeight = contentHeight;\n if ((contentHeight - EDITOR_PADDING_VERTICAL) % EDITOR_LINE_HEIGHT === 0) {\n fixedHeight = contentHeight + EDITOR_SCROLLBAR_SIZE;\n }\n return Math.min(\n getContentHeightByLines(maxLines),\n Math.max(fixedHeight, getContentHeightByLines(minLines))\n );\n}\n\nfunction getContentHeightByLines(lines: number): number {\n return (\n lines * EDITOR_LINE_HEIGHT + EDITOR_SCROLLBAR_SIZE + EDITOR_PADDING_VERTICAL\n );\n}\n\n/** Get the direct DOM container of `vs.code-editor` */\nfunction getDOMContainer(element: HTMLElement | null) {\n let brick = element;\n while (brick) {\n const found = brick.tagName.toLowerCase() === \"vs.code-editor\";\n brick = brick.parentElement;\n if (found) {\n return brick;\n }\n }\n}\n"],"names":["initializeReactI18n","NS","locales","registerJavaScript","monaco","registerTypeScript","registerYaml","registerHtml","_CodeEditor","defineElement","property","event","createDecorators","WrappedFormItem","wrapBrick","WrappedTooltip","WrappedIcon","copyToClipboard","unwrapProvider","showNotification","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_T","_CodeEditor_brand","WeakSet","_U","_handleChange","_V","_handleTokenClick","_handleValidtor","CodeEditor","FormItemElementBase","constructor","_this","arguments","this","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_name","_init_extra_name","_init_label","_init_extra_label","_init_value","_init_extra_value","_init_language","_init_extra_language","_init_theme","_init_extra_theme","_init_required","_init_extra_required","_init_readOnly","_init_extra_readOnly","_init_automaticLayout","_init_extra_automaticLayout","_init_minLines","_init_extra_minLines","_init_completers","_init_extra_completers","_init_advancedCompleters","_init_extra_advancedCompleters","_init_markers","_init_extra_markers","_init_links","_init_extra_links","_init_maxLines","_init_extra_maxLines","_init_height","_init_extra_height","_init_message","_init_extra_message","_init_showExpandButton","_init_extra_showExpandButton","_init_tokenConfig","_init_extra_tokenConfig","_init_showCopyButton","_init_extra_showCopyButton","_init_codeChange","_init_extra_codeChange","_init_userInput","_init_extra_userInput","value","parseValue","isFlush","_this$getFormElement","isInit","length","undefined","getFormElement","formStore","onChange","name","_classPrivateGetter","_get_codeChange","emit","_get_userInput","_init_tokenClickEvent","_init_extra_tokenClickEvent","word","_get_tokenClickEvent","yaml","_unused","_classPrivateFieldGet","v","_classPrivateFieldSet","label","language","theme","required","readOnly","automaticLayout","minLines","completers","advancedCompleters","markers","links","maxLines","height","message","showExpandButton","tokenConfig","showCopyButton","connectedCallback","style","display","super","render","React","curElement","formElement","helpBrick","labelBrick","notRender","validator","CodeEditorComponent","validateState","onTokenClick","_ref","_value","_language","_theme","_minLines","_maxLines","_height","showDSKey","Infinity","expanded","setExpanded","useState","workerId","useMemo","uniqueId","t","useTranslation","containerRef","useRef","decorationsCollection","editorRef","size","width","getContentHeightByCode","actualHeight","setActualHeight","automaticLayoutRef","systemTheme","useCurrentTheme","useEffect","workerInstance","VSWorkers","getInstance","id","addEventListener","token","data","init","model","current","getModel","originValue","getValue","_decorationsCollectio","tokens","set","map","range","startLineNumber","startColumn","endLineNumber","endColumn","options","inlineClassName","setModelMarkers","_decorationsCollectio2","removeEventListener","computedTheme","lineHeightBackground","includes","defineTheme","base","inherit","rules","colors","concat","setTheme","currentModel","setModelLanguage","provideCompletionItems","brickNextYAMLProviderCompletionItems","monacoProviderRef","registerCompletionItemProvider","triggerCharacters","dispose","parseYaml","useCallback","_ref2","postMessage","debounceParse","debounce","setValue","useLayoutEffect","_editorRef$current","getBoundingClientRect","layout","observer","ResizeObserver","entries","entry","target","_editorRef$current2","newWidth","contentBoxSize","inlineSize","contentRect","newHeight","blockSize","observe","disconnect","container","element","brick","found","tagName","toLowerCase","parentElement","getDOMContainer","offsetHeight","updateOptions","createModel","create","minimap","enabled","scrollBeyondLastLine","tabSize","insertSpaces","fontSize","EDITOR_FONT_SIZE","lineHeight","EDITOR_LINE_HEIGHT","scrollbar","horizontalScrollbarSize","EDITOR_SCROLLBAR_SIZE","verticalScrollbarSize","horizontalSliderSize","verticalSliderSize","alwaysConsumeMouseWheel","padding","top","EDITOR_PADDING_VERTICAL","bottom","overviewRulerBorder","mouseWheelScrollSensitivity","fixedOverflowWidgets","lineNumbersMinChars","suggest","insertMode","preview","quickSuggestions","strings","other","comments","renderLineHighlightOnlyWhenFocus","createDecorationsCollection","editor","editorMouseDownEvent","onMouseDown","e","_decorations$getRange","_decorations$getRange2","decorations","getRanges","call","forEach","modKey","test","navigator","platform","position","containsPosition","getValueInRange","mouseOverEvent","onMouseMove","newDecorations","item","equalsRange","listener","onDidContentSizeChange","contentHeightChanged","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","onDidChangeContent","setEditorId","fn","key","window","_editorRef$current3","_editorRef$current4","handleCopyIconClick","then","type","K","COPY_SUCCESS","catch","COPY_FAILED","handleExpandedClick","className","classNames","error","ref","overflow","content","COPY","icon","lib","onClick","COLLAPSE","EXPAND","code","getContentHeightByLines","Math","min","max","split","fixedHeight","lines","_CodeEditor2","_set_codeChange","_set_userInput","_set_tokenClickEvent","c","_initClass","_applyDecs","shadowOptions","Boolean","Number","attribute","o","_","has","_checkInRHS"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/code-editor.63895d7d.js","mappings":"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","sources":["webpack:///./src/code-editor/index.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport { register as registerJavaScript } from \"@next-core/monaco-contributions/javascript\";\nimport { register as registerTypeScript } from \"@next-core/monaco-contributions/typescript\";\nimport { register as registerYaml } from \"@next-core/monaco-contributions/yaml\";\nimport { register as registerHtml } from \"@next-core/monaco-contributions/html\";\nimport yaml from \"js-yaml\";\nimport \"@next-core/theme\";\nimport { uniqueId, debounce } from \"lodash\";\nimport {\n EDITOR_SCROLLBAR_SIZE,\n EDITOR_PADDING_VERTICAL,\n EDITOR_LINE_HEIGHT,\n EDITOR_FONT_SIZE,\n} from \"./constants.js\";\nimport { brickNextYAMLProviderCompletionItems } from \"./utils/brickNextYaml.js\";\nimport { Level } from \"./utils/constants.js\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { VSWorkers } from \"./workers/index.mjs\";\nimport { setEditorId } from \"./utils/editorId.js\";\nimport type { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport type { copyToClipboard as _copyToClipboard } from \"@next-bricks/basic/data-providers/copy-to-clipboard\";\nimport type { showNotification as _showNotification } from \"@next-bricks/basic/data-providers/show-notification/show-notification\";\nimport classNames from \"classnames\";\nimport \"./index.css\";\n\ninitializeReactI18n(NS, locales);\n\nregisterJavaScript(monaco);\nregisterTypeScript(monaco);\nregisterYaml(monaco, \"brick_next_yaml\");\nregisterHtml(monaco);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedTooltip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst copyToClipboard = unwrapProvider<typeof _copyToClipboard>(\n \"basic.copy-to-clipboard\"\n);\nconst showNotification = unwrapProvider<typeof _showNotification>(\n \"basic.show-notification\"\n);\n\nexport interface CodeEditorProps {\n name?: string;\n label?: string;\n value?: string;\n language?: string;\n theme?: string;\n required?: boolean;\n readOnly?: boolean;\n automaticLayout?: \"fit-container\" | \"fit-content\" | \"none\";\n minLines?: number;\n maxLines?: number;\n height?: string | number;\n completers?: monaco.languages.CompletionItem[];\n tokenConfig?: TokenConfig;\n advancedCompleters?: Record<\n string,\n { triggerCharacter: string; completers: monaco.languages.CompletionItem[] }\n >;\n markers?: Marker[];\n links?: string[];\n showExpandButton?: boolean;\n showCopyButton?: boolean;\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\nexport type TokenConfig = {\n showDSKey: boolean;\n};\n\n/**\n * 构件代码编辑器\n * @category form-input-advanced\n */\nexport\n@defineElement(\"vs.code-editor\", {\n // There are a few issues for monaco-editor with shadow DOM.\n // So we use light DOM for now.\n // See https://github.com/microsoft/monaco-editor/issues?q=is%3Aissue+is%3Aopen+shadow+dom\n shadowOptions: false,\n})\nclass CodeEditor extends FormItemElementBase implements CodeEditorProps {\n @property()\n accessor name: string | undefined;\n\n @property()\n accessor label: string | undefined;\n\n @property()\n accessor value: string | undefined;\n\n /**\n * @default \"plaintext\"\n */\n @property()\n accessor language: string | undefined;\n\n /**\n * 主题,支持 `\"auto\" | \"vs\" | \"vs-dark\"`\n *\n * @default \"auto\"\n * @group ui\n */\n @property() accessor theme: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n @property({\n type: Boolean,\n })\n accessor readOnly: boolean | undefined;\n\n @property()\n accessor automaticLayout:\n | \"fit-container\"\n | \"fit-content\"\n | \"none\"\n | undefined;\n\n /**\n * @default 3\n */\n @property({ type: Number })\n accessor minLines: number | undefined;\n\n @property({\n attribute: false,\n })\n accessor completers: monaco.languages.CompletionItem[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor advancedCompleters:\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 /**\n * 是否展示展开按钮\n */\n @property({ type: Boolean })\n accessor showExpandButton: boolean | undefined;\n\n /**\n * 自定义高亮配置\n */\n @property({\n attribute: false,\n })\n accessor tokenConfig: TokenConfig | undefined;\n\n /**\n * 是否展示复制按钮\n * @default true\n */\n @property({ type: Boolean })\n accessor showCopyButton: boolean | undefined;\n\n @event({ type: \"code.change\" })\n accessor #codeChange!: EventEmitter<string>;\n\n @event({ type: \"user.input\" })\n accessor #userInput!: EventEmitter<string>;\n\n #handleChange = (\n value: string,\n parseValue: any,\n isFlush: boolean,\n isInit: boolean = false\n ) => {\n this.value = value;\n !isInit && this.getFormElement()?.formStore.onChange(this.name!, value);\n this.#codeChange.emit(value);\n if (!isFlush) {\n this.#userInput.emit(parseValue);\n }\n };\n\n @event({ type: \"token.click\" })\n accessor #tokenClickEvent!: EventEmitter<string>;\n\n #handleTokenClick = (word: string) => {\n this.#tokenClickEvent.emit(word);\n };\n\n #handleValidtor = (value: string) => {\n try {\n yaml.load(value);\n } catch {\n return \"请填写正确的格式\";\n }\n return \"\";\n };\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <WrappedFormItem\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n helpBrick={this.helpBrick}\n labelBrick={this.labelBrick}\n notRender={this.notRender}\n validator={this.#handleValidtor}\n >\n <CodeEditorComponent\n value={this.value}\n language={this.language}\n readOnly={this.readOnly}\n theme={this.theme}\n automaticLayout={this.automaticLayout}\n minLines={this.minLines}\n maxLines={this.maxLines}\n height={this.height}\n completers={this.completers}\n advancedCompleters={this.advancedCompleters}\n markers={this.markers}\n links={this.links}\n tokenConfig={this.tokenConfig}\n showCopyButton={this.showCopyButton}\n showExpandButton={this.showExpandButton}\n validateState={this.validateState}\n onChange={this.#handleChange}\n onTokenClick={this.#handleTokenClick}\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 tokenConfig = {\n showDSKey: false,\n },\n showExpandButton,\n showCopyButton = true,\n validateState,\n onChange,\n onTokenClick,\n}: CodeEditorProps & {\n onChange(\n value: string,\n parseValue: any,\n isFlush: boolean,\n isInit: boolean\n ): void;\n onTokenClick(word: string): void;\n}) {\n const value = _value ?? \"\";\n const language = _language ?? \"plaintext\";\n const theme = _theme ?? \"auto\";\n const minLines = _minLines ?? 3;\n const maxLines = _maxLines ?? Infinity;\n const height = _height ?? 500;\n const [expanded, setExpanded] = useState(false);\n const workerId = useMemo(() => uniqueId(\"worker\"), []);\n\n const { t } = useTranslation(NS);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const decorationsCollection =\n useRef<monaco.editor.IEditorDecorationsCollection>();\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n const size = useRef<monaco.editor.IDimension>({\n width: 300,\n height: getContentHeightByCode(value, minLines, maxLines),\n });\n const [actualHeight, setActualHeight] = useState<string | number>();\n // `automaticLayout` should never change\n const automaticLayoutRef = useRef(automaticLayout);\n const systemTheme = useCurrentTheme();\n\n useEffect(() => {\n if (language !== \"brick_next_yaml\") return;\n const workerInstance = VSWorkers.getInstance(workerId);\n const id = workerInstance.addEventListener(\"message\", (message: any) => {\n const { token, data, init = false } = message.data;\n const model = editorRef.current!.getModel();\n if (!model) return;\n const originValue = model.getValue();\n\n switch (token) {\n case \"parse_yaml\": {\n const { value, tokens, markers } = data;\n\n decorationsCollection.current?.set(\n tokens.map((token: any) => ({\n range: new monaco.Range(\n token.startLineNumber,\n token.startColumn,\n token.endLineNumber,\n token.endColumn\n ),\n options: {\n inlineClassName: \"highlight\",\n },\n }))\n );\n monaco.editor.setModelMarkers(model, \"brick_next_yaml\", markers);\n onChange(originValue, value, false, init);\n break;\n }\n case \"parse_yaml_error\": {\n monaco.editor.setModelMarkers(model, \"brick_next_yaml\", []);\n decorationsCollection?.current?.set([]);\n onChange(originValue, undefined, false, init);\n break;\n }\n }\n });\n return () => {\n workerInstance.removeEventListener(id);\n };\n }, []);\n\n useEffect(() => {\n const computedTheme =\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme;\n const lineHeightBackground = computedTheme.includes(\"dark\")\n ? \"#FFFFFF0F\"\n : \"#0000000A\";\n monaco.editor.defineTheme(\"custom-theme\", {\n base: computedTheme as \"vs-dark\" | \"vs\",\n inherit: true,\n rules: [],\n colors: {\n \"editor.lineHighlightBackground\": `${lineHeightBackground}`,\n },\n });\n // Currently theme is configured globally.\n // See https://github.com/microsoft/monaco-editor/issues/338\n monaco.editor.setTheme(\"custom-theme\");\n }, [systemTheme, theme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n }\n }, [language]);\n\n useEffect(() => {\n if (language === \"brick_next_yaml\") {\n const provideCompletionItems = brickNextYAMLProviderCompletionItems(\n completers,\n advancedCompleters,\n workerId,\n tokenConfig\n );\n const monacoProviderRef = monaco.languages.registerCompletionItemProvider(\n \"brick_next_yaml\",\n {\n provideCompletionItems,\n triggerCharacters: [\".\", \":\", \"<\"],\n }\n );\n return () => {\n monacoProviderRef.dispose();\n };\n }\n }, [completers, advancedCompleters, language]);\n\n const parseYaml = useCallback(\n ({ init = false }: { init?: boolean }) => {\n if (language !== \"brick_next_yaml\" || !editorRef.current) return;\n const workerInstance = VSWorkers.getInstance(workerId);\n workerInstance.postMessage({\n token: \"parse_yaml\",\n data: {\n value,\n links,\n markers,\n },\n options: tokenConfig,\n init,\n });\n },\n [language, value, tokenConfig, links, markers, workerId]\n );\n\n const debounceParse = useMemo(() => debounce(parseYaml, 300), [parseYaml]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel();\n if (currentModel?.getValue && value !== currentModel.getValue()) {\n currentModel.setValue(value as string);\n debounceParse({\n init: true,\n });\n }\n }\n }, [value, debounceParse]);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-content\" || !containerRef.current) {\n return;\n }\n\n size.current.width = containerRef.current.getBoundingClientRect().width;\n editorRef.current?.layout(size.current);\n\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === containerRef.current) {\n const newWidth = entry.contentBoxSize\n ? entry.contentBoxSize[0].inlineSize\n : entry.contentRect.width;\n const newHeight = entry.contentBoxSize\n ? entry.contentBoxSize[0].blockSize\n : entry.contentRect.height;\n if (newWidth !== size.current.width || expanded) {\n size.current.width = newWidth;\n editorRef.current?.layout({\n width: newWidth,\n height: expanded ? newHeight : size.current.height,\n });\n }\n break;\n }\n }\n });\n observer.observe(containerRef.current);\n\n return () => {\n observer.disconnect();\n };\n }, [expanded]);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-container\") {\n return;\n }\n\n const container = getDOMContainer(containerRef.current);\n if (!container) {\n return;\n }\n // Manually layout the editor once the container resized.\n const observer = new ResizeObserver((): void => {\n setActualHeight(container.offsetHeight);\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (\n automaticLayoutRef.current !== \"fit-container\" &&\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n setActualHeight(height);\n }\n }, [height]);\n\n useEffect(() => {\n if (!editorRef.current) return;\n editorRef.current.updateOptions({\n readOnly,\n });\n }, [readOnly]);\n\n useEffect(() => {\n if (editorRef.current || !containerRef.current) {\n return;\n }\n const model = monaco.editor.createModel(value, language);\n editorRef.current = monaco.editor.create(containerRef.current, {\n model,\n minimap: {\n enabled: false,\n },\n scrollBeyondLastLine: false,\n tabSize: 2,\n insertSpaces: true,\n automaticLayout: automaticLayoutRef.current !== \"fit-content\",\n fontSize: EDITOR_FONT_SIZE,\n lineHeight: EDITOR_LINE_HEIGHT,\n scrollbar: {\n horizontalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n verticalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n horizontalSliderSize: 8,\n verticalSliderSize: 8,\n alwaysConsumeMouseWheel: false,\n },\n padding: {\n top: EDITOR_PADDING_VERTICAL,\n // When use `fit-content`, we always plus the height with the vertical padding.\n // Thus the possible x-scrollbar will not take extra space at the bottom.\n bottom:\n automaticLayoutRef.current == \"fit-content\"\n ? undefined\n : EDITOR_PADDING_VERTICAL,\n },\n overviewRulerBorder: false,\n mouseWheelScrollSensitivity: 0.5,\n fixedOverflowWidgets: true,\n lineNumbersMinChars: 3,\n suggest: {\n insertMode: \"insert\",\n preview: true,\n },\n readOnly: readOnly,\n quickSuggestions: { strings: true, other: true, comments: true },\n renderLineHighlightOnlyWhenFocus: true,\n });\n\n decorationsCollection.current =\n editorRef.current.createDecorationsCollection();\n }, [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 onTokenClick(model.getValueInRange(range));\n }\n });\n });\n\n const mouseOverEvent = editor.onMouseMove(function (e) {\n const decorations = decorationsCollection.current;\n if (!decorations) return;\n decorations.getRanges().forEach((range) => {\n const modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n if (\n range &&\n e.target.position &&\n e.event[modKey] &&\n range.containsPosition(e.target.position)\n ) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: range.equalsRange(item)\n ? \"highlight pointer\"\n : \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n } else if (!e.event[modKey]) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n }\n });\n });\n\n debounceParse({\n init: true,\n });\n\n return () => {\n mouseOverEvent?.dispose();\n editorMouseDownEvent?.dispose();\n };\n }\n }, [language, onTokenClick, systemTheme, theme, debounceParse]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (\n !editor ||\n !containerRef.current ||\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n return;\n }\n\n const listener = editor.onDidContentSizeChange((e) => {\n if (expanded) return;\n if (e.contentHeightChanged) {\n const newHeight = fixEditorHeightWithScrollBar(\n e.contentHeight,\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n }\n });\n\n const newHeight = fixEditorHeightWithScrollBar(\n editor.getContentHeight(),\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n\n return () => {\n listener.dispose();\n };\n }, [maxLines, minLines, expanded]);\n\n useEffect(() => {\n if (!editorRef.current) {\n return;\n }\n const currentModel = editorRef.current.getModel()!;\n const listener = currentModel.onDidChangeContent(() => {\n setEditorId(workerId);\n if ([\"brick_next_yaml\"].includes(language)) {\n debounceParse({\n init: false,\n });\n } else {\n onChange(currentModel.getValue(), undefined, false, false);\n }\n });\n return () => {\n listener.dispose();\n };\n }, [debounceParse, onChange, workerId, language]);\n\n useEffect(() => {\n if (expanded) {\n const fn = (e: KeyboardEvent): void => {\n if (e.key === \"Escape\" || e.key === \"Esc\") {\n window.removeEventListener(\"keydown\", fn);\n setExpanded(false);\n }\n };\n window.addEventListener(\"keydown\", fn);\n return () => {\n window.removeEventListener(\"keydown\", fn);\n };\n }\n }, [expanded]);\n\n useEffect(() => {\n return () => {\n editorRef.current?.getModel()?.dispose();\n editorRef.current?.dispose();\n };\n }, []);\n\n const handleCopyIconClick = useCallback(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n copyToClipboard(currentModel.getValue())\n .then(() =>\n showNotification({ type: \"success\", message: t(K.COPY_SUCCESS) })\n )\n .catch(() =>\n showNotification({ type: \"error\", message: t(K.COPY_FAILED) })\n );\n }\n }, [t]);\n\n const handleExpandedClick = useCallback(() => {\n setExpanded(!expanded);\n }, [expanded]);\n\n return (\n <div\n className={classNames(\"code-editor-wrapper\", {\n expanded,\n error: validateState === \"error\",\n })}\n >\n <div\n ref={containerRef}\n style={{\n height: expanded ? \"100%\" : actualHeight,\n overflow: expanded ? \"scroll\" : \"\",\n }}\n />\n <div className=\"toolbar\">\n {showCopyButton && (\n <WrappedTooltip content={t(K.COPY) as string}>\n <WrappedIcon\n className=\"copy-icon\"\n icon=\"copy\"\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleCopyIconClick}\n />\n </WrappedTooltip>\n )}\n {showExpandButton && (\n <WrappedTooltip\n content={(expanded ? t(K.COLLAPSE) : t(K.EXPAND)) as string}\n >\n <WrappedIcon\n className=\"expand-icon\"\n icon={expanded ? \"compress\" : \"expand\"}\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleExpandedClick}\n />\n </WrappedTooltip>\n )}\n </div>\n </div>\n );\n}\n\nfunction getContentHeightByCode(\n code: string,\n minLines: number,\n maxLines: number\n): number {\n return getContentHeightByLines(\n Math.min(maxLines, Math.max(minLines, code.split(\"\\n\").length))\n );\n}\n\nfunction fixEditorHeightWithScrollBar(\n contentHeight: number,\n minLines: number,\n maxLines: number\n): number {\n let fixedHeight = contentHeight;\n if ((contentHeight - EDITOR_PADDING_VERTICAL) % EDITOR_LINE_HEIGHT === 0) {\n fixedHeight = contentHeight + EDITOR_SCROLLBAR_SIZE;\n }\n return Math.min(\n getContentHeightByLines(maxLines),\n Math.max(fixedHeight, getContentHeightByLines(minLines))\n );\n}\n\nfunction getContentHeightByLines(lines: number): number {\n return (\n lines * EDITOR_LINE_HEIGHT + EDITOR_SCROLLBAR_SIZE + EDITOR_PADDING_VERTICAL\n );\n}\n\n/** Get the direct DOM container of `vs.code-editor` */\nfunction getDOMContainer(element: HTMLElement | null) {\n let brick = element;\n while (brick) {\n const found = brick.tagName.toLowerCase() === \"vs.code-editor\";\n brick = brick.parentElement;\n if (found) {\n return brick;\n }\n }\n}\n"],"names":["initializeReactI18n","NS","locales","registerJavaScript","monaco","registerTypeScript","registerYaml","registerHtml","_CodeEditor","defineElement","property","event","createDecorators","WrappedFormItem","wrapBrick","WrappedTooltip","WrappedIcon","copyToClipboard","unwrapProvider","showNotification","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_T","_CodeEditor_brand","WeakSet","_U","_handleChange","_V","_handleTokenClick","_handleValidtor","CodeEditor","FormItemElementBase","constructor","_this","arguments","this","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_name","_init_extra_name","_init_label","_init_extra_label","_init_value","_init_extra_value","_init_language","_init_extra_language","_init_theme","_init_extra_theme","_init_required","_init_extra_required","_init_readOnly","_init_extra_readOnly","_init_automaticLayout","_init_extra_automaticLayout","_init_minLines","_init_extra_minLines","_init_completers","_init_extra_completers","_init_advancedCompleters","_init_extra_advancedCompleters","_init_markers","_init_extra_markers","_init_links","_init_extra_links","_init_maxLines","_init_extra_maxLines","_init_height","_init_extra_height","_init_message","_init_extra_message","_init_showExpandButton","_init_extra_showExpandButton","_init_tokenConfig","_init_extra_tokenConfig","_init_showCopyButton","_init_extra_showCopyButton","_init_codeChange","_init_extra_codeChange","_init_userInput","_init_extra_userInput","value","parseValue","isFlush","_this$getFormElement","isInit","length","undefined","getFormElement","formStore","onChange","name","_classPrivateGetter","_get_codeChange","emit","_get_userInput","_init_tokenClickEvent","_init_extra_tokenClickEvent","word","_get_tokenClickEvent","yaml","_unused","_classPrivateFieldGet","v","_classPrivateFieldSet","label","language","theme","required","readOnly","automaticLayout","minLines","completers","advancedCompleters","markers","links","maxLines","height","message","showExpandButton","tokenConfig","showCopyButton","connectedCallback","style","display","super","render","React","curElement","formElement","helpBrick","labelBrick","notRender","validator","CodeEditorComponent","validateState","onTokenClick","_ref","_value","_language","_theme","_minLines","_maxLines","_height","showDSKey","Infinity","expanded","setExpanded","useState","workerId","useMemo","uniqueId","t","useTranslation","containerRef","useRef","decorationsCollection","editorRef","size","width","getContentHeightByCode","actualHeight","setActualHeight","automaticLayoutRef","systemTheme","useCurrentTheme","useEffect","workerInstance","VSWorkers","getInstance","id","addEventListener","token","data","init","model","current","getModel","originValue","getValue","_decorationsCollectio","tokens","set","map","range","startLineNumber","startColumn","endLineNumber","endColumn","options","inlineClassName","setModelMarkers","_decorationsCollectio2","removeEventListener","computedTheme","lineHeightBackground","includes","defineTheme","base","inherit","rules","colors","concat","setTheme","currentModel","setModelLanguage","provideCompletionItems","brickNextYAMLProviderCompletionItems","monacoProviderRef","registerCompletionItemProvider","triggerCharacters","dispose","parseYaml","useCallback","_ref2","postMessage","debounceParse","debounce","setValue","useLayoutEffect","_editorRef$current","getBoundingClientRect","layout","observer","ResizeObserver","entries","entry","target","_editorRef$current2","newWidth","contentBoxSize","inlineSize","contentRect","newHeight","blockSize","observe","disconnect","container","element","brick","found","tagName","toLowerCase","parentElement","getDOMContainer","offsetHeight","updateOptions","createModel","create","minimap","enabled","scrollBeyondLastLine","tabSize","insertSpaces","fontSize","EDITOR_FONT_SIZE","lineHeight","EDITOR_LINE_HEIGHT","scrollbar","horizontalScrollbarSize","EDITOR_SCROLLBAR_SIZE","verticalScrollbarSize","horizontalSliderSize","verticalSliderSize","alwaysConsumeMouseWheel","padding","top","EDITOR_PADDING_VERTICAL","bottom","overviewRulerBorder","mouseWheelScrollSensitivity","fixedOverflowWidgets","lineNumbersMinChars","suggest","insertMode","preview","quickSuggestions","strings","other","comments","renderLineHighlightOnlyWhenFocus","createDecorationsCollection","editor","editorMouseDownEvent","onMouseDown","e","_decorations$getRange","_decorations$getRange2","decorations","getRanges","call","forEach","modKey","test","navigator","platform","position","containsPosition","getValueInRange","mouseOverEvent","onMouseMove","newDecorations","item","equalsRange","listener","onDidContentSizeChange","contentHeightChanged","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","onDidChangeContent","setEditorId","fn","key","window","_editorRef$current3","_editorRef$current4","handleCopyIconClick","then","type","K","COPY_SUCCESS","catch","COPY_FAILED","handleExpandedClick","className","classNames","error","ref","overflow","content","COPY","icon","lib","onClick","COLLAPSE","EXPAND","code","getContentHeightByLines","Math","min","max","split","fixedHeight","lines","_CodeEditor2","_set_codeChange","_set_userInput","_set_tokenClickEvent","c","_initClass","_applyDecs","shadowOptions","Boolean","Number","attribute","o","_","has","_checkInRHS"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(()=>{var e,t,r,n,a,o,l,i,c,f,s,d,u,h,m,p,b,v,x,g,y,P,k,w={17934:(e,t,r)=>{Promise.all([r.e(1551),r.e(5115),r.e(8594),r.e(8769),r.e(3741),r.e(4438),r.e(1732),r.e(7920),r.e(7242)]).then(r.bind(r,77242))}},j={};function S(e){var t=j[e];if(void 0!==t)return t.exports;var r=j[e]={id:e,loaded:!1,exports:{}};return w[e].call(r.exports,r,r.exports,S),r.loaded=!0,r.exports}S.m=w,S.c=j,S.amdO={},S.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return S.d(t,{a:t}),t},S.d=(e,t)=>{for(var r in t)S.o(t,r)&&!S.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},S.f={},S.e=e=>Promise.all(Object.keys(S.f).reduce(((t,r)=>(S.f[r](e,t),t)),[])),S.u=e=>"chunks/"+e+"."+{45:"e4a1c843",114:"bb3f53e9",726:"742a0cc6",790:"9e7665d6",871:"5fe9c73a",886:"45b3c51f",1030:"687c6084",1045:"2658b35c",1055:"22569901",1122:"4468fdb1",1302:"50ce67e6",1370:"74f9216d",1551:"1c07d3ab",1732:"2df495e8",1889:"082fac22",1898:"471093f9",1940:"33b26e1a",2227:"e5a0fbae",2256:"7aca1ac8",2277:"1600cfa0",2487:"950f268e",2570:"e226cee5",2630:"a8f791a9",2652:"19c8bde8",2725:"51a9da8f",3053:"1531e8bd",3144:"5204ae02",3171:"e9864838",3426:"08ac7783",3435:"6f6da83f",3505:"3a87c0b2",3620:"a924872d",3741:"962d816a",3933:"ac9ce2be",4041:"6baeec09",4208:"ab92ce1d",4438:"03571ab5",4450:"3112e94e",4658:"3c762e48",4741:"a72789bb",4873:"3182059e",4933:"80d61cea",5115:"83d64117",5217:"2c60df3e",5250:"4db51307",5332:"a463cd30",5384:"8d6d2e99",5399:"705f0706",5497:"453d0b26",5552:"3bf763af",5637:"78fa0345",6314:"88e19f2a",6519:"9b9d886c",6693:"bb2744c3",6773:"3decbc38",7068:"8d1016b0",7115:"63550a9d",7242:"8369accb",7721:"a38c931d",7733:"c860bc25",7780:"ad4d70ef",7920:"e429074b",8097:"2d3e2d06",8594:"d37ee2db",8769:"8c6f3310",8799:"31f7f72e",8989:"601739fc",9496:"12c6f4a2",9515:"7df82d1d",9542:"dcf3dffd",9559:"71092468",9755:"f035a701",9844:"9cb64f51"}[e]+".js",S.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),S.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="@next-bricks/vs:",S.l=(r,n,a,o)=>{if(e[r])e[r].push(n);else{var l,i;if(void 0!==a)for(var c=document.getElementsByTagName("script"),f=0;f<c.length;f++){var s=c[f];if(s.getAttribute("src")==r||s.getAttribute("data-webpack")==t+a){l=s;break}}l||(i=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,S.nc&&l.setAttribute("nonce",S.nc),l.setAttribute("data-webpack",t+a),l.src=r),e[r]=[n];var d=(t,n)=>{l.onerror=l.onload=null,clearTimeout(u);var a=e[r];if(delete e[r],l.parentNode&&l.parentNode.removeChild(l),a&&a.forEach((e=>e(n))),t)return t(n)},u=setTimeout(d.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=d.bind(null,l.onerror),l.onload=d.bind(null,l.onload),i&&document.head.appendChild(l)}},S.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},S.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{S.S={};var e={},t={};S.I=(r,n)=>{n||(n=[]);var a=t[r];if(a||(a=t[r]={}),!(n.indexOf(a)>=0)){if(n.push(a),e[r])return e[r];S.o(S.S,r)||(S.S[r]={});var o=S.S[r],l="@next-bricks/vs",i=(e,t,r,n)=>{var a=o[e]=o[e]||{},i=a[t];(!i||!i.loaded&&(!n!=!i.eager?n:l>i.from))&&(a[t]={get:r,from:l,eager:!!n})},c=[];return"default"===r&&(i("@babel/parser","7.24.4",(()=>S.e(6773).then((()=>()=>S(46773))))),i("@easyops-cn/brick-next-pipes","0.6.0",(()=>Promise.all([S.e(4741),S.e(886)]).then((()=>()=>S(24741))))),i("@next-core/cook","2.2.16",(()=>Promise.all([S.e(1122),S.e(2570)]).then((()=>()=>S(61122))))),i("@next-core/element","1.2.7",(()=>S.e(1045).then((()=>()=>S(21045))))),i("@next-core/http","1.2.2",(()=>S.e(8989).then((()=>()=>S(48989))))),i("@next-core/i18n/react","1.0.45",(()=>Promise.all([S.e(8799),S.e(8097)]).then((()=>()=>S(88097))))),i("@next-core/i18n","1.0.45",(()=>Promise.all([S.e(8594),S.e(9755),S.e(8799),S.e(5552)]).then((()=>()=>S(75552))))),i("@next-core/inject","1.0.34",(()=>Promise.all([S.e(1030),S.e(5217),S.e(2277)]).then((()=>()=>S(72277))))),i("@next-core/loader","1.5.8",(()=>S.e(5399).then((()=>()=>S(35399))))),i("@next-core/pipes","2.0.20",(()=>S.e(6519).then((()=>()=>S(76519))))),i("@next-core/react-element","1.0.26",(()=>Promise.all([S.e(8769),S.e(3741),S.e(4208),S.e(114)]).then((()=>()=>S(20114))))),i("@next-core/react-runtime","1.4.12",(()=>Promise.all([S.e(8769),S.e(4438),S.e(2630),S.e(7115)]).then((()=>()=>S(97115))))),i("@next-core/runtime","1.43.1",(()=>Promise.all([S.e(2652),S.e(8594),S.e(1030),S.e(7068),S.e(1302),S.e(2256),S.e(45)]).then((()=>()=>S(22652))))),i("@next-core/supply","2.1.15",(()=>Promise.all([S.e(1030),S.e(5217),S.e(1302),S.e(9559)]).then((()=>()=>S(49559))))),i("@next-core/theme","1.5.0",(()=>Promise.all([S.e(1889),S.e(1055)]).then((()=>()=>S(51889))))),i("@next-core/utils/general","1.7.3",(()=>S.e(871).then((()=>()=>S(40871))))),i("@next-core/utils/storyboard","1.7.3",(()=>Promise.all([S.e(8594),S.e(7068),S.e(3933)]).then((()=>()=>S(13933))))),i("history","4.10.1",(()=>S.e(5384).then((()=>()=>S(65384))))),i("i18next-browser-languagedetector","7.2.1",(()=>S.e(726).then((()=>()=>S(50726))))),i("i18next","22.5.1",(()=>S.e(9542).then((()=>()=>S(39542))))),i("js-yaml","3.14.1",(()=>S.e(9515).then((()=>()=>S(19515))))),i("lodash","4.17.21",(()=>S.e(5250).then((()=>()=>S(45250))))),i("moment/locale/zh-cn.js","2.30.1",(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(61329))))),i("moment","2.30.1",(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(99420))))),i("react-dom","0.0.0-experimental-ee8509801-20230117",(()=>Promise.all([S.e(3144),S.e(8769)]).then((()=>()=>S(43144))))),i("react-i18next","12.3.1",(()=>Promise.all([S.e(3620),S.e(8769)]).then((()=>()=>S(3620))))),i("react","0.0.0-experimental-ee8509801-20230117",(()=>S.e(4041).then((()=>()=>S(14041)))))),e[r]=c.length?Promise.all(c).then((()=>e[r]=1)):1}}})(),(()=>{var e;S.g.importScripts&&(e=S.g.location+"");var t=S.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),S.p=e+"../"})(),r=e=>{var t=e=>e.split(".").map((e=>+e==e?+e:e)),r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=r[1]?t(r[1]):[];return r[2]&&(n.length++,n.push.apply(n,t(r[2]))),r[3]&&(n.push([]),n.push.apply(n,t(r[3]))),n},n=(e,t)=>{e=r(e),t=r(t);for(var n=0;;){if(n>=e.length)return n<t.length&&"u"!=(typeof t[n])[0];var a=e[n],o=(typeof a)[0];if(n>=t.length)return"u"==o;var l=t[n],i=(typeof l)[0];if(o!=i)return"o"==o&&"n"==i||"s"==i||"u"==o;if("o"!=o&&"u"!=o&&a!=l)return a<l;n++}},a=e=>{var t=e[0],r="";if(1===e.length)return"*";if(t+.5){r+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var n=1,o=1;o<e.length;o++)n--,r+="u"==(typeof(i=e[o]))[0]?"-":(n>0?".":"")+(n=2,i);return r}var l=[];for(o=1;o<e.length;o++){var i=e[o];l.push(0===i?"not("+c()+")":1===i?"("+c()+" || "+c()+")":2===i?l.pop()+" "+l.pop():a(i))}return c();function c(){return l.pop().replace(/^\((.+)\)$/,"$1")}},o=(e,t)=>{if(0 in e){t=r(t);var n=e[0],a=n<0;a&&(n=-n-1);for(var l=0,i=1,c=!0;;i++,l++){var f,s,d=i<e.length?(typeof e[i])[0]:"";if(l>=t.length||"o"==(s=(typeof(f=t[l]))[0]))return!c||("u"==d?i>n&&!a:""==d!=a);if("u"==s){if(!c||"u"!=d)return!1}else if(c)if(d==s)if(i<=n){if(f!=e[i])return!1}else{if(a?f>e[i]:f<e[i])return!1;f!=e[i]&&(c=!1)}else if("s"!=d&&"n"!=d){if(a||i<=n)return!1;c=!1,i--}else{if(i<=n||s<d!=a)return!1;c=!1}else"s"!=d&&"n"!=d&&(c=!1,i--)}}var u=[],h=u.pop.bind(u);for(l=1;l<e.length;l++){var m=e[l];u.push(1==m?h()|h():2==m?h()&h():m?o(m,t):!h())}return!!h()},l=(e,t)=>{var r=e[t];return(t=Object.keys(r).reduce(((e,t)=>!e||n(e,t)?t:e),0))&&r[t]},i=(e,t)=>{var r=e[t];return Object.keys(r).reduce(((e,t)=>!e||!r[e].loaded&&n(e,t)?t:e),0)},c=(e,t,r,n)=>"Unsatisfied version "+r+" from "+(r&&e[t][r].from)+" of shared singleton module "+t+" (required "+a(n)+")",f=(e,t,r,n)=>{var a=i(e,r);return h(e[r][a])},s=(e,t,r,n)=>{var a=i(e,r);return o(n,a)||u(c(e,r,a,n)),h(e[r][a])},d=(e,t,r)=>{var a=e[t];return(t=Object.keys(a).reduce(((e,t)=>!o(r,t)||e&&!n(e,t)?e:t),0))&&a[t]},u=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},h=e=>(e.loaded=1,e.get()),p=(m=e=>function(t,r,n,a){var o=S.I(t);return o&&o.then?o.then(e.bind(e,t,S.S[t],r,n,a)):e(t,S.S[t],r,n,a)})(((e,t,r,n)=>t&&S.o(t,r)?h(l(t,r)):n())),b=m(((e,t,r,n)=>t&&S.o(t,r)?f(t,0,r):n())),v=m(((e,t,r,n,a)=>t&&S.o(t,r)?s(t,0,r,n):a())),x=m(((e,t,r,n,a)=>{var o=t&&S.o(t,r)&&d(t,r,n);return o?h(o):a()})),g={},y={18594:()=>v("default","@next-core/utils/general",[1,1,7,3],(()=>S.e(871).then((()=>()=>S(40871))))),18769:()=>x("default","react",[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>S.e(4041).then((()=>()=>S(14041))))),93741:()=>x("default","@next-core/element",[1,1,2,7],(()=>S.e(3426).then((()=>()=>S(21045))))),46430:()=>x("default","@next-core/react-element",[1,1,0,26],(()=>Promise.all([S.e(3741),S.e(4208),S.e(7733)]).then((()=>()=>S(20114))))),72445:()=>b("default","lodash",(()=>S.e(5250).then((()=>()=>S(45250))))),91732:()=>b("default","js-yaml",(()=>S.e(9515).then((()=>()=>S(19515))))),46329:()=>v("default","@next-core/theme",[1,1,5,0],(()=>S.e(1889).then((()=>()=>S(51889))))),70781:()=>x("default","@next-core/react-runtime",[1,1,4,12],(()=>Promise.all([S.e(2630),S.e(9496)]).then((()=>()=>S(97115))))),85502:()=>b("default","@next-core/i18n/react",(()=>Promise.all([S.e(8799),S.e(8097)]).then((()=>()=>S(88097))))),28297:()=>v("default","moment",[1,2,27,0],(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(99420))))),55521:()=>v("default","lodash",[1,4,17,19],(()=>S.e(5250).then((()=>()=>S(45250))))),91204:()=>v("default","js-yaml",[1,3,14,0],(()=>S.e(9515).then((()=>()=>S(19515))))),12570:()=>v("default","@babel/parser",[1,7,24,5],(()=>S.e(6773).then((()=>()=>S(46773))))),18799:()=>b("default","@next-core/i18n",(()=>Promise.all([S.e(8594),S.e(9755),S.e(3171)]).then((()=>()=>S(75552))))),47825:()=>v("default","react-i18next",[1,12,3,1],(()=>Promise.all([S.e(3620),S.e(8769)]).then((()=>()=>S(3620))))),2350:()=>v("default","i18next",[1,22,5,1],(()=>S.e(9542).then((()=>()=>S(39542))))),27072:()=>v("default","i18next-browser-languagedetector",[1,7,2,1],(()=>S.e(726).then((()=>()=>S(50726))))),41030:()=>v("default","lodash",[1,4,17,21],(()=>S.e(5250).then((()=>()=>S(45250))))),75217:()=>v("default","@next-core/pipes",[1,2,0,20],(()=>S.e(6519).then((()=>()=>S(76519))))),161:()=>v("default","@easyops-cn/brick-next-pipes",[2,0,6,0],(()=>Promise.all([S.e(4741),S.e(886)]).then((()=>()=>S(24741))))),59435:()=>x("default","react-dom",[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>S.e(3144).then((()=>()=>S(43144))))),70454:()=>p("default","react-dom",(()=>S.e(3144).then((()=>()=>S(43144))))),32630:()=>v("default","@next-core/runtime",[1,1,43,1],(()=>Promise.all([S.e(2652),S.e(8594),S.e(1030),S.e(7068),S.e(1302),S.e(2256)]).then((()=>()=>S(22652))))),17068:()=>v("default","@next-core/cook",[1,2,2,16],(()=>Promise.all([S.e(1122),S.e(2570)]).then((()=>()=>S(61122))))),21302:()=>v("default","moment",[1,2,30,1],(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(99420))))),2296:()=>v("default","@next-core/supply",[1,2,1,15],(()=>Promise.all([S.e(5217),S.e(1940)]).then((()=>()=>S(49559))))),26036:()=>v("default","moment/locale/zh-cn.js",[1,2,30,1],(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(61329))))),32890:()=>v("default","history",[1,4,10,1],(()=>S.e(5384).then((()=>()=>S(65384))))),34597:()=>v("default","@next-core/inject",[1,1,0,34],(()=>Promise.all([S.e(5217),S.e(4658)]).then((()=>()=>S(72277))))),48884:()=>v("default","@next-core/utils/storyboard",[1,1,7,3],(()=>S.e(6314).then((()=>()=>S(13933))))),55866:()=>v("default","@next-core/http",[1,1,2,2],(()=>S.e(1370).then((()=>()=>S(48989))))),59079:()=>v("default","@next-core/i18n",[1,1,0,45],(()=>Promise.all([S.e(9755),S.e(8799),S.e(790)]).then((()=>()=>S(75552))))),68555:()=>v("default","@next-core/loader",[1,1,5,8],(()=>S.e(7780).then((()=>()=>S(35399)))))},P={886:[28297,55521,91204],1030:[41030],1302:[21302],1732:[91732],2256:[2296,26036,32890,34597,48884,55866,59079,68555],2570:[12570],2630:[32630],3741:[93741],4208:[59435,70454],4438:[46430,72445],5217:[75217],6519:[161],7068:[17068],7920:[46329,70781,85502],8097:[47825],8594:[18594],8769:[18769],8799:[18799],9755:[2350,27072]},k={},S.f.consumes=(e,t)=>{S.o(P,e)&&P[e].forEach((e=>{if(S.o(g,e))return t.push(g[e]);if(!k[e]){var r=t=>{g[e]=0,S.m[e]=r=>{delete S.c[e],r.exports=t()}};k[e]=!0;var n=t=>{delete g[e],S.m[e]=r=>{throw delete S.c[e],t}};try{var a=y[e]();a.then?t.push(g[e]=a.then(r).catch(n)):r(a)}catch(e){n(e)}}}))},(()=>{S.b=document.baseURI||self.location.href;var e={8792:0};S.f.j=(t,r)=>{var n=S.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else if(/^(1(030|302|732)|2(256|570|630)|8(594|769|799|86)|(420|443|706)8|3741|5217|9755)$/.test(t))e[t]=0;else{var a=new Promise(((r,a)=>n=e[t]=[r,a]));r.push(n[2]=a);var o=S.p+S.u(t),l=new Error;S.l(o,(r=>{if(S.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",l.name="ChunkLoadError",l.type=a,l.request=o,n[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,a,[o,l,i]=r,c=0;if(o.some((t=>0!==e[t]))){for(n in l)S.o(l,n)&&(S.m[n]=l[n]);i&&i(S)}for(t&&t(r);c<o.length;c++)a=o[c],S.o(e,a)&&e[a]&&e[a][0](),e[a]=0},r=self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),S.nc=void 0,S(17934)})();
|
|
2
|
+
//# sourceMappingURL=main.778e7a24.js.map
|