@ws-ui/code-editor 0.2.24 → 0.2.25

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.
@@ -28,5 +28,6 @@ interface ICodeEditorProps {
28
28
  showAlerts?: boolean;
29
29
  lspProps: LSPProps;
30
30
  }
31
+ export declare const SUPPORTED_THEMES: string[];
31
32
  export declare const CodeEditor: React.FC<ICodeEditorProps>;
32
33
  export {};
package/dist/index.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var Ne=Object.defineProperty;var Re=(n,e,t)=>e in n?Ne(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var K=(n,e,t)=>(Re(n,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("react/jsx-runtime"),b=require("react"),z=require("@monaco-editor/react"),Z=require("@ws-ui/shared"),we=require("monaco-languageclient"),re=require("monaco-languageclient/vscode/services"),se=require("@codingame/monaco-vscode-configuration-service-override"),Le=require("@codingame/monaco-vscode-languages-service-override"),ke=require("@codingame/monaco-vscode-textmate-service-override");require("@codingame/monaco-vscode-theme-defaults-default-extension");const je=require("@codingame/monaco-vscode-editor-service-override"),We=require("@codingame/monaco-vscode-theme-service-override"),R=require("monaco-editor"),Fe=require("monaco-languageclient/tools"),te=require("vscode-languageclient"),$=require("vscode-ws-jsonrpc"),B=require("vscode-languageserver-protocol"),ne=require("vscode/services"),_=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 Ze=require("vscode/extensions");function Ke(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=Ke(R),Ee=()=>se(),Xe=()=>je(()=>Promise.resolve(void 0)),Be=()=>{const n=We(),e=n.themeService.ctor.prototype;return e.defineTheme=()=>{},n},Te=`{
1
+ "use strict";var Re=Object.defineProperty;var we=(n,e,t)=>e in n?Re(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var K=(n,e,t)=>(we(n,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("react/jsx-runtime"),h=require("react"),$=require("@monaco-editor/react"),Z=require("@ws-ui/shared"),Le=require("monaco-languageclient"),se=require("monaco-languageclient/vscode/services"),ae=require("@codingame/monaco-vscode-configuration-service-override"),ke=require("@codingame/monaco-vscode-languages-service-override"),je=require("@codingame/monaco-vscode-textmate-service-override");require("@codingame/monaco-vscode-theme-defaults-default-extension");const We=require("@codingame/monaco-vscode-editor-service-override"),Fe=require("@codingame/monaco-vscode-theme-service-override"),k=require("monaco-editor"),Ze=require("monaco-languageclient/tools"),ne=require("vscode-languageclient"),U=require("vscode-ws-jsonrpc"),B=require("vscode-languageserver-protocol"),ie=require("vscode/services"),z=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");function Ee(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 s=Ee(k),Xe=()=>ae(),Be=()=>We(()=>Promise.resolve(void 0)),Te=()=>{const n=Fe(),e=n.themeService.ctor.prototype;return e.defineTheme=()=>{},n},Oe=`{
2
2
  "workbench.colorTheme": "Default Dark+",
3
3
  "workbench.iconTheme": "vs-seti",
4
4
  "editor.autoClosingBrackets": "languageDefined",
@@ -83,27 +83,27 @@
83
83
  }
84
84
  }
85
85
  }
86
- `,ae=()=>se.initUserConfiguration(Te),le=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 ae(),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 l={...Ee(),...Be(),...ke(),...Le(),...Xe()};re.mergeServices(l,e.userServices)}return i||(e.workspaceConfig={workspaceProvider:{trusted:!0,workspace:{workspaceUri:a.Uri.file("/workspace")},async open(){return!1}}}),e};class Oe extends $.WebSocketMessageReader{constructor(t,i){super(t);K(this,"onMessage");this.onMessage=i}readMessage(t){this.onMessage&&this.onMessage();const[,i]=t.split(`\r
86
+ `,le=()=>ae.initUserConfiguration(Oe),ce=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 le(),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 a={...Xe(),...Te(),...je(),...ke(),...Be()};se.mergeServices(a,e.userServices)}return i||(e.workspaceConfig={workspaceProvider:{trusted:!0,workspace:{workspaceUri:s.Uri.file("/workspace")},async open(){return!1}}}),e};class De extends U.WebSocketMessageReader{constructor(t,i){super(t);K(this,"onMessage");this.onMessage=i}readMessage(t){this.onMessage&&this.onMessage();const[,i]=t.split(`\r
87
87
  \r
88
- `);if(this.state==="initial")this.events.splice(0,0,{message:i});else if(this.state==="listening"){const o=JSON.parse(i);this.callback(o)}}}class De extends $.WebSocketMessageWriter{constructor(t,i){super(t);K(this,"onSend");this.onSend=i}async write(t){try{const i=JSON.stringify(t);this.socket.send(i),this.onSend&&this.onSend()}catch(i){this.errorCount++,this.fireError(i,t,this.errorCount)}}}function X(n,e=!0){const t=`/PACKAGE/Project/Sources/${n}`;return e?`file://${t}`:t}function U(n,e=0){setTimeout(n,e)}function ce(n,e){const t=new R.Selection(e.startLineNumber,e.startColumn,e.endLineNumber||e.startLineNumber,e.endColumn||e.startColumn);U(()=>{n.setSelection(t),n.revealRangeInCenter(t),n.focus()})}function ge(n,e,t=0){t>0&&(e=t+e),U(()=>{n.setPosition({lineNumber:e,column:1}),n.revealLineInCenter(e),n.focus()})}function Ge(n,e,t){const o=n.getModel();if(o&&e){const l=o.getLineCount();for(let r=1;r<=l;r++){const I=o.getLineContent(r);if(new RegExp(`(?:Function|function) ${t}`).test(I))return r}}return 0}const Je={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}]}}},Me={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}]}}},Pe=[{keybinding:R.KeyMod.CtrlCmd|R.KeyCode.NumpadAdd,command:"editor.action.fontZoomIn"},{keybinding:R.KeyMod.CtrlCmd|R.KeyCode.Equal,command:"editor.action.fontZoomIn"},{keybinding:R.KeyMod.CtrlCmd|R.KeyCode.NumpadSubtract,command:"editor.action.fontZoomOut"},{keybinding:R.KeyMod.CtrlCmd|R.KeyCode.Minus,command:"editor.action.fontZoomOut"},{keybinding:R.KeyMod.CtrlCmd|R.KeyCode.Numpad0,command:"editor.action.fontZoomReset"},{keybinding:R.KeyMod.CtrlCmd|R.KeyCode.Digit0,command:"editor.action.fontZoomReset"}],Ve=({defaultZoom:n})=>(b.useEffect(()=>{n!==void 0&&R.editor.EditorZoom.setZoomLevel(n)},[]),null);({}).VITE_DISABLE_MONACO_LOADER||z.loader.config({monaco:a});var V=(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))(V||{}),ue=(n=>(n[n.None=0]="None",n[n.DefaultForeground=1]="DefaultForeground",n[n.DefaultBackground=2]="DefaultBackground",n))(ue||{}),de=(n=>(n[n.Other=0]="Other",n[n.Comment=1]="Comment",n[n.String=2]="String",n[n.RegEx=3]="RegEx",n))(de||{});class M{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 l=`color: ${t[i]};`;o&1&&(l+="font-style: italic;"),o&2&&(l+="font-weight: bold;");let r="";return o&4&&(r+=" underline"),o&8&&(r+=" line-through"),r&&(l+=`text-decoration:${r};`),l}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 Ye(n,e,t,i){const o=t.tokens.data,l=n.getLanguageId();let r=0,I=0;const m=i.lineNumber-1,S=i.column-1;for(let y=0;y<o.length;y+=5){const A=o[y],f=o[y+1],L=o[y+2],N=o[y+3],v=o[y+4],x=r+A,c=A===0?I+f:f;if(m===x&&c<=S&&S<c+L){const w=t.legend.tokenTypes[N]||"not in legend (ignored)",j=[];let s=v;for(let G=0;s>0&&G<t.legend.tokenModifiers.length;G++)s&1&&j.push(t.legend.tokenModifiers[G]),s=s>>1;s>0&&j.push("not in legend (ignored)");const C=new R.Range(x+1,c+1,x+1,c+1+L),k={},W=e.getColorTheme().tokenColorMap,p=e.getColorTheme().getTokenStyleMetadata(w,j,l,!0,k);let Y;return p&&(Y={languageId:void 0,tokenType:de.Other,bold:p==null?void 0:p.bold,italic:p==null?void 0:p.italic,underline:p==null?void 0:p.underline,strikethrough:p==null?void 0:p.strikethrough,foreground:W[(p==null?void 0:p.foreground)||ue.None],background:void 0}),{type:w,modifiers:j,range:C,metadata:Y,definitions:k}}r=x,I=c}return null}function He(n,e,t){let i=null;for(let o=1;o<t;o++)i=e.tokenizeLine(n.getLineContent(o),i).ruleStack;return i}function qe(n,e,t){const i=n.getColorTheme().tokenColorMap,o=M.getLanguageId(t),l=M.getTokenType(t),r=M.getFontStyle(t),I=M.getForeground(t),m=M.getBackground(t);return{languageId:e.languageIdCodec.decodeLanguageId(o),tokenType:l,bold:r&V.Bold?!0:void 0,italic:r&V.Italic?!0:void 0,underline:r&V.Underline?!0:void 0,strikethrough:r&V.Strikethrough?!0:void 0,foreground:i[I],background:i[m]}}function _e(n,e,t){const i=t.lineNumber,o=n,l=o._tokenizationTextModelPart.grammarTokens._tokenizer.tokenizationSupport._actual._grammar,r=He(n,l,i),I=l.tokenizeLine(n.getLineContent(i),r),m=l.tokenizeLine2(n.getLineContent(i),r);let S=0;for(let A=I.tokens.length-1;A>=0;A--){const f=I.tokens[A];if(t.column-1>=f.startIndex){S=A;break}}let y=0;for(let A=m.tokens.length>>>1;A>=0;A--)if(t.column-1>=m.tokens[A<<1]){y=A;break}return{token:I.tokens[S],metadata:qe(e,o._languageService,m.tokens[(y<<1)+1])}}const Ie=b.createContext(void 0),ze=({children:n,url:e,qodly:t,defaultZoom:i,openHandler:o,language:l="4d",defaultInited:r=!1})=>{const I=z.useMonaco(),[m,S]=b.useState(r),[y,A]=b.useState(null),f=b.useRef(),L=b.useRef(0);b.useEffect(()=>{e&&I&&N()},[e,I]);const N=async()=>{if(!I)return;const d=new Fe.Logger({enabled:process.env.NODE_ENV==="development",debugEnabled:process.env.NODE_ENV==="development"}),g=await le({logger:d});await re.initServices({caller:"Qodly Code Editor",logger:d,serviceConfig:g}),o&&ne.StandaloneServices.get(ne.ICodeEditorService).registerCodeEditorOpenHandler(o),I.languages.registerCompletionItemProvider(l,t?Me:Je);const u=_.KeybindingsRegistry.getDefaultKeybindings.bind(_.KeybindingsRegistry);_.KeybindingsRegistry.getDefaultKeybindings=()=>u().filter(E=>!["workbench.action.files.saveAs","workbench.action.files.save"].includes(E.command)),R.editor.addKeybindingRules(Pe),v()},v=()=>{A(null);let d;try{d=new WebSocket(localStorage.LSP_SERVER||e)}catch{A(new Event("INVALID_URL"));return}d.onopen=x,d.onclose=c,d.onerror=w,L.current=0},x=async function(){const d=$.toSocket(this),g=new Oe(d),u=new De(d),F=new we.MonacoLanguageClient({name:"4D Language Client",clientOptions:{workspaceFolder:{uri:R.Uri.parse("file:///PACKAGE")},documentSelector:[{scheme:"file",language:l}],errorHandler:{error:()=>({action:te.ErrorAction.Continue}),closed:()=>({action:te.CloseAction.DoNotRestart})}},connectionProvider:{get:()=>Promise.resolve({reader:g,writer:u})}});f.current=F;const E=F.sendRequest.bind(F);f.current.sendRequest=function(D,J,q){return typeof D=="object"&&D.method==="textDocument/diagnostic"&&/file:\/\/\/PACKAGE\/Project\/Sources\/Methods\/__Debugger_.*/.test(J.textDocument.uri)?Promise.resolve():E(D,J,q)},g.onClose(()=>{F.stop(),L.current<3?setTimeout(()=>{L.current++,v()},1e3):A(new Event("WEBSOCKET_CLOSED"))}),F.needsStart()&&await F.start(),S(!0)},c=()=>{},w=d=>{A(d)};b.useEffect(()=>{const d=Z.lspSubject.subscribe(({action:g,payload:u})=>{switch(g){case Z.LspActions.WILL_SAVE:W(u.filePath);break;case Z.LspActions.DID_SAVE:O(u.filePath,u.content);break;case Z.LspActions.WILL_CREATE:p(u.filePath);break;case Z.LspActions.DID_CREATE:he(u.filePath);break;case Z.LspActions.WILL_RENAME:Y(u.oldPath,u.newPath);break;case Z.LspActions.DID_RENAME:ve(u.oldPath,u.newPath);break;case Z.LspActions.WILL_DELETE:G(u.filePath);break;case Z.LspActions.DID_DELETE:Se(u.filePath);break;case Z.LspActions.DIAGNOSTIC_REFRESH:k(u.filePath);break}});return()=>d.unsubscribe()},[]);const j=d=>{var g,u;return(u=(g=f.current)==null?void 0:g._features)==null?void 0:u.find(F=>{var E;return((E=F._registrationType)==null?void 0:E.method)===d})},s=d=>{const g=[],u=j(d);if(u)for(const[F,E]of u._registrations)E.provider&&g.push(E.provider);return g},C=async(d,g,u)=>{var E,D,J;const F=s(B.SemanticTokensRegistrationType.method);if(F[0]){const q=new R.CancellationTokenSource,Q=await Promise.resolve(F[0].full.provideDocumentSemanticTokens(g,q.token)),ee=d,ye=Q?Ye(g,ee._themeService,{tokens:Q,legend:(J=(D=(E=f.current)==null?void 0:E._capabilities)==null?void 0:D.semanticTokensProvider)==null?void 0:J.legend},u):null,xe=_e(g,ee._themeService,u);return{semanticTokenInfo:ye,textmateTokenInfo:xe}}return null},k=d=>{if(f.current){const g=s(B.DocumentDiagnosticRequest.method);for(const u of g)u.onDidChangeDiagnosticsEmitter.fire()}},W=(d,g=B.TextDocumentSaveReason.Manual)=>{var u;(u=f.current)==null||u.sendNotification(B.WillSaveTextDocumentNotification.type,{textDocument:{uri:X(d)},reason:g})},O=(d,g)=>{var u;(u=f.current)==null||u.sendNotification(B.DidSaveTextDocumentNotification.type,{textDocument:{uri:X(d)},text:g})},p=d=>{var g;(g=f.current)==null||g.sendRequest(B.WillCreateFilesRequest.type,{files:[{uri:X(d)}]})},Y=(d,g)=>{var u;(u=f.current)==null||u.sendRequest(B.WillRenameFilesRequest.type,{files:[{oldUri:X(d),newUri:X(g)}]})},G=d=>{var g;(g=f.current)==null||g.sendRequest(B.WillDeleteFilesRequest.type,{files:[{uri:X(d)}]})},he=d=>{var g;(g=f.current)==null||g.sendNotification(B.DidCreateFilesNotification.type,{files:[{uri:X(d)}]})},ve=(d,g)=>{var u;(u=f.current)==null||u.sendNotification(B.DidRenameFilesNotification.type,{files:[{oldUri:X(d),newUri:X(g)}]})},Se=d=>{var g;(g=f.current)==null||g.sendNotification(B.DidDeleteFilesNotification.type,{files:[{uri:X(d)}]})};return h.jsxs(Ie.Provider,{value:{inited:m||!!y,clientRef:f,lastError:y,reload:v,getTokenAtPosition:C},children:[n,h.jsx(Ve,{defaultZoom:i})]})};function $e(){const n=b.useContext(Ie);if(n===void 0)throw new Error("useLSP must be used within an LSPContext");return n}const Ce=b.createContext(void 0),Ue=b.memo(({children:n})=>{const[e,t]=b.useState(null);return h.jsx(Ce.Provider,{value:{editor:e,setEditor:t},children:n})});function me(){const n=b.useContext(Ce),e=b.useState(null);if(n===void 0){const[t,i]=e;return{editor:t,setEditor:i}}return n}var fe={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},ie=b.createContext&&b.createContext(fe),T=globalThis&&globalThis.__assign||function(){return T=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},T.apply(this,arguments)},Qe=globalThis&&globalThis.__rest||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 Ae(n){return n&&n.map(function(e,t){return b.createElement(e.tag,T({key:t},e.attr),Ae(e.child))})}function pe(n){return function(e){return b.createElement(et,T({attr:T({},n.attr)},e),Ae(n.child))}}function et(n){var e=function(t){var i=n.attr,o=n.size,l=n.title,r=Qe(n,["attr","size","title"]),I=o||t.size||"1em",m;return t.className&&(m=t.className),n.className&&(m=(m?m+" ":"")+n.className),b.createElement("svg",T({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,i,r,{className:m,style:T(T({color:n.color||t.color},t.style),n.style),height:I,width:I,xmlns:"http://www.w3.org/2000/svg"}),l&&b.createElement("title",null,l),n.children)};return ie!==void 0?b.createElement(ie.Consumer,null,function(t){return e(t)}):e(fe)}function tt(n){return pe({tag:"svg",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 nt(n){return pe({tag:"svg",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 be=({lspProps:{lastError:n,reload:e}})=>{const[t,i]=b.useState(!1),o=()=>{e()},l=()=>{i(!1)};return b.useEffect(()=>{i(!!n)},[n]),t?h.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:[h.jsxs("span",{className:"flex flex-1 justify-center gap-1",children:[h.jsx(nt,{className:"h-4 w-4 text-yellow-600"}),h.jsxs("span",{children:["LSP not loaded."," ",h.jsx("button",{className:"text-primary-dark underline",onClick:o,children:"Reload?"})]})]}),h.jsx("button",{className:"focus:outline-none",children:h.jsx(tt,{className:"h-4 w-4 text-white",onClick:l})})]}):null},it={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}]}}},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(n,e){const t=document.createElement("style");t.dataset.id=e,t.textContent=n,document.head.append(t)}function ut(n){return Array.from(document.styleSheets).find(e=>e.ownerNode.getAttribute("data-id")===n)}function dt(n,e){const t=[];let i=[];const o=[],l=(s,C,k,W)=>{t.push({startLineNumber:s,endLineNumber:k,startColumn:C,endColumn:W}),S(),m()},r=s=>{o.indexOf(s)<0&&o.push(s)},I=s=>{const C=o.indexOf(s);C<0||o.splice(C,1)},m=()=>{for(const s of o)try{s(i)}catch(C){console.error(C)}},S=()=>{const s=n.getModel();s&&(i=Ct(t.map(C=>[s.getOffsetAt({lineNumber:C.startLineNumber,column:C.startColumn}),s.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]>=s.getValueLength()&&(i[i.length-1][1]=Number.POSITIVE_INFINITY)))},y=s=>{const C={isDeletion:!1,isAddition:!1,isReplacement:!1};return s.text===""?C.isDeletion=!0:s.range.startLineNumber===s.range.endLineNumber&&s.range.startColumn===s.range.endColumn?C.isAddition=!0:C.isReplacement=!0,C},A=n.onDidChangeModel(s=>{S(),w()}),f=n.onDidChangeModelContent(s=>{if(!s.isUndoing)for(const C of s.changes){const k=y(C);if(k.isReplacement||k.isDeletion||k.isAddition){const W=t.some(p=>C.range.startLineNumber>=p.startLineNumber&&C.range.endLineNumber<=p.endLineNumber&&C.range.startColumn>=p.startColumn&&C.range.endColumn<=p.endColumn),O=!W&&e&&C.range.startLineNumber===1&&C.range.startColumn===1&&!Z.hasAttributesString(C.text);if(W||O){const p=n.getModel();if(p){p.undo();return}}}}}),L=()=>{A.dispose(),f.dispose()};let N=[],v=`
88
+ `);if(this.state==="initial")this.events.splice(0,0,{message:i});else if(this.state==="listening"){const o=JSON.parse(i);this.callback(o)}}}class Ge extends U.WebSocketMessageWriter{constructor(t,i){super(t);K(this,"onSend");this.onSend=i}async write(t){try{const i=JSON.stringify(t);this.socket.send(i),this.onSend&&this.onSend()}catch(i){this.errorCount++,this.fireError(i,t,this.errorCount)}}}function X(n,e=!0){const t=`/PACKAGE/Project/Sources/${n}`;return e?`file://${t}`:t}function Q(n,e=0){setTimeout(n,e)}function ge(n,e){const t=new k.Selection(e.startLineNumber,e.startColumn,e.endLineNumber||e.startLineNumber,e.endColumn||e.startColumn);Q(()=>{n.setSelection(t),n.revealRangeInCenter(t),n.focus()})}function ue(n,e,t=0){t>0&&(e=t+e),Q(()=>{n.setPosition({lineNumber:e,column:1}),n.revealLineInCenter(e),n.focus()})}function Je(n,e,t){const o=n.getModel();if(o&&e){const a=o.getLineCount();for(let r=1;r<=a;r++){const I=o.getLineContent(r);if(new RegExp(`(?:Function|function) ${t}`).test(I))return r}}return 0}const Me={provideCompletionItems:async(n,e)=>{const t=n.getWordUntilPosition(e);return{suggestions:[{label:"var",kind:s.languages.CompletionItemKind.Snippet,range:new s.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["var ${1:var_name} : ${2:var_type}"].join(`
89
+ `),insertTextRules:s.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"While",kind:s.languages.CompletionItemKind.Snippet,range:new s.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["While(${1:expression})"," ${2:body}","End while"].join(`
90
+ `),insertTextRules:s.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"Case of",kind:s.languages.CompletionItemKind.Snippet,range:new s.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["Case of"," :(${1:boolean_expression})"," ${2:body}","End case"].join(`
91
+ `),insertTextRules:s.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"Else",kind:s.languages.CompletionItemKind.Snippet,range:new s.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["Else"," "].join(`
92
+ `),insertTextRules:s.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"If",kind:s.languages.CompletionItemKind.Snippet,range:new s.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["If (${1:expression})"," ${5:body}","End if"].join(`
93
+ `),insertTextRules:s.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"For",kind:s.languages.CompletionItemKind.Snippet,range:new s.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:s.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"Function",kind:s.languages.CompletionItemKind.Snippet,range:new s.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:s.languages.CompletionItemInsertTextRule.InsertAsSnippet}]}}},Pe={provideCompletionItems:async(n,e)=>{const t=n.getWordUntilPosition(e);return{suggestions:[{label:"var",kind:s.languages.CompletionItemKind.Snippet,range:new s.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["var ${1:var_name} : ${2:var_type}"].join(`
96
+ `),insertTextRules:s.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"while",kind:s.languages.CompletionItemKind.Snippet,range:new s.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["while(${1:expression})"," ${2:body}","end"].join(`
97
+ `),insertTextRules:s.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"switch",kind:s.languages.CompletionItemKind.Snippet,range:new s.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["switch"," :(${1:boolean_expression})"," ${2:body}","end"].join(`
98
+ `),insertTextRules:s.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"else",kind:s.languages.CompletionItemKind.Snippet,range:new s.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["else"," "].join(`
99
+ `),insertTextRules:s.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"if",kind:s.languages.CompletionItemKind.Snippet,range:new s.Range(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn),insertText:["if (${1:expression})"," ${5:body}","end"].join(`
100
+ `),insertTextRules:s.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"for",kind:s.languages.CompletionItemKind.Snippet,range:new s.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:s.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"function",kind:s.languages.CompletionItemKind.Snippet,range:new s.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:s.languages.CompletionItemInsertTextRule.InsertAsSnippet}]}}},Ve=[{keybinding:k.KeyMod.CtrlCmd|k.KeyCode.NumpadAdd,command:"editor.action.fontZoomIn"},{keybinding:k.KeyMod.CtrlCmd|k.KeyCode.Equal,command:"editor.action.fontZoomIn"},{keybinding:k.KeyMod.CtrlCmd|k.KeyCode.NumpadSubtract,command:"editor.action.fontZoomOut"},{keybinding:k.KeyMod.CtrlCmd|k.KeyCode.Minus,command:"editor.action.fontZoomOut"},{keybinding:k.KeyMod.CtrlCmd|k.KeyCode.Numpad0,command:"editor.action.fontZoomReset"},{keybinding:k.KeyMod.CtrlCmd|k.KeyCode.Digit0,command:"editor.action.fontZoomReset"}],Ye=({defaultZoom:n})=>(h.useEffect(()=>{n!==void 0&&k.editor.EditorZoom.setZoomLevel(n)},[]),null);({}).VITE_DISABLE_MONACO_LOADER||$.loader.config({monaco:s});var Y=(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))(Y||{}),de=(n=>(n[n.None=0]="None",n[n.DefaultForeground=1]="DefaultForeground",n[n.DefaultBackground=2]="DefaultBackground",n))(de||{}),Ie=(n=>(n[n.Other=0]="Other",n[n.Comment=1]="Comment",n[n.String=2]="String",n[n.RegEx=3]="RegEx",n))(Ie||{});class P{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 a=`color: ${t[i]};`;o&1&&(a+="font-style: italic;"),o&2&&(a+="font-weight: bold;");let r="";return o&4&&(r+=" underline"),o&8&&(r+=" line-through"),r&&(a+=`text-decoration:${r};`),a}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,a=n.getLanguageId();let r=0,I=0;const C=i.lineNumber-1,x=i.column-1;for(let N=0;N<o.length;N+=5){const p=o[N],m=o[N+1],R=o[N+2],L=o[N+3],S=o[N+4],w=r+p,f=p===0?I+m:m;if(C===w&&f<=x&&x<f+R){const j=t.legend.tokenTypes[L]||"not in legend (ignored)",A=[];let l=S;for(let J=0;l>0&&J<t.legend.tokenModifiers.length;J++)l&1&&A.push(t.legend.tokenModifiers[J]),l=l>>1;l>0&&A.push("not in legend (ignored)");const u=new k.Range(w+1,f+1,w+1,f+1+R),y={},W=e.getColorTheme().tokenColorMap,b=e.getColorTheme().getTokenStyleMetadata(j,A,a,!0,y);let D;return b&&(D={languageId:void 0,tokenType:Ie.Other,bold:b==null?void 0:b.bold,italic:b==null?void 0:b.italic,underline:b==null?void 0:b.underline,strikethrough:b==null?void 0:b.strikethrough,foreground:W[(b==null?void 0:b.foreground)||de.None],background:void 0}),{type:j,modifiers:A,range:u,metadata:D,definitions:y}}r=w,I=f}return null}function qe(n,e,t){let i=null;for(let o=1;o<t;o++)i=e.tokenizeLine(n.getLineContent(o),i).ruleStack;return i}function _e(n,e,t){const i=n.getColorTheme().tokenColorMap,o=P.getLanguageId(t),a=P.getTokenType(t),r=P.getFontStyle(t),I=P.getForeground(t),C=P.getBackground(t);return{languageId:e.languageIdCodec.decodeLanguageId(o),tokenType:a,bold:r&Y.Bold?!0:void 0,italic:r&Y.Italic?!0:void 0,underline:r&Y.Underline?!0:void 0,strikethrough:r&Y.Strikethrough?!0:void 0,foreground:i[I],background:i[C]}}function ze(n,e,t){const i=t.lineNumber,o=n,a=o._tokenizationTextModelPart.grammarTokens._tokenizer.tokenizationSupport._actual._grammar,r=qe(n,a,i),I=a.tokenizeLine(n.getLineContent(i),r),C=a.tokenizeLine2(n.getLineContent(i),r);let x=0;for(let p=I.tokens.length-1;p>=0;p--){const m=I.tokens[p];if(t.column-1>=m.startIndex){x=p;break}}let N=0;for(let p=C.tokens.length>>>1;p>=0;p--)if(t.column-1>=C.tokens[p<<1]){N=p;break}return{token:I.tokens[x],metadata:_e(e,o._languageService,C.tokens[(N<<1)+1])}}const Ce=h.createContext(void 0),$e=({children:n,url:e,qodly:t,defaultZoom:i,openHandler:o,language:a="4d",defaultInited:r=!1})=>{const I=$.useMonaco(),[C,x]=h.useState(r),[N,p]=h.useState(null),m=h.useRef(),R=h.useRef(0);h.useEffect(()=>{e&&I&&L()},[e,I]);const L=async()=>{if(!I)return;const d=new Ze.Logger({enabled:process.env.NODE_ENV==="development",debugEnabled:process.env.NODE_ENV==="development"}),c=await ce({logger:d});await se.initServices({caller:"Qodly Code Editor",logger:d,serviceConfig:c}),o&&ie.StandaloneServices.get(ie.ICodeEditorService).registerCodeEditorOpenHandler(o),I.languages.registerCompletionItemProvider(a,t?Pe:Me);const g=z.KeybindingsRegistry.getDefaultKeybindings.bind(z.KeybindingsRegistry);z.KeybindingsRegistry.getDefaultKeybindings=()=>g().filter(E=>!["workbench.action.files.saveAs","workbench.action.files.save"].includes(E.command)),k.editor.addKeybindingRules(Ve),S()},S=()=>{p(null);let d;try{d=new WebSocket(localStorage.LSP_SERVER||e)}catch{p(new Event("INVALID_URL"));return}d.onopen=w,d.onclose=f,d.onerror=j,R.current=0},w=async function(){const d=U.toSocket(this),c=new De(d),g=new Ge(d),F=new Le.MonacoLanguageClient({name:"4D Language Client",clientOptions:{workspaceFolder:{uri:k.Uri.parse("file:///PACKAGE")},documentSelector:[{scheme:"file",language:a}],errorHandler:{error:()=>({action:ne.ErrorAction.Continue}),closed:()=>({action:ne.CloseAction.DoNotRestart})}},connectionProvider:{get:()=>Promise.resolve({reader:c,writer:g})}});m.current=F;const E=F.sendRequest.bind(F);m.current.sendRequest=function(G,M,_){return typeof G=="object"&&G.method==="textDocument/diagnostic"&&/file:\/\/\/PACKAGE\/Project\/Sources\/Methods\/__Debugger_.*/.test(M.textDocument.uri)?Promise.resolve():E(G,M,_)},c.onClose(()=>{F.stop(),R.current<3?setTimeout(()=>{R.current++,S()},1e3):p(new Event("WEBSOCKET_CLOSED"))}),F.needsStart()&&await F.start(),x(!0)},f=()=>{},j=d=>{p(d)};h.useEffect(()=>{const d=Z.lspSubject.subscribe(({action:c,payload:g})=>{switch(c){case Z.LspActions.WILL_SAVE:W(g.filePath);break;case Z.LspActions.DID_SAVE:O(g.filePath,g.content);break;case Z.LspActions.WILL_CREATE:b(g.filePath);break;case Z.LspActions.DID_CREATE:ve(g.filePath);break;case Z.LspActions.WILL_RENAME:D(g.oldPath,g.newPath);break;case Z.LspActions.DID_RENAME:Se(g.oldPath,g.newPath);break;case Z.LspActions.WILL_DELETE:J(g.filePath);break;case Z.LspActions.DID_DELETE:ye(g.filePath);break;case Z.LspActions.DIAGNOSTIC_REFRESH:y(g.filePath);break}});return()=>d.unsubscribe()},[]);const A=d=>{var c,g;return(g=(c=m.current)==null?void 0:c._features)==null?void 0:g.find(F=>{var E;return((E=F._registrationType)==null?void 0:E.method)===d})},l=d=>{const c=[],g=A(d);if(g)for(const[F,E]of g._registrations)E.provider&&c.push(E.provider);return c},u=async(d,c,g)=>{var E,G,M;const F=l(B.SemanticTokensRegistrationType.method);if(F[0]){const _=new k.CancellationTokenSource,ee=await Promise.resolve(F[0].full.provideDocumentSemanticTokens(c,_.token)),te=d,xe=ee?He(c,te._themeService,{tokens:ee,legend:(M=(G=(E=m.current)==null?void 0:E._capabilities)==null?void 0:G.semanticTokensProvider)==null?void 0:M.legend},g):null,Ne=ze(c,te._themeService,g);return{semanticTokenInfo:xe,textmateTokenInfo:Ne}}return null},y=d=>{if(m.current){const c=l(B.DocumentDiagnosticRequest.method);for(const g of c)g.onDidChangeDiagnosticsEmitter.fire()}},W=(d,c=B.TextDocumentSaveReason.Manual)=>{var g;(g=m.current)==null||g.sendNotification(B.WillSaveTextDocumentNotification.type,{textDocument:{uri:X(d)},reason:c})},O=(d,c)=>{var g;(g=m.current)==null||g.sendNotification(B.DidSaveTextDocumentNotification.type,{textDocument:{uri:X(d)},text:c})},b=d=>{var c;(c=m.current)==null||c.sendRequest(B.WillCreateFilesRequest.type,{files:[{uri:X(d)}]})},D=(d,c)=>{var g;(g=m.current)==null||g.sendRequest(B.WillRenameFilesRequest.type,{files:[{oldUri:X(d),newUri:X(c)}]})},J=d=>{var c;(c=m.current)==null||c.sendRequest(B.WillDeleteFilesRequest.type,{files:[{uri:X(d)}]})},ve=d=>{var c;(c=m.current)==null||c.sendNotification(B.DidCreateFilesNotification.type,{files:[{uri:X(d)}]})},Se=(d,c)=>{var g;(g=m.current)==null||g.sendNotification(B.DidRenameFilesNotification.type,{files:[{oldUri:X(d),newUri:X(c)}]})},ye=d=>{var c;(c=m.current)==null||c.sendNotification(B.DidDeleteFilesNotification.type,{files:[{uri:X(d)}]})};return v.jsxs(Ce.Provider,{value:{inited:C||!!N,clientRef:m,lastError:N,reload:S,getTokenAtPosition:u},children:[n,v.jsx(Ye,{defaultZoom:i})]})};function Ue(){const n=h.useContext(Ce);if(n===void 0)throw new Error("useLSP must be used within an LSPContext");return n}const me=h.createContext(void 0),Qe=h.memo(({children:n})=>{const[e,t]=h.useState(null);return v.jsx(me.Provider,{value:{editor:e,setEditor:t},children:n})});function fe(){const n=h.useContext(me),e=h.useState(null);if(n===void 0){const[t,i]=e;return{editor:t,setEditor:i}}return n}var Ae={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},oe=h.createContext&&h.createContext(Ae),T=globalThis&&globalThis.__assign||function(){return T=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},T.apply(this,arguments)},et=globalThis&&globalThis.__rest||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 pe(n){return n&&n.map(function(e,t){return h.createElement(e.tag,T({key:t},e.attr),pe(e.child))})}function be(n){return function(e){return h.createElement(tt,T({attr:T({},n.attr)},e),pe(n.child))}}function tt(n){var e=function(t){var i=n.attr,o=n.size,a=n.title,r=et(n,["attr","size","title"]),I=o||t.size||"1em",C;return t.className&&(C=t.className),n.className&&(C=(C?C+" ":"")+n.className),h.createElement("svg",T({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,i,r,{className:C,style:T(T({color:n.color||t.color},t.style),n.style),height:I,width:I,xmlns:"http://www.w3.org/2000/svg"}),a&&h.createElement("title",null,a),n.children)};return oe!==void 0?h.createElement(oe.Consumer,null,function(t){return e(t)}):e(Ae)}function nt(n){return be({tag:"svg",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 it(n){return be({tag:"svg",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 he=({lspProps:{lastError:n,reload:e}})=>{const[t,i]=h.useState(!1),o=()=>{e()},a=()=>{i(!1)};return h.useEffect(()=>{i(!!n)},[n]),t?v.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:[v.jsxs("span",{className:"flex flex-1 justify-center gap-1",children:[v.jsx(it,{className:"h-4 w-4 text-yellow-600"}),v.jsxs("span",{children:["LSP not loaded."," ",v.jsx("button",{className:"text-primary-dark underline",onClick:o,children:"Reload?"})]})]}),v.jsx("button",{className:"focus:outline-none",children:v.jsx(nt,{className:"h-4 w-4 text-white",onClick:a})})]}):null},ot={provideCompletionItems:(n,e)=>{const t=n.getWordUntilPosition(e);return{suggestions:[{label:"device:xs",kind:s.languages.CompletionItemKind.Snippet,documentation:"Media query for phone device",range:new s.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:s.languages.CompletionItemInsertTextRule.InsertAsSnippet}]}}},rt="#/definitions/Condition",st={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"]}},at={$ref:rt,definitions:st},lt="array",ct={type:"object",properties:{class:{type:"string"},method:{type:"string"},regexPattern:{type:"string"},verbs:{type:"string"}}},gt={type:lt,items:ct};function ut(n,e){const t=document.createElement("style");t.dataset.id=e,t.textContent=n,document.head.append(t)}function dt(n){return Array.from(document.styleSheets).find(e=>e.ownerNode.getAttribute("data-id")===n)}function It(n,e){const t=[];let i=[];const o=[],a=(l,u,y,W)=>{t.push({startLineNumber:l,endLineNumber:y,startColumn:u,endColumn:W}),x(),C()},r=l=>{o.indexOf(l)<0&&o.push(l)},I=l=>{const u=o.indexOf(l);u<0||o.splice(u,1)},C=()=>{for(const l of o)try{l(i)}catch(u){console.error(u)}},x=()=>{const l=n.getModel();l&&(i=mt(t.map(u=>[l.getOffsetAt({lineNumber:u.startLineNumber,column:u.startColumn}),l.getOffsetAt({lineNumber:u.endLineNumber,column:u.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)))},N=l=>{const u={isDeletion:!1,isAddition:!1,isReplacement:!1};return l.text===""?u.isDeletion=!0:l.range.startLineNumber===l.range.endLineNumber&&l.range.startColumn===l.range.endColumn?u.isAddition=!0:u.isReplacement=!0,u},p=n.onDidChangeModel(l=>{x(),j()}),m=n.onDidChangeModelContent(l=>{if(!l.isUndoing)for(const u of l.changes){const y=N(u);if(y.isReplacement||y.isDeletion||y.isAddition){const W=t.some(b=>u.range.startLineNumber>=b.startLineNumber&&u.range.endLineNumber<=b.endLineNumber&&u.range.startColumn>=b.startColumn&&u.range.endColumn<=b.endColumn),O=!W&&e&&u.range.startLineNumber===1&&u.range.startColumn===1&&!Z.hasAttributesString(u.text);if(W||O){const b=n.getModel();if(b){b.undo();return}}}}}),R=()=>{p.dispose(),m.dispose()};let L=[],S=`
104
104
  .idoc-readonly-mark {
105
105
  cursor: not-allowed;
106
106
  z-index: 1;
107
107
  }
108
- `;if(v){const s="monaco-read-only";ut(s)||gt(v,s),v=null}const x=()=>{r(w),w()},c=()=>{I(w),N=n.deltaDecorations(N,[])},w=()=>{const s=n.getModel();s&&(N=n.deltaDecorations(N,i.map(j(s))))},j=s=>C=>{const k=s.getPositionAt(C[0]),W=s.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:l,attach:r,detach:I,dispose:L,show:x,hide:c}}function It(n,e,t){let i=!1;const o=c=>c[1]<c[0]?(i=!0,[[c[1],c[0]]]):[[...c]],l=c=>i?c.map(w=>w[1]>w[0]?I(w):w).reverse():c;let r;const I=c=>(r=c[1],c[1]=c[0],c[0]=r,c),m=o(n);let S,y,A,f,L,N,v,x;A=m[0];for(y of e)for(v=y[0],x=y[1],f=0;f<m.length;f++){if(A=m[f],L=A[0],N=A[1],L<v)N<v?S=[A]:N<=x?S=[[L,v-1]]:S=[[L,v-1],[x+1,N]];else if(L<=x)if(v===Number.NEGATIVE_INFINITY){const c=x+1;S=t===0?[]:[[c,N>c?N:c]]}else x===Number.POSITIVE_INFINITY?S=t===0?[]:[[v-1,v-1]]:N<=x?S=t<0?[[v-1,v-1]]:t>0?[[x+1,x+1]]:[]:S=[[x+1,N]];else S=[A];if(m.splice(f,1,...S),m.length===1&&m[0][1]<v)return l(m)}return l(m)}function Ct(n,e){if(n.length<2)return n;const t=[];let i=null,o,l;n=n.map(r=>(r[1]<r[0]&&(o=r[1],r[1]=r[0],r[1]=o),r)).sort((r,I)=>r[0]-I[0]),t.push(n[0]);for(let r=1;r<n.length;r++)i=t[t.length-1],l=n[r],i[1]===l[0]&&!e?t.push(l):i[1]===l[0]-1&&e?(i[1]=l[1],t.splice(t.length-1,1,i)):i[1]<l[0]?t.push(l):i[1]<l[1]&&(i[1]=l[1],t.splice(t.length-1,1,i));return t}function P(n,e){return e.bind(n)}class mt{constructor(e,t){K(this,"editor");K(this,"intervals");K(this,"disposables",[]);K(this,"prefer",1);K(this,"lastPrefer",1);K(this,"onCursor",P(this,function(e){if(e.source==="api")return;const t=this.getApprovedSelections();t.length!==0&&this.editor.setSelections(t)}));K(this,"onRectangleSelectionStart",P(this,function({event:e}){e.middleButton&&(this.lastPrefer=this.prefer,this.prefer=0,window.addEventListener("pointerup",this.onRectangleSelectionStop))}));K(this,"onRectangleSelectionStop",P(this,function(){this.prefer=this.lastPrefer,window.removeEventListener("pointerup",this.onRectangleSelectionStop)}));K(this,"onKey",P(this,function(e){const t=e.keyCode,i=a.KeyCode;if(e.altKey||i.F1<=t&&t<=i.F19||e.ctrlKey&&t!==i.Backspace)return;if(t===i.UpArrow||t===i.LeftArrow||t===i.Home||t===i.PageUp){this.prefer=-1;return}if(t===i.DownArrow||t===i.RightArrow||t===i.End||t===i.PageDown){this.prefer=1;return}const o=this.getSelections(),l=this.intervals.buffer;let r;if(t===i.Delete)r=I=>I[0]===I[1]&&l.find(m=>I[1]+1===m[0])!=null;else if(t===i.Backspace)r=I=>I[0]===I[1]&&l.find(m=>m[1]+1===I[0])!=null;else return;o.findIndex(r)!==-1&&(e.stopPropagation(),e.preventDefault())}));K(this,"getOffsetAt",P(this,function(e){let t;for(let i=0;i<this.intervals.buffer.length;i++)if(t=this.intervals.buffer[i],e<=t[1])return t[0]-e<e-t[1]?t[0]:t[1]}));var i;this.editor=e,this.intervals=dt(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=>It(i,this.intervals.buffer,this.prefer)).flat().map(i=>{const o=e.getPositionAt(i[0]),l=e.getPositionAt(i[1]);return new a.Selection(o.lineNumber,o.column,l.lineNumber,l.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 ft=new RegExp("^[ s]+(exposed|Function)","i"),oe=()=>h.jsx("div",{className:"absolute inset-0 animate-pulse",children:h.jsx("div",{className:"w-full space-y-4 px-4 py-1",children:h.jsxs("div",{className:"space-y-2",children:[h.jsx("div",{className:"h-3 w-3/4 rounded bg-grey-200"}),h.jsx("div",{className:"h-3 rounded bg-grey-200"}),h.jsx("div",{className:"h-3 w-5/6 rounded bg-grey-200"}),h.jsx("div",{className:"h-3 rounded bg-grey-200"}),h.jsx("div",{className:"h-3 rounded bg-grey-200"})]})})}),At=({path:n,initialValue:e,type:t,language:i,onChange:o,options:l={},extra:r={},showAlerts:I=!1,lspProps:m,...S})=>{const{initialLineInfo:y,initialSelectionInfo:A}=r,{editor:f,setEditor:L}=me(),{inited:N}=m;function v(c){i==="css"&&c.languages.registerCompletionItemProvider("css",it),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:[Z.HTTP_HANDLERS_PATH],schema:ct}]})}function x(c,w){L(c);const j=c.getModel();if(j&&(j.updateOptions({insertSpaces:!1}),c.onKeyUp(()=>{var C;const s=(C=c.getPosition())==null?void 0:C.lineNumber;if(s){const k=j.getLineFirstNonWhitespaceColumn(s),W=j.getLineLength(s),O=j.getLineContent(s);ft.test(O)&&c.executeEdits("edit-handler",[{range:new w.Range(s,0,s,W),text:O.substr(k-1,W-k)}])}})),t===Z.FileFolderType.METHOD&&Z.hasAttributesString(e)){const s=new mt(c,!0);s.exclude(1,1,1,Number.POSITIVE_INFINITY),s.enable()}}return b.useEffect(()=>{if(!f)return;const{line:c,offset:w}=y||{};c&&ge(f,c,w)},[y,f]),b.useEffect(()=>{if(!f)return;const{selection:c}=A||{};c&&ce(f,c)},[A,f]),N?h.jsxs(h.Fragment,{children:[I?h.jsx(be,{lspProps:m}):null,h.jsx(z.Editor,{options:{readOnly:!0,fontSize:12,"semanticHighlighting.enabled":!0,padding:{top:10},...l},path:X(n),value:e,theme:"fd-dark",onChange:c=>o&&o(c||""),language:i,beforeMount:v,onMount:x,loading:h.jsx(oe,{}),...S})]}):h.jsx(oe,{})},pt={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:H,whenReady:ht}=Ze.registerExtension(pt,void 0,{system:!0});H("./syntaxes/4d.tmLanguage.json",new URL("data:application/json;base64,ewogICJuYW1lIjogIjREIiwKICAic2NvcGVOYW1lIjogInNvdXJjZS40ZG0iLAogICJwYXR0ZXJucyI6IFsKICAgIHsKICAgICAgImluY2x1ZGUiOiAiI3N0YXRlbWVudHMiCiAgICB9CiAgXSwKICAicmVwb3NpdG9yeSI6IHsKICAgICJzdGF0ZW1lbnRzIjogewogICAgICAicGF0dGVybnMiOiBbCiAgICAgICAgewogICAgICAgICAgImluY2x1ZGUiOiAiI2NvbW1lbnQiCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgImNvbW1lbnQiOiB7CiAgICAgICJwYXR0ZXJucyI6IFsKICAgICAgICB7CiAgICAgICAgICAibmFtZSI6ICJjb21tZW50LmJsb2NrLjRkIiwKICAgICAgICAgICJiZWdpbiI6ICIoL1xcKikoPzpcXHMqKChAKWludGVybmFsKSg/PVxcc3woXFwqLykpKT8iLAogICAgICAgICAgImJlZ2luQ2FwdHVyZXMiOiB7CiAgICAgICAgICAgICIxIjogewogICAgICAgICAgICAgICJuYW1lIjogInB1bmN0dWF0aW9uLmRlZmluaXRpb24uY29tbWVudC40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjIiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAic3RvcmFnZS50eXBlLmludGVybmFsZGVjbGFyYXRpb24uNGQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICIzIjogewogICAgICAgICAgICAgICJuYW1lIjogInB1bmN0dWF0aW9uLmRlY29yYXRvci5pbnRlcm5hbGRlY2xhcmF0aW9uLjRkIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgImVuZCI6ICJcXCovIiwKICAgICAgICAgICJlbmRDYXB0dXJlcyI6IHsKICAgICAgICAgICAgIjAiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAicHVuY3R1YXRpb24uZGVmaW5pdGlvbi5jb21tZW50LjRkIgogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiYmVnaW4iOiAiKF5bIFxcdF0rKT8oKC8vKSg/OlxccyooKEApaW50ZXJuYWwpKD89XFxzfCQpKT8pIiwKICAgICAgICAgICJiZWdpbkNhcHR1cmVzIjogewogICAgICAgICAgICAiMSI6IHsKICAgICAgICAgICAgICAibmFtZSI6ICJwdW5jdHVhdGlvbi53aGl0ZXNwYWNlLmNvbW1lbnQubGVhZGluZy40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjIiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAiY29tbWVudC5saW5lLmRvdWJsZS1zbGFzaC40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjMiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAicHVuY3R1YXRpb24uZGVmaW5pdGlvbi5jb21tZW50LjRkIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiNCI6IHsKICAgICAgICAgICAgICAibmFtZSI6ICJzdG9yYWdlLnR5cGUuaW50ZXJuYWxkZWNsYXJhdGlvbi40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjUiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAicHVuY3R1YXRpb24uZGVjb3JhdG9yLmludGVybmFsZGVjbGFyYXRpb24uNGQiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAiZW5kIjogIig/PSQpIiwKICAgICAgICAgICJjb250ZW50TmFtZSI6ICJjb21tZW50LmxpbmUuZG91YmxlLXNsYXNoLjRkIgogICAgICAgIH0KICAgICAgXQogICAgfQogIH0KfQo=",self.location).toString(),{mimeType:"application/json",size:1592});H("./language-configuration.json",new URL("data:application/json;base64,ewogICJjb21tZW50cyI6IHsKICAgICJsaW5lQ29tbWVudCI6ICIvLyIsCiAgICAiYmxvY2tDb21tZW50IjogWyIvKioiLCAiKiovIl0KICB9LAogIC8vIHN5bWJvbHMgdXNlZCBhcyBicmFja2V0cwogICJicmFja2V0cyI6IFsKICAgIFsieyIsICJ9Il0sCiAgICBbIigiLCAiKSJdLAogICAgWyJbIiwgIl0iXQogIF0sCiAgLy8gc3ltYm9scyB0aGF0IGFyZSBhdXRvIGNsb3NlZCB3aGVuIHR5cGluZwogIC8vIHN5bWJvbHMgdGhhdCB0aGF0IGNhbiBiZSB1c2VkIHRvIHN1cnJvdW5kIGEgc2VsZWN0aW9uCiAgInN1cnJvdW5kaW5nUGFpcnMiOiBbCiAgICBbInsiLCAifSJdLAogICAgWyJbIiwgIl0iXSwKICAgIFsiKCIsICIpIl0sCiAgICBbIlwiIiwgIlwiIl0sCiAgICBbIiciLCAiJyJdCiAgXSwKICAiYXV0b0Nsb3NpbmdQYWlycyI6IFsKICAgIHsKICAgICAgIm9wZW4iOiAiKCIsCiAgICAgICJjbG9zZSI6ICIpIgogICAgfSwKICAgIHsgIm9wZW4iOiAieyIsICJjbG9zZSI6ICJ9IiB9LAogICAgeyAib3BlbiI6ICJbIiwgImNsb3NlIjogIl0iIH0sCiAgICB7ICJvcGVuIjogIiciLCAiY2xvc2UiOiAiJyIsICJub3RJbiI6IFsic3RyaW5nIiwgImNvbW1lbnQiXSB9LAogICAgeyAib3BlbiI6ICJcIiIsICJjbG9zZSI6ICJcIiIsICJub3RJbiI6IFsic3RyaW5nIl0gfSwKICAgIHsgIm9wZW4iOiAiYCIsICJjbG9zZSI6ICJgIiwgIm5vdEluIjogWyJzdHJpbmciLCAiY29tbWVudCJdIH0sCiAgICB7ICJvcGVuIjogIi8qKiIsICJjbG9zZSI6ICIgKiovIiwgIm5vdEluIjogWyJzdHJpbmciXSB9CiAgXSwKICAiYXV0b0Nsb3NlQmVmb3JlIjogIjs6Liw9fV0pPmAgXG5cdCIsCiAgIndvcmRQYXR0ZXJuIjogIigtP1xcZCpcXC5cXGRcXHcqKXwoW15cXGBcXH5cXCFcXEBcXCNcXCVcXF5cXCZcXCpcXChcXClcXC1cXD1cXCtcXFtcXHtcXF1cXH1cXFxcXFx8XFw7XFw6XFwnXFxcIlxcLFxcLlxcPFxcPlxcL1xcP1xcclxcblxcdFxcZlxcdiBdKyl8KD88PVthLXpBLVpdKSA/KD89W2EtekEtWl0pIiwKICAiaW5kZW50YXRpb25SdWxlcyI6IHsKICAgICJpbmNyZWFzZUluZGVudFBhdHRlcm4iOiB7CiAgICAgICJwYXR0ZXJuIjogIiheKD8hW15cXHNdKSpcXHMqKGNsYXNzIGNvbnN0cnVjdG9yKSl8KF4oPyFbXlxcc10pKlxccyooZXhwb3NlZHxsb2NhbHxcXHMqKXsxfVxccypmdW5jdGlvbnsxfVxccypcXHcpfCheKD8hW15cXHNdKSpcXHMqKElmfEVsc2V8Rm9yfEZvciBlYWNofFdoaWxlfEJlZ2luIFNRTHxDYXNlIG9mfFVzZXxSZXBlYXR8OiAqXFwoLiopKS4qJCIsCiAgICAgICJmbGFncyI6ICJpIgogICAgfSwKICAgICJkZWNyZWFzZUluZGVudFBhdHRlcm4iOiB7CiAgICAgICJwYXR0ZXJuIjogIiheKD8hW15cXHNdKSpcXHMqKGV4cG9zZWR8bG9jYWx8XFxzKil7MX1cXHMqZnVuY3Rpb257MX1cXHMqXFx3KXwoRW5kIElmfEVuZCBGb3J8RWxzZXxFbmQgZm9yIGVhY2h8RW5kIFdoaWxlfEVuZCBTUUx8RW5kIGNhc2V8RW5kIHVzZXxVbnRpbHw6ICpcXCguKikuKiQiLAogICAgICAiZmxhZ3MiOiAiaSIKICAgIH0KICB9LAogICJvbkVudGVyUnVsZXMiOiBbCiAgICB7CiAgICAgICJiZWZvcmVUZXh0IjogewogICAgICAgICJwYXR0ZXJuIjogIl5leHBvc2VkIiwKICAgICAgICAiZmxhZ3MiOiAiaSIKICAgICAgfSwKICAgICAgImFjdGlvbiI6IHsgImluZGVudCI6ICJpbmRlbnQiLCAiaW5kZW50QWN0aW9uIjogMSB9CiAgICB9CiAgXQp9Cg==",self.location).toString(),{mimeType:"application/json",size:1723});H("package.json",new URL("data:application/json;base64,ewogICJuYW1lIjogIjRkIiwKICAiZGlzcGxheU5hbWUiOiAiJWRpc3BsYXlOYW1lJSIsCiAgImRlc2NyaXB0aW9uIjogIiVkZXNjcmlwdGlvbiUiLAogICJ2ZXJzaW9uIjogIjEuMC4wIiwKICAicHVibGlzaGVyIjogInZzY29kZSIsCiAgImxpY2Vuc2UiOiAiTUlUIiwKICAiZW5naW5lcyI6IHsKICAgICJ2c2NvZGUiOiAiMC4xMC54IgogIH0sCiAgInNjcmlwdHMiOiB7CiAgICAidXBkYXRlLWdyYW1tYXIiOiAibm9kZSAuLi9ub2RlX21vZHVsZXMvdnNjb2RlLWdyYW1tYXItdXBkYXRlci9iaW4gbWljcm9zb2Z0L3ZzY29kZS00ZCBncmFtbWFycy80ZC5jc29uIC4vc3ludGF4ZXMvNGQudG1MYW5ndWFnZS5qc29uIgogIH0sCiAgImNhdGVnb3JpZXMiOiBbCiAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2VzIgogIF0sCiAgImNvbnRyaWJ1dGVzIjogewogICAgImxhbmd1YWdlcyI6IFsKICAgICAgewogICAgICAgICJpZCI6ICI0ZCIsCiAgICAgICAgImFsaWFzZXMiOiBbCiAgICAgICAgICAiNEQiLAogICAgICAgICAgIjRkIgogICAgICAgIF0sCiAgICAgICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICAgICAiLjRkbSIsCiAgICAgICAgICAiLjRxcyIKICAgICAgICBdLAogICAgICAgICJjb25maWd1cmF0aW9uIjogIi4vbGFuZ3VhZ2UtY29uZmlndXJhdGlvbi5qc29uIgogICAgICB9CiAgICBdLAogICAgImdyYW1tYXJzIjogWwogICAgICB7CiAgICAgICAgImxhbmd1YWdlIjogIjRkIiwKICAgICAgICAic2NvcGVOYW1lIjogInNvdXJjZS40ZG0iLAogICAgICAgICJwYXRoIjogIi4vc3ludGF4ZXMvNGQudG1MYW5ndWFnZS5qc29uIgogICAgICB9CiAgICBdCiAgfSwKICAicmVwb3NpdG9yeSI6IHsKICAgICJ0eXBlIjogImdpdCIsCiAgICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvdnNjb2RlLmdpdCIKICB9Cn0K",self.location).toString(),{mimeType:"application/json",size:1006});H("package.nls.json",new URL("data:application/json;base64,ewogICJkaXNwbGF5TmFtZSI6ICI0RCBMYW5ndWFnZSBCYXNpY3MiLAogICJkZXNjcmlwdGlvbiI6ICJQcm92aWRlcyBzeW50YXggaGlnaGxpZ2h0aW5nIGFuZCBicmFja2V0IG1hdGNoaW5nIGZvciA0RE0gYW5kIDRRUyBmaWxlcy4iCn0K",self.location).toString(),{mimeType:"application/json",size:135});exports.Alerts=be;exports.CodeEditor=At;exports.CodeEditorProvider=Ue;exports.LSPProvider=ze;exports._await=U;exports.configureServices=le;exports.getFileSystemPath=X;exports.getFunctionOffset=Ge;exports.initMonacoUserConfiguration=ae;exports.jumpToLine=ge;exports.jumpToSelection=ce;exports.useCodeEditor=me;exports.useLSP=$e;
108
+ `;if(S){const l="monaco-read-only";dt(l)||ut(S,l),S=null}const w=()=>{r(j),j()},f=()=>{I(j),L=n.deltaDecorations(L,[])},j=()=>{const l=n.getModel();l&&(L=n.deltaDecorations(L,i.map(A(l))))},A=l=>u=>{const y=l.getPositionAt(u[0]),W=l.getPositionAt(u[1]);return{range:new s.Range(y.lineNumber,y.column,W.lineNumber,W.column),options:{className:"idoc-readonly-mark"}}};return{get buffer(){return i},exclude:a,attach:r,detach:I,dispose:R,show:w,hide:f}}function Ct(n,e,t){let i=!1;const o=f=>f[1]<f[0]?(i=!0,[[f[1],f[0]]]):[[...f]],a=f=>i?f.map(j=>j[1]>j[0]?I(j):j).reverse():f;let r;const I=f=>(r=f[1],f[1]=f[0],f[0]=r,f),C=o(n);let x,N,p,m,R,L,S,w;p=C[0];for(N of e)for(S=N[0],w=N[1],m=0;m<C.length;m++){if(p=C[m],R=p[0],L=p[1],R<S)L<S?x=[p]:L<=w?x=[[R,S-1]]:x=[[R,S-1],[w+1,L]];else if(R<=w)if(S===Number.NEGATIVE_INFINITY){const f=w+1;x=t===0?[]:[[f,L>f?L:f]]}else w===Number.POSITIVE_INFINITY?x=t===0?[]:[[S-1,S-1]]:L<=w?x=t<0?[[S-1,S-1]]:t>0?[[w+1,w+1]]:[]:x=[[w+1,L]];else x=[p];if(C.splice(m,1,...x),C.length===1&&C[0][1]<S)return a(C)}return a(C)}function mt(n,e){if(n.length<2)return n;const t=[];let i=null,o,a;n=n.map(r=>(r[1]<r[0]&&(o=r[1],r[1]=r[0],r[1]=o),r)).sort((r,I)=>r[0]-I[0]),t.push(n[0]);for(let r=1;r<n.length;r++)i=t[t.length-1],a=n[r],i[1]===a[0]&&!e?t.push(a):i[1]===a[0]-1&&e?(i[1]=a[1],t.splice(t.length-1,1,i)):i[1]<a[0]?t.push(a):i[1]<a[1]&&(i[1]=a[1],t.splice(t.length-1,1,i));return t}function V(n,e){return e.bind(n)}class ft{constructor(e,t){K(this,"editor");K(this,"intervals");K(this,"disposables",[]);K(this,"prefer",1);K(this,"lastPrefer",1);K(this,"onCursor",V(this,function(e){if(e.source==="api")return;const t=this.getApprovedSelections();t.length!==0&&this.editor.setSelections(t)}));K(this,"onRectangleSelectionStart",V(this,function({event:e}){e.middleButton&&(this.lastPrefer=this.prefer,this.prefer=0,window.addEventListener("pointerup",this.onRectangleSelectionStop))}));K(this,"onRectangleSelectionStop",V(this,function(){this.prefer=this.lastPrefer,window.removeEventListener("pointerup",this.onRectangleSelectionStop)}));K(this,"onKey",V(this,function(e){const t=e.keyCode,i=s.KeyCode;if(e.altKey||i.F1<=t&&t<=i.F19||e.ctrlKey&&t!==i.Backspace)return;if(t===i.UpArrow||t===i.LeftArrow||t===i.Home||t===i.PageUp){this.prefer=-1;return}if(t===i.DownArrow||t===i.RightArrow||t===i.End||t===i.PageDown){this.prefer=1;return}const o=this.getSelections(),a=this.intervals.buffer;let r;if(t===i.Delete)r=I=>I[0]===I[1]&&a.find(C=>I[1]+1===C[0])!=null;else if(t===i.Backspace)r=I=>I[0]===I[1]&&a.find(C=>C[1]+1===I[0])!=null;else return;o.findIndex(r)!==-1&&(e.stopPropagation(),e.preventDefault())}));K(this,"getOffsetAt",V(this,function(e){let t;for(let i=0;i<this.intervals.buffer.length;i++)if(t=this.intervals.buffer[i],e<=t[1])return t[0]-e<e-t[1]?t[0]:t[1]}));var i;this.editor=e,this.intervals=It(e,t),(i=this.editor.getModel())==null||i.setEOL(s.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=>Ct(i,this.intervals.buffer,this.prefer)).flat().map(i=>{const o=e.getPositionAt(i[0]),a=e.getPositionAt(i[1]);return new s.Selection(o.lineNumber,o.column,a.lineNumber,a.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 At=new RegExp("^[ s]+(exposed|Function)","i"),re=()=>v.jsx("div",{className:"absolute inset-0 animate-pulse",children:v.jsx("div",{className:"w-full space-y-4 px-4 py-1",children:v.jsxs("div",{className:"space-y-2",children:[v.jsx("div",{className:"h-3 w-3/4 rounded bg-grey-200"}),v.jsx("div",{className:"h-3 rounded bg-grey-200"}),v.jsx("div",{className:"h-3 w-5/6 rounded bg-grey-200"}),v.jsx("div",{className:"h-3 rounded bg-grey-200"}),v.jsx("div",{className:"h-3 rounded bg-grey-200"})]})})}),H=["fd-dark"],pt=({path:n,initialValue:e,type:t,language:i,onChange:o,options:a={},extra:r={},showAlerts:I=!1,lspProps:C,theme:x=H[0],...N})=>{const{initialLineInfo:p,initialSelectionInfo:m}=r,{editor:R,setEditor:L}=fe(),{inited:S}=C;function w(A){i==="css"&&A.languages.registerCompletionItemProvider("css",ot),i==="json"&&A.languages.json&&A.languages.json.jsonDefaults.setDiagnosticsOptions({validate:!0,schemas:[{uri:"condition-schema.json",fileMatch:["*.condition.json"],schema:at},{uri:"handlers-schema.json",fileMatch:[Z.HTTP_HANDLERS_PATH],schema:gt}]})}function f(A,l){L(A);const u=A.getModel();if(u&&(u.updateOptions({insertSpaces:!1}),A.onKeyUp(()=>{var W;const y=(W=A.getPosition())==null?void 0:W.lineNumber;if(y){const O=u.getLineFirstNonWhitespaceColumn(y),b=u.getLineLength(y),D=u.getLineContent(y);At.test(D)&&A.executeEdits("edit-handler",[{range:new l.Range(y,0,y,b),text:D.substr(O-1,b-O)}])}})),t===Z.FileFolderType.METHOD&&Z.hasAttributesString(e)){const y=new ft(A,!0);y.exclude(1,1,1,Number.POSITIVE_INFINITY),y.enable()}}h.useEffect(()=>{if(!R)return;const{line:A,offset:l}=p||{};A&&ue(R,A,l)},[p,R]),h.useEffect(()=>{if(!R)return;const{selection:A}=m||{};A&&ge(R,A)},[m,R]);const j=A=>H.includes(A)?A:H[0];return S?v.jsxs(v.Fragment,{children:[I?v.jsx(he,{lspProps:C}):null,v.jsx($.Editor,{options:{readOnly:!0,fontSize:12,"semanticHighlighting.enabled":!0,padding:{top:10},...a},path:X(n),value:e,theme:j(x),onChange:A=>o&&o(A||""),language:i,beforeMount:w,onMount:f,loading:v.jsx(re,{}),...N})]}):v.jsx(re,{})},bt={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:q,whenReady:vt}=Ke.registerExtension(bt,void 0,{system:!0});q("./syntaxes/4d.tmLanguage.json",new URL("data:application/json;base64,ewogICJuYW1lIjogIjREIiwKICAic2NvcGVOYW1lIjogInNvdXJjZS40ZG0iLAogICJwYXR0ZXJucyI6IFsKICAgIHsKICAgICAgImluY2x1ZGUiOiAiI3N0YXRlbWVudHMiCiAgICB9CiAgXSwKICAicmVwb3NpdG9yeSI6IHsKICAgICJzdGF0ZW1lbnRzIjogewogICAgICAicGF0dGVybnMiOiBbCiAgICAgICAgewogICAgICAgICAgImluY2x1ZGUiOiAiI2NvbW1lbnQiCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgImNvbW1lbnQiOiB7CiAgICAgICJwYXR0ZXJucyI6IFsKICAgICAgICB7CiAgICAgICAgICAibmFtZSI6ICJjb21tZW50LmJsb2NrLjRkIiwKICAgICAgICAgICJiZWdpbiI6ICIoL1xcKikoPzpcXHMqKChAKWludGVybmFsKSg/PVxcc3woXFwqLykpKT8iLAogICAgICAgICAgImJlZ2luQ2FwdHVyZXMiOiB7CiAgICAgICAgICAgICIxIjogewogICAgICAgICAgICAgICJuYW1lIjogInB1bmN0dWF0aW9uLmRlZmluaXRpb24uY29tbWVudC40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjIiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAic3RvcmFnZS50eXBlLmludGVybmFsZGVjbGFyYXRpb24uNGQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICIzIjogewogICAgICAgICAgICAgICJuYW1lIjogInB1bmN0dWF0aW9uLmRlY29yYXRvci5pbnRlcm5hbGRlY2xhcmF0aW9uLjRkIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgImVuZCI6ICJcXCovIiwKICAgICAgICAgICJlbmRDYXB0dXJlcyI6IHsKICAgICAgICAgICAgIjAiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAicHVuY3R1YXRpb24uZGVmaW5pdGlvbi5jb21tZW50LjRkIgogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiYmVnaW4iOiAiKF5bIFxcdF0rKT8oKC8vKSg/OlxccyooKEApaW50ZXJuYWwpKD89XFxzfCQpKT8pIiwKICAgICAgICAgICJiZWdpbkNhcHR1cmVzIjogewogICAgICAgICAgICAiMSI6IHsKICAgICAgICAgICAgICAibmFtZSI6ICJwdW5jdHVhdGlvbi53aGl0ZXNwYWNlLmNvbW1lbnQubGVhZGluZy40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjIiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAiY29tbWVudC5saW5lLmRvdWJsZS1zbGFzaC40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjMiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAicHVuY3R1YXRpb24uZGVmaW5pdGlvbi5jb21tZW50LjRkIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiNCI6IHsKICAgICAgICAgICAgICAibmFtZSI6ICJzdG9yYWdlLnR5cGUuaW50ZXJuYWxkZWNsYXJhdGlvbi40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjUiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAicHVuY3R1YXRpb24uZGVjb3JhdG9yLmludGVybmFsZGVjbGFyYXRpb24uNGQiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAiZW5kIjogIig/PSQpIiwKICAgICAgICAgICJjb250ZW50TmFtZSI6ICJjb21tZW50LmxpbmUuZG91YmxlLXNsYXNoLjRkIgogICAgICAgIH0KICAgICAgXQogICAgfQogIH0KfQo=",self.location).toString(),{mimeType:"application/json",size:1592});q("./language-configuration.json",new URL("data:application/json;base64,ewogICJjb21tZW50cyI6IHsKICAgICJsaW5lQ29tbWVudCI6ICIvLyIsCiAgICAiYmxvY2tDb21tZW50IjogWyIvKioiLCAiKiovIl0KICB9LAogIC8vIHN5bWJvbHMgdXNlZCBhcyBicmFja2V0cwogICJicmFja2V0cyI6IFsKICAgIFsieyIsICJ9Il0sCiAgICBbIigiLCAiKSJdLAogICAgWyJbIiwgIl0iXQogIF0sCiAgLy8gc3ltYm9scyB0aGF0IGFyZSBhdXRvIGNsb3NlZCB3aGVuIHR5cGluZwogIC8vIHN5bWJvbHMgdGhhdCB0aGF0IGNhbiBiZSB1c2VkIHRvIHN1cnJvdW5kIGEgc2VsZWN0aW9uCiAgInN1cnJvdW5kaW5nUGFpcnMiOiBbCiAgICBbInsiLCAifSJdLAogICAgWyJbIiwgIl0iXSwKICAgIFsiKCIsICIpIl0sCiAgICBbIlwiIiwgIlwiIl0sCiAgICBbIiciLCAiJyJdCiAgXSwKICAiYXV0b0Nsb3NpbmdQYWlycyI6IFsKICAgIHsKICAgICAgIm9wZW4iOiAiKCIsCiAgICAgICJjbG9zZSI6ICIpIgogICAgfSwKICAgIHsgIm9wZW4iOiAieyIsICJjbG9zZSI6ICJ9IiB9LAogICAgeyAib3BlbiI6ICJbIiwgImNsb3NlIjogIl0iIH0sCiAgICB7ICJvcGVuIjogIiciLCAiY2xvc2UiOiAiJyIsICJub3RJbiI6IFsic3RyaW5nIiwgImNvbW1lbnQiXSB9LAogICAgeyAib3BlbiI6ICJcIiIsICJjbG9zZSI6ICJcIiIsICJub3RJbiI6IFsic3RyaW5nIl0gfSwKICAgIHsgIm9wZW4iOiAiYCIsICJjbG9zZSI6ICJgIiwgIm5vdEluIjogWyJzdHJpbmciLCAiY29tbWVudCJdIH0sCiAgICB7ICJvcGVuIjogIi8qKiIsICJjbG9zZSI6ICIgKiovIiwgIm5vdEluIjogWyJzdHJpbmciXSB9CiAgXSwKICAiYXV0b0Nsb3NlQmVmb3JlIjogIjs6Liw9fV0pPmAgXG5cdCIsCiAgIndvcmRQYXR0ZXJuIjogIigtP1xcZCpcXC5cXGRcXHcqKXwoW15cXGBcXH5cXCFcXEBcXCNcXCVcXF5cXCZcXCpcXChcXClcXC1cXD1cXCtcXFtcXHtcXF1cXH1cXFxcXFx8XFw7XFw6XFwnXFxcIlxcLFxcLlxcPFxcPlxcL1xcP1xcclxcblxcdFxcZlxcdiBdKyl8KD88PVthLXpBLVpdKSA/KD89W2EtekEtWl0pIiwKICAiaW5kZW50YXRpb25SdWxlcyI6IHsKICAgICJpbmNyZWFzZUluZGVudFBhdHRlcm4iOiB7CiAgICAgICJwYXR0ZXJuIjogIiheKD8hW15cXHNdKSpcXHMqKGNsYXNzIGNvbnN0cnVjdG9yKSl8KF4oPyFbXlxcc10pKlxccyooZXhwb3NlZHxsb2NhbHxcXHMqKXsxfVxccypmdW5jdGlvbnsxfVxccypcXHcpfCheKD8hW15cXHNdKSpcXHMqKElmfEVsc2V8Rm9yfEZvciBlYWNofFdoaWxlfEJlZ2luIFNRTHxDYXNlIG9mfFVzZXxSZXBlYXR8OiAqXFwoLiopKS4qJCIsCiAgICAgICJmbGFncyI6ICJpIgogICAgfSwKICAgICJkZWNyZWFzZUluZGVudFBhdHRlcm4iOiB7CiAgICAgICJwYXR0ZXJuIjogIiheKD8hW15cXHNdKSpcXHMqKGV4cG9zZWR8bG9jYWx8XFxzKil7MX1cXHMqZnVuY3Rpb257MX1cXHMqXFx3KXwoRW5kIElmfEVuZCBGb3J8RWxzZXxFbmQgZm9yIGVhY2h8RW5kIFdoaWxlfEVuZCBTUUx8RW5kIGNhc2V8RW5kIHVzZXxVbnRpbHw6ICpcXCguKikuKiQiLAogICAgICAiZmxhZ3MiOiAiaSIKICAgIH0KICB9LAogICJvbkVudGVyUnVsZXMiOiBbCiAgICB7CiAgICAgICJiZWZvcmVUZXh0IjogewogICAgICAgICJwYXR0ZXJuIjogIl5leHBvc2VkIiwKICAgICAgICAiZmxhZ3MiOiAiaSIKICAgICAgfSwKICAgICAgImFjdGlvbiI6IHsgImluZGVudCI6ICJpbmRlbnQiLCAiaW5kZW50QWN0aW9uIjogMSB9CiAgICB9CiAgXQp9Cg==",self.location).toString(),{mimeType:"application/json",size:1723});q("package.json",new URL("data:application/json;base64,ewogICJuYW1lIjogIjRkIiwKICAiZGlzcGxheU5hbWUiOiAiJWRpc3BsYXlOYW1lJSIsCiAgImRlc2NyaXB0aW9uIjogIiVkZXNjcmlwdGlvbiUiLAogICJ2ZXJzaW9uIjogIjEuMC4wIiwKICAicHVibGlzaGVyIjogInZzY29kZSIsCiAgImxpY2Vuc2UiOiAiTUlUIiwKICAiZW5naW5lcyI6IHsKICAgICJ2c2NvZGUiOiAiMC4xMC54IgogIH0sCiAgInNjcmlwdHMiOiB7CiAgICAidXBkYXRlLWdyYW1tYXIiOiAibm9kZSAuLi9ub2RlX21vZHVsZXMvdnNjb2RlLWdyYW1tYXItdXBkYXRlci9iaW4gbWljcm9zb2Z0L3ZzY29kZS00ZCBncmFtbWFycy80ZC5jc29uIC4vc3ludGF4ZXMvNGQudG1MYW5ndWFnZS5qc29uIgogIH0sCiAgImNhdGVnb3JpZXMiOiBbCiAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2VzIgogIF0sCiAgImNvbnRyaWJ1dGVzIjogewogICAgImxhbmd1YWdlcyI6IFsKICAgICAgewogICAgICAgICJpZCI6ICI0ZCIsCiAgICAgICAgImFsaWFzZXMiOiBbCiAgICAgICAgICAiNEQiLAogICAgICAgICAgIjRkIgogICAgICAgIF0sCiAgICAgICAgImV4dGVuc2lvbnMiOiBbCiAgICAgICAgICAiLjRkbSIsCiAgICAgICAgICAiLjRxcyIKICAgICAgICBdLAogICAgICAgICJjb25maWd1cmF0aW9uIjogIi4vbGFuZ3VhZ2UtY29uZmlndXJhdGlvbi5qc29uIgogICAgICB9CiAgICBdLAogICAgImdyYW1tYXJzIjogWwogICAgICB7CiAgICAgICAgImxhbmd1YWdlIjogIjRkIiwKICAgICAgICAic2NvcGVOYW1lIjogInNvdXJjZS40ZG0iLAogICAgICAgICJwYXRoIjogIi4vc3ludGF4ZXMvNGQudG1MYW5ndWFnZS5qc29uIgogICAgICB9CiAgICBdCiAgfSwKICAicmVwb3NpdG9yeSI6IHsKICAgICJ0eXBlIjogImdpdCIsCiAgICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvdnNjb2RlLmdpdCIKICB9Cn0K",self.location).toString(),{mimeType:"application/json",size:1006});q("package.nls.json",new URL("data:application/json;base64,ewogICJkaXNwbGF5TmFtZSI6ICI0RCBMYW5ndWFnZSBCYXNpY3MiLAogICJkZXNjcmlwdGlvbiI6ICJQcm92aWRlcyBzeW50YXggaGlnaGxpZ2h0aW5nIGFuZCBicmFja2V0IG1hdGNoaW5nIGZvciA0RE0gYW5kIDRRUyBmaWxlcy4iCn0K",self.location).toString(),{mimeType:"application/json",size:135});exports.Alerts=he;exports.CodeEditor=pt;exports.CodeEditorProvider=Qe;exports.LSPProvider=$e;exports.SUPPORTED_THEMES=H;exports._await=Q;exports.configureServices=ce;exports.getFileSystemPath=X;exports.getFunctionOffset=Je;exports.initMonacoUserConfiguration=le;exports.jumpToLine=ue;exports.jumpToSelection=ge;exports.useCodeEditor=fe;exports.useLSP=Ue;
109
109
  //# sourceMappingURL=index.cjs.js.map