@ws-ui/code-editor 0.1.30 → 0.2.0

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.
Files changed (47) hide show
  1. package/dist/demo/LSPDemo.d.ts +1 -0
  2. package/dist/demo/common.d.ts +3 -5
  3. package/dist/demo/index.d.ts +1 -0
  4. package/dist/editor/Alerts.d.ts +1 -0
  5. package/dist/editor/extensions/4d-language-extension/index.d.ts +2 -0
  6. package/dist/editor/extensions/theme-defaults-extension/index.d.ts +2 -0
  7. package/dist/editor/extensions/theme-defaults-extension/types.d.ts +6 -0
  8. package/dist/editor/extensions/types.d.ts +12 -0
  9. package/dist/editor/index.d.ts +2 -1
  10. package/dist/editor/keybindings.d.ts +1 -0
  11. package/dist/editor/languages/index.d.ts +1 -0
  12. package/dist/editor/languages/utils.d.ts +3 -0
  13. package/dist/editor/loader/index.d.ts +1 -0
  14. package/dist/editor/loader/monaco-workers.d.ts +1 -0
  15. package/dist/editor/plugins/readonly/index.d.ts +1 -1
  16. package/dist/editor/plugins/readonly/intervals.d.ts +1 -1
  17. package/dist/editor/providers/CodeEditorProvider.d.ts +1 -0
  18. package/dist/editor/providers/LSPProvider/WebSocketMessageReader.d.ts +1 -0
  19. package/dist/editor/providers/LSPProvider/WebSocketMessageWriter.d.ts +1 -0
  20. package/dist/editor/providers/LSPProvider/ZoomInit.d.ts +1 -0
  21. package/dist/editor/providers/LSPProvider/index.d.ts +3 -1
  22. package/dist/editor/services/configuration-service-override.d.ts +2 -0
  23. package/dist/editor/services/editor-service-override.d.ts +2 -0
  24. package/dist/editor/services/index.d.ts +12 -0
  25. package/dist/editor/services/model-service-override.d.ts +2 -0
  26. package/dist/editor/services/theme-service-override.d.ts +2 -0
  27. package/dist/editor/utils.d.ts +1 -0
  28. package/dist/index.cjs.js +103 -46
  29. package/dist/index.cjs.js.map +1 -1
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.es.js +794 -1359
  32. package/dist/index.es.js.map +1 -1
  33. package/dist/main.d.ts +1 -0
  34. package/dist/studio/assets/css.worker.bundle.js +49784 -0
  35. package/dist/studio/assets/editor.worker.bundle.js +12601 -0
  36. package/dist/studio/assets/html.worker.bundle.js +28780 -0
  37. package/dist/studio/assets/json.worker.bundle.js +20013 -0
  38. package/dist/studio/assets/textmate.worker.bundle.js +18090 -0
  39. package/dist/studio/assets/ts.worker.bundle.js +220366 -0
  40. package/dist/style.css +1 -1
  41. package/package.json +38 -19
  42. package/dist/editor/configurations/4d.d.ts +0 -3
  43. package/dist/editor/services/CodeEditorService.d.ts +0 -11
  44. package/dist/editor/services/LanguageFeaturesService.d.ts +0 -7
  45. package/dist/editor/services/TextModelService.d.ts +0 -7
  46. package/dist/editor/themes/4d-dark.d.ts +0 -2
  47. package/dist/editor/themes/index.d.ts +0 -1
@@ -1,5 +1,6 @@
1
1
  import { FC } from 'react';
2
2
  import { IFile } from './common';
