@ws-ui/code-editor 1.10.1 → 1.10.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.
@@ -0,0 +1,3 @@
1
+ import * as monaco from 'monaco-editor';
2
+ declare const formatter: monaco.languages.DocumentFormattingEditProvider;
3
+ export default formatter;
@@ -0,0 +1,3 @@
1
+ import * as monaco from 'monaco-editor';
2
+ declare const formatter: monaco.languages.DocumentFormattingEditProvider;
3
+ export default formatter;
package/dist/index.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("react/jsx-runtime"),S=require("react"),ne=require("@monaco-editor/react"),F=require("@ws-ui/shared"),Le=require("monaco-languageclient"),ge=require("monaco-languageclient/vscode/services"),ue=require("@codingame/monaco-vscode-configuration-service-override"),Fe=require("@codingame/monaco-vscode-languages-service-override"),je=require("@codingame/monaco-vscode-textmate-service-override");require("@codingame/monaco-vscode-theme-defaults-default-extension");const ke=require("@codingame/monaco-vscode-editor-service-override"),We=require("@codingame/monaco-vscode-theme-service-override"),Ee=require("@codingame/monaco-vscode-files-service-override"),ee=require("vscode/vscode/vs/platform/files/common/files"),re=require("vscode/vscode/vs/base/common/event"),Ze=require("monaco-languageclient/tools"),se=require("vscode-languageclient"),L=require("monaco-editor"),ie=require("vscode-ws-jsonrpc"),B=require("vscode-languageserver-protocol"),ae=require("vscode/services"),te=require("vscode/monaco");require("@codingame/monaco-vscode-standalone-languages");require("@codingame/monaco-vscode-standalone-html-language-features");require("@codingame/monaco-vscode-standalone-css-language-features");require("@codingame/monaco-vscode-standalone-json-language-features");require("@codingame/monaco-vscode-standalone-typescript-language-features");require("@codingame/monaco-vscode-css-default-extension");require("@codingame/monaco-vscode-json-default-extension");require("@codingame/monaco-vscode-html-default-extension");require("@codingame/monaco-vscode-javascript-default-extension");const Ke=require("vscode/extensions");var X=typeof document<"u"?document.currentScript:null;function Te(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:()=>n[t]})}}return e.default=n,Object.freeze(e)}const a=Te(L),Xe=()=>ue(),Be=()=>ke(()=>Promise.resolve(void 0)),Oe=()=>{const n=We(),e=n.themeService.ctor.prototype;return e.defineTheme=()=>{},n},De=`{
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("react/jsx-runtime"),S=require("react"),ie=require("@monaco-editor/react"),L=require("@ws-ui/shared"),Le=require("monaco-languageclient"),ue=require("monaco-languageclient/vscode/services"),de=require("@codingame/monaco-vscode-configuration-service-override"),je=require("@codingame/monaco-vscode-languages-service-override"),ke=require("@codingame/monaco-vscode-textmate-service-override");require("@codingame/monaco-vscode-theme-defaults-default-extension");const We=require("@codingame/monaco-vscode-editor-service-override"),Ee=require("@codingame/monaco-vscode-theme-service-override"),Ke=require("@codingame/monaco-vscode-files-service-override"),te=require("vscode/vscode/vs/platform/files/common/files"),se=require("vscode/vscode/vs/base/common/event"),Ze=require("monaco-languageclient/tools"),ae=require("vscode-languageclient"),N=require("monaco-editor"),oe=require("vscode-ws-jsonrpc"),B=require("vscode-languageserver-protocol"),le=require("vscode/services"),ne=require("vscode/monaco");require("@codingame/monaco-vscode-standalone-languages");require("@codingame/monaco-vscode-standalone-html-language-features");require("@codingame/monaco-vscode-standalone-css-language-features");require("@codingame/monaco-vscode-standalone-json-language-features");require("@codingame/monaco-vscode-standalone-typescript-language-features");require("@codingame/monaco-vscode-css-default-extension");require("@codingame/monaco-vscode-json-default-extension");require("@codingame/monaco-vscode-html-default-extension");require("@codingame/monaco-vscode-javascript-default-extension");const Te=require("vscode/extensions");var X=typeof document<"u"?document.currentScript:null;function Xe(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const a=Xe(N),Be=()=>de(),De=()=>We(()=>Promise.resolve(void 0)),Oe=()=>{const t=Ee(),e=t.themeService.ctor.prototype;return e.defineTheme=()=>{},t},Pe=`{
2
2
  "workbench.colorTheme": "Default Dark+",
3
3
  "workbench.iconTheme": "vs-seti",
4
4
  "editor.autoClosingBrackets": "languageDefined",
@@ -83,27 +83,38 @@
83
83
  }
84
84
  }
85
85
  }
86
- `;class Pe{constructor(){this._onDidChangeCapabilities=new re.Emitter,this.onDidChangeCapabilities=this._onDidChangeCapabilities.event,this._onDidChangeFile=new re.Emitter,this.onDidChangeFile=this._onDidChangeFile.event,this.capabilities=ee.FileSystemProviderCapabilities.FileReadWrite|ee.FileSystemProviderCapabilities.FileOpenReadWriteClose,this.files=new Map}async stat(e){const t=this.files.get(e.fsPath),i=Date.now();return{type:ee.FileType.File,ctime:0,mtime:i,size:t?t.byteLength:0}}async mkdir(e){}async readdir(e){return[]}async readFile(e){const i=e.toString().split("/"),o=i.length,[r,s]=i.slice(o-2),m=await F.getNodeInfo({verb:F.DesignerRequestVerb.GET_INFO,path:`${r}/${s}`,content:!0,as:"text"}),d=new TextEncoder().encode(m.content);return this.files.set(e.fsPath,d),d}async writeFile(e,t){const i=e.toString();this.files.set(i,t),this._onDidChangeFile.fire([{type:1,resource:e}])}async delete(e){const t=e.toString();this.files.delete(t)}async rename(e,t){const i=e.toString(),o=t.toString(),r=this.files.get(i);r&&(this.files.set(o,r),this.files.delete(i))}watch(e,t){return{dispose(){}}}}const de=()=>ue.initUserConfiguration(De),Ie=async n=>{var o;const e=n.serviceConfig??{};e.debugLogging=((o=n.logger)==null?void 0:o.isEnabled())===!0&&(e.debugLogging===!0||n.logger.isDebugEnabled()===!0),await de(),e.userServices=e.userServices??{};const t=e.userServices.configurationService??void 0,i=e.workspaceConfig??void 0;if(t===void 0){if(i)throw new Error("You provided a workspaceConfig without using the configurationServiceOverride");const r={...Xe(),...Oe(),...je(),...Fe(),...Be()};ge.mergeServices(r,e.userServices)}return Ee.registerFileSystemOverlay(1,new Pe),e};class Ge extends ie.WebSocketMessageReader{constructor(e,t){super(e),this.onMessage=t}readMessage(e){this.onMessage&&this.onMessage();const[,t]=e.split(`\r
86
+ `;class Me{constructor(){this._onDidChangeCapabilities=new se.Emitter,this.onDidChangeCapabilities=this._onDidChangeCapabilities.event,this._onDidChangeFile=new se.Emitter,this.onDidChangeFile=this._onDidChangeFile.event,this.capabilities=te.FileSystemProviderCapabilities.FileReadWrite|te.FileSystemProviderCapabilities.FileOpenReadWriteClose,this.files=new Map}async stat(e){const n=this.files.get(e.fsPath),i=Date.now();return{type:te.FileType.File,ctime:0,mtime:i,size:n?n.byteLength:0}}async mkdir(e){}async readdir(e){return[]}async readFile(e){const i=e.toString().split("/"),o=i.length,[r,s]=i.slice(o-2),I=await L.getNodeInfo({verb:L.DesignerRequestVerb.GET_INFO,path:`${r}/${s}`,content:!0,as:"text"}),C=new TextEncoder().encode(I.content);return this.files.set(e.fsPath,C),C}async writeFile(e,n){const i=e.toString();this.files.set(i,n),this._onDidChangeFile.fire([{type:1,resource:e}])}async delete(e){const n=e.toString();this.files.delete(n)}async rename(e,n){const i=e.toString(),o=n.toString(),r=this.files.get(i);r&&(this.files.set(o,r),this.files.delete(i))}watch(e,n){return{dispose(){}}}}const Ie=()=>de.initUserConfiguration(Pe),Ce=async t=>{var o;const e=t.serviceConfig??{};e.debugLogging=((o=t.logger)==null?void 0:o.isEnabled())===!0&&(e.debugLogging===!0||t.logger.isDebugEnabled()===!0),await Ie(),e.userServices=e.userServices??{};const n=e.userServices.configurationService??void 0,i=e.workspaceConfig??void 0;if(n===void 0){if(i)throw new Error("You provided a workspaceConfig without using the configurationServiceOverride");const r={...Be(),...Oe(),...ke(),...je(),...De()};ue.mergeServices(r,e.userServices)}return Ke.registerFileSystemOverlay(1,new Me),e};class Ge extends oe.WebSocketMessageReader{constructor(e,n){super(e),this.onMessage=n}readMessage(e){this.onMessage&&this.onMessage();const[,n]=e.split(`\r
87
87
  \r
