@omegagrid/code 0.6.115 → 0.6.117
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.
|
@@ -1 +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,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,
|
|
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,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;IAKxF,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"}
|
package/dist/components/code.js
CHANGED
|
@@ -83,7 +83,11 @@ let Code = Code_1 = class Code extends LitElement {
|
|
|
83
83
|
const selectedCode = selectedCodeChunks.join("\n").trim();
|
|
84
84
|
return selectedCode == null || selectedCode == '' ? __classPrivateFieldGet(this, _Code_editor, "f").getValue() : selectedCode;
|
|
85
85
|
}
|
|
86
|
-
get container() {
|
|
86
|
+
get container() {
|
|
87
|
+
return __classPrivateFieldGet(this, _Code_container, "f") ?? (__classPrivateFieldSet(this, _Code_container, dom.createElement('div', {
|
|
88
|
+
style: { zIndex: '10000' }
|
|
89
|
+
}), "f"));
|
|
90
|
+
}
|
|
87
91
|
get theme() { return getThemeManager().activeTheme?.type == 'light' ? 'vs' : 'vs-dark'; }
|
|
88
92
|
showContainer() {
|
|
89
93
|
if (this.container.parentElement !== document.body) {
|
|
@@ -1 +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\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\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\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}"]}
|
|
1
|
+
{"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/components/code.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,GAAG,EAAU,eAAe,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,yBAAyB,GAAG,EAAE,CAAC,CAAC,0CAA0C;AAGzE,IAAM,IAAI,YAAV,MAAM,IAAK,SAAQ,UAAU;IAA7B;;QAeN,+BAA6C;QAI7C,gCAA6D;QAoB7D,yBAAY,YAAY,EAAC;QAiBzB,mCAAsB,KAAK,EAAC;QAC5B,sBAAgB,CAAC,EAAC,CAAC,8CAA8C;QACjE,gCAAiB;QACjB,kCAA6B;QAC7B,uCAA6C;QAE7C,kCAA2B;QAK3B,8BAAiB,GAAG,EAAE;YACrB,uBAAA,IAAI,oBAAQ,CAAC,aAAa,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC,CAAC,CAAC;QACjD,CAAC,EAAA;QAED,eAAU,GAAG,GAAuD,EAAE,CAAC,CAAC;YACvE,GAAG,IAAI,CAAC,OAAO;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,uBAAA,IAAI,sBAAU;YACxB,QAAQ,EAAE,iBAAiB,EAAE,CAAC,QAAQ;YACtC,mDAAmD;YACnD,iFAAiF;YACjF,aAAa,EAAE,EAAE;SACjB,CAAC,CAAC;IA2GJ,CAAC;IA7KA,IAAI,MAAM,KAAK,OAAO,MAAI,CAAC,MAAM,CAAA,CAAC,CAAC;IAGnC,IAAI,MAAM,KAAK,OAAO,uBAAA,IAAI,oBAAQ,CAAA,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,OAAO,uBAAA,IAAI,oBAAQ,EAAE,QAAQ,EAAE,CAAA,CAAC,CAAC;IAI/C,IAAI,OAAO,KAAK,OAAO,uBAAA,IAAI,qBAAS,CAAA,CAAC,CAAC;IACtC,IAAI,OAAO,CAAC,GAAuD;QAClE,uBAAA,IAAI,iBAAY,GAAG,MAAA,CAAC;QACpB,uBAAA,IAAI,oBAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAGD,IAAI,OAAO,KAAK,OAAO,uBAAA,IAAI,oBAAQ,CAAC,CAAC,CAAC,uBAAA,IAAI,oBAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,uBAAA,IAAI,qBAAS,CAAA,CAAC,CAAC;IAC/E,IAAI,OAAO,CAAC,GAAW;QACtB,IAAI,GAAG,IAAI,IAAI;YAAE,GAAG,GAAG,EAAE,CAAC;QAC1B,IAAI,uBAAA,IAAI,oBAAQ,EAAE,CAAC;YAClB,uBAAA,IAAI,4BAAuB,IAAI,MAAA,CAAC;YAChC,uBAAA,IAAI,oBAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACP,uBAAA,IAAI,iBAAY,GAAG,MAAA,CAAC;QACrB,CAAC;IACF,CAAC;IAID,IAAI,QAAQ,KAAK,OAAO,uBAAA,IAAI,sBAAU,CAAA,CAAC,CAAC;IACxC,IAAI,QAAQ,CAAC,GAAW;QACvB,uBAAA,IAAI,kBAAa,GAAG,MAAA,CAAC;QACrB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACpF,CAAC;IACF,CAAC;IAED,IAAI,eAAe;QAClB,IAAI,CAAC,uBAAA,IAAI,oBAAQ;YAAE,OAAO,uBAAA,IAAI,qBAAS,CAAC;QACxC,MAAM,kBAAkB,GAAG,uBAAA,IAAI,oBAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QAChH,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,OAAO,YAAY,IAAI,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,uBAAA,IAAI,oBAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IAC5F,CAAC;IASD,IAAI,SAAS;QAAK,OAAO,uBAAA,IAAI,uBAAW,IAAI,CAAC,uBAAA,IAAI,mBAAc,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE;YACvF,KAAK,EAAE,EAAC,MAAM,EAAE,OAAO,EAAC;SACxB,CAAC,MAAA,CAAC,CAAA;IAAC,CAAC;IACL,IAAI,KAAK,KAAK,OAAO,eAAe,EAAE,CAAC,WAAW,EAAE,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA,CAAC,CAAC;IAexF,aAAa;QACZ,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IAED,aAAa;QACZ,uBAAA,IAAI,uBAAW,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,UAAU;QACf,IAAI,uBAAA,IAAI,mBAAO,GAAG,CAAC;YAAE,OAAO;QAC5B,uBAAA,IAAI,eAAU,CAAC,MAAA,CAAC;QAEhB,MAAI,CAAC,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,CAAC;QACvC,uBAAA,IAAI,gBAAW,MAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,MAAA,CAAC;QAE5E,MAAM,QAAQ,GAAG,uBAAA,IAAI,sBAAU,CAAC;QAChC,MAAM,KAAK,GAAG,MAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,uBAAA,IAAI,qBAAS,EAAE,QAAQ,CAAC,CAAC;QACtE,uBAAA,IAAI,oBAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,uBAAA,IAAI,uBAAW;YAAE,uBAAA,IAAI,oBAAQ,CAAC,YAAY,CAAC,uBAAA,IAAI,uBAAW,CAAC,CAAC;QAChE,IAAI,uBAAA,IAAI,4BAAgB;YAAE,uBAAA,IAAI,oBAAQ,CAAC,iBAAiB,CAAC;gBACxD,SAAS,EAAE,uBAAA,IAAI,4BAAgB,CAAC,GAAG;gBACnC,UAAU,EAAE,uBAAA,IAAI,4BAAgB,CAAC,IAAI;aACrC,CAAC,CAAC;QAEH,uBAAA,IAAI,oBAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE;YACrC,IAAI,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,EAAC,MAAM,EAAE,uBAAA,IAAI,oBAAQ,EAAC,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,uBAAA,IAAI,oBAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE;YACxC,IAAI,uBAAA,IAAI,gCAAoB,EAAE,CAAC;gBAC9B,uBAAA,IAAI,4BAAuB,KAAK,MAAA,CAAC;gBACjC,OAAO;YACR,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE;gBAC1C,MAAM,EAAE,uBAAA,IAAI,oBAAQ;gBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;aAClB,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,uBAAA,IAAI,oBAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,SAAS,EAAE,EAAC,MAAM,EAAE,uBAAA,IAAI,oBAAQ,EAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;QAEH,uBAAA,IAAI,4BAAuB,KAAK,MAAA,CAAC;QACjC,uBAAA,IAAI,eAAU,CAAC,MAAA,CAAC;QAEhB,IAAI,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAC,MAAM,EAAE,uBAAA,IAAI,oBAAQ,EAAC,CAAC,CAAC,CAAC;QACnE,uBAAA,IAAI,oBAAQ,CAAC,KAAK,EAAE,CAAC;QAErB,UAAU,CAAC,GAAG,EAAE;YACf,IAAI,uBAAA,IAAI,sBAAU,IAAI,QAAQ,EAAE,CAAC;gBAChC,2FAA2F;gBAC3F,MAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,uBAAA,IAAI,sBAAU,CAAC,CAAC;YAC5D,CAAC;QACF,CAAC,EAAE,GAAG,CAAC,CAAC;IACT,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;IAED,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,eAAe,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,uBAAA,IAAI,2BAAe,CAAC,CAAC;QAElE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,EAAE,CAAC;QACf,CAAC;IACF,CAAC;IAED,oBAAoB;QACnB,eAAe,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,uBAAA,IAAI,2BAAe,CAAC,CAAC;QACrE,IAAI,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC;IAED,MAAM;QACL,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,yBAAyB,IAAI,IAAI,CAAC,YAAY,GAAG,yBAAyB,EAAE,CAAC;YACxH,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO;QACR,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzD,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,EAAC,CAAC,EAAE,MAAM,CAAC,GAAG,GAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,EAAC,CAAC,CAAC;QACxE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,EAAC,CAAC,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,EAAC,CAAC,CAAC;QACjF,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,OAAO;QACN,uBAAA,IAAI,uBAAW,EAAE,MAAM,EAAE,CAAC;QAC1B,uBAAA,IAAI,mBAAc,IAAI,MAAA,CAAC;QACvB,uBAAA,IAAI,oBAAQ,EAAE,OAAO,EAAE,CAAC;QACxB,uBAAA,IAAI,gBAAW,IAAI,MAAA,CAAC;QACpB,uBAAA,IAAI,eAAU,CAAC,MAAA,CAAC;IACjB,CAAC;IAED,KAAK;QACJ,uBAAA,IAAI,oBAAQ,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC;;;;;;;;;;;;AAtLM,WAAM,GAAG,GAAG,CAAA;;;;;;;;EAQlB,AARY,CAQX;AAWF;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAC,CAAC;mCACL;AAOtC;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAC,CAAC;mCACoC;AAa/E;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAC,CAAC;oCACH;AAzC5B,IAAI;IADhB,aAAa,CAAC,SAAS,CAAC;GACZ,IAAI,CA0LhB","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\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: '10000'}\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\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}"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@omegagrid/code",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.117",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"description": "Monaco editor webcomponent",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@fortawesome/fontawesome-svg-core": "6.4.2",
|
|
31
|
-
"@omegagrid/core": "^0.6.
|
|
32
|
-
"@omegagrid/localize": "^0.6.
|
|
33
|
-
"@omegagrid/tree": "^0.6.
|
|
31
|
+
"@omegagrid/core": "^0.6.117",
|
|
32
|
+
"@omegagrid/localize": "^0.6.117",
|
|
33
|
+
"@omegagrid/tree": "^0.6.117",
|
|
34
34
|
"@riovir/wc-fontawesome": "^0.1.9",
|
|
35
35
|
"lit": "^3.1.1",
|
|
36
36
|
"monaco-editor": "0.47.0",
|