@firestitch/text-editor 12.3.0 → 12.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/app/components/text-editor/text-editor.component.d.ts +37 -37
  2. package/app/fs-text-editor.module.d.ts +13 -13
  3. package/app/interfaces/config.interface.d.ts +4 -4
  4. package/app/modules/ngx-monaco-editor/base-editor.d.ts +18 -0
  5. package/app/modules/ngx-monaco-editor/config.d.ts +9 -0
  6. package/app/modules/ngx-monaco-editor/diff-editor.component.d.ts +17 -0
  7. package/app/modules/ngx-monaco-editor/editor.component.d.ts +23 -0
  8. package/app/modules/ngx-monaco-editor/editor.module.d.ts +12 -0
  9. package/app/modules/ngx-monaco-editor/types.d.ts +9 -0
  10. package/bundles/firestitch-text-editor.umd.js +1020 -225
  11. package/bundles/firestitch-text-editor.umd.js.map +1 -1
  12. package/esm2015/app/components/text-editor/text-editor.component.js +150 -150
  13. package/esm2015/app/fs-text-editor.module.js +43 -43
  14. package/esm2015/app/interfaces/config.interface.js +1 -1
  15. package/esm2015/app/modules/ngx-monaco-editor/base-editor.js +77 -0
  16. package/esm2015/app/modules/ngx-monaco-editor/config.js +3 -0
  17. package/esm2015/app/modules/ngx-monaco-editor/diff-editor.component.js +91 -0
  18. package/esm2015/app/modules/ngx-monaco-editor/editor.component.js +121 -0
  19. package/esm2015/app/modules/ngx-monaco-editor/editor.module.js +40 -0
  20. package/esm2015/app/modules/ngx-monaco-editor/types.js +2 -0
  21. package/esm2015/firestitch-text-editor.js +4 -4
  22. package/esm2015/public_api.js +5 -5
  23. package/fesm2015/firestitch-text-editor.js +491 -181
  24. package/fesm2015/firestitch-text-editor.js.map +1 -1
  25. package/firestitch-text-editor.d.ts +5 -5
  26. package/package.json +2 -11
  27. package/public_api.d.ts +3 -3