88
- `);if(this.state==="initial")this.events.splice(0,0,{message:t});else if(this.state==="listening"){const i=JSON.parse(t);this.callback(i)}}}class Me extends ie.WebSocketMessageWriter{constructor(e,t){super(e),this.onSend=t}async write(e){try{const t=JSON.stringify(e);this.socket.send(t),this.onSend&&this.onSend()}catch(t){this.errorCount++,this.fireError(t,e,this.errorCount)}}}function T(n,e=!0){const t=`/PACKAGE/Project/Sources/${n}`;return e?`file://${t}`:t}function oe(n,e=0){setTimeout(n,e)}function Ce(n,e){const t=new L.Selection(e.startLineNumber,e.startColumn,e.endLineNumber||e.startLineNumber,e.endColumn||e.startColumn);oe(()=>{n.setSelection(t),n.revealRangeInCenter(t),n.focus()})}function me(n,e,t=0){t>0&&(e=t+e),oe(()=>{n.setPosition({lineNumber:e,column:1}),n.revealLineInCenter(e),n.focus()})}function Je(n,e,t){const o=n.getModel();if(o&&e){const r=o.getLineCount();for(let s=1;s<=r;s++){const m=o.getLineContent(s);if(new RegExp(`(?:Function|function) ${t}`).test(m))return s}}return 0}const Ve={provideCompletionItems:async(n,e)=>{const t=n.getWordUntilPosition(e);return{suggestions:[{label:"var",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["var ${1:var_name} : ${2:var_type}"].join(`
89
- `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"While",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["While(${1:expression})"," ${2:body}","End while"].join(`
90
- `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"Case of",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["Case of"," :(${1:boolean_expression})"," ${2:body}","End case"].join(`
91
- `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"Else",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["Else"," "].join(`
92
- `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"If",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["If (${1:expression})"," ${5:body}","End if"].join(`
93
- `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"For",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["For(${1:counter};${2:start};${3:end}${4:;increment})"," ${5:body}","End for"].join(`
94
- `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"Function",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["Function ${1:function_name}(${2:params}) -> ${3:var_name} : ${4:var_type}"," ${5:body}"].join(`
95
- `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet}]}}},_e={provideCompletionItems:async(n,e)=>{const t=n.getWordUntilPosition(e);return{suggestions:[{label:"var",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["var ${1:var_name} : ${2:var_type}"].join(`
96
- `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"while",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["while(${1:expression})"," ${2:body}","end"].join(`
97
- `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"switch",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["switch"," :(${1:boolean_expression})"," ${2:body}","end"].join(`
98
- `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"else",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["else"," "].join(`
99
- `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"if",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["if (${1:expression})"," ${5:body}","end"].join(`
100
- `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"for",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["for(${1:counter},${2:start},${3:end}${4:,increment})"," ${5:body}","end"].join(`
101
- `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"function",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["function ${1:function_name}(${2:params}) -> ${3:var_name} : ${4:var_type}"," ${5:body}"].join(`
102
- `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet}]}}},qe=[{keybinding:L.KeyMod.CtrlCmd|L.KeyCode.NumpadAdd,command:"editor.action.fontZoomIn"},{keybinding:L.KeyMod.CtrlCmd|L.KeyCode.Equal,command:"editor.action.fontZoomIn"},{keybinding:L.KeyMod.CtrlCmd|L.KeyCode.NumpadSubtract,command:"editor.action.fontZoomOut"},{keybinding:L.KeyMod.CtrlCmd|L.KeyCode.Minus,command:"editor.action.fontZoomOut"},{keybinding:L.KeyMod.CtrlCmd|L.KeyCode.Numpad0,command:"editor.action.fontZoomReset"},{keybinding:L.KeyMod.CtrlCmd|L.KeyCode.Digit0,command:"editor.action.fontZoomReset"}],Ye=({defaultZoom:n})=>(S.useEffect(()=>{n!==void 0&&L.editor.EditorZoom.setZoomLevel(n)},[]),null);ne.loader.config({monaco:a});var q=(n=>(n[n.NotSet=-1]="NotSet",n[n.None=0]="None",n[n.Italic=1]="Italic",n[n.Bold=2]="Bold",n[n.Underline=4]="Underline",n[n.Strikethrough=8]="Strikethrough",n))(q||{}),fe=(n=>(n[n.None=0]="None",n[n.DefaultForeground=1]="DefaultForeground",n[n.DefaultBackground=2]="DefaultBackground",n))(fe||{}),pe=(n=>(n[n.Other=0]="Other",n[n.Comment=1]="Comment",n[n.String=2]="String",n[n.RegEx=3]="RegEx",n))(pe||{});class V{static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!==0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static getClassNameFromMetadata(e){let i="mtk"+this.getForeground(e);const o=this.getFontStyle(e);return o&1&&(i+=" mtki"),o&2&&(i+=" mtkb"),o&4&&(i+=" mtku"),o&8&&(i+=" mtks"),i}static getInlineStyleFromMetadata(e,t){const i=this.getForeground(e),o=this.getFontStyle(e);let r=`color: ${t[i]};`;o&1&&(r+="font-style: italic;"),o&2&&(r+="font-weight: bold;");let s="";return o&4&&(s+=" underline"),o&8&&(s+=" line-through"),s&&(r+=`text-decoration:${s};`),r}static getPresentationFromMetadata(e){const t=this.getForeground(e),i=this.getFontStyle(e);return{foreground:t,italic:!!(i&1),bold:!!(i&2),underline:!!(i&4),strikethrough:!!(i&8)}}}function He(n,e,t,i){const o=t.tokens.data,r=n.getLanguageId();let s=0,m=0;const d=i.lineNumber-1,h=i.column-1;for(let f=0;f<o.length;f+=5){const A=o[f],p=o[f+1],j=o[f+2],w=o[f+3],y=o[f+4],x=s+A,b=A===0?m+p:p;if(d===x&&b<=h&&h<b+j){const I=t.legend.tokenTypes[w]||"not in legend (ignored)",Z=[];let l=y;for(let J=0;l>0&&J<t.legend.tokenModifiers.length;J++)l&1&&Z.push(t.legend.tokenModifiers[J]),l=l>>1;l>0&&Z.push("not in legend (ignored)");const c=new L.Range(x+1,b+1,x+1,b+1+j),k={},W=e.getColorTheme().tokenColorMap,v=e.getColorTheme().getTokenStyleMetadata(I,Z,r,!0,k);let Y;return v&&(Y={languageId:void 0,tokenType:pe.Other,bold:v==null?void 0:v.bold,italic:v==null?void 0:v.italic,underline:v==null?void 0:v.underline,strikethrough:v==null?void 0:v.strikethrough,foreground:W[(v==null?void 0:v.foreground)||fe.None],background:void 0}),{type:I,modifiers:Z,range:c,metadata:Y,definitions:k}}s=x,m=b}return null}function ze(n,e,t){let i=null;for(let o=1;o<t;o++)i=e.tokenizeLine(n.getLineContent(o),i).ruleStack;return i}function Ue(n,e,t){const i=n.getColorTheme().tokenColorMap,o=V.getLanguageId(t),r=V.getTokenType(t),s=V.getFontStyle(t),m=V.getForeground(t),d=V.getBackground(t);return{languageId:e.languageIdCodec.decodeLanguageId(o),tokenType:r,bold:s&q.Bold?!0:void 0,italic:s&q.Italic?!0:void 0,underline:s&q.Underline?!0:void 0,strikethrough:s&q.Strikethrough?!0:void 0,foreground:i[m],background:i[d]}}function $e(n,e,t){const i=t.lineNumber,o=n,r=o._tokenizationTextModelPart.grammarTokens._tokenizer.tokenizationSupport._actual._grammar,s=ze(n,r,i),m=r.tokenizeLine(n.getLineContent(i),s),d=r.tokenizeLine2(n.getLineContent(i),s);let h=0;for(let A=m.tokens.length-1;A>=0;A--){const p=m.tokens[A];if(t.column-1>=p.startIndex){h=A;break}}let f=0;for(let A=d.tokens.length>>>1;A>=0;A--)if(t.column-1>=d.tokens[A<<1]){f=A;break}return{token:m.tokens[h],metadata:Ue(e,o._languageService,d.tokens[(f<<1)+1])}}const Ae=S.createContext(void 0),Qe=({children:n,url:e,qodly:t,defaultZoom:i,openHandler:o,language:r="4d",defaultInited:s=!1})=>{const m=ne.useMonaco(),[d,h]=S.useState(s),[f,A]=S.useState(null),p=S.useRef(),j=S.useRef(0);S.useEffect(()=>{e&&m&&w()},[e,m]);const w=async()=>{if(!m)return;const C=new Ze.Logger({enabled:process.env.NODE_ENV==="development",debugEnabled:process.env.NODE_ENV==="development"}),g=await Ie({logger:C});await ge.initServices({caller:"Qodly Code Editor",logger:C,serviceConfig:g}),o&&ae.StandaloneServices.get(ae.ICodeEditorService).registerCodeEditorOpenHandler(o),m.languages.registerCompletionItemProvider(r,t?_e:Ve);const u=te.KeybindingsRegistry.getDefaultKeybindings.bind(te.KeybindingsRegistry);te.KeybindingsRegistry.getDefaultKeybindings=()=>u().filter(K=>!["workbench.action.files.saveAs","workbench.action.files.save"].includes(K.command)),L.editor.addKeybindingRules(qe),m.languages.registerFoldingRangeProvider(r,{provideFoldingRanges:function(N){const K=[],O=/\\\s*$/;for(let E=1,M=N.getLineCount();E<=M;E++){const H=N.getLineContent(E);if(O.exec(H)){let D=E+1;for(;D<=M;){const Q=N.getLineContent(D);if(O.exec(Q)==null)break;D++}D>E&&(K.push({start:E,end:D,kind:m.languages.FoldingRangeKind.Region}),E=D)}}return K}}),y()},y=()=>{A(null);let C;try{C=new WebSocket(localStorage.LSP_SERVER||e)}catch{A(new Event("INVALID_URL"));return}C.onopen=x,C.onclose=b,C.onerror=I,j.current=0},x=async function(){const C=ie.toSocket(this),g=new Ge(C),u=new Me(C),N=new Le.MonacoLanguageClient({name:"4D Language Client",clientOptions:{workspaceFolder:{uri:L.Uri.parse("file:///PACKAGE")},documentSelector:[{scheme:"file",language:r}],errorHandler:{error:()=>({action:se.ErrorAction.Continue}),closed:()=>({action:se.CloseAction.DoNotRestart})}},connectionProvider:{get:()=>Promise.resolve({reader:g,writer:u})}});p.current=N;const K=N.sendRequest.bind(N);p.current.sendRequest=function(O,E,M){return typeof O=="object"&&O.method==="textDocument/diagnostic"&&/file:\/\/\/PACKAGE\/Project\/Sources\/Methods\/__Debugger_.*/.test(E.textDocument.uri)?Promise.resolve():K(O,E,M)},g.onClose(()=>{N.stop(),j.current<3?setTimeout(()=>{j.current++,y()},1e3):A(new Event("WEBSOCKET_CLOSED"))}),N.needsStart()&&await N.start(),h(!0)},b=()=>{},I=C=>{A(C)};S.useEffect(()=>{const C=F.lspSubject.subscribe(({action:g,payload:u})=>{switch(g){case F.LspActions.WILL_SAVE:W(u.filePath);break;case F.LspActions.DID_SAVE:G(u.filePath,u.content);break;case F.LspActions.WILL_CREATE:v(u.filePath);break;case F.LspActions.DID_CREATE:xe(u.filePath);break;case F.LspActions.WILL_RENAME:Y(u.oldPath,u.newPath);break;case F.LspActions.DID_RENAME:Ne(u.oldPath,u.newPath);break;case F.LspActions.WILL_DELETE:J(u.filePath);break;case F.LspActions.DID_DELETE:we(u.filePath);break;case F.LspActions.DIAGNOSTIC_REFRESH:k(u.filePath);break}});return()=>C.unsubscribe()},[]);const Z=C=>{var g,u;return(u=(g=p.current)==null?void 0:g._features)==null?void 0:u.find(N=>{var K;return((K=N._registrationType)==null?void 0:K.method)===C})},l=C=>{const g=[],u=Z(C);if(u)for(const[,N]of u._registrations)N.provider&&g.push(N.provider);return g},c=async(C,g,u)=>{var K,O,E;const N=l(B.SemanticTokensRegistrationType.method);if(N[0]){const M=new L.CancellationTokenSource,H=await Promise.resolve(N[0].full.provideDocumentSemanticTokens(g,M.token)),$=C,D=H?He(g,$._themeService,{tokens:H,legend:(E=(O=(K=p.current)==null?void 0:K._capabilities)==null?void 0:O.semanticTokensProvider)==null?void 0:E.legend},u):null,Q=$e(g,$._themeService,u);return{semanticTokenInfo:D,textmateTokenInfo:Q}}return null},k=C=>{if(p.current){const g=l(B.DocumentDiagnosticRequest.method);for(const u of g)u.onDidChangeDiagnosticsEmitter.fire()}},W=(C,g=B.TextDocumentSaveReason.Manual)=>{var u;(u=p.current)==null||u.sendNotification(B.WillSaveTextDocumentNotification.type,{textDocument:{uri:T(C)},reason:g})},G=(C,g)=>{var u;(u=p.current)==null||u.sendNotification(B.DidSaveTextDocumentNotification.type,{textDocument:{uri:T(C)},text:g})},v=C=>{var g;(g=p.current)==null||g.sendRequest(B.WillCreateFilesRequest.type,{files:[{uri:T(C)}]})},Y=(C,g)=>{var u;(u=p.current)==null||u.sendRequest(B.WillRenameFilesRequest.type,{files:[{oldUri:T(C),newUri:T(g)}]})},J=C=>{var g;(g=p.current)==null||g.sendRequest(B.WillDeleteFilesRequest.type,{files:[{uri:T(C)}]})},xe=C=>{var g;(g=p.current)==null||g.sendNotification(B.DidCreateFilesNotification.type,{files:[{uri:T(C)}]})},Ne=(C,g)=>{var u;(u=p.current)==null||u.sendNotification(B.DidRenameFilesNotification.type,{files:[{oldUri:T(C),newUri:T(g)}]})},we=C=>{var g;(g=p.current)==null||g.sendNotification(B.DidDeleteFilesNotification.type,{files:[{uri:T(C)}]})};return R.jsxs(Ae.Provider,{value:{inited:d||!!f,clientRef:p,lastError:f,reload:y,getTokenAtPosition:c},children:[n,R.jsx(Ye,{defaultZoom:i})]})};function et(){const n=S.useContext(Ae);if(n===void 0)throw new Error("useLSP must be used within an LSPContext");return n}const be=S.createContext(void 0),tt=S.memo(({children:n})=>{const[e,t]=S.useState(null);return R.jsx(be.Provider,{value:{editor:e,setEditor:t},children:n})});function he(){const n=S.useContext(be),e=S.useState(null);if(n===void 0){const[t,i]=e;return{editor:t,setEditor:i}}return n}const nt={provideCompletionItems:(n,e)=>{const t=n.getWordUntilPosition(e);return{suggestions:[{label:"device:xs",kind:a.languages.CompletionItemKind.Snippet,documentation:"Media query for phone device",range:new a.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["@media screen and (max-width: ${1:365px}) {"," self {"," ${2:background-color}:${3:red};"," }","}"].join(`
103
- `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet}]}}},it="#/definitions/Condition",ot={Base:{type:"object",properties:{id:{type:"string"},name:{type:"string"}},required:["id"]},Condition:{oneOf:[{$ref:"#/definitions/Datasource"},{$ref:"#/definitions/Privilege"},{$ref:"#/definitions/Combination"},{$ref:"#/definitions/CurrentState"},{$ref:"#/definitions/ParentState"},{$ref:"#/definitions/Reference"}]},Datasource:{allOf:[{$ref:"#/definitions/Base"}],properties:{type:{const:"datasource"},path:{type:"string"},value:{type:["number","string","boolean","object","array","null"]},valueType:{enum:["datasource","hardCoded"]},dataType:{enum:["string","number","date","boolean","array","object"]},op:{enum:["eq","neq","regex","in","nin","gt","gte","lt","lte"]}},required:["name","type","path","value","op"]},Privilege:{allOf:[{$ref:"#/definitions/Base"}],properties:{type:{const:"privilege"},value:{type:"string"},valueType:{enum:["datasource","hardCoded"]},op:{enum:["eq","neq","regex"]}},required:["name","type","value","op"]},Combination:{allOf:[{$ref:"#/definitions/Base"}],properties:{type:{const:"combination"},op:{enum:["and","or"]},conditions:{type:"array",items:{$ref:"#/definitions/Condition"}}},required:["type","conditions","op"]},CurrentState:{allOf:[{$ref:"#/definitions/Base"}],properties:{type:{const:"currentState"},value:{type:"string"},valueType:{enum:["datasource","hardCoded"]},dataType:{enum:["string","number","date","boolean","array","object"]},op:{enum:["eq","neq","regex"]}},required:["name","type","value","op"]},ParentState:{allOf:[{$ref:"#/definitions/Base"}],properties:{type:{const:"parentState"},value:{type:"string"},valueType:{enum:["datasource","hardCoded"]},dataType:{enum:["string","number","date","boolean","array","object"]},op:{enum:["eq","neq","regex"]}},required:["name","type","value","op"]},Reference:{allOf:[{$ref:"#/definitions/Base"}],properties:{type:{const:"reference"},ref:{type:"string"}},required:["type","ref"]}},rt={$ref:it,definitions:ot},st="array",at={type:"object",properties:{class:{type:"string"},method:{type:"string"},regexPattern:{type:"string"},verbs:{type:"string"}}},lt={type:st,items:at};function ct(n,e){const t=document.createElement("style");t.dataset.id=e,t.textContent=n,document.head.append(t)}function gt(n){return Array.from(document.styleSheets).find(e=>e.ownerNode.getAttribute("data-id")===n)}function ut(n,e){const t=[];let i=[];const o=[],r=(l,c,k,W)=>{t.push({startLineNumber:l,endLineNumber:k,startColumn:c,endColumn:W}),h(),d()},s=l=>{o.indexOf(l)<0&&o.push(l)},m=l=>{const c=o.indexOf(l);c<0||o.splice(c,1)},d=()=>{for(const l of o)try{l(i)}catch(c){console.error(c)}},h=()=>{const l=n.getModel();l&&(i=It(t.map(c=>[l.getOffsetAt({lineNumber:c.startLineNumber,column:c.startColumn}),l.getOffsetAt({lineNumber:c.endLineNumber,column:c.endColumn})]),!0),i.length>0&&(i[0][0]<=0&&(i[0][0]=Number.NEGATIVE_INFINITY),i[i.length-1][1]>=l.getValueLength()&&(i[i.length-1][1]=Number.POSITIVE_INFINITY)))},f=l=>{const c={isDeletion:!1,isAddition:!1,isReplacement:!1};return l.text===""?c.isDeletion=!0:l.range.startLineNumber===l.range.endLineNumber&&l.range.startColumn===l.range.endColumn?c.isAddition=!0:c.isReplacement=!0,c},A=n.onDidChangeModel(l=>{h(),I()}),p=n.onDidChangeModelContent(l=>{if(!l.isUndoing)for(const c of l.changes){const k=f(c);if(k.isReplacement||k.isDeletion||k.isAddition){const W=t.some(v=>c.range.startLineNumber>=v.startLineNumber&&c.range.endLineNumber<=v.endLineNumber&&c.range.startColumn>=v.startColumn&&c.range.endColumn<=v.endColumn),G=!W&&e&&c.range.startLineNumber===1&&c.range.startColumn===1&&!F.hasAttributesString(c.text);if(W||G){const v=n.getModel();if(v){v.undo();return}}}}}),j=()=>{A.dispose(),p.dispose()};let w=[],y=`
88
+ `);if(this.state==="initial")this.events.splice(0,0,{message:n});else if(this.state==="listening"){const i=JSON.parse(n);this.callback(i)}}}class Je extends oe.WebSocketMessageWriter{constructor(e,n){super(e),this.onSend=n}async write(e){try{const n=JSON.stringify(e);this.socket.send(n),this.onSend&&this.onSend()}catch(n){this.errorCount++,this.fireError(n,e,this.errorCount)}}}function T(t,e=!0){const n=`/PACKAGE/Project/Sources/${t}`;return e?`file://${n}`:n}function re(t,e=0){setTimeout(t,e)}function me(t,e){const n=new N.Selection(e.startLineNumber,e.startColumn,e.endLineNumber||e.startLineNumber,e.endColumn||e.startColumn);re(()=>{t.setSelection(n),t.revealRangeInCenter(n),t.focus()})}function fe(t,e,n=0){n>0&&(e=n+e),re(()=>{t.setPosition({lineNumber:e,column:1}),t.revealLineInCenter(e),t.focus()})}function Ve(t,e,n){const o=t.getModel();if(o&&e){const r=o.getLineCount();for(let s=1;s<=r;s++){const I=o.getLineContent(s);if(new RegExp(`(?:Function|function) ${n}`).test(I))return s}}return 0}const _e={provideCompletionItems:async(t,e)=>{const n=t.getWordUntilPosition(e);return{suggestions:[{label:"var",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["var ${1:var_name} : ${2:var_type}"].join(`
89
+ `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"While",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["While(${1:expression})"," ${2:body}","End while"].join(`
90
+ `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"Case of",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["Case of"," :(${1:boolean_expression})"," ${2:body}","End case"].join(`
91
+ `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"Else",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["Else"," "].join(`
92
+ `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"If",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["If (${1:expression})"," ${5:body}","End if"].join(`
93
+ `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"For",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["For(${1:counter};${2:start};${3:end}${4:;increment})"," ${5:body}","End for"].join(`
94
+ `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"Function",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["Function ${1:function_name}(${2:params}) -> ${3:var_name} : ${4:var_type}"," ${5:body}"].join(`
95
+ `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet}]}}},qe={provideCompletionItems:async(t,e)=>{const n=t.getWordUntilPosition(e);return{suggestions:[{label:"var",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["var ${1:var_name} : ${2:var_type}"].join(`
96
+ `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"while",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["while(${1:expression})"," ${2:body}","end"].join(`
97
+ `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"switch",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["switch"," :(${1:boolean_expression})"," ${2:body}","end"].join(`
98
+ `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"else",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["else"," "].join(`
99
+ `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"if",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["if (${1:expression})"," ${5:body}","end"].join(`
100
+ `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"for",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["for(${1:counter},${2:start},${3:end}${4:,increment})"," ${5:body}","end"].join(`
101
+ `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"function",kind:a.languages.CompletionItemKind.Snippet,range:new a.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["function ${1:function_name}(${2:params}) -> ${3:var_name} : ${4:var_type}"," ${5:body}"].join(`
102
+ `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet}]}}},Ye=[{keybinding:N.KeyMod.CtrlCmd|N.KeyCode.NumpadAdd,command:"editor.action.fontZoomIn"},{keybinding:N.KeyMod.CtrlCmd|N.KeyCode.Equal,command:"editor.action.fontZoomIn"},{keybinding:N.KeyMod.CtrlCmd|N.KeyCode.NumpadSubtract,command:"editor.action.fontZoomOut"},{keybinding:N.KeyMod.CtrlCmd|N.KeyCode.Minus,command:"editor.action.fontZoomOut"},{keybinding:N.KeyMod.CtrlCmd|N.KeyCode.Numpad0,command:"editor.action.fontZoomReset"},{keybinding:N.KeyMod.CtrlCmd|N.KeyCode.Digit0,command:"editor.action.fontZoomReset"},{keybinding:N.KeyMod.CtrlCmd|N.KeyCode.F12,command:"editor.action.revealDefinition"}],He=({defaultZoom:t})=>(S.useEffect(()=>{t!==void 0&&N.editor.EditorZoom.setZoomLevel(t)},[]),null);ie.loader.config({monaco:a});var q=(t=>(t[t.NotSet=-1]="NotSet",t[t.None=0]="None",t[t.Italic=1]="Italic",t[t.Bold=2]="Bold",t[t.Underline=4]="Underline",t[t.Strikethrough=8]="Strikethrough",t))(q||{}),pe=(t=>(t[t.None=0]="None",t[t.DefaultForeground=1]="DefaultForeground",t[t.DefaultBackground=2]="DefaultBackground",t))(pe||{}),Ae=(t=>(t[t.Other=0]="Other",t[t.Comment=1]="Comment",t[t.String=2]="String",t[t.RegEx=3]="RegEx",t))(Ae||{});class V{static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!==0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static getClassNameFromMetadata(e){let i="mtk"+this.getForeground(e);const o=this.getFontStyle(e);return o&1&&(i+=" mtki"),o&2&&(i+=" mtkb"),o&4&&(i+=" mtku"),o&8&&(i+=" mtks"),i}static getInlineStyleFromMetadata(e,n){const i=this.getForeground(e),o=this.getFontStyle(e);let r=`color: ${n[i]};`;o&1&&(r+="font-style: italic;"),o&2&&(r+="font-weight: bold;");let s="";return o&4&&(s+=" underline"),o&8&&(s+=" line-through"),s&&(r+=`text-decoration:${s};`),r}static getPresentationFromMetadata(e){const n=this.getForeground(e),i=this.getFontStyle(e);return{foreground:n,italic:!!(i&1),bold:!!(i&2),underline:!!(i&4),strikethrough:!!(i&8)}}}function ze(t,e,n,i){const o=n.tokens.data,r=t.getLanguageId();let s=0,I=0;const C=i.lineNumber-1,h=i.column-1;for(let f=0;f<o.length;f+=5){const A=o[f],p=o[f+1],j=o[f+2],F=o[f+3],y=o[f+4],x=s+A,b=A===0?I+p:p;if(C===x&&b<=h&&h<b+j){const c=n.legend.tokenTypes[F]||"not in legend (ignored)",k=[];let l=y;for(let J=0;l>0&&J<n.legend.tokenModifiers.length;J++)l&1&&k.push(n.legend.tokenModifiers[J]),l=l>>1;l>0&&k.push("not in legend (ignored)");const g=new N.Range(x+1,b+1,x+1,b+1+j),W={},E=e.getColorTheme().tokenColorMap,v=e.getColorTheme().getTokenStyleMetadata(c,k,r,!0,W);let Y;return v&&(Y={languageId:void 0,tokenType:Ae.Other,bold:v==null?void 0:v.bold,italic:v==null?void 0:v.italic,underline:v==null?void 0:v.underline,strikethrough:v==null?void 0:v.strikethrough,foreground:E[(v==null?void 0:v.foreground)||pe.None],background:void 0}),{type:c,modifiers:k,range:g,metadata:Y,definitions:W}}s=x,I=b}return null}function Ue(t,e,n){let i=null;for(let o=1;o<n;o++)i=e.tokenizeLine(t.getLineContent(o),i).ruleStack;return i}function $e(t,e,n){const i=t.getColorTheme().tokenColorMap,o=V.getLanguageId(n),r=V.getTokenType(n),s=V.getFontStyle(n),I=V.getForeground(n),C=V.getBackground(n);return{languageId:e.languageIdCodec.decodeLanguageId(o),tokenType:r,bold:s&q.Bold?!0:void 0,italic:s&q.Italic?!0:void 0,underline:s&q.Underline?!0:void 0,strikethrough:s&q.Strikethrough?!0:void 0,foreground:i[I],background:i[C]}}function Qe(t,e,n){const i=n.lineNumber,o=t,r=o._tokenizationTextModelPart.grammarTokens._tokenizer.tokenizationSupport._actual._grammar,s=Ue(t,r,i),I=r.tokenizeLine(t.getLineContent(i),s),C=r.tokenizeLine2(t.getLineContent(i),s);let h=0;for(let A=I.tokens.length-1;A>=0;A--){const p=I.tokens[A];if(n.column-1>=p.startIndex){h=A;break}}let f=0;for(let A=C.tokens.length>>>1;A>=0;A--)if(n.column-1>=C.tokens[A<<1]){f=A;break}return{token:I.tokens[h],metadata:$e(e,o._languageService,C.tokens[(f<<1)+1])}}const be=S.createContext(void 0),et=({children:t,url:e,qodly:n,defaultZoom:i,openHandler:o,language:r="4d",defaultInited:s=!1})=>{const I=ie.useMonaco(),[C,h]=S.useState(s),[f,A]=S.useState(null),p=S.useRef(),j=S.useRef(0);S.useEffect(()=>{e&&I&&F()},[e,I]);const F=async()=>{if(!I)return;const m=new Ze.Logger({enabled:process.env.NODE_ENV==="development",debugEnabled:process.env.NODE_ENV==="development"}),u=await Ce({logger:m});await ue.initServices({caller:"Qodly Code Editor",logger:m,serviceConfig:u}),o&&le.StandaloneServices.get(le.ICodeEditorService).registerCodeEditorOpenHandler(o),I.languages.registerCompletionItemProvider(r,n?qe:_e);const d=ne.KeybindingsRegistry.getDefaultKeybindings.bind(ne.KeybindingsRegistry);ne.KeybindingsRegistry.getDefaultKeybindings=()=>d().filter(Z=>!["workbench.action.files.saveAs","workbench.action.files.save"].includes(Z.command)),N.editor.addKeybindingRules(Ye),I.languages.registerFoldingRangeProvider(r,{provideFoldingRanges:function(w){const Z=[],D=/\\\s*$/;for(let K=1,G=w.getLineCount();K<=G;K++){const H=w.getLineContent(K);if(D.exec(H)){let O=K+1;for(;O<=G;){const ee=w.getLineContent(O);if(D.exec(ee)==null)break;O++}O>K&&(Z.push({start:K,end:O,kind:I.languages.FoldingRangeKind.Region}),K=O)}}return Z}}),y()},y=()=>{A(null);let m;try{m=new WebSocket(localStorage.LSP_SERVER||e)}catch{A(new Event("INVALID_URL"));return}m.onopen=x,m.onclose=b,m.onerror=c,j.current=0},x=async function(){const m=oe.toSocket(this),u=new Ge(m),d=new Je(m),w=new Le.MonacoLanguageClient({name:"4D Language Client",clientOptions:{workspaceFolder:{uri:N.Uri.parse("file:///PACKAGE")},documentSelector:[{scheme:"file",language:r}],errorHandler:{error:()=>({action:ae.ErrorAction.Continue}),closed:()=>({action:ae.CloseAction.DoNotRestart})}},connectionProvider:{get:()=>Promise.resolve({reader:u,writer:d})}});p.current=w;const Z=w.sendRequest.bind(w);p.current.sendRequest=function(D,K,G){return typeof D=="object"&&D.method==="textDocument/diagnostic"&&/file:\/\/\/PACKAGE\/Project\/Sources\/Methods\/__Debugger_.*/.test(K.textDocument.uri)?Promise.resolve():Z(D,K,G)},u.onClose(()=>{w.stop(),j.current<3?setTimeout(()=>{j.current++,y()},1e3):A(new Event("WEBSOCKET_CLOSED"))}),w.needsStart()&&await w.start(),h(!0)},b=()=>{},c=m=>{A(m)};S.useEffect(()=>{const m=L.lspSubject.subscribe(({action:u,payload:d})=>{switch(u){case L.LspActions.WILL_SAVE:E(d.filePath);break;case L.LspActions.DID_SAVE:M(d.filePath,d.content);break;case L.LspActions.WILL_CREATE:v(d.filePath);break;case L.LspActions.DID_CREATE:Ne(d.filePath);break;case L.LspActions.WILL_RENAME:Y(d.oldPath,d.newPath);break;case L.LspActions.DID_RENAME:we(d.oldPath,d.newPath);break;case L.LspActions.WILL_DELETE:J(d.filePath);break;case L.LspActions.DID_DELETE:Fe(d.filePath);break;case L.LspActions.DIAGNOSTIC_REFRESH:W(d.filePath);break}});return()=>m.unsubscribe()},[]);const k=m=>{var u,d;return(d=(u=p.current)==null?void 0:u._features)==null?void 0:d.find(w=>{var Z;return((Z=w._registrationType)==null?void 0:Z.method)===m})},l=m=>{const u=[],d=k(m);if(d)for(const[,w]of d._registrations)w.provider&&u.push(w.provider);return u},g=async(m,u,d)=>{var Z,D,K;const w=l(B.SemanticTokensRegistrationType.method);if(w[0]){const G=new N.CancellationTokenSource,H=await Promise.resolve(w[0].full.provideDocumentSemanticTokens(u,G.token)),Q=m,O=H?ze(u,Q._themeService,{tokens:H,legend:(K=(D=(Z=p.current)==null?void 0:Z._capabilities)==null?void 0:D.semanticTokensProvider)==null?void 0:K.legend},d):null,ee=Qe(u,Q._themeService,d);return{semanticTokenInfo:O,textmateTokenInfo:ee}}return null},W=m=>{if(p.current){const u=l(B.DocumentDiagnosticRequest.method);for(const d of u)d.onDidChangeDiagnosticsEmitter.fire()}},E=(m,u=B.TextDocumentSaveReason.Manual)=>{var d;(d=p.current)==null||d.sendNotification(B.WillSaveTextDocumentNotification.type,{textDocument:{uri:T(m)},reason:u})},M=(m,u)=>{var d;(d=p.current)==null||d.sendNotification(B.DidSaveTextDocumentNotification.type,{textDocument:{uri:T(m)},text:u})},v=m=>{var u;(u=p.current)==null||u.sendRequest(B.WillCreateFilesRequest.type,{files:[{uri:T(m)}]})},Y=(m,u)=>{var d;(d=p.current)==null||d.sendRequest(B.WillRenameFilesRequest.type,{files:[{oldUri:T(m),newUri:T(u)}]})},J=m=>{var u;(u=p.current)==null||u.sendRequest(B.WillDeleteFilesRequest.type,{files:[{uri:T(m)}]})},Ne=m=>{var u;(u=p.current)==null||u.sendNotification(B.DidCreateFilesNotification.type,{files:[{uri:T(m)}]})},we=(m,u)=>{var d;(d=p.current)==null||d.sendNotification(B.DidRenameFilesNotification.type,{files:[{oldUri:T(m),newUri:T(u)}]})},Fe=m=>{var u;(u=p.current)==null||u.sendNotification(B.DidDeleteFilesNotification.type,{files:[{uri:T(m)}]})};return R.jsxs(be.Provider,{value:{inited:C||!!f,clientRef:p,lastError:f,reload:y,getTokenAtPosition:g},children:[t,R.jsx(He,{defaultZoom:i})]})};function tt(){const t=S.useContext(be);if(t===void 0)throw new Error("useLSP must be used within an LSPContext");return t}const he=S.createContext(void 0),nt=S.memo(({children:t})=>{const[e,n]=S.useState(null);return R.jsx(he.Provider,{value:{editor:e,setEditor:n},children:t})});function ve(){const t=S.useContext(he),e=S.useState(null);if(t===void 0){const[n,i]=e;return{editor:n,setEditor:i}}return t}const it={provideCompletionItems:(t,e)=>{const n=t.getWordUntilPosition(e);return{suggestions:[{label:"device:xs",kind:a.languages.CompletionItemKind.Snippet,documentation:"Media query for phone device",range:new a.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["@media screen and (max-width: ${1:365px}) {"," self {"," ${2:background-color}:${3:red};"," }","}"].join(`
103
+ `),insertTextRules:a.languages.CompletionItemInsertTextRule.InsertAsSnippet}]}}},ot="#/definitions/Condition",rt={Base:{type:"object",properties:{id:{type:"string"},name:{type:"string"}},required:["id"]},Condition:{oneOf:[{$ref:"#/definitions/Datasource"},{$ref:"#/definitions/Privilege"},{$ref:"#/definitions/Combination"},{$ref:"#/definitions/CurrentState"},{$ref:"#/definitions/ParentState"},{$ref:"#/definitions/Reference"}]},Datasource:{allOf:[{$ref:"#/definitions/Base"}],properties:{type:{const:"datasource"},path:{type:"string"},value:{type:["number","string","boolean","object","array","null"]},valueType:{enum:["datasource","hardCoded"]},dataType:{enum:["string","number","date","boolean","array","object"]},op:{enum:["eq","neq","regex","in","nin","gt","gte","lt","lte"]}},required:["name","type","path","value","op"]},Privilege:{allOf:[{$ref:"#/definitions/Base"}],properties:{type:{const:"privilege"},value:{type:"string"},valueType:{enum:["datasource","hardCoded"]},op:{enum:["eq","neq","regex"]}},required:["name","type","value","op"]},Combination:{allOf:[{$ref:"#/definitions/Base"}],properties:{type:{const:"combination"},op:{enum:["and","or"]},conditions:{type:"array",items:{$ref:"#/definitions/Condition"}}},required:["type","conditions","op"]},CurrentState:{allOf:[{$ref:"#/definitions/Base"}],properties:{type:{const:"currentState"},value:{type:"string"},valueType:{enum:["datasource","hardCoded"]},dataType:{enum:["string","number","date","boolean","array","object"]},op:{enum:["eq","neq","regex"]}},required:["name","type","value","op"]},ParentState:{allOf:[{$ref:"#/definitions/Base"}],properties:{type:{const:"parentState"},value:{type:"string"},valueType:{enum:["datasource","hardCoded"]},dataType:{enum:["string","number","date","boolean","array","object"]},op:{enum:["eq","neq","regex"]}},required:["name","type","value","op"]},Reference:{allOf:[{$ref:"#/definitions/Base"}],properties:{type:{const:"reference"},ref:{type:"string"}},required:["type","ref"]}},st={$ref:ot,definitions:rt},at="array",lt={type:"object",properties:{class:{type:"string"},method:{type:"string"},regexPattern:{type:"string"},verbs:{type:"string"}}},ct={type:at,items:lt};function gt(t,e){const n=document.createElement("style");n.dataset.id=e,n.textContent=t,document.head.append(n)}function ut(t){return Array.from(document.styleSheets).find(e=>e.ownerNode.getAttribute("data-id")===t)}function dt(t,e){const n=[];let i=[];const o=[],r=(l,g,W,E)=>{n.push({startLineNumber:l,endLineNumber:W,startColumn:g,endColumn:E}),h(),C()},s=l=>{o.indexOf(l)<0&&o.push(l)},I=l=>{const g=o.indexOf(l);g<0||o.splice(g,1)},C=()=>{for(const l of o)try{l(i)}catch(g){console.error(g)}},h=()=>{const l=t.getModel();l&&(i=Ct(n.map(g=>[l.getOffsetAt({lineNumber:g.startLineNumber,column:g.startColumn}),l.getOffsetAt({lineNumber:g.endLineNumber,column:g.endColumn})]),!0),i.length>0&&(i[0][0]<=0&&(i[0][0]=Number.NEGATIVE_INFINITY),i[i.length-1][1]>=l.getValueLength()&&(i[i.length-1][1]=Number.POSITIVE_INFINITY)))},f=l=>{const g={isDeletion:!1,isAddition:!1,isReplacement:!1};return l.text===""?g.isDeletion=!0:l.range.startLineNumber===l.range.endLineNumber&&l.range.startColumn===l.range.endColumn?g.isAddition=!0:g.isReplacement=!0,g},A=t.onDidChangeModel(l=>{h(),c()}),p=t.onDidChangeModelContent(l=>{if(!l.isUndoing)for(const g of l.changes){const W=f(g);if(W.isReplacement||W.isDeletion||W.isAddition){const E=n.some(v=>g.range.startLineNumber>=v.startLineNumber&&g.range.endLineNumber<=v.endLineNumber&&g.range.startColumn>=v.startColumn&&g.range.endColumn<=v.endColumn),M=!E&&e&&g.range.startLineNumber===1&&g.range.startColumn===1&&!L.hasAttributesString(g.text);if(E||M){const v=t.getModel();if(v){v.undo();return}}}}}),j=()=>{A.dispose(),p.dispose()};let F=[],y=`
104
104
  .idoc-readonly-mark {
105
105
  cursor: not-allowed;
106
106
  z-index: 1;
107
107
  }
