@next-bricks/vs 1.17.1 → 1.17.3
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/1247.e7bd9354.js +2 -0
- package/dist/chunks/1247.e7bd9354.js.map +1 -0
- package/dist/chunks/1427.7ba22e80.js +1 -0
- package/dist/chunks/{1545.64533356.js → 1545.a78b6f00.js} +1 -1
- package/dist/chunks/{5552.6d219c9e.js → 3171.0ab8ee29.js} +2 -2
- package/dist/chunks/{5552.6d219c9e.js.map → 3171.0ab8ee29.js.map} +1 -1
- package/dist/chunks/3354.0afb8624.js +1 -0
- package/dist/chunks/{4306.485435ff.js → 4306.723b4d9d.js} +2 -2
- package/dist/chunks/4306.723b4d9d.js.map +1 -0
- package/dist/chunks/{4539.0f76b03d.js → 4539.fa0ebe8c.js} +3 -3
- package/dist/chunks/4539.fa0ebe8c.js.map +1 -0
- package/dist/chunks/{7146.24fb6c6c.js → 4765.0325b509.js} +2 -2
- package/dist/chunks/4765.0325b509.js.map +1 -0
- package/dist/chunks/{7218.846e351c.js → 4837.f94737d7.js} +2 -2
- package/dist/chunks/{7218.846e351c.js.map → 4837.f94737d7.js.map} +1 -1
- package/dist/chunks/{3171.bb78e706.js → 5552.3a44e248.js} +2 -2
- package/dist/chunks/{3171.bb78e706.js.map → 5552.3a44e248.js.map} +1 -1
- package/dist/chunks/{4765.3bb505f9.js → 7146.e1e6dcaf.js} +2 -2
- package/dist/chunks/7146.e1e6dcaf.js.map +1 -0
- package/dist/chunks/{4837.3dccefd8.js → 7218.fd0c2168.js} +2 -2
- package/dist/chunks/{4837.3dccefd8.js.map → 7218.fd0c2168.js.map} +1 -1
- package/dist/chunks/7242.e5db1290.js +2 -0
- package/dist/chunks/7242.e5db1290.js.map +1 -0
- package/dist/chunks/871.bab6300b.js +2 -0
- package/dist/chunks/871.bab6300b.js.map +1 -0
- package/dist/chunks/9140.57c49609.js +3 -0
- package/dist/chunks/9140.57c49609.js.map +1 -0
- package/dist/chunks/{9519.dcd18d4f.js → 9519.308363b4.js} +1 -1
- package/dist/chunks/code-editor.6c9911ea.js +2 -0
- package/dist/chunks/code-editor.6c9911ea.js.map +1 -0
- package/dist/chunks/main.972d6fce.js +2 -0
- package/dist/chunks/{main.8893d771.js.map → main.972d6fce.js.map} +1 -1
- package/dist/index.d3f3e41c.js +2 -0
- package/dist/{index.58605c57.js.map → index.d3f3e41c.js.map} +1 -1
- package/package.json +3 -3
- package/dist/chunks/1427.d3837a0a.js +0 -1
- package/dist/chunks/3354.4eeab347.js +0 -1
- package/dist/chunks/4306.485435ff.js.map +0 -1
- package/dist/chunks/4539.0f76b03d.js.map +0 -1
- package/dist/chunks/4765.3bb505f9.js.map +0 -1
- package/dist/chunks/6165.324e0fbb.js +0 -2
- package/dist/chunks/6165.324e0fbb.js.map +0 -1
- package/dist/chunks/7146.24fb6c6c.js.map +0 -1
- package/dist/chunks/7242.d6c20093.js +0 -2
- package/dist/chunks/7242.d6c20093.js.map +0 -1
- package/dist/chunks/871.97737cd0.js +0 -2
- package/dist/chunks/871.97737cd0.js.map +0 -1
- package/dist/chunks/9140.4143bfe9.js +0 -3
- package/dist/chunks/9140.4143bfe9.js.map +0 -1
- package/dist/chunks/code-editor.5c29df2d.js +0 -2
- package/dist/chunks/code-editor.5c29df2d.js.map +0 -1
- package/dist/chunks/main.8893d771.js +0 -2
- package/dist/index.58605c57.js +0 -2
- /package/dist/chunks/{4539.0f76b03d.js.LICENSE.txt → 4539.fa0ebe8c.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{9140.4143bfe9.js.LICENSE.txt → 9140.57c49609.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[]).push([[7242],{77242:(e,t,i)=>{var n=i(74635),s=i(70918),r=i(26902),o=i(5536),a=i(86121),l=i(70829),c=i(62740),u=i(18769),h=i.n(u),d=i(7921),g=i(94558),m=i(11280),p=i(28247),k=i(29475),f=i(41361),v=i(30426),A=i(62001),b=i(88849),y=(i(29844),i(18965)),w=i(98967),M=i(55310),C=i.n(M),E=(i(65168),i(20563)),x=i(97137),L=i(4046),S=i(44804),W=i(24102),N=i(69704),B=i(8182),P=i(53373),_=i.n(P),O=i(47726),z=i(72414),R=(i(73569),i(11968)),I=i(71836),V=i(5087),D=i(85808),T=i(90896),F=i(62066),H=i(98546),K=i(46984),Y=i(4794),q=i(55262);let j,J,U,X,$,Z,G,Q,ee,te,ie,ne,se,re,oe,ae,le,ce,ue,he,de,ge,me,pe,ke,fe,ve,Ae,be,ye,we,Me,Ce,Ee,xe,Le,Se,We,Ne,Be,Pe,_e,Oe,ze,Re,Ie,Ve,De,Te,Fe,He,Ke,Ye,qe,je,Je,Ue,Xe,$e,Ze,Ge,Qe,et,tt,it,nt,st,rt,ot,at,lt;var ct,ut,ht;(0,N.initializeReactI18n)(B.NS,B.I),A.editor.defineTheme("tm-vs-light",y),A.editor.defineTheme("tm-vs-dark",w);const dt=["tm-vs-light","tm-vs-dark"],gt=["vs-dark","hc-black","tm-vs-dark"];(0,T.kz)(A),(0,F.kz)(A),(0,H.kz)(A);const mt=["cel_yaml","cel_str"],pt=["cel",...mt];for(const e of mt)A.languages.registerCompletionItemProvider(e,{triggerCharacters:["<"],provideCompletionItems:K.ix});for(const e of pt)A.languages.registerCompletionItemProvider(e,(0,K.ZY)(e));const{enabled:kt,...ft}=null!==(ct=null===(ut=(0,k.getRuntime)())||void 0===ut?void 0:ut.getMiscSettings().globalMonacoEditorCopilotOptions)&&void 0!==ct?ct:{};kt&&A.languages.registerInlineCompletionsProvider(O.F,new O.$({...ft,async request(e){var t;let{model:i,temperature:n,system:s,prompt:r,signal:o}=e;return null===(t=(await(0,z.b)({model:i,temperature:n,enableSensitiveWordsFilter:!1,stream:!1,messages:[...s?[{role:"system",content:s}]:[],{role:"user",content:r}]},{signal:o,interceptorParams:{ignoreLoadingBar:!0}})).choices)||void 0===t||null===(t=t[0])||void 0===t||null===(t=t.message)||void 0===t||null===(t=t.content)||void 0===t?void 0:t.trim()},HttpAbortError:f.HttpAbortError}));const{defineElement:vt,property:At,event:bt}=(0,d.createDecorators)(),yt=(0,m.wrapBrick)("eo-form-item"),wt=(0,m.wrapBrick)("eo-tooltip"),Mt=(0,m.wrapBrick)("eo-icon"),Ct=(0,g.unwrapProvider)("basic.copy-to-clipboard"),Et=(0,g.unwrapProvider)("basic.show-notification"),xt="spell_check",Lt="brick_next_yaml_lint";let St;var Wt=new WeakMap,Nt=new WeakMap,Bt=new WeakMap,Pt=new WeakMap,_t=new WeakMap,Ot=new WeakMap,zt=new WeakMap,Rt=new WeakMap,It=new WeakMap,Vt=new WeakMap,Dt=new WeakMap,Tt=new WeakMap,Ft=new WeakMap,Ht=new WeakMap,Kt=new WeakMap,Yt=new WeakMap,qt=new WeakMap,jt=new WeakMap,Jt=new WeakMap,Ut=new WeakMap,Xt=new WeakMap,$t=new WeakMap,Zt=new WeakMap,Gt=new WeakMap,Qt=new WeakMap,ei=new WeakMap,ti=new WeakMap,ii=new WeakMap,ni=new WeakMap,si=new WeakMap,ri=new WeakSet,oi=new WeakMap,ai=new WeakMap,li=new WeakMap,ci=new WeakMap,ui=new WeakMap,hi=new WeakMap;class di extends v.N{constructor(){super(...arguments),(0,n.A)(this,ri),(0,s.A)(this,Wt,J(this)),(0,s.A)(this,Nt,(U(this),X(this))),(0,s.A)(this,Bt,($(this),Z(this))),(0,s.A)(this,Pt,(G(this),Q(this))),(0,s.A)(this,_t,(ee(this),te(this))),(0,s.A)(this,Ot,(ie(this),ne(this))),(0,s.A)(this,zt,(se(this),re(this))),(0,s.A)(this,Rt,(oe(this),ae(this))),(0,s.A)(this,It,(le(this),ce(this))),(0,s.A)(this,Vt,(ue(this),he(this))),(0,s.A)(this,Dt,(de(this),ge(this))),(0,s.A)(this,Tt,(me(this),pe(this))),(0,s.A)(this,Ft,(ke(this),fe(this))),(0,s.A)(this,Ht,(ve(this),Ae(this))),(0,s.A)(this,Kt,(be(this),ye(this))),(0,s.A)(this,Yt,(we(this),Me(this))),(0,s.A)(this,qt,(Ce(this),Ee(this))),(0,s.A)(this,jt,(xe(this),Le(this))),(0,s.A)(this,Jt,(Se(this),We(this))),(0,s.A)(this,Ut,(Ne(this),Be(this))),(0,s.A)(this,Xt,(Pe(this),_e(this))),(0,s.A)(this,$t,(Oe(this),ze(this))),(0,s.A)(this,Zt,(Re(this),Ie(this))),(0,s.A)(this,Gt,(Ve(this),De(this))),(0,s.A)(this,Qt,(Te(this),Fe(this))),(0,s.A)(this,ei,(He(this),Ke(this))),(0,s.A)(this,ti,(Ye(this),qe(this))),(0,s.A)(this,ii,(je(this),Je(this))),(0,s.A)(this,ni,(Ue(this),Xe(this))),(0,s.A)(this,si,($e(this),Ze(this))),(0,s.A)(this,oi,(et(this),tt(this))),(0,s.A)(this,ai,(st(this),e=>{var t;this.value=e,null===(t=this.getFormElement())||void 0===t||t.formStore.onChange(this.name,e),(0,o.A)(ri,this,Ge).emit(e)})),(0,s.A)(this,li,(e=>{(0,o.A)(ri,this,it).emit(e)})),(0,s.A)(this,ci,rt(this)),(0,s.A)(this,ui,(lt(this),e=>{(0,o.A)(ri,this,ot).emit(e)})),(0,s.A)(this,hi,(e=>{if("brick_next_yaml"===this.language||"yaml"===this.language)try{C().load(e)}catch{return"请填写正确的格式"}return""}))}get name(){return(0,l.A)(Wt,this)}set name(e){(0,a.A)(Wt,this,e)}get label(){return(0,l.A)(Nt,this)}set label(e){(0,a.A)(Nt,this,e)}get value(){return(0,l.A)(Bt,this)}set value(e){(0,a.A)(Bt,this,e)}get language(){return(0,l.A)(Pt,this)}set language(e){(0,a.A)(Pt,this,e)}get theme(){return(0,l.A)(_t,this)}set theme(e){(0,a.A)(_t,this,e)}get required(){return(0,l.A)(Ot,this)}set required(e){(0,a.A)(Ot,this,e)}get readOnly(){return(0,l.A)(zt,this)}set readOnly(e){(0,a.A)(zt,this,e)}get automaticLayout(){return(0,l.A)(Rt,this)}set automaticLayout(e){(0,a.A)(Rt,this,e)}get minLines(){return(0,l.A)(It,this)}set minLines(e){(0,a.A)(It,this,e)}get completers(){return(0,l.A)(Vt,this)}set completers(e){(0,a.A)(Vt,this,e)}get advancedCompleters(){return(0,l.A)(Dt,this)}set advancedCompleters(e){(0,a.A)(Dt,this,e)}get markers(){return(0,l.A)(Tt,this)}set markers(e){(0,a.A)(Tt,this,e)}get links(){return(0,l.A)(Ft,this)}set links(e){(0,a.A)(Ft,this,e)}get maxLines(){return(0,l.A)(Ht,this)}set maxLines(e){(0,a.A)(Ht,this,e)}get height(){return(0,l.A)(Kt,this)}set height(e){(0,a.A)(Kt,this,e)}get message(){return(0,l.A)(Yt,this)}set message(e){(0,a.A)(Yt,this,e)}get placeholder(){return(0,l.A)(qt,this)}set placeholder(e){(0,a.A)(qt,this,e)}get showExpandButton(){return(0,l.A)(jt,this)}set showExpandButton(e){(0,a.A)(jt,this,e)}get lineNumbers(){return(0,l.A)(Jt,this)}set lineNumbers(e){(0,a.A)(Jt,this,e)}get tokenConfig(){return(0,l.A)(Ut,this)}set tokenConfig(e){(0,a.A)(Ut,this,e)}get customValidationInBrickNextYaml(){return(0,l.A)(Xt,this)}set customValidationInBrickNextYaml(e){(0,a.A)(Xt,this,e)}get showCopyButton(){return(0,l.A)($t,this)}set showCopyButton(e){(0,a.A)($t,this,e)}get glyphMargin(){return(0,l.A)(Zt,this)}set glyphMargin(e){(0,a.A)(Zt,this,e)}get extraLibs(){return(0,l.A)(Gt,this)}set extraLibs(e){(0,a.A)(Gt,this,e)}get fixedOverflowWidgets(){return(0,l.A)(Qt,this)}set fixedOverflowWidgets(e){(0,a.A)(Qt,this,e)}get spellCheck(){return(0,l.A)(ei,this)}set spellCheck(e){(0,a.A)(ei,this,e)}get knownWords(){return(0,l.A)(ti,this)}set knownWords(e){(0,a.A)(ti,this,e)}get domLibsEnabled(){return(0,l.A)(ii,this)}set domLibsEnabled(e){(0,a.A)(ii,this,e)}get uri(){return(0,l.A)(ni,this)}set uri(e){(0,a.A)(ni,this,e)}connectedCallback(){this.style.display||(this.style.display="block"),super.connectedCallback()}render(){return h().createElement(yt,{exportparts:"message",curElement:this,formElement:this.getFormElement(),name:this.name,label:this.label,required:this.required,helpBrick:this.helpBrick,labelBrick:this.labelBrick,notRender:this.notRender,validator:(0,l.A)(hi,this)},h().createElement(gi,{value:this.value,language:this.language,readOnly:this.readOnly,theme:this.theme,automaticLayout:this.automaticLayout,minLines:this.minLines,maxLines:this.maxLines,height:this.height,completers:this.completers,advancedCompleters:this.advancedCompleters,extraLibs:this.extraLibs,markers:this.markers,links:this.links,tokenConfig:this.tokenConfig,lineNumbers:this.lineNumbers,glyphMargin:this.glyphMargin,placeholder:this.placeholder,showCopyButton:this.showCopyButton,showExpandButton:this.showExpandButton,validateState:this.validateState,onChange:(0,l.A)(ai,this),onUserInput:(0,l.A)(li,this),onTokenClick:(0,l.A)(ui,this),customValidationInBrickNextYaml:this.customValidationInBrickNextYaml,fixedOverflowWidgets:this.fixedOverflowWidgets,spellCheck:this.spellCheck,knownWords:this.knownWords,domLibsEnabled:this.domLibsEnabled,uri:this.uri}))}}function gi(e){let{value:t,language:i,theme:n,minLines:s,maxLines:r,height:o,automaticLayout:a,completers:l,advancedCompleters:c,markers:d,readOnly:g,links:m,extraLibs:k,tokenConfig:f,showExpandButton:v,showCopyButton:y=!0,lineNumbers:w="on",glyphMargin:M=!1,placeholder:C,validateState:P,onChange:O,onTokenClick:z,customValidationInBrickNextYaml:T,fixedOverflowWidgets:F,spellCheck:H,knownWords:j,domLibsEnabled:J,uri:U}=e;const X=null!=t?t:"",$=null!=i?i:"plaintext",Z=null!=n?n:"auto",G=null!=s?s:3,Q=null!=r?r:1/0,ee=null!=o?o:500,te=null==F||F,ie=null==H||H,[ne,se]=(0,u.useState)(!1),re=(0,u.useMemo)((()=>(0,E.uniqueId)("worker")),[]),{t:oe}=(0,N.useTranslation)(B.NS),ae=(0,u.useRef)(null),le=(0,u.useRef)(),ce=(0,u.useRef)(),ue=(0,u.useRef)({width:300,height:mi(X,G,Q)}),[he,de]=(0,u.useState)(),ge=(0,u.useRef)(a),me=(0,p.useCurrentTheme)(),pe=b.e.includes($),ke=(0,u.useMemo)((()=>{const e="auto"===Z?"dark"===me||"dark-v2"===me?"vs-dark":"vs":Z;return pe&&!dt.includes(e)?gt.includes(e)?"tm-vs-dark":"tm-vs-light":e}),[me,Z,pe]),fe=gt.includes(ke);(0,u.useEffect)((()=>{if(dt.includes(ke))return;const e=fe?"#FFFFFF0F":"#0000000A";A.editor.defineTheme("custom-theme",{base:ke,inherit:!0,rules:[],colors:{"editor.lineHighlightBackground":`${e}`}}),A.editor.setTheme("custom-theme")}),[ke,fe]),(0,u.useEffect)((()=>{A.editor.setTheme(ke)}),[ke]),(0,u.useEffect)((()=>{if(ce.current){const e=ce.current.getModel();A.editor.setModelLanguage(e,$)}(0,b.A)($)}),[$]),(0,u.useEffect)((()=>{if("brick_next_yaml"===$){const e=(0,L.v)(l,Array.isArray(c)?void 0:c,re,f),t=A.languages.registerCompletionItemProvider("brick_next_yaml",{provideCompletionItems:e,triggerCharacters:[".",":","<"]});return()=>{t.dispose()}}}),[l,c,$,re,f]),(0,u.useEffect)((()=>{if(Array.isArray(c)&&c.length>0&&pt.includes($)){const e=A.languages.registerCompletionItemProvider($,(0,K.MY)($,re,c));return()=>{e.dispose()}}}),[$,c,re]),(0,u.useEffect)((()=>{const e=ce.current;if(e){const t=e.getModel();null!=t&&t.getValue&&X!==t.getValue()&&t.setValue(X)}}),[X]),(0,u.useLayoutEffect)((()=>{var e;if("fit-content"!==ge.current||!ae.current)return;ue.current.width=ae.current.getBoundingClientRect().width,null===(e=ce.current)||void 0===e||e.layout(ue.current);const t=new ResizeObserver((e=>{for(const i of e)if(i.target===ae.current){const e=i.contentBoxSize?i.contentBoxSize[0]?i.contentBoxSize[0].inlineSize:i.contentBoxSize.inlineSize:i.contentRect.width,n=i.contentBoxSize?i.contentBoxSize[0]?i.contentBoxSize[0].blockSize:i.contentBoxSize.blockSize:i.contentRect.height;var t;(e!==ue.current.width||ne)&&(ue.current.width=e,null===(t=ce.current)||void 0===t||t.layout({width:e,height:ne?n:ue.current.height}));break}}));return t.observe(ae.current),()=>{t.disconnect()}}),[ne]),(0,u.useLayoutEffect)((()=>{if("fit-container"!==ge.current)return;const e=function(e){let t=e;for(;t;){const e="vs.code-editor"===t.tagName.toLowerCase();if(t=t.parentElement,e)return t}}(ae.current);if(!e)return;const t=new ResizeObserver((()=>{de(e.offsetHeight)}));return t.observe(e),()=>{t.disconnect()}}),[]),(0,u.useEffect)((()=>{"fit-container"!==ge.current&&"fit-content"!==ge.current&&de(ee)}),[ee]),(0,u.useEffect)((()=>{ce.current&&ce.current.updateOptions({readOnly:g,lineNumbersMinChars:ne?5:3})}),[g,ne]),(0,u.useEffect)((()=>{if(ce.current||!ae.current)return;const e=A.editor.createModel(X,$,U?A.Uri.parse(U):void 0);let t;if("brick_next_yaml"===$){const i=(0,W.AR)(e.uri);t=A.editor.createModel(X,"javascript",i),A.languages.typescript.javascriptDefaults.addExtraLib((0,W.Eh)(),e.uri.toString()+"d.ts")}const i=ce.current=A.editor.create(ae.current,{extraEditorClassName:"monaco-editor-v3",model:e,minimap:{enabled:!1,showRegionSectionHeaders:!1,showMarkSectionHeaders:!1},scrollBeyondLastLine:!1,tabSize:2,insertSpaces:!0,automaticLayout:"fit-content"!==ge.current,fontSize:x.yU,lineHeight:x.fE,scrollbar:{horizontalScrollbarSize:x.lP,verticalScrollbarSize:x.lP,horizontalSliderSize:8,verticalSliderSize:8,alwaysConsumeMouseWheel:!1},padding:{top:x.Vu,bottom:"fit-content"==ge.current?void 0:x.Vu},overviewRulerBorder:!1,mouseWheelScrollSensitivity:.5,fixedOverflowWidgets:te,lineNumbers:w,lineNumbersMinChars:3,glyphMargin:M,folding:"off"!==w,suggest:{insertMode:"insert",preview:!0},readOnly:g,quickSuggestions:{strings:!0,other:!0,comments:!0},renderLineHighlightOnlyWhenFocus:!0,unicodeHighlight:{ambiguousCharacters:!1}});return le.current=ce.current.createDecorationsCollection(),(0,Y.MX)(i),()=>{var n;e.dispose(),i.dispose(),null===(n=t)||void 0===n||n.dispose()}}),[]);const ve="typescript"===$?"typescriptDefaults":"javascriptDefaults";(0,u.useEffect)((()=>{"javascript"!==$&&"typescript"!==$&&"brick_next_yaml"!==$||A.languages.typescript[ve].setCompilerOptions({allowNonTsExtensions:!0,lib:J?void 0:["esnext"],target:A.languages.typescript.ScriptTarget.ESNext,module:A.languages.typescript.ModuleKind.ESNext,jsx:A.languages.typescript.JsxEmit.Preserve,skipLibCheck:!0,skipDefaultLibCheck:!0})}),[$,J,ve]),(0,u.useEffect)((()=>{const e=ce.current;if(e)return()=>{(0,Y.X2)(e)}}),[]),(0,u.useEffect)((()=>{const e=ce.current;if(!e)return;const t=()=>{(0,q.$)(k,{languageDefaults:ve}),"javascript"!==$&&"typescript"!==$&&"brick_next_yaml"!==$||A.languages.typescript[ve].setCompilerOptions({allowNonTsExtensions:!0,lib:J?void 0:["esnext"],target:A.languages.typescript.ScriptTarget.ESNext,module:A.languages.typescript.ModuleKind.ESNext,jsx:A.languages.typescript.JsxEmit.Preserve,skipLibCheck:!0,skipDefaultLibCheck:!0})};(0,Y.xx)(e)&&t();const i=e.onDidFocusEditorWidget((()=>{(0,Y.MX)(e)&&t()}));return()=>{i.dispose()}}),[J,k,$,ve]),(0,u.useEffect)((()=>{const e=ce.current;if("brick_next_yaml"===$&&e){const t=e.getModel(),i=e.onMouseDown((function(e){var i,n;const s=le.current;(null!==(i=null==s||null===(n=s.getRanges)||void 0===n?void 0:n.call(s))&&void 0!==i?i:[]).forEach((i=>{const n=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";i&&e.target.position&&e.event[n]&&i.containsPosition(e.target.position)&&z(t.getValueInRange(i))}))})),n=e.onMouseMove((function(e){const t=le.current;t&&t.getRanges().forEach((i=>{const n=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";if(i&&e.target.position&&e.event[n]&&i.containsPosition(e.target.position)){const e=t.getRanges().map((e=>({range:e,options:{inlineClassName:i.equalsRange(e)?"highlight pointer":"highlight"}})));t.set(e)}else if(!e.event[n]){const e=t.getRanges().map((e=>({range:e,options:{inlineClassName:"highlight"}})));t.set(e)}}))}));return()=>{null==n||n.dispose(),null==i||i.dispose()}}}),[$,z,me,Z]),(0,u.useEffect)((()=>{const e=ce.current;if(!e||!ae.current||"fit-content"!==ge.current)return;const t=e.onDidContentSizeChange((t=>{if(!ne&&t.contentHeightChanged){const i=pi(t.contentHeight,G,Q);i!==ue.current.height&&(ue.current.height=i,e.layout(ue.current))}})),i=pi(e.getContentHeight(),G,Q);return i!==ue.current.height&&(ue.current.height=i,e.layout(ue.current)),()=>{t.dispose()}}),[Q,G,ne]);const Ae=(0,u.useCallback)((async(e,t)=>{A.editor.setModelMarkers(e,"semantic_validate",[]);const i=e.findPreviousMatch("<%[~=]?",t,!0,!1,null,!1),n=e.findNextMatch("%>",t,!1,!1,null,!1),s=null==i?void 0:i.range,r=null==n?void 0:n.range;if(s&&r){const i=new A.Range(s.startLineNumber,s.endColumn,r.startLineNumber,r.startColumn),n=e.getValueInRange(i);if(i.containsPosition(t)&&!/<% | %>/.test(n)){const t=(0,W.AR)(e.uri);A.editor.getModel(t).setValue(n);const r=e.getOffsetAt(new A.Position(s.startLineNumber,s.endColumn));if(R.b.getInstance(re).updateState({content:n,range:i,offset:r}),!T)return;const o=await A.languages.typescript.getJavaScriptWorker(),a=await o(t),l=(await a.getSemanticDiagnostics(t.toString())).map((t=>{var i;const n=r+(null!==(i=t.start)&&void 0!==i?i:0),s=e.getPositionAt(n);return{startLineNumber:s.lineNumber,startColumn:s.column,endLineNumber:s.lineNumber,endColumn:s.column+t.length,message:t.messageText,severity:A.MarkerSeverity.Warning}}));A.editor.setModelMarkers(e,"semantic_validate",l)}}}),[re]);(0,u.useEffect)((()=>{if(!ce.current)return;const e=ce.current.getModel(),t=e.onDidChangeContent((async t=>{(0,S.J)(re),["brick_next_yaml"].includes($)&&Ae(e,ce.current.getPosition()),t.isFlush||O(e.getValue())}));return()=>{t.dispose()}}),[O,re,$,Ae]),(0,u.useEffect)((()=>{if(ne){const e=t=>{"Escape"!==t.key&&"Esc"!==t.key||(window.removeEventListener("keydown",e),se(!1))};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}}}),[ne]),(0,u.useEffect)((()=>{if(!ce.current&&!C)return;const e=new I.j(C,ce.current,fe?"rgba(174,174,175,0.4)":"rgba(89,89,89,0.4)");return()=>{e.dispose()}}),[C,fe]);const be=(0,u.useCallback)((()=>{if(ce.current){const e=ce.current.getModel();Ct(e.getValue()).then((()=>Et({type:"success",message:oe(B.K.COPY_SUCCESS)}))).catch((()=>Et({type:"error",message:oe(B.K.COPY_FAILED)})))}}),[oe]),ye=(0,u.useCallback)((()=>{se(!ne)}),[ne]);return(0,u.useEffect)((()=>{const e=ce.current;if(!e||"brick_next_yaml"!==$)return;let t=!1;const i=(0,E.debounce)((async()=>{var i;const n=await(0,V.K)();if(t)return;const{lintMarkers:s,lintDecorations:r}=await n.lint({source:e.getValue(),links:m,markers:d}),o=e.getModel();!t&&o&&(A.editor.setModelMarkers(o,Lt,s.map((e=>{let{start:t,end:i,message:n,severity:s,code:r}=e;const a=o.getPositionAt(t),l=o.getPositionAt(i);return{startLineNumber:a.lineNumber,startColumn:a.column,endLineNumber:l.lineNumber,endColumn:l.column,severity:A.MarkerSeverity[s],message:n,code:r}}))),null===(i=le.current)||void 0===i||i.set(r.map((e=>{let{start:t,end:i,options:n}=e;return{range:A.Range.fromPositions(o.getPositionAt(t),o.getPositionAt(i)),options:n}}))))}),200),n=e.onDidChangeModelContent(i);return i(),()=>{t=!0,n.dispose(),A.editor.setModelMarkers(e.getModel(),Lt,[])}}),[$,m,d,Z,re]),(0,u.useEffect)((()=>{const e=ce.current;if(!e||!ie)return;let t=!1;const i=(0,E.debounce)((async()=>{const i=await(0,D.n)();if(t)return;const{markers:n}=await i.spellCheck({source:e.getValue(),knownWords:j}),s=e.getModel();!t&&s&&A.editor.setModelMarkers(s,xt,n.map((e=>{let{start:t,end:i,message:n,severity:r}=e;const o=s.getPositionAt(t),a=s.getPositionAt(i);return{startLineNumber:o.lineNumber,startColumn:o.column,endLineNumber:a.lineNumber,endColumn:a.column,severity:A.MarkerSeverity[r],message:n}})))}),200),n=e.onDidChangeModelContent(i);return i(),()=>{t=!0,n.dispose(),A.editor.setModelMarkers(e.getModel(),xt,[])}}),[ie,j]),h().createElement("div",{className:_()("code-editor-wrapper",{expanded:ne,error:"error"===P})},h().createElement("div",{ref:ae,style:{height:ne?"100%":he,overflow:ne?"scroll":""}}),h().createElement("div",{className:"toolbar-wrapper"},h().createElement("div",{className:"toolbar sticky"},y&&h().createElement(wt,{content:oe(B.K.COPY)},h().createElement(Mt,{className:"copy-icon",icon:"copy",lib:"antd",theme:"outlined",onClick:be})),v&&h().createElement(wt,{content:oe(ne?B.K.COLLAPSE:B.K.EXPAND)},h().createElement(Mt,{className:"expand-icon",icon:ne?"compress":"expand",lib:"antd",theme:"outlined",onClick:ye})))))}function mi(e,t,i){return ki(Math.min(i,Math.max(t,e.split("\n").length)))}function pi(e,t,i){let n=e;return(e-x.Vu)%x.fE==0&&(n=e+x.lP),Math.min(ki(i),Math.max(n,ki(t)))}function ki(e){return e*x.fE+x.lP+x.Vu}ht=di,({e:[J,U,X,$,Z,G,Q,ee,te,ie,ne,se,re,oe,ae,le,ce,ue,he,de,ge,me,pe,ke,fe,ve,Ae,be,ye,we,Me,Ce,Ee,xe,Le,Se,We,Ne,Be,Pe,_e,Oe,ze,Re,Ie,Ve,De,Te,Fe,He,Ke,Ye,qe,je,Je,Ue,Xe,$e,Ze,Ge,Qe,et,tt,it,nt,st,rt,ot,at,lt],c:[St,j]}=(0,c.A)(ht,[vt("vs.code-editor",{shadowOptions:!1})],[[At(),1,"name"],[At(),1,"label"],[At(),1,"value"],[At(),1,"language"],[At(),1,"theme"],[At({type:Boolean}),1,"required"],[At({type:Boolean}),1,"readOnly"],[At(),1,"automaticLayout"],[At({type:Number}),1,"minLines"],[At({attribute:!1}),1,"completers"],[At({attribute:!1}),1,"advancedCompleters"],[At({attribute:!1}),1,"markers"],[At({attribute:!1}),1,"links"],[At({type:Number}),1,"maxLines"],[At({attribute:!1}),1,"height"],[At(),1,"message"],[At(),1,"placeholder"],[At({type:Boolean}),1,"showExpandButton"],[At(),1,"lineNumbers"],[At({attribute:!1}),1,"tokenConfig"],[At({type:Boolean}),1,"customValidationInBrickNextYaml"],[At({type:Boolean}),1,"showCopyButton"],[At({type:Boolean}),1,"glyphMargin"],[At({attribute:!1}),1,"extraLibs"],[At({type:Boolean}),1,"fixedOverflowWidgets"],[At({type:Boolean}),1,"spellCheck"],[At({attribute:!1}),1,"knownWords"],[At({type:Boolean}),1,"domLibsEnabled"],[At(),1,"uri"],[bt({type:"code.change"}),1,"codeChange",e=>(0,l.A)(si,e),(e,t)=>(0,a.A)(si,e,t)],[bt({type:"user.input"}),1,"userInput",e=>(0,l.A)(oi,e),(e,t)=>(0,a.A)(oi,e,t)],[bt({type:"token.click"}),1,"tokenClickEvent",e=>(0,l.A)(ci,e),(e,t)=>(0,a.A)(ci,e,t)]],0,(e=>hi.has((0,r.A)(e))),v.N)),j()}}]);
|
|
2
|
+
//# sourceMappingURL=7242.e5db1290.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/7242.e5db1290.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 { getRuntime } from \"@next-core/runtime\";\nimport { HttpAbortError } from \"@next-core/http\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport * as monaco from \"monaco-editor\";\nimport {\n initializeTokensProvider,\n languages as textmateLanguages,\n} from \"@next-shared/monaco-textmate\";\nimport \"@next-shared/monaco-textmate/workers.js\";\nimport tmVsLight from \"@next-shared/monaco-textmate/themes/light-modern.json\";\nimport tmVsDark from \"@next-shared/monaco-textmate/themes/dark-modern.json\";\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 {\n AdvancedCompleterMap,\n ExtraLib,\n type MixedCompleter,\n} from \"./interfaces.js\";\nimport { brickNextYAMLProviderCompletionItems } from \"./utils/brickNextYaml.js\";\nimport { Level } from \"./utils/constants.js\";\nimport { setEditorId } from \"./utils/editorId.js\";\nimport {\n getEmbeddedJavascriptUri,\n getBrickYamlBuiltInDeclare,\n} from \"./utils/jsSuggestInBrickYaml.js\";\nimport 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 {\n MonacoCopilotProvider,\n SUPPORTED_LANGUAGES,\n} from \"@next-shared/monaco-copilot\";\nimport { AiopsBaseApi_openaiChat } from \"@next-api-sdk/llm-sdk\";\nimport \"./index.css\";\nimport { EmbeddedModelContext } from \"./utils/embeddedModelState.js\";\nimport { PlaceholderContentWidget } from \"./widget/Placeholder.js\";\nimport { getRemoteYamlLinterWorker } from \"./workers/yamlLinter.js\";\nimport { getRemoteSpellCheckWorker } from \"./workers/spellCheckRemoteWorker.js\";\nimport { register as registerCel } from \"./languages/cel.js\";\nimport { register as registerCelYaml } from \"./languages/cel-yaml.js\";\nimport { register as registerCelStr } from \"./languages/cel-str.js\";\nimport {\n provideEmbeddedCelCompletionItems,\n celCommonCompletionProviderFactory,\n celSpecificCompletionProviderFactory,\n} from \"./utils/celCompletionProvider.js\";\nimport {\n disposeEditor,\n isCurrentEditor,\n switchEditor,\n} from \"./utils/EditorService.js\";\nimport { setExtraLibs } from \"./utils/setExtraLibs.js\";\n\ninitializeReactI18n(NS, locales);\n\nmonaco.editor.defineTheme(\n \"tm-vs-light\",\n tmVsLight as monaco.editor.IStandaloneThemeData\n);\nmonaco.editor.defineTheme(\n \"tm-vs-dark\",\n tmVsDark as monaco.editor.IStandaloneThemeData\n);\n\nconst TEXTMATE_THEMES = [\"tm-vs-light\", \"tm-vs-dark\"];\nconst DARK_THEMES = [\"vs-dark\", \"hc-black\", \"tm-vs-dark\"];\n\nregisterCel(monaco);\nregisterCelYaml(monaco);\nregisterCelStr(monaco);\n\nconst EMBEDDED_CEL = [\"cel_yaml\", \"cel_str\"];\nconst CEL_FAMILY = [\"cel\", ...EMBEDDED_CEL];\nfor (const lang of EMBEDDED_CEL) {\n monaco.languages.registerCompletionItemProvider(lang, {\n triggerCharacters: [\"<\"],\n provideCompletionItems: provideEmbeddedCelCompletionItems,\n });\n}\n\nfor (const lang of CEL_FAMILY) {\n monaco.languages.registerCompletionItemProvider(\n lang,\n celCommonCompletionProviderFactory(lang)\n );\n}\n\n// istanbul ignore next\nconst { enabled: copilotEnabled, ...copilotOptions } =\n (getRuntime()?.getMiscSettings().globalMonacoEditorCopilotOptions ?? {}) as {\n enabled?: boolean;\n model?: string;\n debounce?: number;\n timeout?: number;\n };\n\n// istanbul ignore next\nif (copilotEnabled) {\n monaco.languages.registerInlineCompletionsProvider(\n SUPPORTED_LANGUAGES,\n new MonacoCopilotProvider({\n ...copilotOptions,\n async request({ model, temperature, system, prompt, signal }) {\n const response = await AiopsBaseApi_openaiChat(\n {\n model,\n temperature,\n enableSensitiveWordsFilter: false,\n stream: false,\n messages: [\n ...(system ? [{ role: \"system\", content: system }] : []),\n { role: \"user\", content: prompt },\n ],\n },\n {\n signal,\n interceptorParams: {\n ignoreLoadingBar: true,\n },\n }\n );\n return response.choices?.[0]?.message?.content?.trim();\n },\n HttpAbortError,\n })\n );\n}\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\nconst SPELL_CHECK = \"spell_check\";\nconst BRICK_NEXT_YAML_LINT = \"brick_next_yaml_lint\";\n\nexport interface CodeEditorProps {\n name?: string;\n label?: string;\n value?: string;\n language?: string;\n theme?: string;\n placeholder?: string;\n required?: boolean;\n readOnly?: boolean;\n automaticLayout?: \"fit-container\" | \"fit-content\" | \"none\";\n minLines?: number;\n maxLines?: number;\n height?: string | number;\n completers?: monaco.languages.CompletionItem[];\n tokenConfig?: TokenConfig;\n advancedCompleters?: AdvancedCompleterMap | MixedCompleter[];\n extraLibs?: ExtraLib[];\n markers?: Marker[];\n links?: string[];\n showExpandButton?: boolean;\n showCopyButton?: boolean;\n lineNumbers?: monaco.editor.LineNumbersType;\n glyphMargin?: boolean;\n validateState?: string;\n customValidationInBrickNextYaml?: boolean;\n fixedOverflowWidgets?: boolean;\n spellCheck?: boolean;\n knownWords?: string[];\n domLibsEnabled?: boolean;\n uri?: 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 /**\n * 仅对 language 为 brick_next_yaml 有效,设置第一层属性名的自动补全。\n */\n @property({\n attribute: false,\n })\n accessor completers: monaco.languages.CompletionItem[] | undefined;\n\n /**\n * 高级自动补全配置。\n * - 设置为键值对时,仅对 language 为 brick_next_yaml 有效,设置任意的自动补全;\n * - 设置为数组时,当前仅对 language 为 cel 有效。\n * 未来将统一改为数组格式,废弃键值对格式的配置。\n */\n @property({\n attribute: false,\n })\n accessor advancedCompleters:\n | AdvancedCompleterMap\n | MixedCompleter[]\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 @property()\n accessor placeholder: string | undefined;\n\n /**\n * 是否展示展开按钮\n */\n @property({ type: Boolean })\n accessor showExpandButton: boolean | undefined;\n\n /**\n * 行数配置\n */\n @property()\n accessor lineNumbers: monaco.editor.LineNumbersType | undefined;\n\n /**\n * 自定义高亮配置\n */\n @property({\n attribute: false,\n })\n accessor tokenConfig: TokenConfig | undefined;\n\n /**\n * 在 brick_next_yaml 中是否开启语义相关校验\n * @default false\n */\n @property({\n type: Boolean,\n })\n accessor customValidationInBrickNextYaml: boolean | undefined;\n\n /**\n * 是否展示复制按钮\n * @default true\n */\n @property({ type: Boolean })\n accessor showCopyButton: boolean | undefined;\n\n /**\n * 显示字形边距\n * @default false\n */\n @property({ type: Boolean })\n accessor glyphMargin: boolean | undefined;\n\n /**\n * 额外声明的 lib 库\n */\n @property({\n attribute: false,\n })\n accessor extraLibs: ExtraLib[] | undefined;\n\n /**\n * @default true\n */\n @property({ type: Boolean })\n accessor fixedOverflowWidgets: boolean | undefined;\n\n /**\n * 是否启用英语拼写检查\n * @default true\n */\n @property({ type: Boolean })\n accessor spellCheck: boolean | undefined;\n\n /**\n * 启用英语拼写检查时,除系统设置的词汇表外,指定其他的已知单词(小写)。\n */\n @property({ attribute: false })\n accessor knownWords: string[] | undefined;\n\n /**\n * 是否启用 DOM 相关接口的自动提示。\n */\n @property({ type: Boolean })\n accessor domLibsEnabled: boolean | undefined;\n\n @property()\n accessor uri: string | undefined;\n\n @event({ type: \"code.change\" })\n accessor #codeChange!: EventEmitter<string>;\n\n @event({ type: \"user.input\" })\n accessor #userInput!: EventEmitter<any>;\n\n #handleChange = (value: string) => {\n this.value = value;\n this.getFormElement()?.formStore.onChange(this.name!, value);\n this.#codeChange.emit(value);\n };\n\n #handleUserInput = (value: any) => {\n this.#userInput.emit(value);\n };\n\n @event({ type: \"token.click\" })\n accessor #tokenClickEvent!: EventEmitter<string>;\n\n #handleTokenClick = (word: string) => {\n this.#tokenClickEvent.emit(word);\n };\n\n #handleValidator = (value: string) => {\n if (this.language === \"brick_next_yaml\" || this.language === \"yaml\") {\n try {\n yaml.load(value);\n } catch {\n return \"请填写正确的格式\";\n }\n }\n return \"\";\n };\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <WrappedFormItem\n exportparts=\"message\"\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n helpBrick={this.helpBrick}\n labelBrick={this.labelBrick}\n notRender={this.notRender}\n validator={this.#handleValidator}\n >\n <CodeEditorComponent\n value={this.value}\n language={this.language}\n readOnly={this.readOnly}\n theme={this.theme}\n automaticLayout={this.automaticLayout}\n minLines={this.minLines}\n maxLines={this.maxLines}\n height={this.height}\n completers={this.completers}\n advancedCompleters={this.advancedCompleters}\n extraLibs={this.extraLibs}\n markers={this.markers}\n links={this.links}\n tokenConfig={this.tokenConfig}\n lineNumbers={this.lineNumbers}\n glyphMargin={this.glyphMargin}\n placeholder={this.placeholder}\n showCopyButton={this.showCopyButton}\n showExpandButton={this.showExpandButton}\n validateState={this.validateState}\n onChange={this.#handleChange}\n onUserInput={this.#handleUserInput}\n onTokenClick={this.#handleTokenClick}\n customValidationInBrickNextYaml={this.customValidationInBrickNextYaml}\n fixedOverflowWidgets={this.fixedOverflowWidgets}\n spellCheck={this.spellCheck}\n knownWords={this.knownWords}\n domLibsEnabled={this.domLibsEnabled}\n uri={this.uri}\n />\n </WrappedFormItem>\n );\n }\n}\n\nexport function CodeEditorComponent({\n value: _value,\n language: _language,\n theme: _theme,\n minLines: _minLines,\n maxLines: _maxLines,\n height: _height,\n automaticLayout,\n completers,\n advancedCompleters,\n markers,\n readOnly,\n links,\n extraLibs,\n tokenConfig,\n showExpandButton,\n showCopyButton = true,\n lineNumbers = \"on\",\n glyphMargin = false,\n placeholder,\n validateState,\n onChange,\n // onUserInput,\n onTokenClick,\n customValidationInBrickNextYaml,\n fixedOverflowWidgets: _fixedOverflowWidgets,\n spellCheck: _spellCheck,\n knownWords,\n domLibsEnabled,\n uri,\n}: CodeEditorProps & {\n onChange(value: string): void;\n onUserInput: (value: any) => void;\n onTokenClick(word: string): void;\n}) {\n const value = _value ?? \"\";\n const language = _language ?? \"plaintext\";\n const theme = _theme ?? \"auto\";\n const minLines = _minLines ?? 3;\n const maxLines = _maxLines ?? Infinity;\n const height = _height ?? 500;\n const fixedOverflowWidgets = _fixedOverflowWidgets ?? true;\n const spellCheck = _spellCheck ?? true;\n const [expanded, setExpanded] = useState(false);\n const workerId = useMemo(() => uniqueId(\"worker\"), []);\n\n const { t } = useTranslation(NS);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const decorationsCollection =\n useRef<monaco.editor.IEditorDecorationsCollection>();\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n const size = useRef<monaco.editor.IDimension>({\n width: 300,\n height: getContentHeightByCode(value, minLines, maxLines),\n });\n const [actualHeight, setActualHeight] = useState<string | number>();\n // `automaticLayout` should never change\n const automaticLayoutRef = useRef(automaticLayout);\n const systemTheme = useCurrentTheme();\n\n const useTextmateTheme = textmateLanguages.includes(language);\n const computedTheme = useMemo(() => {\n const candidateTheme =\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme;\n if (useTextmateTheme && !TEXTMATE_THEMES.includes(candidateTheme)) {\n return DARK_THEMES.includes(candidateTheme)\n ? \"tm-vs-dark\"\n : \"tm-vs-light\";\n }\n return candidateTheme;\n }, [systemTheme, theme, useTextmateTheme]);\n const isDarkTheme = DARK_THEMES.includes(computedTheme);\n\n useEffect(() => {\n if (TEXTMATE_THEMES.includes(computedTheme)) {\n return;\n }\n const lineHighlightBackground = isDarkTheme ? \"#FFFFFF0F\" : \"#0000000A\";\n monaco.editor.defineTheme(\"custom-theme\", {\n base: computedTheme as \"vs-dark\" | \"vs\",\n inherit: true,\n rules: [],\n colors: {\n \"editor.lineHighlightBackground\": `${lineHighlightBackground}`,\n },\n });\n // Currently theme is configured globally.\n // See https://github.com/microsoft/monaco-editor/issues/338\n monaco.editor.setTheme(\"custom-theme\");\n }, [computedTheme, isDarkTheme]);\n\n useEffect(() => {\n monaco.editor.setTheme(computedTheme);\n }, [computedTheme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n }\n initializeTokensProvider(language);\n }, [language]);\n\n useEffect(() => {\n if (language === \"brick_next_yaml\") {\n const provideCompletionItems = brickNextYAMLProviderCompletionItems(\n completers,\n Array.isArray(advancedCompleters) ? undefined : advancedCompleters,\n workerId,\n tokenConfig\n );\n const monacoProviderRef = monaco.languages.registerCompletionItemProvider(\n \"brick_next_yaml\",\n {\n provideCompletionItems,\n triggerCharacters: [\".\", \":\", \"<\"],\n } as monaco.languages.CompletionItemProvider\n );\n return () => {\n monacoProviderRef.dispose();\n };\n }\n }, [completers, advancedCompleters, language, workerId, tokenConfig]);\n\n useEffect(() => {\n if (\n Array.isArray(advancedCompleters) &&\n advancedCompleters.length > 0 &&\n CEL_FAMILY.includes(language)\n ) {\n const disposable = monaco.languages.registerCompletionItemProvider(\n language,\n celSpecificCompletionProviderFactory(\n language,\n workerId,\n advancedCompleters\n )\n );\n return () => {\n disposable.dispose();\n };\n }\n }, [language, advancedCompleters, workerId]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (editor) {\n const currentModel = editor.getModel();\n if (currentModel?.getValue && value !== currentModel.getValue()) {\n currentModel.setValue(value as string);\n }\n }\n }, [value]);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-content\" || !containerRef.current) {\n return;\n }\n\n size.current.width = containerRef.current.getBoundingClientRect().width;\n editorRef.current?.layout(size.current);\n\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === containerRef.current) {\n // istanbul ignore next: compatibility\n const newWidth = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].inlineSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .inlineSize\n : entry.contentRect.width;\n // istanbul ignore next: compatibility\n const newHeight = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].blockSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .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 lineNumbersMinChars: expanded ? 5 : 3,\n });\n }, [readOnly, expanded]);\n\n useEffect(() => {\n if (editorRef.current || !containerRef.current) {\n return;\n }\n const model = monaco.editor.createModel(\n value,\n language,\n uri ? monaco.Uri.parse(uri) : undefined\n );\n let embeddedModel: monaco.editor.ITextModel | undefined;\n if (language === \"brick_next_yaml\") {\n // 注册嵌套的 model, language 为 js\n const embeddedUri = getEmbeddedJavascriptUri(model.uri);\n embeddedModel = monaco.editor.createModel(\n value,\n \"javascript\",\n embeddedUri\n );\n monaco.languages.typescript.javascriptDefaults.addExtraLib(\n getBrickYamlBuiltInDeclare(),\n model.uri.toString() + \"d.ts\"\n );\n }\n\n const editor = (editorRef.current = monaco.editor.create(\n containerRef.current,\n {\n extraEditorClassName: \"monaco-editor-v3\",\n model,\n minimap: {\n enabled: false,\n showRegionSectionHeaders: false,\n showMarkSectionHeaders: false,\n },\n scrollBeyondLastLine: false,\n tabSize: 2,\n insertSpaces: true,\n automaticLayout: automaticLayoutRef.current !== \"fit-content\",\n fontSize: EDITOR_FONT_SIZE,\n lineHeight: EDITOR_LINE_HEIGHT,\n scrollbar: {\n horizontalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n verticalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n horizontalSliderSize: 8,\n verticalSliderSize: 8,\n alwaysConsumeMouseWheel: false,\n },\n padding: {\n top: EDITOR_PADDING_VERTICAL,\n // When use `fit-content`, we always plus the height with the vertical padding.\n // Thus the possible x-scrollbar will not take extra space at the bottom.\n bottom:\n automaticLayoutRef.current == \"fit-content\"\n ? undefined\n : EDITOR_PADDING_VERTICAL,\n },\n overviewRulerBorder: false,\n mouseWheelScrollSensitivity: 0.5,\n fixedOverflowWidgets,\n lineNumbers: lineNumbers,\n lineNumbersMinChars: 3,\n glyphMargin,\n folding: lineNumbers !== \"off\",\n suggest: {\n insertMode: \"insert\",\n preview: true,\n },\n readOnly: readOnly,\n quickSuggestions: { strings: true, other: true, comments: true },\n renderLineHighlightOnlyWhenFocus: true,\n unicodeHighlight: {\n ambiguousCharacters: false,\n },\n }\n ));\n\n decorationsCollection.current =\n editorRef.current.createDecorationsCollection();\n\n switchEditor(editor);\n\n return () => {\n model.dispose();\n editor.dispose();\n embeddedModel?.dispose();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const languageDefaults =\n language === \"typescript\" ? \"typescriptDefaults\" : \"javascriptDefaults\";\n\n useEffect(() => {\n if (\n language === \"javascript\" ||\n language === \"typescript\" ||\n language === \"brick_next_yaml\"\n ) {\n monaco.languages.typescript[languageDefaults].setCompilerOptions({\n allowNonTsExtensions: true,\n lib: domLibsEnabled ? undefined : [\"esnext\"],\n target: monaco.languages.typescript.ScriptTarget.ESNext,\n module: monaco.languages.typescript.ModuleKind.ESNext,\n jsx: monaco.languages.typescript.JsxEmit.Preserve,\n skipLibCheck: true,\n skipDefaultLibCheck: true,\n });\n }\n }, [language, domLibsEnabled, languageDefaults]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (!editor) {\n return;\n }\n return () => {\n disposeEditor(editor);\n };\n }, []);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (!editor) {\n return;\n }\n\n const setupLanguageService = () => {\n setExtraLibs(extraLibs, { languageDefaults });\n\n if (\n language === \"javascript\" ||\n language === \"typescript\" ||\n language === \"brick_next_yaml\"\n ) {\n monaco.languages.typescript[languageDefaults].setCompilerOptions({\n allowNonTsExtensions: true,\n lib: domLibsEnabled ? undefined : [\"esnext\"],\n target: monaco.languages.typescript.ScriptTarget.ESNext,\n module: monaco.languages.typescript.ModuleKind.ESNext,\n jsx: monaco.languages.typescript.JsxEmit.Preserve,\n skipLibCheck: true,\n skipDefaultLibCheck: true,\n });\n }\n };\n\n if (isCurrentEditor(editor)) {\n setupLanguageService();\n }\n\n const disposable = editor.onDidFocusEditorWidget(() => {\n // Set language service for this particular editor instance\n if (switchEditor(editor)) {\n setupLanguageService();\n }\n });\n return () => {\n disposable.dispose();\n };\n }, [domLibsEnabled, extraLibs, language, languageDefaults]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (language === \"brick_next_yaml\" && editor) {\n const model = editor.getModel()!;\n const editorMouseDownEvent = editor.onMouseDown(function (e) {\n const decorations = decorationsCollection.current;\n (decorations?.getRanges?.() ?? []).forEach((range) => {\n const modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n if (\n range &&\n e.target.position &&\n e.event[modKey] &&\n range.containsPosition(e.target.position)\n ) {\n onTokenClick(model.getValueInRange(range));\n }\n });\n });\n\n const mouseOverEvent = editor.onMouseMove(function (e) {\n const decorations = decorationsCollection.current;\n if (!decorations) return;\n decorations.getRanges().forEach((range) => {\n const modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n if (\n range &&\n e.target.position &&\n e.event[modKey] &&\n range.containsPosition(e.target.position)\n ) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: range.equalsRange(item)\n ? \"highlight pointer\"\n : \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n } else if (!e.event[modKey]) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n }\n });\n });\n\n return () => {\n mouseOverEvent?.dispose();\n editorMouseDownEvent?.dispose();\n };\n }\n }, [language, onTokenClick, systemTheme, theme]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (\n !editor ||\n !containerRef.current ||\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n return;\n }\n\n const listener = editor.onDidContentSizeChange((e) => {\n if (expanded) return;\n if (e.contentHeightChanged) {\n const newHeight = fixEditorHeightWithScrollBar(\n e.contentHeight,\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n }\n });\n\n const newHeight = fixEditorHeightWithScrollBar(\n editor.getContentHeight(),\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n\n return () => {\n listener.dispose();\n };\n }, [maxLines, minLines, expanded]);\n\n // istanbul ignore next\n const embeddedModelProcessor = useCallback(\n async (model: monaco.editor.IModel, position: monaco.Position) => {\n monaco.editor.setModelMarkers(model, \"semantic_validate\", []);\n\n const prefixEvaluateOperator = model.findPreviousMatch(\n \"<%[~=]?\",\n position,\n true,\n false,\n null,\n false\n );\n\n const suffixEvaluateOperator = model.findNextMatch(\n \"%>\",\n position,\n false,\n false,\n null,\n false\n );\n\n const prefixEvaluateRange = prefixEvaluateOperator?.range;\n const suffixEvaluateRange = suffixEvaluateOperator?.range;\n\n if (prefixEvaluateRange && suffixEvaluateRange) {\n const range = new monaco.Range(\n prefixEvaluateRange.startLineNumber,\n prefixEvaluateRange.endColumn,\n suffixEvaluateRange.startLineNumber,\n suffixEvaluateRange.startColumn\n );\n\n const content = model.getValueInRange(range);\n if (range.containsPosition(position!) && !/<% | %>/.test(content)) {\n const newUri = getEmbeddedJavascriptUri(model.uri);\n const embeddedModel = monaco.editor.getModel(newUri);\n\n embeddedModel!.setValue(content);\n const offset = model.getOffsetAt(\n new monaco.Position(\n prefixEvaluateRange.startLineNumber,\n prefixEvaluateRange.endColumn\n )\n );\n\n const embeddedContext = EmbeddedModelContext.getInstance(workerId);\n\n embeddedContext.updateState({ content, range, offset });\n\n if (!customValidationInBrickNextYaml) return;\n\n const getWorker =\n await monaco.languages.typescript.getJavaScriptWorker();\n\n const worker = await getWorker(newUri);\n\n const diagnostics = await worker.getSemanticDiagnostics(\n newUri.toString()\n );\n\n const semanticMarkers = diagnostics.map((item) => {\n const finalOffset = offset + (item.start ?? 0);\n const currentPosition = model.getPositionAt(finalOffset);\n\n return {\n startLineNumber: currentPosition.lineNumber,\n startColumn: currentPosition.column,\n endLineNumber: currentPosition.lineNumber,\n endColumn: currentPosition.column + item.length!,\n message: item.messageText as string,\n severity: monaco.MarkerSeverity.Warning,\n };\n });\n\n monaco.editor.setModelMarkers(\n model,\n \"semantic_validate\",\n semanticMarkers\n );\n }\n }\n },\n [workerId]\n );\n\n useEffect(() => {\n if (!editorRef.current) {\n return;\n }\n const currentModel = editorRef.current.getModel()!;\n const listener = currentModel.onDidChangeContent(async (e) => {\n setEditorId(workerId);\n\n if ([\"brick_next_yaml\"].includes(language)) {\n embeddedModelProcessor(currentModel, editorRef.current!.getPosition()!);\n // debounceParse();\n }\n if (!e.isFlush) {\n onChange(currentModel.getValue());\n }\n });\n return () => {\n listener.dispose();\n };\n }, [\n /* debounceParse, */ onChange,\n workerId,\n language,\n embeddedModelProcessor,\n ]);\n\n useEffect(() => {\n if (expanded) {\n const fn = (e: KeyboardEvent): void => {\n if (e.key === \"Escape\" || e.key === \"Esc\") {\n window.removeEventListener(\"keydown\", fn);\n setExpanded(false);\n }\n };\n window.addEventListener(\"keydown\", fn);\n return () => {\n window.removeEventListener(\"keydown\", fn);\n };\n }\n }, [expanded]);\n\n useEffect(() => {\n if (!editorRef.current && !placeholder) return;\n const placeholderWidget = new PlaceholderContentWidget(\n placeholder!,\n editorRef.current!,\n isDarkTheme ? \"rgba(174,174,175,0.4)\" : \"rgba(89,89,89,0.4)\"\n );\n\n return () => {\n placeholderWidget.dispose();\n };\n }, [placeholder, isDarkTheme]);\n\n const handleCopyIconClick = useCallback(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n copyToClipboard(currentModel.getValue())\n .then(() =>\n showNotification({ type: \"success\", message: t(K.COPY_SUCCESS) })\n )\n .catch(() =>\n showNotification({ type: \"error\", message: t(K.COPY_FAILED) })\n );\n }\n }, [t]);\n\n const handleExpandedClick = useCallback(() => {\n setExpanded(!expanded);\n }, [expanded]);\n\n // istanbul ignore next\n useEffect(() => {\n const editor = editorRef.current;\n if (!(editor && language === \"brick_next_yaml\")) {\n return;\n }\n\n let ignore = false;\n const handleChange = async () => {\n const worker = await getRemoteYamlLinterWorker();\n if (ignore) {\n return;\n }\n const { lintMarkers, lintDecorations } = await worker.lint({\n source: editor.getValue(),\n links,\n markers,\n });\n const model = editor.getModel();\n if (ignore || !model) {\n return;\n }\n monaco.editor.setModelMarkers(\n model,\n BRICK_NEXT_YAML_LINT,\n lintMarkers.map(({ start, end, message, severity, code }) => {\n const startPos = model.getPositionAt(start);\n const endPos = model.getPositionAt(end);\n return {\n startLineNumber: startPos.lineNumber,\n startColumn: startPos.column,\n endLineNumber: endPos.lineNumber,\n endColumn: endPos.column,\n severity: monaco.MarkerSeverity[severity],\n message,\n code: code as monaco.editor.IMarkerData[\"code\"],\n };\n })\n );\n decorationsCollection.current?.set(\n lintDecorations.map(({ start, end, options }) => ({\n range: monaco.Range.fromPositions(\n model.getPositionAt(start),\n model.getPositionAt(end)\n ),\n options,\n }))\n );\n };\n const debounceChange = debounce(handleChange, 200);\n const change = editor.onDidChangeModelContent(debounceChange);\n debounceChange();\n\n return () => {\n ignore = true;\n change.dispose();\n monaco.editor.setModelMarkers(\n editor.getModel()!,\n BRICK_NEXT_YAML_LINT,\n []\n );\n };\n }, [language, links, markers, theme, workerId]);\n\n // istanbul ignore next\n useEffect(() => {\n const editor = editorRef.current;\n if (!editor || !spellCheck) {\n return;\n }\n\n let ignore = false;\n const handleChange = async () => {\n const worker = await getRemoteSpellCheckWorker();\n if (ignore) {\n return;\n }\n const { markers: spellCheckMarkers } = await worker.spellCheck({\n source: editor.getValue(),\n knownWords,\n });\n const model = editor.getModel();\n if (ignore || !model) {\n return;\n }\n monaco.editor.setModelMarkers(\n model,\n SPELL_CHECK,\n spellCheckMarkers.map(({ start, end, message, severity }) => {\n const startPos = model.getPositionAt(start);\n const endPos = model.getPositionAt(end);\n return {\n startLineNumber: startPos.lineNumber,\n startColumn: startPos.column,\n endLineNumber: endPos.lineNumber,\n endColumn: endPos.column,\n severity: monaco.MarkerSeverity[severity],\n message,\n };\n })\n );\n };\n const debounceChange = debounce(handleChange, 200);\n const change = editor.onDidChangeModelContent(debounceChange);\n debounceChange();\n\n return () => {\n ignore = true;\n change.dispose();\n monaco.editor.setModelMarkers(editor.getModel()!, SPELL_CHECK, []);\n };\n }, [spellCheck, knownWords]);\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-wrapper\">\n <div className=\"toolbar sticky\">\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 </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","monaco","defineTheme","tmVsLight","tmVsDark","TEXTMATE_THEMES","DARK_THEMES","registerCel","registerCelYaml","registerCelStr","EMBEDDED_CEL","CEL_FAMILY","lang","registerCompletionItemProvider","triggerCharacters","provideCompletionItems","provideEmbeddedCelCompletionItems","celCommonCompletionProviderFactory","enabled","copilotEnabled","copilotOptions","_getRuntime$getMiscSe","_getRuntime","getRuntime","getMiscSettings","globalMonacoEditorCopilotOptions","registerInlineCompletionsProvider","SUPPORTED_LANGUAGES","MonacoCopilotProvider","request","_ref","_response$choices","model","temperature","system","prompt","signal","AiopsBaseApi_openaiChat","enableSensitiveWordsFilter","stream","messages","role","content","interceptorParams","ignoreLoadingBar","choices","message","trim","HttpAbortError","defineElement","property","event","createDecorators","WrappedFormItem","wrapBrick","WrappedTooltip","WrappedIcon","copyToClipboard","unwrapProvider","showNotification","SPELL_CHECK","BRICK_NEXT_YAML_LINT","_CodeEditor","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_T","_U","_V","_W","_X","_Y","_Z","_a","_b","_c","_d","_CodeEditor_brand","WeakSet","_e","_handleChange","_handleUserInput","_f","_handleTokenClick","_handleValidator","CodeEditor","FormItemElementBase","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_name","_init_extra_name","_init_label","_init_extra_label","_init_value","_init_extra_value","_init_language","_init_extra_language","_init_theme","_init_extra_theme","_init_required","_init_extra_required","_init_readOnly","_init_extra_readOnly","_init_automaticLayout","_init_extra_automaticLayout","_init_minLines","_init_extra_minLines","_init_completers","_init_extra_completers","_init_advancedCompleters","_init_extra_advancedCompleters","_init_markers","_init_extra_markers","_init_links","_init_extra_links","_init_maxLines","_init_extra_maxLines","_init_height","_init_extra_height","_init_message","_init_extra_message","_init_placeholder","_init_extra_placeholder","_init_showExpandButton","_init_extra_showExpandButton","_init_lineNumbers","_init_extra_lineNumbers","_init_tokenConfig","_init_extra_tokenConfig","_init_customValidationInBrickNextYaml","_init_extra_customValidationInBrickNextYaml","_init_showCopyButton","_init_extra_showCopyButton","_init_glyphMargin","_init_extra_glyphMargin","_init_extraLibs","_init_extra_extraLibs","_init_fixedOverflowWidgets","_init_extra_fixedOverflowWidgets","_init_spellCheck","_init_extra_spellCheck","_init_knownWords","_init_extra_knownWords","_init_domLibsEnabled","_init_extra_domLibsEnabled","_init_uri","_init_extra_uri","_init_codeChange","_init_extra_codeChange","_init_userInput","_init_extra_userInput","value","_this$getFormElement","this","getFormElement","formStore","onChange","name","_classPrivateGetter","_get_codeChange","emit","_get_userInput","_init_tokenClickEvent","_init_extra_tokenClickEvent","word","_get_tokenClickEvent","language","yaml","_classPrivateFieldGet","v","_classPrivateFieldSet","label","theme","required","readOnly","automaticLayout","minLines","completers","advancedCompleters","markers","links","maxLines","height","placeholder","showExpandButton","lineNumbers","tokenConfig","customValidationInBrickNextYaml","showCopyButton","glyphMargin","extraLibs","fixedOverflowWidgets","spellCheck","knownWords","domLibsEnabled","uri","connectedCallback","style","display","super","render","React","exportparts","curElement","formElement","helpBrick","labelBrick","notRender","validator","CodeEditorComponent","validateState","onUserInput","onTokenClick","_ref2","_value","_language","_theme","_minLines","_maxLines","_height","_fixedOverflowWidgets","_spellCheck","Infinity","expanded","setExpanded","useState","workerId","useMemo","uniqueId","t","useTranslation","containerRef","useRef","decorationsCollection","editorRef","size","width","getContentHeightByCode","actualHeight","setActualHeight","automaticLayoutRef","systemTheme","useCurrentTheme","useTextmateTheme","textmateLanguages","includes","computedTheme","candidateTheme","isDarkTheme","useEffect","lineHighlightBackground","base","inherit","rules","colors","setTheme","current","currentModel","getModel","setModelLanguage","initializeTokensProvider","brickNextYAMLProviderCompletionItems","Array","isArray","undefined","monacoProviderRef","dispose","length","disposable","celSpecificCompletionProviderFactory","editor","getValue","setValue","useLayoutEffect","_editorRef$current","getBoundingClientRect","layout","observer","ResizeObserver","entries","entry","target","newWidth","contentBoxSize","inlineSize","contentRect","newHeight","blockSize","_editorRef$current2","observe","disconnect","container","element","brick","found","tagName","toLowerCase","parentElement","getDOMContainer","offsetHeight","updateOptions","lineNumbersMinChars","createModel","parse","embeddedModel","embeddedUri","getEmbeddedJavascriptUri","typescript","javascriptDefaults","addExtraLib","getBrickYamlBuiltInDeclare","toString","create","extraEditorClassName","minimap","showRegionSectionHeaders","showMarkSectionHeaders","scrollBeyondLastLine","tabSize","insertSpaces","fontSize","EDITOR_FONT_SIZE","lineHeight","EDITOR_LINE_HEIGHT","scrollbar","horizontalScrollbarSize","EDITOR_SCROLLBAR_SIZE","verticalScrollbarSize","horizontalSliderSize","verticalSliderSize","alwaysConsumeMouseWheel","padding","top","EDITOR_PADDING_VERTICAL","bottom","overviewRulerBorder","mouseWheelScrollSensitivity","folding","suggest","insertMode","preview","quickSuggestions","strings","other","comments","renderLineHighlightOnlyWhenFocus","unicodeHighlight","ambiguousCharacters","createDecorationsCollection","switchEditor","_embeddedModel","languageDefaults","setCompilerOptions","allowNonTsExtensions","lib","ScriptTarget","ESNext","module","ModuleKind","jsx","JsxEmit","Preserve","skipLibCheck","skipDefaultLibCheck","disposeEditor","setupLanguageService","setExtraLibs","isCurrentEditor","onDidFocusEditorWidget","editorMouseDownEvent","onMouseDown","e","_decorations$getRange","_decorations$getRange2","decorations","getRanges","call","forEach","range","modKey","test","navigator","platform","position","containsPosition","getValueInRange","mouseOverEvent","onMouseMove","newDecorations","map","item","options","inlineClassName","equalsRange","set","listener","onDidContentSizeChange","contentHeightChanged","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","embeddedModelProcessor","useCallback","async","setModelMarkers","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixEvaluateRange","suffixEvaluateRange","startLineNumber","endColumn","startColumn","newUri","offset","getOffsetAt","EmbeddedModelContext","getInstance","updateState","getWorker","getJavaScriptWorker","worker","semanticMarkers","getSemanticDiagnostics","_item$start","finalOffset","start","currentPosition","getPositionAt","lineNumber","column","endLineNumber","messageText","severity","Warning","onDidChangeContent","setEditorId","getPosition","isFlush","fn","key","window","removeEventListener","addEventListener","placeholderWidget","PlaceholderContentWidget","handleCopyIconClick","then","type","K","COPY_SUCCESS","catch","COPY_FAILED","handleExpandedClick","ignore","debounceChange","debounce","_decorationsCollectio","getRemoteYamlLinterWorker","lintMarkers","lintDecorations","lint","source","_ref3","end","code","startPos","endPos","_ref4","fromPositions","change","onDidChangeModelContent","getRemoteSpellCheckWorker","spellCheckMarkers","_ref5","className","classNames","error","ref","overflow","COPY","icon","onClick","COLLAPSE","EXPAND","getContentHeightByLines","Math","min","max","split","fixedHeight","lines","_CodeEditor2","_set_codeChange","_set_userInput","_set_tokenClickEvent","c","_initClass","_applyDecs","shadowOptions","Boolean","Number","attribute","o","_","has","_checkInRHS"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[]).push([[871],{40871:(e,t,n)=>{"use strict";n.r(t),n.d(t,{JsonStorage:()=>w,createProviderClass:()=>o,createSSEStream:()=>d,deepFreeze:()=>v,hasOwnProperty:()=>p,isObject:()=>h,unwrapProvider:()=>y});var r=n(45060);function o(e){return class extends HTMLElement{get $$typeof(){return"provider"}resolve(){return e(...arguments)}async saveAs(t){for(var n=arguments.length,o=new Array(n>1?n-1:0),a=1;a<n;a++)o[a-1]=arguments[a];const s=await e(...o);r.saveAs(s,t)}}}var a=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n};const s="text/event-stream",i=1e3,c="last-event-id";function l(e,t){var{signal:n,headers:r,onopen:o,onmessage:l,onclose:d,onerror:f,openWhenHidden:v,fetch:p}=t,h=a(t,["signal","headers","onopen","onmessage","onclose","onerror","openWhenHidden","fetch"]);return new Promise(((t,a)=>{const w=Object.assign({},r);let g;function y(){g.abort(),document.hidden||j()}w.accept||(w.accept=s),v||document.addEventListener("visibilitychange",y);let b=i,m=0;function O(){document.removeEventListener("visibilitychange",y),window.clearTimeout(m),g.abort()}null==n||n.addEventListener("abort",(()=>{O(),t()}));const E=null!=p?p:window.fetch,k=null!=o?o:u;async function j(){var n;g=new AbortController;try{const n=await E(e,Object.assign(Object.assign({},h),{headers:w,signal:g.signal}));await k(n),await async function(e,t){const n=e.getReader();let r;for(;!(r=await n.read()).done;)t(r.value)}(n.body,function(e){let t,n,r,o=!1;return function(a){void 0===t?(t=a,n=0,r=-1):t=function(e,t){const n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}(t,a);const s=t.length;let i=0;for(;n<s;){o&&(10===t[n]&&(i=++n),o=!1);let a=-1;for(;n<s&&-1===a;++n)switch(t[n]){case 58:-1===r&&(r=n-i);break;case 13:o=!0;case 10:a=n}if(-1===a)break;e(t.subarray(i,a),r),i=n,r=-1}i===s?t=void 0:0!==i&&(t=t.subarray(i),n-=i)}}(function(e,t,n){let r={data:"",event:"",id:"",retry:void 0};const o=new TextDecoder;return function(e,t){if(0===e.length)null==n||n(r),r={data:"",event:"",id:"",retry:void 0};else if(t>0){const n=o.decode(e.subarray(0,t)),s=t+(32===e[t+1]?2:1),i=o.decode(e.subarray(s));switch(n){case"data":r.data=r.data?r.data+"\n"+i:i;break;case"event":r.event=i;break;case"id":(a=r.id=i)?w[c]=a:delete w[c];break;case"retry":const e=parseInt(i,10);isNaN(e)||(e=>{b=e})(r.retry=e)}}var a}}(0,0,l))),null==d||d(),O(),t()}catch(e){if(!g.signal.aborted)try{const t=null!==(n=null==f?void 0:f(e))&&void 0!==n?n:b;window.clearTimeout(m),m=window.setTimeout(j,t)}catch(e){O(),a(e)}}}j()}))}function u(e){const t=e.headers.get("content-type");if(!(null==t?void 0:t.startsWith(s)))throw new Error(`Expected content-type to be ${s}, Actual: ${t}`)}async function d(e,t){const n=[],r=[];let o=!1,a=!1;const{converter:s,...i}=null!=t?t:{};function c(){r.forEach((e=>{let[t]=e;return t({value:void 0,done:!0})}))}function u(){o=!0,r.length=0,n.length=0}return await new Promise(((t,o)=>{l(e,{...i,openWhenHidden:!0,async onopen(e){if(!e.ok){var n;let t,r;console.error("open error",e.statusText);try{t=await e.text()}catch{throw new Error(e.statusText)}try{r=JSON.parse(t)}catch{}if("string"==typeof(null===(n=r)||void 0===n?void 0:n.error))throw new Error(r.error);throw new Error(t)}t(null)},onmessage(e){let t,o,a=!0;try{t=(null!=s?s:f)(e.data,e.event)}catch(e){a=!1,o=e}if(r.length>0){const[e,n]=r.shift();a?e(t):n(o)}else n.push(a?{ok:!0,data:t}:{ok:!1,reason:o})},onclose(){a=!0,c()},onerror(e){throw e}}).catch((e=>{o(e),function(e){r.forEach((t=>{let[n,r]=t;return r(e)})),u()}(e)}))})),{next(){return o?this.return():new Promise(((e,t)=>{if(n.length>0){const r=n.shift();r.ok?e(r.data):t(r.reason)}else a?(u(),e({value:void 0,done:!0})):r.push([e,t])}))},return:()=>(c(),u(),Promise.resolve({value:void 0,done:!0})),throw:e=>(c(),u(),Promise.reject(e)),[Symbol.asyncIterator](){return this}}}function f(e,t){if("error"===t){var n;let t;console.error("Received error event:",e);try{t=JSON.parse(e)}catch{}throw new Error("string"==typeof(null===(n=t)||void 0===n?void 0:n.error)?t.error:e)}if("[DONE]"===e)return{value:void 0,done:!0};if(e.startsWith("[ERROR]"))throw console.error("Received error message:",e),new Error(e);try{return{value:JSON.parse(e),done:!1}}catch(t){throw console.error("Failed to parse message:",e),t}}function v(e){const t=Object.getOwnPropertyNames(e);for(const n of t){const t=e[n];t&&"object"==typeof t&&v(t)}return Object.freeze(e)}function p(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function h(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}class w{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"brick-next-";this.storage=e,this.prefix=t}setItem(e,t){this.storage.setItem(this.prefix+e,JSON.stringify(t))}getItem(e){var t;return JSON.parse(null!==(t=this.storage.getItem(this.prefix+e))&&void 0!==t?t:"null")}removeItem(e){return this.storage.removeItem(this.prefix+e)}clear(){return this.storage.clear()}}const g=new Map;function y(e){return function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];const o=function(e){let t=g.get(e);return t||(t=document.createElement(e),g.set(e,t),t)}(e);return o.resolve(...n)}}},45060:function(e,t,n){var r,o;void 0===(o="function"==typeof(r=function(){"use strict";function t(e,t,n){var r=new XMLHttpRequest;r.open("GET",e),r.responseType="blob",r.onload=function(){i(r.response,t,n)},r.onerror=function(){console.error("could not download file")},r.send()}function r(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function o(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof n.g&&n.g.global===n.g?n.g:void 0,s=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),i=a.saveAs||("object"!=typeof window||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!s?function(e,n,s){var i=a.URL||a.webkitURL,c=document.createElement("a");n=n||e.name||"download",c.download=n,c.rel="noopener","string"==typeof e?(c.href=e,c.origin===location.origin?o(c):r(c.href)?t(e,n,s):o(c,c.target="_blank")):(c.href=i.createObjectURL(e),setTimeout((function(){i.revokeObjectURL(c.href)}),4e4),setTimeout((function(){o(c)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,n,a){if(n=n||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}(e,a),n);else if(r(e))t(e,n,a);else{var s=document.createElement("a");s.href=e,s.target="_blank",setTimeout((function(){o(s)}))}}:function(e,n,r,o){if((o=o||open("","_blank"))&&(o.document.title=o.document.body.innerText="downloading..."),"string"==typeof e)return t(e,n,r);var i="application/octet-stream"===e.type,c=/constructor/i.test(a.HTMLElement)||a.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||i&&c||s)&&"undefined"!=typeof FileReader){var u=new FileReader;u.onloadend=function(){var e=u.result;e=l?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),o?o.location.href=e:location=e,o=null},u.readAsDataURL(e)}else{var d=a.URL||a.webkitURL,f=d.createObjectURL(e);o?o.location=f:location.href=f,o=null,setTimeout((function(){d.revokeObjectURL(f)}),4e4)}});a.saveAs=i.saveAs=i,e.exports=i})?r.apply(t,[]):r)||(e.exports=o)}}]);
|
|
2
|
+
//# sourceMappingURL=871.bab6300b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/871.bab6300b.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/utils/dist/esm/general/createProviderClass.js","webpack:///../../node_modules/@microsoft/fetch-event-source/lib/esm/fetch.js","webpack:///../../node_modules/@microsoft/fetch-event-source/lib/esm/parse.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/createSSEStream.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/deepFreeze.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/hasOwnProperty.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/isObject.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/JsonStorage.js","webpack:///../../node_modules/@next-core/utils/dist/esm/general/unwrapProvider.js","webpack:///../../node_modules/file-saver/dist/FileSaver.min.js"],"sourcesContent":["import fileSaver from \"file-saver\";\nexport function createProviderClass(api) {\n return class extends HTMLElement {\n get $$typeof() {\n return \"provider\";\n }\n resolve() {\n return api(...arguments);\n }\n async saveAs(filename) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n const blob = await api(...args);\n fileSaver.saveAs(blob, filename);\n }\n };\n}\n//# sourceMappingURL=createProviderClass.js.map","var __rest = (this && this.__rest) || function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n};\r\nimport { getBytes, getLines, getMessages } from './parse';\r\nexport const EventStreamContentType = 'text/event-stream';\r\nconst DefaultRetryInterval = 1000;\r\nconst LastEventId = 'last-event-id';\r\nexport function fetchEventSource(input, _a) {\r\n var { signal: inputSignal, headers: inputHeaders, onopen: inputOnOpen, onmessage, onclose, onerror, openWhenHidden, fetch: inputFetch } = _a, rest = __rest(_a, [\"signal\", \"headers\", \"onopen\", \"onmessage\", \"onclose\", \"onerror\", \"openWhenHidden\", \"fetch\"]);\r\n return new Promise((resolve, reject) => {\r\n const headers = Object.assign({}, inputHeaders);\r\n if (!headers.accept) {\r\n headers.accept = EventStreamContentType;\r\n }\r\n let curRequestController;\r\n function onVisibilityChange() {\r\n curRequestController.abort();\r\n if (!document.hidden) {\r\n create();\r\n }\r\n }\r\n if (!openWhenHidden) {\r\n document.addEventListener('visibilitychange', onVisibilityChange);\r\n }\r\n let retryInterval = DefaultRetryInterval;\r\n let retryTimer = 0;\r\n function dispose() {\r\n document.removeEventListener('visibilitychange', onVisibilityChange);\r\n window.clearTimeout(retryTimer);\r\n curRequestController.abort();\r\n }\r\n inputSignal === null || inputSignal === void 0 ? void 0 : inputSignal.addEventListener('abort', () => {\r\n dispose();\r\n resolve();\r\n });\r\n const fetch = inputFetch !== null && inputFetch !== void 0 ? inputFetch : window.fetch;\r\n const onopen = inputOnOpen !== null && inputOnOpen !== void 0 ? inputOnOpen : defaultOnOpen;\r\n async function create() {\r\n var _a;\r\n curRequestController = new AbortController();\r\n try {\r\n const response = await fetch(input, Object.assign(Object.assign({}, rest), { headers, signal: curRequestController.signal }));\r\n await onopen(response);\r\n await getBytes(response.body, getLines(getMessages(id => {\r\n if (id) {\r\n headers[LastEventId] = id;\r\n }\r\n else {\r\n delete headers[LastEventId];\r\n }\r\n }, retry => {\r\n retryInterval = retry;\r\n }, onmessage)));\r\n onclose === null || onclose === void 0 ? void 0 : onclose();\r\n dispose();\r\n resolve();\r\n }\r\n catch (err) {\r\n if (!curRequestController.signal.aborted) {\r\n try {\r\n const interval = (_a = onerror === null || onerror === void 0 ? void 0 : onerror(err)) !== null && _a !== void 0 ? _a : retryInterval;\r\n window.clearTimeout(retryTimer);\r\n retryTimer = window.setTimeout(create, interval);\r\n }\r\n catch (innerErr) {\r\n dispose();\r\n reject(innerErr);\r\n }\r\n }\r\n }\r\n }\r\n create();\r\n });\r\n}\r\nfunction defaultOnOpen(response) {\r\n const contentType = response.headers.get('content-type');\r\n if (!(contentType === null || contentType === void 0 ? void 0 : contentType.startsWith(EventStreamContentType))) {\r\n throw new Error(`Expected content-type to be ${EventStreamContentType}, Actual: ${contentType}`);\r\n }\r\n}\r\n//# sourceMappingURL=fetch.js.map","export async function getBytes(stream, onChunk) {\r\n const reader = stream.getReader();\r\n let result;\r\n while (!(result = await reader.read()).done) {\r\n onChunk(result.value);\r\n }\r\n}\r\nexport function getLines(onLine) {\r\n let buffer;\r\n let position;\r\n let fieldLength;\r\n let discardTrailingNewline = false;\r\n return function onChunk(arr) {\r\n if (buffer === undefined) {\r\n buffer = arr;\r\n position = 0;\r\n fieldLength = -1;\r\n }\r\n else {\r\n buffer = concat(buffer, arr);\r\n }\r\n const bufLength = buffer.length;\r\n let lineStart = 0;\r\n while (position < bufLength) {\r\n if (discardTrailingNewline) {\r\n if (buffer[position] === 10) {\r\n lineStart = ++position;\r\n }\r\n discardTrailingNewline = false;\r\n }\r\n let lineEnd = -1;\r\n for (; position < bufLength && lineEnd === -1; ++position) {\r\n switch (buffer[position]) {\r\n case 58:\r\n if (fieldLength === -1) {\r\n fieldLength = position - lineStart;\r\n }\r\n break;\r\n case 13:\r\n discardTrailingNewline = true;\r\n case 10:\r\n lineEnd = position;\r\n break;\r\n }\r\n }\r\n if (lineEnd === -1) {\r\n break;\r\n }\r\n onLine(buffer.subarray(lineStart, lineEnd), fieldLength);\r\n lineStart = position;\r\n fieldLength = -1;\r\n }\r\n if (lineStart === bufLength) {\r\n buffer = undefined;\r\n }\r\n else if (lineStart !== 0) {\r\n buffer = buffer.subarray(lineStart);\r\n position -= lineStart;\r\n }\r\n };\r\n}\r\nexport function getMessages(onId, onRetry, onMessage) {\r\n let message = newMessage();\r\n const decoder = new TextDecoder();\r\n return function onLine(line, fieldLength) {\r\n if (line.length === 0) {\r\n onMessage === null || onMessage === void 0 ? void 0 : onMessage(message);\r\n message = newMessage();\r\n }\r\n else if (fieldLength > 0) {\r\n const field = decoder.decode(line.subarray(0, fieldLength));\r\n const valueOffset = fieldLength + (line[fieldLength + 1] === 32 ? 2 : 1);\r\n const value = decoder.decode(line.subarray(valueOffset));\r\n switch (field) {\r\n case 'data':\r\n message.data = message.data\r\n ? message.data + '\\n' + value\r\n : value;\r\n break;\r\n case 'event':\r\n message.event = value;\r\n break;\r\n case 'id':\r\n onId(message.id = value);\r\n break;\r\n case 'retry':\r\n const retry = parseInt(value, 10);\r\n if (!isNaN(retry)) {\r\n onRetry(message.retry = retry);\r\n }\r\n break;\r\n }\r\n }\r\n };\r\n}\r\nfunction concat(a, b) {\r\n const res = new Uint8Array(a.length + b.length);\r\n res.set(a);\r\n res.set(b, a.length);\r\n return res;\r\n}\r\nfunction newMessage() {\r\n return {\r\n data: '',\r\n event: '',\r\n id: '',\r\n retry: undefined,\r\n };\r\n}\r\n//# sourceMappingURL=parse.js.map","import { fetchEventSource } from \"@microsoft/fetch-event-source\";\n/**\n * 将 SSE 事件流转换为异步迭代器。\n */\nexport async function createSSEStream(url, options) {\n // Reference https://github.com/withspectrum/callback-to-async-iterator/blob/master/src/index.js\n const pushQueue = [];\n const pullQueue = [];\n let disposed = false;\n let closed = false;\n const {\n converter,\n ...fetchOptions\n } = options !== null && options !== void 0 ? options : {};\n await new Promise((resolve, reject) => {\n fetchEventSource(url, {\n ...fetchOptions,\n openWhenHidden: true,\n async onopen(response) {\n if (response.ok) {\n resolve(null);\n } else {\n var _json;\n // eslint-disable-next-line no-console\n console.error(\"open error\", response.statusText);\n let text;\n try {\n text = await response.text();\n } catch {\n throw new Error(response.statusText);\n }\n let json;\n try {\n json = JSON.parse(text);\n } catch {\n // Do nothing\n }\n if (typeof ((_json = json) === null || _json === void 0 ? void 0 : _json.error) === \"string\") {\n throw new Error(json.error);\n }\n throw new Error(text);\n }\n },\n onmessage(msg) {\n // istanbul ignore next\n if (process.env.NODE_ENV === \"development\") {\n // eslint-disable-next-line no-console\n console.debug(\"[EventSource]\", msg);\n }\n let data;\n let reason;\n let ok = true;\n try {\n data = (converter !== null && converter !== void 0 ? converter : defaultConverter)(msg.data, msg.event);\n } catch (e) {\n ok = false;\n reason = e;\n }\n if (pullQueue.length > 0) {\n const [resolve, reject] = pullQueue.shift();\n ok ? resolve(data) : reject(reason);\n } else {\n pushQueue.push(ok ? {\n ok: true,\n data: data\n } : {\n ok: false,\n reason\n });\n }\n },\n onclose() {\n closed = true;\n earlyDone();\n },\n onerror(err) {\n throw err;\n }\n }).catch(reason => {\n reject(reason);\n bailout(reason);\n });\n });\n function bailout(reason) {\n pullQueue.forEach(_ref => {\n let [_resolve, reject] = _ref;\n return reject(reason);\n });\n dispose();\n }\n function earlyDone() {\n pullQueue.forEach(_ref2 => {\n let [resolve] = _ref2;\n return resolve({\n value: undefined,\n done: true\n });\n });\n }\n function dispose() {\n disposed = true;\n pullQueue.length = 0;\n pushQueue.length = 0;\n }\n return {\n next() {\n return disposed ? this.return() : new Promise((resolve, reject) => {\n if (pushQueue.length > 0) {\n const result = pushQueue.shift();\n if (result.ok) {\n resolve(result.data);\n } else {\n reject(result.reason);\n }\n } else if (closed) {\n dispose();\n resolve({\n value: undefined,\n done: true\n });\n } else {\n pullQueue.push([resolve, reject]);\n }\n });\n },\n return() {\n earlyDone();\n dispose();\n return Promise.resolve({\n value: undefined,\n done: true\n });\n },\n throw(error) {\n earlyDone();\n dispose();\n return Promise.reject(error);\n },\n [Symbol.asyncIterator]() {\n return this;\n }\n };\n}\nfunction defaultConverter(data, event) {\n if (event === \"error\") {\n var _value;\n // eslint-disable-next-line no-console\n console.error(\"Received error event:\", data);\n let value;\n try {\n value = JSON.parse(data);\n } catch {\n // Ignore\n }\n throw new Error(typeof ((_value = value) === null || _value === void 0 ? void 0 : _value.error) === \"string\" ? value.error : data);\n }\n\n // By default, `data: [DONE]` indicates the end of the stream\n if (data === \"[DONE]\") {\n return {\n value: undefined,\n done: true\n };\n }\n if (data.startsWith(\"[ERROR]\")) {\n // eslint-disable-next-line no-console\n console.error(\"Received error message:\", data);\n throw new Error(data);\n }\n try {\n const value = JSON.parse(data);\n return {\n value,\n done: false\n };\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(\"Failed to parse message:\", data);\n throw e;\n }\n}\n//# sourceMappingURL=createSSEStream.js.map","// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze\n\n/** @internal */\nexport function deepFreeze(object) {\n // Retrieve the property names defined on object\n const propNames = Object.getOwnPropertyNames(object);\n\n // Freeze properties before freezing self\n\n for (const name of propNames) {\n const value = object[name];\n if (value && typeof value === \"object\") {\n deepFreeze(value);\n }\n }\n return Object.freeze(object);\n}\n//# sourceMappingURL=deepFreeze.js.map","export function hasOwnProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n//# sourceMappingURL=hasOwnProperty.js.map","// Ref https://github.com/lodash/lodash/blob/4.17.11/lodash.js#L11744\nexport function isObject(value) {\n const type = typeof value;\n return value != null && (type == \"object\" || type == \"function\");\n}\n//# sourceMappingURL=isObject.js.map","// This is copied from\n// [@next-libs/storage](https://github.com/easyops-cn/next-libs/tree/master/libs/storage),\n// and the types is refined.\n// The usage of JsonStorage from @next-libs/storage should be deprecated,\n// and migrated to from @next-core/brick-utils.\nexport class JsonStorage {\n constructor(storage) {\n let prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"brick-next-\";\n this.storage = storage;\n this.prefix = prefix;\n }\n setItem(name, value) {\n this.storage.setItem(this.prefix + name, JSON.stringify(value));\n }\n getItem(name) {\n var _this$storage$getItem;\n return JSON.parse((_this$storage$getItem = this.storage.getItem(this.prefix + name)) !== null && _this$storage$getItem !== void 0 ? _this$storage$getItem : \"null\");\n }\n removeItem(name) {\n return this.storage.removeItem(this.prefix + name);\n }\n clear() {\n return this.storage.clear();\n }\n}\n//# sourceMappingURL=JsonStorage.js.map","const pool = new Map();\nfunction getProviderBrick(provider) {\n let brick = pool.get(provider);\n if (brick) {\n return brick;\n }\n brick = document.createElement(provider);\n pool.set(provider, brick);\n return brick;\n}\nexport function unwrapProvider(provider) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n const brick = getProviderBrick(provider);\n return brick.resolve(...args);\n };\n}\n//# sourceMappingURL=unwrapProvider.js.map","(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n//# sourceMappingURL=FileSaver.min.js.map"],"names":["createProviderClass","api","HTMLElement","$$typeof","resolve","arguments","saveAs","filename","_len","length","args","Array","_key","blob","__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","propertyIsEnumerable","EventStreamContentType","DefaultRetryInterval","LastEventId","fetchEventSource","input","_a","signal","inputSignal","headers","inputHeaders","onopen","inputOnOpen","onmessage","onclose","onerror","openWhenHidden","fetch","inputFetch","rest","Promise","reject","assign","curRequestController","onVisibilityChange","abort","document","hidden","create","accept","addEventListener","retryInterval","retryTimer","dispose","removeEventListener","window","clearTimeout","defaultOnOpen","async","AbortController","response","stream","onChunk","reader","getReader","result","read","done","value","getBytes","body","onLine","buffer","position","fieldLength","discardTrailingNewline","arr","undefined","a","b","res","Uint8Array","set","concat","bufLength","lineStart","lineEnd","subarray","getLines","onId","onRetry","onMessage","message","data","event","id","retry","decoder","TextDecoder","line","field","decode","valueOffset","parseInt","isNaN","getMessages","err","aborted","interval","setTimeout","innerErr","contentType","get","startsWith","Error","createSSEStream","url","options","pushQueue","pullQueue","disposed","closed","converter","fetchOptions","earlyDone","forEach","_ref2","ok","_json","text","json","console","error","statusText","JSON","parse","msg","reason","defaultConverter","shift","push","catch","_ref","_resolve","bailout","next","this","return","throw","Symbol","asyncIterator","_value","deepFreeze","object","propNames","getOwnPropertyNames","name","freeze","property","isObject","type","JsonStorage","constructor","storage","prefix","setItem","stringify","getItem","_this$storage$getItem","removeItem","clear","pool","Map","unwrapProvider","provider","brick","createElement","getProviderBrick","c","d","XMLHttpRequest","open","responseType","onload","g","send","status","dispatchEvent","MouseEvent","createEvent","initMouseEvent","f","self","global","navigator","test","userAgent","HTMLAnchorElement","h","URL","webkitURL","j","download","rel","href","origin","location","target","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","autoBom","warn","Blob","title","innerText","safari","FileReader","k","onloadend","replace","readAsDataURL","l","m","module","exports"],"sourceRoot":""}
|