@omegagrid/code 0.10.2 → 0.10.4

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 (49) hide show
  1. package/dist/components/code.d.ts +33 -0
  2. package/dist/components/code.d.ts.map +1 -0
  3. package/dist/components/code.js +219 -0
  4. package/dist/components/code.js.map +1 -0
  5. package/dist/components/codeBlock.d.ts +208 -0
  6. package/dist/components/codeBlock.d.ts.map +1 -0
  7. package/dist/components/codeBlock.js +211 -0
  8. package/dist/components/codeBlock.js.map +1 -0
  9. package/dist/components/codeDiff.d.ts +35 -0
  10. package/dist/components/codeDiff.d.ts.map +1 -0
  11. package/dist/components/codeDiff.js +243 -0
  12. package/dist/components/codeDiff.js.map +1 -0
  13. package/dist/components/codeView.d.ts +19 -0
  14. package/dist/components/codeView.d.ts.map +1 -0
  15. package/dist/components/codeView.js +85 -0
  16. package/dist/components/codeView.js.map +1 -0
  17. package/dist/components/codeView.style.d.ts +2 -0
  18. package/dist/components/codeView.style.d.ts.map +1 -0
  19. package/dist/components/codeView.style.js +70 -0
  20. package/dist/components/codeView.style.js.map +1 -0
  21. package/dist/components/index.d.ts +6 -0
  22. package/dist/components/index.d.ts.map +1 -0
  23. package/dist/components/index.js +6 -0
  24. package/dist/components/index.js.map +1 -0
  25. package/dist/components/shared.d.ts +9 -0
  26. package/dist/components/shared.d.ts.map +1 -0
  27. package/dist/components/shared.js +8 -0
  28. package/dist/components/shared.js.map +1 -0
  29. package/dist/constants.d.ts +47 -0
  30. package/dist/constants.d.ts.map +1 -0
  31. package/dist/constants.js +5 -0
  32. package/dist/constants.js.map +1 -0
  33. package/dist/index.d.ts +4 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +4 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/loader.d.ts +24 -0
  38. package/dist/loader.d.ts.map +1 -0
  39. package/dist/loader.js +45 -0
  40. package/dist/loader.js.map +1 -0
  41. package/dist/types.d.ts +1 -0
  42. package/dist/types.d.ts.map +1 -0
  43. package/dist/types.js +1 -0
  44. package/dist/types.js.map +1 -0
  45. package/dist/utils.d.ts +5 -0
  46. package/dist/utils.d.ts.map +1 -0
  47. package/dist/utils.js +20 -0
  48. package/dist/utils.js.map +1 -0
  49. package/package.json +4 -4