@@ -1,43 +1,43 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule } from '@angular/forms';
4
- import { MonacoEditorModule } from 'ngx-monaco-editor';
5
- import { FsTextEditorComponent } from './components/text-editor/text-editor.component';
6
- import * as i0 from "@angular/core";
7
- export class FsTextEditorModule {
8
- static forRoot(config) {
9
- return {
10
- ngModule: FsTextEditorModule,
11
- providers: [
12
- MonacoEditorModule.forRoot(config).providers,
13
- ],
14
- };
15
- }
16
- }
17
- FsTextEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTextEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
- FsTextEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTextEditorModule, declarations: [FsTextEditorComponent], imports: [CommonModule,
19
- MonacoEditorModule,
20
- FormsModule], exports: [FsTextEditorComponent] });
21
- FsTextEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTextEditorModule, imports: [[
22
- CommonModule,
23
- MonacoEditorModule,
24
- FormsModule,
25
- ]] });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTextEditorModule, decorators: [{
27
- type: NgModule,
28
- args: [{
29
- imports: [
30
- CommonModule,
31
- MonacoEditorModule,
32
- FormsModule,
33
- ],
34
- exports: [
35
- FsTextEditorComponent,
36
- ],
37
- entryComponents: [],
38
- declarations: [
39
- FsTextEditorComponent,
40
- ]
41
- }]
42
- }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtdGV4dC1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9mcy10ZXh0LWVkaXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQXlCLE1BQU0sbUJBQW1CLENBQUM7QUFDOUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7O0FBa0J2RixNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBOEI7UUFDM0MsT0FBTztZQUNMLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsU0FBUyxFQUFFO2dCQUNULGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTO2FBQzdDO1NBQ0YsQ0FBQztJQUNKLENBQUM7O2dIQVJVLGtCQUFrQjtpSEFBbEIsa0JBQWtCLGlCQUgzQixxQkFBcUIsYUFWckIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixXQUFXLGFBR1gscUJBQXFCO2lIQVFaLGtCQUFrQixZQWRwQjtZQUNQLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsV0FBVztTQUNaOzRGQVVVLGtCQUFrQjtrQkFmOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLFdBQVc7cUJBQ1o7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHFCQUFxQjtxQkFDdEI7b0JBQ0QsZUFBZSxFQUFFLEVBQ2hCO29CQUNELFlBQVksRUFBRTt3QkFDWixxQkFBcUI7cUJBQ3RCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTW9uYWNvRWRpdG9yTW9kdWxlLCBOZ3hNb25hY29FZGl0b3JDb25maWcgfSBmcm9tICduZ3gtbW9uYWNvLWVkaXRvcic7XG5pbXBvcnQgeyBGc1RleHRFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50JztcblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1vbmFjb0VkaXRvck1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEZzVGV4dEVkaXRvckNvbXBvbmVudCxcbiAgXSxcbiAgZW50cnlDb21wb25lbnRzOiBbXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZzVGV4dEVkaXRvckNvbXBvbmVudCxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGc1RleHRFZGl0b3JNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBOZ3hNb25hY29FZGl0b3JDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEZzVGV4dEVkaXRvck1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRnNUZXh0RWRpdG9yTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIE1vbmFjb0VkaXRvck1vZHVsZS5mb3JSb290KGNvbmZpZykucHJvdmlkZXJzLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { FsTextEditorComponent } from './components/text-editor/text-editor.component';
5
+ import { MonacoEditorModule } from './modules/ngx-monaco-editor/editor.module';
6
+ import * as i0 from "@angular/core";
7
+ export class FsTextEditorModule {
8
+ static forRoot(config) {
9
+ return {
10
+ ngModule: FsTextEditorModule,
11
+ providers: [
12
+ MonacoEditorModule.forRoot(config).providers,
13
+ ],
14
+ };
15
+ }
16
+ }
17
+ FsTextEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FsTextEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
+ FsTextEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FsTextEditorModule, declarations: [FsTextEditorComponent], imports: [CommonModule,
19
+ MonacoEditorModule,
20
+ FormsModule], exports: [FsTextEditorComponent] });
21
+ FsTextEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FsTextEditorModule, imports: [[
22
+ CommonModule,
23
+ MonacoEditorModule,
24
+ FormsModule,
25
+ ]] });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FsTextEditorModule, decorators: [{
27
+ type: NgModule,
28
+ args: [{
29
+ imports: [
30
+ CommonModule,
31
+ MonacoEditorModule,
32
+ FormsModule,
33
+ ],
34
+ exports: [
35
+ FsTextEditorComponent,
36
+ ],
37
+ entryComponents: [],
38
+ declarations: [
39
+ FsTextEditorComponent,
40
+ ]
41
+ }]
42
+ }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtdGV4dC1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9mcy10ZXh0LWVkaXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7QUFtQi9FLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUE4QjtRQUMzQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUU7Z0JBQ1Qsa0JBQWtCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVM7YUFDN0M7U0FDRixDQUFDO0lBQ0osQ0FBQzs7Z0hBUlUsa0JBQWtCO2lIQUFsQixrQkFBa0IsaUJBSDNCLHFCQUFxQixhQVZyQixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLFdBQVcsYUFHWCxxQkFBcUI7aUhBUVosa0JBQWtCLFlBZHBCO1lBQ1AsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixXQUFXO1NBQ1o7NEZBVVUsa0JBQWtCO2tCQWY5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsV0FBVztxQkFDWjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AscUJBQXFCO3FCQUN0QjtvQkFDRCxlQUFlLEVBQUUsRUFDaEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjtxQkFDdEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBGc1RleHRFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IE1vbmFjb0VkaXRvck1vZHVsZSB9IGZyb20gJy4vbW9kdWxlcy9uZ3gtbW9uYWNvLWVkaXRvci9lZGl0b3IubW9kdWxlJztcbmltcG9ydCB7IE5neE1vbmFjb0VkaXRvckNvbmZpZyB9IGZyb20gJy4vbW9kdWxlcy9uZ3gtbW9uYWNvLWVkaXRvci9jb25maWcnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTW9uYWNvRWRpdG9yTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRnNUZXh0RWRpdG9yQ29tcG9uZW50LFxuICBdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRnNUZXh0RWRpdG9yQ29tcG9uZW50LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZzVGV4dEVkaXRvck1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IE5neE1vbmFjb0VkaXRvckNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RnNUZXh0RWRpdG9yTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBGc1RleHRFZGl0b3JNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTW9uYWNvRWRpdG9yTW9kdWxlLmZvclJvb3QoY29uZmlnKS5wcm92aWRlcnMsXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlZGl0b3IgfSBmcm9tICdtb25hY28tZWRpdG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBGc1RleHRFZGl0b3JDb25maWcgZXh0ZW5kcyBlZGl0b3IuSVN0YW5kYWxvbmVFZGl0b3JDb25zdHJ1Y3Rpb25PcHRpb25zIHtcbiAgYXV0b0hlaWdodD86IGJvb2xlYW5cbn1cbiJdfQ==
@@ -0,0 +1,77 @@
1
+ import { Component, ElementRef, EventEmitter, Inject, Output, ViewChild } from '@angular/core';
2
+ import { NGX_MONACO_EDITOR_CONFIG } from './config';
3
+ import * as i0 from "@angular/core";
4
+ let loadedMonaco = false;
5
+ let loadPromise;
6
+ export class BaseEditor {
7
+ constructor(config) {
8
+ this.config = config;
9
+ this.onInit = new EventEmitter();
10
+ }
11
+ ngAfterViewInit() {
12
+ if (loadedMonaco) {
13
+ // Wait until monaco editor is available
14
+ loadPromise.then(() => {
15
+ this.initMonaco(this._options);
16
+ });
17
+ }
18
+ else {
19
+ loadedMonaco = true;
20
+ loadPromise = new Promise((resolve) => {
21
+ const baseUrl = (this.config.baseUrl || './assets') + '/monaco-editor/min/vs';
22
+ if (typeof (window.monaco) === 'object') {
23
+ resolve();
24
+ return;
25
+ }
26
+ const onGotAmdLoader = () => {
27
+ // Load monaco
28
+ window.require.config({ paths: { 'vs': `${baseUrl}` } });
29
+ window.require([`vs/editor/editor.main`], () => {
30
+ if (typeof this.config.onMonacoLoad === 'function') {
31
+ this.config.onMonacoLoad();
32
+ }
33
+ this.initMonaco(this._options);
34
+ resolve();
35
+ });
36
+ };
37
+ // Load AMD loader if necessary
38
+ if (!window.require) {
39
+ const loaderScript = document.createElement('script');
40
+ loaderScript.type = 'text/javascript';
41
+ loaderScript.src = `${baseUrl}/loader.js`;
42
+ loaderScript.addEventListener('load', onGotAmdLoader);
43
+ document.body.appendChild(loaderScript);
44
+ }
45
+ else {
46
+ onGotAmdLoader();
47
+ }
48
+ });
49
+ }
50
+ }
51
+ ngOnDestroy() {
52
+ if (this._windowResizeSubscription) {
53
+ this._windowResizeSubscription.unsubscribe();
54
+ }
55
+ if (this._editor) {
56
+ this._editor.dispose();
57
+ this._editor = undefined;
58
+ }
59
+ }
60
+ }
61
+ BaseEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseEditor, deps: [{ token: NGX_MONACO_EDITOR_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
62
+ BaseEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BaseEditor, selector: "ng-component", outputs: { onInit: "onInit" }, viewQueries: [{ propertyName: "_editorContainer", first: true, predicate: ["editorContainer"], descendants: true, static: true }], ngImport: i0, template: '', isInline: true });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseEditor, decorators: [{
64
+ type: Component,
65
+ args: [{
66
+ template: ''
67
+ }]
68
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
69
+ type: Inject,
70
+ args: [NGX_MONACO_EDITOR_CONFIG]
71
+ }] }]; }, propDecorators: { _editorContainer: [{
72
+ type: ViewChild,
73
+ args: ['editorContainer', { static: true }]
74
+ }], onInit: [{
75
+ type: Output
76
+ }] } });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvbmd4LW1vbmFjby1lZGl0b3IvYmFzZS1lZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQWEsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6SCxPQUFPLEVBQUUsd0JBQXdCLEVBQXlCLE1BQU0sVUFBVSxDQUFDOztBQUUzRSxJQUFJLFlBQVksR0FBRyxLQUFLLENBQUM7QUFDekIsSUFBSSxXQUEwQixDQUFDO0FBSy9CLE1BQU0sT0FBZ0IsVUFBVTtJQU85QixZQUF3RCxNQUE2QjtRQUE3QixXQUFNLEdBQU4sTUFBTSxDQUF1QjtRQUwzRSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUs2QyxDQUFDO0lBRXpGLGVBQWU7UUFDYixJQUFJLFlBQVksRUFBRTtZQUNoQix3Q0FBd0M7WUFDeEMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsV0FBVyxHQUFHLElBQUksT0FBTyxDQUFPLENBQUMsT0FBWSxFQUFFLEVBQUU7Z0JBQy9DLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksVUFBVSxDQUFDLEdBQUcsdUJBQXVCLENBQUM7Z0JBQzlFLElBQUksT0FBTyxDQUFPLE1BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxRQUFRLEVBQUU7b0JBQzlDLE9BQU8sRUFBRSxDQUFDO29CQUNWLE9BQU87aUJBQ1I7Z0JBQ0QsTUFBTSxjQUFjLEdBQVEsR0FBRyxFQUFFO29CQUMvQixjQUFjO29CQUNSLE1BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQzFELE1BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLEdBQUcsRUFBRTt3QkFDcEQsSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxLQUFLLFVBQVUsRUFBRTs0QkFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQzt5QkFDNUI7d0JBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQy9CLE9BQU8sRUFBRSxDQUFDO29CQUNaLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQztnQkFFRiwrQkFBK0I7Z0JBQy9CLElBQUksQ0FBTyxNQUFPLENBQUMsT0FBTyxFQUFFO29CQUMxQixNQUFNLFlBQVksR0FBc0IsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDekUsWUFBWSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQztvQkFDdEMsWUFBWSxDQUFDLEdBQUcsR0FBRyxHQUFHLE9BQU8sWUFBWSxDQUFDO29CQUMxQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO29CQUN0RCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztpQkFDekM7cUJBQU07b0JBQ0wsY0FBYyxFQUFFLENBQUM7aUJBQ2xCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFJRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUU7WUFDbEMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzlDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7U0FDMUI7SUFDSCxDQUFDOzt3R0EzRG1CLFVBQVUsa0JBT1Ysd0JBQXdCOzRGQVB4QixVQUFVLHNOQUZwQixFQUFFOzRGQUVRLFVBQVU7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7OzBCQVFjLE1BQU07MkJBQUMsd0JBQXdCOzRDQU5JLGdCQUFnQjtzQkFBL0QsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ3BDLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIE9uRGVzdHJveSwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTkdYX01PTkFDT19FRElUT1JfQ09ORklHLCBOZ3hNb25hY29FZGl0b3JDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XG5cbmxldCBsb2FkZWRNb25hY28gPSBmYWxzZTtcbmxldCBsb2FkUHJvbWlzZTogUHJvbWlzZTx2b2lkPjtcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRWRpdG9yIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnZWRpdG9yQ29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSkgX2VkaXRvckNvbnRhaW5lcjogRWxlbWVudFJlZjtcbiAgQE91dHB1dCgpIG9uSW5pdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBwcm90ZWN0ZWQgX2VkaXRvcjogYW55O1xuICBwcm90ZWN0ZWQgX29wdGlvbnM6IGFueTtcbiAgcHJvdGVjdGVkIF93aW5kb3dSZXNpemVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE5HWF9NT05BQ09fRURJVE9SX0NPTkZJRykgcHJvdGVjdGVkIGNvbmZpZzogTmd4TW9uYWNvRWRpdG9yQ29uZmlnKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAobG9hZGVkTW9uYWNvKSB7XG4gICAgICAvLyBXYWl0IHVudGlsIG1vbmFjbyBlZGl0b3IgaXMgYXZhaWxhYmxlXG4gICAgICBsb2FkUHJvbWlzZS50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5pbml0TW9uYWNvKHRoaXMuX29wdGlvbnMpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvYWRlZE1vbmFjbyA9IHRydWU7XG4gICAgICBsb2FkUHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgYmFzZVVybCA9ICh0aGlzLmNvbmZpZy5iYXNlVXJsIHx8ICcuL2Fzc2V0cycpICsgJy9tb25hY28tZWRpdG9yL21pbi92cyc7XG4gICAgICAgIGlmICh0eXBlb2YgKCg8YW55PndpbmRvdykubW9uYWNvKSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9uR290QW1kTG9hZGVyOiBhbnkgPSAoKSA9PiB7XG4gICAgICAgICAgLy8gTG9hZCBtb25hY29cbiAgICAgICAgICAoPGFueT53aW5kb3cpLnJlcXVpcmUuY29uZmlnKHsgcGF0aHM6IHsgJ3ZzJzogYCR7YmFzZVVybH1gIH0gfSk7XG4gICAgICAgICAgKDxhbnk+d2luZG93KS5yZXF1aXJlKFtgdnMvZWRpdG9yL2VkaXRvci5tYWluYF0sICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcub25Nb25hY29Mb2FkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgIHRoaXMuY29uZmlnLm9uTW9uYWNvTG9hZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pbml0TW9uYWNvKHRoaXMuX29wdGlvbnMpO1xuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIExvYWQgQU1EIGxvYWRlciBpZiBuZWNlc3NhcnlcbiAgICAgICAgaWYgKCEoPGFueT53aW5kb3cpLnJlcXVpcmUpIHtcbiAgICAgICAgICBjb25zdCBsb2FkZXJTY3JpcHQ6IEhUTUxTY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgICAgbG9hZGVyU2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICAgICAgICBsb2FkZXJTY3JpcHQuc3JjID0gYCR7YmFzZVVybH0vbG9hZGVyLmpzYDtcbiAgICAgICAgICBsb2FkZXJTY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIG9uR290QW1kTG9hZGVyKTtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxvYWRlclNjcmlwdCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb25Hb3RBbWRMb2FkZXIoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGluaXRNb25hY28ob3B0aW9uczogYW55KTogdm9pZDtcblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLl93aW5kb3dSZXNpemVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuX2VkaXRvciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const NGX_MONACO_EDITOR_CONFIG = new InjectionToken('NGX_MONACO_EDITOR_CONFIG');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL25neC1tb25hY28tZWRpdG9yL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUFDLDBCQUEwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgTkdYX01PTkFDT19FRElUT1JfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuKCdOR1hfTU9OQUNPX0VESVRPUl9DT05GSUcnKTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3hNb25hY29FZGl0b3JDb25maWcge1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICBkZWZhdWx0T3B0aW9ucz86IHsgW2tleTogc3RyaW5nXTogYW55OyB9O1xuICBvbk1vbmFjb0xvYWQ/OiBGdW5jdGlvbjtcbn1cbiJdfQ==
@@ -0,0 +1,91 @@
1
+ import { Component, Inject, Input } from '@angular/core';
2
+ import { fromEvent } from 'rxjs';
3
+ import { BaseEditor } from './base-editor';
4
+ import { NGX_MONACO_EDITOR_CONFIG } from './config';
5
+ import * as i0 from "@angular/core";
6
+ export class DiffEditorComponent extends BaseEditor {
7
+ constructor(editorConfig) {
8
+ super(editorConfig);
9
+ this.editorConfig = editorConfig;
10
+ }
11
+ set options(options) {
12
+ this._options = Object.assign({}, this.config.defaultOptions, options);
13
+ if (this._editor) {
14
+ this._editor.dispose();
15
+ this.initMonaco(options);
16
+ }
17
+ }
18
+ get options() {
19
+ return this._options;
20
+ }
21
+ set originalModel(model) {
22
+ this._originalModel = model;
23
+ if (this._editor) {
24
+ this._editor.dispose();
25
+ this.initMonaco(this.options);
26
+ }
27
+ }
28
+ set modifiedModel(model) {
29
+ this._modifiedModel = model;
30
+ if (this._editor) {
31
+ this._editor.dispose();
32
+ this.initMonaco(this.options);
33
+ }
34
+ }
35
+ initMonaco(options) {
36
+ if (!this._originalModel || !this._modifiedModel) {
37
+ throw new Error('originalModel or modifiedModel not found for ngx-monaco-diff-editor');
38
+ }
39
+ this._originalModel.language = this._originalModel.language || options.language;
40
+ this._modifiedModel.language = this._modifiedModel.language || options.language;
41
+ let originalModel = monaco.editor.createModel(this._originalModel.code, this._originalModel.language);
42
+ let modifiedModel = monaco.editor.createModel(this._modifiedModel.code, this._modifiedModel.language);
43
+ this._editorContainer.nativeElement.innerHTML = '';
44
+ const theme = options.theme;
45
+ this._editor = monaco.editor.createDiffEditor(this._editorContainer.nativeElement, options);
46
+ options.theme = theme;
47
+ this._editor.setModel({
48
+ original: originalModel,
49
+ modified: modifiedModel
50
+ });
51
+ // refresh layout on resize event.
52
+ if (this._windowResizeSubscription) {
53
+ this._windowResizeSubscription.unsubscribe();
54
+ }
55
+ this._windowResizeSubscription = fromEvent(window, 'resize').subscribe(() => this._editor.layout());
56
+ this.onInit.emit(this._editor);
57
+ }
58
+ }
59
+ DiffEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiffEditorComponent, deps: [{ token: NGX_MONACO_EDITOR_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
60
+ DiffEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DiffEditorComponent, selector: "ngx-monaco-diff-editor", inputs: { options: "options", originalModel: "originalModel", modifiedModel: "modifiedModel" }, usesInheritance: true, ngImport: i0, template: '<div class="editor-container" #editorContainer></div>', isInline: true, styles: ["\n :host {\n display: block;\n height: 200px;\n }\n\n .editor-container {\n width: 100%;\n height: 98%;\n }\n "] });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiffEditorComponent, decorators: [{
62
+ type: Component,
63
+ args: [{
64
+ selector: 'ngx-monaco-diff-editor',
65
+ template: '<div class="editor-container" #editorContainer></div>',
66
+ styles: [`
67
+ :host {
68
+ display: block;
69
+ height: 200px;
70
+ }
71
+
72
+ .editor-container {
73
+ width: 100%;
74
+ height: 98%;
75
+ }
76
+ `]
77
+ }]
78
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
79
+ type: Inject,
80
+ args: [NGX_MONACO_EDITOR_CONFIG]
81
+ }] }]; }, propDecorators: { options: [{
82
+ type: Input,
83
+ args: ['options']
84
+ }], originalModel: [{
85
+ type: Input,
86
+ args: ['originalModel']
87
+ }], modifiedModel: [{
88
+ type: Input,
89
+ args: ['modifiedModel']
90
+ }] } });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZi1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL25neC1tb25hY28tZWRpdG9yL2RpZmYtZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBeUIsTUFBTSxVQUFVLENBQUM7O0FBb0IzRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsVUFBVTtJQW9DakQsWUFBc0QsWUFBbUM7UUFDdkYsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRGdDLGlCQUFZLEdBQVosWUFBWSxDQUF1QjtJQUV6RixDQUFDO0lBakNELElBQ0ksT0FBTyxDQUFDLE9BQVk7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN2RSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDSSxhQUFhLENBQUMsS0FBc0I7UUFDdEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUks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IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEJhc2VFZGl0b3IgfSBmcm9tICcuL2Jhc2UtZWRpdG9yJztcbmltcG9ydCB7IE5HWF9NT05BQ09fRURJVE9SX0NPTkZJRywgTmd4TW9uYWNvRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgRGlmZkVkaXRvck1vZGVsIH0gZnJvbSAnLi90eXBlcyc7XG5cbmRlY2xhcmUgdmFyIG1vbmFjbzogYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtbW9uYWNvLWRpZmYtZWRpdG9yJyxcbiAgdGVtcGxhdGU6ICc8ZGl2IGNsYXNzPVwiZWRpdG9yLWNvbnRhaW5lclwiICNlZGl0b3JDb250YWluZXI+PC9kaXY+JyxcbiAgc3R5bGVzOiBbYFxuICAgIDpob3N0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICB9XG5cbiAgICAuZWRpdG9yLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogOTglO1xuICAgIH1cbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgRGlmZkVkaXRvckNvbXBvbmVudCBleHRlbmRzIEJhc2VFZGl0b3Ige1xuXG4gIF9vcmlnaW5hbE1vZGVsOiBEaWZmRWRpdG9yTW9kZWw7XG4gIF9tb2RpZmllZE1vZGVsOiBEaWZmRWRpdG9yTW9kZWw7XG5cbiAgQElucHV0KCdvcHRpb25zJylcbiAgc2V0IG9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgdGhpcy5fb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zLCBvcHRpb25zKTtcbiAgICBpZiAodGhpcy5fZWRpdG9yKSB7XG4gICAgICB0aGlzLl9lZGl0b3IuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5pbml0TW9uYWNvKG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBvcHRpb25zKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XG4gIH1cblxuICBASW5wdXQoJ29yaWdpbmFsTW9kZWwnKVxuICBzZXQgb3JpZ2luYWxNb2RlbChtb2RlbDogRGlmZkVkaXRvck1vZGVsKSB7XG4gICAgdGhpcy5fb3JpZ2luYWxNb2RlbCA9IG1vZGVsO1xuICAgIGlmICh0aGlzLl9lZGl0b3IpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5kaXNwb3NlKCk7XG4gICAgICB0aGlzLmluaXRNb25hY28odGhpcy5vcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoJ21vZGlmaWVkTW9kZWwnKVxuICBzZXQgbW9kaWZpZWRNb2RlbChtb2RlbDogRGlmZkVkaXRvck1vZGVsKSB7XG4gICAgdGhpcy5fbW9kaWZpZWRNb2RlbCA9IG1vZGVsO1xuICAgIGlmICh0aGlzLl9lZGl0b3IpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5kaXNwb3NlKCk7XG4gICAgICB0aGlzLmluaXRNb25hY28odGhpcy5vcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE5HWF9NT05BQ09fRURJVE9SX0NPTkZJRykgcHJpdmF0ZSBlZGl0b3JDb25maWc6IE5neE1vbmFjb0VkaXRvckNvbmZpZykge1xuICAgIHN1cGVyKGVkaXRvckNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaW5pdE1vbmFjbyhvcHRpb25zOiBhbnkpOiB2b2lkIHtcblxuICAgIGlmICghdGhpcy5fb3JpZ2luYWxNb2RlbCB8fCAhdGhpcy5fbW9kaWZpZWRNb2RlbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdvcmlnaW5hbE1vZGVsIG9yIG1vZGlmaWVkTW9kZWwgbm90IGZvdW5kIGZvciBuZ3gtbW9uYWNvLWRpZmYtZWRpdG9yJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fb3JpZ2luYWxNb2RlbC5sYW5ndWFnZSA9IHRoaXMuX29yaWdpbmFsTW9kZWwubGFuZ3VhZ2UgfHwgb3B0aW9ucy5sYW5ndWFnZTtcbiAgICB0aGlzLl9tb2RpZmllZE1vZGVsLmxhbmd1YWdlID0gdGhpcy5fbW9kaWZpZWRNb2RlbC5sYW5ndWFnZSB8fCBvcHRpb25zLmxhbmd1YWdlO1xuXG4gICAgbGV0IG9yaWdpbmFsTW9kZWwgPSBtb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKHRoaXMuX29yaWdpbmFsTW9kZWwuY29kZSwgdGhpcy5fb3JpZ2luYWxNb2RlbC5sYW5ndWFnZSk7XG4gICAgbGV0IG1vZGlmaWVkTW9kZWwgPSBtb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKHRoaXMuX21vZGlmaWVkTW9kZWwuY29kZSwgdGhpcy5fbW9kaWZpZWRNb2RlbC5sYW5ndWFnZSk7XG5cbiAgICB0aGlzLl9lZGl0b3JDb250YWluZXIubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSAnJztcbiAgICBjb25zdCB0aGVtZSA9IG9wdGlvbnMudGhlbWU7XG4gICAgdGhpcy5fZWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGVEaWZmRWRpdG9yKHRoaXMuX2VkaXRvckNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCBvcHRpb25zKTtcbiAgICBvcHRpb25zLnRoZW1lID0gdGhlbWU7XG4gICAgdGhpcy5fZWRpdG9yLnNldE1vZGVsKHtcbiAgICAgIG9yaWdpbmFsOiBvcmlnaW5hbE1vZGVsLFxuICAgICAgbW9kaWZpZWQ6IG1vZGlmaWVkTW9kZWxcbiAgICB9KTtcblxuICAgIC8vIHJlZnJlc2ggbGF5b3V0IG9uIHJlc2l6ZSBldmVudC5cbiAgICBpZiAodGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLl93aW5kb3dSZXNpemVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgdGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9lZGl0b3IubGF5b3V0KCkpO1xuICAgIHRoaXMub25Jbml0LmVtaXQodGhpcy5fZWRpdG9yKTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,121 @@
1
+ import { Component, forwardRef, Inject, Input, NgZone } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { fromEvent } from 'rxjs';
4
+ import { BaseEditor } from './base-editor';
5
+ import { NGX_MONACO_EDITOR_CONFIG } from './config';
6
+ import * as i0 from "@angular/core";
7
+ export class EditorComponent extends BaseEditor {
8
+ constructor(zone, editorConfig) {
9
+ super(editorConfig);
10
+ this.zone = zone;
11
+ this.editorConfig = editorConfig;
12
+ this._value = '';
13
+ this.propagateChange = (_) => { };
14
+ this.onTouched = () => { };
15
+ }
16
+ set options(options) {
17
+ this._options = Object.assign({}, this.config.defaultOptions, options);
18
+ if (this._editor) {
19
+ this._editor.dispose();
20
+ this.initMonaco(options);
21
+ }
22
+ }
23
+ get options() {
24
+ return this._options;
25
+ }
26
+ set model(model) {
27
+ this.options.model = model;
28
+ if (this._editor) {
29
+ this._editor.dispose();
30
+ this.initMonaco(this.options);
31
+ }
32
+ }
33
+ writeValue(value) {
34
+ this._value = value || '';
35
+ // Fix for value change while dispose in process.
36
+ setTimeout(() => {
37
+ if (this._editor && !this.options.model) {
38
+ this._editor.setValue(this._value);
39
+ }
40
+ });
41
+ }
42
+ registerOnChange(fn) {
43
+ this.propagateChange = fn;
44
+ }
45
+ registerOnTouched(fn) {
46
+ this.onTouched = fn;
47
+ }
48
+ initMonaco(options) {
49
+ const hasModel = !!options.model;
50
+ if (hasModel) {
51
+ const model = monaco.editor.getModel(options.model.uri || '');
52
+ if (model) {
53
+ options.model = model;
54
+ options.model.setValue(this._value);
55
+ }
56
+ else {
57
+ options.model = monaco.editor.createModel(options.model.value, options.model.language, options.model.uri);
58
+ }
59
+ }
60
+ this._editor = monaco.editor.create(this._editorContainer.nativeElement, options);
61
+ if (!hasModel) {
62
+ this._editor.setValue(this._value);
63
+ }
64
+ this._editor.onDidChangeModelContent((e) => {
65
+ const value = this._editor.getValue();
66
+ // value is not propagated to parent when executing outside zone.
67
+ this.zone.run(() => {
68
+ this.propagateChange(value);
69
+ this._value = value;
70
+ });
71
+ });
72
+ this._editor.onDidBlurEditorWidget(() => {
73
+ this.onTouched();
74
+ });
75
+ // refresh layout on resize event.
76
+ if (this._windowResizeSubscription) {
77
+ this._windowResizeSubscription.unsubscribe();
78
+ }
79
+ this._windowResizeSubscription = fromEvent(window, 'resize').subscribe(() => this._editor.layout());
80
+ this.onInit.emit(this._editor);
81
+ }
82
+ }
83
+ EditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorComponent, deps: [{ token: i0.NgZone }, { token: NGX_MONACO_EDITOR_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
84
+ EditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EditorComponent, selector: "ngx-monaco-editor", inputs: { options: "options", model: "model" }, providers: [{
85
+ provide: NG_VALUE_ACCESSOR,
86
+ useExisting: forwardRef(() => EditorComponent),
87
+ multi: true
88
+ }], usesInheritance: true, ngImport: i0, template: '<div class="editor-container" #editorContainer></div>', isInline: true, styles: ["\n :host {\n display: block;\n height: 200px;\n }\n\n .editor-container {\n width: 100%;\n height: 98%;\n }\n "] });
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorComponent, decorators: [{
90
+ type: Component,
91
+ args: [{
92
+ selector: 'ngx-monaco-editor',
93
+ template: '<div class="editor-container" #editorContainer></div>',
94
+ styles: [`
95
+ :host {
96
+ display: block;
97
+ height: 200px;
98
+ }
99
+
100
+ .editor-container {
101
+ width: 100%;
102
+ height: 98%;
103
+ }
104
+ `],
105
+ providers: [{
106
+ provide: NG_VALUE_ACCESSOR,
107
+ useExisting: forwardRef(() => EditorComponent),
108
+ multi: true
109
+ }]
110
+ }]
111
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: undefined, decorators: [{
112
+ type: Inject,
113
+ args: [NGX_MONACO_EDITOR_CONFIG]
114
+ }] }]; }, propDecorators: { options: [{
115
+ type: Input,
116
+ args: ['options']
117
+ }], model: [{
118
+ type: Input,
119
+ args: ['model']
120
+ }] } });
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9uZ3gtbW9uYWNvLWVkaXRvci9lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHdCQUF3QixFQUF5QixNQUFNLFVBQVUsQ0FBQzs7QUF5QjNFLE1BQU0sT0FBTyxlQUFnQixTQUFRLFVBQVU7SUE0QjdDLFlBQW9CLElBQVksRUFBNEMsWUFBbUM7UUFDN0csS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBREYsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUE0QyxpQkFBWSxHQUFaLFlBQVksQ0FBdUI7UUEzQnZHLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFFNUIsb0JBQWUsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ2pDLGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUEwQnJCLENBQUM7SUF4QkQsSUFDSSxPQUFPLENBQUMsT0FBWTtRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZC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QztRQUNsQyxJQUFJLElBQUksQ0FBQyx5QkFBeUIsRUFBRTtZQUNsQyxJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDOUM7UUFDRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3BHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDOzs2R0ExRlUsZUFBZSx3Q0E0QmdCLHdCQUF3QjtpR0E1QnZELGVBQWUsNEZBTmYsQ0FBQztZQUNWLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7WUFDOUMsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLGlEQWhCUSx1REFBdUQ7NEZBa0J0RCxlQUFlO2tCQXBCM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUUsdURBQXVEO29CQUNqRSxNQUFNLEVBQUUsQ0FBQzs7Ozs7Ozs7OztHQVVSLENBQUM7b0JBQ0YsU0FBUyxFQUFFLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNaLENBQUM7aUJBQ0g7OzBCQTZCb0MsTUFBTTsyQkFBQyx3QkFBd0I7NENBckI5RCxPQUFPO3NCQURWLEtBQUs7dUJBQUMsU0FBUztnQkFjWixLQUFLO3NCQURSLEtBQUs7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbnB1dCwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQmFzZUVkaXRvciB9IGZyb20gJy4vYmFzZS1lZGl0b3InO1xuaW1wb3J0IHsgTkdYX01PTkFDT19FRElUT1JfQ09ORklHLCBOZ3hNb25hY29FZGl0b3JDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBOZ3hFZGl0b3JNb2RlbCB9IGZyb20gJy4vdHlwZXMnO1xuXG5kZWNsYXJlIHZhciBtb25hY286IGFueTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LW1vbmFjby1lZGl0b3InLFxuICB0ZW1wbGF0ZTogJzxkaXYgY2xhc3M9XCJlZGl0b3ItY29udGFpbmVyXCIgI2VkaXRvckNvbnRhaW5lcj48L2Rpdj4nLFxuICBzdHlsZXM6IFtgXG4gICAgICA6aG9zdCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIH1cblxuICAgICAgLmVkaXRvci1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogOTglO1xuICAgICAgfVxuICBgXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVkaXRvckNvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgQmFzZUVkaXRvciBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZyA9ICcnO1xuXG4gIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuICBvblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICBASW5wdXQoJ29wdGlvbnMnKVxuICBzZXQgb3B0aW9ucyhvcHRpb25zOiBhbnkpIHtcbiAgICB0aGlzLl9vcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jb25maWcuZGVmYXVsdE9wdGlvbnMsIG9wdGlvbnMpO1xuICAgIGlmICh0aGlzLl9lZGl0b3IpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5kaXNwb3NlKCk7XG4gICAgICB0aGlzLmluaXRNb25hY28ob3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IG9wdGlvbnMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgfVxuXG4gIEBJbnB1dCgnbW9kZWwnKVxuICBzZXQgbW9kZWwobW9kZWw6IE5neEVkaXRvck1vZGVsKSB7XG4gICAgdGhpcy5vcHRpb25zLm1vZGVsID0gbW9kZWw7XG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLm9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lLCBASW5qZWN0KE5HWF9NT05BQ09fRURJVE9SX0NPTkZJRykgcHJpdmF0ZSBlZGl0b3JDb25maWc6IE5neE1vbmFjb0VkaXRvckNvbmZpZykge1xuICAgIHN1cGVyKGVkaXRvckNvbmZpZyk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlIHx8ICcnO1xuICAgIC8vIEZpeCBmb3IgdmFsdWUgY2hhbmdlIHdoaWxlIGRpc3Bvc2UgaW4gcHJvY2Vzcy5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLl9lZGl0b3IgJiYgIXRoaXMub3B0aW9ucy5tb2RlbCkge1xuICAgICAgICB0aGlzLl9lZGl0b3Iuc2V0VmFsdWUodGhpcy5fdmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgcHJvdGVjdGVkIGluaXRNb25hY28ob3B0aW9uczogYW55KTogdm9pZCB7XG5cbiAgICBjb25zdCBoYXNNb2RlbCA9ICEhb3B0aW9ucy5tb2RlbDtcblxuICAgIGlmIChoYXNNb2RlbCkge1xuICAgICAgY29uc3QgbW9kZWwgPSBtb25hY28uZWRpdG9yLmdldE1vZGVsKG9wdGlvbnMubW9kZWwudXJpIHx8ICcnKTtcbiAgICAgIGlmIChtb2RlbCkge1xuICAgICAgICBvcHRpb25zLm1vZGVsID0gbW9kZWw7XG4gICAgICAgIG9wdGlvbnMubW9kZWwuc2V0VmFsdWUodGhpcy5fdmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3B0aW9ucy5tb2RlbCA9IG1vbmFjby5lZGl0b3IuY3JlYXRlTW9kZWwob3B0aW9ucy5tb2RlbC52YWx1ZSwgb3B0aW9ucy5tb2RlbC5sYW5ndWFnZSwgb3B0aW9ucy5tb2RlbC51cmkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX2VkaXRvciA9IG1vbmFjby5lZGl0b3IuY3JlYXRlKHRoaXMuX2VkaXRvckNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCBvcHRpb25zKTtcblxuICAgIGlmICghaGFzTW9kZWwpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5zZXRWYWx1ZSh0aGlzLl92YWx1ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5fZWRpdG9yLm9uRGlkQ2hhbmdlTW9kZWxDb250ZW50KChlOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5fZWRpdG9yLmdldFZhbHVlKCk7XG5cbiAgICAgIC8vIHZhbHVlIGlzIG5vdCBwcm9wYWdhdGVkIHRvIHBhcmVudCB3aGVuIGV4ZWN1dGluZyBvdXRzaWRlIHpvbmUuXG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodmFsdWUpO1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9lZGl0b3Iub25EaWRCbHVyRWRpdG9yV2lkZ2V0KCgpID0+IHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfSk7XG5cbiAgICAvLyByZWZyZXNoIGxheW91dCBvbiByZXNpemUgZXZlbnQuXG4gICAgaWYgKHRoaXMuX3dpbmRvd1Jlc2l6ZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuX3dpbmRvd1Jlc2l6ZVN1YnNjcmlwdGlvbiA9IGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fZWRpdG9yLmxheW91dCgpKTtcbiAgICB0aGlzLm9uSW5pdC5lbWl0KHRoaXMuX2VkaXRvcik7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,40 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { NGX_MONACO_EDITOR_CONFIG } from './config';
4
+ import { DiffEditorComponent } from './diff-editor.component';
5
+ import { EditorComponent } from './editor.component';
6
+ import * as i0 from "@angular/core";
7
+ export class MonacoEditorModule {
8
+ static forRoot(config = {}) {
9
+ return {
10
+ ngModule: MonacoEditorModule,
11
+ providers: [
12
+ { provide: NGX_MONACO_EDITOR_CONFIG, useValue: config }
13
+ ]
14
+ };
15
+ }
16
+ }
17
+ MonacoEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MonacoEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
+ MonacoEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MonacoEditorModule, declarations: [EditorComponent,
19
+ DiffEditorComponent], imports: [CommonModule], exports: [EditorComponent,
20
+ DiffEditorComponent] });
21
+ MonacoEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MonacoEditorModule, imports: [[
22
+ CommonModule
23
+ ]] });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MonacoEditorModule, decorators: [{
25
+ type: NgModule,
26
+ args: [{
27
+ imports: [
28
+ CommonModule
29
+ ],
30
+ declarations: [
31
+ EditorComponent,
32
+ DiffEditorComponent
33
+ ],
34
+ exports: [
35
+ EditorComponent,
36
+ DiffEditorComponent
37
+ ]
38
+ }]
39
+ }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9uZ3gtbW9uYWNvLWVkaXRvci9lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsd0JBQXdCLEVBQXlCLE1BQU0sVUFBVSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFlckQsTUFBTSxPQUFPLGtCQUFrQjtJQUN0QixNQUFNLENBQUMsT0FBTyxDQUFDLFNBQWdDLEVBQUU7UUFDdEQsT0FBTztZQUNMLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUU7YUFDeEQ7U0FDRixDQUFDO0lBQ0osQ0FBQzs7Z0hBUlUsa0JBQWtCO2lIQUFsQixrQkFBa0IsaUJBUjNCLGVBQWU7UUFDZixtQkFBbUIsYUFKbkIsWUFBWSxhQU9aLGVBQWU7UUFDZixtQkFBbUI7aUhBR1Ysa0JBQWtCLFlBWnBCO1lBQ1AsWUFBWTtTQUNiOzRGQVVVLGtCQUFrQjtrQkFiOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osZUFBZTt3QkFDZixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxlQUFlO3dCQUNmLG1CQUFtQjtxQkFDcEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTkdYX01PTkFDT19FRElUT1JfQ09ORklHLCBOZ3hNb25hY29FZGl0b3JDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBEaWZmRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9kaWZmLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0b3IuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBFZGl0b3JDb21wb25lbnQsXG4gICAgRGlmZkVkaXRvckNvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRWRpdG9yQ29tcG9uZW50LFxuICAgIERpZmZFZGl0b3JDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBNb25hY29FZGl0b3JNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoY29uZmlnOiBOZ3hNb25hY29FZGl0b3JDb25maWcgPSB7fSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TW9uYWNvRWRpdG9yTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBNb25hY29FZGl0b3JNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBOR1hfTU9OQUNPX0VESVRPUl9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvbmd4LW1vbmFjby1lZGl0b3IvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRGlmZkVkaXRvck1vZGVsIHtcbiAgICBjb2RlOiBzdHJpbmc7XG4gICAgbGFuZ3VhZ2U6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTmd4RWRpdG9yTW9kZWwge1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgbGFuZ3VhZ2U/OiBzdHJpbmc7XG4gICAgdXJpPzogYW55O1xufVxuIl19
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXN0aXRjaC10ZXh0LWVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXJlc3RpdGNoLXRleHQtZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -1,6 +1,6 @@
1
- /*
2
- * Public API Surface of fs-menu
3
- */
4
- export { FsTextEditorModule } from './app/fs-text-editor.module';
5
- export { FsTextEditorComponent } from './app/components/text-editor/text-editor.component';
1
+ /*
2
+ * Public API Surface of fs-menu
3
+ */
4
+ export { FsTextEditorModule } from './app/fs-text-editor.module';
5
+ export { FsTextEditorComponent } from './app/components/text-editor/text-editor.component';
6
6
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBSUgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGZzLW1lbnVcbiAqL1xuXG5pbXBvcnQgeyBmcm9tIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB7IEZzVGV4dEVkaXRvck1vZHVsZSB9IGZyb20gJy4vYXBwL2ZzLXRleHQtZWRpdG9yLm1vZHVsZSc7XG5cbmV4cG9ydCB7IEZzVGV4dEVkaXRvckNvbmZpZyB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XG5cblxuZXhwb3J0IHsgRnNUZXh0RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy90ZXh0LWVkaXRvci90ZXh0LWVkaXRvci5jb21wb25lbnQnO1xuIl19