108
- `;if(y){const l="monaco-read-only";gt(l)||ct(y,l),y=null}const x=()=>{s(I),I()},b=()=>{m(I),w=n.deltaDecorations(w,[])},I=()=>{const l=n.getModel();l&&(w=n.deltaDecorations(w,i.map(Z(l))))},Z=l=>c=>{const k=l.getPositionAt(c[0]),W=l.getPositionAt(c[1]);return{range:new a.Range(k.lineNumber,k.column,W.lineNumber,W.column),options:{className:"idoc-readonly-mark"}}};return{get buffer(){return i},exclude:r,attach:s,detach:m,dispose:j,show:x,hide:b}}function dt(n,e,t){let i=!1;const o=b=>b[1]<b[0]?(i=!0,[[b[1],b[0]]]):[[...b]],r=b=>i?b.map(I=>I[1]>I[0]?m(I):I).reverse():b;let s;const m=b=>(s=b[1],b[1]=b[0],b[0]=s,b),d=o(n);let h,f,A,p,j,w,y,x;A=d[0];for(f of e)for(y=f[0],x=f[1],p=0;p<d.length;p++){if(A=d[p],j=A[0],w=A[1],j<y)w<y?h=[A]:w<=x?h=[[j,y-1]]:h=[[j,y-1],[x+1,w]];else if(j<=x)if(y===Number.NEGATIVE_INFINITY){const b=x+1;h=t===0?[]:[[b,w>b?w:b]]}else x===Number.POSITIVE_INFINITY?h=t===0?[]:[[y-1,y-1]]:w<=x?h=t<0?[[y-1,y-1]]:t>0?[[x+1,x+1]]:[]:h=[[x+1,w]];else h=[A];if(d.splice(p,1,...h),d.length===1&&d[0][1]<y)return r(d)}return r(d)}function It(n,e){if(n.length<2)return n;const t=[];let i=null,o,r;n=n.map(s=>(s[1]<s[0]&&(o=s[1],s[1]=s[0],s[1]=o),s)).sort((s,m)=>s[0]-m[0]),t.push(n[0]);for(let s=1;s<n.length;s++)i=t[t.length-1],r=n[s],i[1]===r[0]&&!e||(i[1]===r[0]-1&&e?(i[1]=r[1],t.splice(t.length-1,1,i)):i[1]<r[0]?t.push(r):i[1]<r[1]&&(i[1]=r[1],t.splice(t.length-1,1,i)));return t}function _(n,e){return e.bind(n)}class Ct{constructor(e,t){var i;this.disposables=[],this.prefer=1,this.lastPrefer=1,this.onCursor=_(this,function(o){if(o.source==="api")return;const r=this.getApprovedSelections();r.length!==0&&this.editor.setSelections(r)}),this.onRectangleSelectionStart=_(this,function({event:o}){o.middleButton&&(this.lastPrefer=this.prefer,this.prefer=0,window.addEventListener("pointerup",this.onRectangleSelectionStop))}),this.onRectangleSelectionStop=_(this,function(){this.prefer=this.lastPrefer,window.removeEventListener("pointerup",this.onRectangleSelectionStop)}),this.onKey=_(this,function(o){const r=o.keyCode,s=a.KeyCode;if(o.altKey||s.F1<=r&&r<=s.F19||o.ctrlKey&&r!==s.Backspace)return;if(r===s.UpArrow||r===s.LeftArrow||r===s.Home||r===s.PageUp){this.prefer=-1;return}if(r===s.DownArrow||r===s.RightArrow||r===s.End||r===s.PageDown){this.prefer=1;return}const m=this.getSelections(),d=this.intervals.buffer;let h;if(r===s.Delete)h=f=>f[0]===f[1]&&d.find(A=>f[1]+1===A[0])!=null;else if(r===s.Backspace)h=f=>f[0]===f[1]&&d.find(A=>A[1]+1===f[0])!=null;else return;m.findIndex(h)!==-1&&(o.stopPropagation(),o.preventDefault())}),this.getOffsetAt=_(this,function(o){let r;for(let s=0;s<this.intervals.buffer.length;s++)if(r=this.intervals.buffer[s],o<=r[1])return r[0]-o<o-r[1]?r[0]:r[1]}),this.editor=e,this.intervals=ut(e,t),(i=this.editor.getModel())==null||i.setEOL(a.editor.EndOfLineSequence.LF)}enable(){this.disposables.push(this.editor.onDidChangeCursorPosition(this.onCursor),this.editor.onKeyDown(this.onKey),this.editor.onMouseDown(this.onRectangleSelectionStart)),this.intervals.show()}dispose(){for(const e of this.disposables)e.dispose();this.disposables.splice(0)}exclude(e,t,i,o){arguments.length===1?this.intervals.exclude(e,0,e,Number.MAX_SAFE_INTEGER):this.intervals.exclude(e,t,i,o)}getApprovedSelections(){const e=this.editor.getModel();return this.getSelections().map(i=>dt(i,this.intervals.buffer,this.prefer)).flat().map(i=>{const o=e.getPositionAt(i[0]),r=e.getPositionAt(i[1]);return new a.Selection(o.lineNumber,o.column,r.lineNumber,r.column)})}getSelections(){const e=this.editor.getModel();return(this.editor.getSelections()||[]).map(t=>[e.getOffsetAt({lineNumber:t.selectionStartLineNumber,column:t.selectionStartColumn}),e.getOffsetAt({lineNumber:t.positionLineNumber,column:t.positionColumn})])}}const mt=new RegExp("^[ s]+(exposed|Function)","i"),ve=({lineNumber:n,editor:e,type:t,source:i})=>{var h;const o=t===F.FileFolderType.METHOD||t===F.FileFolderType.DEBUGGER&&((h=i==null?void 0:i.codeDescriptorInfo)==null?void 0:h.type)===F.SourceCodeDescriptor.METHOD;if(n===1)return o?"":"1";const r=e==null?void 0:e.getModel(),s=(r==null?void 0:r.getLinesContent())||[],m=Array(s.length).fill("-");let d=o?0:1;for(let f=1;f<s.length;f++)(f===1?"":s[f-1]).endsWith("\\")||(d+=1,m[f]=d.toString());return m[n-1]},le=()=>R.jsx("div",{className:"absolute inset-0 animate-pulse",children:R.jsx("div",{className:"w-full space-y-4 px-4 py-1",children:R.jsxs("div",{className:"space-y-2",children:[R.jsx("div",{className:"h-3 w-3/4 rounded bg-grey-200"}),R.jsx("div",{className:"h-3 rounded bg-grey-200"}),R.jsx("div",{className:"h-3 w-5/6 rounded bg-grey-200"}),R.jsx("div",{className:"h-3 rounded bg-grey-200"}),R.jsx("div",{className:"h-3 rounded bg-grey-200"})]})})}),z=["fd-dark"],ft=({path:n,initialValue:e,type:t,language:i,onChange:o,options:r={},extra:s={},lspProps:m,theme:d=z[0],...h})=>{const{initialLineInfo:f,initialSelectionInfo:A}=s,{editor:p,setEditor:j}=he(),{inited:w}=m;function y(I){i==="css"&&I.languages.registerCompletionItemProvider("css",nt),i==="json"&&I.languages.json&&I.languages.json.jsonDefaults.setDiagnosticsOptions({validate:!0,schemas:[{uri:"condition-schema.json",fileMatch:["*.condition.json"],schema:rt},{uri:"handlers-schema.json",fileMatch:[F.HTTP_HANDLERS_TAB_PATH],schema:lt}]})}function x(I,Z){j(I);const l=I.getModel();if(l&&(l.updateOptions({insertSpaces:!1}),I.onKeyUp(()=>{var k;const c=(k=I.getPosition())==null?void 0:k.lineNumber;if(c){const W=l.getLineFirstNonWhitespaceColumn(c),G=l.getLineLength(c),v=l.getLineContent(c);mt.test(v)&&I.executeEdits("edit-handler",[{range:new Z.Range(c,0,c,G),text:v.substr(W-1,G-W)}])}})),t===F.FileFolderType.METHOD&&F.hasAttributesString(e)){const c=new Ct(I,!0);c.exclude(1,1,1,Number.POSITIVE_INFINITY),c.enable()}}S.useEffect(()=>{if(!p)return;const{line:I,offset:Z}=f||{};I&&me(p,I,Z)},[f,p]),S.useEffect(()=>{if(!p)return;const{selection:I}=A||{};I&&Ce(p,I)},[A,p]);const b=I=>z.includes(I)?I:z[0];return w?R.jsx(ne.Editor,{options:{readOnly:!0,fontSize:12,"semanticHighlighting.enabled":!0,padding:{top:10},lineNumbers:i==="4d"?I=>ve({lineNumber:I,editor:p,type:t,source:s==null?void 0:s.source}):void 0,scrollBeyondLastLine:!1,...r},path:T(n),value:e,theme:b(d),onChange:I=>o&&o(I||""),language:i,beforeMount:y,onMount:x,loading:R.jsx(le,{}),...h}):R.jsx("div",{className:"relative flex-1 w-full",children:R.jsx(le,{})})};var Se={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},ce=S.createContext&&S.createContext(Se),P=function(){return P=Object.assign||function(n){for(var e,t=1,i=arguments.length;t<i;t++){e=arguments[t];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=e[o])}return n},P.apply(this,arguments)},pt=function(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,i=Object.getOwnPropertySymbols(n);o<i.length;o++)e.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(n,i[o])&&(t[i[o]]=n[i[o]]);return t};function ye(n){return n&&n.map(function(e,t){return S.createElement(e.tag,P({key:t},e.attr),ye(e.child))})}function Re(n){return function(e){return S.createElement(At,P({attr:P({},n.attr)},e),ye(n.child))}}function At(n){var e=function(t){var i=n.attr,o=n.size,r=n.title,s=pt(n,["attr","size","title"]),m=o||t.size||"1em",d;return t.className&&(d=t.className),n.className&&(d=(d?d+" ":"")+n.className),S.createElement("svg",P({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,i,s,{className:d,style:P(P({color:n.color||t.color},t.style),n.style),height:m,width:m,xmlns:"http://www.w3.org/2000/svg"}),r&&S.createElement("title",null,r),n.children)};return ce!==void 0?S.createElement(ce.Consumer,null,function(t){return e(t)}):e(Se)}function bt(n){return Re({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 10.5858L9.17157 7.75736L7.75736 9.17157L10.5858 12L7.75736 14.8284L9.17157 16.2426L12 13.4142L14.8284 16.2426L16.2426 14.8284L13.4142 12L16.2426 9.17157L14.8284 7.75736L12 10.5858Z"}}]})(n)}function ht(n){return Re({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M449.07 399.08L278.64 82.58c-12.08-22.44-44.26-22.44-56.35 0L51.87 399.08A32 32 0 0080 446.25h340.89a32 32 0 0028.18-47.17zm-198.6-1.83a20 20 0 1120-20 20 20 0 01-20 20zm21.72-201.15l-5.74 122a16 16 0 01-32 0l-5.74-121.95a21.73 21.73 0 0121.5-22.69h.21a21.74 21.74 0 0121.73 22.7z"}}]})(n)}const vt=({lspProps:{lastError:n,reload:e}})=>{const[t,i]=S.useState(!1),o=()=>{e()},r=()=>{i(!1)};return S.useEffect(()=>{i(!!n)},[n]),t?R.jsxs("div",{className:"flex items-center border-b border-fd-gray-darker bg-grey-800 px-2 py-1.5 text-xs text-grey-50",children:[R.jsxs("span",{className:"flex flex-1 justify-center gap-1",children:[R.jsx(ht,{className:"h-4 w-4 text-yellow-600"}),R.jsxs("span",{children:["LSP not loaded."," ",R.jsx("button",{className:"text-primary-dark underline",onClick:o,children:"Reload?"})]})]}),R.jsx("button",{className:"focus:outline-none",children:R.jsx(bt,{className:"h-4 w-4 text-white",onClick:r})})]}):null},St={name:"4d",displayName:"%displayName%",description:"%description%",version:"1.0.0",publisher:"vscode",engines:{vscode:"0.10.x"},categories:["Programming Languages"],contributes:{languages:[{id:"4d",aliases:["4D","4d"],extensions:[".4dm",".4qs"],configuration:"./language-configuration.json"}],grammars:[{language:"4d",scopeName:"source.4dm",path:"./syntaxes/4d.tmLanguage.json"}]}},{registerFileUrl:U,whenReady:Rt}=Ke.registerExtension(St,void 0,{system:!0});U("./syntaxes/4d.tmLanguage.json",new URL("data:application/json;base64,ewogICJuYW1lIjogIjREIiwKICAic2NvcGVOYW1lIjogInNvdXJjZS40ZG0iLAogICJwYXR0ZXJucyI6IFsKICAgIHsKICAgICAgImluY2x1ZGUiOiAiI3N0YXRlbWVudHMiCiAgICB9CiAgXSwKICAicmVwb3NpdG9yeSI6IHsKICAgICJzdGF0ZW1lbnRzIjogewogICAgICAicGF0dGVybnMiOiBbCiAgICAgICAgewogICAgICAgICAgImluY2x1ZGUiOiAiI2NvbW1lbnQiCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgImNvbW1lbnQiOiB7CiAgICAgICJwYXR0ZXJucyI6IFsKICAgICAgICB7CiAgICAgICAgICAibmFtZSI6ICJjb21tZW50LmJsb2NrLjRkIiwKICAgICAgICAgICJiZWdpbiI6ICIoL1xcKikoPzpcXHMqKChAKWludGVybmFsKSg/PVxcc3woXFwqLykpKT8iLAogICAgICAgICAgImJlZ2luQ2FwdHVyZXMiOiB7CiAgICAgICAgICAgICIxIjogewogICAgICAgICAgICAgICJuYW1lIjogInB1bmN0dWF0aW9uLmRlZmluaXRpb24uY29tbWVudC40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjIiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAic3RvcmFnZS50eXBlLmludGVybmFsZGVjbGFyYXRpb24uNGQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICIzIjogewogICAgICAgICAgICAgICJuYW1lIjogInB1bmN0dWF0aW9uLmRlY29yYXRvci5pbnRlcm5hbGRlY2xhcmF0aW9uLjRkIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgImVuZCI6ICJcXCovIiwKICAgICAgICAgICJlbmRDYXB0dXJlcyI6IHsKICAgICAgICAgICAgIjAiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAicHVuY3R1YXRpb24uZGVmaW5pdGlvbi5jb21tZW50LjRkIgogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiYmVnaW4iOiAiKF5bIFxcdF0rKT8oKC8vKSg/OlxccyooKEApaW50ZXJuYWwpKD89XFxzfCQpKT8pIiwKICAgICAgICAgICJiZWdpbkNhcHR1cmVzIjogewogICAgICAgICAgICAiMSI6IHsKICAgICAgICAgICAgICAibmFtZSI6ICJwdW5jdHVhdGlvbi53aGl0ZXNwYWNlLmNvbW1lbnQubGVhZGluZy40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjIiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAiY29tbWVudC5saW5lLmRvdWJsZS1zbGFzaC40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjMiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAicHVuY3R1YXRpb24uZGVmaW5pdGlvbi5jb21tZW50LjRkIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiNCI6IHsKICAgICAgICAgICAgICAibmFtZSI6ICJzdG9yYWdlLnR5cGUuaW50ZXJuYWxkZWNsYXJhdGlvbi40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjUiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAicHVuY3R1YXRpb24uZGVjb3JhdG9yLmludGVybmFsZGVjbGFyYXRpb24uNGQiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAiZW5kIjogIig/PSQpIiwKICAgICAgICAgICJjb250ZW50TmFtZSI6ICJjb21tZW50LmxpbmUuZG91YmxlLXNsYXNoLjRkIgogICAgICAgIH0KICAgICAgXQogICAgfQogIH0KfQo=",typeof document>"u"?require("url").pathToFileURL(__filename).href:X&&X.tagName.toUpperCase()==="SCRIPT"&&X.src||new URL("index.cjs.js",document.baseURI).href).toString(),{mimeType:"application/json",size:1592});U("./language-configuration.json",new URL("data:application/json;base64,ewogICJjb21tZW50cyI6IHsKICAgICJsaW5lQ29tbWVudCI6ICIvLyIsCiAgICAiYmxvY2tDb21tZW50IjogWyIvKioiLCAiKiovIl0KICB9LAogIC8vIHN5bWJvbHMgdXNlZCBhcyBicmFja2V0cwogICJicmFja2V0cyI6IFsKICAgIFsieyIsICJ9Il0sCiAgICBbIigiLCAiKSJdLAogICAgWyJbIiwgIl0iXQogIF0sCiAgLy8gc3ltYm9scyB0aGF0IGFyZSBhdXRvIGNsb3NlZCB3aGVuIHR5cGluZwogIC8vIHN5bWJvbHMgdGhhdCB0aGF0IGNhbiBiZSB1c2VkIHRvIHN1cnJvdW5kIGEgc2VsZWN0aW9uCiAgInN1cnJvdW5kaW5nUGFpcnMiOiBbCiAgICBbInsiLCAifSJdLAogICAgWyJbIiwgIl0iXSwKICAgIFsiKCIsICIpIl0sCiAgICBbIlwiIiwgIlwiIl0sCiAgICBbIiciLCAiJyJdCiAgXSwKICAiYXV0b0Nsb3NpbmdQYWlycyI6IFsKICAgIHsKICAgICAgIm9wZW4iOiAiKCIsCiAgICAgICJjbG9zZSI6ICIpIgogICAgfSwKICAgIHsgIm9wZW4iOiAieyIsICJjbG9zZSI6ICJ9IiB9LAogICAgeyAib3BlbiI6ICJbIiwgImNsb3NlIjogIl0iIH0sCiAgICB7ICJvcGVuIjogIiciLCAiY2xvc2UiOiAiJyIsICJub3RJbiI6IFsic3RyaW5nIiwgImNvbW1lbnQiXSB9LAogICAgeyAib3BlbiI6ICJcIiIsICJjbG9zZSI6ICJcIiIsICJub3RJbiI6IFsic3RyaW5nIl0gfSwKICAgIHsgIm9wZW4iOiAiYCIsICJjbG9zZSI6ICJgIiwgIm5vdEluIjogWyJzdHJpbmciLCAiY29tbWVudCJdIH0sCiAgICB7ICJvcGVuIjogIi8qKiIsICJjbG9zZSI6ICIgKiovIiwgIm5vdEluIjogWyJzdHJpbmciXSB9CiAgXSwKICAiYXV0b0Nsb3NlQmVmb3JlIjogIjs6Liw9fV0pPmAgXG5cdCIsCiAgIndvcmRQYXR0ZXJuIjogIigtP1xcZCpcXC5cXGRcXHcqKXwoW15cXGBcXH5cXCFcXEBcXCNcXCVcXF5cXCZcXCpcXChcXClcXC1cXD1cXCtcXFtcXHtcXF1cXH1cXFxcXFx8XFw7XFw6XFwnXFxcIlxcLFxcLlxcPFxcPlxcL1xcP1xcclxcblxcdFxcZlxcdiBdKyl8KD88PVthLXpBLVpdKSA/KD89W2EtekEtWl0pIiwKICAiaW5kZW50YXRpb25SdWxlcyI6IHsKICAgICJpbmNyZWFzZUluZGVudFBhdHRlcm4iOiB7CiAgICAgICJwYXR0ZXJuIjogIiheKD8hW15cXHNdKSpcXHMqKGNsYXNzIGNvbnN0cnVjdG9yKSl8KF4oPyFbXlxcc10pKlxccyooZXhwb3NlZHxsb2NhbHxcXHMqKXsxfVxccypmdW5jdGlvbnsxfVxccypcXHcpfCheKD8hW15cXHNdKSpcXHMqKElmfEVsc2V8Rm9yfEZvciBlYWNofFdoaWxlfEJlZ2luIFNRTHxDYXNlIG9mfFVzZXxSZXBlYXR8OiAqXFwoLiopKS4qJCIsCiAgICAgICJmbGFncyI6ICJpIgogICAgfSwKICAgICJkZWNyZWFzZUluZGVudFBhdHRlcm4iOiB7CiAgICAgICJwYXR0ZXJuIjogIiheKD8hW15cXHNdKSpcXHMqKGV4cG9zZWR8bG9jYWx8XFxzKil7MX1cXHMqZnVuY3Rpb257MX1cXHMqXFx3KXwoRW5kIElmfEVuZCBGb3J8RWxzZXxFbmQgZm9yIGVhY2h8RW5kIFdoaWxlfEVuZCBTUUx8RW5kIGNhc2V8RW5kIHVzZXxVbnRpbHw6ICpcXCguKikuKiQiLAogICAgICAiZmxhZ3MiOiAiaSIKICAgIH0KICB9LAogICJvbkVudGVyUnVsZXMiOiBbCiAgICB7CiAgICAgICJiZWZvcmVUZXh0IjogewogICAgICAgICJwYXR0ZXJuIjogIl5leHBvc2VkIiwKICAgICAgICAiZmxhZ3MiOiAiaSIKICAgICAgfSwKICAgICAgImFjdGlvbiI6IHsgImluZGVudCI6ICJpbmRlbnQiLCAiaW5kZW50QWN0aW9uIjogMSB9CiAgICB9CiAgXQp9Cg==",typeof document>"u"?require("url").pathToFileURL(__filename).href:X&&X.tagName.toUpperCase()==="SCRIPT"&&X.src||new URL("index.cjs.js",document.baseURI).href).toString(),{mimeType:"application/json",size:1723});U("package.json",new URL("data:application/json;base64,ewogICJuYW1lIjogIjRkIiwKICAiZGlzcGxheU5hbWUiOiAiJWRpc3BsYXlOYW1lJSIsCiAgImRlc2NyaXB0aW9uIjogIiVkZXNjcmlwdGlvbiUiLAogICJ2ZXJzaW9uIjogIjEuMC4wIiwKICAicHVibGlzaGVyIjogInZzY29kZSIsCiAgImxpY2Vuc2UiOiAiTUlUIiwKICAiZW5naW5lcyI6IHsKICAgICJ2c2NvZGUiOiAiMC4xMC54IgogIH0sCiAgInNjcmlwdHMiOiB7CiAgICAidXBkYXRlLWdyYW1tYXIiOiAibm9kZSAuLi9ub2RlX21vZHVsZXMvdnNjb2RlLWdyYW1tYXItdXBkYXRlci9iaW4gbWljcm9zb2Z0L3ZzY29kZS00ZCBncmFtbWFycy80ZC5jc29uIC4vc3ludGF4ZXMvNGQudG1MYW5ndWFnZS5qc29uIgogIH0sCiAgImNhdGVnb3JpZXMiOiBbCiAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2VzIgogIF0sCiAgImNvbnRyaWJ1dGVzIjogewogICAgImxhbmd1YWdlcyI6IFsKICAgICAgewogICAgICAgICJpZCI6ICI0ZCIsCiAgICAgICAgImFsaWFzZXMiOiBbCiAgICAgICAgICAiNEQiLAogICAgICAgICAgIjRkIgogICAgICAgIF0sCiAgICAgICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICAgICAiLjRkbSIsCiAgICAgICAgICAiLjRxcyIKICAgICAgICBdLAogICAgICAgICJjb25maWd1cmF0aW9uIjogIi4vbGFuZ3VhZ2UtY29uZmlndXJhdGlvbi5qc29uIgogICAgICB9CiAgICBdLAogICAgImdyYW1tYXJzIjogWwogICAgICB7CiAgICAgICAgImxhbmd1YWdlIjogIjRkIiwKICAgICAgICAic2NvcGVOYW1lIjogInNvdXJjZS40ZG0iLAogICAgICAgICJwYXRoIjogIi4vc3ludGF4ZXMvNGQudG1MYW5ndWFnZS5qc29uIgogICAgICB9CiAgICBdCiAgfSwKICAicmVwb3NpdG9yeSI6IHsKICAgICJ0eXBlIjogImdpdCIsCiAgICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvdnNjb2RlLmdpdCIKICB9Cn0K",typeof document>"u"?require("url").pathToFileURL(__filename).href:X&&X.tagName.toUpperCase()==="SCRIPT"&&X.src||new URL("index.cjs.js",document.baseURI).href).toString(),{mimeType:"application/json",size:1006});U("package.nls.json",new URL("data:application/json;base64,ewogICJkaXNwbGF5TmFtZSI6ICI0RCBMYW5ndWFnZSBCYXNpY3MiLAogICJkZXNjcmlwdGlvbiI6ICJQcm92aWRlcyBzeW50YXggaGlnaGxpZ2h0aW5nIGFuZCBicmFja2V0IG1hdGNoaW5nIGZvciA0RE0gYW5kIDRRUyBmaWxlcy4iCn0K",typeof document>"u"?require("url").pathToFileURL(__filename).href:X&&X.tagName.toUpperCase()==="SCRIPT"&&X.src||new URL("index.cjs.js",document.baseURI).href).toString(),{mimeType:"application/json",size:135});exports.Alerts=vt;exports.CodeEditor=ft;exports.CodeEditorProvider=tt;exports.FdLineNumbers=ve;exports.LSPProvider=Qe;exports.SUPPORTED_THEMES=z;exports._await=oe;exports.configureServices=Ie;exports.getFileSystemPath=T;exports.getFunctionOffset=Je;exports.initMonacoUserConfiguration=de;exports.jumpToLine=me;exports.jumpToSelection=Ce;exports.useCodeEditor=he;exports.useLSP=et;
108
+ `;if(y){const l="monaco-read-only";ut(l)||gt(y,l),y=null}const x=()=>{s(c),c()},b=()=>{I(c),F=t.deltaDecorations(F,[])},c=()=>{const l=t.getModel();l&&(F=t.deltaDecorations(F,i.map(k(l))))},k=l=>g=>{const W=l.getPositionAt(g[0]),E=l.getPositionAt(g[1]);return{range:new a.Range(W.lineNumber,W.column,E.lineNumber,E.column),options:{className:"idoc-readonly-mark"}}};return{get buffer(){return i},exclude:r,attach:s,detach:I,dispose:j,show:x,hide:b}}function It(t,e,n){let i=!1;const o=b=>b[1]<b[0]?(i=!0,[[b[1],b[0]]]):[[...b]],r=b=>i?b.map(c=>c[1]>c[0]?I(c):c).reverse():b;let s;const I=b=>(s=b[1],b[1]=b[0],b[0]=s,b),C=o(t);let h,f,A,p,j,F,y,x;A=C[0];for(f of e)for(y=f[0],x=f[1],p=0;p<C.length;p++){if(A=C[p],j=A[0],F=A[1],j<y)F<y?h=[A]:F<=x?h=[[j,y-1]]:h=[[j,y-1],[x+1,F]];else if(j<=x)if(y===Number.NEGATIVE_INFINITY){const b=x+1;h=n===0?[]:[[b,F>b?F:b]]}else x===Number.POSITIVE_INFINITY?h=n===0?[]:[[y-1,y-1]]:F<=x?h=n<0?[[y-1,y-1]]:n>0?[[x+1,x+1]]:[]:h=[[x+1,F]];else h=[A];if(C.splice(p,1,...h),C.length===1&&C[0][1]<y)return r(C)}return r(C)}function Ct(t,e){if(t.length<2)return t;const n=[];let i=null,o,r;t=t.map(s=>(s[1]<s[0]&&(o=s[1],s[1]=s[0],s[1]=o),s)).sort((s,I)=>s[0]-I[0]),n.push(t[0]);for(let s=1;s<t.length;s++)i=n[n.length-1],r=t[s],i[1]===r[0]&&!e||(i[1]===r[0]-1&&e?(i[1]=r[1],n.splice(n.length-1,1,i)):i[1]<r[0]?n.push(r):i[1]<r[1]&&(i[1]=r[1],n.splice(n.length-1,1,i)));return n}function _(t,e){return e.bind(t)}class mt{constructor(e,n){var i;this.disposables=[],this.prefer=1,this.lastPrefer=1,this.onCursor=_(this,function(o){if(o.source==="api")return;const r=this.getApprovedSelections();r.length!==0&&this.editor.setSelections(r)}),this.onRectangleSelectionStart=_(this,function({event:o}){o.middleButton&&(this.lastPrefer=this.prefer,this.prefer=0,window.addEventListener("pointerup",this.onRectangleSelectionStop))}),this.onRectangleSelectionStop=_(this,function(){this.prefer=this.lastPrefer,window.removeEventListener("pointerup",this.onRectangleSelectionStop)}),this.onKey=_(this,function(o){const r=o.keyCode,s=a.KeyCode;if(o.altKey||s.F1<=r&&r<=s.F19||o.ctrlKey&&r!==s.Backspace)return;if(r===s.UpArrow||r===s.LeftArrow||r===s.Home||r===s.PageUp){this.prefer=-1;return}if(r===s.DownArrow||r===s.RightArrow||r===s.End||r===s.PageDown){this.prefer=1;return}const I=this.getSelections(),C=this.intervals.buffer;let h;if(r===s.Delete)h=f=>f[0]===f[1]&&C.find(A=>f[1]+1===A[0])!=null;else if(r===s.Backspace)h=f=>f[0]===f[1]&&C.find(A=>A[1]+1===f[0])!=null;else return;I.findIndex(h)!==-1&&(o.stopPropagation(),o.preventDefault())}),this.getOffsetAt=_(this,function(o){let r;for(let s=0;s<this.intervals.buffer.length;s++)if(r=this.intervals.buffer[s],o<=r[1])return r[0]-o<o-r[1]?r[0]:r[1]}),this.editor=e,this.intervals=dt(e,n),(i=this.editor.getModel())==null||i.setEOL(a.editor.EndOfLineSequence.LF)}enable(){this.disposables.push(this.editor.onDidChangeCursorPosition(this.onCursor),this.editor.onKeyDown(this.onKey),this.editor.onMouseDown(this.onRectangleSelectionStart)),this.intervals.show()}dispose(){for(const e of this.disposables)e.dispose();this.disposables.splice(0)}exclude(e,n,i,o){arguments.length===1?this.intervals.exclude(e,0,e,Number.MAX_SAFE_INTEGER):this.intervals.exclude(e,n,i,o)}getApprovedSelections(){const e=this.editor.getModel();return this.getSelections().map(i=>It(i,this.intervals.buffer,this.prefer)).flat().map(i=>{const o=e.getPositionAt(i[0]),r=e.getPositionAt(i[1]);return new a.Selection(o.lineNumber,o.column,r.lineNumber,r.column)})}getSelections(){const e=this.editor.getModel();return(this.editor.getSelections()||[]).map(n=>[e.getOffsetAt({lineNumber:n.selectionStartLineNumber,column:n.selectionStartColumn}),e.getOffsetAt({lineNumber:n.positionLineNumber,column:n.positionColumn})])}}const ft={provideDocumentFormattingEdits(t,e){const n=t.getValue();try{const i=pt(n,e.tabSize,e.insertSpaces);return[{range:t.getFullModelRange(),text:i}]}catch{return[]}}};function pt(t,e=2,n=!0){const i=n?" ".repeat(e):" ";let o=t.replace(/\s+/g," ").trim();return o=o.replace(/\{/g,` {
109
+ `+i).replace(/\}/g,`
110
+ }
111
+ `).replace(/;/g,`;
112
+ `+i).replace(/,/g,`,
113
+ `+i),o=o.replace(/\s*\{\s*/g,` {
114
+ `+i).replace(/\s*\}\s*/g,`
115
+ }
116
+ `).replace(/\s*;\s*/g,`;
117
+ `+i).replace(/\s*:\s*/g,": "),o=o.split(`
118
+ `).map(r=>r.trim()==="}"?"}":r.trimEnd()).filter((r,s,I)=>!(r===""&&I[s+1]==="")).join(`
119
+ `).trim(),o}const At={provideDocumentFormattingEdits(t,e){const n=t.getValue();try{const i=bt(n,e.tabSize);return[{range:t.getFullModelRange(),text:i}]}catch{return[]}}};function bt(t,e=2){const n=JSON.parse(t);return JSON.stringify(n,null,e)}const ht=new RegExp("^[ s]+(exposed|Function)","i"),Se=({lineNumber:t,editor:e,type:n,source:i})=>{var h;const o=n===L.FileFolderType.METHOD||n===L.FileFolderType.DEBUGGER&&((h=i==null?void 0:i.codeDescriptorInfo)==null?void 0:h.type)===L.SourceCodeDescriptor.METHOD;if(t===1)return o?"":"1";const r=e==null?void 0:e.getModel(),s=(r==null?void 0:r.getLinesContent())||[],I=Array(s.length).fill("-");let C=o?0:1;for(let f=1;f<s.length;f++)(f===1?"":s[f-1]).endsWith("\\")||(C+=1,I[f]=C.toString());return I[t-1]},ce=()=>R.jsx("div",{className:"absolute inset-0 animate-pulse",children:R.jsx("div",{className:"w-full space-y-4 px-4 py-1",children:R.jsxs("div",{className:"space-y-2",children:[R.jsx("div",{className:"h-3 w-3/4 rounded bg-grey-200"}),R.jsx("div",{className:"h-3 rounded bg-grey-200"}),R.jsx("div",{className:"h-3 w-5/6 rounded bg-grey-200"}),R.jsx("div",{className:"h-3 rounded bg-grey-200"}),R.jsx("div",{className:"h-3 rounded bg-grey-200"})]})})}),U=["fd-dark"],z={css:[],json:[]},vt=({path:t,initialValue:e,type:n,language:i,onChange:o,options:r={},extra:s={},lspProps:I,theme:C=U[0],...h})=>{const{initialLineInfo:f,initialSelectionInfo:A}=s,{editor:p,setEditor:j}=ve(),{inited:F}=I;function y(c){i==="css"&&c.languages.css&&(c.languages.registerCompletionItemProvider("css",it),c.languages.css.cssDefaults.setModeConfiguration({documentFormattingEdits:!1,documentRangeFormattingEdits:!1}),z.css.forEach(k=>k.dispose()),z.css.push(c.languages.registerDocumentFormattingEditProvider("css",ft))),i==="json"&&c.languages.json&&(c.languages.json.jsonDefaults.setDiagnosticsOptions({validate:!0,schemas:[{uri:"condition-schema.json",fileMatch:["*.condition.json"],schema:st},{uri:"handlers-schema.json",fileMatch:[L.HTTP_HANDLERS_TAB_PATH],schema:ct}]}),c.languages.json.jsonDefaults.setModeConfiguration({documentFormattingEdits:!1,documentRangeFormattingEdits:!1}),z.json.forEach(k=>k.dispose()),z.json.push(c.languages.registerDocumentFormattingEditProvider("json",At)))}function x(c,k){j(c);const l=c.getModel();if(l&&(l.updateOptions({insertSpaces:!1}),c.onKeyUp(()=>{var W;const g=(W=c.getPosition())==null?void 0:W.lineNumber;if(g){const E=l.getLineFirstNonWhitespaceColumn(g),M=l.getLineLength(g),v=l.getLineContent(g);ht.test(v)&&c.executeEdits("edit-handler",[{range:new k.Range(g,0,g,M),text:v.substr(E-1,M-E)}])}})),n===L.FileFolderType.METHOD&&L.hasAttributesString(e)){const g=new mt(c,!0);g.exclude(1,1,1,Number.POSITIVE_INFINITY),g.enable()}}S.useEffect(()=>{if(!p)return;const{line:c,offset:k}=f||{};c&&fe(p,c,k)},[f,p]),S.useEffect(()=>{if(!p)return;const{selection:c}=A||{};c&&me(p,c)},[A,p]);const b=c=>U.includes(c)?c:U[0];return F?R.jsx(ie.Editor,{options:{readOnly:!0,fontSize:12,"semanticHighlighting.enabled":!0,padding:{top:10},lineNumbers:i==="4d"?c=>Se({lineNumber:c,editor:p,type:n,source:s==null?void 0:s.source}):void 0,scrollBeyondLastLine:!1,...r},path:T(t),value:e,theme:b(C),onChange:c=>o&&o(c||""),language:i,beforeMount:y,onMount:x,loading:R.jsx(ce,{}),...h}):R.jsx("div",{className:"relative flex-1 w-full",children:R.jsx(ce,{})})};var ye={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},ge=S.createContext&&S.createContext(ye),P=function(){return P=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++){e=arguments[n];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])}return t},P.apply(this,arguments)},St=function(t,e){var n={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,i=Object.getOwnPropertySymbols(t);o<i.length;o++)e.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(t,i[o])&&(n[i[o]]=t[i[o]]);return n};function Re(t){return t&&t.map(function(e,n){return S.createElement(e.tag,P({key:n},e.attr),Re(e.child))})}function xe(t){return function(e){return S.createElement(yt,P({attr:P({},t.attr)},e),Re(t.child))}}function yt(t){var e=function(n){var i=t.attr,o=t.size,r=t.title,s=St(t,["attr","size","title"]),I=o||n.size||"1em",C;return n.className&&(C=n.className),t.className&&(C=(C?C+" ":"")+t.className),S.createElement("svg",P({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},n.attr,i,s,{className:C,style:P(P({color:t.color||n.color},n.style),t.style),height:I,width:I,xmlns:"http://www.w3.org/2000/svg"}),r&&S.createElement("title",null,r),t.children)};return ge!==void 0?S.createElement(ge.Consumer,null,function(n){return e(n)}):e(ye)}function Rt(t){return xe({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 10.5858L9.17157 7.75736L7.75736 9.17157L10.5858 12L7.75736 14.8284L9.17157 16.2426L12 13.4142L14.8284 16.2426L16.2426 14.8284L13.4142 12L16.2426 9.17157L14.8284 7.75736L12 10.5858Z"}}]})(t)}function xt(t){return xe({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M449.07 399.08L278.64 82.58c-12.08-22.44-44.26-22.44-56.35 0L51.87 399.08A32 32 0 0080 446.25h340.89a32 32 0 0028.18-47.17zm-198.6-1.83a20 20 0 1120-20 20 20 0 01-20 20zm21.72-201.15l-5.74 122a16 16 0 01-32 0l-5.74-121.95a21.73 21.73 0 0121.5-22.69h.21a21.74 21.74 0 0121.73 22.7z"}}]})(t)}const Nt=({lspProps:{lastError:t,reload:e}})=>{const[n,i]=S.useState(!1),o=()=>{e()},r=()=>{i(!1)};return S.useEffect(()=>{i(!!t)},[t]),n?R.jsxs("div",{className:"flex items-center border-b border-fd-gray-darker bg-grey-800 px-2 py-1.5 text-xs text-grey-50",children:[R.jsxs("span",{className:"flex flex-1 justify-center gap-1",children:[R.jsx(xt,{className:"h-4 w-4 text-yellow-600"}),R.jsxs("span",{children:["LSP not loaded."," ",R.jsx("button",{className:"text-primary-dark underline",onClick:o,children:"Reload?"})]})]}),R.jsx("button",{className:"focus:outline-none",children:R.jsx(Rt,{className:"h-4 w-4 text-white",onClick:r})})]}):null},wt={name:"4d",displayName:"%displayName%",description:"%description%",version:"1.0.0",publisher:"vscode",engines:{vscode:"0.10.x"},categories:["Programming Languages"],contributes:{languages:[{id:"4d",aliases:["4D","4d"],extensions:[".4dm",".4qs"],configuration:"./language-configuration.json"}],grammars:[{language:"4d",scopeName:"source.4dm",path:"./syntaxes/4d.tmLanguage.json"}]}},{registerFileUrl:$,whenReady:Lt}=Te.registerExtension(wt,void 0,{system:!0});$("./syntaxes/4d.tmLanguage.json",new URL("data:application/json;base64,ewogICJuYW1lIjogIjREIiwKICAic2NvcGVOYW1lIjogInNvdXJjZS40ZG0iLAogICJwYXR0ZXJucyI6IFsKICAgIHsKICAgICAgImluY2x1ZGUiOiAiI3N0YXRlbWVudHMiCiAgICB9CiAgXSwKICAicmVwb3NpdG9yeSI6IHsKICAgICJzdGF0ZW1lbnRzIjogewogICAgICAicGF0dGVybnMiOiBbCiAgICAgICAgewogICAgICAgICAgImluY2x1ZGUiOiAiI2NvbW1lbnQiCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgImNvbW1lbnQiOiB7CiAgICAgICJwYXR0ZXJucyI6IFsKICAgICAgICB7CiAgICAgICAgICAibmFtZSI6ICJjb21tZW50LmJsb2NrLjRkIiwKICAgICAgICAgICJiZWdpbiI6ICIoL1xcKikoPzpcXHMqKChAKWludGVybmFsKSg/PVxcc3woXFwqLykpKT8iLAogICAgICAgICAgImJlZ2luQ2FwdHVyZXMiOiB7CiAgICAgICAgICAgICIxIjogewogICAgICAgICAgICAgICJuYW1lIjogInB1bmN0dWF0aW9uLmRlZmluaXRpb24uY29tbWVudC40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjIiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAic3RvcmFnZS50eXBlLmludGVybmFsZGVjbGFyYXRpb24uNGQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICIzIjogewogICAgICAgICAgICAgICJuYW1lIjogInB1bmN0dWF0aW9uLmRlY29yYXRvci5pbnRlcm5hbGRlY2xhcmF0aW9uLjRkIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgImVuZCI6ICJcXCovIiwKICAgICAgICAgICJlbmRDYXB0dXJlcyI6IHsKICAgICAgICAgICAgIjAiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAicHVuY3R1YXRpb24uZGVmaW5pdGlvbi5jb21tZW50LjRkIgogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiYmVnaW4iOiAiKF5bIFxcdF0rKT8oKC8vKSg/OlxccyooKEApaW50ZXJuYWwpKD89XFxzfCQpKT8pIiwKICAgICAgICAgICJiZWdpbkNhcHR1cmVzIjogewogICAgICAgICAgICAiMSI6IHsKICAgICAgICAgICAgICAibmFtZSI6ICJwdW5jdHVhdGlvbi53aGl0ZXNwYWNlLmNvbW1lbnQubGVhZGluZy40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjIiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAiY29tbWVudC5saW5lLmRvdWJsZS1zbGFzaC40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjMiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAicHVuY3R1YXRpb24uZGVmaW5pdGlvbi5jb21tZW50LjRkIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiNCI6IHsKICAgICAgICAgICAgICAibmFtZSI6ICJzdG9yYWdlLnR5cGUuaW50ZXJuYWxkZWNsYXJhdGlvbi40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjUiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAicHVuY3R1YXRpb24uZGVjb3JhdG9yLmludGVybmFsZGVjbGFyYXRpb24uNGQiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAiZW5kIjogIig/PSQpIiwKICAgICAgICAgICJjb250ZW50TmFtZSI6ICJjb21tZW50LmxpbmUuZG91YmxlLXNsYXNoLjRkIgogICAgICAgIH0KICAgICAgXQogICAgfQogIH0KfQo=",typeof document>"u"?require("url").pathToFileURL(__filename).href:X&&X.tagName.toUpperCase()==="SCRIPT"&&X.src||new URL("index.cjs.js",document.baseURI).href).toString(),{mimeType:"application/json",size:1592});$("./language-configuration.json",new URL("data:application/json;base64,ewogICJjb21tZW50cyI6IHsKICAgICJsaW5lQ29tbWVudCI6ICIvLyIsCiAgICAiYmxvY2tDb21tZW50IjogWyIvKioiLCAiKiovIl0KICB9LAogIC8vIHN5bWJvbHMgdXNlZCBhcyBicmFja2V0cwogICJicmFja2V0cyI6IFsKICAgIFsieyIsICJ9Il0sCiAgICBbIigiLCAiKSJdLAogICAgWyJbIiwgIl0iXQogIF0sCiAgLy8gc3ltYm9scyB0aGF0IGFyZSBhdXRvIGNsb3NlZCB3aGVuIHR5cGluZwogIC8vIHN5bWJvbHMgdGhhdCB0aGF0IGNhbiBiZSB1c2VkIHRvIHN1cnJvdW5kIGEgc2VsZWN0aW9uCiAgInN1cnJvdW5kaW5nUGFpcnMiOiBbCiAgICBbInsiLCAifSJdLAogICAgWyJbIiwgIl0iXSwKICAgIFsiKCIsICIpIl0sCiAgICBbIlwiIiwgIlwiIl0sCiAgICBbIiciLCAiJyJdCiAgXSwKICAiYXV0b0Nsb3NpbmdQYWlycyI6IFsKICAgIHsKICAgICAgIm9wZW4iOiAiKCIsCiAgICAgICJjbG9zZSI6ICIpIgogICAgfSwKICAgIHsgIm9wZW4iOiAieyIsICJjbG9zZSI6ICJ9IiB9LAogICAgeyAib3BlbiI6ICJbIiwgImNsb3NlIjogIl0iIH0sCiAgICB7ICJvcGVuIjogIiciLCAiY2xvc2UiOiAiJyIsICJub3RJbiI6IFsic3RyaW5nIiwgImNvbW1lbnQiXSB9LAogICAgeyAib3BlbiI6ICJcIiIsICJjbG9zZSI6ICJcIiIsICJub3RJbiI6IFsic3RyaW5nIl0gfSwKICAgIHsgIm9wZW4iOiAiYCIsICJjbG9zZSI6ICJgIiwgIm5vdEluIjogWyJzdHJpbmciLCAiY29tbWVudCJdIH0sCiAgICB7ICJvcGVuIjogIi8qKiIsICJjbG9zZSI6ICIgKiovIiwgIm5vdEluIjogWyJzdHJpbmciXSB9CiAgXSwKICAiYXV0b0Nsb3NlQmVmb3JlIjogIjs6Liw9fV0pPmAgXG5cdCIsCiAgIndvcmRQYXR0ZXJuIjogIigtP1xcZCpcXC5cXGRcXHcqKXwoW15cXGBcXH5cXCFcXEBcXCNcXCVcXF5cXCZcXCpcXChcXClcXC1cXD1cXCtcXFtcXHtcXF1cXH1cXFxcXFx8XFw7XFw6XFwnXFxcIlxcLFxcLlxcPFxcPlxcL1xcP1xcclxcblxcdFxcZlxcdiBdKyl8KD88PVthLXpBLVpdKSA/KD89W2EtekEtWl0pIiwKICAiaW5kZW50YXRpb25SdWxlcyI6IHsKICAgICJpbmNyZWFzZUluZGVudFBhdHRlcm4iOiB7CiAgICAgICJwYXR0ZXJuIjogIiheKD8hW15cXHNdKSpcXHMqKGNsYXNzIGNvbnN0cnVjdG9yKSl8KF4oPyFbXlxcc10pKlxccyooZXhwb3NlZHxsb2NhbHxcXHMqKXsxfVxccypmdW5jdGlvbnsxfVxccypcXHcpfCheKD8hW15cXHNdKSpcXHMqKElmfEVsc2V8Rm9yfEZvciBlYWNofFdoaWxlfEJlZ2luIFNRTHxDYXNlIG9mfFVzZXxSZXBlYXR8OiAqXFwoLiopKS4qJCIsCiAgICAgICJmbGFncyI6ICJpIgogICAgfSwKICAgICJkZWNyZWFzZUluZGVudFBhdHRlcm4iOiB7CiAgICAgICJwYXR0ZXJuIjogIiheKD8hW15cXHNdKSpcXHMqKGV4cG9zZWR8bG9jYWx8XFxzKil7MX1cXHMqZnVuY3Rpb257MX1cXHMqXFx3KXwoRW5kIElmfEVuZCBGb3J8RWxzZXxFbmQgZm9yIGVhY2h8RW5kIFdoaWxlfEVuZCBTUUx8RW5kIGNhc2V8RW5kIHVzZXxVbnRpbHw6ICpcXCguKikuKiQiLAogICAgICAiZmxhZ3MiOiAiaSIKICAgIH0KICB9LAogICJvbkVudGVyUnVsZXMiOiBbCiAgICB7CiAgICAgICJiZWZvcmVUZXh0IjogewogICAgICAgICJwYXR0ZXJuIjogIl5leHBvc2VkIiwKICAgICAgICAiZmxhZ3MiOiAiaSIKICAgICAgfSwKICAgICAgImFjdGlvbiI6IHsgImluZGVudCI6ICJpbmRlbnQiLCAiaW5kZW50QWN0aW9uIjogMSB9CiAgICB9CiAgXQp9Cg==",typeof document>"u"?require("url").pathToFileURL(__filename).href:X&&X.tagName.toUpperCase()==="SCRIPT"&&X.src||new URL("index.cjs.js",document.baseURI).href).toString(),{mimeType:"application/json",size:1723});$("package.json",new URL("data:application/json;base64,ewogICJuYW1lIjogIjRkIiwKICAiZGlzcGxheU5hbWUiOiAiJWRpc3BsYXlOYW1lJSIsCiAgImRlc2NyaXB0aW9uIjogIiVkZXNjcmlwdGlvbiUiLAogICJ2ZXJzaW9uIjogIjEuMC4wIiwKICAicHVibGlzaGVyIjogInZzY29kZSIsCiAgImxpY2Vuc2UiOiAiTUlUIiwKICAiZW5naW5lcyI6IHsKICAgICJ2c2NvZGUiOiAiMC4xMC54IgogIH0sCiAgInNjcmlwdHMiOiB7CiAgICAidXBkYXRlLWdyYW1tYXIiOiAibm9kZSAuLi9ub2RlX21vZHVsZXMvdnNjb2RlLWdyYW1tYXItdXBkYXRlci9iaW4gbWljcm9zb2Z0L3ZzY29kZS00ZCBncmFtbWFycy80ZC5jc29uIC4vc3ludGF4ZXMvNGQudG1MYW5ndWFnZS5qc29uIgogIH0sCiAgImNhdGVnb3JpZXMiOiBbCiAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2VzIgogIF0sCiAgImNvbnRyaWJ1dGVzIjogewogICAgImxhbmd1YWdlcyI6IFsKICAgICAgewogICAgICAgICJpZCI6ICI0ZCIsCiAgICAgICAgImFsaWFzZXMiOiBbCiAgICAgICAgICAiNEQiLAogICAgICAgICAgIjRkIgogICAgICAgIF0sCiAgICAgICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICAgICAiLjRkbSIsCiAgICAgICAgICAiLjRxcyIKICAgICAgICBdLAogICAgICAgICJjb25maWd1cmF0aW9uIjogIi4vbGFuZ3VhZ2UtY29uZmlndXJhdGlvbi5qc29uIgogICAgICB9CiAgICBdLAogICAgImdyYW1tYXJzIjogWwogICAgICB7CiAgICAgICAgImxhbmd1YWdlIjogIjRkIiwKICAgICAgICAic2NvcGVOYW1lIjogInNvdXJjZS40ZG0iLAogICAgICAgICJwYXRoIjogIi4vc3ludGF4ZXMvNGQudG1MYW5ndWFnZS5qc29uIgogICAgICB9CiAgICBdCiAgfSwKICAicmVwb3NpdG9yeSI6IHsKICAgICJ0eXBlIjogImdpdCIsCiAgICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvdnNjb2RlLmdpdCIKICB9Cn0K",typeof document>"u"?require("url").pathToFileURL(__filename).href:X&&X.tagName.toUpperCase()==="SCRIPT"&&X.src||new URL("index.cjs.js",document.baseURI).href).toString(),{mimeType:"application/json",size:1006});$("package.nls.json",new URL("data:application/json;base64,ewogICJkaXNwbGF5TmFtZSI6ICI0RCBMYW5ndWFnZSBCYXNpY3MiLAogICJkZXNjcmlwdGlvbiI6ICJQcm92aWRlcyBzeW50YXggaGlnaGxpZ2h0aW5nIGFuZCBicmFja2V0IG1hdGNoaW5nIGZvciA0RE0gYW5kIDRRUyBmaWxlcy4iCn0K",typeof document>"u"?require("url").pathToFileURL(__filename).href:X&&X.tagName.toUpperCase()==="SCRIPT"&&X.src||new URL("index.cjs.js",document.baseURI).href).toString(),{mimeType:"application/json",size:135});exports.Alerts=Nt;exports.CodeEditor=vt;exports.CodeEditorProvider=nt;exports.FdLineNumbers=Se;exports.LSPProvider=et;exports.SUPPORTED_THEMES=U;exports._await=re;exports.configureServices=Ce;exports.getFileSystemPath=T;exports.getFunctionOffset=Ve;exports.initMonacoUserConfiguration=Ie;exports.jumpToLine=fe;exports.jumpToSelection=me;exports.useCodeEditor=ve;exports.useLSP=tt;
109
120
  //# sourceMappingURL=index.cjs.js.map