@@ -0,0 +1,33 @@
1
+ import { Layout } from '@omegagrid/core';
2
+ import { LitElement } from 'lit';
3
+ import type * as monaco from 'monaco-editor';
4
+ export declare class Code extends LitElement implements Layout {
5
+ #private;
6
+ static defaultZIndex: number;
7
+ static styles: import("lit").CSSResult;
8
+ static monaco: typeof monaco;
9
+ get monaco(): typeof monaco;
10
+ get editor(): monaco.editor.IStandaloneCodeEditor;
11
+ get model(): monaco.editor.ITextModel;
12
+ get options(): monaco.editor.IStandaloneEditorConstructionOptions;
13
+ set options(val: monaco.editor.IStandaloneEditorConstructionOptions);
14
+ get content(): string;
15
+ set content(val: string);
16
+ get language(): string;
17
+ set language(val: string);
18
+ get selectedContent(): string;
19
+ get container(): HTMLDivElement;
20
+ get theme(): "vs" | "vs-dark";
21
+ zIndex: number;
22
+ getOptions: () => monaco.editor.IStandaloneEditorConstructionOptions;
23
+ showContainer(): void;
24
+ hideContainer(): void;
25
+ initEditor(): Promise<void>;
26
+ updated(): Promise<void>;
27
+ connectedCallback(): void;
28
+ disconnectedCallback(): void;
29
+ layout(): void;
30
+ dispose(): void;
31
+ focus(): void;
32
+ }
33
+ //# sourceMappingURL=code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/components/code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,MAAM,EAA2B,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAO,MAAM,KAAK,CAAC;AAGtC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAM7C,qBACa,IAAK,SAAQ,UAAW,YAAW,MAAM;;IAErD,OAAc,aAAa,SAAS;IAEpC,MAAM,CAAC,MAAM,0BAQX;IAEF,MAAM,CAAC,MAAM,EAAE,OAAO,MAAM,CAAC;IAC7B,IAAI,MAAM,kBAAyB;IAGnC,IAAI,MAAM,wCAA0B;IACpC,IAAI,KAAK,6BAAsC;IAG/C,IACI,OAAO,IACM,MAAM,CAAC,MAAM,CAAC,oCAAoC,CAD7B;IACtC,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,oCAAoC,EAGlE;IAED,IACI,OAAO,IACM,MAAM,CADwD;IAC/E,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAQtB;IAGD,IACI,QAAQ,IACM,MAAM,CADgB;IACxC,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,EAKvB;IAED,IAAI,eAAe,WAKlB;IASD,IAAI,SAAS,mBAER;IACL,IAAI,KAAK,qBAA+E;IAMxF,MAAM,SAAsB;IAE5B,UAAU,QAAO,MAAM,CAAC,MAAM,CAAC,oCAAoC,CAQhE;IAEH,aAAa;IAMb,aAAa;IAIP,UAAU;IAkDV,OAAO;IAKb,iBAAiB;IAUjB,oBAAoB;IAKpB,MAAM;IAaN,OAAO;IAQP,KAAK;CAIL"}
@@ -0,0 +1,219 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
13
+ if (kind === "m") throw new TypeError("Private method is not writable");
14
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
15
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
16
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
17
+ };
18
+ var _Code_editor, _Code_options, _Code_language, _Code_preventChangeEvent, _Code_state, _Code_content, _Code_selection, _Code_scrollPosition, _Code_container, _Code_onStyleChange;
19
+ var Code_1;
20
+ import { dom, getThemeManager, events } from '@omegagrid/core';
21
+ import { LitElement, css } from 'lit';
22
+ import { customElement, property } from 'lit/decorators.js';
23
+ import { MonacoLoader } from '../loader';
24
+ import { getDefaultOptions } from '@omegagrid/core';
25
+ import { CodeEvent } from './shared';
26
+ const VISIBILITY_THRESHOLD_SIZE = 10; // minimum width/height to show the editor
27
+ let Code = Code_1 = class Code extends LitElement {
28
+ constructor() {
29
+ super(...arguments);
30
+ _Code_editor.set(this, void 0);
31
+ _Code_options.set(this, void 0);
32
+ _Code_language.set(this, 'typescript');
33
+ _Code_preventChangeEvent.set(this, false);
34
+ _Code_state.set(this, 0); // 0: initial, 1: initializing, 2: initialized
35
+ _Code_content.set(this, void 0);
36
+ _Code_selection.set(this, void 0);
37
+ _Code_scrollPosition.set(this, void 0);
38
+ _Code_container.set(this, void 0);
39
+ _Code_onStyleChange.set(this, () => {
40
+ __classPrivateFieldGet(this, _Code_editor, "f").updateOptions({ theme: this.theme });
41
+ });
42
+ this.zIndex = Code_1.defaultZIndex;
43
+ this.getOptions = () => ({
44
+ ...this.options,
45
+ theme: this.theme,
46
+ language: __classPrivateFieldGet(this, _Code_language, "f"),
47
+ fontSize: getDefaultOptions().fontSize,
48
+ // workaround for caret positioning issue in chrome
49
+ // https://github.com/microsoft/monaco-editor/issues/3217#issuecomment-1511978166
50
+ fontLigatures: ''
51
+ });
52
+ }
53
+ get monaco() { return Code_1.monaco; }
54
+ get editor() { return __classPrivateFieldGet(this, _Code_editor, "f"); }
55
+ get model() { return __classPrivateFieldGet(this, _Code_editor, "f")?.getModel(); }
56
+ get options() { return __classPrivateFieldGet(this, _Code_options, "f"); }
57
+ set options(val) {
58
+ __classPrivateFieldSet(this, _Code_options, val, "f");
59
+ __classPrivateFieldGet(this, _Code_editor, "f")?.updateOptions(val);
60
+ }
61
+ get content() { return __classPrivateFieldGet(this, _Code_editor, "f") ? __classPrivateFieldGet(this, _Code_editor, "f").getValue() : __classPrivateFieldGet(this, _Code_content, "f"); }
62
+ set content(val) {
63
+ if (val == null)
64
+ val = '';
65
+ if (__classPrivateFieldGet(this, _Code_editor, "f")) {
66
+ __classPrivateFieldSet(this, _Code_preventChangeEvent, true, "f");
67
+ __classPrivateFieldGet(this, _Code_editor, "f")?.setValue(val);
68
+ }
69
+ else {
70
+ __classPrivateFieldSet(this, _Code_content, val, "f");
71
+ }
72
+ }
73
+ get language() { return __classPrivateFieldGet(this, _Code_language, "f"); }
74
+ set language(val) {
75
+ __classPrivateFieldSet(this, _Code_language, val, "f");
76
+ if (this.model) {
77
+ MonacoLoader.get().then(monaco => monaco.editor.setModelLanguage(this.model, val));
78
+ }
79
+ }
80
+ get selectedContent() {
81
+ if (!__classPrivateFieldGet(this, _Code_editor, "f"))
82
+ return __classPrivateFieldGet(this, _Code_content, "f");
83
+ const selectedCodeChunks = __classPrivateFieldGet(this, _Code_editor, "f").getSelections().map(selection => this.model.getValueInRange(selection));
84
+ const selectedCode = selectedCodeChunks.join("\n").trim();
85
+ return selectedCode == null || selectedCode == '' ? __classPrivateFieldGet(this, _Code_editor, "f").getValue() : selectedCode;
86
+ }
87
+ get container() {
88
+ return __classPrivateFieldGet(this, _Code_container, "f") ?? (__classPrivateFieldSet(this, _Code_container, dom.createElement('div', {
89
+ style: { zIndex: this.zIndex.toString() }
90
+ }), "f"));
91
+ }
92
+ get theme() { return getThemeManager().activeTheme?.type == 'light' ? 'vs' : 'vs-dark'; }
93
+ showContainer() {
94
+ if (this.container.parentElement !== document.body) {
95
+ document.body.appendChild(this.container);
96
+ }
97
+ }
98
+ hideContainer() {
99
+ __classPrivateFieldGet(this, _Code_container, "f")?.remove();
100
+ }
101
+ async initEditor() {
102
+ if (__classPrivateFieldGet(this, _Code_state, "f") > 0)
103
+ return;
104
+ __classPrivateFieldSet(this, _Code_state, 1, "f");
105
+ Code_1.monaco = await MonacoLoader.get();
106
+ __classPrivateFieldSet(this, _Code_editor, Code_1.monaco.editor.create(this.container, this.getOptions()), "f");
107
+ const language = __classPrivateFieldGet(this, _Code_language, "f");
108
+ const model = Code_1.monaco.editor.createModel(__classPrivateFieldGet(this, _Code_content, "f"), language);
109
+ __classPrivateFieldGet(this, _Code_editor, "f").setModel(model);
110
+ if (__classPrivateFieldGet(this, _Code_selection, "f"))
111
+ __classPrivateFieldGet(this, _Code_editor, "f").setSelection(__classPrivateFieldGet(this, _Code_selection, "f"));
112
+ if (__classPrivateFieldGet(this, _Code_scrollPosition, "f"))
113
+ __classPrivateFieldGet(this, _Code_editor, "f").setScrollPosition({
114
+ scrollTop: __classPrivateFieldGet(this, _Code_scrollPosition, "f").top,
115
+ scrollLeft: __classPrivateFieldGet(this, _Code_scrollPosition, "f").left
116
+ });
117
+ __classPrivateFieldGet(this, _Code_editor, "f").onDidBlurEditorText(() => {
118
+ this.dispatchEvent(new CodeEvent('blur', { editor: __classPrivateFieldGet(this, _Code_editor, "f") }));
119
+ });
120
+ __classPrivateFieldGet(this, _Code_editor, "f").onDidChangeModelContent(e => {
121
+ if (__classPrivateFieldGet(this, _Code_preventChangeEvent, "f")) {
122
+ __classPrivateFieldSet(this, _Code_preventChangeEvent, false, "f");
123
+ return;
124
+ }
125
+ this.dispatchEvent(new CodeEvent('change', {
126
+ editor: __classPrivateFieldGet(this, _Code_editor, "f"),
127
+ changes: e.changes
128
+ }));
129
+ this.dispatchEvent(new events.ChangeEvent({ value: model }));
130
+ });
131
+ __classPrivateFieldGet(this, _Code_editor, "f").onKeyDown(e => {
132
+ this.dispatchEvent(new CodeEvent('keydown', { editor: __classPrivateFieldGet(this, _Code_editor, "f") }, e.browserEvent));
133
+ });
134
+ __classPrivateFieldSet(this, _Code_preventChangeEvent, false, "f");
135
+ __classPrivateFieldSet(this, _Code_state, 2, "f");
136
+ this.dispatchEvent(new CodeEvent('ready', { editor: __classPrivateFieldGet(this, _Code_editor, "f") }));
137
+ __classPrivateFieldGet(this, _Code_editor, "f").focus();
138
+ setTimeout(() => {
139
+ if (__classPrivateFieldGet(this, _Code_language, "f") != language) {
140
+ // if the language was changed while the editor was initializing, update the model language
141
+ Code_1.monaco.editor.setModelLanguage(model, __classPrivateFieldGet(this, _Code_language, "f"));
142
+ }
143
+ }, 100);
144
+ }
145
+ async updated() {
146
+ await this.initEditor();
147
+ this.layout();
148
+ }
149
+ connectedCallback() {
150
+ super.connectedCallback();
151
+ getThemeManager().addEventListener('change', __classPrivateFieldGet(this, _Code_onStyleChange, "f"));
152
+ if (this.hasUpdated) {
153
+ this.initEditor();
154
+ this.layout();
155
+ }
156
+ }
157
+ disconnectedCallback() {
158
+ getThemeManager().removeEventListener('change', __classPrivateFieldGet(this, _Code_onStyleChange, "f"));
159
+ this.hideContainer();
160
+ }
161
+ layout() {
162
+ if (!this.isConnected || this.clientWidth < VISIBILITY_THRESHOLD_SIZE || this.clientHeight < VISIBILITY_THRESHOLD_SIZE) {
163
+ this.hideContainer();
164
+ return;
165
+ }
166
+ this.showContainer();
167
+ const offset = dom.getElementOffset(this, document.body);
168
+ dom.setPosition(this.container, { t: offset.top + 1, l: offset.left + 1 });
169
+ dom.setSize(this.container, { w: this.clientWidth - 1, h: this.clientHeight - 1 });
170
+ this.editor?.layout();
171
+ }
172
+ dispose() {
173
+ __classPrivateFieldGet(this, _Code_container, "f")?.remove();
174
+ __classPrivateFieldSet(this, _Code_container, null, "f");
175
+ __classPrivateFieldGet(this, _Code_editor, "f")?.dispose();
176
+ __classPrivateFieldSet(this, _Code_editor, null, "f");
177
+ __classPrivateFieldSet(this, _Code_state, 0, "f");
178
+ }
179
+ focus() {
180
+ __classPrivateFieldGet(this, _Code_editor, "f")?.focus();
181
+ }
182
+ };
183
+ _Code_editor = new WeakMap();
184
+ _Code_options = new WeakMap();
185
+ _Code_language = new WeakMap();
186
+ _Code_preventChangeEvent = new WeakMap();
187
+ _Code_state = new WeakMap();
188
+ _Code_content = new WeakMap();
189
+ _Code_selection = new WeakMap();
190
+ _Code_scrollPosition = new WeakMap();
191
+ _Code_container = new WeakMap();
192
+ _Code_onStyleChange = new WeakMap();
193
+ Code.defaultZIndex = 10000;
194
+ Code.styles = css `
195
+ :host {
196
+ user-select: text;
197
+ display: block;
198
+ width: 100%;
199
+ height: 100%;
200
+ position: relative;
201
+ }
202
+ `;
203
+ __decorate([
204
+ property({ type: Object, noAccessor: true })
205
+ ], Code.prototype, "options", null);
206
+ __decorate([
207
+ property({ type: String, noAccessor: true })
208
+ ], Code.prototype, "content", null);
209
+ __decorate([
210
+ property({ type: String, noAccessor: true })
211
+ ], Code.prototype, "language", null);
212
+ __decorate([
213
+ property({ type: Number })
214
+ ], Code.prototype, "zIndex", void 0);
215
+ Code = Code_1 = __decorate([
216
+ customElement('og-code')
217
+ ], Code);
218
+ export { Code };
219
+ //# sourceMappingURL=code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/components/code.ts"],"names":[],"mappings":"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","sourcesContent":["import { dom, Layout, getThemeManager, events } from '@omegagrid/core';\nimport { LitElement, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { MonacoLoader } from '../loader';\nimport type * as monaco from 'monaco-editor';\nimport { getDefaultOptions } from '@omegagrid/core';\nimport { CodeEvent } from './shared';\n\nconst VISIBILITY_THRESHOLD_SIZE = 10; // minimum width/height to show the editor\n\n@customElement('og-code')\nexport class Code extends LitElement implements Layout {\n\n\tpublic static defaultZIndex = 10000;\n\n\tstatic styles = css`\n\t\t:host {\n\t\t\tuser-select: text;\n\t\t\tdisplay: block;\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\tposition: relative;\n\t\t}\n\t`;\n\n\tstatic monaco: typeof monaco;\n\tget monaco() { return Code.monaco }\n\n\t#editor: monaco.editor.IStandaloneCodeEditor;\n\tget editor() { return this.#editor }\n\tget model() { return this.#editor?.getModel() }\n\t\t\n\t#options: monaco.editor.IStandaloneEditorConstructionOptions;\n\t@property({type: Object, noAccessor: true})\n\tget options() { return this.#options }\n\tset options(val: monaco.editor.IStandaloneEditorConstructionOptions) {\n\t\tthis.#options = val;\n\t\tthis.#editor?.updateOptions(val);\n\t}\n\n\t@property({type: String, noAccessor: true})\n\tget content() { return this.#editor ? this.#editor.getValue() : this.#content }\n\tset content(val: string) {\n\t\tif (val == null) val = '';\n\t\tif (this.#editor) {\n\t\t\tthis.#preventChangeEvent = true;\n\t\t\tthis.#editor?.setValue(val);\n\t\t} else {\n\t\t\tthis.#content = val;\n\t\t}\n\t}\n\n\t#language = 'typescript';\n\t@property({type: String, noAccessor: true})\n\tget language() { return this.#language }\n\tset language(val: string) {\n\t\tthis.#language = val;\n\t\tif (this.model) {\n\t\t\tMonacoLoader.get().then(monaco => monaco.editor.setModelLanguage(this.model, val));\n\t\t}\n\t}\n\n\tget selectedContent() {\n\t\tif (!this.#editor) return this.#content;\n\t\tconst selectedCodeChunks = this.#editor.getSelections().map(selection => this.model.getValueInRange(selection));\n\t\tconst selectedCode = selectedCodeChunks.join(\"\\n\").trim();\n\t\treturn selectedCode == null || selectedCode == '' ? this.#editor.getValue() : selectedCode;\n\t}\n\n\t#preventChangeEvent = false;\n\t#state: 0|1|2 = 0; // 0: initial, 1: initializing, 2: initialized\n\t#content: string;\n\t#selection: monaco.Selection;\n\t#scrollPosition: {top: number, left: number};\n\n\t#container: HTMLDivElement;\n\tget container() { return this.#container ?? (this.#container = dom.createElement('div', {\n\t\tstyle: {zIndex: this.zIndex.toString()}\n\t})) }\n\tget theme() { return getThemeManager().activeTheme?.type == 'light' ? 'vs' : 'vs-dark' }\n\t#onStyleChange = () => {\n\t\tthis.#editor.updateOptions({theme: this.theme});\n\t}\n\n\t@property({type: Number})\n\tzIndex = Code.defaultZIndex;\n\n\tgetOptions = (): monaco.editor.IStandaloneEditorConstructionOptions => ({\n\t\t...this.options,\n\t\ttheme: this.theme,\n\t\tlanguage: this.#language,\n\t\tfontSize: getDefaultOptions().fontSize,\n\t\t// workaround for caret positioning issue in chrome\n\t\t// https://github.com/microsoft/monaco-editor/issues/3217#issuecomment-1511978166\n\t\tfontLigatures: ''\n\t});\n\n\tshowContainer() {\n\t\tif (this.container.parentElement !== document.body) {\n\t\t\tdocument.body.appendChild(this.container);\n\t\t}\n\t}\n\n\thideContainer() {\n\t\tthis.#container?.remove();\n\t}\n\n\tasync initEditor() {\n\t\tif (this.#state > 0) return;\n\t\tthis.#state = 1;\n\t\t\n\t\tCode.monaco = await MonacoLoader.get();\n\t\tthis.#editor = Code.monaco.editor.create(this.container, this.getOptions());\n\n\t\tconst language = this.#language;\n\t\tconst model = Code.monaco.editor.createModel(this.#content, language);\n\t\tthis.#editor.setModel(model);\n\t\tif (this.#selection) this.#editor.setSelection(this.#selection);\n\t\tif (this.#scrollPosition) this.#editor.setScrollPosition({\n\t\t\tscrollTop: this.#scrollPosition.top,\n\t\t\tscrollLeft: this.#scrollPosition.left\n\t\t});\n\n\t\tthis.#editor.onDidBlurEditorText(() => {\n\t\t\tthis.dispatchEvent(new CodeEvent('blur', {editor: this.#editor}));\n\t\t});\n\n\t\tthis.#editor.onDidChangeModelContent(e => {\n\t\t\tif (this.#preventChangeEvent) {\n\t\t\t\tthis.#preventChangeEvent = false;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.dispatchEvent(new CodeEvent('change', {\n\t\t\t\teditor: this.#editor,\n\t\t\t\tchanges: e.changes\n\t\t\t}));\n\t\t\tthis.dispatchEvent(new events.ChangeEvent({value: model}));\n\t\t});\n\n\t\tthis.#editor.onKeyDown(e => {\n\t\t\tthis.dispatchEvent(new CodeEvent('keydown', {editor: this.#editor}, e.browserEvent));\n\t\t});\n\n\t\tthis.#preventChangeEvent = false;\n\t\tthis.#state = 2;\n\t\t\n\t\tthis.dispatchEvent(new CodeEvent('ready', {editor: this.#editor}));\n\t\tthis.#editor.focus();\n\n\t\tsetTimeout(() => {\n\t\t\tif (this.#language != language) {\n\t\t\t\t// if the language was changed while the editor was initializing, update the model language\n\t\t\t\tCode.monaco.editor.setModelLanguage(model, this.#language);\n\t\t\t}\n\t\t}, 100);\n\t}\n\n\tasync updated() {\n\t\tawait this.initEditor();\n\t\tthis.layout();\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback();\n\t\tgetThemeManager().addEventListener('change', this.#onStyleChange);\n\n\t\tif (this.hasUpdated) {\n\t\t\tthis.initEditor();\n\t\t\tthis.layout();\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tgetThemeManager().removeEventListener('change', this.#onStyleChange);\n\t\tthis.hideContainer();\n\t}\n\n\tlayout() {\n\t\tif (!this.isConnected || this.clientWidth < VISIBILITY_THRESHOLD_SIZE || this.clientHeight < VISIBILITY_THRESHOLD_SIZE) {\n\t\t\tthis.hideContainer();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.showContainer();\n\t\tconst offset = dom.getElementOffset(this, document.body);\n\t\tdom.setPosition(this.container, {t: offset.top+ 1, l: offset.left + 1});\n\t\tdom.setSize(this.container, {w: this.clientWidth - 1, h: this.clientHeight - 1});\n\t\tthis.editor?.layout();\n\t}\n\n\tdispose() {\n\t\tthis.#container?.remove();\n\t\tthis.#container = null;\n\t\tthis.#editor?.dispose();\n\t\tthis.#editor = null;\n\t\tthis.#state = 0;\n\t}\n\n\tfocus() {\n\t\tthis.#editor?.focus();\n\t}\n\n}"]}
@@ -0,0 +1,208 @@
1
+ import { Layout } from '@omegagrid/core';
2
+ import { LitElement } from 'lit';
3
+ import { Code } from './code';
4
+ import { CodeEvent } from './shared';
5
+ import { TreeAdapter, TreeEvent, TreeOptions } from '@omegagrid/tree';
6
+ import type * as monaco from 'monaco-editor';
7
+ import { CodeView } from './codeView';
8
+ declare class LangTreeAdapter extends TreeAdapter {
9
+ getTree(): Promise<{
10
+ k: string;
11
+ v: string;
12
+ }[]>;
13
+ getOptions(): TreeOptions;
14
+ }
15
+ export declare class CodeBlock extends LitElement implements Layout {
16
+ #private;
17
+ static styles: import("lit").CSSResult;
18
+ language: string;
19
+ dynamicHeight: boolean;
20
+ maxHeight: number;
21
+ minHeight: number;
22
+ disableToolbar: boolean;
23
+ editor: Code;
24
+ view: CodeView;
25
+ editorOptions: monaco.editor.IStandaloneEditorConstructionOptions;
26
+ editing: boolean;
27
+ get languageAdapter(): LangTreeAdapter;
28
+ get content(): string;
29
+ set content(value: string);
30
+ get monacoEditor(): monaco.editor.IStandaloneCodeEditor;
31
+ get model(): monaco.editor.ITextModel;
32
+ updateHeight(): void;
33
+ _onChange: (_e: CodeEvent) => void;
34
+ willUpdate(changedProps: Map<PropertyKey, unknown>): Promise<void>;
35
+ _onLanguageChange: (e: TreeEvent) => void;
36
+ getEditorOptions: () => {
37
+ model?: monaco.editor.ITextModel | null;
38
+ value?: string;
39
+ language?: string;
40
+ theme?: string;
41
+ autoDetectHighContrast?: boolean;
42
+ accessibilityHelpUrl?: string;
43
+ ariaContainerElement?: HTMLElement;
44
+ dimension?: monaco.editor.IDimension;
45
+ overflowWidgetsDomNode?: HTMLElement;
46
+ inDiffEditor?: boolean;
47
+ ariaLabel?: string;
48
+ ariaRequired?: boolean;
49
+ screenReaderAnnounceInlineSuggestion?: boolean;
50
+ tabIndex?: number;
51
+ rulers?: (number | monaco.editor.IRulerOption)[];
52
+ wordSeparators?: string;
53
+ selectionClipboard?: boolean;
54
+ lineNumbers?: monaco.editor.LineNumbersType;
55
+ cursorSurroundingLines?: number;
56
+ cursorSurroundingLinesStyle?: "default" | "all";
57
+ renderFinalNewline?: "on" | "off" | "dimmed";
58
+ unusualLineTerminators?: "auto" | "off" | "prompt";
59
+ selectOnLineNumbers?: boolean;
60
+ lineNumbersMinChars?: number;
61
+ glyphMargin?: boolean;
62
+ lineDecorationsWidth?: number | string;
63
+ revealHorizontalRightPadding?: number;
64
+ roundedSelection?: boolean;
65
+ extraEditorClassName?: string;
66
+ readOnly?: boolean;
67
+ readOnlyMessage?: monaco.IMarkdownString;
68
+ domReadOnly?: boolean;
69
+ linkedEditing?: boolean;
70
+ renameOnType?: boolean;
71
+ renderValidationDecorations?: "editable" | "on" | "off";
72
+ scrollbar?: monaco.editor.IEditorScrollbarOptions;
73
+ stickyScroll?: monaco.editor.IEditorStickyScrollOptions;
74
+ minimap?: monaco.editor.IEditorMinimapOptions;
75
+ find?: monaco.editor.IEditorFindOptions;
76
+ fixedOverflowWidgets?: boolean;
77
+ overviewRulerLanes?: number;
78
+ overviewRulerBorder?: boolean;
79
+ cursorBlinking?: "blink" | "smooth" | "phase" | "expand" | "solid";
80
+ mouseWheelZoom?: boolean;
81
+ mouseStyle?: "text" | "default" | "copy";
82
+ cursorSmoothCaretAnimation?: "off" | "explicit" | "on";
83
+ cursorStyle?: "line" | "block" | "underline" | "line-thin" | "block-outline" | "underline-thin";
84
+ cursorWidth?: number;
85
+ fontLigatures?: boolean | string;
86
+ fontVariations?: boolean | string;
87
+ defaultColorDecorators?: boolean;
88
+ disableLayerHinting?: boolean;
89
+ disableMonospaceOptimizations?: boolean;
90
+ hideCursorInOverviewRuler?: boolean;
91
+ scrollBeyondLastLine: boolean;
92
+ scrollBeyondLastColumn?: number;
93
+ smoothScrolling?: boolean;
94
+ automaticLayout?: boolean;
95
+ wordWrap?: "off" | "on" | "wordWrapColumn" | "bounded";
96
+ wordWrapOverride1?: "off" | "on" | "inherit";
97
+ wordWrapOverride2?: "off" | "on" | "inherit";
98
+ wordWrapColumn?: number;
99
+ wrappingIndent?: "none" | "same" | "indent" | "deepIndent";
100
+ wrappingStrategy?: "simple" | "advanced";
101
+ wordWrapBreakBeforeCharacters?: string;
102
+ wordWrapBreakAfterCharacters?: string;
103
+ wordBreak?: "normal" | "keepAll";
104
+ stopRenderingLineAfter?: number;
105
+ hover?: monaco.editor.IEditorHoverOptions;
106
+ links?: boolean;
107
+ colorDecorators?: boolean;
108
+ colorDecoratorsActivatedOn?: "clickAndHover" | "click" | "hover";
109
+ colorDecoratorsLimit?: number;
110
+ comments?: monaco.editor.IEditorCommentsOptions;
111
+ contextmenu?: boolean;
112
+ mouseWheelScrollSensitivity?: number;
113
+ fastScrollSensitivity?: number;
114
+ scrollPredominantAxis?: boolean;
115
+ columnSelection?: boolean;
116
+ multiCursorModifier?: "ctrlCmd" | "alt";
117
+ multiCursorMergeOverlapping?: boolean;
118
+ multiCursorPaste?: "spread" | "full";
119
+ multiCursorLimit?: number;
120
+ accessibilitySupport?: "auto" | "off" | "on";
121
+ accessibilityPageSize?: number;
122
+ suggest?: monaco.editor.ISuggestOptions;
123
+ inlineSuggest?: monaco.editor.IInlineSuggestOptions;
124
+ experimentalInlineEdit?: monaco.editor.IInlineEditOptions;
125
+ smartSelect?: monaco.editor.ISmartSelectOptions;
126
+ gotoLocation?: monaco.editor.IGotoLocationOptions;
127
+ quickSuggestions?: boolean | monaco.editor.IQuickSuggestionsOptions;
128
+ quickSuggestionsDelay?: number;
129
+ padding?: monaco.editor.IEditorPaddingOptions;
130
+ parameterHints?: monaco.editor.IEditorParameterHintOptions;
131
+ autoClosingBrackets?: monaco.editor.EditorAutoClosingStrategy;
132
+ autoClosingComments?: monaco.editor.EditorAutoClosingStrategy;
133
+ autoClosingQuotes?: monaco.editor.EditorAutoClosingStrategy;
134
+ autoClosingDelete?: monaco.editor.EditorAutoClosingEditStrategy;
135
+ autoClosingOvertype?: monaco.editor.EditorAutoClosingEditStrategy;
136
+ autoSurround?: monaco.editor.EditorAutoSurroundStrategy;
137
+ autoIndent?: "none" | "keep" | "brackets" | "advanced" | "full";
138
+ stickyTabStops?: boolean;
139
+ formatOnType?: boolean;
140
+ formatOnPaste?: boolean;
141
+ dragAndDrop?: boolean;
142
+ suggestOnTriggerCharacters?: boolean;
143
+ acceptSuggestionOnEnter?: "on" | "smart" | "off";
144
+ acceptSuggestionOnCommitCharacter?: boolean;
145
+ snippetSuggestions?: "top" | "bottom" | "inline" | "none";
146
+ emptySelectionClipboard?: boolean;
147
+ copyWithSyntaxHighlighting?: boolean;
148
+ suggestSelection?: "first" | "recentlyUsed" | "recentlyUsedByPrefix";
149
+ suggestFontSize?: number;
150
+ suggestLineHeight?: number;
151
+ tabCompletion?: "on" | "off" | "onlySnippets";
152
+ selectionHighlight?: boolean;
153
+ occurrencesHighlight?: "off" | "singleFile" | "multiFile";
154
+ codeLens?: boolean;
155
+ codeLensFontFamily?: string;
156
+ codeLensFontSize?: number;
157
+ lightbulb?: monaco.editor.IEditorLightbulbOptions;
158
+ codeActionsOnSaveTimeout?: number;
159
+ folding?: boolean;
160
+ foldingStrategy?: "auto" | "indentation";
161
+ foldingHighlight?: boolean;
162
+ foldingImportsByDefault?: boolean;
163
+ foldingMaximumRegions?: number;
164
+ showFoldingControls?: "always" | "never" | "mouseover";
165
+ unfoldOnClickAfterEndOfLine?: boolean;
166
+ matchBrackets?: "never" | "near" | "always";
167
+ experimentalWhitespaceRendering?: "svg" | "font" | "off";
168
+ renderWhitespace?: "none" | "boundary" | "selection" | "trailing" | "all";
169
+ renderControlCharacters?: boolean;
170
+ renderLineHighlight?: "none" | "gutter" | "line" | "all";
171
+ renderLineHighlightOnlyWhenFocus?: boolean;
172
+ useTabStops?: boolean;
173
+ fontFamily?: string;
174
+ fontWeight?: string;
175
+ fontSize?: number;
176
+ lineHeight?: number;
177
+ letterSpacing?: number;
178
+ showUnused?: boolean;
179
+ peekWidgetDefaultFocus?: "tree" | "editor";
180
+ definitionLinkOpensInPeek?: boolean;
181
+ showDeprecated?: boolean;
182
+ matchOnWordStartOnly?: boolean;
183
+ inlayHints?: monaco.editor.IEditorInlayHintsOptions;
184
+ useShadowDOM?: boolean;
185
+ guides?: monaco.editor.IGuidesOptions;
186
+ unicodeHighlight?: monaco.editor.IUnicodeHighlightOptions;
187
+ bracketPairColorization?: monaco.editor.IBracketPairColorizationOptions;
188
+ dropIntoEditor?: monaco.editor.IDropIntoEditorOptions;
189
+ pasteAs?: monaco.editor.IPasteAsOptions;
190
+ tabFocusMode?: boolean;
191
+ inlineCompletionsAccessibilityVerbose?: boolean;
192
+ tabSize?: number;
193
+ insertSpaces?: boolean;
194
+ detectIndentation?: boolean;
195
+ trimAutoWhitespace?: boolean;
196
+ largeFileOptimizations?: boolean;
197
+ wordBasedSuggestions?: "off" | "currentDocument" | "matchingDocuments" | "allDocuments";
198
+ wordBasedSuggestionsOnlySameLanguage?: boolean;
199
+ 'semanticHighlighting.enabled'?: true | false | "configuredByTheme";
200
+ stablePeek?: boolean;
201
+ maxTokenizationLineLength?: number;
202
+ };
203
+ render: () => import("lit-html").TemplateResult<1>;
204
+ layout(): void;
205
+ focus(): void;
206
+ }
207
+ export {};
208
+ //# sourceMappingURL=codeBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeBlock.d.ts","sourceRoot":"","sources":["../../src/components/codeBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAe,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,cAAM,eAAgB,SAAQ,WAAW;IAClC,OAAO;;;;IASb,UAAU,IAAK,WAAW;CAO1B;AAED,qBACa,SAAU,SAAQ,UAAW,YAAW,MAAM;;IAE1D,MAAM,CAAC,MAAM,0BA2CX;IAGF,QAAQ,SAAgB;IAGxB,aAAa,UAAS;IAGtB,SAAS,SAAO;IAGhB,SAAS,SAAM;IAGf,cAAc,UAAS;IAGvB,MAAM,EAAE,IAAI,CAAC;IAGb,IAAI,EAAE,QAAQ,CAAC;IAGf,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,oCAAoC,CAAC;IAGlE,OAAO,UAAS;IAGhB,IAAI,eAAe,oBAGlB;IAGD,IAAI,OAAO,IACQ,MAAM,CADqC;IAC9D,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAGxB;IAED,IAAI,YAAY,wCAAiC;IACjD,IAAI,KAAK,6BAA2C;IAEpD,YAAY;IASZ,SAAS,GAAI,IAAI,SAAS,UAExB;IAEI,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IAMxD,iBAAiB,GAAI,GAAG,SAAS,UAMhC;IAED,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAGb;IAEH,MAAM,6CA+BJ;IAEF,MAAM;IAIN,KAAK;CAIL"}