@covalent/code-editor 8.20.6 → 8.20.8
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.
|
@@ -5,8 +5,9 @@ import { of, Subject } from 'rxjs';
|
|
|
5
5
|
import { fromEvent, merge, timer } from 'rxjs';
|
|
6
6
|
import { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
7
7
|
// Use esm version to support shipping subset of languages and features
|
|
8
|
-
import { editor, languages } from 'monaco-editor/esm/vs/editor/editor.api';
|
|
8
|
+
import { editor, languages, } from 'monaco-editor/esm/vs/editor/editor.api';
|
|
9
9
|
import { mixinControlValueAccessor, mixinDisabled, } from '@covalent/core/common';
|
|
10
|
+
import { cvEditorDarkTheme, cvEditorLightTheme } from './editor.theme';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
const noop = () => {
|
|
12
13
|
// empty method
|
|
@@ -29,7 +30,7 @@ export class TdCodeEditorComponent extends _TdCodeEditorMixinBase {
|
|
|
29
30
|
_heightSubject = new Subject();
|
|
30
31
|
_editorStyle = 'width:100%;height:100%;';
|
|
31
32
|
_value = '';
|
|
32
|
-
_theme = '
|
|
33
|
+
_theme = 'cv-light';
|
|
33
34
|
_language = 'javascript';
|
|
34
35
|
_subject = new Subject();
|
|
35
36
|
_editorInnerContainer = 'editorInnerContainer' + uniqueCounter++;
|
|
@@ -240,6 +241,9 @@ export class TdCodeEditorComponent extends _TdCodeEditorMixinBase {
|
|
|
240
241
|
}
|
|
241
242
|
const containerDiv = this._editorContainer.nativeElement;
|
|
242
243
|
containerDiv.id = this._editorInnerContainer;
|
|
244
|
+
// Add teradata branded themes
|
|
245
|
+
editor.defineTheme('cv-light', cvEditorLightTheme);
|
|
246
|
+
editor.defineTheme('cv-dark', cvEditorDarkTheme);
|
|
243
247
|
this._editor = editor.create(containerDiv, Object.assign({
|
|
244
248
|
value: this._value,
|
|
245
249
|
language: this.language,
|
|
@@ -374,4 +378,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
374
378
|
}], editorOptions: [{
|
|
375
379
|
type: Input
|
|
376
380
|
}] } });
|
|
377
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvZGUtZWRpdG9yL3NyYy9saWIvY29kZS1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvZGUtZWRpdG9yL3NyYy9saWIvY29kZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFFWixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixpQkFBaUIsRUFFakIsTUFBTSxFQUNOLE1BQU0sRUFDTixXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9FLHVFQUF1RTtBQUN2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBZSxNQUFNLHdDQUF3QyxDQUFDO0FBRXhGLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsYUFBYSxHQUNkLE1BQU0sdUJBQXVCLENBQUM7O0FBRS9CLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRTtJQUNoQixlQUFlO0FBQ2pCLENBQUMsQ0FBQztBQUVGLDREQUE0RDtBQUM1RCxJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUM7QUFFdEIsTUFBTSxPQUFP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QkFDRSxnQkFBZ0IsYUFHZjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OzBCQXFRRSxNQUFNOzJCQUFDLFdBQVc7eUNBM08yQixnQkFBZ0I7c0JBQS9ELFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU85QyxpQkFBaUI7c0JBRGhCLE1BQU07Z0JBUUcsMEJBQTBCO3NCQUFuQyxNQUFNO2dCQU9HLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFPRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBUU0sS0FBSztzQkFEakIsS0FBSztnQkFpREYsUUFBUTtzQkFEWCxLQUFLO2dCQW1FRixXQUFXO3NCQURkLEtBQUs7Z0JBd0JGLEtBQUs7c0JBRFIsS0FBSztnQkFrQkYsb0JBQW9CO3NCQUR2QixLQUFLO2dCQWNGLGFBQWE7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPbkRlc3Ryb3ksXG4gIE5nWm9uZSxcbiAgSW5qZWN0LFxuICBQTEFURk9STV9JRCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBVc2UgZXNtIHZlcnNpb24gdG8gc3VwcG9ydCBzaGlwcGluZyBzdWJzZXQgb2YgbGFuZ3VhZ2VzIGFuZCBmZWF0dXJlc1xuaW1wb3J0IHsgZWRpdG9yLCBsYW5ndWFnZXMsIElEaXNwb3NhYmxlIH0gZnJvbSAnbW9uYWNvLWVkaXRvci9lc20vdnMvZWRpdG9yL2VkaXRvci5hcGknO1xuXG5pbXBvcnQge1xuICBtaXhpbkNvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBtaXhpbkRpc2FibGVkLFxufSBmcm9tICdAY292YWxlbnQvY29yZS9jb21tb24nO1xuXG5jb25zdCBub29wID0gKCkgPT4ge1xuICAvLyBlbXB0eSBtZXRob2Rcbn07XG5cbi8vIGNvdW50ZXIgZm9yIGlkcyB0byBhbGxvdyBmb3IgbXVsdGlwbGUgZWRpdG9ycyBvbiBvbmUgcGFnZVxubGV0IHVuaXF1ZUNvdW50ZXIgPSAwO1xuXG5leHBvcnQgY2xhc3MgVGRDb2RlRWRpdG9yQmFzZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxufVxuXG5leHBvcnQgY29uc3QgX1RkQ29kZUVkaXRvck1peGluQmFzZSA9IG1peGluQ29udHJvbFZhbHVlQWNjZXNzb3IoXG4gIG1peGluRGlzYWJsZWQoVGRDb2RlRWRpdG9yQmFzZSksXG4gIFtdXG4pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1jb2RlLWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2RlLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZGUtZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGRDb2RlRWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRkQ29kZUVkaXRvckNvbXBvbmVudFxuICBleHRlbmRzIF9UZENvZGVFZGl0b3JNaXhpbkJhc2VcbiAgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSBfZGVzdHJveTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgX3dpZHRoU3ViamVjdDogU3ViamVjdDxudW1iZXI+ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICBwcml2YXRlIF9oZWlnaHRTdWJqZWN0OiBTdWJqZWN0PG51bWJlcj4gPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG5cbiAgcHJpdmF0ZSBfZWRpdG9yU3R5bGUgPSAnd2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTsnO1xuICBwcml2YXRlIF92YWx1ZSA9ICcnO1xuICBwcml2YXRlIF90aGVtZSA9ICd2cyc7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gJ2phdmFzY3JpcHQnO1xuICBwcml2YXRlIF9zdWJqZWN0OiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIF9lZGl0b3JJbm5lckNvbnRhaW5lcjogc3RyaW5nID1cbiAgICAnZWRpdG9ySW5uZXJDb250YWluZXInICsgdW5pcXVlQ291bnRlcisrO1xuICBwcml2YXRlIF9lZGl0b3IhOiBlZGl0b3IuSVN0YW5kYWxvbmVDb2RlRWRpdG9yO1xuICBwcml2YXRlIF9mcm9tRWRpdG9yID0gZmFsc2U7XG4gIHByaXZhdGUgX2NvbXBvbmVudEluaXRpYWxpemVkID0gZmFsc2U7XG4gIHByaXZhdGUgX2VkaXRvck9wdGlvbnM6IGFueSA9IHt9O1xuICBwcml2YXRlIF9pc0Z1bGxTY3JlZW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfa2V5Y29kZTogYW55O1xuICBwcml2YXRlIF9yZWdpc3RlcmVkTGFuZ3VhZ2VzU3R5bGVzOiBIVE1MU3R5bGVFbGVtZW50W10gPSBbXTtcbiAgcHJpdmF0ZSBfZGlzcG9zYWJsZXM6IElEaXNwb3NhYmxlW10gPSBbXTtcblxuICBAVmlld0NoaWxkKCdlZGl0b3JDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBfZWRpdG9yQ29udGFpbmVyITogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogZWRpdG9ySW5pdGlhbGl6ZWQ6IGZ1bmN0aW9uKCRldmVudClcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGVkaXRvciBpcyBmaXJzdCBpbml0aWFsaXplZFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIGVkaXRvckluaXRpYWxpemVkOiBFdmVudEVtaXR0ZXI8ZWRpdG9yLklTdGFuZGFsb25lQ29kZUVkaXRvcj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8ZWRpdG9yLklTdGFuZGFsb25lQ29kZUVkaXRvcj4oKTtcblxuICAvKipcbiAgICogZWRpdG9yQ29uZmlndXJhdGlvbkNoYW5nZWQ6IGZ1bmN0aW9uKCRldmVudClcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGVkaXRvcidzIGNvbmZpZ3VyYXRpb24gY2hhbmdlc1xuICAgKi9cbiAgQE91dHB1dCgpIGVkaXRvckNvbmZpZ3VyYXRpb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogZWRpdG9yTGFuZ3VhZ2VDaGFuZ2VkOiBmdW5jdGlvbigkZXZlbnQpXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBlZGl0b3IncyBMYW5ndWFnZSBjaGFuZ2VzXG4gICAqL1xuICBAT3V0cHV0KCkgZWRpdG9yTGFuZ3VhZ2VDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogZWRpdG9yVmFsdWVDaGFuZ2U6IGZ1bmN0aW9uKCRldmVudClcbiAgICogRXZlbnQgZW1pdHRlZCBhbnkgdGltZSBzb21ldGhpbmcgY2hhbmdlcyB0aGUgZWRpdG9yIHZhbHVlXG4gICAqL1xuICBAT3V0cHV0KCkgZWRpdG9yVmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiBub29wO1xuXG4gIC8qKlxuICAgKiB2YWx1ZT86IHN0cmluZ1xuICAgKi9cbiAgQElucHV0KClcbiAgb3ZlcnJpZGUgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuXG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLmFwcGx5VmFsdWUoKTtcbiAgICB9XG4gIH1cbiAgb3ZlcnJpZGUgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgYXBwbHlWYWx1ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2Zyb21FZGl0b3IpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5zZXRWYWx1ZSh0aGlzLl92YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMuX2Zyb21FZGl0b3IgPSBmYWxzZTtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLl92YWx1ZSk7XG4gICAgdGhpcy5lZGl0b3JWYWx1ZUNoYW5nZS5lbWl0KCk7XG4gIH1cblxuICBvdmVycmlkZSByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG4gIG92ZXJyaWRlIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldEVkaXRvckNvbnRlbnQ/OiBmdW5jdGlvblxuICAgKiBSZXR1cm5zIHRoZSBjb250ZW50IHdpdGhpbiB0aGUgZWRpdG9yXG4gICAqL1xuICBnZXRWYWx1ZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGlmICghdGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQpIHtcbiAgICAgIHJldHVybiBvZignJyk7XG4gICAgfVxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fc3ViamVjdC5uZXh0KHRoaXMuX3ZhbHVlKTtcbiAgICAgIHRoaXMuX3N1YmplY3QuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuX3N1YmplY3QgPSBuZXcgU3ViamVjdCgpO1xuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLl9zdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGxhbmd1YWdlPzogc3RyaW5nXG4gICAqIGxhbmd1YWdlIHVzZWQgaW4gZWRpdG9yXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgbGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZykge1xuICAgIHRoaXMuX2xhbmd1YWdlID0gbGFuZ3VhZ2U7XG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLmFwcGx5TGFuZ3VhZ2UoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgbGFuZ3VhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbGFuZ3VhZ2U7XG4gIH1cblxuICBhcHBseUxhbmd1YWdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9sYW5ndWFnZSkge1xuICAgICAgZWRpdG9yLnNldE1vZGVsTGFuZ3VhZ2UoXG4gICAgICAgIHRoaXMuX2VkaXRvci5nZXRNb2RlbCgpIGFzIGVkaXRvci5JVGV4dE1vZGVsLFxuICAgICAgICB0aGlzLl9sYW5ndWFnZVxuICAgICAgKTtcbiAgICAgIHRoaXMuZWRpdG9yTGFuZ3VhZ2VDaGFuZ2VkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogcmVnaXN0ZXJMYW5ndWFnZT86IGZ1bmN0aW9uXG4gICAqIFJlZ2lzdGVycyBhIGN1c3RvbSBMYW5ndWFnZSB3aXRoaW4gdGhlIGVkaXRvclxuICAgKi9cbiAgcmVnaXN0ZXJMYW5ndWFnZShsYW5ndWFnZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICBsYW5ndWFnZXMucmVnaXN0ZXIoeyBpZDogbGFuZ3VhZ2UuaWQgfSk7XG5cbiAgICAgIHRoaXMuX2Rpc3Bvc2FibGVzLnB1c2goXG4gICAgICAgIGxhbmd1YWdlcy5zZXRNb25hcmNoVG9rZW5zUHJvdmlkZXIobGFuZ3VhZ2UuaWQsIHtcbiAgICAgICAgICB0b2tlbml6ZXI6IHtcbiAgICAgICAgICAgIHJvb3Q6IGxhbmd1YWdlLm1vbmFyY2hUb2tlbnNQcm92aWRlcixcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgICAgLy8gRGVmaW5lIGEgbmV3IHRoZW1lIHRoYXQgY29uc3RhaW5zIG9ubHkgcnVsZXMgdGhhdCBtYXRjaCB0aGlzIGxhbmd1YWdlXG4gICAgICBlZGl0b3IuZGVmaW5lVGhlbWUobGFuZ3VhZ2UuY3VzdG9tVGhlbWUuaWQsIGxhbmd1YWdlLmN1c3RvbVRoZW1lLnRoZW1lKTtcbiAgICAgIHRoaXMuX3RoZW1lID0gbGFuZ3VhZ2UuY3VzdG9tVGhlbWUuaWQ7XG5cbiAgICAgIHRoaXMuX2Rpc3Bvc2FibGVzLnB1c2goXG4gICAgICAgIGxhbmd1YWdlcy5yZWdpc3RlckNvbXBsZXRpb25JdGVtUHJvdmlkZXIobGFuZ3VhZ2UuaWQsIHtcbiAgICAgICAgICBwcm92aWRlQ29tcGxldGlvbkl0ZW1zOiAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbGFuZ3VhZ2UuY29tcGxldGlvbkl0ZW1Qcm92aWRlcjtcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgICAgY29uc3QgY3NzOiBIVE1MU3R5bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICAgIGNzcy50eXBlID0gJ3RleHQvY3NzJztcbiAgICAgIGNzcy5pbm5lckhUTUwgPSBsYW5ndWFnZS5tb25hcmNoVG9rZW5zUHJvdmlkZXJDU1M7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNzcyk7XG4gICAgICB0aGlzLmVkaXRvckNvbmZpZ3VyYXRpb25DaGFuZ2VkLmVtaXQoKTtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyZWRMYW5ndWFnZXNTdHlsZXMgPSBbXG4gICAgICAgIC4uLnRoaXMuX3JlZ2lzdGVyZWRMYW5ndWFnZXNTdHlsZXMsXG4gICAgICAgIGNzcyxcbiAgICAgIF07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHN0eWxlPzogc3RyaW5nXG4gICAqIGNzcyBzdHlsZSBvZiB0aGUgZWRpdG9yIG9uIHRoZSBwYWdlXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZWRpdG9yU3R5bGUoZWRpdG9yU3R5bGU6IHN0cmluZykge1xuICAgIHRoaXMuX2VkaXRvclN0eWxlID0gZWRpdG9yU3R5bGU7XG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLmFwcGx5U3R5bGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgZWRpdG9yU3R5bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZWRpdG9yU3R5bGU7XG4gIH1cblxuICBhcHBseVN0eWxlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9lZGl0b3JTdHlsZSkge1xuICAgICAgY29uc3QgY29udGFpbmVyRGl2OiBIVE1MRGl2RWxlbWVudCA9IHRoaXMuX2VkaXRvckNvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICAgICAgY29udGFpbmVyRGl2LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCB0aGlzLl9lZGl0b3JTdHlsZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHRoZW1lPzogc3RyaW5nXG4gICAqIFRoZW1lIHRvIGJlIGFwcGxpZWQgdG8gZWRpdG9yXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgdGhlbWUodGhlbWU6IHN0cmluZykge1xuICAgIHRoaXMuX3RoZW1lID0gdGhlbWU7XG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLl9lZGl0b3IudXBkYXRlT3B0aW9ucyh7IHRoZW1lIH0pO1xuICAgICAgdGhpcy5lZGl0b3JDb25maWd1cmF0aW9uQ2hhbmdlZC5lbWl0KCk7XG4gICAgfVxuICB9XG4gIGdldCB0aGVtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90aGVtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBmdWxsU2NyZWVuS2V5QmluZGluZz86IG51bWJlclxuICAgKiBTZWUgaGVyZSBmb3Iga2V5IGJpbmRpbmdzIGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9tb25hY28tZWRpdG9yL2FwaS9lbnVtcy9rZXljb2RlLmh0bWxcbiAgICogU2V0cyB0aGUgS2V5Q29kZSBmb3Igc2hvcnRjdXR0aW5nIHRvIEZ1bGxzY3JlZW4gbW9kZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGZ1bGxTY3JlZW5LZXlCaW5kaW5nKGtleWNvZGU6IG51bWJlcltdKSB7XG4gICAgdGhpcy5fa2V5Y29kZSA9IGtleWNvZGU7XG4gIH1cbiAgZ2V0IGZ1bGxTY3JlZW5LZXlCaW5kaW5nKCk6IG51bWJlcltdIHtcbiAgICByZXR1cm4gdGhpcy5fa2V5Y29kZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBlZGl0b3JPcHRpb25zPzogb2JqZWN0XG4gICAqIE9wdGlvbnMgdXNlZCBvbiBlZGl0b3IgaW5zdGFudGlhdGlvbi4gQXZhaWxhYmxlIG9wdGlvbnMgbGlzdGVkIGhlcmU6XG4gICAqIGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9tb25hY28tZWRpdG9yL2FwaS9pbnRlcmZhY2VzL2VkaXRvci5pZWRpdG9yb3B0aW9ucy5odG1sXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZWRpdG9yT3B0aW9ucyhlZGl0b3JPcHRpb25zOiBhbnkpIHtcbiAgICB0aGlzLl9lZGl0b3JPcHRpb25zID0gZWRpdG9yT3B0aW9ucztcbiAgICBpZiAodGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuX2VkaXRvci51cGRhdGVPcHRpb25zKGVkaXRvck9wdGlvbnMpO1xuICAgICAgdGhpcy5lZGl0b3JDb25maWd1cmF0aW9uQ2hhbmdlZC5lbWl0KCk7XG4gICAgfVxuICB9XG4gIGdldCBlZGl0b3JPcHRpb25zKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2VkaXRvck9wdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogbGF5b3V0IG1ldGhvZCB0aGF0IGNhbGxzIGxheW91dCBtZXRob2Qgb2YgZWRpdG9yIGFuZCBpbnN0cnVjdHMgdGhlIGVkaXRvciB0byByZW1lYXN1cmUgaXRzIGNvbnRhaW5lclxuICAgKi9cbiAgbGF5b3V0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jb21wb25lbnRJbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5fZWRpdG9yLmxheW91dCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGlmIGluIEZ1bGwgU2NyZWVuIE1vZGUgb3Igbm90XG4gICAqL1xuICBnZXQgaXNGdWxsU2NyZWVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0Z1bGxTY3JlZW47XG4gIH1cblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bWVtYmVyLW9yZGVyaW5nXG4gIGNvbnN0cnVjdG9yKFxuICAgIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIoX2NoYW5nZURldGVjdG9yUmVmKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb250YWluZXJEaXY6IEhUTUxEaXZFbGVtZW50ID0gdGhpcy5fZWRpdG9yQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29udGFpbmVyRGl2LmlkID0gdGhpcy5fZWRpdG9ySW5uZXJDb250YWluZXI7XG5cbiAgICB0aGlzLl9lZGl0b3IgPSBlZGl0b3IuY3JlYXRlKFxuICAgICAgY29udGFpbmVyRGl2LFxuICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLl92YWx1ZSxcbiAgICAgICAgICBsYW5ndWFnZTogdGhpcy5sYW5ndWFnZSxcbiAgICAgICAgICB0aGVtZTogdGhpcy5fdGhlbWUsXG4gICAgICAgIH0sXG4gICAgICAgIHRoaXMuZWRpdG9yT3B0aW9uc1xuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hcHBseUxhbmd1YWdlKCk7XG4gICAgICB0aGlzLl9mcm9tRWRpdG9yID0gdHJ1ZTtcbiAgICAgIHRoaXMuYXBwbHlWYWx1ZSgpO1xuICAgICAgdGhpcy5hcHBseVN0eWxlKCk7XG4gICAgICB0aGlzLmVkaXRvckluaXRpYWxpemVkLmVtaXQodGhpcy5fZWRpdG9yKTtcbiAgICAgIHRoaXMuZWRpdG9yQ29uZmlndXJhdGlvbkNoYW5nZWQuZW1pdCgpO1xuICAgIH0pO1xuICAgIC8vIFRoZSBgb25EaWRDaGFuZ2VDb250ZW50YCByZXR1cm5zIGEgZGlzcG9zYWJsZSBvYmplY3QgKGFuIG9iamVjdCB3aXRoIGBkaXNwb3NlKClgIG1ldGhvZCkgd2hpY2ggd2lsbCBjbGVhbnVwXG4gICAgLy8gdGhlIGxpc3RlbmVyLiBUaGUgY2FsbGJhY2ssIHRoYXQgd2UgcGFzcyB0byBgb25EaWRDaGFuZ2VDb250ZW50YCwgY2FwdHVyZXMgYHRoaXNgLiBUaGlzIGxlYWRzIHRvIGEgY2lyY3VsYXIgcmVmZXJlbmNlXG4gICAgLy8gKGB0ZC1jb2RlLWVkaXRvciAtPiBtb25hY28gLT4gdGQtY29kZS1lZGl0b3JgKSBhbmQgcHJldmVudHMgdGhlIGB0ZC1jb2RlLWVkaXRvcmAgZnJvbSBiZWluZyBHQydkLlxuICAgIHRoaXMuX2Rpc3Bvc2FibGVzLnB1c2goXG4gICAgICAodGhpcy5fZWRpdG9yLmdldE1vZGVsKCkgYXMgZWRpdG9yLklUZXh0TW9kZWwpLm9uRGlkQ2hhbmdlQ29udGVudCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2Zyb21FZGl0b3IgPSB0cnVlO1xuICAgICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5fZWRpdG9yLmdldFZhbHVlKCkpO1xuICAgICAgICB0aGlzLmxheW91dCgpO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuYWRkRnVsbFNjcmVlbk1vZGVDb21tYW5kKCk7XG5cbiAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgIG1lcmdlKFxuICAgICAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJykucGlwZShkZWJvdW5jZVRpbWUoMTAwKSksXG4gICAgICAgIHRoaXMuX3dpZHRoU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICAgICAgICB0aGlzLl9oZWlnaHRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIClcbiAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwMCksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgLy8gTm90ZTogdGhpcyBpcyBiZWluZyBjYWxsZWQgb3V0c2lkZSBvZiB0aGUgQW5ndWxhciB6b25lIHNpbmNlIHdlIGRvbid0IGhhdmUgdG9cbiAgICAgICAgICAvLyBydW4gY2hhbmdlIGRldGVjdGlvbiB3aGVuZXZlciB0aGUgZWRpdG9yIHJlc2l6ZXMgaXRzZWxmLlxuICAgICAgICAgIHRoaXMubGF5b3V0KCk7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgIHRpbWVyKDUwMCwgMjUwKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID1cbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICB0aGlzLl93aWR0aFN1YmplY3QubmV4dCh3aWR0aCk7XG4gICAgICAgICAgdGhpcy5faGVpZ2h0U3ViamVjdC5uZXh0KGhlaWdodCk7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGFjaCgpO1xuICAgIHRoaXMuX3JlZ2lzdGVyZWRMYW5ndWFnZXNTdHlsZXMuZm9yRWFjaCgoc3R5bGU6IEhUTUxTdHlsZUVsZW1lbnQpID0+XG4gICAgICBzdHlsZS5yZW1vdmUoKVxuICAgICk7XG4gICAgd2hpbGUgKHRoaXMuX2Rpc3Bvc2FibGVzLmxlbmd0aCkge1xuICAgICAgdGhpcy5fZGlzcG9zYWJsZXMucG9wKCk/LmRpc3Bvc2UoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICB9XG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KHRydWUpO1xuICAgIHRoaXMuX2Rlc3Ryb3kudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBzaG93RnVsbFNjcmVlbkVkaXRvciByZXF1ZXN0IGZvciBmdWxsIHNjcmVlbiBvZiBDb2RlIEVkaXRvciBiYXNlZCBvbiBpdHMgYnJvd3NlciB0eXBlLlxuICAgKi9cbiAgcHVibGljIHNob3dGdWxsU2NyZWVuRWRpdG9yKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jb21wb25lbnRJbml0aWFsaXplZCkge1xuICAgICAgY29uc3QgY29kZUVkaXRvckVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50ID0gdGhpcy5fZWRpdG9yQ29udGFpbmVyXG4gICAgICAgIC5uYXRpdmVFbGVtZW50IGFzIEhUTUxEaXZFbGVtZW50O1xuICAgICAgY29kZUVkaXRvckVsZW1lbnQucmVxdWVzdEZ1bGxzY3JlZW4oKTtcbiAgICB9XG4gICAgdGhpcy5faXNGdWxsU2NyZWVuID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBleGl0RnVsbFNjcmVlbkVkaXRvciByZXF1ZXN0IHRvIGV4aXQgZnVsbCBzY3JlZW4gb2YgQ29kZSBFZGl0b3IgYmFzZWQgb24gaXRzIGJyb3dzZXIgdHlwZS5cbiAgICovXG4gIHB1YmxpYyBleGl0RnVsbFNjcmVlbkVkaXRvcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQpIHtcbiAgICAgIGRvY3VtZW50LmV4aXRGdWxsc2NyZWVuKCk7XG4gICAgfVxuICAgIHRoaXMuX2lzRnVsbFNjcmVlbiA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIGFkZEZ1bGxTY3JlZW5Nb2RlQ29tbWFuZCB1c2VkIHRvIGFkZCB0aGUgZnVsbHNjcmVlbiBvcHRpb24gdG8gdGhlIGNvbnRleHQgbWVudVxuICAgKi9cbiAgcHJpdmF0ZSBhZGRGdWxsU2NyZWVuTW9kZUNvbW1hbmQoKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzcG9zYWJsZXMucHVzaChcbiAgICAgIHRoaXMuX2VkaXRvci5hZGRBY3Rpb24oe1xuICAgICAgICAvLyBBbiB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgY29udHJpYnV0ZWQgYWN0aW9uLlxuICAgICAgICBpZDogJ2Z1bGxTY3JlZW4nLFxuICAgICAgICAvLyBBIGxhYmVsIG9mIHRoZSBhY3Rpb24gdGhhdCB3aWxsIGJlIHByZXNlbnRlZCB0byB0aGUgdXNlci5cbiAgICAgICAgbGFiZWw6ICdGdWxsIFNjcmVlbicsXG4gICAgICAgIC8vIEFuIG9wdGlvbmFsIGFycmF5IG9mIGtleWJpbmRpbmdzIGZvciB0aGUgYWN0aW9uLlxuICAgICAgICBjb250ZXh0TWVudUdyb3VwSWQ6ICduYXZpZ2F0aW9uJyxcbiAgICAgICAga2V5YmluZGluZ3M6IHRoaXMuX2tleWNvZGUsXG4gICAgICAgIGNvbnRleHRNZW51T3JkZXI6IDEuNSxcbiAgICAgICAgLy8gTWV0aG9kIHRoYXQgd2lsbCBiZSBleGVjdXRlZCB3aGVuIHRoZSBhY3Rpb24gaXMgdHJpZ2dlcmVkLlxuICAgICAgICBydW46ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnNob3dGdWxsU2NyZWVuRWRpdG9yKCk7XG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJlZGl0b3ItY29udGFpbmVyXCIgI2VkaXRvckNvbnRhaW5lcj48L2Rpdj5cbiJdfQ==
|
|
381
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvZGUtZWRpdG9yL3NyYy9saWIvY29kZS1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvZGUtZWRpdG9yL3NyYy9saWIvY29kZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFFWixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixpQkFBaUIsRUFFakIsTUFBTSxFQUNOLE1BQU0sRUFDTixXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9FLHVFQUF1RTtBQUN2RSxPQUFPLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FFVixNQUFNLHdDQUF3QyxDQUFDO0FBRWhELE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsYUFBYSxHQUNkLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRXZFLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRTtJQUNoQixlQUFlO0FBQ2pCLENBQUMsQ0FBQztB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QVc7MkZBblFWLHFCQUFxQiw0WkFSckI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQUNwRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Ysb0xDNURILDJEQUNBOzsyRkQ2RGEscUJBQXFCO2tCQVpqQyxTQUFTOytCQUNFLGdCQUFnQixhQUdmO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDOzRCQUNwRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs7MEJBcVFFLE1BQU07MkJBQUMsV0FBVzt5Q0EzTzJCLGdCQUFnQjtzQkFBL0QsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBTzlDLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFRRywwQkFBMEI7c0JBQW5DLE1BQU07Z0JBT0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQU9HLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFRTSxLQUFLO3NCQURqQixLQUFLO2dCQWlERixRQUFRO3NCQURYLEtBQUs7Z0JBbUVGLFdBQVc7c0JBRGQsS0FBSztnQkF3QkYsS0FBSztzQkFEUixLQUFLO2dCQWtCRixvQkFBb0I7c0JBRHZCLEtBQUs7Z0JBY0YsYUFBYTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIE9uRGVzdHJveSxcbiAgTmdab25lLFxuICBJbmplY3QsXG4gIFBMQVRGT1JNX0lELFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8vIFVzZSBlc20gdmVyc2lvbiB0byBzdXBwb3J0IHNoaXBwaW5nIHN1YnNldCBvZiBsYW5ndWFnZXMgYW5kIGZlYXR1cmVzXG5pbXBvcnQge1xuICBlZGl0b3IsXG4gIGxhbmd1YWdlcyxcbiAgSURpc3Bvc2FibGUsXG59IGZyb20gJ21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9lZGl0b3IuYXBpJztcblxuaW1wb3J0IHtcbiAgbWl4aW5Db250cm9sVmFsdWVBY2Nlc3NvcixcbiAgbWl4aW5EaXNhYmxlZCxcbn0gZnJvbSAnQGNvdmFsZW50L2NvcmUvY29tbW9uJztcbmltcG9ydCB7IGN2RWRpdG9yRGFya1RoZW1lLCBjdkVkaXRvckxpZ2h0VGhlbWUgfSBmcm9tICcuL2VkaXRvci50aGVtZSc7XG5cbmNvbnN0IG5vb3AgPSAoKSA9PiB7XG4gIC8vIGVtcHR5IG1ldGhvZFxufTtcblxuLy8gY291bnRlciBmb3IgaWRzIHRvIGFsbG93IGZvciBtdWx0aXBsZSBlZGl0b3JzIG9uIG9uZSBwYWdlXG5sZXQgdW5pcXVlQ291bnRlciA9IDA7XG5cbmV4cG9ydCBjbGFzcyBUZENvZGVFZGl0b3JCYXNlIHtcbiAgY29uc3RydWN0b3IocHVibGljIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG59XG5cbmV4cG9ydCBjb25zdCBfVGRDb2RlRWRpdG9yTWl4aW5CYXNlID0gbWl4aW5Db250cm9sVmFsdWVBY2Nlc3NvcihcbiAgbWl4aW5EaXNhYmxlZChUZENvZGVFZGl0b3JCYXNlKSxcbiAgW11cbik7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLWNvZGUtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvZGUtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29kZS1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUZENvZGVFZGl0b3JDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRDb2RlRWRpdG9yQ29tcG9uZW50XG4gIGV4dGVuZHMgX1RkQ29kZUVkaXRvck1peGluQmFzZVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIF9kZXN0cm95OiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHJpdmF0ZSBfd2lkdGhTdWJqZWN0OiBTdWJqZWN0PG51bWJlcj4gPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG4gIHByaXZhdGUgX2hlaWdodFN1YmplY3Q6IFN1YmplY3Q8bnVtYmVyPiA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcblxuICBwcml2YXRlIF9lZGl0b3JTdHlsZSA9ICd3aWR0aDoxMDAlO2hlaWdodDoxMDAlOyc7XG4gIHByaXZhdGUgX3ZhbHVlID0gJyc7XG4gIHByaXZhdGUgX3RoZW1lID0gJ2N2LWxpZ2h0JztcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSAnamF2YXNjcmlwdCc7XG4gIHByaXZhdGUgX3N1YmplY3Q6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgX2VkaXRvcklubmVyQ29udGFpbmVyOiBzdHJpbmcgPVxuICAgICdlZGl0b3JJbm5lckNvbnRhaW5lcicgKyB1bmlxdWVDb3VudGVyKys7XG4gIHByaXZhdGUgX2VkaXRvciE6IGVkaXRvci5JU3RhbmRhbG9uZUNvZGVFZGl0b3I7XG4gIHByaXZhdGUgX2Zyb21FZGl0b3IgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfY29tcG9uZW50SW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfZWRpdG9yT3B0aW9uczogYW55ID0ge307XG4gIHByaXZhdGUgX2lzRnVsbFNjcmVlbiA9IGZhbHNlO1xuICBwcml2YXRlIF9rZXljb2RlOiBhbnk7XG4gIHByaXZhdGUgX3JlZ2lzdGVyZWRMYW5ndWFnZXNTdHlsZXM6IEhUTUxTdHlsZUVsZW1lbnRbXSA9IFtdO1xuICBwcml2YXRlIF9kaXNwb3NhYmxlczogSURpc3Bvc2FibGVbXSA9IFtdO1xuXG4gIEBWaWV3Q2hpbGQoJ2VkaXRvckNvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIF9lZGl0b3JDb250YWluZXIhOiBFbGVtZW50UmVmO1xuXG4gIC8qKlxuICAgKiBlZGl0b3JJbml0aWFsaXplZDogZnVuY3Rpb24oJGV2ZW50KVxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gZWRpdG9yIGlzIGZpcnN0IGluaXRpYWxpemVkXG4gICAqL1xuICBAT3V0cHV0KClcbiAgZWRpdG9ySW5pdGlhbGl6ZWQ6IEV2ZW50RW1pdHRlcjxlZGl0b3IuSVN0YW5kYWxvbmVDb2RlRWRpdG9yPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxlZGl0b3IuSVN0YW5kYWxvbmVDb2RlRWRpdG9yPigpO1xuXG4gIC8qKlxuICAgKiBlZGl0b3JDb25maWd1cmF0aW9uQ2hhbmdlZDogZnVuY3Rpb24oJGV2ZW50KVxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gZWRpdG9yJ3MgY29uZmlndXJhdGlvbiBjaGFuZ2VzXG4gICAqL1xuICBAT3V0cHV0KCkgZWRpdG9yQ29uZmlndXJhdGlvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBlZGl0b3JMYW5ndWFnZUNoYW5nZWQ6IGZ1bmN0aW9uKCRldmVudClcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGVkaXRvcidzIExhbmd1YWdlIGNoYW5nZXNcbiAgICovXG4gIEBPdXRwdXQoKSBlZGl0b3JMYW5ndWFnZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBlZGl0b3JWYWx1ZUNoYW5nZTogZnVuY3Rpb24oJGV2ZW50KVxuICAgKiBFdmVudCBlbWl0dGVkIGFueSB0aW1lIHNvbWV0aGluZyBjaGFuZ2VzIHRoZSBlZGl0b3IgdmFsdWVcbiAgICovXG4gIEBPdXRwdXQoKSBlZGl0b3JWYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IG5vb3A7XG5cbiAgLyoqXG4gICAqIHZhbHVlPzogc3RyaW5nXG4gICAqL1xuICBASW5wdXQoKVxuICBvdmVycmlkZSBzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG5cbiAgICBpZiAodGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuYXBwbHlWYWx1ZSgpO1xuICAgIH1cbiAgfVxuICBvdmVycmlkZSBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBhcHBseVZhbHVlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fZnJvbUVkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLnNldFZhbHVlKHRoaXMuX3ZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5fZnJvbUVkaXRvciA9IGZhbHNlO1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcbiAgICB0aGlzLmVkaXRvclZhbHVlQ2hhbmdlLmVtaXQoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cbiAgb3ZlcnJpZGUgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICAvKipcbiAgICogZ2V0RWRpdG9yQ29udGVudD86IGZ1bmN0aW9uXG4gICAqIFJldHVybnMgdGhlIGNvbnRlbnQgd2l0aGluIHRoZSBlZGl0b3JcbiAgICovXG4gIGdldFZhbHVlKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgaWYgKCF0aGlzLl9jb21wb25lbnRJbml0aWFsaXplZCkge1xuICAgICAgcmV0dXJuIG9mKCcnKTtcbiAgICB9XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9zdWJqZWN0Lm5leHQodGhpcy5fdmFsdWUpO1xuICAgICAgdGhpcy5fc3ViamVjdC5jb21wbGV0ZSgpO1xuICAgICAgdGhpcy5fc3ViamVjdCA9IG5ldyBTdWJqZWN0KCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuX3N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogbGFuZ3VhZ2U/OiBzdHJpbmdcbiAgICogbGFuZ3VhZ2UgdXNlZCBpbiBlZGl0b3JcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBsYW5ndWFnZShsYW5ndWFnZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbGFuZ3VhZ2UgPSBsYW5ndWFnZTtcbiAgICBpZiAodGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuYXBwbHlMYW5ndWFnZSgpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBsYW5ndWFnZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9sYW5ndWFnZTtcbiAgfVxuXG4gIGFwcGx5TGFuZ3VhZ2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2xhbmd1YWdlKSB7XG4gICAgICBlZGl0b3Iuc2V0TW9kZWxMYW5ndWFnZShcbiAgICAgICAgdGhpcy5fZWRpdG9yLmdldE1vZGVsKCkgYXMgZWRpdG9yLklUZXh0TW9kZWwsXG4gICAgICAgIHRoaXMuX2xhbmd1YWdlXG4gICAgICApO1xuICAgICAgdGhpcy5lZGl0b3JMYW5ndWFnZUNoYW5nZWQuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiByZWdpc3Rlckxhbmd1YWdlPzogZnVuY3Rpb25cbiAgICogUmVnaXN0ZXJzIGEgY3VzdG9tIExhbmd1YWdlIHdpdGhpbiB0aGUgZWRpdG9yXG4gICAqL1xuICByZWdpc3Rlckxhbmd1YWdlKGxhbmd1YWdlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQpIHtcbiAgICAgIGxhbmd1YWdlcy5yZWdpc3Rlcih7IGlkOiBsYW5ndWFnZS5pZCB9KTtcblxuICAgICAgdGhpcy5fZGlzcG9zYWJsZXMucHVzaChcbiAgICAgICAgbGFuZ3VhZ2VzLnNldE1vbmFyY2hUb2tlbnNQcm92aWRlcihsYW5ndWFnZS5pZCwge1xuICAgICAgICAgIHRva2VuaXplcjoge1xuICAgICAgICAgICAgcm9vdDogbGFuZ3VhZ2UubW9uYXJjaFRva2Vuc1Byb3ZpZGVyLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgICAvLyBEZWZpbmUgYSBuZXcgdGhlbWUgdGhhdCBjb25zdGFpbnMgb25seSBydWxlcyB0aGF0IG1hdGNoIHRoaXMgbGFuZ3VhZ2VcbiAgICAgIGVkaXRvci5kZWZpbmVUaGVtZShsYW5ndWFnZS5jdXN0b21UaGVtZS5pZCwgbGFuZ3VhZ2UuY3VzdG9tVGhlbWUudGhlbWUpO1xuICAgICAgdGhpcy5fdGhlbWUgPSBsYW5ndWFnZS5jdXN0b21UaGVtZS5pZDtcblxuICAgICAgdGhpcy5fZGlzcG9zYWJsZXMucHVzaChcbiAgICAgICAgbGFuZ3VhZ2VzLnJlZ2lzdGVyQ29tcGxldGlvbkl0ZW1Qcm92aWRlcihsYW5ndWFnZS5pZCwge1xuICAgICAgICAgIHByb3ZpZGVDb21wbGV0aW9uSXRlbXM6ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBsYW5ndWFnZS5jb21wbGV0aW9uSXRlbVByb3ZpZGVyO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgICBjb25zdCBjc3M6IEhUTUxTdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgY3NzLnR5cGUgPSAndGV4dC9jc3MnO1xuICAgICAgY3NzLmlubmVySFRNTCA9IGxhbmd1YWdlLm1vbmFyY2hUb2tlbnNQcm92aWRlckNTUztcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY3NzKTtcbiAgICAgIHRoaXMuZWRpdG9yQ29uZmlndXJhdGlvbkNoYW5nZWQuZW1pdCgpO1xuICAgICAgdGhpcy5fcmVnaXN0ZXJlZExhbmd1YWdlc1N0eWxlcyA9IFtcbiAgICAgICAgLi4udGhpcy5fcmVnaXN0ZXJlZExhbmd1YWdlc1N0eWxlcyxcbiAgICAgICAgY3NzLFxuICAgICAgXTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogc3R5bGU/OiBzdHJpbmdcbiAgICogY3NzIHN0eWxlIG9mIHRoZSBlZGl0b3Igb24gdGhlIHBhZ2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBlZGl0b3JTdHlsZShlZGl0b3JTdHlsZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZWRpdG9yU3R5bGUgPSBlZGl0b3JTdHlsZTtcbiAgICBpZiAodGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuYXBwbHlTdHlsZSgpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBlZGl0b3JTdHlsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9lZGl0b3JTdHlsZTtcbiAgfVxuXG4gIGFwcGx5U3R5bGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2VkaXRvclN0eWxlKSB7XG4gICAgICBjb25zdCBjb250YWluZXJEaXY6IEhUTUxEaXZFbGVtZW50ID0gdGhpcy5fZWRpdG9yQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBjb250YWluZXJEaXYuc2V0QXR0cmlidXRlKCdzdHlsZScsIHRoaXMuX2VkaXRvclN0eWxlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogdGhlbWU/OiBzdHJpbmdcbiAgICogVGhlbWUgdG8gYmUgYXBwbGllZCB0byBlZGl0b3JcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCB0aGVtZSh0aGVtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdGhlbWUgPSB0aGVtZTtcbiAgICBpZiAodGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuX2VkaXRvci51cGRhdGVPcHRpb25zKHsgdGhlbWUgfSk7XG4gICAgICB0aGlzLmVkaXRvckNvbmZpZ3VyYXRpb25DaGFuZ2VkLmVtaXQoKTtcbiAgICB9XG4gIH1cbiAgZ2V0IHRoZW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3RoZW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIGZ1bGxTY3JlZW5LZXlCaW5kaW5nPzogbnVtYmVyXG4gICAqIFNlZSBoZXJlIGZvciBrZXkgYmluZGluZ3MgaHR0cHM6Ly9taWNyb3NvZnQuZ2l0aHViLmlvL21vbmFjby1lZGl0b3IvYXBpL2VudW1zL2tleWNvZGUuaHRtbFxuICAgKiBTZXRzIHRoZSBLZXlDb2RlIGZvciBzaG9ydGN1dHRpbmcgdG8gRnVsbHNjcmVlbiBtb2RlXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZnVsbFNjcmVlbktleUJpbmRpbmcoa2V5Y29kZTogbnVtYmVyW10pIHtcbiAgICB0aGlzLl9rZXljb2RlID0ga2V5Y29kZTtcbiAgfVxuICBnZXQgZnVsbFNjcmVlbktleUJpbmRpbmcoKTogbnVtYmVyW10ge1xuICAgIHJldHVybiB0aGlzLl9rZXljb2RlO1xuICB9XG5cbiAgLyoqXG4gICAqIGVkaXRvck9wdGlvbnM/OiBvYmplY3RcbiAgICogT3B0aW9ucyB1c2VkIG9uIGVkaXRvciBpbnN0YW50aWF0aW9uLiBBdmFpbGFibGUgb3B0aW9ucyBsaXN0ZWQgaGVyZTpcbiAgICogaHR0cHM6Ly9taWNyb3NvZnQuZ2l0aHViLmlvL21vbmFjby1lZGl0b3IvYXBpL2ludGVyZmFjZXMvZWRpdG9yLmllZGl0b3JvcHRpb25zLmh0bWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBlZGl0b3JPcHRpb25zKGVkaXRvck9wdGlvbnM6IGFueSkge1xuICAgIHRoaXMuX2VkaXRvck9wdGlvbnMgPSBlZGl0b3JPcHRpb25zO1xuICAgIGlmICh0aGlzLl9jb21wb25lbnRJbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5fZWRpdG9yLnVwZGF0ZU9wdGlvbnMoZWRpdG9yT3B0aW9ucyk7XG4gICAgICB0aGlzLmVkaXRvckNvbmZpZ3VyYXRpb25DaGFuZ2VkLmVtaXQoKTtcbiAgICB9XG4gIH1cbiAgZ2V0IGVkaXRvck9wdGlvbnMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fZWRpdG9yT3B0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBsYXlvdXQgbWV0aG9kIHRoYXQgY2FsbHMgbGF5b3V0IG1ldGhvZCBvZiBlZGl0b3IgYW5kIGluc3RydWN0cyB0aGUgZWRpdG9yIHRvIHJlbWVhc3VyZSBpdHMgY29udGFpbmVyXG4gICAqL1xuICBsYXlvdXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLl9lZGl0b3IubGF5b3V0KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgaWYgaW4gRnVsbCBTY3JlZW4gTW9kZSBvciBub3RcbiAgICovXG4gIGdldCBpc0Z1bGxTY3JlZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzRnVsbFNjcmVlbjtcbiAgfVxuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptZW1iZXItb3JkZXJpbmdcbiAgY29uc3RydWN0b3IoXG4gICAgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IHN0cmluZ1xuICApIHtcbiAgICBzdXBlcihfY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRhaW5lckRpdjogSFRNTERpdkVsZW1lbnQgPSB0aGlzLl9lZGl0b3JDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICBjb250YWluZXJEaXYuaWQgPSB0aGlzLl9lZGl0b3JJbm5lckNvbnRhaW5lcjtcblxuICAgIC8vIEFkZCB0ZXJhZGF0YSBicmFuZGVkIHRoZW1lc1xuICAgIGVkaXRvci5kZWZpbmVUaGVtZShcbiAgICAgICdjdi1saWdodCcsXG4gICAgICBjdkVkaXRvckxpZ2h0VGhlbWUgYXMgZWRpdG9yLklTdGFuZGFsb25lVGhlbWVEYXRhXG4gICAgKTtcblxuICAgIGVkaXRvci5kZWZpbmVUaGVtZShcbiAgICAgICdjdi1kYXJrJyxcbiAgICAgIGN2RWRpdG9yRGFya1RoZW1lIGFzIGVkaXRvci5JU3RhbmRhbG9uZVRoZW1lRGF0YVxuICAgICk7XG5cbiAgICB0aGlzLl9lZGl0b3IgPSBlZGl0b3IuY3JlYXRlKFxuICAgICAgY29udGFpbmVyRGl2LFxuICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLl92YWx1ZSxcbiAgICAgICAgICBsYW5ndWFnZTogdGhpcy5sYW5ndWFnZSxcbiAgICAgICAgICB0aGVtZTogdGhpcy5fdGhlbWUsXG4gICAgICAgIH0sXG4gICAgICAgIHRoaXMuZWRpdG9yT3B0aW9uc1xuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hcHBseUxhbmd1YWdlKCk7XG4gICAgICB0aGlzLl9mcm9tRWRpdG9yID0gdHJ1ZTtcbiAgICAgIHRoaXMuYXBwbHlWYWx1ZSgpO1xuICAgICAgdGhpcy5hcHBseVN0eWxlKCk7XG4gICAgICB0aGlzLmVkaXRvckluaXRpYWxpemVkLmVtaXQodGhpcy5fZWRpdG9yKTtcbiAgICAgIHRoaXMuZWRpdG9yQ29uZmlndXJhdGlvbkNoYW5nZWQuZW1pdCgpO1xuICAgIH0pO1xuICAgIC8vIFRoZSBgb25EaWRDaGFuZ2VDb250ZW50YCByZXR1cm5zIGEgZGlzcG9zYWJsZSBvYmplY3QgKGFuIG9iamVjdCB3aXRoIGBkaXNwb3NlKClgIG1ldGhvZCkgd2hpY2ggd2lsbCBjbGVhbnVwXG4gICAgLy8gdGhlIGxpc3RlbmVyLiBUaGUgY2FsbGJhY2ssIHRoYXQgd2UgcGFzcyB0byBgb25EaWRDaGFuZ2VDb250ZW50YCwgY2FwdHVyZXMgYHRoaXNgLiBUaGlzIGxlYWRzIHRvIGEgY2lyY3VsYXIgcmVmZXJlbmNlXG4gICAgLy8gKGB0ZC1jb2RlLWVkaXRvciAtPiBtb25hY28gLT4gdGQtY29kZS1lZGl0b3JgKSBhbmQgcHJldmVudHMgdGhlIGB0ZC1jb2RlLWVkaXRvcmAgZnJvbSBiZWluZyBHQydkLlxuICAgIHRoaXMuX2Rpc3Bvc2FibGVzLnB1c2goXG4gICAgICAodGhpcy5fZWRpdG9yLmdldE1vZGVsKCkgYXMgZWRpdG9yLklUZXh0TW9kZWwpLm9uRGlkQ2hhbmdlQ29udGVudCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2Zyb21FZGl0b3IgPSB0cnVlO1xuICAgICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5fZWRpdG9yLmdldFZhbHVlKCkpO1xuICAgICAgICB0aGlzLmxheW91dCgpO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuYWRkRnVsbFNjcmVlbk1vZGVDb21tYW5kKCk7XG5cbiAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgIG1lcmdlKFxuICAgICAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJykucGlwZShkZWJvdW5jZVRpbWUoMTAwKSksXG4gICAgICAgIHRoaXMuX3dpZHRoU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICAgICAgICB0aGlzLl9oZWlnaHRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIClcbiAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwMCksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgLy8gTm90ZTogdGhpcyBpcyBiZWluZyBjYWxsZWQgb3V0c2lkZSBvZiB0aGUgQW5ndWxhciB6b25lIHNpbmNlIHdlIGRvbid0IGhhdmUgdG9cbiAgICAgICAgICAvLyBydW4gY2hhbmdlIGRldGVjdGlvbiB3aGVuZXZlciB0aGUgZWRpdG9yIHJlc2l6ZXMgaXRzZWxmLlxuICAgICAgICAgIHRoaXMubGF5b3V0KCk7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgIHRpbWVyKDUwMCwgMjUwKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID1cbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICB0aGlzLl93aWR0aFN1YmplY3QubmV4dCh3aWR0aCk7XG4gICAgICAgICAgdGhpcy5faGVpZ2h0U3ViamVjdC5uZXh0KGhlaWdodCk7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGFjaCgpO1xuICAgIHRoaXMuX3JlZ2lzdGVyZWRMYW5ndWFnZXNTdHlsZXMuZm9yRWFjaCgoc3R5bGU6IEhUTUxTdHlsZUVsZW1lbnQpID0+XG4gICAgICBzdHlsZS5yZW1vdmUoKVxuICAgICk7XG4gICAgd2hpbGUgKHRoaXMuX2Rpc3Bvc2FibGVzLmxlbmd0aCkge1xuICAgICAgdGhpcy5fZGlzcG9zYWJsZXMucG9wKCk/LmRpc3Bvc2UoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICB9XG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KHRydWUpO1xuICAgIHRoaXMuX2Rlc3Ryb3kudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBzaG93RnVsbFNjcmVlbkVkaXRvciByZXF1ZXN0IGZvciBmdWxsIHNjcmVlbiBvZiBDb2RlIEVkaXRvciBiYXNlZCBvbiBpdHMgYnJvd3NlciB0eXBlLlxuICAgKi9cbiAgcHVibGljIHNob3dGdWxsU2NyZWVuRWRpdG9yKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jb21wb25lbnRJbml0aWFsaXplZCkge1xuICAgICAgY29uc3QgY29kZUVkaXRvckVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50ID0gdGhpcy5fZWRpdG9yQ29udGFpbmVyXG4gICAgICAgIC5uYXRpdmVFbGVtZW50IGFzIEhUTUxEaXZFbGVtZW50O1xuICAgICAgY29kZUVkaXRvckVsZW1lbnQucmVxdWVzdEZ1bGxzY3JlZW4oKTtcbiAgICB9XG4gICAgdGhpcy5faXNGdWxsU2NyZWVuID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBleGl0RnVsbFNjcmVlbkVkaXRvciByZXF1ZXN0IHRvIGV4aXQgZnVsbCBzY3JlZW4gb2YgQ29kZSBFZGl0b3IgYmFzZWQgb24gaXRzIGJyb3dzZXIgdHlwZS5cbiAgICovXG4gIHB1YmxpYyBleGl0RnVsbFNjcmVlbkVkaXRvcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY29tcG9uZW50SW5pdGlhbGl6ZWQpIHtcbiAgICAgIGRvY3VtZW50LmV4aXRGdWxsc2NyZWVuKCk7XG4gICAgfVxuICAgIHRoaXMuX2lzRnVsbFNjcmVlbiA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIGFkZEZ1bGxTY3JlZW5Nb2RlQ29tbWFuZCB1c2VkIHRvIGFkZCB0aGUgZnVsbHNjcmVlbiBvcHRpb24gdG8gdGhlIGNvbnRleHQgbWVudVxuICAgKi9cbiAgcHJpdmF0ZSBhZGRGdWxsU2NyZWVuTW9kZUNvbW1hbmQoKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzcG9zYWJsZXMucHVzaChcbiAgICAgIHRoaXMuX2VkaXRvci5hZGRBY3Rpb24oe1xuICAgICAgICAvLyBBbiB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgY29udHJpYnV0ZWQgYWN0aW9uLlxuICAgICAgICBpZDogJ2Z1bGxTY3JlZW4nLFxuICAgICAgICAvLyBBIGxhYmVsIG9mIHRoZSBhY3Rpb24gdGhhdCB3aWxsIGJlIHByZXNlbnRlZCB0byB0aGUgdXNlci5cbiAgICAgICAgbGFiZWw6ICdGdWxsIFNjcmVlbicsXG4gICAgICAgIC8vIEFuIG9wdGlvbmFsIGFycmF5IG9mIGtleWJpbmRpbmdzIGZvciB0aGUgYWN0aW9uLlxuICAgICAgICBjb250ZXh0TWVudUdyb3VwSWQ6ICduYXZpZ2F0aW9uJyxcbiAgICAgICAga2V5YmluZGluZ3M6IHRoaXMuX2tleWNvZGUsXG4gICAgICAgIGNvbnRleHRNZW51T3JkZXI6IDEuNSxcbiAgICAgICAgLy8gTWV0aG9kIHRoYXQgd2lsbCBiZSBleGVjdXRlZCB3aGVuIHRoZSBhY3Rpb24gaXMgdHJpZ2dlcmVkLlxuICAgICAgICBydW46ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnNob3dGdWxsU2NyZWVuRWRpdG9yKCk7XG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJlZGl0b3ItY29udGFpbmVyXCIgI2VkaXRvckNvbnRhaW5lcj48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,245 @@
|
|
|
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=
|
|
@@ -6,6 +6,251 @@ import { Subject, of, merge, fromEvent, timer } from 'rxjs';
|
|
|
6
6
|
import { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
7
7
|
import { editor, languages } from 'monaco-editor/esm/vs/editor/editor.api';
|
|
8
8
|
import { mixinControlValueAccessor, mixinDisabled } from '@covalent/core/common';
|
|
9
|
+
import * as tokens from '@covalent/tokens';
|
|
10
|
+
|
|
11
|
+
const covalentThemeName = 'tdaa-lite';
|
|
12
|
+
const covalentThemeConf = {
|
|
13
|
+
base: 'vs',
|
|
14
|
+
inherit: true,
|
|
15
|
+
rules: [
|
|
16
|
+
{ token: '', foreground: '212121', background: 'f5f5f5' },
|
|
17
|
+
{ token: 'invalid', foreground: 'b71c1c' },
|
|
18
|
+
{ token: 'keyword', foreground: '3b78e7' },
|
|
19
|
+
{ token: 'keyword.json', foreground: 'ec407a', fontStyle: 'bold italic' },
|
|
20
|
+
{ token: 'comment', foreground: '0d904f' },
|
|
21
|
+
{ token: 'string.sql', foreground: '0d904f' },
|
|
22
|
+
{ token: 'number', foreground: 'E74C3C' },
|
|
23
|
+
{ token: 'key', foreground: '863B00' },
|
|
24
|
+
{ token: 'string.key.json', foreground: '0d904f' },
|
|
25
|
+
{ token: 'string.value.json', foreground: '0d904f' },
|
|
26
|
+
{ token: 'predefined', foreground: 'ec407a' },
|
|
27
|
+
{ token: 'predefined.sql', foreground: 'ec407a' },
|
|
28
|
+
{ token: 'delimiter', foreground: '000000' },
|
|
29
|
+
{ token: 'delimiter.html', foreground: '383838' },
|
|
30
|
+
{ token: 'delimiter.xml', foreground: '3b78e7' },
|
|
31
|
+
{ token: 'tag', foreground: '3b78e7' },
|
|
32
|
+
{ token: 'tag.id.jade', foreground: '4F76AC' },
|
|
33
|
+
{ token: 'tag.class.jade', foreground: '4F76AC' },
|
|
34
|
+
{ token: 'meta.scss', foreground: '800000' },
|
|
35
|
+
{ token: 'metatag', foreground: 'e00000' },
|
|
36
|
+
{ token: 'metatag.content.html', foreground: 'FF0000' },
|
|
37
|
+
{ token: 'metatag.html', foreground: '808080' },
|
|
38
|
+
{ token: 'metatag.xml', foreground: '808080' },
|
|
39
|
+
{ token: 'metatag.php', fontStyle: 'bold' },
|
|
40
|
+
{ token: 'attribute.name', foreground: '9c27b0' },
|
|
41
|
+
{ token: 'attribute.value', foreground: '0451A5' },
|
|
42
|
+
{ token: 'attribute.value.number', foreground: '09885A' },
|
|
43
|
+
{ token: 'attribute.value.unit', foreground: '09885A' },
|
|
44
|
+
{ token: 'attribute.value.html', foreground: '0000FF' },
|
|
45
|
+
{ token: 'attribute.value.xml', foreground: '0d904f' },
|
|
46
|
+
{ token: 'arbitration-variable', foreground: '006D90' },
|
|
47
|
+
{ token: 'arbitration-variable.invalid', foreground: 'b71c1c' },
|
|
48
|
+
{ token: 'operator.scss', foreground: '666666' },
|
|
49
|
+
{ token: 'operator', foreground: '778899' },
|
|
50
|
+
],
|
|
51
|
+
colors: {
|
|
52
|
+
comment: '388e3c',
|
|
53
|
+
'editor.foreground': 'ff0000',
|
|
54
|
+
'editor.background': '#f5f5f5',
|
|
55
|
+
'editorLineNumber.activeForeground': '#707070',
|
|
56
|
+
'editorLineNumber.foreground': '#b7b7b7',
|
|
57
|
+
'editor.lineHighlightBackground': '#ebebeb',
|
|
58
|
+
'inputValidation.errorBackground': '#b71c1c',
|
|
59
|
+
'inputValidation.errorBorder': 'rgba(229, 115, 115, 0.1)',
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
const getTheme = (theme) => {
|
|
63
|
+
return {
|
|
64
|
+
base: theme === 'Light' ? 'vs' : 'vs-dark',
|
|
65
|
+
inherit: true,
|
|
66
|
+
rules: [
|
|
67
|
+
{
|
|
68
|
+
token: '',
|
|
69
|
+
foreground: tokens[`Cv${theme}CodeSnippetColor`],
|
|
70
|
+
background: tokens[`Cv${theme}Surface`],
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
token: 'arbitration-variable',
|
|
74
|
+
foreground: tokens[`Cv${theme}CodeSnippetVariable`],
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
token: 'arbitration-variable.invalid',
|
|
78
|
+
foreground: tokens[`Cv${theme}Negative`],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
token: 'attribute.name',
|
|
82
|
+
foreground: tokens[`Cv${theme}CodeSnippetVariable`],
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
token: 'attribute.value',
|
|
86
|
+
foreground: tokens[`Cv${theme}CodeSnippetVariable`],
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
token: 'attribute.value.number',
|
|
90
|
+
foreground: tokens[`Cv${theme}CodeSnippetVariable`],
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
token: 'attribute.value.unit',
|
|
94
|
+
foreground: tokens[`Cv${theme}CodeSnippetVariable`],
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
token: 'attribute.value.html',
|
|
98
|
+
foreground: tokens[`Cv${theme}CodeSnippetString`],
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
token: 'attribute.value.xml',
|
|
102
|
+
foreground: tokens[`Cv${theme}CodeSnippetLiteral`],
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
token: 'builtins',
|
|
106
|
+
foreground: tokens[`Cv${theme}CodeSnippetClass`],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
token: 'class',
|
|
110
|
+
foreground: tokens[`Cv${theme}CodeSnippetClass`],
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
token: 'comment',
|
|
114
|
+
foreground: tokens[`Cv${theme}CodeSnippetComment`],
|
|
115
|
+
fontStyle: 'italic',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
token: 'constant',
|
|
119
|
+
foreground: tokens[`Cv${theme}CodeSnippetLiteral`],
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
token: 'delimiter',
|
|
123
|
+
foreground: tokens[`CvTheme${theme}ColorsOnSurface`],
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
token: 'delimiter.html',
|
|
127
|
+
foreground: tokens[`Cv${theme}CodeSnippetSelector`],
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
token: 'delimiter.xml',
|
|
131
|
+
foreground: tokens[`Cv${theme}CodeSnippetSelector`],
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
token: 'doctag',
|
|
135
|
+
foreground: tokens[`Cv${theme}CodeSnippetKeyword`],
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
token: 'emphasis',
|
|
139
|
+
fontStyle: 'italic',
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
token: 'formula',
|
|
143
|
+
foreground: tokens[`Cv${theme}CodeSnippetKeyword`],
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
token: 'function',
|
|
147
|
+
foreground: tokens[`Cv${theme}CodeSnippetTitle`],
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
token: 'invalid',
|
|
151
|
+
foreground: tokens[`Cv${theme}Negative`],
|
|
152
|
+
},
|
|
153
|
+
{ token: 'key', foreground: tokens[`Cv${theme}CodeSnippetString`] },
|
|
154
|
+
{
|
|
155
|
+
token: 'keyword',
|
|
156
|
+
foreground: tokens[`Cv${theme}CodeSnippetKeyword`],
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
token: 'keyword.json',
|
|
160
|
+
foreground: tokens[`Cv${theme}CodeSnippetTitle`],
|
|
161
|
+
fontStyle: 'bold italic',
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
token: 'link',
|
|
165
|
+
foreground: tokens[`Cv${theme}CodeSnippetTitle`],
|
|
166
|
+
fontStyle: 'underline',
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
token: 'literal',
|
|
170
|
+
foreground: tokens[`Cv${theme}CodeSnippetLiteral`],
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
token: 'meta',
|
|
174
|
+
foreground: tokens[`Cv${theme}CodeSnippetTitle`],
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
token: 'number',
|
|
178
|
+
foreground: tokens[`Cv${theme}CodeSnippetVariable`],
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
token: 'operator',
|
|
182
|
+
foreground: tokens[`Cv${theme}CodeSnippetLiteral`],
|
|
183
|
+
},
|
|
184
|
+
{ token: 'predefined', foreground: tokens[`Cv${theme}CodeSnippetTitle`] },
|
|
185
|
+
{
|
|
186
|
+
token: 'predefined.sql',
|
|
187
|
+
foreground: tokens[`Cv${theme}CodeSnippetTitle`],
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
token: 'predefined.python',
|
|
191
|
+
foreground: tokens[`Cv${theme}CodeSnippetClass`],
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
token: 'punctuation',
|
|
195
|
+
foreground: tokens[`Cv${theme}CodeSnippetColor`],
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
token: 'string',
|
|
199
|
+
foreground: tokens[`Cv${theme}CodeSnippetString`],
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
token: 'string.sql',
|
|
203
|
+
foreground: tokens[`Cv${theme}CodeSnippetString`],
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
token: 'string.key.json',
|
|
207
|
+
foreground: tokens[`Cv${theme}CodeSnippetString`],
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
token: 'string.value.json',
|
|
211
|
+
foreground: tokens[`Cv${theme}CodeSnippetString`],
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
token: 'strong',
|
|
215
|
+
fontStyle: 'bold',
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
token: 'tag',
|
|
219
|
+
foreground: tokens[`Cv${theme}CodeSnippetSelector`],
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
token: 'tag.id.jade',
|
|
223
|
+
foreground: tokens[`Cv${theme}CodeSnippetClass`],
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
token: 'tag.class.jade',
|
|
227
|
+
foreground: tokens[`Cv${theme}CodeSnippetClass`],
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
token: 'type',
|
|
231
|
+
foreground: tokens[`Cv${theme}CodeSnippetClass`],
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
token: 'variable',
|
|
235
|
+
foreground: tokens[`Cv${theme}CodeSnippetVariable`],
|
|
236
|
+
},
|
|
237
|
+
],
|
|
238
|
+
colors: {
|
|
239
|
+
comment: tokens[`Cv${theme}CodeSnippetComment`],
|
|
240
|
+
'editor.background': tokens[`Cv${theme}Surface`],
|
|
241
|
+
'editor.foreground': tokens[`CvTheme${theme}ColorsOnSurface`],
|
|
242
|
+
'editorCursor.foreground': tokens[`Cv${theme}TextSecondaryOnBackground`],
|
|
243
|
+
'editorLineNumber.activeForeground': tokens[`CvTheme${theme}ColorsOnSurface74`],
|
|
244
|
+
'editorLineNumber.foreground': tokens[`CvTheme${theme}ColorsOnSurface38`],
|
|
245
|
+
'editor.lineHighlightBackground': tokens[`CvTheme${theme}ColorsSurfaceContainerLow`],
|
|
246
|
+
'inputValidation.errorBackground': tokens[`Cv${theme}Negative`],
|
|
247
|
+
'inputValidation.errorBorder': tokens[`CvTheme${theme}PalettesNegative95`],
|
|
248
|
+
},
|
|
249
|
+
};
|
|
250
|
+
};
|
|
251
|
+
// Any changes to these themes should also be reflected in the components/code-editor theme.
|
|
252
|
+
const cvEditorDarkTheme = getTheme('Dark');
|
|
253
|
+
const cvEditorLightTheme = getTheme('Light');
|
|
9
254
|
|
|
10
255
|
const noop = () => {
|
|
11
256
|
// empty method
|
|
@@ -28,7 +273,7 @@ class TdCodeEditorComponent extends _TdCodeEditorMixinBase {
|
|
|
28
273
|
_heightSubject = new Subject();
|
|
29
274
|
_editorStyle = 'width:100%;height:100%;';
|
|
30
275
|
_value = '';
|
|
31
|
-
_theme = '
|
|
276
|
+
_theme = 'cv-light';
|
|
32
277
|
_language = 'javascript';
|
|
33
278
|
_subject = new Subject();
|
|
34
279
|
_editorInnerContainer = 'editorInnerContainer' + uniqueCounter++;
|
|
@@ -239,6 +484,9 @@ class TdCodeEditorComponent extends _TdCodeEditorMixinBase {
|
|
|
239
484
|
}
|
|
240
485
|
const containerDiv = this._editorContainer.nativeElement;
|
|
241
486
|
containerDiv.id = this._editorInnerContainer;
|
|
487
|
+
// Add teradata branded themes
|
|
488
|
+
editor.defineTheme('cv-light', cvEditorLightTheme);
|
|
489
|
+
editor.defineTheme('cv-dark', cvEditorDarkTheme);
|
|
242
490
|
this._editor = editor.create(containerDiv, Object.assign({
|
|
243
491
|
value: this._value,
|
|
244
492
|
language: this.language,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"covalent-code-editor.mjs","sources":["../../../../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 {\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 { editor, languages, IDisposable } from 'monaco-editor/esm/vs/editor/editor.api';\n\nimport {\n mixinControlValueAccessor,\n mixinDisabled,\n} from '@covalent/core/common';\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 = 'vs';\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 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';\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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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
export declare const covalentThemeName = "tdaa-lite";
|
|
2
|
+
export declare const covalentThemeConf: {
|
|
3
|
+
base: string;
|
|
4
|
+
inherit: boolean;
|
|
5
|
+
rules: ({
|
|
6
|
+
token: string;
|
|
7
|
+
foreground: string;
|
|
8
|
+
background: string;
|
|
9
|
+
fontStyle?: undefined;
|
|
10
|
+
} | {
|
|
11
|
+
token: string;
|
|
12
|
+
foreground: string;
|
|
13
|
+
background?: undefined;
|
|
14
|
+
fontStyle?: undefined;
|
|
15
|
+
} | {
|
|
16
|
+
token: string;
|
|
17
|
+
foreground: string;
|
|
18
|
+
fontStyle: string;
|
|
19
|
+
background?: undefined;
|
|
20
|
+
} | {
|
|
21
|
+
token: string;
|
|
22
|
+
fontStyle: string;
|
|
23
|
+
foreground?: undefined;
|
|
24
|
+
background?: undefined;
|
|
25
|
+
})[];
|
|
26
|
+
colors: {
|
|
27
|
+
comment: string;
|
|
28
|
+
'editor.foreground': string;
|
|
29
|
+
'editor.background': string;
|
|
30
|
+
'editorLineNumber.activeForeground': string;
|
|
31
|
+
'editorLineNumber.foreground': string;
|
|
32
|
+
'editor.lineHighlightBackground': string;
|
|
33
|
+
'inputValidation.errorBackground': string;
|
|
34
|
+
'inputValidation.errorBorder': string;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
export declare const cvEditorDarkTheme: {
|
|
38
|
+
base: string;
|
|
39
|
+
inherit: boolean;
|
|
40
|
+
rules: ({
|
|
41
|
+
token: string;
|
|
42
|
+
foreground: string;
|
|
43
|
+
background: string;
|
|
44
|
+
fontStyle?: undefined;
|
|
45
|
+
} | {
|
|
46
|
+
token: string;
|
|
47
|
+
foreground: string;
|
|
48
|
+
background?: undefined;
|
|
49
|
+
fontStyle?: undefined;
|
|
50
|
+
} | {
|
|
51
|
+
token: string;
|
|
52
|
+
foreground: string;
|
|
53
|
+
fontStyle: string;
|
|
54
|
+
background?: undefined;
|
|
55
|
+
} | {
|
|
56
|
+
token: string;
|
|
57
|
+
fontStyle: string;
|
|
58
|
+
foreground?: undefined;
|
|
59
|
+
background?: undefined;
|
|
60
|
+
})[];
|
|
61
|
+
colors: {
|
|
62
|
+
comment: string;
|
|
63
|
+
'editor.background': string;
|
|
64
|
+
'editor.foreground': string;
|
|
65
|
+
'editorCursor.foreground': string;
|
|
66
|
+
'editorLineNumber.activeForeground': string;
|
|
67
|
+
'editorLineNumber.foreground': string;
|
|
68
|
+
'editor.lineHighlightBackground': string;
|
|
69
|
+
'inputValidation.errorBackground': string;
|
|
70
|
+
'inputValidation.errorBorder': string;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
export declare const cvEditorLightTheme: {
|
|
74
|
+
base: string;
|
|
75
|
+
inherit: boolean;
|
|
76
|
+
rules: ({
|
|
77
|
+
token: string;
|
|
78
|
+
foreground: string;
|
|
79
|
+
background: string;
|
|
80
|
+
fontStyle?: undefined;
|
|
81
|
+
} | {
|
|
82
|
+
token: string;
|
|
83
|
+
foreground: string;
|
|
84
|
+
background?: undefined;
|
|
85
|
+
fontStyle?: undefined;
|
|
86
|
+
} | {
|
|
87
|
+
token: string;
|
|
88
|
+
foreground: string;
|
|
89
|
+
fontStyle: string;
|
|
90
|
+
background?: undefined;
|
|
91
|
+
} | {
|
|
92
|
+
token: string;
|
|
93
|
+
fontStyle: string;
|
|
94
|
+
foreground?: undefined;
|
|
95
|
+
background?: undefined;
|
|
96
|
+
})[];
|
|
97
|
+
colors: {
|
|
98
|
+
comment: string;
|
|
99
|
+
'editor.background': string;
|
|
100
|
+
'editor.foreground': string;
|
|
101
|
+
'editorCursor.foreground': string;
|
|
102
|
+
'editorLineNumber.activeForeground': string;
|
|
103
|
+
'editorLineNumber.foreground': string;
|
|
104
|
+
'editor.lineHighlightBackground': string;
|
|
105
|
+
'inputValidation.errorBackground': string;
|
|
106
|
+
'inputValidation.errorBorder': string;
|
|
107
|
+
};
|
|
108
|
+
};
|