@covalent/code-editor 9.1.3 → 10.0.1
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.
- package/fesm2022/covalent-code-editor.mjs +69 -57
- package/fesm2022/covalent-code-editor.mjs.map +1 -1
- package/lib/code-editor.component.d.ts +1 -1
- package/lib/code-editor.module.d.ts +5 -2
- package/package.json +8 -7
- package/esm2022/covalent-code-editor.mjs +0 -5
- package/esm2022/lib/code-editor.component.mjs +0 -381
- package/esm2022/lib/code-editor.module.mjs +0 -19
- package/esm2022/lib/editor.theme.mjs +0 -245
- package/esm2022/public_api.mjs +0 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { EventEmitter, PLATFORM_ID, forwardRef, Component, Inject, ViewChild, Output, Input, NgModule } from '@angular/core';
|
|
3
|
-
import { isPlatformServer
|
|
3
|
+
import { isPlatformServer } from '@angular/common';
|
|
4
4
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
5
5
|
import { Subject, of, merge, fromEvent, timer } from 'rxjs';
|
|
6
6
|
import { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
@@ -252,6 +252,7 @@ const getTheme = (theme) => {
|
|
|
252
252
|
const cvEditorDarkTheme = getTheme('Dark');
|
|
253
253
|
const cvEditorLightTheme = getTheme('Light');
|
|
254
254
|
|
|
255
|
+
const _c0 = ["editorContainer"];
|
|
255
256
|
const noop = () => {
|
|
256
257
|
// empty method
|
|
257
258
|
};
|
|
@@ -576,66 +577,77 @@ class TdCodeEditorComponent extends _TdCodeEditorMixinBase {
|
|
|
576
577
|
},
|
|
577
578
|
}));
|
|
578
579
|
}
|
|
579
|
-
static ɵfac =
|
|
580
|
-
static ɵcmp = i0.ɵɵ
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
580
|
+
static ɵfac = function TdCodeEditorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdCodeEditorComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(PLATFORM_ID)); };
|
|
581
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdCodeEditorComponent, selectors: [["td-code-editor"]], viewQuery: function TdCodeEditorComponent_Query(rf, ctx) { if (rf & 1) {
|
|
582
|
+
i0.ɵɵviewQuery(_c0, 7);
|
|
583
|
+
} if (rf & 2) {
|
|
584
|
+
let _t;
|
|
585
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._editorContainer = _t.first);
|
|
586
|
+
} }, inputs: { value: "value", language: "language", editorStyle: "editorStyle", theme: "theme", fullScreenKeyBinding: "fullScreenKeyBinding", editorOptions: "editorOptions" }, outputs: { editorInitialized: "editorInitialized", editorConfigurationChanged: "editorConfigurationChanged", editorLanguageChanged: "editorLanguageChanged", editorValueChange: "editorValueChange" }, features: [i0.ɵɵProvidersFeature([
|
|
587
|
+
{
|
|
588
|
+
provide: NG_VALUE_ACCESSOR,
|
|
589
|
+
useExisting: forwardRef(() => TdCodeEditorComponent),
|
|
590
|
+
multi: true,
|
|
591
|
+
},
|
|
592
|
+
]), i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 0, consts: [["editorContainer", ""], [1, "editor-container"]], template: function TdCodeEditorComponent_Template(rf, ctx) { if (rf & 1) {
|
|
593
|
+
i0.ɵɵelement(0, "div", 1, 0);
|
|
594
|
+
} }, styles: ["[_nghost-%COMP%]{display:block;position:relative}[_nghost-%COMP%] .editor-container[_ngcontent-%COMP%]{position:absolute;inset:0} .monaco-aria-container{display:none}"] });
|
|
587
595
|
}
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
596
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdCodeEditorComponent, [{
|
|
597
|
+
type: Component,
|
|
598
|
+
args: [{ selector: 'td-code-editor', providers: [
|
|
599
|
+
{
|
|
600
|
+
provide: NG_VALUE_ACCESSOR,
|
|
601
|
+
useExisting: forwardRef(() => TdCodeEditorComponent),
|
|
602
|
+
multi: true,
|
|
603
|
+
},
|
|
604
|
+
], template: "<div class=\"editor-container\" #editorContainer></div>\n", styles: [":host{display:block;position:relative}:host .editor-container{position:absolute;inset:0}::ng-deep .monaco-aria-container{display:none}\n"] }]
|
|
605
|
+
}], () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
606
|
+
type: Inject,
|
|
607
|
+
args: [PLATFORM_ID]
|
|
608
|
+
}] }], { _editorContainer: [{
|
|
609
|
+
type: ViewChild,
|
|
610
|
+
args: ['editorContainer', { static: true }]
|
|
611
|
+
}], editorInitialized: [{
|
|
612
|
+
type: Output
|
|
613
|
+
}], editorConfigurationChanged: [{
|
|
614
|
+
type: Output
|
|
615
|
+
}], editorLanguageChanged: [{
|
|
616
|
+
type: Output
|
|
617
|
+
}], editorValueChange: [{
|
|
618
|
+
type: Output
|
|
619
|
+
}], value: [{
|
|
620
|
+
type: Input
|
|
621
|
+
}], language: [{
|
|
622
|
+
type: Input
|
|
623
|
+
}], editorStyle: [{
|
|
624
|
+
type: Input
|
|
625
|
+
}], theme: [{
|
|
626
|
+
type: Input
|
|
627
|
+
}], fullScreenKeyBinding: [{
|
|
628
|
+
type: Input
|
|
629
|
+
}], editorOptions: [{
|
|
630
|
+
type: Input
|
|
631
|
+
}] }); })();
|
|
632
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TdCodeEditorComponent, { className: "TdCodeEditorComponent", filePath: "lib/code-editor.component.ts", lineNumber: 63 }); })();
|
|
624
633
|
|
|
634
|
+
/**
|
|
635
|
+
* @deprecated This module is deprecated and will be removed in future versions.
|
|
636
|
+
* Please migrate to using standalone components as soon as possible.
|
|
637
|
+
*/
|
|
625
638
|
class CovalentCodeEditorModule {
|
|
626
|
-
static ɵfac =
|
|
627
|
-
static ɵmod = i0.ɵɵ
|
|
628
|
-
static ɵinj = i0.ɵɵ
|
|
639
|
+
static ɵfac = function CovalentCodeEditorModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CovalentCodeEditorModule)(); };
|
|
640
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: CovalentCodeEditorModule });
|
|
641
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
|
|
629
642
|
}
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
}] });
|
|
643
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CovalentCodeEditorModule, [{
|
|
644
|
+
type: NgModule,
|
|
645
|
+
args: [{
|
|
646
|
+
imports: [TdCodeEditorComponent],
|
|
647
|
+
exports: [TdCodeEditorComponent],
|
|
648
|
+
}]
|
|
649
|
+
}], null, null); })();
|
|
650
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(CovalentCodeEditorModule, { imports: [TdCodeEditorComponent], exports: [TdCodeEditorComponent] }); })();
|
|
639
651
|
|
|
640
652
|
/**
|
|
641
653
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"covalent-code-editor.mjs","sources":["../../../../libs/angular-code-editor/src/lib/editor.theme.ts","../../../../libs/angular-code-editor/src/lib/code-editor.component.ts","../../../../libs/angular-code-editor/src/lib/code-editor.component.html","../../../../libs/angular-code-editor/src/lib/code-editor.module.ts","../../../../libs/angular-code-editor/src/covalent-code-editor.ts"],"sourcesContent":["import * as tokens from '@covalent/tokens';\n\nexport const covalentThemeName = 'tdaa-lite';\n\nexport const covalentThemeConf = {\n base: 'vs',\n inherit: true,\n rules: [\n { token: '', foreground: '212121', background: 'f5f5f5' },\n { token: 'invalid', foreground: 'b71c1c' },\n { token: 'keyword', foreground: '3b78e7' },\n { token: 'keyword.json', foreground: 'ec407a', fontStyle: 'bold italic' },\n { token: 'comment', foreground: '0d904f' },\n { token: 'string.sql', foreground: '0d904f' },\n { token: 'number', foreground: 'E74C3C' },\n\n { token: 'key', foreground: '863B00' },\n { token: 'string.key.json', foreground: '0d904f' },\n { token: 'string.value.json', foreground: '0d904f' },\n { token: 'predefined', foreground: 'ec407a' },\n { token: 'predefined.sql', foreground: 'ec407a' },\n\n { token: 'delimiter', foreground: '000000' },\n { token: 'delimiter.html', foreground: '383838' },\n { token: 'delimiter.xml', foreground: '3b78e7' },\n\n { token: 'tag', foreground: '3b78e7' },\n { token: 'tag.id.jade', foreground: '4F76AC' },\n { token: 'tag.class.jade', foreground: '4F76AC' },\n { token: 'meta.scss', foreground: '800000' },\n { token: 'metatag', foreground: 'e00000' },\n { token: 'metatag.content.html', foreground: 'FF0000' },\n { token: 'metatag.html', foreground: '808080' },\n { token: 'metatag.xml', foreground: '808080' },\n { token: 'metatag.php', fontStyle: 'bold' },\n\n { token: 'attribute.name', foreground: '9c27b0' },\n { token: 'attribute.value', foreground: '0451A5' },\n { token: 'attribute.value.number', foreground: '09885A' },\n { token: 'attribute.value.unit', foreground: '09885A' },\n { token: 'attribute.value.html', foreground: '0000FF' },\n { token: 'attribute.value.xml', foreground: '0d904f' },\n\n { token: 'arbitration-variable', foreground: '006D90' },\n { token: 'arbitration-variable.invalid', foreground: 'b71c1c' },\n\n { token: 'operator.scss', foreground: '666666' },\n { token: 'operator', foreground: '778899' },\n ],\n colors: {\n comment: '388e3c',\n 'editor.foreground': 'ff0000',\n 'editor.background': '#f5f5f5',\n 'editorLineNumber.activeForeground': '#707070',\n 'editorLineNumber.foreground': '#b7b7b7',\n 'editor.lineHighlightBackground': '#ebebeb',\n 'inputValidation.errorBackground': '#b71c1c',\n 'inputValidation.errorBorder': 'rgba(229, 115, 115, 0.1)',\n },\n};\n\nconst getTheme = (theme: 'Light' | 'Dark') => {\n return {\n base: theme === 'Light' ? 'vs' : 'vs-dark',\n inherit: true,\n rules: [\n {\n token: '',\n foreground: tokens[`Cv${theme}CodeSnippetColor`],\n background: tokens[`Cv${theme}Surface`],\n },\n {\n token: 'arbitration-variable',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'arbitration-variable.invalid',\n foreground: tokens[`Cv${theme}Negative`],\n },\n {\n token: 'attribute.name',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'attribute.value',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'attribute.value.number',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'attribute.value.unit',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'attribute.value.html',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'attribute.value.xml',\n foreground: tokens[`Cv${theme}CodeSnippetLiteral`],\n },\n {\n token: 'builtins',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'class',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'comment',\n foreground: tokens[`Cv${theme}CodeSnippetComment`],\n fontStyle: 'italic',\n },\n {\n token: 'constant',\n foreground: tokens[`Cv${theme}CodeSnippetLiteral`],\n },\n {\n token: 'delimiter',\n foreground: tokens[`CvTheme${theme}ColorsOnSurface`],\n },\n {\n token: 'delimiter.html',\n foreground: tokens[`Cv${theme}CodeSnippetSelector`],\n },\n {\n token: 'delimiter.xml',\n foreground: tokens[`Cv${theme}CodeSnippetSelector`],\n },\n {\n token: 'doctag',\n foreground: tokens[`Cv${theme}CodeSnippetKeyword`],\n },\n {\n token: 'emphasis',\n fontStyle: 'italic',\n },\n {\n token: 'formula',\n foreground: tokens[`Cv${theme}CodeSnippetKeyword`],\n },\n {\n token: 'function',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n },\n {\n token: 'invalid',\n foreground: tokens[`Cv${theme}Negative`],\n },\n { token: 'key', foreground: tokens[`Cv${theme}CodeSnippetString`] },\n {\n token: 'keyword',\n foreground: tokens[`Cv${theme}CodeSnippetKeyword`],\n },\n {\n token: 'keyword.json',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n fontStyle: 'bold italic',\n },\n {\n token: 'link',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n fontStyle: 'underline',\n },\n {\n token: 'literal',\n foreground: tokens[`Cv${theme}CodeSnippetLiteral`],\n },\n {\n token: 'meta',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n },\n {\n token: 'number',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'operator',\n foreground: tokens[`Cv${theme}CodeSnippetLiteral`],\n },\n { token: 'predefined', foreground: tokens[`Cv${theme}CodeSnippetTitle`] },\n {\n token: 'predefined.sql',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n },\n {\n token: 'predefined.python',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'punctuation',\n foreground: tokens[`Cv${theme}CodeSnippetColor`],\n },\n {\n token: 'string',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'string.sql',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'string.key.json',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'string.value.json',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'strong',\n fontStyle: 'bold',\n },\n {\n token: 'tag',\n foreground: tokens[`Cv${theme}CodeSnippetSelector`],\n },\n {\n token: 'tag.id.jade',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'tag.class.jade',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'type',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'variable',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n ],\n colors: {\n comment: tokens[`Cv${theme}CodeSnippetComment`],\n 'editor.background': tokens[`Cv${theme}Surface`],\n 'editor.foreground': tokens[`CvTheme${theme}ColorsOnSurface`],\n 'editorCursor.foreground': tokens[`Cv${theme}TextSecondaryOnBackground`],\n 'editorLineNumber.activeForeground':\n tokens[`CvTheme${theme}ColorsOnSurface74`],\n 'editorLineNumber.foreground': tokens[`CvTheme${theme}ColorsOnSurface38`],\n 'editor.lineHighlightBackground':\n tokens[`CvTheme${theme}ColorsSurfaceContainerLow`],\n 'inputValidation.errorBackground': tokens[`Cv${theme}Negative`],\n 'inputValidation.errorBorder':\n tokens[`CvTheme${theme}PalettesNegative95`],\n },\n };\n};\n\n// Any changes to these themes should also be reflected in the components/code-editor theme.\nexport const cvEditorDarkTheme = getTheme('Dark');\n\nexport const cvEditorLightTheme = getTheme('Light');\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnInit,\n ViewChild,\n ElementRef,\n forwardRef,\n ChangeDetectorRef,\n OnDestroy,\n NgZone,\n Inject,\n PLATFORM_ID,\n} from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { Observable, of, Subject } from 'rxjs';\nimport { fromEvent, merge, timer } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\n// Use esm version to support shipping subset of languages and features\nimport {\n editor,\n languages,\n IDisposable,\n} from 'monaco-editor/esm/vs/editor/editor.api';\n\nimport {\n mixinControlValueAccessor,\n mixinDisabled,\n} from '@covalent/core/common';\nimport { cvEditorDarkTheme, cvEditorLightTheme } from './editor.theme';\n\nconst noop = () => {\n // empty method\n};\n\n// counter for ids to allow for multiple editors on one page\nlet uniqueCounter = 0;\n\nexport class TdCodeEditorBase {\n constructor(public _changeDetectorRef: ChangeDetectorRef) {}\n}\n\nexport const _TdCodeEditorMixinBase = mixinControlValueAccessor(\n mixinDisabled(TdCodeEditorBase),\n []\n);\n\n@Component({\n selector: 'td-code-editor',\n templateUrl: './code-editor.component.html',\n styleUrls: ['./code-editor.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TdCodeEditorComponent),\n multi: true,\n },\n ],\n})\nexport class TdCodeEditorComponent\n extends _TdCodeEditorMixinBase\n implements OnInit, ControlValueAccessor, OnDestroy\n{\n private _destroy: Subject<boolean> = new Subject<boolean>();\n private _widthSubject: Subject<number> = new Subject<number>();\n private _heightSubject: Subject<number> = new Subject<number>();\n\n private _editorStyle = 'width:100%;height:100%;';\n private _value = '';\n private _theme = 'cv-light';\n private _language = 'javascript';\n private _subject: Subject<string> = new Subject();\n private _editorInnerContainer: string =\n 'editorInnerContainer' + uniqueCounter++;\n private _editor!: editor.IStandaloneCodeEditor;\n private _fromEditor = false;\n private _componentInitialized = false;\n private _editorOptions: any = {};\n private _isFullScreen = false;\n private _keycode: any;\n private _registeredLanguagesStyles: HTMLStyleElement[] = [];\n private _disposables: IDisposable[] = [];\n\n @ViewChild('editorContainer', { static: true }) _editorContainer!: ElementRef;\n\n /**\n * editorInitialized: function($event)\n * Event emitted when editor is first initialized\n */\n @Output()\n editorInitialized: EventEmitter<editor.IStandaloneCodeEditor> =\n new EventEmitter<editor.IStandaloneCodeEditor>();\n\n /**\n * editorConfigurationChanged: function($event)\n * Event emitted when editor's configuration changes\n */\n @Output() editorConfigurationChanged: EventEmitter<void> =\n new EventEmitter<void>();\n\n /**\n * editorLanguageChanged: function($event)\n * Event emitted when editor's Language changes\n */\n @Output() editorLanguageChanged: EventEmitter<void> =\n new EventEmitter<void>();\n\n /**\n * editorValueChange: function($event)\n * Event emitted any time something changes the editor value\n */\n @Output() editorValueChange: EventEmitter<void> = new EventEmitter<void>();\n\n propagateChange = (_: any) => noop;\n\n /**\n * value?: string\n */\n @Input()\n override set value(value: string) {\n this._value = value;\n\n if (this._componentInitialized) {\n this.applyValue();\n }\n }\n override get value(): string {\n return this._value;\n }\n\n applyValue(): void {\n if (!this._fromEditor) {\n this._editor.setValue(this._value || '');\n }\n this._fromEditor = false;\n this.propagateChange(this._value);\n this.editorValueChange.emit();\n }\n\n override registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n override registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /**\n * getEditorContent?: function\n * Returns the content within the editor\n */\n getValue(): Observable<string> {\n if (!this._componentInitialized) {\n return of('');\n }\n setTimeout(() => {\n this._subject.next(this._value);\n this._subject.complete();\n this._subject = new Subject();\n });\n return this._subject.asObservable();\n }\n\n /**\n * language?: string\n * language used in editor\n */\n @Input()\n set language(language: string) {\n this._language = language;\n if (this._componentInitialized) {\n this.applyLanguage();\n }\n }\n\n get language(): string {\n return this._language;\n }\n\n applyLanguage(): void {\n if (this._language) {\n editor.setModelLanguage(\n this._editor.getModel() as editor.ITextModel,\n this._language\n );\n this.editorLanguageChanged.emit();\n }\n }\n\n /**\n * registerLanguage?: function\n * Registers a custom Language within the editor\n */\n registerLanguage(language: any): void {\n if (this._componentInitialized) {\n languages.register({ id: language.id });\n\n this._disposables.push(\n languages.setMonarchTokensProvider(language.id, {\n tokenizer: {\n root: language.monarchTokensProvider,\n },\n })\n );\n\n // Define a new theme that constains only rules that match this language\n editor.defineTheme(language.customTheme.id, language.customTheme.theme);\n this._theme = language.customTheme.id;\n\n this._disposables.push(\n languages.registerCompletionItemProvider(language.id, {\n provideCompletionItems: () => {\n return language.completionItemProvider;\n },\n })\n );\n\n const css: HTMLStyleElement = document.createElement('style');\n css.type = 'text/css';\n css.innerHTML = language.monarchTokensProviderCSS;\n document.body.appendChild(css);\n this.editorConfigurationChanged.emit();\n this._registeredLanguagesStyles = [\n ...this._registeredLanguagesStyles,\n css,\n ];\n }\n }\n\n /**\n * style?: string\n * css style of the editor on the page\n */\n @Input()\n set editorStyle(editorStyle: string) {\n this._editorStyle = editorStyle;\n if (this._componentInitialized) {\n this.applyStyle();\n }\n }\n\n get editorStyle(): string {\n return this._editorStyle;\n }\n\n applyStyle(): void {\n if (this._editorStyle) {\n const containerDiv: HTMLDivElement = this._editorContainer.nativeElement;\n containerDiv.setAttribute('style', this._editorStyle);\n }\n }\n\n /**\n * theme?: string\n * Theme to be applied to editor\n */\n @Input()\n set theme(theme: string) {\n this._theme = theme;\n if (this._componentInitialized) {\n this._editor.updateOptions({ theme });\n this.editorConfigurationChanged.emit();\n }\n }\n get theme(): string {\n return this._theme;\n }\n\n /**\n * fullScreenKeyBinding?: number\n * See here for key bindings https://microsoft.github.io/monaco-editor/api/enums/keycode.html\n * Sets the KeyCode for shortcutting to Fullscreen mode\n */\n @Input()\n set fullScreenKeyBinding(keycode: number[]) {\n this._keycode = keycode;\n }\n get fullScreenKeyBinding(): number[] {\n return this._keycode;\n }\n\n /**\n * editorOptions?: object\n * Options used on editor instantiation. Available options listed here:\n * https://microsoft.github.io/monaco-editor/api/interfaces/editor.ieditoroptions.html\n */\n @Input()\n set editorOptions(editorOptions: any) {\n this._editorOptions = editorOptions;\n if (this._componentInitialized) {\n this._editor.updateOptions(editorOptions);\n this.editorConfigurationChanged.emit();\n }\n }\n get editorOptions(): any {\n return this._editorOptions;\n }\n\n /**\n * layout method that calls layout method of editor and instructs the editor to remeasure its container\n */\n layout(): void {\n if (this._componentInitialized) {\n this._editor.layout();\n }\n }\n\n /**\n * Returns if in Full Screen Mode or not\n */\n get isFullScreen(): boolean {\n return this._isFullScreen;\n }\n\n // tslint:disable-next-line:member-ordering\n constructor(\n _changeDetectorRef: ChangeDetectorRef,\n private _elementRef: ElementRef<HTMLElement>,\n private _ngZone: NgZone,\n @Inject(PLATFORM_ID) private platformId: string\n ) {\n super(_changeDetectorRef);\n }\n\n ngOnInit(): void {\n if (isPlatformServer(this.platformId)) {\n return;\n }\n\n const containerDiv: HTMLDivElement = this._editorContainer.nativeElement;\n containerDiv.id = this._editorInnerContainer;\n\n // Add teradata branded themes\n editor.defineTheme(\n 'cv-light',\n cvEditorLightTheme as editor.IStandaloneThemeData\n );\n\n editor.defineTheme(\n 'cv-dark',\n cvEditorDarkTheme as editor.IStandaloneThemeData\n );\n\n this._editor = editor.create(\n containerDiv,\n Object.assign(\n {\n value: this._value,\n language: this.language,\n theme: this._theme,\n },\n this.editorOptions\n )\n );\n this._componentInitialized = true;\n setTimeout(() => {\n this.applyLanguage();\n this._fromEditor = true;\n this.applyValue();\n this.applyStyle();\n this.editorInitialized.emit(this._editor);\n this.editorConfigurationChanged.emit();\n });\n // The `onDidChangeContent` returns a disposable object (an object with `dispose()` method) which will cleanup\n // the listener. The callback, that we pass to `onDidChangeContent`, captures `this`. This leads to a circular reference\n // (`td-code-editor -> monaco -> td-code-editor`) and prevents the `td-code-editor` from being GC'd.\n this._disposables.push(\n (this._editor.getModel() as editor.ITextModel).onDidChangeContent(() => {\n this._fromEditor = true;\n this.writeValue(this._editor.getValue());\n this.layout();\n })\n );\n this.addFullScreenModeCommand();\n\n this._ngZone.runOutsideAngular(() =>\n merge(\n fromEvent(window, 'resize').pipe(debounceTime(100)),\n this._widthSubject.asObservable().pipe(distinctUntilChanged()),\n this._heightSubject.asObservable().pipe(distinctUntilChanged())\n )\n .pipe(debounceTime(100), takeUntil(this._destroy))\n .subscribe(() => {\n // Note: this is being called outside of the Angular zone since we don't have to\n // run change detection whenever the editor resizes itself.\n this.layout();\n })\n );\n this._ngZone.runOutsideAngular(() =>\n timer(500, 250)\n .pipe(takeUntil(this._destroy))\n .subscribe(() => {\n const { width, height } =\n this._elementRef.nativeElement.getBoundingClientRect();\n this._widthSubject.next(width);\n this._heightSubject.next(height);\n })\n );\n }\n\n ngOnDestroy(): void {\n this._changeDetectorRef.detach();\n this._registeredLanguagesStyles.forEach((style: HTMLStyleElement) =>\n style.remove()\n );\n while (this._disposables.length) {\n this._disposables.pop()?.dispose();\n }\n if (this._editor) {\n this._editor.dispose();\n }\n this._destroy.next(true);\n this._destroy.unsubscribe();\n }\n\n /**\n * showFullScreenEditor request for full screen of Code Editor based on its browser type.\n */\n public showFullScreenEditor(): void {\n if (this._componentInitialized) {\n const codeEditorElement: HTMLDivElement = this._editorContainer\n .nativeElement as HTMLDivElement;\n codeEditorElement.requestFullscreen();\n }\n this._isFullScreen = true;\n }\n\n /**\n * exitFullScreenEditor request to exit full screen of Code Editor based on its browser type.\n */\n public exitFullScreenEditor(): void {\n if (this._componentInitialized) {\n document.exitFullscreen();\n }\n this._isFullScreen = false;\n }\n\n /**\n * addFullScreenModeCommand used to add the fullscreen option to the context menu\n */\n private addFullScreenModeCommand(): void {\n this._disposables.push(\n this._editor.addAction({\n // An unique identifier of the contributed action.\n id: 'fullScreen',\n // A label of the action that will be presented to the user.\n label: 'Full Screen',\n // An optional array of keybindings for the action.\n contextMenuGroupId: 'navigation',\n keybindings: this._keycode,\n contextMenuOrder: 1.5,\n // Method that will be executed when the action is triggered.\n run: () => {\n this.showFullScreenEditor();\n },\n })\n );\n }\n}\n","<div class=\"editor-container\" #editorContainer></div>\n","import { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\n\nimport { TdCodeEditorComponent } from './code-editor.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TdCodeEditorComponent],\n exports: [TdCodeEditorComponent],\n bootstrap: [TdCodeEditorComponent],\n})\nexport class CovalentCodeEditorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"covalent-code-editor.mjs","sources":["../../../../libs/angular-code-editor/src/lib/editor.theme.ts","../../../../libs/angular-code-editor/src/lib/code-editor.component.ts","../../../../libs/angular-code-editor/src/lib/code-editor.component.html","../../../../libs/angular-code-editor/src/lib/code-editor.module.ts","../../../../libs/angular-code-editor/src/covalent-code-editor.ts"],"sourcesContent":["import * as tokens from '@covalent/tokens';\n\nexport const covalentThemeName = 'tdaa-lite';\n\nexport const covalentThemeConf = {\n base: 'vs',\n inherit: true,\n rules: [\n { token: '', foreground: '212121', background: 'f5f5f5' },\n { token: 'invalid', foreground: 'b71c1c' },\n { token: 'keyword', foreground: '3b78e7' },\n { token: 'keyword.json', foreground: 'ec407a', fontStyle: 'bold italic' },\n { token: 'comment', foreground: '0d904f' },\n { token: 'string.sql', foreground: '0d904f' },\n { token: 'number', foreground: 'E74C3C' },\n\n { token: 'key', foreground: '863B00' },\n { token: 'string.key.json', foreground: '0d904f' },\n { token: 'string.value.json', foreground: '0d904f' },\n { token: 'predefined', foreground: 'ec407a' },\n { token: 'predefined.sql', foreground: 'ec407a' },\n\n { token: 'delimiter', foreground: '000000' },\n { token: 'delimiter.html', foreground: '383838' },\n { token: 'delimiter.xml', foreground: '3b78e7' },\n\n { token: 'tag', foreground: '3b78e7' },\n { token: 'tag.id.jade', foreground: '4F76AC' },\n { token: 'tag.class.jade', foreground: '4F76AC' },\n { token: 'meta.scss', foreground: '800000' },\n { token: 'metatag', foreground: 'e00000' },\n { token: 'metatag.content.html', foreground: 'FF0000' },\n { token: 'metatag.html', foreground: '808080' },\n { token: 'metatag.xml', foreground: '808080' },\n { token: 'metatag.php', fontStyle: 'bold' },\n\n { token: 'attribute.name', foreground: '9c27b0' },\n { token: 'attribute.value', foreground: '0451A5' },\n { token: 'attribute.value.number', foreground: '09885A' },\n { token: 'attribute.value.unit', foreground: '09885A' },\n { token: 'attribute.value.html', foreground: '0000FF' },\n { token: 'attribute.value.xml', foreground: '0d904f' },\n\n { token: 'arbitration-variable', foreground: '006D90' },\n { token: 'arbitration-variable.invalid', foreground: 'b71c1c' },\n\n { token: 'operator.scss', foreground: '666666' },\n { token: 'operator', foreground: '778899' },\n ],\n colors: {\n comment: '388e3c',\n 'editor.foreground': 'ff0000',\n 'editor.background': '#f5f5f5',\n 'editorLineNumber.activeForeground': '#707070',\n 'editorLineNumber.foreground': '#b7b7b7',\n 'editor.lineHighlightBackground': '#ebebeb',\n 'inputValidation.errorBackground': '#b71c1c',\n 'inputValidation.errorBorder': 'rgba(229, 115, 115, 0.1)',\n },\n};\n\nconst getTheme = (theme: 'Light' | 'Dark') => {\n return {\n base: theme === 'Light' ? 'vs' : 'vs-dark',\n inherit: true,\n rules: [\n {\n token: '',\n foreground: tokens[`Cv${theme}CodeSnippetColor`],\n background: tokens[`Cv${theme}Surface`],\n },\n {\n token: 'arbitration-variable',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'arbitration-variable.invalid',\n foreground: tokens[`Cv${theme}Negative`],\n },\n {\n token: 'attribute.name',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'attribute.value',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'attribute.value.number',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'attribute.value.unit',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'attribute.value.html',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'attribute.value.xml',\n foreground: tokens[`Cv${theme}CodeSnippetLiteral`],\n },\n {\n token: 'builtins',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'class',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'comment',\n foreground: tokens[`Cv${theme}CodeSnippetComment`],\n fontStyle: 'italic',\n },\n {\n token: 'constant',\n foreground: tokens[`Cv${theme}CodeSnippetLiteral`],\n },\n {\n token: 'delimiter',\n foreground: tokens[`CvTheme${theme}ColorsOnSurface`],\n },\n {\n token: 'delimiter.html',\n foreground: tokens[`Cv${theme}CodeSnippetSelector`],\n },\n {\n token: 'delimiter.xml',\n foreground: tokens[`Cv${theme}CodeSnippetSelector`],\n },\n {\n token: 'doctag',\n foreground: tokens[`Cv${theme}CodeSnippetKeyword`],\n },\n {\n token: 'emphasis',\n fontStyle: 'italic',\n },\n {\n token: 'formula',\n foreground: tokens[`Cv${theme}CodeSnippetKeyword`],\n },\n {\n token: 'function',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n },\n {\n token: 'invalid',\n foreground: tokens[`Cv${theme}Negative`],\n },\n { token: 'key', foreground: tokens[`Cv${theme}CodeSnippetString`] },\n {\n token: 'keyword',\n foreground: tokens[`Cv${theme}CodeSnippetKeyword`],\n },\n {\n token: 'keyword.json',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n fontStyle: 'bold italic',\n },\n {\n token: 'link',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n fontStyle: 'underline',\n },\n {\n token: 'literal',\n foreground: tokens[`Cv${theme}CodeSnippetLiteral`],\n },\n {\n token: 'meta',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n },\n {\n token: 'number',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n {\n token: 'operator',\n foreground: tokens[`Cv${theme}CodeSnippetLiteral`],\n },\n { token: 'predefined', foreground: tokens[`Cv${theme}CodeSnippetTitle`] },\n {\n token: 'predefined.sql',\n foreground: tokens[`Cv${theme}CodeSnippetTitle`],\n },\n {\n token: 'predefined.python',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'punctuation',\n foreground: tokens[`Cv${theme}CodeSnippetColor`],\n },\n {\n token: 'string',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'string.sql',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'string.key.json',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'string.value.json',\n foreground: tokens[`Cv${theme}CodeSnippetString`],\n },\n {\n token: 'strong',\n fontStyle: 'bold',\n },\n {\n token: 'tag',\n foreground: tokens[`Cv${theme}CodeSnippetSelector`],\n },\n {\n token: 'tag.id.jade',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'tag.class.jade',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'type',\n foreground: tokens[`Cv${theme}CodeSnippetClass`],\n },\n {\n token: 'variable',\n foreground: tokens[`Cv${theme}CodeSnippetVariable`],\n },\n ],\n colors: {\n comment: tokens[`Cv${theme}CodeSnippetComment`],\n 'editor.background': tokens[`Cv${theme}Surface`],\n 'editor.foreground': tokens[`CvTheme${theme}ColorsOnSurface`],\n 'editorCursor.foreground': tokens[`Cv${theme}TextSecondaryOnBackground`],\n 'editorLineNumber.activeForeground':\n tokens[`CvTheme${theme}ColorsOnSurface74`],\n 'editorLineNumber.foreground': tokens[`CvTheme${theme}ColorsOnSurface38`],\n 'editor.lineHighlightBackground':\n tokens[`CvTheme${theme}ColorsSurfaceContainerLow`],\n 'inputValidation.errorBackground': tokens[`Cv${theme}Negative`],\n 'inputValidation.errorBorder':\n tokens[`CvTheme${theme}PalettesNegative95`],\n },\n };\n};\n\n// Any changes to these themes should also be reflected in the components/code-editor theme.\nexport const cvEditorDarkTheme = getTheme('Dark');\n\nexport const cvEditorLightTheme = getTheme('Light');\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnInit,\n ViewChild,\n ElementRef,\n forwardRef,\n ChangeDetectorRef,\n OnDestroy,\n NgZone,\n Inject,\n PLATFORM_ID,\n} from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { Observable, of, Subject } from 'rxjs';\nimport { fromEvent, merge, timer } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\n// Use esm version to support shipping subset of languages and features\nimport {\n editor,\n languages,\n IDisposable,\n} from 'monaco-editor/esm/vs/editor/editor.api';\n\nimport {\n mixinControlValueAccessor,\n mixinDisabled,\n} from '@covalent/core/common';\nimport { cvEditorDarkTheme, cvEditorLightTheme } from './editor.theme';\n\nconst noop = () => {\n // empty method\n};\n\n// counter for ids to allow for multiple editors on one page\nlet uniqueCounter = 0;\n\nexport class TdCodeEditorBase {\n constructor(public _changeDetectorRef: ChangeDetectorRef) {}\n}\n\nexport const _TdCodeEditorMixinBase = mixinControlValueAccessor(\n mixinDisabled(TdCodeEditorBase),\n []\n);\n\n@Component({\n selector: 'td-code-editor',\n templateUrl: './code-editor.component.html',\n styleUrls: ['./code-editor.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TdCodeEditorComponent),\n multi: true,\n },\n ],\n})\nexport class TdCodeEditorComponent\n extends _TdCodeEditorMixinBase\n implements OnInit, ControlValueAccessor, OnDestroy\n{\n private _destroy: Subject<boolean> = new Subject<boolean>();\n private _widthSubject: Subject<number> = new Subject<number>();\n private _heightSubject: Subject<number> = new Subject<number>();\n\n private _editorStyle = 'width:100%;height:100%;';\n private _value = '';\n private _theme = 'cv-light';\n private _language = 'javascript';\n private _subject: Subject<string> = new Subject();\n private _editorInnerContainer: string =\n 'editorInnerContainer' + uniqueCounter++;\n private _editor!: editor.IStandaloneCodeEditor;\n private _fromEditor = false;\n private _componentInitialized = false;\n private _editorOptions: any = {};\n private _isFullScreen = false;\n private _keycode: any;\n private _registeredLanguagesStyles: HTMLStyleElement[] = [];\n private _disposables: IDisposable[] = [];\n\n @ViewChild('editorContainer', { static: true }) _editorContainer!: ElementRef;\n\n /**\n * editorInitialized: function($event)\n * Event emitted when editor is first initialized\n */\n @Output()\n editorInitialized: EventEmitter<editor.IStandaloneCodeEditor> =\n new EventEmitter<editor.IStandaloneCodeEditor>();\n\n /**\n * editorConfigurationChanged: function($event)\n * Event emitted when editor's configuration changes\n */\n @Output() editorConfigurationChanged: EventEmitter<void> =\n new EventEmitter<void>();\n\n /**\n * editorLanguageChanged: function($event)\n * Event emitted when editor's Language changes\n */\n @Output() editorLanguageChanged: EventEmitter<void> =\n new EventEmitter<void>();\n\n /**\n * editorValueChange: function($event)\n * Event emitted any time something changes the editor value\n */\n @Output() editorValueChange: EventEmitter<void> = new EventEmitter<void>();\n\n propagateChange = (_: any) => noop;\n\n /**\n * value?: string\n */\n @Input()\n override set value(value: string) {\n this._value = value;\n\n if (this._componentInitialized) {\n this.applyValue();\n }\n }\n override get value(): string {\n return this._value;\n }\n\n applyValue(): void {\n if (!this._fromEditor) {\n this._editor.setValue(this._value || '');\n }\n this._fromEditor = false;\n this.propagateChange(this._value);\n this.editorValueChange.emit();\n }\n\n override registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n override registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /**\n * getEditorContent?: function\n * Returns the content within the editor\n */\n getValue(): Observable<string> {\n if (!this._componentInitialized) {\n return of('');\n }\n setTimeout(() => {\n this._subject.next(this._value);\n this._subject.complete();\n this._subject = new Subject();\n });\n return this._subject.asObservable();\n }\n\n /**\n * language?: string\n * language used in editor\n */\n @Input()\n set language(language: string) {\n this._language = language;\n if (this._componentInitialized) {\n this.applyLanguage();\n }\n }\n\n get language(): string {\n return this._language;\n }\n\n applyLanguage(): void {\n if (this._language) {\n editor.setModelLanguage(\n this._editor.getModel() as editor.ITextModel,\n this._language\n );\n this.editorLanguageChanged.emit();\n }\n }\n\n /**\n * registerLanguage?: function\n * Registers a custom Language within the editor\n */\n registerLanguage(language: any): void {\n if (this._componentInitialized) {\n languages.register({ id: language.id });\n\n this._disposables.push(\n languages.setMonarchTokensProvider(language.id, {\n tokenizer: {\n root: language.monarchTokensProvider,\n },\n })\n );\n\n // Define a new theme that constains only rules that match this language\n editor.defineTheme(language.customTheme.id, language.customTheme.theme);\n this._theme = language.customTheme.id;\n\n this._disposables.push(\n languages.registerCompletionItemProvider(language.id, {\n provideCompletionItems: () => {\n return language.completionItemProvider;\n },\n })\n );\n\n const css: HTMLStyleElement = document.createElement('style');\n css.type = 'text/css';\n css.innerHTML = language.monarchTokensProviderCSS;\n document.body.appendChild(css);\n this.editorConfigurationChanged.emit();\n this._registeredLanguagesStyles = [\n ...this._registeredLanguagesStyles,\n css,\n ];\n }\n }\n\n /**\n * style?: string\n * css style of the editor on the page\n */\n @Input()\n set editorStyle(editorStyle: string) {\n this._editorStyle = editorStyle;\n if (this._componentInitialized) {\n this.applyStyle();\n }\n }\n\n get editorStyle(): string {\n return this._editorStyle;\n }\n\n applyStyle(): void {\n if (this._editorStyle) {\n const containerDiv: HTMLDivElement = this._editorContainer.nativeElement;\n containerDiv.setAttribute('style', this._editorStyle);\n }\n }\n\n /**\n * theme?: string\n * Theme to be applied to editor\n */\n @Input()\n set theme(theme: string) {\n this._theme = theme;\n if (this._componentInitialized) {\n this._editor.updateOptions({ theme });\n this.editorConfigurationChanged.emit();\n }\n }\n get theme(): string {\n return this._theme;\n }\n\n /**\n * fullScreenKeyBinding?: number\n * See here for key bindings https://microsoft.github.io/monaco-editor/api/enums/keycode.html\n * Sets the KeyCode for shortcutting to Fullscreen mode\n */\n @Input()\n set fullScreenKeyBinding(keycode: number[]) {\n this._keycode = keycode;\n }\n get fullScreenKeyBinding(): number[] {\n return this._keycode;\n }\n\n /**\n * editorOptions?: object\n * Options used on editor instantiation. Available options listed here:\n * https://microsoft.github.io/monaco-editor/api/interfaces/editor.ieditoroptions.html\n */\n @Input()\n set editorOptions(editorOptions: any) {\n this._editorOptions = editorOptions;\n if (this._componentInitialized) {\n this._editor.updateOptions(editorOptions);\n this.editorConfigurationChanged.emit();\n }\n }\n get editorOptions(): any {\n return this._editorOptions;\n }\n\n /**\n * layout method that calls layout method of editor and instructs the editor to remeasure its container\n */\n layout(): void {\n if (this._componentInitialized) {\n this._editor.layout();\n }\n }\n\n /**\n * Returns if in Full Screen Mode or not\n */\n get isFullScreen(): boolean {\n return this._isFullScreen;\n }\n\n // tslint:disable-next-line:member-ordering\n constructor(\n _changeDetectorRef: ChangeDetectorRef,\n private _elementRef: ElementRef<HTMLElement>,\n private _ngZone: NgZone,\n @Inject(PLATFORM_ID) private platformId: string\n ) {\n super(_changeDetectorRef);\n }\n\n ngOnInit(): void {\n if (isPlatformServer(this.platformId)) {\n return;\n }\n\n const containerDiv: HTMLDivElement = this._editorContainer.nativeElement;\n containerDiv.id = this._editorInnerContainer;\n\n // Add teradata branded themes\n editor.defineTheme(\n 'cv-light',\n cvEditorLightTheme as editor.IStandaloneThemeData\n );\n\n editor.defineTheme(\n 'cv-dark',\n cvEditorDarkTheme as editor.IStandaloneThemeData\n );\n\n this._editor = editor.create(\n containerDiv,\n Object.assign(\n {\n value: this._value,\n language: this.language,\n theme: this._theme,\n },\n this.editorOptions\n )\n );\n this._componentInitialized = true;\n setTimeout(() => {\n this.applyLanguage();\n this._fromEditor = true;\n this.applyValue();\n this.applyStyle();\n this.editorInitialized.emit(this._editor);\n this.editorConfigurationChanged.emit();\n });\n // The `onDidChangeContent` returns a disposable object (an object with `dispose()` method) which will cleanup\n // the listener. The callback, that we pass to `onDidChangeContent`, captures `this`. This leads to a circular reference\n // (`td-code-editor -> monaco -> td-code-editor`) and prevents the `td-code-editor` from being GC'd.\n this._disposables.push(\n (this._editor.getModel() as editor.ITextModel).onDidChangeContent(() => {\n this._fromEditor = true;\n this.writeValue(this._editor.getValue());\n this.layout();\n })\n );\n this.addFullScreenModeCommand();\n\n this._ngZone.runOutsideAngular(() =>\n merge(\n fromEvent(window, 'resize').pipe(debounceTime(100)),\n this._widthSubject.asObservable().pipe(distinctUntilChanged()),\n this._heightSubject.asObservable().pipe(distinctUntilChanged())\n )\n .pipe(debounceTime(100), takeUntil(this._destroy))\n .subscribe(() => {\n // Note: this is being called outside of the Angular zone since we don't have to\n // run change detection whenever the editor resizes itself.\n this.layout();\n })\n );\n this._ngZone.runOutsideAngular(() =>\n timer(500, 250)\n .pipe(takeUntil(this._destroy))\n .subscribe(() => {\n const { width, height } =\n this._elementRef.nativeElement.getBoundingClientRect();\n this._widthSubject.next(width);\n this._heightSubject.next(height);\n })\n );\n }\n\n ngOnDestroy(): void {\n this._changeDetectorRef.detach();\n this._registeredLanguagesStyles.forEach((style: HTMLStyleElement) =>\n style.remove()\n );\n while (this._disposables.length) {\n this._disposables.pop()?.dispose();\n }\n if (this._editor) {\n this._editor.dispose();\n }\n this._destroy.next(true);\n this._destroy.unsubscribe();\n }\n\n /**\n * showFullScreenEditor request for full screen of Code Editor based on its browser type.\n */\n public showFullScreenEditor(): void {\n if (this._componentInitialized) {\n const codeEditorElement: HTMLDivElement = this._editorContainer\n .nativeElement as HTMLDivElement;\n codeEditorElement.requestFullscreen();\n }\n this._isFullScreen = true;\n }\n\n /**\n * exitFullScreenEditor request to exit full screen of Code Editor based on its browser type.\n */\n public exitFullScreenEditor(): void {\n if (this._componentInitialized) {\n document.exitFullscreen();\n }\n this._isFullScreen = false;\n }\n\n /**\n * addFullScreenModeCommand used to add the fullscreen option to the context menu\n */\n private addFullScreenModeCommand(): void {\n this._disposables.push(\n this._editor.addAction({\n // An unique identifier of the contributed action.\n id: 'fullScreen',\n // A label of the action that will be presented to the user.\n label: 'Full Screen',\n // An optional array of keybindings for the action.\n contextMenuGroupId: 'navigation',\n keybindings: this._keycode,\n contextMenuOrder: 1.5,\n // Method that will be executed when the action is triggered.\n run: () => {\n this.showFullScreenEditor();\n },\n })\n );\n }\n}\n","<div class=\"editor-container\" #editorContainer></div>\n","import { NgModule } from '@angular/core';\nimport { TdCodeEditorComponent } from './code-editor.component';\n\n/**\n * @deprecated This module is deprecated and will be removed in future versions.\n * Please migrate to using standalone components as soon as possible.\n */\n@NgModule({\n imports: [TdCodeEditorComponent],\n exports: [TdCodeEditorComponent],\n})\nexport class CovalentCodeEditorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -127,5 +127,5 @@ export declare class TdCodeEditorComponent extends _TdCodeEditorMixinBase implem
|
|
|
127
127
|
*/
|
|
128
128
|
private addFullScreenModeCommand;
|
|
129
129
|
static ɵfac: i0.ɵɵFactoryDeclaration<TdCodeEditorComponent, never>;
|
|
130
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TdCodeEditorComponent, "td-code-editor", never, { "value": { "alias": "value"; "required": false; }; "language": { "alias": "language"; "required": false; }; "editorStyle": { "alias": "editorStyle"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "fullScreenKeyBinding": { "alias": "fullScreenKeyBinding"; "required": false; }; "editorOptions": { "alias": "editorOptions"; "required": false; }; }, { "editorInitialized": "editorInitialized"; "editorConfigurationChanged": "editorConfigurationChanged"; "editorLanguageChanged": "editorLanguageChanged"; "editorValueChange": "editorValueChange"; }, never, never,
|
|
130
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TdCodeEditorComponent, "td-code-editor", never, { "value": { "alias": "value"; "required": false; }; "language": { "alias": "language"; "required": false; }; "editorStyle": { "alias": "editorStyle"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "fullScreenKeyBinding": { "alias": "fullScreenKeyBinding"; "required": false; }; "editorOptions": { "alias": "editorOptions"; "required": false; }; }, { "editorInitialized": "editorInitialized"; "editorConfigurationChanged": "editorConfigurationChanged"; "editorLanguageChanged": "editorLanguageChanged"; "editorValueChange": "editorValueChange"; }, never, never, true, never>;
|
|
131
131
|
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "./code-editor.component";
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated This module is deprecated and will be removed in future versions.
|
|
5
|
+
* Please migrate to using standalone components as soon as possible.
|
|
6
|
+
*/
|
|
4
7
|
export declare class CovalentCodeEditorModule {
|
|
5
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<CovalentCodeEditorModule, never>;
|
|
6
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<CovalentCodeEditorModule, [typeof i1.TdCodeEditorComponent], [typeof
|
|
9
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CovalentCodeEditorModule, never, [typeof i1.TdCodeEditorComponent], [typeof i1.TdCodeEditorComponent]>;
|
|
7
10
|
static ɵinj: i0.ɵɵInjectorDeclaration<CovalentCodeEditorModule>;
|
|
8
11
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@covalent/code-editor",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "10.0.1",
|
|
4
4
|
"description": "Teradata UI Platform Code Editor Module",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -22,12 +22,12 @@
|
|
|
22
22
|
"license": "MIT",
|
|
23
23
|
"author": "Teradata UX",
|
|
24
24
|
"peerDependencies": {
|
|
25
|
-
"@angular/common": "
|
|
26
|
-
"@angular/core": "
|
|
25
|
+
"@angular/common": "19.x.x",
|
|
26
|
+
"@angular/core": "19.x.x",
|
|
27
27
|
"monaco-editor": "^0.52.0"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"tslib": "^2.
|
|
30
|
+
"tslib": "^2.8.1"
|
|
31
31
|
},
|
|
32
32
|
"module": "fesm2022/covalent-code-editor.mjs",
|
|
33
33
|
"typings": "index.d.ts",
|
|
@@ -37,10 +37,11 @@
|
|
|
37
37
|
},
|
|
38
38
|
".": {
|
|
39
39
|
"types": "./index.d.ts",
|
|
40
|
-
"esm2022": "./esm2022/covalent-code-editor.mjs",
|
|
41
|
-
"esm": "./esm2022/covalent-code-editor.mjs",
|
|
42
40
|
"default": "./fesm2022/covalent-code-editor.mjs"
|
|
43
41
|
}
|
|
44
42
|
},
|
|
45
|
-
"sideEffects": false
|
|
43
|
+
"sideEffects": false,
|
|
44
|
+
"scripts": {
|
|
45
|
+
"prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled by Ivy in full compilation mode. This is not allowed.\\nPlease delete and rebuild the package with Ivy partial compilation mode, before attempting to publish.\\n')\" && exit 1"
|
|
46
|
+
}
|
|
46
47
|
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292YWxlbnQtY29kZS1lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29kZS1lZGl0b3Ivc3JjL2NvdmFsZW50LWNvZGUtZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
|
|
@@ -1,381 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, forwardRef, ChangeDetectorRef, NgZone, Inject, PLATFORM_ID, } from '@angular/core';
|
|
2
|
-
import { isPlatformServer } from '@angular/common';
|
|
3
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
-
import { of, Subject } from 'rxjs';
|
|
5
|
-
import { fromEvent, merge, timer } from 'rxjs';
|
|
6
|
-
import { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
7
|
-
// Use esm version to support shipping subset of languages and features
|
|
8
|
-
import { editor, languages, } from 'monaco-editor/esm/vs/editor/editor.api';
|
|
9
|
-
import { mixinControlValueAccessor, mixinDisabled, } from '@covalent/core/common';
|
|
10
|
-
import { cvEditorDarkTheme, cvEditorLightTheme } from './editor.theme';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
const noop = () => {
|
|
13
|
-
// empty method
|
|
14
|
-
};
|
|
15
|
-
// counter for ids to allow for multiple editors on one page
|
|
16
|
-
let uniqueCounter = 0;
|
|
17
|
-
export class TdCodeEditorBase {
|
|
18
|
-
_changeDetectorRef;
|
|
19
|
-
constructor(_changeDetectorRef) {
|
|
20
|
-
this._changeDetectorRef = _changeDetectorRef;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
export const _TdCodeEditorMixinBase = mixinControlValueAccessor(mixinDisabled(TdCodeEditorBase), []);
|
|
24
|
-
export class TdCodeEditorComponent extends _TdCodeEditorMixinBase {
|
|
25
|
-
_elementRef;
|
|
26
|
-
_ngZone;
|
|
27
|
-
platformId;
|
|
28
|
-
_destroy = new Subject();
|
|
29
|
-
_widthSubject = new Subject();
|
|
30
|
-
_heightSubject = new Subject();
|
|
31
|
-
_editorStyle = 'width:100%;height:100%;';
|
|
32
|
-
_value = '';
|
|
33
|
-
_theme = 'cv-light';
|
|
34
|
-
_language = 'javascript';
|
|
35
|
-
_subject = new Subject();
|
|
36
|
-
_editorInnerContainer = 'editorInnerContainer' + uniqueCounter++;
|
|
37
|
-
_editor;
|
|
38
|
-
_fromEditor = false;
|
|
39
|
-
_componentInitialized = false;
|
|
40
|
-
_editorOptions = {};
|
|
41
|
-
_isFullScreen = false;
|
|
42
|
-
_keycode;
|
|
43
|
-
_registeredLanguagesStyles = [];
|
|
44
|
-
_disposables = [];
|
|
45
|
-
_editorContainer;
|
|
46
|
-
/**
|
|
47
|
-
* editorInitialized: function($event)
|
|
48
|
-
* Event emitted when editor is first initialized
|
|
49
|
-
*/
|
|
50
|
-
editorInitialized = new EventEmitter();
|
|
51
|
-
/**
|
|
52
|
-
* editorConfigurationChanged: function($event)
|
|
53
|
-
* Event emitted when editor's configuration changes
|
|
54
|
-
*/
|
|
55
|
-
editorConfigurationChanged = new EventEmitter();
|
|
56
|
-
/**
|
|
57
|
-
* editorLanguageChanged: function($event)
|
|
58
|
-
* Event emitted when editor's Language changes
|
|
59
|
-
*/
|
|
60
|
-
editorLanguageChanged = new EventEmitter();
|
|
61
|
-
/**
|
|
62
|
-
* editorValueChange: function($event)
|
|
63
|
-
* Event emitted any time something changes the editor value
|
|
64
|
-
*/
|
|
65
|
-
editorValueChange = new EventEmitter();
|
|
66
|
-
propagateChange = (_) => noop;
|
|
67
|
-
/**
|
|
68
|
-
* value?: string
|
|
69
|
-
*/
|
|
70
|
-
set value(value) {
|
|
71
|
-
this._value = value;
|
|
72
|
-
if (this._componentInitialized) {
|
|
73
|
-
this.applyValue();
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
get value() {
|
|
77
|
-
return this._value;
|
|
78
|
-
}
|
|
79
|
-
applyValue() {
|
|
80
|
-
if (!this._fromEditor) {
|
|
81
|
-
this._editor.setValue(this._value || '');
|
|
82
|
-
}
|
|
83
|
-
this._fromEditor = false;
|
|
84
|
-
this.propagateChange(this._value);
|
|
85
|
-
this.editorValueChange.emit();
|
|
86
|
-
}
|
|
87
|
-
registerOnChange(fn) {
|
|
88
|
-
this.propagateChange = fn;
|
|
89
|
-
}
|
|
90
|
-
registerOnTouched(fn) {
|
|
91
|
-
this.onTouched = fn;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* getEditorContent?: function
|
|
95
|
-
* Returns the content within the editor
|
|
96
|
-
*/
|
|
97
|
-
getValue() {
|
|
98
|
-
if (!this._componentInitialized) {
|
|
99
|
-
return of('');
|
|
100
|
-
}
|
|
101
|
-
setTimeout(() => {
|
|
102
|
-
this._subject.next(this._value);
|
|
103
|
-
this._subject.complete();
|
|
104
|
-
this._subject = new Subject();
|
|
105
|
-
});
|
|
106
|
-
return this._subject.asObservable();
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* language?: string
|
|
110
|
-
* language used in editor
|
|
111
|
-
*/
|
|
112
|
-
set language(language) {
|
|
113
|
-
this._language = language;
|
|
114
|
-
if (this._componentInitialized) {
|
|
115
|
-
this.applyLanguage();
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
get language() {
|
|
119
|
-
return this._language;
|
|
120
|
-
}
|
|
121
|
-
applyLanguage() {
|
|
122
|
-
if (this._language) {
|
|
123
|
-
editor.setModelLanguage(this._editor.getModel(), this._language);
|
|
124
|
-
this.editorLanguageChanged.emit();
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* registerLanguage?: function
|
|
129
|
-
* Registers a custom Language within the editor
|
|
130
|
-
*/
|
|
131
|
-
registerLanguage(language) {
|
|
132
|
-
if (this._componentInitialized) {
|
|
133
|
-
languages.register({ id: language.id });
|
|
134
|
-
this._disposables.push(languages.setMonarchTokensProvider(language.id, {
|
|
135
|
-
tokenizer: {
|
|
136
|
-
root: language.monarchTokensProvider,
|
|
137
|
-
},
|
|
138
|
-
}));
|
|
139
|
-
// Define a new theme that constains only rules that match this language
|
|
140
|
-
editor.defineTheme(language.customTheme.id, language.customTheme.theme);
|
|
141
|
-
this._theme = language.customTheme.id;
|
|
142
|
-
this._disposables.push(languages.registerCompletionItemProvider(language.id, {
|
|
143
|
-
provideCompletionItems: () => {
|
|
144
|
-
return language.completionItemProvider;
|
|
145
|
-
},
|
|
146
|
-
}));
|
|
147
|
-
const css = document.createElement('style');
|
|
148
|
-
css.type = 'text/css';
|
|
149
|
-
css.innerHTML = language.monarchTokensProviderCSS;
|
|
150
|
-
document.body.appendChild(css);
|
|
151
|
-
this.editorConfigurationChanged.emit();
|
|
152
|
-
this._registeredLanguagesStyles = [
|
|
153
|
-
...this._registeredLanguagesStyles,
|
|
154
|
-
css,
|
|
155
|
-
];
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* style?: string
|
|
160
|
-
* css style of the editor on the page
|
|
161
|
-
*/
|
|
162
|
-
set editorStyle(editorStyle) {
|
|
163
|
-
this._editorStyle = editorStyle;
|
|
164
|
-
if (this._componentInitialized) {
|
|
165
|
-
this.applyStyle();
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
get editorStyle() {
|
|
169
|
-
return this._editorStyle;
|
|
170
|
-
}
|
|
171
|
-
applyStyle() {
|
|
172
|
-
if (this._editorStyle) {
|
|
173
|
-
const containerDiv = this._editorContainer.nativeElement;
|
|
174
|
-
containerDiv.setAttribute('style', this._editorStyle);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* theme?: string
|
|
179
|
-
* Theme to be applied to editor
|
|
180
|
-
*/
|
|
181
|
-
set theme(theme) {
|
|
182
|
-
this._theme = theme;
|
|
183
|
-
if (this._componentInitialized) {
|
|
184
|
-
this._editor.updateOptions({ theme });
|
|
185
|
-
this.editorConfigurationChanged.emit();
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
get theme() {
|
|
189
|
-
return this._theme;
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* fullScreenKeyBinding?: number
|
|
193
|
-
* See here for key bindings https://microsoft.github.io/monaco-editor/api/enums/keycode.html
|
|
194
|
-
* Sets the KeyCode for shortcutting to Fullscreen mode
|
|
195
|
-
*/
|
|
196
|
-
set fullScreenKeyBinding(keycode) {
|
|
197
|
-
this._keycode = keycode;
|
|
198
|
-
}
|
|
199
|
-
get fullScreenKeyBinding() {
|
|
200
|
-
return this._keycode;
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* editorOptions?: object
|
|
204
|
-
* Options used on editor instantiation. Available options listed here:
|
|
205
|
-
* https://microsoft.github.io/monaco-editor/api/interfaces/editor.ieditoroptions.html
|
|
206
|
-
*/
|
|
207
|
-
set editorOptions(editorOptions) {
|
|
208
|
-
this._editorOptions = editorOptions;
|
|
209
|
-
if (this._componentInitialized) {
|
|
210
|
-
this._editor.updateOptions(editorOptions);
|
|
211
|
-
this.editorConfigurationChanged.emit();
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
get editorOptions() {
|
|
215
|
-
return this._editorOptions;
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* layout method that calls layout method of editor and instructs the editor to remeasure its container
|
|
219
|
-
*/
|
|
220
|
-
layout() {
|
|
221
|
-
if (this._componentInitialized) {
|
|
222
|
-
this._editor.layout();
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* Returns if in Full Screen Mode or not
|
|
227
|
-
*/
|
|
228
|
-
get isFullScreen() {
|
|
229
|
-
return this._isFullScreen;
|
|
230
|
-
}
|
|
231
|
-
// tslint:disable-next-line:member-ordering
|
|
232
|
-
constructor(_changeDetectorRef, _elementRef, _ngZone, platformId) {
|
|
233
|
-
super(_changeDetectorRef);
|
|
234
|
-
this._elementRef = _elementRef;
|
|
235
|
-
this._ngZone = _ngZone;
|
|
236
|
-
this.platformId = platformId;
|
|
237
|
-
}
|
|
238
|
-
ngOnInit() {
|
|
239
|
-
if (isPlatformServer(this.platformId)) {
|
|
240
|
-
return;
|
|
241
|
-
}
|
|
242
|
-
const containerDiv = this._editorContainer.nativeElement;
|
|
243
|
-
containerDiv.id = this._editorInnerContainer;
|
|
244
|
-
// Add teradata branded themes
|
|
245
|
-
editor.defineTheme('cv-light', cvEditorLightTheme);
|
|
246
|
-
editor.defineTheme('cv-dark', cvEditorDarkTheme);
|
|
247
|
-
this._editor = editor.create(containerDiv, Object.assign({
|
|
248
|
-
value: this._value,
|
|
249
|
-
language: this.language,
|
|
250
|
-
theme: this._theme,
|
|
251
|
-
}, this.editorOptions));
|
|
252
|
-
this._componentInitialized = true;
|
|
253
|
-
setTimeout(() => {
|
|
254
|
-
this.applyLanguage();
|
|
255
|
-
this._fromEditor = true;
|
|
256
|
-
this.applyValue();
|
|
257
|
-
this.applyStyle();
|
|
258
|
-
this.editorInitialized.emit(this._editor);
|
|
259
|
-
this.editorConfigurationChanged.emit();
|
|
260
|
-
});
|
|
261
|
-
// The `onDidChangeContent` returns a disposable object (an object with `dispose()` method) which will cleanup
|
|
262
|
-
// the listener. The callback, that we pass to `onDidChangeContent`, captures `this`. This leads to a circular reference
|
|
263
|
-
// (`td-code-editor -> monaco -> td-code-editor`) and prevents the `td-code-editor` from being GC'd.
|
|
264
|
-
this._disposables.push(this._editor.getModel().onDidChangeContent(() => {
|
|
265
|
-
this._fromEditor = true;
|
|
266
|
-
this.writeValue(this._editor.getValue());
|
|
267
|
-
this.layout();
|
|
268
|
-
}));
|
|
269
|
-
this.addFullScreenModeCommand();
|
|
270
|
-
this._ngZone.runOutsideAngular(() => merge(fromEvent(window, 'resize').pipe(debounceTime(100)), this._widthSubject.asObservable().pipe(distinctUntilChanged()), this._heightSubject.asObservable().pipe(distinctUntilChanged()))
|
|
271
|
-
.pipe(debounceTime(100), takeUntil(this._destroy))
|
|
272
|
-
.subscribe(() => {
|
|
273
|
-
// Note: this is being called outside of the Angular zone since we don't have to
|
|
274
|
-
// run change detection whenever the editor resizes itself.
|
|
275
|
-
this.layout();
|
|
276
|
-
}));
|
|
277
|
-
this._ngZone.runOutsideAngular(() => timer(500, 250)
|
|
278
|
-
.pipe(takeUntil(this._destroy))
|
|
279
|
-
.subscribe(() => {
|
|
280
|
-
const { width, height } = this._elementRef.nativeElement.getBoundingClientRect();
|
|
281
|
-
this._widthSubject.next(width);
|
|
282
|
-
this._heightSubject.next(height);
|
|
283
|
-
}));
|
|
284
|
-
}
|
|
285
|
-
ngOnDestroy() {
|
|
286
|
-
this._changeDetectorRef.detach();
|
|
287
|
-
this._registeredLanguagesStyles.forEach((style) => style.remove());
|
|
288
|
-
while (this._disposables.length) {
|
|
289
|
-
this._disposables.pop()?.dispose();
|
|
290
|
-
}
|
|
291
|
-
if (this._editor) {
|
|
292
|
-
this._editor.dispose();
|
|
293
|
-
}
|
|
294
|
-
this._destroy.next(true);
|
|
295
|
-
this._destroy.unsubscribe();
|
|
296
|
-
}
|
|
297
|
-
/**
|
|
298
|
-
* showFullScreenEditor request for full screen of Code Editor based on its browser type.
|
|
299
|
-
*/
|
|
300
|
-
showFullScreenEditor() {
|
|
301
|
-
if (this._componentInitialized) {
|
|
302
|
-
const codeEditorElement = this._editorContainer
|
|
303
|
-
.nativeElement;
|
|
304
|
-
codeEditorElement.requestFullscreen();
|
|
305
|
-
}
|
|
306
|
-
this._isFullScreen = true;
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* exitFullScreenEditor request to exit full screen of Code Editor based on its browser type.
|
|
310
|
-
*/
|
|
311
|
-
exitFullScreenEditor() {
|
|
312
|
-
if (this._componentInitialized) {
|
|
313
|
-
document.exitFullscreen();
|
|
314
|
-
}
|
|
315
|
-
this._isFullScreen = false;
|
|
316
|
-
}
|
|
317
|
-
/**
|
|
318
|
-
* addFullScreenModeCommand used to add the fullscreen option to the context menu
|
|
319
|
-
*/
|
|
320
|
-
addFullScreenModeCommand() {
|
|
321
|
-
this._disposables.push(this._editor.addAction({
|
|
322
|
-
// An unique identifier of the contributed action.
|
|
323
|
-
id: 'fullScreen',
|
|
324
|
-
// A label of the action that will be presented to the user.
|
|
325
|
-
label: 'Full Screen',
|
|
326
|
-
// An optional array of keybindings for the action.
|
|
327
|
-
contextMenuGroupId: 'navigation',
|
|
328
|
-
keybindings: this._keycode,
|
|
329
|
-
contextMenuOrder: 1.5,
|
|
330
|
-
// Method that will be executed when the action is triggered.
|
|
331
|
-
run: () => {
|
|
332
|
-
this.showFullScreenEditor();
|
|
333
|
-
},
|
|
334
|
-
}));
|
|
335
|
-
}
|
|
336
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TdCodeEditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
337
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: TdCodeEditorComponent, selector: "td-code-editor", inputs: { value: "value", language: "language", editorStyle: "editorStyle", theme: "theme", fullScreenKeyBinding: "fullScreenKeyBinding", editorOptions: "editorOptions" }, outputs: { editorInitialized: "editorInitialized", editorConfigurationChanged: "editorConfigurationChanged", editorLanguageChanged: "editorLanguageChanged", editorValueChange: "editorValueChange" }, providers: [
|
|
338
|
-
{
|
|
339
|
-
provide: NG_VALUE_ACCESSOR,
|
|
340
|
-
useExisting: forwardRef(() => TdCodeEditorComponent),
|
|
341
|
-
multi: true,
|
|
342
|
-
},
|
|
343
|
-
], viewQueries: [{ propertyName: "_editorContainer", first: true, predicate: ["editorContainer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"editor-container\" #editorContainer></div>\n", styles: [":host{display:block;position:relative}:host .editor-container{position:absolute;inset:0}::ng-deep .monaco-aria-container{display:none}\n"] });
|
|
344
|
-
}
|
|
345
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TdCodeEditorComponent, decorators: [{
|
|
346
|
-
type: Component,
|
|
347
|
-
args: [{ selector: 'td-code-editor', providers: [
|
|
348
|
-
{
|
|
349
|
-
provide: NG_VALUE_ACCESSOR,
|
|
350
|
-
useExisting: forwardRef(() => TdCodeEditorComponent),
|
|
351
|
-
multi: true,
|
|
352
|
-
},
|
|
353
|
-
], template: "<div class=\"editor-container\" #editorContainer></div>\n", styles: [":host{display:block;position:relative}:host .editor-container{position:absolute;inset:0}::ng-deep .monaco-aria-container{display:none}\n"] }]
|
|
354
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
355
|
-
type: Inject,
|
|
356
|
-
args: [PLATFORM_ID]
|
|
357
|
-
}] }], propDecorators: { _editorContainer: [{
|
|
358
|
-
type: ViewChild,
|
|
359
|
-
args: ['editorContainer', { static: true }]
|
|
360
|
-
}], editorInitialized: [{
|
|
361
|
-
type: Output
|
|
362
|
-
}], editorConfigurationChanged: [{
|
|
363
|
-
type: Output
|
|
364
|
-
}], editorLanguageChanged: [{
|
|
365
|
-
type: Output
|
|
366
|
-
}], editorValueChange: [{
|
|
367
|
-
type: Output
|
|
368
|
-
}], value: [{
|
|
369
|
-
type: Input
|
|
370
|
-
}], language: [{
|
|
371
|
-
type: Input
|
|
372
|
-
}], editorStyle: [{
|
|
373
|
-
type: Input
|
|
374
|
-
}], theme: [{
|
|
375
|
-
type: Input
|
|
376
|
-
}], fullScreenKeyBinding: [{
|
|
377
|
-
type: Input
|
|
378
|
-
}], editorOptions: [{
|
|
379
|
-
type: Input
|
|
380
|
-
}] } });
|
|
381
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvZGUtZWRpdG9yL3NyYy9saWIvY29kZS1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvZGUtZWRpdG9yL3NyYy9saWIvY29kZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFFWixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixpQkFBaUIsRUFFakIsTUFBTSxFQUNOLE1BQU0sRUFDTixXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9FLHVFQUF1RTtBQUN2RSxPQUFPLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FFVixNQUFNLHdDQUF3QyxDQUFDO0FBRWhELE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsYUFBYSxHQUNkLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRXZFLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRTtJQUNoQixlQUFlO0FBQ2pCLENBQUMsQ0FBQztB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bUdBbVF0QixXQUFXOzRGQW5RVixxQkFBcUIsNFpBUnJCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDcEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLG9MQzVESCwyREFDQTs7NEZENkRhLHFCQUFxQjtrQkFaakMsU0FBUzsrQkFDRSxnQkFBZ0IsYUFHZjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OzBCQXFRRSxNQUFNOzJCQUFDLFdBQVc7eUNBM08yQixnQkFBZ0I7c0JBQS9ELFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU85QyxpQkFBaUI7c0JBRGhCLE1BQU07Z0JBUUcsMEJBQTBCO3NCQUFuQyxNQUFNO2dCQU9HLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFPRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBUU0sS0FBSztzQkFEakIsS0FBSztnQkFpREYsUUFBUTtzQkFEWCxLQUFLO2dCQW1FRixXQUFXO3NCQURkLEtBQUs7Z0JBd0JGLEtBQUs7c0JBRFIsS0FBSztnQkFrQkYsb0JBQW9CO3NCQUR2QixLQUFLO2dCQWNGLGFBQWE7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPbkRlc3Ryb3ksXG4gIE5nWm9uZSxcbiAgSW5qZWN0LFxuICBQTEFURk9STV9JRCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBVc2UgZXNtIHZlcnNpb24gdG8gc3VwcG9ydCBzaGlwcGluZyBzdWJzZXQgb2YgbGFuZ3VhZ2VzIGFuZCBmZWF0dXJlc1xuaW1wb3J0IHtcbiAgZWRpdG9yLFxuICBsYW5ndWFnZXMsXG4gIElEaXNwb3NhYmxlLFxufSBmcm9tICdtb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvZWRpdG9yLmFwaSc7XG5cbmltcG9ydCB7XG4gIG1peGluQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIG1peGluRGlzYWJsZWQsXG59IGZyb20gJ0Bjb3ZhbGVudC9jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBjdkVkaXRvckRhcmtUaGVtZSwgY3ZFZGl0b3JMaWdodFRoZW1lIH0gZnJvbSAnLi9lZGl0b3IudGhlbWUnO1xuXG5jb25zdCBub29wID0gKCkgPT4ge1xuICAvLyBlbXB0eSBtZXRob2Rcbn07XG5cbi8vIGNvdW50ZXIgZm9yIGlkcyB0byBhbGxvdyBmb3IgbXVsdGlwbGUgZWRpdG9ycyBvbiBvbmUgcGFnZVxubGV0IHVuaXF1ZUNvdW50ZXIgPSAwO1xuXG5leHBvcnQgY2xhc3MgVGRDb2RlRWRpdG9yQmFzZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxufVxuXG5leHBvcnQgY29uc3QgX1RkQ29kZUVkaXRvck1peGluQmFzZSA9IG1peGluQ29udHJvbFZhbHVlQWNjZXNzb3IoXG4gIG1peGluRGlzYWJsZWQoVGRDb2RlRWRpdG9yQmFzZSksXG4gIFtdXG4pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1jb2RlLWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2RlLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZGUtZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGRDb2RlRWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRkQ29kZUVkaXRvckNvbXBvbmVudFxuICBleHRlbmRzIF9UZENvZGVFZGl0b3JNaXhpbkJhc2VcbiAgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSBfZGVzdHJveTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgX3dpZHRoU3ViamVjdDogU3ViamVjdDxudW1iZXI+ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICBwcml2YXRlIF9oZWlnaHRTdWJqZWN0OiBTdWJqZWN0PG51bWJlcj4gPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG5cbiAgcHJpdmF0ZSBfZWRpdG9yU3R5bGUgPSAnd2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTsnO1xuICBwcml2YXRlIF92YWx1ZSA9ICcnO1xuICBwcml2YXRlIF90aGVtZSA9ICdjdi1saWdodCc7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gJ2phdmFzY3JpcHQnO1xuICBwcml2YXRlIF9zdWJqZWN0OiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIF9lZGl0b3JJbm5lckNvbnRhaW5lcjogc3RyaW5nID1cbiAgICAnZWRpdG9ySW5uZXJDb250YWluZXInICsgdW5pcXVlQ291bnRlcisrO1xuICBwcml2YXRlIF9lZGl0b3IhOiBlZGl0b3IuSVN0YW5kYWxvbmVDb2RlRWRpdG9yO1xuICBwcml2YXRlIF9mcm9tRWRpdG9yID0gZmFsc2U7XG4gIHByaXZhdGUgX2NvbXBvbmVudEluaXRpYWxpemVkID0gZmFsc2U7XG4gIHByaXZhdGUgX2VkaXRvck9wdGlvbnM6IGFueSA9IHt9O1xuICBwcml2YXRlIF9pc0Z1bGxTY3JlZW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfa2V5Y29kZTogYW55O1xuICBwcml2YXRlIF9yZWdpc3RlcmVkTGFuZ3VhZ2VzU3R5bGVzOiBIVE1MU3R5bGVFbGVtZW50W10gPSBbXTtcbiAgcHJpdmF0ZSBfZGlzcG9zYWJsZXM6IElEaXNwb3NhYmxlW10gPSBbXTtcblxuICBAVmlld0NoaWxkKCdlZGl0b3JDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBfZWRpdG9yQ29udGFpbmVyITogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogZWRpdG9ySW5pdGlhbGl6ZWQ6IGZ1bmN0aW9uKCRldmVudClcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGVkaXRvciBpcyBmaXJzdCBpbml0aWFsaXplZFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIGVkaXRvckluaXRpYWxpemVkOiBFdmVudEVtaXR0ZXI8ZWRpdG9yLklTdGFuZGFsb25lQ29kZUVkaXRvcj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8ZWRpdG9yLklTdGFuZGFsb25lQ29kZUVkaXRvcj4oKTtcblxuICAvKipcbiAgICogZWRpdG9yQ29uZmlndXJhdGlvbkNoYW5nZWQ6IGZ1bmN0aW9uKCRldmVudClcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGVkaXRvcidzIGNvbmZpZ3VyYXRpb24gY2hhbmdlc1xuICAgKi9cbiAgQE91dHB1dCgpIGVkaXRvckNvbmZpZ3VyYXRpb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogZWRpdG9yTGFuZ3VhZ2VDaGFuZ2VkOiBmdW5jdGlvbigkZXZlbnQpXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBlZGl0b3IncyBMYW5ndWFnZSBjaGFuZ2VzXG4gICAqL1xuICBAT3V0cHV0KCkgZWRpdG9yTGFuZ3VhZ2VDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogZWRpdG9yVmFsdWVDaGFuZ2U6IGZ1bmN0aW9uKCRldmVudClcbiAgICogRXZlbnQgZW1pdHRlZCBhbnkgdGltZSBzb21ldGhpbmcgY2hhbmdlcyB0aGUgZWRpdG9yIHZhbHVlXG4gICAqL1xuICBAT3V0cHV0KCkgZWRpdG9yVmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiBub29wO1xuXG4gIC8qKlxuICAgKiB2YWx1ZT86IHN0cmluZ1xuICAgKi9cbiAgQElucHV0KClcbiAgb3ZlcnJpZGUgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuXG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLmFwcGx5VmFsdWUoKTtcbiAgICB9XG4gIH1cbiAgb3ZlcnJpZGUgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgYXBwbHlWYWx1ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2Zyb21FZGl0b3IpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5zZXRWYWx1ZSh0aGlzLl92YWx1ZSB8fCAnJyk7XG4gICAgfVxuICAgIHRoaXMuX2Zyb21FZGl0b3IgPSBmYWxzZTtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLl92YWx1ZSk7XG4gICAgdGhpcy5lZGl0b3JWYWx1ZUNoYW5nZS5lbWl0KCk7XG4gIH1cblxuICBvdmVycmlkZSByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG4gIG92ZXJyaWRlIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldEVkaXRvckNvbnRlbnQ/OiBmdW5jdGlvblxuICAgKiBSZXR1cm5zIHRoZSBjb250ZW50IHdpdGhpbiB0aGUgZWRpdG9yXG4gICAqL1xuICBnZXRWYWx1ZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGlmICghdGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQpIHtcbiAgICAgIHJldHVybiBvZignJyk7XG4gICAgfVxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fc3ViamVjdC5uZXh0KHRoaXMuX3ZhbHVlKTtcbiAgICAgIHRoaXMuX3N1YmplY3QuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuX3N1YmplY3QgPSBuZXcgU3ViamVjdCgpO1xuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLl9zdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGxhbmd1YWdlPzogc3RyaW5nXG4gICAqIGxhbmd1YWdlIHVzZWQgaW4gZWRpdG9yXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgbGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZykge1xuICAgIHRoaXMuX2xhbmd1YWdlID0gbGFuZ3VhZ2U7XG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLmFwcGx5TGFuZ3VhZ2UoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgbGFuZ3VhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbGFuZ3VhZ2U7XG4gIH1cblxuICBhcHBseUxhbmd1YWdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9sYW5ndWFnZSkge1xuICAgICAgZWRpdG9yLnNldE1vZGVsTGFuZ3VhZ2UoXG4gICAgICAgIHRoaXMuX2VkaXRvci5nZXRNb2RlbCgpIGFzIGVkaXRvci5JVGV4dE1vZGVsLFxuICAgICAgICB0aGlzLl9sYW5ndWFnZVxuICAgICAgKTtcbiAgICAgIHRoaXMuZWRpdG9yTGFuZ3VhZ2VDaGFuZ2VkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogcmVnaXN0ZXJMYW5ndWFnZT86IGZ1bmN0aW9uXG4gICAqIFJlZ2lzdGVycyBhIGN1c3RvbSBMYW5ndWFnZSB3aXRoaW4gdGhlIGVkaXRvclxuICAgKi9cbiAgcmVnaXN0ZXJMYW5ndWFnZShsYW5ndWFnZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICBsYW5ndWFnZXMucmVnaXN0ZXIoeyBpZDogbGFuZ3VhZ2UuaWQgfSk7XG5cbiAgICAgIHRoaXMuX2Rpc3Bvc2FibGVzLnB1c2goXG4gICAgICAgIGxhbmd1YWdlcy5zZXRNb25hcmNoVG9rZW5zUHJvdmlkZXIobGFuZ3VhZ2UuaWQsIHtcbiAgICAgICAgICB0b2tlbml6ZXI6IHtcbiAgICAgICAgICAgIHJvb3Q6IGxhbmd1YWdlLm1vbmFyY2hUb2tlbnNQcm92aWRlcixcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgICAgLy8gRGVmaW5lIGEgbmV3IHRoZW1lIHRoYXQgY29uc3RhaW5zIG9ubHkgcnVsZXMgdGhhdCBtYXRjaCB0aGlzIGxhbmd1YWdlXG4gICAgICBlZGl0b3IuZGVmaW5lVGhlbWUobGFuZ3VhZ2UuY3VzdG9tVGhlbWUuaWQsIGxhbmd1YWdlLmN1c3RvbVRoZW1lLnRoZW1lKTtcbiAgICAgIHRoaXMuX3RoZW1lID0gbGFuZ3VhZ2UuY3VzdG9tVGhlbWUuaWQ7XG5cbiAgICAgIHRoaXMuX2Rpc3Bvc2FibGVzLnB1c2goXG4gICAgICAgIGxhbmd1YWdlcy5yZWdpc3RlckNvbXBsZXRpb25JdGVtUHJvdmlkZXIobGFuZ3VhZ2UuaWQsIHtcbiAgICAgICAgICBwcm92aWRlQ29tcGxldGlvbkl0ZW1zOiAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbGFuZ3VhZ2UuY29tcGxldGlvbkl0ZW1Qcm92aWRlcjtcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgICAgY29uc3QgY3NzOiBIVE1MU3R5bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICAgIGNzcy50eXBlID0gJ3RleHQvY3NzJztcbiAgICAgIGNzcy5pbm5lckhUTUwgPSBsYW5ndWFnZS5tb25hcmNoVG9rZW5zUHJvdmlkZXJDU1M7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNzcyk7XG4gICAgICB0aGlzLmVkaXRvckNvbmZpZ3VyYXRpb25DaGFuZ2VkLmVtaXQoKTtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyZWRMYW5ndWFnZXNTdHlsZXMgPSBbXG4gICAgICAgIC4uLnRoaXMuX3JlZ2lzdGVyZWRMYW5ndWFnZXNTdHlsZXMsXG4gICAgICAgIGNzcyxcbiAgICAgIF07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHN0eWxlPzogc3RyaW5nXG4gICAqIGNzcyBzdHlsZSBvZiB0aGUgZWRpdG9yIG9uIHRoZSBwYWdlXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZWRpdG9yU3R5bGUoZWRpdG9yU3R5bGU6IHN0cmluZykge1xuICAgIHRoaXMuX2VkaXRvclN0eWxlID0gZWRpdG9yU3R5bGU7XG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLmFwcGx5U3R5bGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgZWRpdG9yU3R5bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZWRpdG9yU3R5bGU7XG4gIH1cblxuICBhcHBseVN0eWxlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9lZGl0b3JTdHlsZSkge1xuICAgICAgY29uc3QgY29udGFpbmVyRGl2OiBIVE1MRGl2RWxlbWVudCA9IHRoaXMuX2VkaXRvckNvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICAgICAgY29udGFpbmVyRGl2LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCB0aGlzLl9lZGl0b3JTdHlsZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHRoZW1lPzogc3RyaW5nXG4gICAqIFRoZW1lIHRvIGJlIGFwcGxpZWQgdG8gZWRpdG9yXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgdGhlbWUodGhlbWU6IHN0cmluZykge1xuICAgIHRoaXMuX3RoZW1lID0gdGhlbWU7XG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLl9lZGl0b3IudXBkYXRlT3B0aW9ucyh7IHRoZW1lIH0pO1xuICAgICAgdGhpcy5lZGl0b3JDb25maWd1cmF0aW9uQ2hhbmdlZC5lbWl0KCk7XG4gICAgfVxuICB9XG4gIGdldCB0aGVtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90aGVtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBmdWxsU2NyZWVuS2V5QmluZGluZz86IG51bWJlclxuICAgKiBTZWUgaGVyZSBmb3Iga2V5IGJpbmRpbmdzIGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9tb25hY28tZWRpdG9yL2FwaS9lbnVtcy9rZXljb2RlLmh0bWxcbiAgICogU2V0cyB0aGUgS2V5Q29kZSBmb3Igc2hvcnRjdXR0aW5nIHRvIEZ1bGxzY3JlZW4gbW9kZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGZ1bGxTY3JlZW5LZXlCaW5kaW5nKGtleWNvZGU6IG51bWJlcltdKSB7XG4gICAgdGhpcy5fa2V5Y29kZSA9IGtleWNvZGU7XG4gIH1cbiAgZ2V0IGZ1bGxTY3JlZW5LZXlCaW5kaW5nKCk6IG51bWJlcltdIHtcbiAgICByZXR1cm4gdGhpcy5fa2V5Y29kZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBlZGl0b3JPcHRpb25zPzogb2JqZWN0XG4gICAqIE9wdGlvbnMgdXNlZCBvbiBlZGl0b3IgaW5zdGFudGlhdGlvbi4gQXZhaWxhYmxlIG9wdGlvbnMgbGlzdGVkIGhlcmU6XG4gICAqIGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9tb25hY28tZWRpdG9yL2FwaS9pbnRlcmZhY2VzL2VkaXRvci5pZWRpdG9yb3B0aW9ucy5odG1sXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZWRpdG9yT3B0aW9ucyhlZGl0b3JPcHRpb25zOiBhbnkpIHtcbiAgICB0aGlzLl9lZGl0b3JPcHRpb25zID0gZWRpdG9yT3B0aW9ucztcbiAgICBpZiAodGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuX2VkaXRvci51cGRhdGVPcHRpb25zKGVkaXRvck9wdGlvbnMpO1xuICAgICAgdGhpcy5lZGl0b3JDb25maWd1cmF0aW9uQ2hhbmdlZC5lbWl0KCk7XG4gICAgfVxuICB9XG4gIGdldCBlZGl0b3JPcHRpb25zKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2VkaXRvck9wdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogbGF5b3V0IG1ldGhvZCB0aGF0IGNhbGxzIGxheW91dCBtZXRob2Qgb2YgZWRpdG9yIGFuZCBpbnN0cnVjdHMgdGhlIGVkaXRvciB0byByZW1lYXN1cmUgaXRzIGNvbnRhaW5lclxuICAgKi9cbiAgbGF5b3V0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jb21wb25lbnRJbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5fZWRpdG9yLmxheW91dCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGlmIGluIEZ1bGwgU2NyZWVuIE1vZGUgb3Igbm90XG4gICAqL1xuICBnZXQgaXNGdWxsU2NyZWVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0Z1bGxTY3JlZW47XG4gIH1cblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bWVtYmVyLW9yZGVyaW5nXG4gIGNvbnN0cnVjdG9yKFxuICAgIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIoX2NoYW5nZURldGVjdG9yUmVmKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb250YWluZXJEaXY6IEhUTUxEaXZFbGVtZW50ID0gdGhpcy5fZWRpdG9yQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29udGFpbmVyRGl2LmlkID0gdGhpcy5fZWRpdG9ySW5uZXJDb250YWluZXI7XG5cbiAgICAvLyBBZGQgdGVyYWRhdGEgYnJhbmRlZCB0aGVtZXNcbiAgICBlZGl0b3IuZGVmaW5lVGhlbWUoXG4gICAgICAnY3YtbGlnaHQnLFxuICAgICAgY3ZFZGl0b3JMaWdodFRoZW1lIGFzIGVkaXRvci5JU3RhbmRhbG9uZVRoZW1lRGF0YVxuICAgICk7XG5cbiAgICBlZGl0b3IuZGVmaW5lVGhlbWUoXG4gICAgICAnY3YtZGFyaycsXG4gICAgICBjdkVkaXRvckRhcmtUaGVtZSBhcyBlZGl0b3IuSVN0YW5kYWxvbmVUaGVtZURhdGFcbiAgICApO1xuXG4gICAgdGhpcy5fZWRpdG9yID0gZWRpdG9yLmNyZWF0ZShcbiAgICAgIGNvbnRhaW5lckRpdixcbiAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgIHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5fdmFsdWUsXG4gICAgICAgICAgbGFuZ3VhZ2U6IHRoaXMubGFuZ3VhZ2UsXG4gICAgICAgICAgdGhlbWU6IHRoaXMuX3RoZW1lLFxuICAgICAgICB9LFxuICAgICAgICB0aGlzLmVkaXRvck9wdGlvbnNcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYXBwbHlMYW5ndWFnZSgpO1xuICAgICAgdGhpcy5fZnJvbUVkaXRvciA9IHRydWU7XG4gICAgICB0aGlzLmFwcGx5VmFsdWUoKTtcbiAgICAgIHRoaXMuYXBwbHlTdHlsZSgpO1xuICAgICAgdGhpcy5lZGl0b3JJbml0aWFsaXplZC5lbWl0KHRoaXMuX2VkaXRvcik7XG4gICAgICB0aGlzLmVkaXRvckNvbmZpZ3VyYXRpb25DaGFuZ2VkLmVtaXQoKTtcbiAgICB9KTtcbiAgICAvLyBUaGUgYG9uRGlkQ2hhbmdlQ29udGVudGAgcmV0dXJucyBhIGRpc3Bvc2FibGUgb2JqZWN0IChhbiBvYmplY3Qgd2l0aCBgZGlzcG9zZSgpYCBtZXRob2QpIHdoaWNoIHdpbGwgY2xlYW51cFxuICAgIC8vIHRoZSBsaXN0ZW5lci4gVGhlIGNhbGxiYWNrLCB0aGF0IHdlIHBhc3MgdG8gYG9uRGlkQ2hhbmdlQ29udGVudGAsIGNhcHR1cmVzIGB0aGlzYC4gVGhpcyBsZWFkcyB0byBhIGNpcmN1bGFyIHJlZmVyZW5jZVxuICAgIC8vIChgdGQtY29kZS1lZGl0b3IgLT4gbW9uYWNvIC0+IHRkLWNvZGUtZWRpdG9yYCkgYW5kIHByZXZlbnRzIHRoZSBgdGQtY29kZS1lZGl0b3JgIGZyb20gYmVpbmcgR0MnZC5cbiAgICB0aGlzLl9kaXNwb3NhYmxlcy5wdXNoKFxuICAgICAgKHRoaXMuX2VkaXRvci5nZXRNb2RlbCgpIGFzIGVkaXRvci5JVGV4dE1vZGVsKS5vbkRpZENoYW5nZUNvbnRlbnQoKCkgPT4ge1xuICAgICAgICB0aGlzLl9mcm9tRWRpdG9yID0gdHJ1ZTtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuX2VkaXRvci5nZXRWYWx1ZSgpKTtcbiAgICAgICAgdGhpcy5sYXlvdXQoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLmFkZEZ1bGxTY3JlZW5Nb2RlQ29tbWFuZCgpO1xuXG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICBtZXJnZShcbiAgICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpLFxuICAgICAgICB0aGlzLl93aWR0aFN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKSxcbiAgICAgICAgdGhpcy5faGVpZ2h0U3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgICApXG4gICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIC8vIE5vdGU6IHRoaXMgaXMgYmVpbmcgY2FsbGVkIG91dHNpZGUgb2YgdGhlIEFuZ3VsYXIgem9uZSBzaW5jZSB3ZSBkb24ndCBoYXZlIHRvXG4gICAgICAgICAgLy8gcnVuIGNoYW5nZSBkZXRlY3Rpb24gd2hlbmV2ZXIgdGhlIGVkaXRvciByZXNpemVzIGl0c2VsZi5cbiAgICAgICAgICB0aGlzLmxheW91dCgpO1xuICAgICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICB0aW1lcig1MDAsIDI1MClcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgdGhpcy5fd2lkdGhTdWJqZWN0Lm5leHQod2lkdGgpO1xuICAgICAgICAgIHRoaXMuX2hlaWdodFN1YmplY3QubmV4dChoZWlnaHQpO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRhY2goKTtcbiAgICB0aGlzLl9yZWdpc3RlcmVkTGFuZ3VhZ2VzU3R5bGVzLmZvckVhY2goKHN0eWxlOiBIVE1MU3R5bGVFbGVtZW50KSA9PlxuICAgICAgc3R5bGUucmVtb3ZlKClcbiAgICApO1xuICAgIHdoaWxlICh0aGlzLl9kaXNwb3NhYmxlcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX2Rpc3Bvc2FibGVzLnBvcCgpPy5kaXNwb3NlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9lZGl0b3IpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5kaXNwb3NlKCk7XG4gICAgfVxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCh0cnVlKTtcbiAgICB0aGlzLl9kZXN0cm95LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogc2hvd0Z1bGxTY3JlZW5FZGl0b3IgcmVxdWVzdCBmb3IgZnVsbCBzY3JlZW4gb2YgQ29kZSBFZGl0b3IgYmFzZWQgb24gaXRzIGJyb3dzZXIgdHlwZS5cbiAgICovXG4gIHB1YmxpYyBzaG93RnVsbFNjcmVlbkVkaXRvcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQpIHtcbiAgICAgIGNvbnN0IGNvZGVFZGl0b3JFbGVtZW50OiBIVE1MRGl2RWxlbWVudCA9IHRoaXMuX2VkaXRvckNvbnRhaW5lclxuICAgICAgICAubmF0aXZlRWxlbWVudCBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICAgIGNvZGVFZGl0b3JFbGVtZW50LnJlcXVlc3RGdWxsc2NyZWVuKCk7XG4gICAgfVxuICAgIHRoaXMuX2lzRnVsbFNjcmVlbiA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogZXhpdEZ1bGxTY3JlZW5FZGl0b3IgcmVxdWVzdCB0byBleGl0IGZ1bGwgc2NyZWVuIG9mIENvZGUgRWRpdG9yIGJhc2VkIG9uIGl0cyBicm93c2VyIHR5cGUuXG4gICAqL1xuICBwdWJsaWMgZXhpdEZ1bGxTY3JlZW5FZGl0b3IoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICBkb2N1bWVudC5leGl0RnVsbHNjcmVlbigpO1xuICAgIH1cbiAgICB0aGlzLl9pc0Z1bGxTY3JlZW4gPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBhZGRGdWxsU2NyZWVuTW9kZUNvbW1hbmQgdXNlZCB0byBhZGQgdGhlIGZ1bGxzY3JlZW4gb3B0aW9uIHRvIHRoZSBjb250ZXh0IG1lbnVcbiAgICovXG4gIHByaXZhdGUgYWRkRnVsbFNjcmVlbk1vZGVDb21tYW5kKCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc3Bvc2FibGVzLnB1c2goXG4gICAgICB0aGlzLl9lZGl0b3IuYWRkQWN0aW9uKHtcbiAgICAgICAgLy8gQW4gdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGNvbnRyaWJ1dGVkIGFjdGlvbi5cbiAgICAgICAgaWQ6ICdmdWxsU2NyZWVuJyxcbiAgICAgICAgLy8gQSBsYWJlbCBvZiB0aGUgYWN0aW9uIHRoYXQgd2lsbCBiZSBwcmVzZW50ZWQgdG8gdGhlIHVzZXIuXG4gICAgICAgIGxhYmVsOiAnRnVsbCBTY3JlZW4nLFxuICAgICAgICAvLyBBbiBvcHRpb25hbCBhcnJheSBvZiBrZXliaW5kaW5ncyBmb3IgdGhlIGFjdGlvbi5cbiAgICAgICAgY29udGV4dE1lbnVHcm91cElkOiAnbmF2aWdhdGlvbicsXG4gICAgICAgIGtleWJpbmRpbmdzOiB0aGlzLl9rZXljb2RlLFxuICAgICAgICBjb250ZXh0TWVudU9yZGVyOiAxLjUsXG4gICAgICAgIC8vIE1ldGhvZCB0aGF0IHdpbGwgYmUgZXhlY3V0ZWQgd2hlbiB0aGUgYWN0aW9uIGlzIHRyaWdnZXJlZC5cbiAgICAgICAgcnVuOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zaG93RnVsbFNjcmVlbkVkaXRvcigpO1xuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZWRpdG9yLWNvbnRhaW5lclwiICNlZGl0b3JDb250YWluZXI+PC9kaXY+XG4iXX0=
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { TdCodeEditorComponent } from './code-editor.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class CovalentCodeEditorModule {
|
|
6
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CovalentCodeEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: CovalentCodeEditorModule, bootstrap: [TdCodeEditorComponent], declarations: [TdCodeEditorComponent], imports: [CommonModule], exports: [TdCodeEditorComponent] });
|
|
8
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CovalentCodeEditorModule, imports: [CommonModule] });
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CovalentCodeEditorModule, decorators: [{
|
|
11
|
-
type: NgModule,
|
|
12
|
-
args: [{
|
|
13
|
-
imports: [CommonModule],
|
|
14
|
-
declarations: [TdCodeEditorComponent],
|
|
15
|
-
exports: [TdCodeEditorComponent],
|
|
16
|
-
bootstrap: [TdCodeEditorComponent],
|
|
17
|
-
}]
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvZGUtZWRpdG9yL3NyYy9saWIvY29kZS1lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQVFoRSxNQUFNLE9BQU8sd0JBQXdCO3dHQUF4Qix3QkFBd0I7eUdBQXhCLHdCQUF3QixjQUZ2QixxQkFBcUIsa0JBRmxCLHFCQUFxQixhQUQxQixZQUFZLGFBRVoscUJBQXFCO3lHQUdwQix3QkFBd0IsWUFMekIsWUFBWTs7NEZBS1gsd0JBQXdCO2tCQU5wQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNoQyxTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBUZENvZGVFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvZGUtZWRpdG9yLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtUZENvZGVFZGl0b3JDb21wb25lbnRdLFxuICBleHBvcnRzOiBbVGRDb2RlRWRpdG9yQ29tcG9uZW50XSxcbiAgYm9vdHN0cmFwOiBbVGRDb2RlRWRpdG9yQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQ292YWxlbnRDb2RlRWRpdG9yTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
import * as tokens from '@covalent/tokens';
|
|
2
|
-
export const covalentThemeName = 'tdaa-lite';
|
|
3
|
-
export const covalentThemeConf = {
|
|
4
|
-
base: 'vs',
|
|
5
|
-
inherit: true,
|
|
6
|
-
rules: [
|
|
7
|
-
{ token: '', foreground: '212121', background: 'f5f5f5' },
|
|
8
|
-
{ token: 'invalid', foreground: 'b71c1c' },
|
|
9
|
-
{ token: 'keyword', foreground: '3b78e7' },
|
|
10
|
-
{ token: 'keyword.json', foreground: 'ec407a', fontStyle: 'bold italic' },
|
|
11
|
-
{ token: 'comment', foreground: '0d904f' },
|
|
12
|
-
{ token: 'string.sql', foreground: '0d904f' },
|
|
13
|
-
{ token: 'number', foreground: 'E74C3C' },
|
|
14
|
-
{ token: 'key', foreground: '863B00' },
|
|
15
|
-
{ token: 'string.key.json', foreground: '0d904f' },
|
|
16
|
-
{ token: 'string.value.json', foreground: '0d904f' },
|
|
17
|
-
{ token: 'predefined', foreground: 'ec407a' },
|
|
18
|
-
{ token: 'predefined.sql', foreground: 'ec407a' },
|
|
19
|
-
{ token: 'delimiter', foreground: '000000' },
|
|
20
|
-
{ token: 'delimiter.html', foreground: '383838' },
|
|
21
|
-
{ token: 'delimiter.xml', foreground: '3b78e7' },
|
|
22
|
-
{ token: 'tag', foreground: '3b78e7' },
|
|
23
|
-
{ token: 'tag.id.jade', foreground: '4F76AC' },
|
|
24
|
-
{ token: 'tag.class.jade', foreground: '4F76AC' },
|
|
25
|
-
{ token: 'meta.scss', foreground: '800000' },
|
|
26
|
-
{ token: 'metatag', foreground: 'e00000' },
|
|
27
|
-
{ token: 'metatag.content.html', foreground: 'FF0000' },
|
|
28
|
-
{ token: 'metatag.html', foreground: '808080' },
|
|
29
|
-
{ token: 'metatag.xml', foreground: '808080' },
|
|
30
|
-
{ token: 'metatag.php', fontStyle: 'bold' },
|
|
31
|
-
{ token: 'attribute.name', foreground: '9c27b0' },
|
|
32
|
-
{ token: 'attribute.value', foreground: '0451A5' },
|
|
33
|
-
{ token: 'attribute.value.number', foreground: '09885A' },
|
|
34
|
-
{ token: 'attribute.value.unit', foreground: '09885A' },
|
|
35
|
-
{ token: 'attribute.value.html', foreground: '0000FF' },
|
|
36
|
-
{ token: 'attribute.value.xml', foreground: '0d904f' },
|
|
37
|
-
{ token: 'arbitration-variable', foreground: '006D90' },
|
|
38
|
-
{ token: 'arbitration-variable.invalid', foreground: 'b71c1c' },
|
|
39
|
-
{ token: 'operator.scss', foreground: '666666' },
|
|
40
|
-
{ token: 'operator', foreground: '778899' },
|
|
41
|
-
],
|
|
42
|
-
colors: {
|
|
43
|
-
comment: '388e3c',
|
|
44
|
-
'editor.foreground': 'ff0000',
|
|
45
|
-
'editor.background': '#f5f5f5',
|
|
46
|
-
'editorLineNumber.activeForeground': '#707070',
|
|
47
|
-
'editorLineNumber.foreground': '#b7b7b7',
|
|
48
|
-
'editor.lineHighlightBackground': '#ebebeb',
|
|
49
|
-
'inputValidation.errorBackground': '#b71c1c',
|
|
50
|
-
'inputValidation.errorBorder': 'rgba(229, 115, 115, 0.1)',
|
|
51
|
-
},
|
|
52
|
-
};
|
|
53
|
-
const getTheme = (theme) => {
|
|
54
|
-
return {
|
|
55
|
-
base: theme === 'Light' ? 'vs' : 'vs-dark',
|
|
56
|
-
inherit: true,
|
|
57
|
-
rules: [
|
|
58
|
-
{
|
|
59
|
-
token: '',
|
|
60
|
-
foreground: tokens[`Cv${theme}CodeSnippetColor`],
|
|
61
|
-
background: tokens[`Cv${theme}Surface`],
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
token: 'arbitration-variable',
|
|
65
|
-
foreground: tokens[`Cv${theme}CodeSnippetVariable`],
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
token: 'arbitration-variable.invalid',
|
|
69
|
-
foreground: tokens[`Cv${theme}Negative`],
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
token: 'attribute.name',
|
|
73
|
-
foreground: tokens[`Cv${theme}CodeSnippetVariable`],
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
token: 'attribute.value',
|
|
77
|
-
foreground: tokens[`Cv${theme}CodeSnippetVariable`],
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
token: 'attribute.value.number',
|
|
81
|
-
foreground: tokens[`Cv${theme}CodeSnippetVariable`],
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
token: 'attribute.value.unit',
|
|
85
|
-
foreground: tokens[`Cv${theme}CodeSnippetVariable`],
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
token: 'attribute.value.html',
|
|
89
|
-
foreground: tokens[`Cv${theme}CodeSnippetString`],
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
token: 'attribute.value.xml',
|
|
93
|
-
foreground: tokens[`Cv${theme}CodeSnippetLiteral`],
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
token: 'builtins',
|
|
97
|
-
foreground: tokens[`Cv${theme}CodeSnippetClass`],
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
token: 'class',
|
|
101
|
-
foreground: tokens[`Cv${theme}CodeSnippetClass`],
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
token: 'comment',
|
|
105
|
-
foreground: tokens[`Cv${theme}CodeSnippetComment`],
|
|
106
|
-
fontStyle: 'italic',
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
token: 'constant',
|
|
110
|
-
foreground: tokens[`Cv${theme}CodeSnippetLiteral`],
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
token: 'delimiter',
|
|
114
|
-
foreground: tokens[`CvTheme${theme}ColorsOnSurface`],
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
token: 'delimiter.html',
|
|
118
|
-
foreground: tokens[`Cv${theme}CodeSnippetSelector`],
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
token: 'delimiter.xml',
|
|
122
|
-
foreground: tokens[`Cv${theme}CodeSnippetSelector`],
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
token: 'doctag',
|
|
126
|
-
foreground: tokens[`Cv${theme}CodeSnippetKeyword`],
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
token: 'emphasis',
|
|
130
|
-
fontStyle: 'italic',
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
token: 'formula',
|
|
134
|
-
foreground: tokens[`Cv${theme}CodeSnippetKeyword`],
|
|
135
|
-
},
|
|
136
|
-
{
|
|
137
|
-
token: 'function',
|
|
138
|
-
foreground: tokens[`Cv${theme}CodeSnippetTitle`],
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
token: 'invalid',
|
|
142
|
-
foreground: tokens[`Cv${theme}Negative`],
|
|
143
|
-
},
|
|
144
|
-
{ token: 'key', foreground: tokens[`Cv${theme}CodeSnippetString`] },
|
|
145
|
-
{
|
|
146
|
-
token: 'keyword',
|
|
147
|
-
foreground: tokens[`Cv${theme}CodeSnippetKeyword`],
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
token: 'keyword.json',
|
|
151
|
-
foreground: tokens[`Cv${theme}CodeSnippetTitle`],
|
|
152
|
-
fontStyle: 'bold italic',
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
token: 'link',
|
|
156
|
-
foreground: tokens[`Cv${theme}CodeSnippetTitle`],
|
|
157
|
-
fontStyle: 'underline',
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
token: 'literal',
|
|
161
|
-
foreground: tokens[`Cv${theme}CodeSnippetLiteral`],
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
token: 'meta',
|
|
165
|
-
foreground: tokens[`Cv${theme}CodeSnippetTitle`],
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
token: 'number',
|
|
169
|
-
foreground: tokens[`Cv${theme}CodeSnippetVariable`],
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
token: 'operator',
|
|
173
|
-
foreground: tokens[`Cv${theme}CodeSnippetLiteral`],
|
|
174
|
-
},
|
|
175
|
-
{ token: 'predefined', foreground: tokens[`Cv${theme}CodeSnippetTitle`] },
|
|
176
|
-
{
|
|
177
|
-
token: 'predefined.sql',
|
|
178
|
-
foreground: tokens[`Cv${theme}CodeSnippetTitle`],
|
|
179
|
-
},
|
|
180
|
-
{
|
|
181
|
-
token: 'predefined.python',
|
|
182
|
-
foreground: tokens[`Cv${theme}CodeSnippetClass`],
|
|
183
|
-
},
|
|
184
|
-
{
|
|
185
|
-
token: 'punctuation',
|
|
186
|
-
foreground: tokens[`Cv${theme}CodeSnippetColor`],
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
token: 'string',
|
|
190
|
-
foreground: tokens[`Cv${theme}CodeSnippetString`],
|
|
191
|
-
},
|
|
192
|
-
{
|
|
193
|
-
token: 'string.sql',
|
|
194
|
-
foreground: tokens[`Cv${theme}CodeSnippetString`],
|
|
195
|
-
},
|
|
196
|
-
{
|
|
197
|
-
token: 'string.key.json',
|
|
198
|
-
foreground: tokens[`Cv${theme}CodeSnippetString`],
|
|
199
|
-
},
|
|
200
|
-
{
|
|
201
|
-
token: 'string.value.json',
|
|
202
|
-
foreground: tokens[`Cv${theme}CodeSnippetString`],
|
|
203
|
-
},
|
|
204
|
-
{
|
|
205
|
-
token: 'strong',
|
|
206
|
-
fontStyle: 'bold',
|
|
207
|
-
},
|
|
208
|
-
{
|
|
209
|
-
token: 'tag',
|
|
210
|
-
foreground: tokens[`Cv${theme}CodeSnippetSelector`],
|
|
211
|
-
},
|
|
212
|
-
{
|
|
213
|
-
token: 'tag.id.jade',
|
|
214
|
-
foreground: tokens[`Cv${theme}CodeSnippetClass`],
|
|
215
|
-
},
|
|
216
|
-
{
|
|
217
|
-
token: 'tag.class.jade',
|
|
218
|
-
foreground: tokens[`Cv${theme}CodeSnippetClass`],
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
token: 'type',
|
|
222
|
-
foreground: tokens[`Cv${theme}CodeSnippetClass`],
|
|
223
|
-
},
|
|
224
|
-
{
|
|
225
|
-
token: 'variable',
|
|
226
|
-
foreground: tokens[`Cv${theme}CodeSnippetVariable`],
|
|
227
|
-
},
|
|
228
|
-
],
|
|
229
|
-
colors: {
|
|
230
|
-
comment: tokens[`Cv${theme}CodeSnippetComment`],
|
|
231
|
-
'editor.background': tokens[`Cv${theme}Surface`],
|
|
232
|
-
'editor.foreground': tokens[`CvTheme${theme}ColorsOnSurface`],
|
|
233
|
-
'editorCursor.foreground': tokens[`Cv${theme}TextSecondaryOnBackground`],
|
|
234
|
-
'editorLineNumber.activeForeground': tokens[`CvTheme${theme}ColorsOnSurface74`],
|
|
235
|
-
'editorLineNumber.foreground': tokens[`CvTheme${theme}ColorsOnSurface38`],
|
|
236
|
-
'editor.lineHighlightBackground': tokens[`CvTheme${theme}ColorsSurfaceContainerLow`],
|
|
237
|
-
'inputValidation.errorBackground': tokens[`Cv${theme}Negative`],
|
|
238
|
-
'inputValidation.errorBorder': tokens[`CvTheme${theme}PalettesNegative95`],
|
|
239
|
-
},
|
|
240
|
-
};
|
|
241
|
-
};
|
|
242
|
-
// Any changes to these themes should also be reflected in the components/code-editor theme.
|
|
243
|
-
export const cvEditorDarkTheme = getTheme('Dark');
|
|
244
|
-
export const cvEditorLightTheme = getTheme('Light');
|
|
245
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnRoZW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvZGUtZWRpdG9yL3NyYy9saWIvZWRpdG9yLnRoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE1BQU0sa0JBQWtCLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsV0FBVyxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLElBQUksRUFBRSxJQUFJO0lBQ1YsT0FBTyxFQUFFLElBQUk7SUFDYixLQUFLLEVBQUU7UUFDTCxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO1FBQ3pELEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO1FBQzFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO1FBQzFDLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUU7UUFDekUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7UUFDMUMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7UUFDN0MsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7UUFFekMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7UUFDdEMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRTtRQUNsRCxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO1FBQ3BELEVBQUUsS0FBSyxFQUFFLFlB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VSxLQUFLLG1CQUFtQixDQUFDO1lBQzVDLDZCQUE2QixFQUFFLE1BQU0sQ0FBQyxVQUFVLEtBQUssbUJBQW1CLENBQUM7WUFDekUsZ0NBQWdDLEVBQzlCLE1BQU0sQ0FBQyxVQUFVLEtBQUssMkJBQTJCLENBQUM7WUFDcEQsaUNBQWlDLEVBQUUsTUFBTSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUM7WUFDL0QsNkJBQTZCLEVBQzNCLE1BQU0sQ0FBQyxVQUFVLEtBQUssb0JBQW9CLENBQUM7U0FDOUM7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsNEZBQTRGO0FBQzVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUVsRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB0b2tlbnMgZnJvbSAnQGNvdmFsZW50L3Rva2Vucyc7XG5cbmV4cG9ydCBjb25zdCBjb3ZhbGVudFRoZW1lTmFtZSA9ICd0ZGFhLWxpdGUnO1xuXG5leHBvcnQgY29uc3QgY292YWxlbnRUaGVtZUNvbmYgPSB7XG4gIGJhc2U6ICd2cycsXG4gIGluaGVyaXQ6IHRydWUsXG4gIHJ1bGVzOiBbXG4gICAgeyB0b2tlbjogJycsIGZvcmVncm91bmQ6ICcyMTIxMjEnLCBiYWNrZ3JvdW5kOiAnZjVmNWY1JyB9LFxuICAgIHsgdG9rZW46ICdpbnZhbGlkJywgZm9yZWdyb3VuZDogJ2I3MWMxYycgfSxcbiAgICB7IHRva2VuOiAna2V5d29yZCcsIGZvcmVncm91bmQ6ICczYjc4ZTcnIH0sXG4gICAgeyB0b2tlbjogJ2tleXdvcmQuanNvbicsIGZvcmVncm91bmQ6ICdlYzQwN2EnLCBmb250U3R5bGU6ICdib2xkIGl0YWxpYycgfSxcbiAgICB7IHRva2VuOiAnY29tbWVudCcsIGZvcmVncm91bmQ6ICcwZDkwNGYnIH0sXG4gICAgeyB0b2tlbjogJ3N0cmluZy5zcWwnLCBmb3JlZ3JvdW5kOiAnMGQ5MDRmJyB9LFxuICAgIHsgdG9rZW46ICdudW1iZXInLCBmb3JlZ3JvdW5kOiAnRTc0QzNDJyB9LFxuXG4gICAgeyB0b2tlbjogJ2tleScsIGZvcmVncm91bmQ6ICc4NjNCMDAnIH0sXG4gICAgeyB0b2tlbjogJ3N0cmluZy5rZXkuanNvbicsIGZvcmVncm91bmQ6ICcwZDkwNGYnIH0sXG4gICAgeyB0b2tlbjogJ3N0cmluZy52YWx1ZS5qc29uJywgZm9yZWdyb3VuZDogJzBkOTA0ZicgfSxcbiAgICB7IHRva2VuOiAncHJlZGVmaW5lZCcsIGZvcmVncm91bmQ6ICdlYzQwN2EnIH0sXG4gICAgeyB0b2tlbjogJ3ByZWRlZmluZWQuc3FsJywgZm9yZWdyb3VuZDogJ2VjNDA3YScgfSxcblxuICAgIHsgdG9rZW46ICdkZWxpbWl0ZXInLCBmb3JlZ3JvdW5kOiAnMDAwMDAwJyB9LFxuICAgIHsgdG9rZW46ICdkZWxpbWl0ZXIuaHRtbCcsIGZvcmVncm91bmQ6ICczODM4MzgnIH0sXG4gICAgeyB0b2tlbjogJ2RlbGltaXRlci54bWwnLCBmb3JlZ3JvdW5kOiAnM2I3OGU3JyB9LFxuXG4gICAgeyB0b2tlbjogJ3RhZycsIGZvcmVncm91bmQ6ICczYjc4ZTcnIH0sXG4gICAgeyB0b2tlbjogJ3RhZy5pZC5qYWRlJywgZm9yZWdyb3VuZDogJzRGNzZBQycgfSxcbiAgICB7IHRva2VuOiAndGFnLmNsYXNzLmphZGUnLCBmb3JlZ3JvdW5kOiAnNEY3NkFDJyB9LFxuICAgIHsgdG9rZW46ICdtZXRhLnNjc3MnLCBmb3JlZ3JvdW5kOiAnODAwMDAwJyB9LFxuICAgIHsgdG9rZW46ICdtZXRhdGFnJywgZm9yZWdyb3VuZDogJ2UwMDAwMCcgfSxcbiAgICB7IHRva2VuOiAnbWV0YXRhZy5jb250ZW50Lmh0bWwnLCBmb3JlZ3JvdW5kOiAnRkYwMDAwJyB9LFxuICAgIHsgdG9rZW46ICdtZXRhdGFnLmh0bWwnLCBmb3JlZ3JvdW5kOiAnODA4MDgwJyB9LFxuICAgIHsgdG9rZW46ICdtZXRhdGFnLnhtbCcsIGZvcmVncm91bmQ6ICc4MDgwODAnIH0sXG4gICAgeyB0b2tlbjogJ21ldGF0YWcucGhwJywgZm9udFN0eWxlOiAnYm9sZCcgfSxcblxuICAgIHsgdG9rZW46ICdhdHRyaWJ1dGUubmFtZScsIGZvcmVncm91bmQ6ICc5YzI3YjAnIH0sXG4gICAgeyB0b2tlbjogJ2F0dHJpYnV0ZS52YWx1ZScsIGZvcmVncm91bmQ6ICcwNDUxQTUnIH0sXG4gICAgeyB0b2tlbjogJ2F0dHJpYnV0ZS52YWx1ZS5udW1iZXInLCBmb3JlZ3JvdW5kOiAnMDk4ODVBJyB9LFxuICAgIHsgdG9rZW46ICdhdHRyaWJ1dGUudmFsdWUudW5pdCcsIGZvcmVncm91bmQ6ICcwOTg4NUEnIH0sXG4gICAgeyB0b2tlbjogJ2F0dHJpYnV0ZS52YWx1ZS5odG1sJywgZm9yZWdyb3VuZDogJzAwMDBGRicgfSxcbiAgICB7IHRva2VuOiAnYXR0cmlidXRlLnZhbHVlLnhtbCcsIGZvcmVncm91bmQ6ICcwZDkwNGYnIH0sXG5cbiAgICB7IHRva2VuOiAnYXJiaXRyYXRpb24tdmFyaWFibGUnLCBmb3JlZ3JvdW5kOiAnMDA2RDkwJyB9LFxuICAgIHsgdG9rZW46ICdhcmJpdHJhdGlvbi12YXJpYWJsZS5pbnZhbGlkJywgZm9yZWdyb3VuZDogJ2I3MWMxYycgfSxcblxuICAgIHsgdG9rZW46ICdvcGVyYXRvci5zY3NzJywgZm9yZWdyb3VuZDogJzY2NjY2NicgfSxcbiAgICB7IHRva2VuOiAnb3BlcmF0b3InLCBmb3JlZ3JvdW5kOiAnNzc4ODk5JyB9LFxuICBdLFxuICBjb2xvcnM6IHtcbiAgICBjb21tZW50OiAnMzg4ZTNjJyxcbiAgICAnZWRpdG9yLmZvcmVncm91bmQnOiAnZmYwMDAwJyxcbiAgICAnZWRpdG9yLmJhY2tncm91bmQnOiAnI2Y1ZjVmNScsXG4gICAgJ2VkaXRvckxpbmVOdW1iZXIuYWN0aXZlRm9yZWdyb3VuZCc6ICcjNzA3MDcwJyxcbiAgICAnZWRpdG9yTGluZU51bWJlci5mb3JlZ3JvdW5kJzogJyNiN2I3YjcnLFxuICAgICdlZGl0b3IubGluZUhpZ2hsaWdodEJhY2tncm91bmQnOiAnI2ViZWJlYicsXG4gICAgJ2lucHV0VmFsaWRhdGlvbi5lcnJvckJhY2tncm91bmQnOiAnI2I3MWMxYycsXG4gICAgJ2lucHV0VmFsaWRhdGlvbi5lcnJvckJvcmRlcic6ICdyZ2JhKDIyOSwgMTE1LCAxMTUsIDAuMSknLFxuICB9LFxufTtcblxuY29uc3QgZ2V0VGhlbWUgPSAodGhlbWU6ICdMaWdodCcgfCAnRGFyaycpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBiYXNlOiB0aGVtZSA9PT0gJ0xpZ2h0JyA/ICd2cycgOiAndnMtZGFyaycsXG4gICAgaW5oZXJpdDogdHJ1ZSxcbiAgICBydWxlczogW1xuICAgICAge1xuICAgICAgICB0b2tlbjogJycsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0Q29sb3JgXSxcbiAgICAgICAgYmFja2dyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9U3VyZmFjZWBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdhcmJpdHJhdGlvbi12YXJpYWJsZScsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0VmFyaWFibGVgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnYXJiaXRyYXRpb24tdmFyaWFibGUuaW52YWxpZCcsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfU5lZ2F0aXZlYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2F0dHJpYnV0ZS5uYW1lJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRWYXJpYWJsZWBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdhdHRyaWJ1dGUudmFsdWUnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldFZhcmlhYmxlYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2F0dHJpYnV0ZS52YWx1ZS5udW1iZXInLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldFZhcmlhYmxlYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2F0dHJpYnV0ZS52YWx1ZS51bml0JyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRWYXJpYWJsZWBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdhdHRyaWJ1dGUudmFsdWUuaHRtbCcsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0U3RyaW5nYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2F0dHJpYnV0ZS52YWx1ZS54bWwnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldExpdGVyYWxgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnYnVpbHRpbnMnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldENsYXNzYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2NsYXNzJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRDbGFzc2BdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdjb21tZW50JyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRDb21tZW50YF0sXG4gICAgICAgIGZvbnRTdHlsZTogJ2l0YWxpYycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2NvbnN0YW50JyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRMaXRlcmFsYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2RlbGltaXRlcicsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3ZUaGVtZSR7dGhlbWV9Q29sb3JzT25TdXJmYWNlYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2RlbGltaXRlci5odG1sJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRTZWxlY3RvcmBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdkZWxpbWl0ZXIueG1sJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRTZWxlY3RvcmBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdkb2N0YWcnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldEtleXdvcmRgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnZW1waGFzaXMnLFxuICAgICAgICBmb250U3R5bGU6ICdpdGFsaWMnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdmb3JtdWxhJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRLZXl3b3JkYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2Z1bmN0aW9uJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRUaXRsZWBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdpbnZhbGlkJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9TmVnYXRpdmVgXSxcbiAgICAgIH0sXG4gICAgICB7IHRva2VuOiAna2V5JywgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRTdHJpbmdgXSB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2tleXdvcmQnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldEtleXdvcmRgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAna2V5d29yZC5qc29uJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRUaXRsZWBdLFxuICAgICAgICBmb250U3R5bGU6ICdib2xkIGl0YWxpYycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2xpbmsnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldFRpdGxlYF0sXG4gICAgICAgIGZvbnRTdHlsZTogJ3VuZGVybGluZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ2xpdGVyYWwnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldExpdGVyYWxgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnbWV0YScsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0VGl0bGVgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnbnVtYmVyJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRWYXJpYWJsZWBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdvcGVyYXRvcicsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0TGl0ZXJhbGBdLFxuICAgICAgfSxcbiAgICAgIHsgdG9rZW46ICdwcmVkZWZpbmVkJywgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRUaXRsZWBdIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAncHJlZGVmaW5lZC5zcWwnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldFRpdGxlYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ3ByZWRlZmluZWQucHl0aG9uJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRDbGFzc2BdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICdwdW5jdHVhdGlvbicsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0Q29sb3JgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnc3RyaW5nJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRTdHJpbmdgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnc3RyaW5nLnNxbCcsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0U3RyaW5nYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ3N0cmluZy5rZXkuanNvbicsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0U3RyaW5nYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ3N0cmluZy52YWx1ZS5qc29uJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRTdHJpbmdgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnc3Ryb25nJyxcbiAgICAgICAgZm9udFN0eWxlOiAnYm9sZCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ3RhZycsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0U2VsZWN0b3JgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAndGFnLmlkLmphZGUnLFxuICAgICAgICBmb3JlZ3JvdW5kOiB0b2tlbnNbYEN2JHt0aGVtZX1Db2RlU25pcHBldENsYXNzYF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0b2tlbjogJ3RhZy5jbGFzcy5qYWRlJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRDbGFzc2BdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICd0eXBlJyxcbiAgICAgICAgZm9yZWdyb3VuZDogdG9rZW5zW2BDdiR7dGhlbWV9Q29kZVNuaXBwZXRDbGFzc2BdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdG9rZW46ICd2YXJpYWJsZScsXG4gICAgICAgIGZvcmVncm91bmQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0VmFyaWFibGVgXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBjb2xvcnM6IHtcbiAgICAgIGNvbW1lbnQ6IHRva2Vuc1tgQ3Yke3RoZW1lfUNvZGVTbmlwcGV0Q29tbWVudGBdLFxuICAgICAgJ2VkaXRvci5iYWNrZ3JvdW5kJzogdG9rZW5zW2BDdiR7dGhlbWV9U3VyZmFjZWBdLFxuICAgICAgJ2VkaXRvci5mb3JlZ3JvdW5kJzogdG9rZW5zW2BDdlRoZW1lJHt0aGVtZX1Db2xvcnNPblN1cmZhY2VgXSxcbiAgICAgICdlZGl0b3JDdXJzb3IuZm9yZWdyb3VuZCc6IHRva2Vuc1tgQ3Yke3RoZW1lfVRleHRTZWNvbmRhcnlPbkJhY2tncm91bmRgXSxcbiAgICAgICdlZGl0b3JMaW5lTnVtYmVyLmFjdGl2ZUZvcmVncm91bmQnOlxuICAgICAgICB0b2tlbnNbYEN2VGhlbWUke3RoZW1lfUNvbG9yc09uU3VyZmFjZTc0YF0sXG4gICAgICAnZWRpdG9yTGluZU51bWJlci5mb3JlZ3JvdW5kJzogdG9rZW5zW2BDdlRoZW1lJHt0aGVtZX1Db2xvcnNPblN1cmZhY2UzOGBdLFxuICAgICAgJ2VkaXRvci5saW5lSGlnaGxpZ2h0QmFja2dyb3VuZCc6XG4gICAgICAgIHRva2Vuc1tgQ3ZUaGVtZSR7dGhlbWV9Q29sb3JzU3VyZmFjZUNvbnRhaW5lckxvd2BdLFxuICAgICAgJ2lucHV0VmFsaWRhdGlvbi5lcnJvckJhY2tncm91bmQnOiB0b2tlbnNbYEN2JHt0aGVtZX1OZWdhdGl2ZWBdLFxuICAgICAgJ2lucHV0VmFsaWRhdGlvbi5lcnJvckJvcmRlcic6XG4gICAgICAgIHRva2Vuc1tgQ3ZUaGVtZSR7dGhlbWV9UGFsZXR0ZXNOZWdhdGl2ZTk1YF0sXG4gICAgfSxcbiAgfTtcbn07XG5cbi8vIEFueSBjaGFuZ2VzIHRvIHRoZXNlIHRoZW1lcyBzaG91bGQgYWxzbyBiZSByZWZsZWN0ZWQgaW4gdGhlIGNvbXBvbmVudHMvY29kZS1lZGl0b3IgdGhlbWUuXG5leHBvcnQgY29uc3QgY3ZFZGl0b3JEYXJrVGhlbWUgPSBnZXRUaGVtZSgnRGFyaycpO1xuXG5leHBvcnQgY29uc3QgY3ZFZGl0b3JMaWdodFRoZW1lID0gZ2V0VGhlbWUoJ0xpZ2h0Jyk7XG4iXX0=
|
package/esm2022/public_api.mjs
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { TdCodeEditorComponent } from './lib/code-editor.component';
|
|
2
|
-
export { CovalentCodeEditorModule } from './lib/code-editor.module';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb2RlLWVkaXRvci9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFRkQ29kZUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vbGliL2NvZGUtZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgeyBDb3ZhbGVudENvZGVFZGl0b3JNb2R1bGUgfSBmcm9tICcuL2xpYi9jb2RlLWVkaXRvci5tb2R1bGUnO1xuIl19
|