3
+
3
4
  export declare const LSPDemo: FC<{
4
5
  file: IFile;
5
6
  qodly: boolean;
@@ -1,5 +1,5 @@
1
- /// <reference types="react" />
2
- import { LSPProps } from '..';
1
+ import { LSPProps } from '../editor/Alerts';
2
+
3
3
  export declare const files: {
4
4
  css: {
5
5
  path: string;
@@ -15,13 +15,11 @@ export declare const files: {
15
15
  path: string;
16
16
  initialValue: string;
17
17
  language: string;
18
- requireLSP: boolean;
19
18
  };
20
19
  qodly: {
21
20
  path: string;
22
21
  initialValue: string;
23
22
  language: string;
24
- requireLSP: boolean;
25
23
  };
26
24
  json: {
27
25
  path: string;
@@ -40,4 +38,4 @@ export interface IFile {
40
38
  initialValue: string;
41
39
  language: string;
42
40
  }
43
- export declare function renderCodeEditor(file: IFile, lspProps?: LSPProps): JSX.Element;
41
+ export declare function renderCodeEditor(file: IFile, lspProps?: LSPProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,3 @@
1
1
  import { FC } from 'react';
2
+
2
3
  export declare const Demo: FC;
@@ -1,4 +1,5 @@
1
1
  import { FC } from 'react';
2
+
2
3
  export interface LSPProps {
3
4
  inited: boolean;
4
5
  lastError: Event | null;
@@ -0,0 +1,2 @@
1
+ declare const whenReady: () => Promise<void>;
2
+ export { whenReady };
@@ -0,0 +1,2 @@
1
+ declare const whenReady: () => Promise<void>;
2
+ export { whenReady };
@@ -0,0 +1,6 @@
1
+ export declare enum ColorScheme {
2
+ DARK = "dark",
3
+ LIGHT = "light",
4
+ HIGH_CONTRAST_LIGHT = "hcLight",
5
+ HIGH_CONTRAST_DARK = "hcDark"
6
+ }
@@ -0,0 +1,12 @@
1
+ import { IDisposable } from 'vscode/vscode/vs/editor/editor.api';
2
+
3
+ interface RegisterExtensionResult {
4
+ id: string;
5
+ dispose(): Promise<void>;
6
+ whenReady(): Promise<void>;
7
+ isEnabled(): Promise<boolean>;
8
+ }
9
+ export interface RegisterLocalExtensionResult extends RegisterExtensionResult {
10
+ registerFileUrl: (path: string, url: string, options: any) => IDisposable;
11
+ }
12
+ export {};
@@ -1,7 +1,8 @@
1
- import React from 'react';
1
+ import { default as React } from 'react';
2
2
  import { FileFolderType, IMethodAttributes, ITextEditorSelection } from '@ws-ui/shared';
3
3
  import { LSPProps } from './Alerts';
4
4
  import { editor as MonacoEditor } from 'monaco-editor';
5
+
5
6
  type TCodeEditorExtra = Partial<{
6
7
  initialLineInfo: {
7
8
  line: number;
@@ -1,3 +1,4 @@
1
1
  import { editor as MonacoEditor } from 'monaco-editor';
2
+
2
3
  declare const rules: MonacoEditor.IKeybindingRule[];
3
4
  export default rules;
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,3 @@
1
+ declare function getMonacoLanguage(languageOrModeId: string): string;
2
+ declare function loadLanguage(languageId: string): Promise<void>;
3
+ export { getMonacoLanguage, loadLanguage };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,6 +1,6 @@
1
- import * as monaco from 'monaco-editor';
2
1
  import { SynchronizedIntervals } from './intervals';
3
2
  import { Interval, Prefer } from './types';
3
+ import * as monaco from 'monaco-editor';
4
4
  /**
5
5
  * @warnings
6
6
  * For correct behavior, all models must have a single character at the end of the line.
@@ -1,5 +1,5 @@
1
- import * as monaco from 'monaco-editor';
2
1
  import { Interval, ReadonlyInterval, Prefer } from './types';
2
+ import * as monaco from 'monaco-editor';
3
3
  type Callback = (intervals: readonly ReadonlyInterval[]) => void;
4
4
  export declare function SynchronizedIntervals(editor: monaco.editor.ICodeEditor, isMethod: boolean): {
5
5
  readonly buffer: Interval[];
@@ -1,5 +1,6 @@
1
1
  import { FC } from 'react';
2
2
  import { editor as MonacoEditor } from 'monaco-editor';
3
+
3
4
  type TEditor = MonacoEditor.IStandaloneCodeEditor | null;
4
5
  type CodeEditorContextType = {
5
6
  editor: TEditor;
@@ -1,4 +1,5 @@
1
1
  import { IWebSocket, WebSocketMessageReader as BaseWebSocketMessageReader } from 'vscode-ws-jsonrpc';
2
+
2
3
  export declare class WebSocketMessageReader extends BaseWebSocketMessageReader {
3
4
  private onMessage;
4
5
  constructor(socket: IWebSocket, onMessage?: () => void);
@@ -1,5 +1,6 @@
1
1
  import { IWebSocket, WebSocketMessageWriter as BaseWebSocketMessageWriter } from 'vscode-ws-jsonrpc';
2
2
  import { Message } from 'vscode-jsonrpc';
3
+
3
4
  export declare class WebSocketMessageWriter extends BaseWebSocketMessageWriter {
4
5
  private onSend;
5
6
  constructor(socket: IWebSocket, onSend?: () => void);
@@ -1,4 +1,5 @@
1
1
  import { FC } from 'react';
2
+
2
3
  interface IZoomInitProps {
3
4
  defaultZoom: number | undefined;
4
5
  }
@@ -1,12 +1,14 @@
1
1
  import { FC, MutableRefObject } from 'react';
2
2
  import { MonacoLanguageClient } from 'monaco-languageclient';
3
- import { ICodeEditorOpenHandler } from '../../services/CodeEditorService';
3
+ import { ICodeEditorService } from 'vscode/services';
4
+
4
5
  export type LSPContextType = {
5
6
  inited: boolean;
6
7
  clientRef: MutableRefObject<MonacoLanguageClient | undefined>;
7
8
  lastError: Event | null;
8
9
  reload: () => void;
9
10
  };
11
+ export type ICodeEditorOpenHandler = Parameters<ICodeEditorService['registerCodeEditorOpenHandler']>[0];
10
12
  export declare const LSPProvider: FC<{
11
13
  language?: string;
12
14
  url: string;
@@ -0,0 +1,2 @@
1
+ declare const getServiceOverride: () => import("monaco-editor").editor.IEditorOverrideServices;
2
+ export default getServiceOverride;
@@ -0,0 +1,2 @@
1
+ declare const getServiceOverride: () => import("monaco-editor").editor.IEditorOverrideServices;
2
+ export default getServiceOverride;
@@ -0,0 +1,12 @@
1
+ import { InitializeServiceConfig } from 'monaco-languageclient/vscode/services';
2
+ import { Logger } from 'monaco-languageclient/tools';
3
+
4
+ export type VscodeServicesConfig = {
5
+ serviceConfig?: InitializeServiceConfig;
6
+ logger?: Logger;
7
+ };
8
+ export declare const initMonacoUserConfiguration: () => Promise<void>;
9
+ /**
10
+ * Child classes are allow to override the services configuration implementation.
11
+ */
12
+ export declare const configureServices: (config: VscodeServicesConfig) => Promise<InitializeServiceConfig>;
@@ -0,0 +1,2 @@
1
+ declare const getServiceOverride: () => import("monaco-editor").editor.IEditorOverrideServices;
2
+ export default getServiceOverride;
@@ -0,0 +1,2 @@
1
+ declare const getServiceOverride: () => import("monaco-editor").editor.IEditorOverrideServices;
2
+ export default getServiceOverride;
@@ -1,6 +1,7 @@
1
1
  import { Monaco } from '@monaco-editor/react';
2
2
  import { editor as MonacoEditor } from 'monaco-editor';
3
3
  import { ITextEditorSelection } from '@ws-ui/shared';
4
+
4
5
  export declare function getFileSystemPath(path: string): string;
5
6
  export declare function _await(callback: () => void, timeout?: number): void;
6
7
  export declare function jumpToSelection(editor: MonacoEditor.IStandaloneCodeEditor, sel: ITextEditorSelection): void;
package/dist/index.cjs.js CHANGED
@@ -1,52 +1,109 @@
1
- "use strict";var Ot=Object.defineProperty;var Pt=(r,n,t)=>n in r?Ot(r,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[n]=t;var V=(r,n,t)=>(Pt(r,typeof n!="symbol"?n+"":n,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("react"),ye=require("@monaco-editor/react"),B=require("@ws-ui/shared"),Ve=require("monaco-languageclient"),Be=require("vscode-languageclient"),q=require("monaco-editor"),_e=require("vscode-ws-jsonrpc"),J=require("vscode-languageserver-protocol"),H=require("vscode/services");function Nt(r){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(n,t,i.get?i:{enumerable:!0,get:()=>r[t]})}}return n.default=r,Object.freeze(n)}const c=Nt(q);var Se={exports:{}},re={};/*
2
- object-assign
3
- (c) Sindre Sorhus
4
- @license MIT
5
- */var xe,ze;function Xe(){if(ze)return xe;ze=1;var r=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable;function i(u){if(u==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(u)}function a(){try{if(!Object.assign)return!1;var u=new String("abc");if(u[5]="de",Object.getOwnPropertyNames(u)[0]==="5")return!1;for(var d={},l=0;l<10;l++)d["_"+String.fromCharCode(l)]=l;var f=Object.getOwnPropertyNames(d).map(function(b){return d[b]});if(f.join("")!=="0123456789")return!1;var h={};return"abcdefghijklmnopqrst".split("").forEach(function(b){h[b]=b}),Object.keys(Object.assign({},h)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return xe=a()?Object.assign:function(u,d){for(var l,f=i(u),h,b=1;b<arguments.length;b++){l=Object(arguments[b]);for(var S in l)n.call(l,S)&&(f[S]=l[S]);if(r){h=r(l);for(var v=0;v<h.length;v++)t.call(l,h[v])&&(f[h[v]]=l[h[v]])}}return f},xe}/** @license React v17.0.2
6
- * react-jsx-runtime.production.min.js
7
- *
8
- * Copyright (c) Facebook, Inc. and its affiliates.
9
- *
10
- * This source code is licensed under the MIT license found in the
11
- * LICENSE file in the root directory of this source tree.
12
- */var Ge;function jt(){if(Ge)return re;Ge=1,Xe();var r=w,n=60103;if(re.Fragment=60107,typeof Symbol=="function"&&Symbol.for){var t=Symbol.for;n=t("react.element"),re.Fragment=t("react.fragment")}var i=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a=Object.prototype.hasOwnProperty,u={key:!0,ref:!0,__self:!0,__source:!0};function d(l,f,h){var b,S={},v=null,N=null;h!==void 0&&(v=""+h),f.key!==void 0&&(v=""+f.key),f.ref!==void 0&&(N=f.ref);for(b in f)a.call(f,b)&&!u.hasOwnProperty(b)&&(S[b]=f[b]);if(l&&l.defaultProps)for(b in f=l.defaultProps,f)S[b]===void 0&&(S[b]=f[b]);return{$$typeof:n,type:l,key:v,ref:N,props:S,_owner:i.current}}return re.jsx=d,re.jsxs=d,re}var Re={};/** @license React v17.0.2
13
- * react-jsx-runtime.development.js
14
- *
15
- * Copyright (c) Facebook, Inc. and its affiliates.
16
- *
17
- * This source code is licensed under the MIT license found in the
18
- * LICENSE file in the root directory of this source tree.
19
- */var Ze;function At(){return Ze||(Ze=1,function(r){process.env.NODE_ENV!=="production"&&function(){var n=w,t=Xe(),i=60103,a=60106;r.Fragment=60107;var u=60108,d=60114,l=60109,f=60110,h=60112,b=60113,S=60120,v=60115,N=60116,L=60121,j=60122,M=60117,I=60129,E=60131;if(typeof Symbol=="function"&&Symbol.for){var y=Symbol.for;i=y("react.element"),a=y("react.portal"),r.Fragment=y("react.fragment"),u=y("react.strict_mode"),d=y("react.profiler"),l=y("react.provider"),f=y("react.context"),h=y("react.forward_ref"),b=y("react.suspense"),S=y("react.suspense_list"),v=y("react.memo"),N=y("react.lazy"),L=y("react.block"),j=y("react.server.block"),M=y("react.fundamental"),y("react.scope"),y("react.opaque.id"),I=y("react.debug_trace_mode"),y("react.offscreen"),E=y("react.legacy_hidden")}var m=typeof Symbol=="function"&&Symbol.iterator,p="@@iterator";function K(e){if(e===null||typeof e!="object")return null;var o=m&&e[m]||e[p];return typeof o=="function"?o:null}var F=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function k(e){{for(var o=arguments.length,s=new Array(o>1?o-1:0),g=1;g<o;g++)s[g-1]=arguments[g];U("error",e,s)}}function U(e,o,s){{var g=F.ReactDebugCurrentFrame,O=g.getStackAddendum();O!==""&&(o+="%s",s=s.concat([O]));var P=s.map(function(x){return""+x});P.unshift("Warning: "+o),Function.prototype.apply.call(console[e],console,P)}}var fe=!1;function R(e){return!!(typeof e=="string"||typeof e=="function"||e===r.Fragment||e===d||e===I||e===u||e===b||e===S||e===E||fe||typeof e=="object"&&e!==null&&(e.$$typeof===N||e.$$typeof===v||e.$$typeof===l||e.$$typeof===f||e.$$typeof===h||e.$$typeof===M||e.$$typeof===L||e[0]===j))}function T(e,o,s){var g=o.displayName||o.name||"";return e.displayName||(g!==""?s+"("+g+")":s)}function _(e){return e.displayName||"Context"}function W(e){if(e==null)return null;if(typeof e.tag=="number"&&k("Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case r.Fragment:return"Fragment";case a:return"Portal";case d:return"Profiler";case u:return"StrictMode";case b:return"Suspense";case S:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case f:var o=e;return _(o)+".Consumer";case l:var s=e;return _(s._context)+".Provider";case h:return T(e,e.render,"ForwardRef");case v:return W(e.type);case L:return W(e._render);case N:{var g=e,O=g._payload,P=g._init;try{return W(P(O))}catch{return null}}}return null}var Q=0,ee,ie,ae,Ie,Te,Oe,Pe;function Ne(){}Ne.__reactDisabledLog=!0;function lt(){{if(Q===0){ee=console.log,ie=console.info,ae=console.warn,Ie=console.error,Te=console.group,Oe=console.groupCollapsed,Pe=console.groupEnd;var e={configurable:!0,enumerable:!0,value:Ne,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}Q++}}function ut(){{if(Q--,Q===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:t({},e,{value:ee}),info:t({},e,{value:ie}),warn:t({},e,{value:ae}),error:t({},e,{value:Ie}),group:t({},e,{value:Te}),groupCollapsed:t({},e,{value:Oe}),groupEnd:t({},e,{value:Pe})})}Q<0&&k("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ge=F.ReactCurrentDispatcher,me;function le(e,o,s){{if(me===void 0)try{throw Error()}catch(O){var g=O.stack.trim().match(/\n( *(at )?)/);me=g&&g[1]||""}return`
20
- `+me+e}}var pe=!1,ue;{var ct=typeof WeakMap=="function"?WeakMap:Map;ue=new ct}function je(e,o){if(!e||pe)return"";{var s=ue.get(e);if(s!==void 0)return s}var g;pe=!0;var O=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var P;P=ge.current,ge.current=null,lt();try{if(o){var x=function(){throw Error()};if(Object.defineProperty(x.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(x,[])}catch(Z){g=Z}Reflect.construct(e,[],x)}else{try{x.call()}catch(Z){g=Z}e.call(x.prototype)}}else{try{throw Error()}catch(Z){g=Z}e()}}catch(Z){if(Z&&g&&typeof Z.stack=="string"){for(var C=Z.stack.split(`
21
- `),Y=g.stack.split(`
22
- `),D=C.length-1,$=Y.length-1;D>=1&&$>=0&&C[D]!==Y[$];)$--;for(;D>=1&&$>=0;D--,$--)if(C[D]!==Y[$]){if(D!==1||$!==1)do if(D--,$--,$<0||C[D]!==Y[$]){var G=`
23
- `+C[D].replace(" at new "," at ");return typeof e=="function"&&ue.set(e,G),G}while(D>=1&&$>=0);break}}}finally{pe=!1,ge.current=P,ut(),Error.prepareStackTrace=O}var ne=e?e.displayName||e.name:"",Ue=ne?le(ne):"";return typeof e=="function"&&ue.set(e,Ue),Ue}function Ae(e,o,s){return je(e,!1)}function dt(e){var o=e.prototype;return!!(o&&o.isReactComponent)}function ce(e,o,s){if(e==null)return"";if(typeof e=="function")return je(e,dt(e));if(typeof e=="string")return le(e);switch(e){case b:return le("Suspense");case S:return le("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case h:return Ae(e.render);case v:return ce(e.type,o,s);case L:return Ae(e._render);case N:{var g=e,O=g._payload,P=g._init;try{return ce(P(O),o,s)}catch{}}}return""}var Le={},ke=F.ReactDebugCurrentFrame;function de(e){if(e){var o=e._owner,s=ce(e.type,e._source,o?o.type:null);ke.setExtraStackFrame(s)}else ke.setExtraStackFrame(null)}function ft(e,o,s,g,O){{var P=Function.call.bind(Object.prototype.hasOwnProperty);for(var x in e)if(P(e,x)){var C=void 0;try{if(typeof e[x]!="function"){var Y=Error((g||"React class")+": "+s+" type `"+x+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[x]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw Y.name="Invariant Violation",Y}C=e[x](o,x,g,s,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(D){C=D}C&&!(C instanceof Error)&&(de(O),k("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",g||"React class",s,x,typeof C),de(null)),C instanceof Error&&!(C.message in Le)&&(Le[C.message]=!0,de(O),k("Failed %s type: %s",s,C.message),de(null))}}}var oe=F.ReactCurrentOwner,ve=Object.prototype.hasOwnProperty,gt={key:!0,ref:!0,__self:!0,__source:!0},De,$e,he;he={};function mt(e){if(ve.call(e,"ref")){var o=Object.getOwnPropertyDescriptor(e,"ref").get;if(o&&o.isReactWarning)return!1}return e.ref!==void 0}function pt(e){if(ve.call(e,"key")){var o=Object.getOwnPropertyDescriptor(e,"key").get;if(o&&o.isReactWarning)return!1}return e.key!==void 0}function vt(e,o){if(typeof e.ref=="string"&&oe.current&&o&&oe.current.stateNode!==o){var s=W(oe.current.type);he[s]||(k('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',W(oe.current.type),e.ref),he[s]=!0)}}function ht(e,o){{var s=function(){De||(De=!0,k("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",o))};s.isReactWarning=!0,Object.defineProperty(e,"key",{get:s,configurable:!0})}}function bt(e,o){{var s=function(){$e||($e=!0,k("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",o))};s.isReactWarning=!0,Object.defineProperty(e,"ref",{get:s,configurable:!0})}}var Ct=function(e,o,s,g,O,P,x){var C={$$typeof:i,type:e,key:o,ref:s,props:x,_owner:P};return C._store={},Object.defineProperty(C._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(C,"_self",{configurable:!1,enumerable:!1,writable:!1,value:g}),Object.defineProperty(C,"_source",{configurable:!1,enumerable:!1,writable:!1,value:O}),Object.freeze&&(Object.freeze(C.props),Object.freeze(C)),C};function Et(e,o,s,g,O){{var P,x={},C=null,Y=null;s!==void 0&&(C=""+s),pt(o)&&(C=""+o.key),mt(o)&&(Y=o.ref,vt(o,O));for(P in o)ve.call(o,P)&&!gt.hasOwnProperty(P)&&(x[P]=o[P]);if(e&&e.defaultProps){var D=e.defaultProps;for(P in D)x[P]===void 0&&(x[P]=D[P])}if(C||Y){var $=typeof e=="function"?e.displayName||e.name||"Unknown":e;C&&ht(x,$),Y&&bt(x,$)}return Ct(e,C,Y,O,g,oe.current,x)}}var be=F.ReactCurrentOwner,Me=F.ReactDebugCurrentFrame;function te(e){if(e){var o=e._owner,s=ce(e.type,e._source,o?o.type:null);Me.setExtraStackFrame(s)}else Me.setExtraStackFrame(null)}var Ce;Ce=!1;function Ee(e){return typeof e=="object"&&e!==null&&e.$$typeof===i}function Fe(){{if(be.current){var e=W(be.current.type);if(e)return`
24
-
25
- Check the render method of \``+e+"`."}return""}}function xt(e){{if(e!==void 0){var o=e.fileName.replace(/^.*[\\\/]/,""),s=e.lineNumber;return`
26
-
27
- Check your code at `+o+":"+s+"."}return""}}var We={};function Rt(e){{var o=Fe();if(!o){var s=typeof e=="string"?e:e.displayName||e.name;s&&(o=`
28
-
29
- Check the top-level render call using <`+s+">.")}return o}}function qe(e,o){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var s=Rt(o);if(We[s])return;We[s]=!0;var g="";e&&e._owner&&e._owner!==be.current&&(g=" It was passed a child from "+W(e._owner.type)+"."),te(e),k('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',s,g),te(null)}}function Ke(e,o){{if(typeof e!="object")return;if(Array.isArray(e))for(var s=0;s<e.length;s++){var g=e[s];Ee(g)&&qe(g,o)}else if(Ee(e))e._store&&(e._store.validated=!0);else if(e){var O=K(e);if(typeof O=="function"&&O!==e.entries)for(var P=O.call(e),x;!(x=P.next()).done;)Ee(x.value)&&qe(x.value,o)}}}function St(e){{var o=e.type;if(o==null||typeof o=="string")return;var s;if(typeof o=="function")s=o.propTypes;else if(typeof o=="object"&&(o.$$typeof===h||o.$$typeof===v))s=o.propTypes;else return;if(s){var g=W(o);ft(s,e.props,"prop",g,e)}else if(o.PropTypes!==void 0&&!Ce){Ce=!0;var O=W(o);k("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",O||"Unknown")}typeof o.getDefaultProps=="function"&&!o.getDefaultProps.isReactClassApproved&&k("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function yt(e){{for(var o=Object.keys(e.props),s=0;s<o.length;s++){var g=o[s];if(g!=="children"&&g!=="key"){te(e),k("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",g),te(null);break}}e.ref!==null&&(te(e),k("Invalid attribute `ref` supplied to `React.Fragment`."),te(null))}}function Ye(e,o,s,g,O,P){{var x=R(e);if(!x){var C="";(e===void 0||typeof e=="object"&&e!==null&&Object.keys(e).length===0)&&(C+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var Y=xt(O);Y?C+=Y:C+=Fe();var D;e===null?D="null":Array.isArray(e)?D="array":e!==void 0&&e.$$typeof===i?(D="<"+(W(e.type)||"Unknown")+" />",C=" Did you accidentally export a JSX literal instead of a component?"):D=typeof e,k("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",D,C)}var $=Et(e,o,s,O,P);if($==null)return $;if(x){var G=o.children;if(G!==void 0)if(g)if(Array.isArray(G)){for(var ne=0;ne<G.length;ne++)Ke(G[ne],e);Object.freeze&&Object.freeze(G)}else k("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else Ke(G,e)}return e===r.Fragment?yt($):St($),$}}function _t(e,o,s){return Ye(e,o,s,!0)}function wt(e,o,s){return Ye(e,o,s,!1)}var It=wt,Tt=_t;r.jsx=It,r.jsxs=Tt}()}(Re)),Re}process.env.NODE_ENV==="production"?Se.exports=jt():Se.exports=At();var A=Se.exports;class Lt extends _e.WebSocketMessageReader{constructor(t,i){super(t);V(this,"onMessage");this.onMessage=i}readMessage(t){this.onMessage&&this.onMessage();const[,i]=t.split(`\r
1
+ "use strict";var de=Object.defineProperty;var Ie=(t,e,n)=>e in t?de(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var L=(t,e,n)=>(Ie(t,typeof e!="symbol"?e+"":e,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),f=require("react"),D=require("@monaco-editor/react"),Z=require("@ws-ui/shared"),Ce=require("monaco-languageclient"),z=require("monaco-languageclient/vscode/services"),U=require("@codingame/monaco-vscode-configuration-service-override"),me=require("@codingame/monaco-vscode-theme-service-override"),fe=require("@codingame/monaco-vscode-textmate-service-override"),Ae=require("@codingame/monaco-vscode-languages-service-override");require("@codingame/monaco-vscode-theme-defaults-default-extension");const x=require("monaco-editor"),pe=require("monaco-languageclient/tools"),P=require("vscode-languageclient"),V=require("vscode-ws-jsonrpc"),X=require("vscode-languageserver-protocol"),q=require("vscode/services");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 be=require("vscode/extensions");function he(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 o=he(x),ve=()=>U(),ye=()=>{const t=me(),e=t.themeService.ctor.prototype;return e.defineTheme=()=>{},t},Se=`{
2
+ "workbench.colorTheme": "Default Dark+",
3
+ "workbench.iconTheme": "vs-seti",
4
+ "editor.autoClosingBrackets": "languageDefined",
5
+ "editor.autoClosingQuotes": "languageDefined",
6
+ "editor.scrollBeyondLastLine": true,
7
+ "editor.mouseWheelZoom": true,
8
+ "editor.wordBasedSuggestions": false,
9
+ "editor.acceptSuggestionOnEnter": "on",
10
+ "editor.foldingHighlight": false,
11
+ "editor.bracketPairColorization.enabled": false,
12
+ "editor.fontSize": 12,
13
+ "files.autoSave": "off",
14
+ "editor.experimental.asyncTokenization": true,
15
+ "editor.semanticHighlighting.enabled": true,
16
+ "workbench.colorCustomizations": {
17
+ "editor.background": "#313131"
18
+ },
19
+ "editor.semanticTokenColorCustomizations": {
20
+ "[Default Light+]": {
21
+ "enabled": true,
22
+ "rules": {
23
+ "*:4d": {
24
+ "foreground": "#000000",
25
+ "bold": false,
26
+ "italic": false,
27
+ "underline": false,
28
+ "strikethrough": false
29
+ },
30
+ "method:4d": { "foreground": "#000088", "bold": true, "italic": true },
31
+ "method.defaultLibrary:4d": {
32
+ "foreground": "#068c00",
33
+ "italic": false
34
+ },
35
+ "method.plugin:4d": { "foreground": "#000000" },
36
+ "property:4d": { "foreground": "#a0806b" },
37
+ "function:4d": { "foreground": "#5f8e5e", "italic": true },
38
+ "parameter:4d": { "foreground": "#000b76", "bold": true },
39
+ "variable.interprocess:4d": { "foreground": "#ff0088" },
40
+ "variable.process:4d": { "foreground": "#0000ff" },
41
+ "variable.local:4d": { "foreground": "#0031ff" },
42
+ "keyword:4d": { "foreground": "#034d00", "bold": true },
43
+ "table:4d": { "foreground": "#532300" },
44
+ "field:4d": { "foreground": "#323232" },
45
+ "comment:4d": { "foreground": "#535353" },
46
+ "type:4d": { "foreground": "#068c00", "bold": true },
47
+ "constant:4d": { "foreground": "#4d004d", "underline": true },
48
+ "string:4d": { "foreground": "#000000" },
49
+ "error:4d": { "foreground": "#ff0000", "bold": true, "italic": true }
50
+ }
51
+ },
52
+ "[Default Dark+]": {
53
+ "enabled": true,
54
+ "rules": {
55
+ "*:4d": {
56
+ "foreground": "#FFFFFF",
57
+ "bold": false,
58
+ "italic": false,
59
+ "underline": false,
60
+ "strikethrough": false
61
+ },
62
+ "method:4d": { "foreground": "#1B79F3", "bold": true, "italic": true },
63
+ "method.defaultLibrary:4d": {
64
+ "foreground": "#59BB00",
65
+ "italic": false
66
+ },
67
+ "method.plugin:4d": { "foreground": "#BFBFBF" },
68
+ "property:4d": { "foreground": "#A0806B" },
69
+ "function:4d": { "foreground": "#4EC36E", "italic": true },
70
+ "parameter:4d": { "foreground": "#0C70FF", "bold": true },
71
+ "variable.interprocess:4d": { "foreground": "#FF0088" },
72
+ "variable.process:4d": { "foreground": "#53B0EB" },
73
+ "variable.local:4d": { "foreground": "#18B3F1" },
74
+ "keyword:4d": { "foreground": "#D0D0D0", "bold": true },
75
+ "table:4d": { "foreground": "#CF5600" },
76
+ "field:4d": { "foreground": "#9C6765" },
77
+ "comment:4d": { "foreground": "#8F8F8F" },
78
+ "type:4d": { "foreground": "#068C00", "bold": true },
79
+ "constant:4d": { "foreground": "#FA647F", "underline": true },
80
+ "string:4d": { "foreground": "#FFFFFF" },
81
+ "error:4d": { "foreground": "#ff0000", "bold": true, "italic": true }
82
+ }
83
+ }
84
+ }
85
+ }
86
+ `,_=()=>U.initUserConfiguration(Se),Q=async t=>{var r;const e=t.serviceConfig??{};e.debugLogging=((r=t.logger)==null?void 0:r.isEnabled())===!0&&(e.debugLogging===!0||t.logger.isDebugEnabled()===!0),await _(),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 a={...ve(),...ye(),...fe(),...Ae()};z.mergeServices(a,e.userServices)}return i||(e.workspaceConfig={workspaceProvider:{trusted:!0,workspace:{workspaceUri:o.Uri.file("/workspace")},async open(){return!1}}}),e};class xe extends V.WebSocketMessageReader{constructor(n,i){super(n);L(this,"onMessage");this.onMessage=i}readMessage(n){this.onMessage&&this.onMessage();const[,i]=n.split(`\r
30
87
  \r
31
- `);if(this.state==="initial")this.events.splice(0,0,{message:i});else if(this.state==="listening"){const a=JSON.parse(i);this.callback(a)}}}class kt extends _e.WebSocketMessageWriter{constructor(t,i){super(t);V(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)}}}const Dt={base:"vs-dark",inherit:!0,colors:{"editor.background":"#313131"},rules:[{token:"",background:"#313131"}]};function z(r){return`file:///PACKAGE/Project/Sources/${r}`}function we(r,n=0){setTimeout(r,n)}function Qe(r,n){const t=new q.Selection(n.startLineNumber,n.startColumn,n.endLineNumber||n.startLineNumber,n.endColumn||n.startColumn);we(()=>{r.setSelection(t),r.revealRangeInCenter(t),r.focus()})}function et(r,n,t=0){t>0&&(n=t+n),we(()=>{r.setPosition({lineNumber:n,column:1}),r.revealLineInCenter(n),r.focus()})}function $t(r,n,t){const a=r.getModel();if(a&&n){const u=a.getLineCount();for(let d=1;d<=u;d++){const l=a.getLineContent(d);if(new RegExp(`(?:Function|function) ${t}`).test(l))return d}}return 0}const Mt={getServiceOverride:({openHandler:r})=>({get[H.ICodeEditorService.toString()](){const n=H.StandaloneServices.get(H.ICodeEditorService);return r&&n.registerCodeEditorOpenHandler(r),n}})},Ft={getServiceOverride:()=>({get[H.ILanguageFeaturesService.toString()](){return H.StandaloneServices.get(H.ILanguageFeaturesService)}})},Wt={getServiceOverride:()=>({get[H.ITextModelService.toString()](){const r=H.StandaloneServices.get(H.ITextModelService);return r.createModelReference=n=>Promise.resolve({dispose:()=>{}}),r}})},qt={comments:{lineComment:"//",blockComment:["/**","**/"]},brackets:[["{","}"],["(",")"],["[","]"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],autoClosingPairs:[{open:"(",close:")"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" **/",notIn:["string"]}],autoCloseBefore:";:.,=}])>` \n ",wordPattern:new RegExp("(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\#\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\r\\n\\t\\f\\v ]+)|(?<=[a-zA-Z]) ?(?=[a-zA-Z])"),indentationRules:{increaseIndentPattern:new RegExp("(^(?![^\\s])*\\s*(class constructor))|(^(?![^\\s])*\\s*(exposed|local|\\s*){1}\\s*function{1}\\s*\\w)|(^(?![^\\s])*\\s*(If|Else|For|For each|While|Begin SQL|Case of|Use|Repeat|: *\\(.*)).*$","i"),decreaseIndentPattern:new RegExp("(^(?![^\\s])*\\s*(exposed|local|\\s*){1}\\s*function{1}\\s*\\w)|(End If|End For|Else|End for each|End While|End SQL|End case|End use|Until|: *\\(.*).*$","i")},onEnterRules:[{beforeText:new RegExp("^exposed","i"),action:{indentAction:1}}]},Kt={provideCompletionItems:async(r,n)=>{const t=r.getWordUntilPosition(n);return{suggestions:[{label:"var",kind:c.languages.CompletionItemKind.Snippet,range:new c.Range(n.lineNumber,t.startColumn,n.lineNumber,t.endColumn),insertText:["var ${1:var_name} : ${2:var_type}"].join(`
32
- `),insertTextRules:c.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"While",kind:c.languages.CompletionItemKind.Snippet,range:new c.Range(n.lineNumber,t.startColumn,n.lineNumber,t.endColumn),insertText:["While(${1:expression})"," ${2:body}","End while"].join(`
33
- `),insertTextRules:c.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"Case of",kind:c.languages.CompletionItemKind.Snippet,range:new c.Range(n.lineNumber,t.startColumn,n.lineNumber,t.endColumn),insertText:["Case of"," :(${1:boolean_expression})"," ${2:body}","End case"].join(`
34
- `),insertTextRules:c.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"Else",kind:c.languages.CompletionItemKind.Snippet,range:new c.Range(n.lineNumber,t.startColumn,n.lineNumber,t.endColumn),insertText:["Else"," "].join(`
35
- `),insertTextRules:c.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"If",kind:c.languages.CompletionItemKind.Snippet,range:new c.Range(n.lineNumber,t.startColumn,n.lineNumber,t.endColumn),insertText:["If (${1:expression})"," ${5:body}","End if"].join(`
36
- `),insertTextRules:c.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"For",kind:c.languages.CompletionItemKind.Snippet,range:new c.Range(n.lineNumber,t.startColumn,n.lineNumber,t.endColumn),insertText:["For(${1:counter};${2:start};${3:end}${4:;increment})"," ${5:body}","End for"].join(`
37
- `),insertTextRules:c.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"Function",kind:c.languages.CompletionItemKind.Snippet,range:new c.Range(n.lineNumber,t.startColumn,n.lineNumber,t.endColumn),insertText:["Function ${1:function_name}(${2:params}) -> ${3:var_name} : ${4:var_type}"," ${5:body}"].join(`
38
- `),insertTextRules:c.languages.CompletionItemInsertTextRule.InsertAsSnippet}]}}},Yt={provideCompletionItems:async(r,n)=>{const t=r.getWordUntilPosition(n);return{suggestions:[{label:"var",kind:c.languages.CompletionItemKind.Snippet,range:new c.Range(n.lineNumber,t.startColumn,n.lineNumber,t.endColumn),insertText:["var ${1:var_name} : ${2:var_type}"].join(`
39
- `),insertTextRules:c.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"while",kind:c.languages.CompletionItemKind.Snippet,range:new c.Range(n.lineNumber,t.startColumn,n.lineNumber,t.endColumn),insertText:["while(${1:expression})"," ${2:body}","end"].join(`
40
- `),insertTextRules:c.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"switch",kind:c.languages.CompletionItemKind.Snippet,range:new c.Range(n.lineNumber,t.startColumn,n.lineNumber,t.endColumn),insertText:["switch"," :(${1:boolean_expression})"," ${2:body}","end"].join(`
41
- `),insertTextRules:c.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"else",kind:c.languages.CompletionItemKind.Snippet,range:new c.Range(n.lineNumber,t.startColumn,n.lineNumber,t.endColumn),insertText:["else"," "].join(`
42
- `),insertTextRules:c.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"if",kind:c.languages.CompletionItemKind.Snippet,range:new c.Range(n.lineNumber,t.startColumn,n.lineNumber,t.endColumn),insertText:["if (${1:expression})"," ${5:body}","end"].join(`
43
- `),insertTextRules:c.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"for",kind:c.languages.CompletionItemKind.Snippet,range:new c.Range(n.lineNumber,t.startColumn,n.lineNumber,t.endColumn),insertText:["for(${1:counter},${2:start},${3:end}${4:,increment})"," ${5:body}","end"].join(`
44
- `),insertTextRules:c.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"function",kind:c.languages.CompletionItemKind.Snippet,range:new c.Range(n.lineNumber,t.startColumn,n.lineNumber,t.endColumn),insertText:["function ${1:function_name}(${2:params}) -> ${3:var_name} : ${4:var_type}"," ${5:body}"].join(`
45
- `),insertTextRules:c.languages.CompletionItemInsertTextRule.InsertAsSnippet}]}}},Ut=[{keybinding:q.KeyMod.CtrlCmd|q.KeyCode.NumpadAdd,command:"editor.action.fontZoomIn"},{keybinding:q.KeyMod.CtrlCmd|q.KeyCode.Equal,command:"editor.action.fontZoomIn"},{keybinding:q.KeyMod.CtrlCmd|q.KeyCode.NumpadSubtract,command:"editor.action.fontZoomOut"},{keybinding:q.KeyMod.CtrlCmd|q.KeyCode.Minus,command:"editor.action.fontZoomOut"},{keybinding:q.KeyMod.CtrlCmd|q.KeyCode.Numpad0,command:"editor.action.fontZoomReset"},{keybinding:q.KeyMod.CtrlCmd|q.KeyCode.Digit0,command:"editor.action.fontZoomReset"}],Vt=({defaultZoom:r})=>(w.useEffect(()=>{r!==void 0&&q.editor.EditorZoom.setZoomLevel(r)},[]),null);({}).VITE_DISABLE_MONACO_LOADER||ye.loader.config({monaco:c});const tt=w.createContext(void 0),Bt=({children:r,url:n,qodly:t,defaultZoom:i,openHandler:a,language:u="4d",defaultInited:d=!1})=>{const l=ye.useMonaco(),[f,h]=w.useState(d),[b,S]=w.useState(null),v=w.useRef(),N=w.useRef(0);w.useEffect(()=>{Ve.initServices({configureEditorOrViewsService:{enableViewsService:!1},debugLogging:!1,userServices:{...Mt.getServiceOverride({openHandler:a}),...Ft.getServiceOverride(),...Wt.getServiceOverride()}})},[]),w.useEffect(()=>{n&&l&&L()},[n,l]);const L=async()=>{if(!l)return;const R=await B.getMonacoTheme();l.editor.defineTheme("fd-dark",R||Dt),l.languages.register({id:u,extensions:[".4dm",".4qm",".4qs"],aliases:["4d","4D"]}),l.languages.setLanguageConfiguration(u,qt),l.languages.registerCompletionItemProvider(u,t?Yt:Kt),q.editor.addKeybindingRules(Ut),j()},j=()=>{S(null);let R;try{R=new WebSocket(localStorage.LSP_SERVER||n)}catch{S(new Event("INVALID_URL"));return}R.onopen=M,R.onclose=I,R.onerror=E,N.current=0},M=async function(){const R=_e.toSocket(this),T=new Lt(R),_=new kt(R),W=new Ve.MonacoLanguageClient({name:"4D Language Client",clientOptions:{workspaceFolder:{uri:q.Uri.parse("file:///PACKAGE")},documentSelector:[{scheme:"file",language:u}],errorHandler:{error:()=>({action:Be.ErrorAction.Continue}),closed:()=>({action:Be.CloseAction.DoNotRestart})}},connectionProvider:{get:()=>Promise.resolve({reader:T,writer:_})}});v.current=W;const Q=W.sendRequest.bind(W);v.current.sendRequest=function(ee,ie,ae){return typeof ee=="object"&&ee.method==="textDocument/diagnostic"&&/file:\/\/\/PACKAGE\/Project\/Sources\/Methods\/__Debugger_.*/.test(ie.textDocument.uri)?Promise.resolve():Q(ee,ie,ae)},T.onClose(()=>{W.stop(),N.current<3?setTimeout(()=>{N.current++,j()},1e3):S(new Event("WEBSOCKET_CLOSED"))}),W.needsStart()&&await W.start(),h(!0)},I=()=>{},E=R=>{S(R)};w.useEffect(()=>{const R=B.lspSubject.subscribe(({action:T,payload:_})=>{switch(T){case B.LspActions.WILL_SAVE:y(_.filePath);break;case B.LspActions.DID_SAVE:m(_.filePath,_.content);break;case B.LspActions.WILL_CREATE:p(_.filePath);break;case B.LspActions.DID_CREATE:k(_.filePath);break;case B.LspActions.WILL_RENAME:K(_.oldPath,_.newPath);break;case B.LspActions.DID_RENAME:U(_.oldPath,_.newPath);break;case B.LspActions.WILL_DELETE:F(_.filePath);break;case B.LspActions.DID_DELETE:fe(_.filePath);break}});return()=>R.unsubscribe()},[]);const y=(R,T=J.TextDocumentSaveReason.Manual)=>{var _;(_=v.current)==null||_.sendNotification(J.WillSaveTextDocumentNotification.type,{textDocument:{uri:z(R)},reason:T})},m=(R,T)=>{var _;(_=v.current)==null||_.sendNotification(J.DidSaveTextDocumentNotification.type,{textDocument:{uri:z(R)},text:T})},p=R=>{var T;(T=v.current)==null||T.sendRequest(J.WillCreateFilesRequest.type,{files:[{uri:z(R)}]})},K=(R,T)=>{var _;(_=v.current)==null||_.sendRequest(J.WillRenameFilesRequest.type,{files:[{oldUri:z(R),newUri:z(T)}]})},F=R=>{var T;(T=v.current)==null||T.sendRequest(J.WillDeleteFilesRequest.type,{files:[{uri:z(R)}]})},k=R=>{var T;(T=v.current)==null||T.sendNotification(J.DidCreateFilesNotification.type,{files:[{uri:z(R)}]})},U=(R,T)=>{var _;(_=v.current)==null||_.sendNotification(J.DidRenameFilesNotification.type,{files:[{oldUri:z(R),newUri:z(T)}]})},fe=R=>{var T;(T=v.current)==null||T.sendNotification(J.DidDeleteFilesNotification.type,{files:[{uri:z(R)}]})};return A.jsxs(tt.Provider,{value:{inited:f||!!b,clientRef:v,lastError:b,reload:j},children:[r,A.jsx(Vt,{defaultZoom:i})]})};function zt(){const r=w.useContext(tt);if(r===void 0)throw new Error("useLSP must be used within an LSPContext");return r}const nt=w.createContext(void 0),Gt=w.memo(({children:r})=>{const[n,t]=w.useState(null);return A.jsx(nt.Provider,{value:{editor:n,setEditor:t},children:r})});function rt(){const r=w.useContext(nt),n=w.useState(null);if(r===void 0){const[t,i]=n;return{editor:t,setEditor:i}}return r}var it={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Je=w.createContext&&w.createContext(it),X=globalThis&&globalThis.__assign||function(){return X=Object.assign||function(r){for(var n,t=1,i=arguments.length;t<i;t++){n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(r[a]=n[a])}return r},X.apply(this,arguments)},Zt=globalThis&&globalThis.__rest||function(r,n){var t={};for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&n.indexOf(i)<0&&(t[i]=r[i]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,i=Object.getOwnPropertySymbols(r);a<i.length;a++)n.indexOf(i[a])<0&&Object.prototype.propertyIsEnumerable.call(r,i[a])&&(t[i[a]]=r[i[a]]);return t};function ot(r){return r&&r.map(function(n,t){return w.createElement(n.tag,X({key:t},n.attr),ot(n.child))})}function st(r){return function(n){return w.createElement(Jt,X({attr:X({},r.attr)},n),ot(r.child))}}function Jt(r){var n=function(t){var i=r.attr,a=r.size,u=r.title,d=Zt(r,["attr","size","title"]),l=a||t.size||"1em",f;return t.className&&(f=t.className),r.className&&(f=(f?f+" ":"")+r.className),w.createElement("svg",X({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,i,d,{className:f,style:X(X({color:r.color||t.color},t.style),r.style),height:l,width:l,xmlns:"http://www.w3.org/2000/svg"}),u&&w.createElement("title",null,u),r.children)};return Je!==void 0?w.createElement(Je.Consumer,null,function(t){return n(t)}):n(it)}function Ht(r){return st({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"}}]})(r)}function Xt(r){return st({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"}}]})(r)}const at=({lspProps:{lastError:r,reload:n}})=>{const[t,i]=w.useState(!1),a=()=>{n()},u=()=>{i(!1)};return w.useEffect(()=>{i(!!r)},[r]),t?A.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:[A.jsxs("span",{className:"flex flex-1 justify-center gap-1",children:[A.jsx(Xt,{className:"h-4 w-4 text-yellow-600"}),A.jsxs("span",{children:["LSP not loaded."," ",A.jsx("button",{className:"text-primary-dark underline",onClick:a,children:"Reload?"})]})]}),A.jsx("button",{className:"focus:outline-none",children:A.jsx(Ht,{className:"h-4 w-4 text-white",onClick:u})})]}):null},Qt={provideCompletionItems:(r,n)=>{const t=r.getWordUntilPosition(n);return{suggestions:[{label:"device:xs",kind:c.languages.CompletionItemKind.Snippet,documentation:"Media query for phone device",range:new c.Range(n.lineNumber,t.startColumn,n.lineNumber,t.endColumn),insertText:["@media screen and (max-width: ${1:365px}) {"," self {"," ${2:background-color}:${3:red};"," }","}"].join(`
46
- `),insertTextRules:c.languages.CompletionItemInsertTextRule.InsertAsSnippet}]}}},en="#/definitions/Condition",tn={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"]}},nn={$ref:en,definitions:tn};function rn(r,n){const t=document.createElement("style");t.dataset.id=n,t.textContent=r,document.head.append(t)}function on(r){return Array.from(document.styleSheets).find(n=>n.ownerNode.getAttribute("data-id")===r)}function sn(r,n){const t=[];let i=[];const a=[],u=(m,p,K,F)=>{t.push({startLineNumber:m,endLineNumber:K,startColumn:p,endColumn:F}),h(),f()},d=m=>{a.indexOf(m)<0&&a.push(m)},l=m=>{const p=a.indexOf(m);p<0||a.splice(p,1)},f=()=>{for(const m of a)try{m(i)}catch(p){console.error(p)}},h=()=>{const m=r.getModel();m&&(i=ln(t.map(p=>[m.getOffsetAt({lineNumber:p.startLineNumber,column:p.startColumn}),m.getOffsetAt({lineNumber:p.endLineNumber,column:p.endColumn})]),!0),i.length>0&&(i[0][0]<=0&&(i[0][0]=Number.NEGATIVE_INFINITY),i[i.length-1][1]>=m.getValueLength()&&(i[i.length-1][1]=Number.POSITIVE_INFINITY)))},b=m=>{const p={isDeletion:!1,isAddition:!1,isReplacement:!1};return m.text===""?p.isDeletion=!0:m.range.startLineNumber===m.range.endLineNumber&&m.range.startColumn===m.range.endColumn?p.isAddition=!0:p.isReplacement=!0,p},S=r.onDidChangeModel(m=>{h(),E()}),v=r.onDidChangeModelContent(m=>{if(!m.isUndoing)for(const p of m.changes){const K=b(p);if(K.isReplacement||K.isDeletion||K.isAddition){const F=t.some(U=>p.range.startLineNumber>=U.startLineNumber&&p.range.endLineNumber<=U.endLineNumber&&p.range.startColumn>=U.startColumn&&p.range.endColumn<=U.endColumn),k=!F&&n&&p.range.startLineNumber===1&&p.range.startColumn===1&&!B.hasAttributesString(p.text);if(F||k){const U=r.getModel();if(U){U.undo();return}}}}}),N=()=>{S.dispose(),v.dispose()};let L=[],j=`
88
+ `);if(this.state==="initial")this.events.splice(0,0,{message:i});else if(this.state==="listening"){const r=JSON.parse(i);this.callback(r)}}}class Ne extends V.WebSocketMessageWriter{constructor(n,i){super(n);L(this,"onSend");this.onSend=i}async write(n){try{const i=JSON.stringify(n);this.socket.send(i),this.onSend&&this.onSend()}catch(i){this.errorCount++,this.fireError(i,n,this.errorCount)}}}function F(t){return`file:///PACKAGE/Project/Sources/${t}`}function Y(t,e=0){setTimeout(t,e)}function ee(t,e){const n=new x.Selection(e.startLineNumber,e.startColumn,e.endLineNumber||e.startLineNumber,e.endColumn||e.startColumn);Y(()=>{t.setSelection(n),t.revealRangeInCenter(n),t.focus()})}function ne(t,e,n=0){n>0&&(e=n+e),Y(()=>{t.setPosition({lineNumber:e,column:1}),t.revealLineInCenter(e),t.focus()})}function we(t,e,n){const r=t.getModel();if(r&&e){const a=r.getLineCount();for(let g=1;g<=a;g++){const I=r.getLineContent(g);if(new RegExp(`(?:Function|function) ${n}`).test(I))return g}}return 0}const Re={provideCompletionItems:async(t,e)=>{const n=t.getWordUntilPosition(e);return{suggestions:[{label:"var",kind:o.languages.CompletionItemKind.Snippet,range:new o.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["var ${1:var_name} : ${2:var_type}"].join(`
89
+ `),insertTextRules:o.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"While",kind:o.languages.CompletionItemKind.Snippet,range:new o.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["While(${1:expression})"," ${2:body}","End while"].join(`
90
+ `),insertTextRules:o.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"Case of",kind:o.languages.CompletionItemKind.Snippet,range:new o.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["Case of"," :(${1:boolean_expression})"," ${2:body}","End case"].join(`
91
+ `),insertTextRules:o.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"Else",kind:o.languages.CompletionItemKind.Snippet,range:new o.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["Else"," "].join(`
92
+ `),insertTextRules:o.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"If",kind:o.languages.CompletionItemKind.Snippet,range:new o.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["If (${1:expression})"," ${5:body}","End if"].join(`
93
+ `),insertTextRules:o.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"For",kind:o.languages.CompletionItemKind.Snippet,range:new o.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:o.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"Function",kind:o.languages.CompletionItemKind.Snippet,range:new o.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:o.languages.CompletionItemInsertTextRule.InsertAsSnippet}]}}},Le={provideCompletionItems:async(t,e)=>{const n=t.getWordUntilPosition(e);return{suggestions:[{label:"var",kind:o.languages.CompletionItemKind.Snippet,range:new o.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["var ${1:var_name} : ${2:var_type}"].join(`
96
+ `),insertTextRules:o.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"while",kind:o.languages.CompletionItemKind.Snippet,range:new o.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["while(${1:expression})"," ${2:body}","end"].join(`
97
+ `),insertTextRules:o.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"switch",kind:o.languages.CompletionItemKind.Snippet,range:new o.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["switch"," :(${1:boolean_expression})"," ${2:body}","end"].join(`
98
+ `),insertTextRules:o.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"else",kind:o.languages.CompletionItemKind.Snippet,range:new o.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["else"," "].join(`
99
+ `),insertTextRules:o.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"if",kind:o.languages.CompletionItemKind.Snippet,range:new o.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn),insertText:["if (${1:expression})"," ${5:body}","end"].join(`
100
+ `),insertTextRules:o.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"for",kind:o.languages.CompletionItemKind.Snippet,range:new o.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:o.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"function",kind:o.languages.CompletionItemKind.Snippet,range:new o.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:o.languages.CompletionItemInsertTextRule.InsertAsSnippet}]}}},je=[{keybinding:x.KeyMod.CtrlCmd|x.KeyCode.NumpadAdd,command:"editor.action.fontZoomIn"},{keybinding:x.KeyMod.CtrlCmd|x.KeyCode.Equal,command:"editor.action.fontZoomIn"},{keybinding:x.KeyMod.CtrlCmd|x.KeyCode.NumpadSubtract,command:"editor.action.fontZoomOut"},{keybinding:x.KeyMod.CtrlCmd|x.KeyCode.Minus,command:"editor.action.fontZoomOut"},{keybinding:x.KeyMod.CtrlCmd|x.KeyCode.Numpad0,command:"editor.action.fontZoomReset"},{keybinding:x.KeyMod.CtrlCmd|x.KeyCode.Digit0,command:"editor.action.fontZoomReset"}],We=({defaultZoom:t})=>(f.useEffect(()=>{t!==void 0&&x.editor.EditorZoom.setZoomLevel(t)},[]),null);({}).VITE_DISABLE_MONACO_LOADER||D.loader.config({monaco:o});const te=f.createContext(void 0),Fe=({children:t,url:e,qodly:n,defaultZoom:i,openHandler:r,language:a="4d",defaultInited:g=!1})=>{const I=D.useMonaco(),[m,y]=f.useState(g),[K,N]=f.useState(null),b=f.useRef(),v=f.useRef(0);f.useEffect(()=>{e&&I&&S()},[e,I]);const S=async()=>{if(!I)return;const u=new pe.Logger({enabled:process.env.NODE_ENV==="development",debugEnabled:process.env.NODE_ENV==="development"}),d=await Q({logger:u});await z.initServices({caller:"Qodly Code Editor",logger:u,serviceConfig:d}),r&&q.StandaloneServices.get(q.ICodeEditorService).registerCodeEditorOpenHandler(r),I.languages.registerCompletionItemProvider(a,n?Le:Re),x.editor.addKeybindingRules(je),h()},h=()=>{N(null);let u;try{u=new WebSocket(localStorage.LSP_SERVER||e)}catch{N(new Event("INVALID_URL"));return}u.onopen=w,u.onclose=A,u.onerror=c,v.current=0},w=async function(){const u=V.toSocket(this),d=new xe(u),C=new Ne(u),O=new Ce.MonacoLanguageClient({name:"4D Language Client",clientOptions:{workspaceFolder:{uri:x.Uri.parse("file:///PACKAGE")},documentSelector:[{scheme:"file",language:a}],errorHandler:{error:()=>({action:P.ErrorAction.Continue}),closed:()=>({action:P.CloseAction.DoNotRestart})}},connectionProvider:{get:()=>Promise.resolve({reader:d,writer:C})}});b.current=O;const ce=O.sendRequest.bind(O);b.current.sendRequest=function(J,M,ue){return typeof J=="object"&&J.method==="textDocument/diagnostic"&&/file:\/\/\/PACKAGE\/Project\/Sources\/Methods\/__Debugger_.*/.test(M.textDocument.uri)?Promise.resolve():ce(J,M,ue)},d.onClose(()=>{O.stop(),v.current<3?setTimeout(()=>{v.current++,h()},1e3):N(new Event("WEBSOCKET_CLOSED"))}),O.needsStart()&&await O.start(),y(!0)},A=()=>{},c=u=>{N(u)};f.useEffect(()=>{const u=Z.lspSubject.subscribe(({action:d,payload:C})=>{switch(d){case Z.LspActions.WILL_SAVE:k(C.filePath);break;case Z.LspActions.DID_SAVE:s(C.filePath,C.content);break;case Z.LspActions.WILL_CREATE:l(C.filePath);break;case Z.LspActions.DID_CREATE:B(C.filePath);break;case Z.LspActions.WILL_RENAME:R(C.oldPath,C.newPath);break;case Z.LspActions.DID_RENAME:W(C.oldPath,C.newPath);break;case Z.LspActions.WILL_DELETE:j(C.filePath);break;case Z.LspActions.DID_DELETE:ge(C.filePath);break}});return()=>u.unsubscribe()},[]);const k=(u,d=X.TextDocumentSaveReason.Manual)=>{var C;(C=b.current)==null||C.sendNotification(X.WillSaveTextDocumentNotification.type,{textDocument:{uri:F(u)},reason:d})},s=(u,d)=>{var C;(C=b.current)==null||C.sendNotification(X.DidSaveTextDocumentNotification.type,{textDocument:{uri:F(u)},text:d})},l=u=>{var d;(d=b.current)==null||d.sendRequest(X.WillCreateFilesRequest.type,{files:[{uri:F(u)}]})},R=(u,d)=>{var C;(C=b.current)==null||C.sendRequest(X.WillRenameFilesRequest.type,{files:[{oldUri:F(u),newUri:F(d)}]})},j=u=>{var d;(d=b.current)==null||d.sendRequest(X.WillDeleteFilesRequest.type,{files:[{uri:F(u)}]})},B=u=>{var d;(d=b.current)==null||d.sendNotification(X.DidCreateFilesNotification.type,{files:[{uri:F(u)}]})},W=(u,d)=>{var C;(C=b.current)==null||C.sendNotification(X.DidRenameFilesNotification.type,{files:[{oldUri:F(u),newUri:F(d)}]})},ge=u=>{var d;(d=b.current)==null||d.sendNotification(X.DidDeleteFilesNotification.type,{files:[{uri:F(u)}]})};return p.jsxs(te.Provider,{value:{inited:m||!!K,clientRef:b,lastError:K,reload:h},children:[t,p.jsx(We,{defaultZoom:i})]})};function Ze(){const t=f.useContext(te);if(t===void 0)throw new Error("useLSP must be used within an LSPContext");return t}const ie=f.createContext(void 0),Ke=f.memo(({children:t})=>{const[e,n]=f.useState(null);return p.jsx(ie.Provider,{value:{editor:e,setEditor:n},children:t})});function oe(){const t=f.useContext(ie),e=f.useState(null);if(t===void 0){const[n,i]=e;return{editor:n,setEditor:i}}return t}var re={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},H=f.createContext&&f.createContext(re),E=globalThis&&globalThis.__assign||function(){return E=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++){e=arguments[n];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}return t},E.apply(this,arguments)},Xe=globalThis&&globalThis.__rest||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 r=0,i=Object.getOwnPropertySymbols(t);r<i.length;r++)e.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(t,i[r])&&(n[i[r]]=t[i[r]]);return n};function se(t){return t&&t.map(function(e,n){return f.createElement(e.tag,E({key:n},e.attr),se(e.child))})}function le(t){return function(e){return f.createElement(Ee,E({attr:E({},t.attr)},e),se(t.child))}}function Ee(t){var e=function(n){var i=t.attr,r=t.size,a=t.title,g=Xe(t,["attr","size","title"]),I=r||n.size||"1em",m;return n.className&&(m=n.className),t.className&&(m=(m?m+" ":"")+t.className),f.createElement("svg",E({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},n.attr,i,g,{className:m,style:E(E({color:t.color||n.color},n.style),t.style),height:I,width:I,xmlns:"http://www.w3.org/2000/svg"}),a&&f.createElement("title",null,a),t.children)};return H!==void 0?f.createElement(H.Consumer,null,function(n){return e(n)}):e(re)}function ke(t){return le({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"}}]})(t)}function Be(t){return le({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"}}]})(t)}const ae=({lspProps:{lastError:t,reload:e}})=>{const[n,i]=f.useState(!1),r=()=>{e()},a=()=>{i(!1)};return f.useEffect(()=>{i(!!t)},[t]),n?p.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:[p.jsxs("span",{className:"flex flex-1 justify-center gap-1",children:[p.jsx(Be,{className:"h-4 w-4 text-yellow-600"}),p.jsxs("span",{children:["LSP not loaded."," ",p.jsx("button",{className:"text-primary-dark underline",onClick:r,children:"Reload?"})]})]}),p.jsx("button",{className:"focus:outline-none",children:p.jsx(ke,{className:"h-4 w-4 text-white",onClick:a})})]}):null},Oe={provideCompletionItems:(t,e)=>{const n=t.getWordUntilPosition(e);return{suggestions:[{label:"device:xs",kind:o.languages.CompletionItemKind.Snippet,documentation:"Media query for phone device",range:new o.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:o.languages.CompletionItemInsertTextRule.InsertAsSnippet}]}}},Ge="#/definitions/Condition",Te={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"]}},Je={$ref:Ge,definitions:Te};function De(t,e){const n=document.createElement("style");n.dataset.id=e,n.textContent=t,document.head.append(n)}function Ve(t){return Array.from(document.styleSheets).find(e=>e.ownerNode.getAttribute("data-id")===t)}function Ye(t,e){const n=[];let i=[];const r=[],a=(s,l,R,j)=>{n.push({startLineNumber:s,endLineNumber:R,startColumn:l,endColumn:j}),y(),m()},g=s=>{r.indexOf(s)<0&&r.push(s)},I=s=>{const l=r.indexOf(s);l<0||r.splice(l,1)},m=()=>{for(const s of r)try{s(i)}catch(l){console.error(l)}},y=()=>{const s=t.getModel();s&&(i=Pe(n.map(l=>[s.getOffsetAt({lineNumber:l.startLineNumber,column:l.startColumn}),s.getOffsetAt({lineNumber:l.endLineNumber,column:l.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)))},K=s=>{const l={isDeletion:!1,isAddition:!1,isReplacement:!1};return s.text===""?l.isDeletion=!0:s.range.startLineNumber===s.range.endLineNumber&&s.range.startColumn===s.range.endColumn?l.isAddition=!0:l.isReplacement=!0,l},N=t.onDidChangeModel(s=>{y(),c()}),b=t.onDidChangeModelContent(s=>{if(!s.isUndoing)for(const l of s.changes){const R=K(l);if(R.isReplacement||R.isDeletion||R.isAddition){const j=n.some(W=>l.range.startLineNumber>=W.startLineNumber&&l.range.endLineNumber<=W.endLineNumber&&l.range.startColumn>=W.startColumn&&l.range.endColumn<=W.endColumn),B=!j&&e&&l.range.startLineNumber===1&&l.range.startColumn===1&&!Z.hasAttributesString(l.text);if(j||B){const W=t.getModel();if(W){W.undo();return}}}}}),v=()=>{N.dispose(),b.dispose()};let S=[],h=`
47
104
  .idoc-readonly-mark {
48
105
  cursor: not-allowed;
49
106
  z-index: 1;
50
107
  }
51
- `;if(j){const m="monaco-read-only";on(m)||rn(j,m),j=null}const M=()=>{d(E),E()},I=()=>{l(E),L=r.deltaDecorations(L,[])},E=()=>{const m=r.getModel();m&&(L=r.deltaDecorations(L,i.map(y(m))))},y=m=>p=>{const K=m.getPositionAt(p[0]),F=m.getPositionAt(p[1]);return{range:new c.Range(K.lineNumber,K.column,F.lineNumber,F.column),options:{className:"idoc-readonly-mark"}}};return{get buffer(){return i},exclude:u,attach:d,detach:l,dispose:N,show:M,hide:I}}function an(r,n,t){let i=!1;const a=I=>I[1]<I[0]?(i=!0,[[I[1],I[0]]]):[[...I]],u=I=>i?I.map(E=>E[1]>E[0]?l(E):E).reverse():I;let d;const l=I=>(d=I[1],I[1]=I[0],I[0]=d,I),f=a(r);let h,b,S,v,N,L,j,M;S=f[0];for(b of n)for(j=b[0],M=b[1],v=0;v<f.length;v++){if(S=f[v],N=S[0],L=S[1],N<j)L<j?h=[S]:L<=M?h=[[N,j-1]]:h=[[N,j-1],[M+1,L]];else if(N<=M)if(j===Number.NEGATIVE_INFINITY){const I=M+1;h=t===0?[]:[[I,L>I?L:I]]}else M===Number.POSITIVE_INFINITY?h=t===0?[]:[[j-1,j-1]]:L<=M?h=t<0?[[j-1,j-1]]:t>0?[[M+1,M+1]]:[]:h=[[M+1,L]];else h=[S];if(f.splice(v,1,...h),f.length===1&&f[0][1]<j)return u(f)}return u(f)}function ln(r,n){if(r.length<2)return r;const t=[];let i=null,a,u;r=r.map(d=>(d[1]<d[0]&&(a=d[1],d[1]=d[0],d[1]=a),d)).sort((d,l)=>d[0]-l[0]),t.push(r[0]);for(let d=1;d<r.length;d++)i=t[t.length-1],u=r[d],i[1]===u[0]&&!n?t.push(u):i[1]===u[0]-1&&n?(i[1]=u[1],t.splice(t.length-1,1,i)):i[1]<u[0]?t.push(u):i[1]<u[1]&&(i[1]=u[1],t.splice(t.length-1,1,i));return t}function se(r,n){return n.bind(r)}class un{constructor(n,t){V(this,"editor");V(this,"intervals");V(this,"disposables",[]);V(this,"prefer",1);V(this,"lastPrefer",1);V(this,"onCursor",se(this,function(n){if(n.source==="api")return;const t=this.getApprovedSelections();t.length!==0&&this.editor.setSelections(t)}));V(this,"onRectangleSelectionStart",se(this,function({event:n}){n.middleButton&&(this.lastPrefer=this.prefer,this.prefer=0,window.addEventListener("pointerup",this.onRectangleSelectionStop))}));V(this,"onRectangleSelectionStop",se(this,function(){this.prefer=this.lastPrefer,window.removeEventListener("pointerup",this.onRectangleSelectionStop)}));V(this,"onKey",se(this,function(n){const t=n.keyCode,i=c.KeyCode;if(n.altKey||i.F1<=t&&t<=i.F19||n.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 a=this.getSelections(),u=this.intervals.buffer;let d;if(t===i.Delete)d=l=>l[0]===l[1]&&u.find(f=>l[1]+1===f[0])!=null;else if(t===i.Backspace)d=l=>l[0]===l[1]&&u.find(f=>f[1]+1===l[0])!=null;else return;a.findIndex(d)!==-1&&(n.stopPropagation(),n.preventDefault())}));V(this,"getOffsetAt",se(this,function(n){let t;for(let i=0;i<this.intervals.buffer.length;i++)if(t=this.intervals.buffer[i],n<=t[1])return t[0]-n<n-t[1]?t[0]:t[1]}));var i;this.editor=n,this.intervals=sn(n,t),(i=this.editor.getModel())==null||i.setEOL(c.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 n of this.disposables)n.dispose();this.disposables.splice(0)}exclude(n,t,i,a){arguments.length===1?this.intervals.exclude(n,0,n,Number.MAX_SAFE_INTEGER):this.intervals.exclude(n,t,i,a)}getApprovedSelections(){const n=this.editor.getModel();return this.getSelections().map(i=>an(i,this.intervals.buffer,this.prefer)).flat().map(i=>{const a=n.getPositionAt(i[0]),u=n.getPositionAt(i[1]);return new c.Selection(a.lineNumber,a.column,u.lineNumber,u.column)})}getSelections(){const n=this.editor.getModel();return(this.editor.getSelections()||[]).map(t=>[n.getOffsetAt({lineNumber:t.selectionStartLineNumber,column:t.selectionStartColumn}),n.getOffsetAt({lineNumber:t.positionLineNumber,column:t.positionColumn})])}}const cn=new RegExp("^[ s]+(exposed|Function)","i"),He=()=>A.jsx("div",{className:"absolute inset-0 animate-pulse",children:A.jsx("div",{className:"w-full space-y-4 px-4 py-1",children:A.jsxs("div",{className:"space-y-2",children:[A.jsx("div",{className:"h-3 w-3/4 rounded bg-grey-200"}),A.jsx("div",{className:"h-3 rounded bg-grey-200"}),A.jsx("div",{className:"h-3 w-5/6 rounded bg-grey-200"}),A.jsx("div",{className:"h-3 rounded bg-grey-200"}),A.jsx("div",{className:"h-3 rounded bg-grey-200"})]})})}),dn=({path:r,initialValue:n,theme:t="fd-dark",type:i,language:a,onChange:u,options:d={},extra:l={},showAlerts:f=!1,lspProps:h,...b})=>{const{initialLineInfo:S,initialSelectionInfo:v}=l,{editor:N,setEditor:L}=rt(),{inited:j}=h;function M(E){a==="css"&&E.languages.registerCompletionItemProvider("css",Qt),a==="json"&&E.languages.json&&E.languages.json.jsonDefaults.setDiagnosticsOptions({validate:!0,schemas:[{uri:"condition-schema.json",fileMatch:["*.condition.json"],schema:nn}]})}function I(E,y){L(E);const m=E.getModel();if(m&&(m.updateOptions({insertSpaces:!1}),E.onKeyUp(()=>{var K;const p=(K=E.getPosition())==null?void 0:K.lineNumber;if(p){const F=m.getLineFirstNonWhitespaceColumn(p),k=m.getLineLength(p),U=m.getLineContent(p);cn.test(U)&&E.executeEdits("edit-handler",[{range:new y.Range(p,0,p,k),text:U.substr(F-1,k-F)}])}})),i===B.FileFolderType.METHOD&&B.hasAttributesString(n)){const p=new un(E,!0);p.exclude(1,1,1,Number.POSITIVE_INFINITY),p.enable()}}return w.useEffect(()=>{if(!N)return;const{line:E,offset:y}=S||{};E&&et(N,E,y)},[S,N]),w.useEffect(()=>{if(!N)return;const{selection:E}=v||{};E&&Qe(N,E)},[v,N]),j?A.jsxs(A.Fragment,{children:[f?A.jsx(at,{lspProps:h}):null,A.jsx(ye.Editor,{options:{readOnly:!0,fontSize:12,"semanticHighlighting.enabled":!0,padding:{top:10},...d},path:z(r),value:n,theme:"fd-dark",onChange:E=>u&&u(E||""),language:a,beforeMount:M,onMount:I,loading:A.jsx(He,{}),...b})]}):A.jsx(He,{})};exports.Alerts=at;exports.CodeEditor=dn;exports.CodeEditorProvider=Gt;exports.LSPProvider=Bt;exports._await=we;exports.getFileSystemPath=z;exports.getFunctionOffset=$t;exports.jumpToLine=et;exports.jumpToSelection=Qe;exports.useCodeEditor=rt;exports.useLSP=zt;
108
+ `;if(h){const s="monaco-read-only";Ve(s)||De(h,s),h=null}const w=()=>{g(c),c()},A=()=>{I(c),S=t.deltaDecorations(S,[])},c=()=>{const s=t.getModel();s&&(S=t.deltaDecorations(S,i.map(k(s))))},k=s=>l=>{const R=s.getPositionAt(l[0]),j=s.getPositionAt(l[1]);return{range:new o.Range(R.lineNumber,R.column,j.lineNumber,j.column),options:{className:"idoc-readonly-mark"}}};return{get buffer(){return i},exclude:a,attach:g,detach:I,dispose:v,show:w,hide:A}}function Me(t,e,n){let i=!1;const r=A=>A[1]<A[0]?(i=!0,[[A[1],A[0]]]):[[...A]],a=A=>i?A.map(c=>c[1]>c[0]?I(c):c).reverse():A;let g;const I=A=>(g=A[1],A[1]=A[0],A[0]=g,A),m=r(t);let y,K,N,b,v,S,h,w;N=m[0];for(K of e)for(h=K[0],w=K[1],b=0;b<m.length;b++){if(N=m[b],v=N[0],S=N[1],v<h)S<h?y=[N]:S<=w?y=[[v,h-1]]:y=[[v,h-1],[w+1,S]];else if(v<=w)if(h===Number.NEGATIVE_INFINITY){const A=w+1;y=n===0?[]:[[A,S>A?S:A]]}else w===Number.POSITIVE_INFINITY?y=n===0?[]:[[h-1,h-1]]:S<=w?y=n<0?[[h-1,h-1]]:n>0?[[w+1,w+1]]:[]:y=[[w+1,S]];else y=[N];if(m.splice(b,1,...y),m.length===1&&m[0][1]<h)return a(m)}return a(m)}function Pe(t,e){if(t.length<2)return t;const n=[];let i=null,r,a;t=t.map(g=>(g[1]<g[0]&&(r=g[1],g[1]=g[0],g[1]=r),g)).sort((g,I)=>g[0]-I[0]),n.push(t[0]);for(let g=1;g<t.length;g++)i=n[n.length-1],a=t[g],i[1]===a[0]&&!e?n.push(a):i[1]===a[0]-1&&e?(i[1]=a[1],n.splice(n.length-1,1,i)):i[1]<a[0]?n.push(a):i[1]<a[1]&&(i[1]=a[1],n.splice(n.length-1,1,i));return n}function G(t,e){return e.bind(t)}class qe{constructor(e,n){L(this,"editor");L(this,"intervals");L(this,"disposables",[]);L(this,"prefer",1);L(this,"lastPrefer",1);L(this,"onCursor",G(this,function(e){if(e.source==="api")return;const n=this.getApprovedSelections();n.length!==0&&this.editor.setSelections(n)}));L(this,"onRectangleSelectionStart",G(this,function({event:e}){e.middleButton&&(this.lastPrefer=this.prefer,this.prefer=0,window.addEventListener("pointerup",this.onRectangleSelectionStop))}));L(this,"onRectangleSelectionStop",G(this,function(){this.prefer=this.lastPrefer,window.removeEventListener("pointerup",this.onRectangleSelectionStop)}));L(this,"onKey",G(this,function(e){const n=e.keyCode,i=o.KeyCode;if(e.altKey||i.F1<=n&&n<=i.F19||e.ctrlKey&&n!==i.Backspace)return;if(n===i.UpArrow||n===i.LeftArrow||n===i.Home||n===i.PageUp){this.prefer=-1;return}if(n===i.DownArrow||n===i.RightArrow||n===i.End||n===i.PageDown){this.prefer=1;return}const r=this.getSelections(),a=this.intervals.buffer;let g;if(n===i.Delete)g=I=>I[0]===I[1]&&a.find(m=>I[1]+1===m[0])!=null;else if(n===i.Backspace)g=I=>I[0]===I[1]&&a.find(m=>m[1]+1===I[0])!=null;else return;r.findIndex(g)!==-1&&(e.stopPropagation(),e.preventDefault())}));L(this,"getOffsetAt",G(this,function(e){let n;for(let i=0;i<this.intervals.buffer.length;i++)if(n=this.intervals.buffer[i],e<=n[1])return n[0]-e<e-n[1]?n[0]:n[1]}));var i;this.editor=e,this.intervals=Ye(e,n),(i=this.editor.getModel())==null||i.setEOL(o.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,r){arguments.length===1?this.intervals.exclude(e,0,e,Number.MAX_SAFE_INTEGER):this.intervals.exclude(e,n,i,r)}getApprovedSelections(){const e=this.editor.getModel();return this.getSelections().map(i=>Me(i,this.intervals.buffer,this.prefer)).flat().map(i=>{const r=e.getPositionAt(i[0]),a=e.getPositionAt(i[1]);return new o.Selection(r.lineNumber,r.column,a.lineNumber,a.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 He=new RegExp("^[ s]+(exposed|Function)","i"),$=()=>p.jsx("div",{className:"absolute inset-0 animate-pulse",children:p.jsx("div",{className:"w-full space-y-4 px-4 py-1",children:p.jsxs("div",{className:"space-y-2",children:[p.jsx("div",{className:"h-3 w-3/4 rounded bg-grey-200"}),p.jsx("div",{className:"h-3 rounded bg-grey-200"}),p.jsx("div",{className:"h-3 w-5/6 rounded bg-grey-200"}),p.jsx("div",{className:"h-3 rounded bg-grey-200"}),p.jsx("div",{className:"h-3 rounded bg-grey-200"})]})})}),$e=({path:t,initialValue:e,theme:n="fd-dark",type:i,language:r,onChange:a,options:g={},extra:I={},showAlerts:m=!1,lspProps:y,...K})=>{const{initialLineInfo:N,initialSelectionInfo:b}=I,{editor:v,setEditor:S}=oe(),{inited:h}=y;function w(c){r==="css"&&c.languages.registerCompletionItemProvider("css",Oe),r==="json"&&c.languages.json&&c.languages.json.jsonDefaults.setDiagnosticsOptions({validate:!0,schemas:[{uri:"condition-schema.json",fileMatch:["*.condition.json"],schema:Je}]})}function A(c,k){S(c);const s=c.getModel();if(s&&(s.updateOptions({insertSpaces:!1}),c.onKeyUp(()=>{var R;const l=(R=c.getPosition())==null?void 0:R.lineNumber;if(l){const j=s.getLineFirstNonWhitespaceColumn(l),B=s.getLineLength(l),W=s.getLineContent(l);He.test(W)&&c.executeEdits("edit-handler",[{range:new k.Range(l,0,l,B),text:W.substr(j-1,B-j)}])}})),i===Z.FileFolderType.METHOD&&Z.hasAttributesString(e)){const l=new qe(c,!0);l.exclude(1,1,1,Number.POSITIVE_INFINITY),l.enable()}}return f.useEffect(()=>{if(!v)return;const{line:c,offset:k}=N||{};c&&ne(v,c,k)},[N,v]),f.useEffect(()=>{if(!v)return;const{selection:c}=b||{};c&&ee(v,c)},[b,v]),h?p.jsxs(p.Fragment,{children:[m?p.jsx(ae,{lspProps:y}):null,p.jsx(D.Editor,{options:{readOnly:!0,fontSize:12,"semanticHighlighting.enabled":!0,padding:{top:10},...g},path:F(t),value:e,theme:"fd-dark",onChange:c=>a&&a(c||""),language:r,beforeMount:w,onMount:A,loading:p.jsx($,{}),...K})]}):p.jsx($,{})},ze={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:T,whenReady:_e}=be.registerExtension(ze,void 0,{system:!0});T("./syntaxes/4d.tmLanguage.json",new URL("data:application/json;base64,ewogICJuYW1lIjogIjREIiwKICAic2NvcGVOYW1lIjogInNvdXJjZS40ZG0iLAogICJwYXR0ZXJucyI6IFsKICAgIHsKICAgICAgImluY2x1ZGUiOiAiI3N0YXRlbWVudHMiCiAgICB9CiAgXSwKICAicmVwb3NpdG9yeSI6IHsKICAgICJzdGF0ZW1lbnRzIjogewogICAgICAicGF0dGVybnMiOiBbCiAgICAgICAgewogICAgICAgICAgImluY2x1ZGUiOiAiI2NvbW1lbnQiCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgImNvbW1lbnQiOiB7CiAgICAgICJwYXR0ZXJucyI6IFsKICAgICAgICB7CiAgICAgICAgICAibmFtZSI6ICJjb21tZW50LmJsb2NrLjRkIiwKICAgICAgICAgICJiZWdpbiI6ICIoL1xcKikoPzpcXHMqKChAKWludGVybmFsKSg/PVxcc3woXFwqLykpKT8iLAogICAgICAgICAgImJlZ2luQ2FwdHVyZXMiOiB7CiAgICAgICAgICAgICIxIjogewogICAgICAgICAgICAgICJuYW1lIjogInB1bmN0dWF0aW9uLmRlZmluaXRpb24uY29tbWVudC40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjIiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAic3RvcmFnZS50eXBlLmludGVybmFsZGVjbGFyYXRpb24uNGQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICIzIjogewogICAgICAgICAgICAgICJuYW1lIjogInB1bmN0dWF0aW9uLmRlY29yYXRvci5pbnRlcm5hbGRlY2xhcmF0aW9uLjRkIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgImVuZCI6ICJcXCovIiwKICAgICAgICAgICJlbmRDYXB0dXJlcyI6IHsKICAgICAgICAgICAgIjAiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAicHVuY3R1YXRpb24uZGVmaW5pdGlvbi5jb21tZW50LjRkIgogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiYmVnaW4iOiAiKF5bIFxcdF0rKT8oKC8vKSg/OlxccyooKEApaW50ZXJuYWwpKD89XFxzfCQpKT8pIiwKICAgICAgICAgICJiZWdpbkNhcHR1cmVzIjogewogICAgICAgICAgICAiMSI6IHsKICAgICAgICAgICAgICAibmFtZSI6ICJwdW5jdHVhdGlvbi53aGl0ZXNwYWNlLmNvbW1lbnQubGVhZGluZy40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjIiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAiY29tbWVudC5saW5lLmRvdWJsZS1zbGFzaC40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjMiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAicHVuY3R1YXRpb24uZGVmaW5pdGlvbi5jb21tZW50LjRkIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiNCI6IHsKICAgICAgICAgICAgICAibmFtZSI6ICJzdG9yYWdlLnR5cGUuaW50ZXJuYWxkZWNsYXJhdGlvbi40ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIjUiOiB7CiAgICAgICAgICAgICAgIm5hbWUiOiAicHVuY3R1YXRpb24uZGVjb3JhdG9yLmludGVybmFsZGVjbGFyYXRpb24uNGQiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAiZW5kIjogIig/PSQpIiwKICAgICAgICAgICJjb250ZW50TmFtZSI6ICJjb21tZW50LmxpbmUuZG91YmxlLXNsYXNoLjRkIgogICAgICAgIH0KICAgICAgXQogICAgfQogIH0KfQo=",self.location).toString(),{mimeType:"application/json",size:1592});T("./language-configuration.json",new URL("data:application/json;base64,ewogICJjb21tZW50cyI6IHsKICAgICJsaW5lQ29tbWVudCI6ICIvLyIsCiAgICAiYmxvY2tDb21tZW50IjogWyIvKioiLCAiKiovIl0KICB9LAogIC8vIHN5bWJvbHMgdXNlZCBhcyBicmFja2V0cwogICJicmFja2V0cyI6IFsKICAgIFsieyIsICJ9Il0sCiAgICBbIigiLCAiKSJdLAogICAgWyJbIiwgIl0iXQogIF0sCiAgLy8gc3ltYm9scyB0aGF0IGFyZSBhdXRvIGNsb3NlZCB3aGVuIHR5cGluZwogIC8vIHN5bWJvbHMgdGhhdCB0aGF0IGNhbiBiZSB1c2VkIHRvIHN1cnJvdW5kIGEgc2VsZWN0aW9uCiAgInN1cnJvdW5kaW5nUGFpcnMiOiBbCiAgICBbInsiLCAifSJdLAogICAgWyJbIiwgIl0iXSwKICAgIFsiKCIsICIpIl0sCiAgICBbIlwiIiwgIlwiIl0sCiAgICBbIiciLCAiJyJdCiAgXSwKICAiYXV0b0Nsb3NpbmdQYWlycyI6IFsKICAgIHsKICAgICAgIm9wZW4iOiAiKCIsCiAgICAgICJjbG9zZSI6ICIpIgogICAgfSwKICAgIHsgIm9wZW4iOiAieyIsICJjbG9zZSI6ICJ9IiB9LAogICAgeyAib3BlbiI6ICJbIiwgImNsb3NlIjogIl0iIH0sCiAgICB7ICJvcGVuIjogIiciLCAiY2xvc2UiOiAiJyIsICJub3RJbiI6IFsic3RyaW5nIiwgImNvbW1lbnQiXSB9LAogICAgeyAib3BlbiI6ICJcIiIsICJjbG9zZSI6ICJcIiIsICJub3RJbiI6IFsic3RyaW5nIl0gfSwKICAgIHsgIm9wZW4iOiAiYCIsICJjbG9zZSI6ICJgIiwgIm5vdEluIjogWyJzdHJpbmciLCAiY29tbWVudCJdIH0sCiAgICB7ICJvcGVuIjogIi8qKiIsICJjbG9zZSI6ICIgKiovIiwgIm5vdEluIjogWyJzdHJpbmciXSB9CiAgXSwKICAiYXV0b0Nsb3NlQmVmb3JlIjogIjs6Liw9fV0pPmAgXG5cdCIsCiAgIndvcmRQYXR0ZXJuIjogIigtP1xcZCpcXC5cXGRcXHcqKXwoW15cXGBcXH5cXCFcXEBcXCNcXCVcXF5cXCZcXCpcXChcXClcXC1cXD1cXCtcXFtcXHtcXF1cXH1cXFxcXFx8XFw7XFw6XFwnXFxcIlxcLFxcLlxcPFxcPlxcL1xcP1xcclxcblxcdFxcZlxcdiBdKyl8KD88PVthLXpBLVpdKSA/KD89W2EtekEtWl0pIiwKICAiaW5kZW50YXRpb25SdWxlcyI6IHsKICAgICJpbmNyZWFzZUluZGVudFBhdHRlcm4iOiB7CiAgICAgICJwYXR0ZXJuIjogIiheKD8hW15cXHNdKSpcXHMqKGNsYXNzIGNvbnN0cnVjdG9yKSl8KF4oPyFbXlxcc10pKlxccyooZXhwb3NlZHxsb2NhbHxcXHMqKXsxfVxccypmdW5jdGlvbnsxfVxccypcXHcpfCheKD8hW15cXHNdKSpcXHMqKElmfEVsc2V8Rm9yfEZvciBlYWNofFdoaWxlfEJlZ2luIFNRTHxDYXNlIG9mfFVzZXxSZXBlYXR8OiAqXFwoLiopKS4qJCIsCiAgICAgICJmbGFncyI6ICJpIgogICAgfSwKICAgICJkZWNyZWFzZUluZGVudFBhdHRlcm4iOiB7CiAgICAgICJwYXR0ZXJuIjogIiheKD8hW15cXHNdKSpcXHMqKGV4cG9zZWR8bG9jYWx8XFxzKil7MX1cXHMqZnVuY3Rpb257MX1cXHMqXFx3KXwoRW5kIElmfEVuZCBGb3J8RWxzZXxFbmQgZm9yIGVhY2h8RW5kIFdoaWxlfEVuZCBTUUx8RW5kIGNhc2V8RW5kIHVzZXxVbnRpbHw6ICpcXCguKikuKiQiLAogICAgICAiZmxhZ3MiOiAiaSIKICAgIH0KICB9LAogICJvbkVudGVyUnVsZXMiOiBbCiAgICB7CiAgICAgICJiZWZvcmVUZXh0IjogewogICAgICAgICJwYXR0ZXJuIjogIl5leHBvc2VkIiwKICAgICAgICAiZmxhZ3MiOiAiaSIKICAgICAgfSwKICAgICAgImFjdGlvbiI6IHsgImluZGVudCI6ICJpbmRlbnQiLCAiaW5kZW50QWN0aW9uIjogMSB9CiAgICB9CiAgXQp9Cg==",self.location).toString(),{mimeType:"application/json",size:1723});T("package.json",new URL("data:application/json;base64,ewogICAgIm5hbWUiOiAiNGQiLAogICAgImRpc3BsYXlOYW1lIjogIiVkaXNwbGF5TmFtZSUiLAogICAgImRlc2NyaXB0aW9uIjogIiVkZXNjcmlwdGlvbiUiLAogICAgInZlcnNpb24iOiAiMS4wLjAiLAogICAgInB1Ymxpc2hlciI6ICJ2c2NvZGUiLAogICAgImxpY2Vuc2UiOiAiTUlUIiwKICAgICJlbmdpbmVzIjogewogICAgICAgICJ2c2NvZGUiOiAiMC4xMC54IgogICAgfSwKICAgICJzY3JpcHRzIjogewogICAgICAgICJ1cGRhdGUtZ3JhbW1hciI6ICJub2RlIC4uL25vZGVfbW9kdWxlcy92c2NvZGUtZ3JhbW1hci11cGRhdGVyL2JpbiBtaWNyb3NvZnQvdnNjb2RlLTRkIGdyYW1tYXJzLzRkLmNzb24gLi9zeW50YXhlcy80ZC50bUxhbmd1YWdlLmpzb24iCiAgICB9LAogICAgImNhdGVnb3JpZXMiOiBbCiAgICAgICAgIlByb2dyYW1taW5nIExhbmd1YWdlcyIKICAgIF0sCiAgICAiY29udHJpYnV0ZXMiOiB7CiAgICAgICAgImxhbmd1YWdlcyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJpZCI6ICI0ZCIsCiAgICAgICAgICAgICAgImFsaWFzZXMiOiBbIjREIiwgIjRkIl0sCiAgICAgICAgICAgICAgImV4dGVuc2lvbnMiOiBbIi40ZG0iLCAiLjRxcyJdLAogICAgICAgICAgICAgICJjb25maWd1cmF0aW9uIjogIi4vbGFuZ3VhZ2UtY29uZmlndXJhdGlvbi5qc29uIgogICAgICAgICAgICB9CiAgICAgICAgICBdLAogICAgICAgICAgImdyYW1tYXJzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgImxhbmd1YWdlIjogIjRkIiwKICAgICAgICAgICAgICAic2NvcGVOYW1lIjogInNvdXJjZS40ZG0iLAogICAgICAgICAgICAgICJwYXRoIjogIi4vc3ludGF4ZXMvNGQudG1MYW5ndWFnZS5qc29uIgogICAgICAgICAgICB9CiAgICAgICAgICBdCiAgICB9LAogICAgInJlcG9zaXRvcnkiOiB7CiAgICAgICAgInR5cGUiOiAiZ2l0IiwKICAgICAgICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvdnNjb2RlLmdpdCIKICAgIH0KfQ==",self.location).toString(),{mimeType:"application/json",size:1006});T("package.nls.json",new URL("data:application/json;base64,ewogICJkaXNwbGF5TmFtZSI6ICI0RCBMYW5ndWFnZSBCYXNpY3MiLAogICJkZXNjcmlwdGlvbiI6ICJQcm92aWRlcyBzeW50YXggaGlnaGxpZ2h0aW5nIGFuZCBicmFja2V0IG1hdGNoaW5nIGZvciA0RE0gYW5kIDRRUyBmaWxlcy4iCn0K",self.location).toString(),{mimeType:"application/json",size:135});exports.Alerts=ae;exports.CodeEditor=$e;exports.CodeEditorProvider=Ke;exports.LSPProvider=Fe;exports._await=Y;exports.configureServices=Q;exports.getFileSystemPath=F;exports.getFunctionOffset=we;exports.initMonacoUserConfiguration=_;exports.jumpToLine=ne;exports.jumpToSelection=ee;exports.useCodeEditor=oe;exports.useLSP=Ze;
52
109
  //# sourceMappingURL=index.cjs.js.map