@ng-util/monaco-editor 19.0.0 → 20.0.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.
- package/fesm2022/ng-util-monaco-editor.mjs +114 -112
- package/fesm2022/ng-util-monaco-editor.mjs.map +1 -1
- package/index.d.ts +122 -5
- package/monaco.d.ts +94 -69
- package/package.json +1 -1
- package/monaco-editor-base.component.d.ts +0 -36
- package/monaco-editor-diff.component.d.ts +0 -11
- package/monaco-editor.component.d.ts +0 -24
- package/monaco-editor.config.d.ts +0 -27
- package/monaco-editor.module.d.ts +0 -15
- package/monaco-editor.types.d.ts +0 -17
- package/placholder.d.ts +0 -12
- package/public-api.d.ts +0 -5
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, makeEnvironmentProviders, inject, ElementRef, NgZone, DestroyRef,
|
|
2
|
+
import { InjectionToken, makeEnvironmentProviders, inject, ElementRef, NgZone, DestroyRef, input, numberAttribute, booleanAttribute, output, effect, Component, untracked, forwardRef, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
3
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
4
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
-
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
5
5
|
import { fromEvent, timer, take } from 'rxjs';
|
|
6
|
+
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
6
7
|
import { debounceTime } from 'rxjs/operators';
|
|
7
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
8
8
|
|
|
9
|
-
//
|
|
10
|
-
/// <reference path="./monaco.d.ts" />
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/triple-slash-reference
|
|
10
|
+
/// <reference path="./monaco.d.ts" preserve="true" />
|
|
11
11
|
|
|
12
12
|
const NU_MONACO_EDITOR_CONFIG = new InjectionToken('NU_MONACO_EDITOR_CONFIG');
|
|
13
13
|
function provideNuMonacoEditorConfig(config) {
|
|
@@ -16,42 +16,41 @@ function provideNuMonacoEditorConfig(config) {
|
|
|
16
16
|
|
|
17
17
|
let loadedMonaco = false;
|
|
18
18
|
let loadPromise;
|
|
19
|
-
// eslint-disable-next-line @angular-eslint/component-class-suffix
|
|
20
19
|
class NuMonacoEditorBase {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
20
|
+
el = inject(ElementRef);
|
|
21
|
+
config = inject(NU_MONACO_EDITOR_CONFIG, { optional: true });
|
|
22
|
+
doc = inject(DOCUMENT);
|
|
23
|
+
ngZone = inject(NgZone);
|
|
24
|
+
destroy$ = inject(DestroyRef);
|
|
25
|
+
_editor;
|
|
26
|
+
_resize$ = null;
|
|
27
|
+
_config;
|
|
28
|
+
_disabled;
|
|
29
|
+
height = input(`200px`);
|
|
30
|
+
delay = input(0, { transform: numberAttribute });
|
|
31
|
+
disabled = input(false, { transform: booleanAttribute });
|
|
32
|
+
options = input();
|
|
33
|
+
event = output();
|
|
32
34
|
constructor() {
|
|
33
|
-
this.el = inject(ElementRef);
|
|
34
|
-
this.config = inject(NU_MONACO_EDITOR_CONFIG, { optional: true });
|
|
35
|
-
this.doc = inject(DOCUMENT);
|
|
36
|
-
this.ngZone = inject(NgZone);
|
|
37
|
-
this.destroy$ = inject(DestroyRef);
|
|
38
|
-
this._resize$ = null;
|
|
39
|
-
this.height = `200px`;
|
|
40
|
-
this.delay = 0;
|
|
41
|
-
this.event = new EventEmitter();
|
|
42
35
|
this._config = { baseUrl: 'https://cdn.jsdelivr.net/npm/monaco-editor/min', autoFormatTime: 100, ...this.config };
|
|
43
|
-
|
|
36
|
+
effect(() => {
|
|
37
|
+
this.setDisabled(this.disabled());
|
|
38
|
+
});
|
|
39
|
+
effect(() => {
|
|
40
|
+
const options = this.options();
|
|
41
|
+
this.updateOptions(options);
|
|
42
|
+
});
|
|
44
43
|
}
|
|
45
44
|
notifyEvent(type, other) {
|
|
46
45
|
this.ngZone.run(() => this.event.emit({ type, editor: this._editor, ...other }));
|
|
47
46
|
}
|
|
48
|
-
setDisabled() {
|
|
49
|
-
this._editor?.updateOptions({ readOnly:
|
|
47
|
+
setDisabled(v) {
|
|
48
|
+
this._editor?.updateOptions({ readOnly: v });
|
|
50
49
|
return this;
|
|
51
50
|
}
|
|
52
51
|
init() {
|
|
53
52
|
if (loadedMonaco) {
|
|
54
|
-
loadPromise.then(() => this.initMonaco(this.options, true));
|
|
53
|
+
loadPromise.then(() => this.initMonaco(this.options(), true));
|
|
55
54
|
return;
|
|
56
55
|
}
|
|
57
56
|
loadedMonaco = true;
|
|
@@ -65,9 +64,17 @@ class NuMonacoEditorBase {
|
|
|
65
64
|
resolve();
|
|
66
65
|
return;
|
|
67
66
|
}
|
|
68
|
-
|
|
67
|
+
let baseUrl = `${this._config.baseUrl}/vs`;
|
|
68
|
+
// fix: https://github.com/microsoft/monaco-editor/issues/4778
|
|
69
|
+
if (!/^https?:\/\//g.test(baseUrl)) {
|
|
70
|
+
baseUrl = `${window.location.origin}/${baseUrl.startsWith('/') ? baseUrl.substring(1) : baseUrl}`;
|
|
71
|
+
}
|
|
69
72
|
const amdLoader = () => {
|
|
70
|
-
win.require.config({
|
|
73
|
+
win.require.config({
|
|
74
|
+
paths: {
|
|
75
|
+
vs: baseUrl
|
|
76
|
+
}
|
|
77
|
+
});
|
|
71
78
|
if (typeof this._config.monacoPreLoad === 'function') {
|
|
72
79
|
this._config.monacoPreLoad();
|
|
73
80
|
}
|
|
@@ -75,7 +82,7 @@ class NuMonacoEditorBase {
|
|
|
75
82
|
if (typeof this._config.monacoLoad === 'function') {
|
|
76
83
|
this._config.monacoLoad(win.monaco);
|
|
77
84
|
}
|
|
78
|
-
this.initMonaco(this.options, true);
|
|
85
|
+
this.initMonaco(this.options(), true);
|
|
79
86
|
resolve();
|
|
80
87
|
}, () => {
|
|
81
88
|
reject(`Unable to load editor/editor.main module, please check your network environment.`);
|
|
@@ -84,7 +91,7 @@ class NuMonacoEditorBase {
|
|
|
84
91
|
if (!win.require) {
|
|
85
92
|
const loaderScript = this.doc.createElement('script');
|
|
86
93
|
loaderScript.type = 'text/javascript';
|
|
87
|
-
loaderScript.src = `${baseUrl}/
|
|
94
|
+
loaderScript.src = `${baseUrl}/loader.js`;
|
|
88
95
|
loaderScript.onload = amdLoader;
|
|
89
96
|
loaderScript.onerror = () => reject(`Unable to load ${loaderScript.src}, please check your network environment.`);
|
|
90
97
|
this.doc.getElementsByTagName('head')[0].appendChild(loaderScript);
|
|
@@ -92,7 +99,7 @@ class NuMonacoEditorBase {
|
|
|
92
99
|
else {
|
|
93
100
|
amdLoader();
|
|
94
101
|
}
|
|
95
|
-
}).catch(
|
|
102
|
+
}).catch(error => this.notifyEvent('load-error', { error }));
|
|
96
103
|
}
|
|
97
104
|
cleanResize() {
|
|
98
105
|
this._resize$?.unsubscribe();
|
|
@@ -108,46 +115,38 @@ class NuMonacoEditorBase {
|
|
|
108
115
|
});
|
|
109
116
|
return this;
|
|
110
117
|
}
|
|
111
|
-
updateOptions() {
|
|
118
|
+
updateOptions(v) {
|
|
112
119
|
if (!this._editor)
|
|
113
120
|
return;
|
|
114
121
|
this.ngZone.runOutsideAngular(() => {
|
|
115
122
|
this._editor.dispose();
|
|
116
|
-
this.initMonaco(
|
|
123
|
+
this.initMonaco(v, false);
|
|
117
124
|
});
|
|
118
125
|
}
|
|
119
126
|
ngAfterViewInit() {
|
|
120
|
-
this.ngZone.runOutsideAngular(() => setTimeout(() => this.init(), +this.delay));
|
|
127
|
+
this.ngZone.runOutsideAngular(() => setTimeout(() => this.init(), +this.delay()));
|
|
121
128
|
}
|
|
122
129
|
ngOnDestroy() {
|
|
123
130
|
this.cleanResize();
|
|
124
131
|
this._editor?.dispose();
|
|
125
132
|
}
|
|
126
|
-
/** @nocollapse */ static
|
|
127
|
-
/** @nocollapse */ static
|
|
133
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMonacoEditorBase, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
134
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.2", type: NuMonacoEditorBase, isStandalone: true, selector: "nu-monaco-base", inputs: { height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, delay: { classPropertyName: "delay", publicName: "delay", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { event: "event" }, ngImport: i0, template: ``, isInline: true });
|
|
128
135
|
}
|
|
129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMonacoEditorBase, decorators: [{
|
|
130
137
|
type: Component,
|
|
131
138
|
args: [{
|
|
132
139
|
selector: 'nu-monaco-base',
|
|
133
|
-
template:
|
|
140
|
+
template: ``
|
|
134
141
|
}]
|
|
135
|
-
}], ctorParameters: () => []
|
|
136
|
-
type: Input
|
|
137
|
-
}], delay: [{
|
|
138
|
-
type: Input,
|
|
139
|
-
args: [{ transform: numberAttribute }]
|
|
140
|
-
}], disabled: [{
|
|
141
|
-
type: Input
|
|
142
|
-
}], options: [{
|
|
143
|
-
type: Input
|
|
144
|
-
}], event: [{
|
|
145
|
-
type: Output
|
|
146
|
-
}] } });
|
|
142
|
+
}], ctorParameters: () => [] });
|
|
147
143
|
|
|
148
144
|
class PlaceholderWidget {
|
|
145
|
+
ID = 'editor.widget.placeholderHint';
|
|
146
|
+
placeholder;
|
|
147
|
+
editor;
|
|
148
|
+
node;
|
|
149
149
|
constructor(editor, placeholder) {
|
|
150
|
-
this.ID = 'editor.widget.placeholderHint';
|
|
151
150
|
this.placeholder = placeholder;
|
|
152
151
|
this.editor = editor;
|
|
153
152
|
}
|
|
@@ -174,7 +173,7 @@ class PlaceholderWidget {
|
|
|
174
173
|
getPosition() {
|
|
175
174
|
return {
|
|
176
175
|
position: { lineNumber: 1, column: 1 },
|
|
177
|
-
preference: [monaco.editor.ContentWidgetPositionPreference.EXACT]
|
|
176
|
+
preference: [monaco.editor.ContentWidgetPositionPreference.EXACT]
|
|
178
177
|
};
|
|
179
178
|
}
|
|
180
179
|
dispose() {
|
|
@@ -183,22 +182,29 @@ class PlaceholderWidget {
|
|
|
183
182
|
}
|
|
184
183
|
|
|
185
184
|
class NuMonacoEditorComponent extends NuMonacoEditorBase {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
this.onTouched = () => { };
|
|
192
|
-
}
|
|
193
|
-
set placeholder(v) {
|
|
194
|
-
this._placeholder = v;
|
|
195
|
-
this._placeholderWidget?.update(v);
|
|
196
|
-
}
|
|
185
|
+
_value = '';
|
|
186
|
+
_placeholderWidget;
|
|
187
|
+
placeholder = input();
|
|
188
|
+
model = input();
|
|
189
|
+
autoFormat = input(true, { transform: booleanAttribute });
|
|
197
190
|
get editor() {
|
|
198
191
|
return this._editor;
|
|
199
192
|
}
|
|
193
|
+
constructor() {
|
|
194
|
+
super();
|
|
195
|
+
effect(() => {
|
|
196
|
+
const ph = this.placeholder();
|
|
197
|
+
this._placeholderWidget?.update(ph);
|
|
198
|
+
});
|
|
199
|
+
effect(() => {
|
|
200
|
+
const model = this.model();
|
|
201
|
+
if (model == null)
|
|
202
|
+
return;
|
|
203
|
+
this.updateOptions(untracked(() => this.options()));
|
|
204
|
+
});
|
|
205
|
+
}
|
|
200
206
|
togglePlaceholder() {
|
|
201
|
-
const text = this.
|
|
207
|
+
const text = this.placeholder();
|
|
202
208
|
if (text == null || text.length <= 0 || this.editor == null)
|
|
203
209
|
return;
|
|
204
210
|
if (this._placeholderWidget == null) {
|
|
@@ -211,16 +217,19 @@ class NuMonacoEditorComponent extends NuMonacoEditorBase {
|
|
|
211
217
|
this.editor.addContentWidget(this._placeholderWidget);
|
|
212
218
|
}
|
|
213
219
|
}
|
|
220
|
+
onChange = (_) => { };
|
|
221
|
+
onTouched = () => { };
|
|
214
222
|
initMonaco(options, initEvent) {
|
|
215
|
-
const hasModel = !!this.model;
|
|
223
|
+
const hasModel = !!this.model();
|
|
224
|
+
options = { ...this.config?.defaultOptions, ...options };
|
|
216
225
|
if (hasModel) {
|
|
217
|
-
const model = monaco.editor.getModel(this.model.uri || '');
|
|
226
|
+
const model = monaco.editor.getModel(this.model().uri || '');
|
|
218
227
|
if (model) {
|
|
219
228
|
options.model = model;
|
|
220
229
|
options.model.setValue(this._value);
|
|
221
230
|
}
|
|
222
231
|
else {
|
|
223
|
-
const { value, language, uri } = this.model;
|
|
232
|
+
const { value, language, uri } = this.model();
|
|
224
233
|
options.model = monaco.editor.createModel(value || this._value, language, uri);
|
|
225
234
|
}
|
|
226
235
|
}
|
|
@@ -242,7 +251,7 @@ class NuMonacoEditorComponent extends NuMonacoEditorBase {
|
|
|
242
251
|
this.togglePlaceholder();
|
|
243
252
|
this.registerResize();
|
|
244
253
|
const eventName = initEvent ? 'init' : 're-init';
|
|
245
|
-
if (this.autoFormat) {
|
|
254
|
+
if (this.autoFormat()) {
|
|
246
255
|
timer(this._config.autoFormatTime)
|
|
247
256
|
.pipe(takeUntilDestroyed(this.destroy$), take(1))
|
|
248
257
|
.subscribe(() => {
|
|
@@ -267,20 +276,19 @@ class NuMonacoEditorComponent extends NuMonacoEditorBase {
|
|
|
267
276
|
registerOnTouched(fn) {
|
|
268
277
|
this.onTouched = fn;
|
|
269
278
|
}
|
|
270
|
-
setDisabledState(
|
|
271
|
-
this.
|
|
272
|
-
this.setDisabled();
|
|
279
|
+
setDisabledState(v) {
|
|
280
|
+
this.setDisabled(v);
|
|
273
281
|
}
|
|
274
|
-
/** @nocollapse */ static
|
|
275
|
-
/** @nocollapse */ static
|
|
282
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMonacoEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
283
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.2", type: NuMonacoEditorComponent, isStandalone: true, selector: "nu-monaco-editor", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, autoFormat: { classPropertyName: "autoFormat", publicName: "autoFormat", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.display": "'block'", "style.height": "height()" } }, providers: [
|
|
276
284
|
{
|
|
277
285
|
provide: NG_VALUE_ACCESSOR,
|
|
278
286
|
useExisting: forwardRef((() => NuMonacoEditorComponent)),
|
|
279
|
-
multi: true
|
|
280
|
-
}
|
|
281
|
-
], exportAs: ["nuMonacoEditor"], usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
287
|
+
multi: true
|
|
288
|
+
}
|
|
289
|
+
], exportAs: ["nuMonacoEditor"], usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
282
290
|
}
|
|
283
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
291
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMonacoEditorComponent, decorators: [{
|
|
284
292
|
type: Component,
|
|
285
293
|
args: [{
|
|
286
294
|
selector: 'nu-monaco-editor',
|
|
@@ -288,43 +296,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
|
|
|
288
296
|
exportAs: 'nuMonacoEditor',
|
|
289
297
|
host: {
|
|
290
298
|
'[style.display]': `'block'`,
|
|
291
|
-
'[style.height]': 'height'
|
|
299
|
+
'[style.height]': 'height()'
|
|
292
300
|
},
|
|
293
301
|
providers: [
|
|
294
302
|
{
|
|
295
303
|
provide: NG_VALUE_ACCESSOR,
|
|
296
304
|
useExisting: forwardRef((() => NuMonacoEditorComponent)),
|
|
297
|
-
multi: true
|
|
298
|
-
}
|
|
305
|
+
multi: true
|
|
306
|
+
}
|
|
299
307
|
],
|
|
300
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
308
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
301
309
|
}]
|
|
302
|
-
}],
|
|
303
|
-
type: Input
|
|
304
|
-
}], model: [{
|
|
305
|
-
type: Input
|
|
306
|
-
}], autoFormat: [{
|
|
307
|
-
type: Input,
|
|
308
|
-
args: [{ transform: booleanAttribute }]
|
|
309
|
-
}] } });
|
|
310
|
+
}], ctorParameters: () => [] });
|
|
310
311
|
|
|
311
312
|
class NuMonacoEditorDiffComponent extends NuMonacoEditorBase {
|
|
313
|
+
old = input();
|
|
314
|
+
new = input();
|
|
312
315
|
get editor() {
|
|
313
316
|
return this._editor;
|
|
314
317
|
}
|
|
315
318
|
initMonaco(options, initEvent) {
|
|
316
|
-
|
|
319
|
+
const oldModel = this.old();
|
|
320
|
+
const newModel = this.new();
|
|
321
|
+
if (!oldModel || !newModel) {
|
|
317
322
|
this.notifyEvent('error', { error: 'old or new not found for nu-monaco-diff-editor' });
|
|
318
323
|
return;
|
|
319
324
|
}
|
|
325
|
+
options = { ...this.config?.defaultOptions, ...options };
|
|
320
326
|
const theme = options.theme;
|
|
321
327
|
if (this._disabled != null)
|
|
322
328
|
options.readOnly = this._disabled;
|
|
323
329
|
const editor = (this._editor = monaco.editor.createDiffEditor(this.el.nativeElement, options));
|
|
324
330
|
options.theme = theme;
|
|
325
331
|
editor.setModel({
|
|
326
|
-
original: monaco.editor.createModel(
|
|
327
|
-
modified: monaco.editor.createModel(
|
|
332
|
+
original: monaco.editor.createModel(oldModel.code, oldModel.language || options.language),
|
|
333
|
+
modified: monaco.editor.createModel(newModel.code, newModel.language || options.language)
|
|
328
334
|
});
|
|
329
335
|
// this.setDisabled();
|
|
330
336
|
editor.onDidUpdateDiff(() => this.notifyEvent('update-diff', { diffValue: editor.getModifiedEditor().getValue() }));
|
|
@@ -332,10 +338,10 @@ class NuMonacoEditorDiffComponent extends NuMonacoEditorBase {
|
|
|
332
338
|
if (initEvent)
|
|
333
339
|
this.notifyEvent('init');
|
|
334
340
|
}
|
|
335
|
-
/** @nocollapse */ static
|
|
336
|
-
/** @nocollapse */ static
|
|
341
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMonacoEditorDiffComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
342
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.2", type: NuMonacoEditorDiffComponent, isStandalone: true, selector: "nu-monaco-diff-editor", inputs: { old: { classPropertyName: "old", publicName: "old", isSignal: true, isRequired: false, transformFunction: null }, new: { classPropertyName: "new", publicName: "new", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.display": "'block'", "style.height": "height()" } }, exportAs: ["nuMonacoDiffEditor"], usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
337
343
|
}
|
|
338
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
344
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMonacoEditorDiffComponent, decorators: [{
|
|
339
345
|
type: Component,
|
|
340
346
|
args: [{
|
|
341
347
|
selector: 'nu-monaco-diff-editor',
|
|
@@ -343,15 +349,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
|
|
|
343
349
|
exportAs: 'nuMonacoDiffEditor',
|
|
344
350
|
host: {
|
|
345
351
|
'[style.display]': `'block'`,
|
|
346
|
-
'[style.height]': 'height'
|
|
352
|
+
'[style.height]': 'height()'
|
|
347
353
|
},
|
|
348
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
354
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
349
355
|
}]
|
|
350
|
-
}]
|
|
351
|
-
type: Input
|
|
352
|
-
}], new: [{
|
|
353
|
-
type: Input
|
|
354
|
-
}] } });
|
|
356
|
+
}] });
|
|
355
357
|
|
|
356
358
|
const COMPONENTS = [NuMonacoEditorComponent, NuMonacoEditorDiffComponent];
|
|
357
359
|
class NuMonacoEditorModule {
|
|
@@ -361,18 +363,18 @@ class NuMonacoEditorModule {
|
|
|
361
363
|
static forRoot(config) {
|
|
362
364
|
return {
|
|
363
365
|
ngModule: NuMonacoEditorModule,
|
|
364
|
-
providers: [{ provide: NU_MONACO_EDITOR_CONFIG, useValue: config }]
|
|
366
|
+
providers: [{ provide: NU_MONACO_EDITOR_CONFIG, useValue: config }]
|
|
365
367
|
};
|
|
366
368
|
}
|
|
367
|
-
/** @nocollapse */ static
|
|
368
|
-
/** @nocollapse */ static
|
|
369
|
-
/** @nocollapse */ static
|
|
369
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMonacoEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
370
|
+
/** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: NuMonacoEditorModule, imports: [CommonModule, NuMonacoEditorComponent, NuMonacoEditorDiffComponent], exports: [NuMonacoEditorComponent, NuMonacoEditorDiffComponent] });
|
|
371
|
+
/** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMonacoEditorModule, imports: [CommonModule] });
|
|
370
372
|
}
|
|
371
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
373
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMonacoEditorModule, decorators: [{
|
|
372
374
|
type: NgModule,
|
|
373
375
|
args: [{
|
|
374
376
|
imports: [CommonModule, ...COMPONENTS],
|
|
375
|
-
exports: COMPONENTS
|
|
377
|
+
exports: COMPONENTS
|
|
376
378
|
}]
|
|
377
379
|
}] });
|
|
378
380
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-util-monaco-editor.mjs","sources":["../../../../packages/monaco-editor/monaco-editor.types.ts","../../../../packages/monaco-editor/monaco-editor.config.ts","../../../../packages/monaco-editor/monaco-editor-base.component.ts","../../../../packages/monaco-editor/placholder.ts","../../../../packages/monaco-editor/monaco-editor.component.ts","../../../../packages/monaco-editor/monaco-editor-diff.component.ts","../../../../packages/monaco-editor/monaco-editor.module.ts","../../../../packages/monaco-editor/ng-util-monaco-editor.ts"],"sourcesContent":["// tslint:disable-next-line: no-reference\n/// <reference path=\"./monaco.d.ts\" />\n\nexport interface NuMonacoEditorModel {\n value?: string;\n language?: string;\n uri?: monaco.Uri;\n}\n\nexport interface NuMonacoEditorDiffModel {\n code: string;\n language?: string;\n}\n\nexport type NuMonacoEditorEventType = 'load-error' | 'init' | 're-init' | 'resize' | 'update-diff' | 'error';\n\nexport interface NuMonacoEditorEvent {\n type?: NuMonacoEditorEventType;\n editor?: monaco.editor.IStandaloneCodeEditor | monaco.editor.IStandaloneDiffEditor;\n error?: string;\n /** Just only `nu-monaco-editor-diff` component */\n diffValue?: string;\n}\n","import { EnvironmentProviders, InjectionToken, makeEnvironmentProviders } from '@angular/core';\n\nexport const NU_MONACO_EDITOR_CONFIG = new InjectionToken<NuMonacoEditorConfig>('NU_MONACO_EDITOR_CONFIG');\n\nexport function provideNuMonacoEditorConfig(config?: NuMonacoEditorConfig): EnvironmentProviders {\n return makeEnvironmentProviders([{ provide: NU_MONACO_EDITOR_CONFIG, useValue: config }]);\n}\n\nexport interface NuMonacoEditorConfig {\n /**\n * The base URL to monaco editor library assets via AMD (RequireJS), Default: `https://cdn.jsdelivr.net/npm/monaco-editor/min`\n * You can using local path, e.g.: `assets/monaco-editor/min`.\n */\n baseUrl?: string;\n /**\n * Default options when creating editors\n */\n defaultOptions?: monaco.editor.IStandaloneEditorConstructionOptions;\n /**\n * The event after the first loading of the monaco editor library is completed, use this function to extend monaco editor functionalities.\n * - @param `_monaco` equar to `window.monaco`\n */\n monacoLoad?: (_monaco: any) => void;\n /**\n * The event before the first preload of the monaco editor library is completed, use this function to set nls availableLanguages.\n */\n monacoPreLoad?: () => void;\n /**\n * Trigger automatic format delay time, default: `100`\n */\n autoFormatTime?: number;\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n DestroyRef,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n NgZone,\n numberAttribute,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { NuMonacoEditorConfig, NU_MONACO_EDITOR_CONFIG } from './monaco-editor.config';\nimport { NuMonacoEditorEvent, NuMonacoEditorEventType } from './monaco-editor.types';\n\nlet loadedMonaco = false;\nlet loadPromise: Promise<void>;\n\n@Component({\n selector: 'nu-monaco-base',\n template: ``,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport abstract class NuMonacoEditorBase implements AfterViewInit, OnDestroy {\n protected el = inject<ElementRef<HTMLElement>>(ElementRef);\n protected config = inject(NU_MONACO_EDITOR_CONFIG, { optional: true });\n protected doc = inject(DOCUMENT);\n protected ngZone = inject(NgZone);\n protected destroy$ = inject(DestroyRef);\n\n protected _editor?: monaco.editor.IStandaloneCodeEditor | monaco.editor.IStandaloneDiffEditor;\n protected _options!: monaco.editor.IStandaloneEditorConstructionOptions;\n protected _resize$: Subscription | null = null;\n protected _config: NuMonacoEditorConfig;\n protected _disabled?: boolean;\n\n @Input() height = `200px`;\n @Input({ transform: numberAttribute }) delay = 0;\n @Input()\n set disabled(val: boolean | string) {\n this._disabled = typeof val === 'string' ? true : val;\n this.setDisabled();\n }\n @Input()\n set options(val: monaco.editor.IStandaloneEditorConstructionOptions) {\n this._options = { ...this._config.defaultOptions, ...val };\n this.updateOptions();\n }\n get options() {\n return this._options;\n }\n @Output() readonly event = new EventEmitter<NuMonacoEditorEvent>();\n\n constructor() {\n this._config = { baseUrl: 'https://cdn.jsdelivr.net/npm/monaco-editor/min', autoFormatTime: 100, ...this.config };\n this.options = this._config.defaultOptions!;\n }\n\n protected abstract initMonaco(_options: monaco.editor.IStandaloneEditorConstructionOptions, _initEvent: boolean): void;\n\n protected notifyEvent(type: NuMonacoEditorEventType, other?: NuMonacoEditorEvent): void {\n this.ngZone.run(() => this.event.emit({ type, editor: this._editor!, ...other }));\n }\n\n protected setDisabled(): this {\n (this._editor as monaco.editor.IStandaloneCodeEditor)?.updateOptions({ readOnly: this._disabled });\n return this;\n }\n\n private init(): void {\n if (loadedMonaco) {\n loadPromise.then(() => this.initMonaco(this.options, true));\n return;\n }\n\n loadedMonaco = true;\n loadPromise = new Promise<void>((resolve: () => void, reject: (err: string) => void) => {\n const win: any = window;\n if (win == null) {\n resolve();\n return;\n }\n\n if (win.monaco) {\n resolve();\n return;\n }\n\n const baseUrl = this._config.baseUrl;\n const amdLoader = () => {\n win.require.config({ paths: { vs: `${baseUrl}/vs` } });\n if (typeof this._config.monacoPreLoad === 'function') {\n this._config.monacoPreLoad();\n }\n win.require(\n ['vs/editor/editor.main'],\n () => {\n if (typeof this._config.monacoLoad === 'function') {\n this._config.monacoLoad(win.monaco);\n }\n this.initMonaco(this.options, true);\n resolve();\n },\n () => {\n reject(`Unable to load editor/editor.main module, please check your network environment.`);\n },\n );\n };\n\n if (!win.require) {\n const loaderScript = this.doc.createElement('script') as HTMLScriptElement;\n loaderScript.type = 'text/javascript';\n loaderScript.src = `${baseUrl}/vs/loader.js`;\n loaderScript.onload = amdLoader;\n loaderScript.onerror = () => reject(`Unable to load ${loaderScript.src}, please check your network environment.`);\n this.doc.getElementsByTagName('head')[0].appendChild(loaderScript);\n } else {\n amdLoader();\n }\n }).catch((error) => this.notifyEvent('load-error', { error }));\n }\n\n protected cleanResize(): this {\n this._resize$?.unsubscribe();\n return this;\n }\n\n protected registerResize(): this {\n this.cleanResize();\n this._resize$ = fromEvent(window, 'resize')\n .pipe(debounceTime(100))\n .subscribe(() => {\n this._editor!.layout();\n this.notifyEvent('resize');\n });\n return this;\n }\n\n protected updateOptions(): void {\n if (!this._editor) return;\n this.ngZone.runOutsideAngular(() => {\n this._editor!.dispose();\n this.initMonaco(this._options, false);\n });\n }\n\n ngAfterViewInit(): void {\n this.ngZone.runOutsideAngular(() => setTimeout(() => this.init(), +this.delay));\n }\n\n ngOnDestroy(): void {\n this.cleanResize();\n this._editor?.dispose();\n }\n}\n","export class PlaceholderWidget implements monaco.editor.IContentWidget {\n private readonly ID = 'editor.widget.placeholderHint';\n private placeholder?: string;\n private editor: monaco.editor.IStandaloneCodeEditor;\n private node?: HTMLElement;\n\n constructor(editor: monaco.editor.IStandaloneCodeEditor, placeholder?: string) {\n this.placeholder = placeholder;\n this.editor = editor;\n }\n\n update(text?: string | null | undefined) {\n if (this.node == null) return;\n\n this.node.innerHTML = text ?? this.placeholder ?? '';\n }\n\n getId(): string {\n return this.ID;\n }\n getDomNode(): HTMLElement {\n if (this.node == null) {\n const node = (this.node = document.createElement('div'));\n node.classList.add('monaco-editor-placeholder');\n node.style.width = 'max-content';\n node.style.color = 'gray';\n node.innerHTML = this.placeholder!;\n node.style.fontStyle = 'italic';\n this.editor.applyFontInfo(node);\n }\n return this.node;\n }\n getPosition(): monaco.editor.IContentWidgetPosition | null {\n return {\n position: { lineNumber: 1, column: 1 },\n preference: [monaco.editor.ContentWidgetPositionPreference.EXACT],\n };\n }\n\n dispose() {\n this.editor.removeContentWidget(this);\n }\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, forwardRef, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NuMonacoEditorBase } from './monaco-editor-base.component';\nimport { NuMonacoEditorModel } from './monaco-editor.types';\nimport { take, timer } from 'rxjs';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { PlaceholderWidget } from './placholder';\n\n@Component({\n selector: 'nu-monaco-editor',\n template: ``,\n exportAs: 'nuMonacoEditor',\n host: {\n '[style.display]': `'block'`,\n '[style.height]': 'height',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NuMonacoEditorComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NuMonacoEditorComponent extends NuMonacoEditorBase implements ControlValueAccessor {\n private _value = '';\n private _placeholderWidget?: PlaceholderWidget;\n private _placeholder?: string | null;\n\n @Input()\n set placeholder(v: string | null | undefined) {\n this._placeholder = v;\n this._placeholderWidget?.update(v);\n }\n @Input() model?: NuMonacoEditorModel | null;\n @Input({ transform: booleanAttribute }) autoFormat = true;\n\n get editor(): monaco.editor.IStandaloneCodeEditor | null | undefined {\n return this._editor as monaco.editor.IStandaloneCodeEditor;\n }\n\n private togglePlaceholder() {\n const text = this._placeholder;\n if (text == null || text.length <= 0 || this.editor == null) return;\n\n if (this._placeholderWidget == null) {\n this._placeholderWidget = new PlaceholderWidget(this.editor, text);\n }\n\n if (this._value.length > 0) {\n this.editor.removeContentWidget(this._placeholderWidget);\n } else {\n this.editor.addContentWidget(this._placeholderWidget);\n }\n }\n\n private onChange = (_: string) => {};\n private onTouched = () => {};\n\n initMonaco(options: monaco.editor.IStandaloneEditorConstructionOptions, initEvent: boolean): void {\n const hasModel = !!this.model;\n\n if (hasModel) {\n const model = monaco.editor.getModel(this.model!.uri! || '');\n if (model) {\n options.model = model;\n options.model.setValue(this._value);\n } else {\n const { value, language, uri } = this.model!;\n options.model = monaco.editor.createModel(value || this._value, language, uri);\n }\n }\n\n if (this._disabled != null) options.readOnly = this._disabled;\n const editor = (this._editor = monaco.editor.create(this.el.nativeElement, options));\n\n if (!hasModel) {\n editor.setValue(this._value);\n }\n\n editor.onDidChangeModelContent(() => {\n const value = editor.getValue();\n\n this.ngZone.run(() => {\n this._value = value;\n this.onChange(value);\n });\n\n this.togglePlaceholder();\n });\n editor.onDidBlurEditorWidget(() => this.onTouched());\n\n this.togglePlaceholder();\n this.registerResize();\n\n const eventName = initEvent ? 'init' : 're-init';\n if (this.autoFormat) {\n timer(this._config.autoFormatTime!)\n .pipe(takeUntilDestroyed(this.destroy$), take(1))\n .subscribe(() => {\n const action = editor.getAction('editor.action.formatDocument');\n if (action == null) {\n this.notifyEvent(eventName);\n return;\n }\n action.run().then(() => this.notifyEvent(eventName));\n });\n return;\n }\n this.notifyEvent(eventName);\n }\n\n writeValue(value: string): void {\n this._value = value || '';\n (this._editor as monaco.editor.IStandaloneCodeEditor)?.setValue(this._value);\n }\n\n registerOnChange(fn: (_: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(_isDisabled: boolean): void {\n this.disabled = _isDisabled;\n this.setDisabled();\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NuMonacoEditorBase } from './monaco-editor-base.component';\nimport { NuMonacoEditorDiffModel } from './monaco-editor.types';\n\n@Component({\n selector: 'nu-monaco-diff-editor',\n template: ``,\n exportAs: 'nuMonacoDiffEditor',\n host: {\n '[style.display]': `'block'`,\n '[style.height]': 'height',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NuMonacoEditorDiffComponent extends NuMonacoEditorBase {\n @Input() old?: NuMonacoEditorDiffModel | null;\n @Input() new?: NuMonacoEditorDiffModel | null;\n\n get editor(): monaco.editor.IStandaloneDiffEditor | null | undefined {\n return this._editor as monaco.editor.IStandaloneDiffEditor;\n }\n\n initMonaco(options: monaco.editor.IStandaloneEditorConstructionOptions, initEvent: boolean): void {\n if (!this.old || !this.new) {\n this.notifyEvent('error', { error: 'old or new not found for nu-monaco-diff-editor' });\n return;\n }\n\n const theme = options.theme;\n if (this._disabled != null) options.readOnly = this._disabled;\n const editor = (this._editor = monaco.editor.createDiffEditor(this.el.nativeElement, options));\n options.theme = theme;\n editor.setModel({\n original: monaco.editor.createModel(this.old.code, this.old.language || options.language),\n modified: monaco.editor.createModel(this.new.code, this.new.language || options.language),\n });\n\n // this.setDisabled();\n editor.onDidUpdateDiff(() => this.notifyEvent('update-diff', { diffValue: editor.getModifiedEditor().getValue() }));\n\n this.registerResize();\n if (initEvent) this.notifyEvent('init');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { NuMonacoEditorDiffComponent } from './monaco-editor-diff.component';\nimport { NuMonacoEditorComponent } from './monaco-editor.component';\nimport { NuMonacoEditorConfig, NU_MONACO_EDITOR_CONFIG } from './monaco-editor.config';\n\nconst COMPONENTS = [NuMonacoEditorComponent, NuMonacoEditorDiffComponent];\n\n@NgModule({\n imports: [CommonModule, ...COMPONENTS],\n exports: COMPONENTS,\n})\nexport class NuMonacoEditorModule {\n /**\n * Or use `provideNuMonacoEditorConfig` instead.\n */\n static forRoot(config?: NuMonacoEditorConfig): ModuleWithProviders<NuMonacoEditorModule> {\n return {\n ngModule: NuMonacoEditorModule,\n providers: [{ provide: NU_MONACO_EDITOR_CONFIG, useValue: config }],\n };\n }\n}\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":"ng-util-monaco-editor.mjs","sources":["../../../../packages/monaco-editor/monaco-editor.types.ts","../../../../packages/monaco-editor/monaco-editor.config.ts","../../../../packages/monaco-editor/monaco-editor-base.component.ts","../../../../packages/monaco-editor/placholder.ts","../../../../packages/monaco-editor/monaco-editor.component.ts","../../../../packages/monaco-editor/monaco-editor-diff.component.ts","../../../../packages/monaco-editor/monaco-editor.module.ts","../../../../packages/monaco-editor/ng-util-monaco-editor.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path=\"./monaco.d.ts\" preserve=\"true\" />\n\nexport interface NuMonacoEditorModel {\n value?: string;\n language?: string;\n uri?: monaco.Uri;\n}\n\nexport interface NuMonacoEditorDiffModel {\n code: string;\n language?: string;\n}\n\nexport type NuMonacoEditorEventType = 'load-error' | 'init' | 're-init' | 'resize' | 'update-diff' | 'error';\n\nexport interface NuMonacoEditorEvent {\n type?: NuMonacoEditorEventType;\n editor?: monaco.editor.IStandaloneCodeEditor | monaco.editor.IStandaloneDiffEditor;\n error?: string;\n /** Just only `nu-monaco-editor-diff` component */\n diffValue?: string;\n}\n","import { EnvironmentProviders, InjectionToken, makeEnvironmentProviders } from '@angular/core';\n\nexport const NU_MONACO_EDITOR_CONFIG = new InjectionToken<NuMonacoEditorConfig>('NU_MONACO_EDITOR_CONFIG');\n\nexport function provideNuMonacoEditorConfig(config?: NuMonacoEditorConfig): EnvironmentProviders {\n return makeEnvironmentProviders([{ provide: NU_MONACO_EDITOR_CONFIG, useValue: config }]);\n}\n\nexport interface NuMonacoEditorConfig {\n /**\n * The base URL to monaco editor library assets via AMD (RequireJS), Default: `https://cdn.jsdelivr.net/npm/monaco-editor/min`\n * You can using local path, e.g.: `assets/monaco-editor/min`.\n */\n baseUrl?: string;\n /**\n * Default options when creating editors\n */\n defaultOptions?: monaco.editor.IStandaloneEditorConstructionOptions;\n /**\n * The event after the first loading of the monaco editor library is completed, use this function to extend monaco editor functionalities.\n * - @param `_monaco` equar to `window.monaco`\n */\n monacoLoad?: (_monaco: any) => void;\n /**\n * The event before the first preload of the monaco editor library is completed, use this function to set nls availableLanguages.\n */\n monacoPreLoad?: () => void;\n /**\n * Trigger automatic format delay time, default: `100`\n */\n autoFormatTime?: number;\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n booleanAttribute,\n Component,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n NgZone,\n numberAttribute,\n OnDestroy,\n output\n} from '@angular/core';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\nimport { NuMonacoEditorConfig, NU_MONACO_EDITOR_CONFIG } from './monaco-editor.config';\nimport { NuMonacoEditorEvent, NuMonacoEditorEventType } from './monaco-editor.types';\n\nlet loadedMonaco = false;\nlet loadPromise: Promise<void>;\n\n@Component({\n selector: 'nu-monaco-base',\n template: ``\n})\nexport abstract class NuMonacoEditorBase implements AfterViewInit, OnDestroy {\n protected el = inject<ElementRef<HTMLElement>>(ElementRef);\n protected config = inject(NU_MONACO_EDITOR_CONFIG, { optional: true });\n protected doc = inject(DOCUMENT);\n protected ngZone = inject(NgZone);\n protected destroy$ = inject(DestroyRef);\n\n protected _editor?: monaco.editor.IStandaloneCodeEditor | monaco.editor.IStandaloneDiffEditor;\n protected _resize$: Subscription | null = null;\n protected _config: NuMonacoEditorConfig;\n protected _disabled?: boolean;\n\n height = input(`200px`);\n delay = input(0, { transform: numberAttribute });\n disabled = input(false, { transform: booleanAttribute });\n options = input<monaco.editor.IStandaloneEditorConstructionOptions>();\n readonly event = output<NuMonacoEditorEvent>();\n\n constructor() {\n this._config = { baseUrl: 'https://cdn.jsdelivr.net/npm/monaco-editor/min', autoFormatTime: 100, ...this.config };\n\n effect(() => {\n this.setDisabled(this.disabled());\n });\n\n effect(() => {\n const options = this.options();\n this.updateOptions(options);\n });\n }\n\n protected abstract initMonaco(\n _options: monaco.editor.IStandaloneEditorConstructionOptions | undefined,\n _initEvent: boolean\n ): void;\n\n protected notifyEvent(type: NuMonacoEditorEventType, other?: NuMonacoEditorEvent): void {\n this.ngZone.run(() => this.event.emit({ type, editor: this._editor!, ...other }));\n }\n\n protected setDisabled(v: boolean): this {\n (this._editor as monaco.editor.IStandaloneCodeEditor)?.updateOptions({ readOnly: v });\n return this;\n }\n\n private init(): void {\n if (loadedMonaco) {\n loadPromise.then(() => this.initMonaco(this.options(), true));\n return;\n }\n\n loadedMonaco = true;\n loadPromise = new Promise<void>((resolve: () => void, reject: (err: string) => void) => {\n const win: any = window;\n if (win == null) {\n resolve();\n return;\n }\n\n if (win.monaco) {\n resolve();\n return;\n }\n\n let baseUrl = `${this._config.baseUrl}/vs`;\n // fix: https://github.com/microsoft/monaco-editor/issues/4778\n if (!/^https?:\\/\\//g.test(baseUrl)) {\n baseUrl = `${window.location.origin}/${baseUrl.startsWith('/') ? baseUrl.substring(1) : baseUrl}`;\n }\n const amdLoader = () => {\n win.require.config({\n paths: {\n vs: baseUrl\n }\n });\n if (typeof this._config.monacoPreLoad === 'function') {\n this._config.monacoPreLoad();\n }\n win.require(\n ['vs/editor/editor.main'],\n () => {\n if (typeof this._config.monacoLoad === 'function') {\n this._config.monacoLoad(win.monaco);\n }\n this.initMonaco(this.options(), true);\n resolve();\n },\n () => {\n reject(`Unable to load editor/editor.main module, please check your network environment.`);\n }\n );\n };\n\n if (!win.require) {\n const loaderScript = this.doc.createElement('script') as HTMLScriptElement;\n loaderScript.type = 'text/javascript';\n loaderScript.src = `${baseUrl}/loader.js`;\n loaderScript.onload = amdLoader;\n loaderScript.onerror = () =>\n reject(`Unable to load ${loaderScript.src}, please check your network environment.`);\n this.doc.getElementsByTagName('head')[0].appendChild(loaderScript);\n } else {\n amdLoader();\n }\n }).catch(error => this.notifyEvent('load-error', { error }));\n }\n\n protected cleanResize(): this {\n this._resize$?.unsubscribe();\n return this;\n }\n\n protected registerResize(): this {\n this.cleanResize();\n this._resize$ = fromEvent(window, 'resize')\n .pipe(debounceTime(100))\n .subscribe(() => {\n this._editor!.layout();\n this.notifyEvent('resize');\n });\n return this;\n }\n\n updateOptions(v: monaco.editor.IStandaloneEditorConstructionOptions | undefined): void {\n if (!this._editor) return;\n this.ngZone.runOutsideAngular(() => {\n this._editor!.dispose();\n this.initMonaco(v, false);\n });\n }\n\n ngAfterViewInit(): void {\n this.ngZone.runOutsideAngular(() => setTimeout(() => this.init(), +this.delay()));\n }\n\n ngOnDestroy(): void {\n this.cleanResize();\n this._editor?.dispose();\n }\n}\n","export class PlaceholderWidget implements monaco.editor.IContentWidget {\n private readonly ID = 'editor.widget.placeholderHint';\n private placeholder?: string;\n private editor: monaco.editor.IStandaloneCodeEditor;\n private node?: HTMLElement;\n\n constructor(editor: monaco.editor.IStandaloneCodeEditor, placeholder?: string) {\n this.placeholder = placeholder;\n this.editor = editor;\n }\n\n update(text?: string | null | undefined) {\n if (this.node == null) return;\n\n this.node.innerHTML = text ?? this.placeholder ?? '';\n }\n\n getId(): string {\n return this.ID;\n }\n getDomNode(): HTMLElement {\n if (this.node == null) {\n const node = (this.node = document.createElement('div'));\n node.classList.add('monaco-editor-placeholder');\n node.style.width = 'max-content';\n node.style.color = 'gray';\n node.innerHTML = this.placeholder!;\n node.style.fontStyle = 'italic';\n this.editor.applyFontInfo(node);\n }\n return this.node;\n }\n getPosition(): monaco.editor.IContentWidgetPosition | null {\n return {\n position: { lineNumber: 1, column: 1 },\n preference: [monaco.editor.ContentWidgetPositionPreference.EXACT]\n };\n }\n\n dispose() {\n this.editor.removeContentWidget(this);\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n effect,\n forwardRef,\n input,\n untracked\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { take, timer } from 'rxjs';\n\nimport { NuMonacoEditorBase } from './monaco-editor-base.component';\nimport { NuMonacoEditorModel } from './monaco-editor.types';\nimport { PlaceholderWidget } from './placholder';\n\n@Component({\n selector: 'nu-monaco-editor',\n template: ``,\n exportAs: 'nuMonacoEditor',\n host: {\n '[style.display]': `'block'`,\n '[style.height]': 'height()'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NuMonacoEditorComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NuMonacoEditorComponent extends NuMonacoEditorBase implements ControlValueAccessor {\n private _value = '';\n private _placeholderWidget?: PlaceholderWidget;\n placeholder = input<string>();\n model = input<NuMonacoEditorModel>();\n autoFormat = input(true, { transform: booleanAttribute });\n\n get editor(): monaco.editor.IStandaloneCodeEditor | null | undefined {\n return this._editor as monaco.editor.IStandaloneCodeEditor;\n }\n\n constructor() {\n super();\n effect(() => {\n const ph = this.placeholder();\n this._placeholderWidget?.update(ph);\n });\n effect(() => {\n const model = this.model();\n if (model == null) return;\n this.updateOptions(untracked(() => this.options()));\n });\n }\n\n private togglePlaceholder() {\n const text = this.placeholder();\n if (text == null || text.length <= 0 || this.editor == null) return;\n\n if (this._placeholderWidget == null) {\n this._placeholderWidget = new PlaceholderWidget(this.editor, text);\n }\n\n if (this._value.length > 0) {\n this.editor.removeContentWidget(this._placeholderWidget);\n } else {\n this.editor.addContentWidget(this._placeholderWidget);\n }\n }\n\n private onChange = (_: string) => {};\n private onTouched = () => {};\n\n initMonaco(options: monaco.editor.IStandaloneEditorConstructionOptions, initEvent: boolean): void {\n const hasModel = !!this.model();\n options = { ...this.config?.defaultOptions, ...options };\n\n if (hasModel) {\n const model = monaco.editor.getModel(this.model()!.uri! || '');\n if (model) {\n options.model = model;\n options.model.setValue(this._value);\n } else {\n const { value, language, uri } = this.model()!;\n options.model = monaco.editor.createModel(value || this._value, language, uri);\n }\n }\n\n if (this._disabled != null) options.readOnly = this._disabled;\n const editor = (this._editor = monaco.editor.create(this.el.nativeElement, options));\n\n if (!hasModel) {\n editor.setValue(this._value);\n }\n\n editor.onDidChangeModelContent(() => {\n const value = editor.getValue();\n\n this.ngZone.run(() => {\n this._value = value;\n this.onChange(value);\n });\n\n this.togglePlaceholder();\n });\n editor.onDidBlurEditorWidget(() => this.onTouched());\n\n this.togglePlaceholder();\n this.registerResize();\n\n const eventName = initEvent ? 'init' : 're-init';\n if (this.autoFormat()) {\n timer(this._config.autoFormatTime!)\n .pipe(takeUntilDestroyed(this.destroy$), take(1))\n .subscribe(() => {\n const action = editor.getAction('editor.action.formatDocument');\n if (action == null) {\n this.notifyEvent(eventName);\n return;\n }\n action.run().then(() => this.notifyEvent(eventName));\n });\n return;\n }\n this.notifyEvent(eventName);\n }\n\n writeValue(value: string): void {\n this._value = value || '';\n (this._editor as monaco.editor.IStandaloneCodeEditor)?.setValue(this._value);\n }\n\n registerOnChange(fn: (_: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(v: boolean): void {\n this.setDisabled(v);\n }\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\nimport { NuMonacoEditorBase } from './monaco-editor-base.component';\nimport { NuMonacoEditorDiffModel } from './monaco-editor.types';\n\n@Component({\n selector: 'nu-monaco-diff-editor',\n template: ``,\n exportAs: 'nuMonacoDiffEditor',\n host: {\n '[style.display]': `'block'`,\n '[style.height]': 'height()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NuMonacoEditorDiffComponent extends NuMonacoEditorBase {\n old = input<NuMonacoEditorDiffModel>();\n new = input<NuMonacoEditorDiffModel>();\n\n get editor(): monaco.editor.IStandaloneDiffEditor | null | undefined {\n return this._editor as monaco.editor.IStandaloneDiffEditor;\n }\n\n initMonaco(options: monaco.editor.IStandaloneEditorConstructionOptions, initEvent: boolean): void {\n const oldModel = this.old();\n const newModel = this.new();\n if (!oldModel || !newModel) {\n this.notifyEvent('error', { error: 'old or new not found for nu-monaco-diff-editor' });\n return;\n }\n\n options = { ...this.config?.defaultOptions, ...options };\n const theme = options.theme;\n if (this._disabled != null) options.readOnly = this._disabled;\n const editor = (this._editor = monaco.editor.createDiffEditor(this.el.nativeElement, options));\n options.theme = theme;\n editor.setModel({\n original: monaco.editor.createModel(oldModel.code, oldModel.language || options.language),\n modified: monaco.editor.createModel(newModel.code, newModel.language || options.language)\n });\n\n // this.setDisabled();\n editor.onDidUpdateDiff(() => this.notifyEvent('update-diff', { diffValue: editor.getModifiedEditor().getValue() }));\n\n this.registerResize();\n if (initEvent) this.notifyEvent('init');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { NuMonacoEditorDiffComponent } from './monaco-editor-diff.component';\nimport { NuMonacoEditorComponent } from './monaco-editor.component';\nimport { NuMonacoEditorConfig, NU_MONACO_EDITOR_CONFIG } from './monaco-editor.config';\n\nconst COMPONENTS = [NuMonacoEditorComponent, NuMonacoEditorDiffComponent];\n\n@NgModule({\n imports: [CommonModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class NuMonacoEditorModule {\n /**\n * Or use `provideNuMonacoEditorConfig` instead.\n */\n static forRoot(config?: NuMonacoEditorConfig): ModuleWithProviders<NuMonacoEditorModule> {\n return {\n ngModule: NuMonacoEditorModule,\n providers: [{ provide: NU_MONACO_EDITOR_CONFIG, useValue: config }]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,5 +1,122 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/// <reference path="../../../../packages/monaco-editor/monaco.d.ts" />
|
|
2
|
+
import * as _angular_core from '@angular/core';
|
|
3
|
+
import { InjectionToken, EnvironmentProviders, AfterViewInit, OnDestroy, ElementRef, NgZone, DestroyRef, ModuleWithProviders } from '@angular/core';
|
|
4
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
5
|
+
import { Subscription } from 'rxjs';
|
|
6
|
+
import * as i1 from '@angular/common';
|
|
7
|
+
|
|
8
|
+
interface NuMonacoEditorModel {
|
|
9
|
+
value?: string;
|
|
10
|
+
language?: string;
|
|
11
|
+
uri?: monaco.Uri;
|
|
12
|
+
}
|
|
13
|
+
interface NuMonacoEditorDiffModel {
|
|
14
|
+
code: string;
|
|
15
|
+
language?: string;
|
|
16
|
+
}
|
|
17
|
+
type NuMonacoEditorEventType = 'load-error' | 'init' | 're-init' | 'resize' | 'update-diff' | 'error';
|
|
18
|
+
interface NuMonacoEditorEvent {
|
|
19
|
+
type?: NuMonacoEditorEventType;
|
|
20
|
+
editor?: monaco.editor.IStandaloneCodeEditor | monaco.editor.IStandaloneDiffEditor;
|
|
21
|
+
error?: string;
|
|
22
|
+
/** Just only `nu-monaco-editor-diff` component */
|
|
23
|
+
diffValue?: string;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
declare const NU_MONACO_EDITOR_CONFIG: InjectionToken<NuMonacoEditorConfig>;
|
|
27
|
+
declare function provideNuMonacoEditorConfig(config?: NuMonacoEditorConfig): EnvironmentProviders;
|
|
28
|
+
interface NuMonacoEditorConfig {
|
|
29
|
+
/**
|
|
30
|
+
* The base URL to monaco editor library assets via AMD (RequireJS), Default: `https://cdn.jsdelivr.net/npm/monaco-editor/min`
|
|
31
|
+
* You can using local path, e.g.: `assets/monaco-editor/min`.
|
|
32
|
+
*/
|
|
33
|
+
baseUrl?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Default options when creating editors
|
|
36
|
+
*/
|
|
37
|
+
defaultOptions?: monaco.editor.IStandaloneEditorConstructionOptions;
|
|
38
|
+
/**
|
|
39
|
+
* The event after the first loading of the monaco editor library is completed, use this function to extend monaco editor functionalities.
|
|
40
|
+
* - @param `_monaco` equar to `window.monaco`
|
|
41
|
+
*/
|
|
42
|
+
monacoLoad?: (_monaco: any) => void;
|
|
43
|
+
/**
|
|
44
|
+
* The event before the first preload of the monaco editor library is completed, use this function to set nls availableLanguages.
|
|
45
|
+
*/
|
|
46
|
+
monacoPreLoad?: () => void;
|
|
47
|
+
/**
|
|
48
|
+
* Trigger automatic format delay time, default: `100`
|
|
49
|
+
*/
|
|
50
|
+
autoFormatTime?: number;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
declare abstract class NuMonacoEditorBase implements AfterViewInit, OnDestroy {
|
|
54
|
+
protected el: ElementRef<HTMLElement>;
|
|
55
|
+
protected config: NuMonacoEditorConfig | null;
|
|
56
|
+
protected doc: Document;
|
|
57
|
+
protected ngZone: NgZone;
|
|
58
|
+
protected destroy$: DestroyRef;
|
|
59
|
+
protected _editor?: monaco.editor.IStandaloneCodeEditor | monaco.editor.IStandaloneDiffEditor;
|
|
60
|
+
protected _resize$: Subscription | null;
|
|
61
|
+
protected _config: NuMonacoEditorConfig;
|
|
62
|
+
protected _disabled?: boolean;
|
|
63
|
+
height: _angular_core.InputSignal<string>;
|
|
64
|
+
delay: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
65
|
+
disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
66
|
+
options: _angular_core.InputSignal<monaco.editor.IStandaloneEditorConstructionOptions | undefined>;
|
|
67
|
+
readonly event: _angular_core.OutputEmitterRef<NuMonacoEditorEvent>;
|
|
68
|
+
constructor();
|
|
69
|
+
protected abstract initMonaco(_options: monaco.editor.IStandaloneEditorConstructionOptions | undefined, _initEvent: boolean): void;
|
|
70
|
+
protected notifyEvent(type: NuMonacoEditorEventType, other?: NuMonacoEditorEvent): void;
|
|
71
|
+
protected setDisabled(v: boolean): this;
|
|
72
|
+
private init;
|
|
73
|
+
protected cleanResize(): this;
|
|
74
|
+
protected registerResize(): this;
|
|
75
|
+
updateOptions(v: monaco.editor.IStandaloneEditorConstructionOptions | undefined): void;
|
|
76
|
+
ngAfterViewInit(): void;
|
|
77
|
+
ngOnDestroy(): void;
|
|
78
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NuMonacoEditorBase, never>;
|
|
79
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NuMonacoEditorBase, "nu-monaco-base", never, { "height": { "alias": "height"; "required": false; "isSignal": true; }; "delay": { "alias": "delay"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, { "event": "event"; }, never, never, true, never>;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
declare class NuMonacoEditorComponent extends NuMonacoEditorBase implements ControlValueAccessor {
|
|
83
|
+
private _value;
|
|
84
|
+
private _placeholderWidget?;
|
|
85
|
+
placeholder: _angular_core.InputSignal<string | undefined>;
|
|
86
|
+
model: _angular_core.InputSignal<NuMonacoEditorModel | undefined>;
|
|
87
|
+
autoFormat: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
88
|
+
get editor(): monaco.editor.IStandaloneCodeEditor | null | undefined;
|
|
89
|
+
constructor();
|
|
90
|
+
private togglePlaceholder;
|
|
91
|
+
private onChange;
|
|
92
|
+
private onTouched;
|
|
93
|
+
initMonaco(options: monaco.editor.IStandaloneEditorConstructionOptions, initEvent: boolean): void;
|
|
94
|
+
writeValue(value: string): void;
|
|
95
|
+
registerOnChange(fn: (_: string) => void): void;
|
|
96
|
+
registerOnTouched(fn: any): void;
|
|
97
|
+
setDisabledState(v: boolean): void;
|
|
98
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NuMonacoEditorComponent, never>;
|
|
99
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NuMonacoEditorComponent, "nu-monaco-editor", ["nuMonacoEditor"], { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "model": { "alias": "model"; "required": false; "isSignal": true; }; "autoFormat": { "alias": "autoFormat"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
declare class NuMonacoEditorDiffComponent extends NuMonacoEditorBase {
|
|
103
|
+
old: _angular_core.InputSignal<NuMonacoEditorDiffModel | undefined>;
|
|
104
|
+
new: _angular_core.InputSignal<NuMonacoEditorDiffModel | undefined>;
|
|
105
|
+
get editor(): monaco.editor.IStandaloneDiffEditor | null | undefined;
|
|
106
|
+
initMonaco(options: monaco.editor.IStandaloneEditorConstructionOptions, initEvent: boolean): void;
|
|
107
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NuMonacoEditorDiffComponent, never>;
|
|
108
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NuMonacoEditorDiffComponent, "nu-monaco-diff-editor", ["nuMonacoDiffEditor"], { "old": { "alias": "old"; "required": false; "isSignal": true; }; "new": { "alias": "new"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
declare class NuMonacoEditorModule {
|
|
112
|
+
/**
|
|
113
|
+
* Or use `provideNuMonacoEditorConfig` instead.
|
|
114
|
+
*/
|
|
115
|
+
static forRoot(config?: NuMonacoEditorConfig): ModuleWithProviders<NuMonacoEditorModule>;
|
|
116
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NuMonacoEditorModule, never>;
|
|
117
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<NuMonacoEditorModule, never, [typeof i1.CommonModule, typeof NuMonacoEditorComponent, typeof NuMonacoEditorDiffComponent], [typeof NuMonacoEditorComponent, typeof NuMonacoEditorDiffComponent]>;
|
|
118
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<NuMonacoEditorModule>;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export { NU_MONACO_EDITOR_CONFIG, NuMonacoEditorComponent, NuMonacoEditorDiffComponent, NuMonacoEditorModule, provideNuMonacoEditorConfig };
|
|
122
|
+
export type { NuMonacoEditorConfig, NuMonacoEditorDiffModel, NuMonacoEditorEvent, NuMonacoEditorEventType, NuMonacoEditorModel };
|
package/monaco.d.ts
CHANGED
|
@@ -2924,6 +2924,9 @@ declare namespace monaco.editor {
|
|
|
2924
2924
|
* An event describing a change in the text of a model.
|
|
2925
2925
|
*/
|
|
2926
2926
|
export interface IModelContentChangedEvent {
|
|
2927
|
+
/**
|
|
2928
|
+
* The changes are ordered from the end of the document to the beginning, so they should be safe to apply in sequence.
|
|
2929
|
+
*/
|
|
2927
2930
|
readonly changes: IModelContentChange[];
|
|
2928
2931
|
/**
|
|
2929
2932
|
* The (new) end-of-line character.
|
|
@@ -3740,6 +3743,11 @@ declare namespace monaco.editor {
|
|
|
3740
3743
|
* Defaults to false.
|
|
3741
3744
|
*/
|
|
3742
3745
|
peekWidgetDefaultFocus?: 'tree' | 'editor';
|
|
3746
|
+
/**
|
|
3747
|
+
* Sets a placeholder for the editor.
|
|
3748
|
+
* If set, the placeholder is shown if the editor is empty.
|
|
3749
|
+
*/
|
|
3750
|
+
placeholder?: string | undefined;
|
|
3743
3751
|
/**
|
|
3744
3752
|
* Controls whether the definition link opens element in the peek widget.
|
|
3745
3753
|
* Defaults to false.
|
|
@@ -3821,6 +3829,11 @@ declare namespace monaco.editor {
|
|
|
3821
3829
|
* and the diff editor has a width less than `renderSideBySideInlineBreakpoint`, the inline view is used.
|
|
3822
3830
|
*/
|
|
3823
3831
|
useInlineViewWhenSpaceIsLimited?: boolean;
|
|
3832
|
+
/**
|
|
3833
|
+
* If set, the diff editor is optimized for small views.
|
|
3834
|
+
* Defaults to `false`.
|
|
3835
|
+
*/
|
|
3836
|
+
compactMode?: boolean;
|
|
3824
3837
|
/**
|
|
3825
3838
|
* Timeout in milliseconds after which diff computation is cancelled.
|
|
3826
3839
|
* Defaults to 5000.
|
|
@@ -3883,6 +3896,10 @@ declare namespace monaco.editor {
|
|
|
3883
3896
|
*/
|
|
3884
3897
|
showMoves?: boolean;
|
|
3885
3898
|
showEmptyDecorations?: boolean;
|
|
3899
|
+
/**
|
|
3900
|
+
* Only applies when `renderSideBySide` is set to false.
|
|
3901
|
+
*/
|
|
3902
|
+
useTrueInlineView?: boolean;
|
|
3886
3903
|
};
|
|
3887
3904
|
/**
|
|
3888
3905
|
* Is the diff editor inside another editor
|
|
@@ -4048,11 +4065,13 @@ declare namespace monaco.editor {
|
|
|
4048
4065
|
multipleDeclarations?: GoToLocationValues;
|
|
4049
4066
|
multipleImplementations?: GoToLocationValues;
|
|
4050
4067
|
multipleReferences?: GoToLocationValues;
|
|
4068
|
+
multipleTests?: GoToLocationValues;
|
|
4051
4069
|
alternativeDefinitionCommand?: string;
|
|
4052
4070
|
alternativeTypeDefinitionCommand?: string;
|
|
4053
4071
|
alternativeDeclarationCommand?: string;
|
|
4054
4072
|
alternativeImplementationCommand?: string;
|
|
4055
4073
|
alternativeReferenceCommand?: string;
|
|
4074
|
+
alternativeTestsCommand?: string;
|
|
4056
4075
|
}
|
|
4057
4076
|
|
|
4058
4077
|
/**
|
|
@@ -4571,7 +4590,6 @@ declare namespace monaco.editor {
|
|
|
4571
4590
|
* Does not clear active inline suggestions when the editor loses focus.
|
|
4572
4591
|
*/
|
|
4573
4592
|
keepOnBlur?: boolean;
|
|
4574
|
-
backgroundColoring?: boolean;
|
|
4575
4593
|
}
|
|
4576
4594
|
|
|
4577
4595
|
export interface IBracketPairColorizationOptions {
|
|
@@ -4934,68 +4952,69 @@ declare namespace monaco.editor {
|
|
|
4934
4952
|
pasteAs = 85,
|
|
4935
4953
|
parameterHints = 86,
|
|
4936
4954
|
peekWidgetDefaultFocus = 87,
|
|
4937
|
-
|
|
4938
|
-
|
|
4939
|
-
|
|
4940
|
-
|
|
4941
|
-
|
|
4942
|
-
|
|
4943
|
-
|
|
4944
|
-
|
|
4945
|
-
|
|
4946
|
-
|
|
4947
|
-
|
|
4948
|
-
|
|
4949
|
-
|
|
4950
|
-
|
|
4951
|
-
|
|
4952
|
-
|
|
4953
|
-
|
|
4954
|
-
|
|
4955
|
-
|
|
4956
|
-
|
|
4957
|
-
|
|
4958
|
-
|
|
4959
|
-
|
|
4960
|
-
|
|
4961
|
-
|
|
4962
|
-
|
|
4963
|
-
|
|
4964
|
-
|
|
4965
|
-
|
|
4966
|
-
|
|
4967
|
-
|
|
4968
|
-
|
|
4969
|
-
|
|
4970
|
-
|
|
4971
|
-
|
|
4972
|
-
|
|
4973
|
-
|
|
4974
|
-
|
|
4975
|
-
|
|
4976
|
-
|
|
4977
|
-
|
|
4978
|
-
|
|
4979
|
-
|
|
4980
|
-
|
|
4981
|
-
|
|
4982
|
-
|
|
4983
|
-
|
|
4984
|
-
|
|
4985
|
-
|
|
4986
|
-
|
|
4987
|
-
|
|
4988
|
-
|
|
4989
|
-
|
|
4990
|
-
|
|
4991
|
-
|
|
4992
|
-
|
|
4993
|
-
|
|
4994
|
-
|
|
4995
|
-
|
|
4996
|
-
|
|
4997
|
-
|
|
4998
|
-
|
|
4955
|
+
placeholder = 88,
|
|
4956
|
+
definitionLinkOpensInPeek = 89,
|
|
4957
|
+
quickSuggestions = 90,
|
|
4958
|
+
quickSuggestionsDelay = 91,
|
|
4959
|
+
readOnly = 92,
|
|
4960
|
+
readOnlyMessage = 93,
|
|
4961
|
+
renameOnType = 94,
|
|
4962
|
+
renderControlCharacters = 95,
|
|
4963
|
+
renderFinalNewline = 96,
|
|
4964
|
+
renderLineHighlight = 97,
|
|
4965
|
+
renderLineHighlightOnlyWhenFocus = 98,
|
|
4966
|
+
renderValidationDecorations = 99,
|
|
4967
|
+
renderWhitespace = 100,
|
|
4968
|
+
revealHorizontalRightPadding = 101,
|
|
4969
|
+
roundedSelection = 102,
|
|
4970
|
+
rulers = 103,
|
|
4971
|
+
scrollbar = 104,
|
|
4972
|
+
scrollBeyondLastColumn = 105,
|
|
4973
|
+
scrollBeyondLastLine = 106,
|
|
4974
|
+
scrollPredominantAxis = 107,
|
|
4975
|
+
selectionClipboard = 108,
|
|
4976
|
+
selectionHighlight = 109,
|
|
4977
|
+
selectOnLineNumbers = 110,
|
|
4978
|
+
showFoldingControls = 111,
|
|
4979
|
+
showUnused = 112,
|
|
4980
|
+
snippetSuggestions = 113,
|
|
4981
|
+
smartSelect = 114,
|
|
4982
|
+
smoothScrolling = 115,
|
|
4983
|
+
stickyScroll = 116,
|
|
4984
|
+
stickyTabStops = 117,
|
|
4985
|
+
stopRenderingLineAfter = 118,
|
|
4986
|
+
suggest = 119,
|
|
4987
|
+
suggestFontSize = 120,
|
|
4988
|
+
suggestLineHeight = 121,
|
|
4989
|
+
suggestOnTriggerCharacters = 122,
|
|
4990
|
+
suggestSelection = 123,
|
|
4991
|
+
tabCompletion = 124,
|
|
4992
|
+
tabIndex = 125,
|
|
4993
|
+
unicodeHighlighting = 126,
|
|
4994
|
+
unusualLineTerminators = 127,
|
|
4995
|
+
useShadowDOM = 128,
|
|
4996
|
+
useTabStops = 129,
|
|
4997
|
+
wordBreak = 130,
|
|
4998
|
+
wordSegmenterLocales = 131,
|
|
4999
|
+
wordSeparators = 132,
|
|
5000
|
+
wordWrap = 133,
|
|
5001
|
+
wordWrapBreakAfterCharacters = 134,
|
|
5002
|
+
wordWrapBreakBeforeCharacters = 135,
|
|
5003
|
+
wordWrapColumn = 136,
|
|
5004
|
+
wordWrapOverride1 = 137,
|
|
5005
|
+
wordWrapOverride2 = 138,
|
|
5006
|
+
wrappingIndent = 139,
|
|
5007
|
+
wrappingStrategy = 140,
|
|
5008
|
+
showDeprecated = 141,
|
|
5009
|
+
inlayHints = 142,
|
|
5010
|
+
editorClassName = 143,
|
|
5011
|
+
pixelRatio = 144,
|
|
5012
|
+
tabFocusMode = 145,
|
|
5013
|
+
layoutInfo = 146,
|
|
5014
|
+
wrappingInfo = 147,
|
|
5015
|
+
defaultColorDecorators = 148,
|
|
5016
|
+
colorDecoratorsActivatedOn = 149,
|
|
5017
|
+
inlineCompletionsAccessibilityVerbose = 150
|
|
4999
5018
|
}
|
|
5000
5019
|
|
|
5001
5020
|
export const EditorOptions: {
|
|
@@ -5008,8 +5027,8 @@ declare namespace monaco.editor {
|
|
|
5008
5027
|
screenReaderAnnounceInlineSuggestion: IEditorOption<EditorOption.screenReaderAnnounceInlineSuggestion, boolean>;
|
|
5009
5028
|
autoClosingBrackets: IEditorOption<EditorOption.autoClosingBrackets, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
|
|
5010
5029
|
autoClosingComments: IEditorOption<EditorOption.autoClosingComments, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
|
|
5011
|
-
autoClosingDelete: IEditorOption<EditorOption.autoClosingDelete, '
|
|
5012
|
-
autoClosingOvertype: IEditorOption<EditorOption.autoClosingOvertype, '
|
|
5030
|
+
autoClosingDelete: IEditorOption<EditorOption.autoClosingDelete, 'auto' | 'always' | 'never'>;
|
|
5031
|
+
autoClosingOvertype: IEditorOption<EditorOption.autoClosingOvertype, 'auto' | 'always' | 'never'>;
|
|
5013
5032
|
autoClosingQuotes: IEditorOption<EditorOption.autoClosingQuotes, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
|
|
5014
5033
|
autoIndent: IEditorOption<EditorOption.autoIndent, EditorAutoIndentStrategy>;
|
|
5015
5034
|
automaticLayout: IEditorOption<EditorOption.automaticLayout, boolean>;
|
|
@@ -5021,7 +5040,7 @@ declare namespace monaco.editor {
|
|
|
5021
5040
|
codeLensFontFamily: IEditorOption<EditorOption.codeLensFontFamily, string>;
|
|
5022
5041
|
codeLensFontSize: IEditorOption<EditorOption.codeLensFontSize, number>;
|
|
5023
5042
|
colorDecorators: IEditorOption<EditorOption.colorDecorators, boolean>;
|
|
5024
|
-
colorDecoratorActivatedOn: IEditorOption<EditorOption.colorDecoratorsActivatedOn, '
|
|
5043
|
+
colorDecoratorActivatedOn: IEditorOption<EditorOption.colorDecoratorsActivatedOn, 'hover' | 'clickAndHover' | 'click'>;
|
|
5025
5044
|
colorDecoratorsLimit: IEditorOption<EditorOption.colorDecoratorsLimit, number>;
|
|
5026
5045
|
columnSelection: IEditorOption<EditorOption.columnSelection, boolean>;
|
|
5027
5046
|
comments: IEditorOption<EditorOption.comments, Readonly<Required<IEditorCommentsOptions>>>;
|
|
@@ -5088,6 +5107,7 @@ declare namespace monaco.editor {
|
|
|
5088
5107
|
pasteAs: IEditorOption<EditorOption.pasteAs, Readonly<Required<IPasteAsOptions>>>;
|
|
5089
5108
|
parameterHints: IEditorOption<EditorOption.parameterHints, Readonly<Required<IEditorParameterHintOptions>>>;
|
|
5090
5109
|
peekWidgetDefaultFocus: IEditorOption<EditorOption.peekWidgetDefaultFocus, 'tree' | 'editor'>;
|
|
5110
|
+
placeholder: IEditorOption<EditorOption.placeholder, string>;
|
|
5091
5111
|
definitionLinkOpensInPeek: IEditorOption<EditorOption.definitionLinkOpensInPeek, boolean>;
|
|
5092
5112
|
quickSuggestions: IEditorOption<EditorOption.quickSuggestions, InternalQuickSuggestionsOptions>;
|
|
5093
5113
|
quickSuggestionsDelay: IEditorOption<EditorOption.quickSuggestionsDelay, number>;
|
|
@@ -5129,13 +5149,13 @@ declare namespace monaco.editor {
|
|
|
5129
5149
|
tabCompletion: IEditorOption<EditorOption.tabCompletion, 'on' | 'off' | 'onlySnippets'>;
|
|
5130
5150
|
tabIndex: IEditorOption<EditorOption.tabIndex, number>;
|
|
5131
5151
|
unicodeHighlight: IEditorOption<EditorOption.unicodeHighlighting, any>;
|
|
5132
|
-
unusualLineTerminators: IEditorOption<EditorOption.unusualLineTerminators, '
|
|
5152
|
+
unusualLineTerminators: IEditorOption<EditorOption.unusualLineTerminators, 'off' | 'auto' | 'prompt'>;
|
|
5133
5153
|
useShadowDOM: IEditorOption<EditorOption.useShadowDOM, boolean>;
|
|
5134
5154
|
useTabStops: IEditorOption<EditorOption.useTabStops, boolean>;
|
|
5135
5155
|
wordBreak: IEditorOption<EditorOption.wordBreak, 'normal' | 'keepAll'>;
|
|
5136
5156
|
wordSegmenterLocales: IEditorOption<EditorOption.wordSegmenterLocales, {}>;
|
|
5137
5157
|
wordSeparators: IEditorOption<EditorOption.wordSeparators, string>;
|
|
5138
|
-
wordWrap: IEditorOption<EditorOption.wordWrap, '
|
|
5158
|
+
wordWrap: IEditorOption<EditorOption.wordWrap, 'wordWrapColumn' | 'on' | 'off' | 'bounded'>;
|
|
5139
5159
|
wordWrapBreakAfterCharacters: IEditorOption<EditorOption.wordWrapBreakAfterCharacters, string>;
|
|
5140
5160
|
wordWrapBreakBeforeCharacters: IEditorOption<EditorOption.wordWrapBreakBeforeCharacters, string>;
|
|
5141
5161
|
wordWrapColumn: IEditorOption<EditorOption.wordWrapColumn, number>;
|
|
@@ -7944,6 +7964,11 @@ declare namespace monaco.languages {
|
|
|
7944
7964
|
arguments?: any[];
|
|
7945
7965
|
}
|
|
7946
7966
|
|
|
7967
|
+
export interface CommentThreadRevealOptions {
|
|
7968
|
+
preserveFocus: boolean;
|
|
7969
|
+
focusReply: boolean;
|
|
7970
|
+
}
|
|
7971
|
+
|
|
7947
7972
|
export interface CommentAuthorInformation {
|
|
7948
7973
|
name: string;
|
|
7949
7974
|
iconPath?: UriComponents;
|
|
@@ -8058,7 +8083,7 @@ declare namespace monaco.languages {
|
|
|
8058
8083
|
*
|
|
8059
8084
|
* @param document The document to provide mapped edits for.
|
|
8060
8085
|
* @param codeBlocks Code blocks that come from an LLM's reply.
|
|
8061
|
-
* "
|
|
8086
|
+
* "Apply in Editor" in the panel chat only sends one edit that the user clicks on, but inline chat can send multiple blocks and let the lang server decide what to do with them.
|
|
8062
8087
|
* @param context The context for providing mapped edits.
|
|
8063
8088
|
* @param token A cancellation token.
|
|
8064
8089
|
* @returns A provider result of text edits.
|
package/package.json
CHANGED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { AfterViewInit, DestroyRef, ElementRef, EventEmitter, NgZone, OnDestroy } from '@angular/core';
|
|
2
|
-
import { Subscription } from 'rxjs';
|
|
3
|
-
import { NuMonacoEditorConfig } from './monaco-editor.config';
|
|
4
|
-
import { NuMonacoEditorEvent, NuMonacoEditorEventType } from './monaco-editor.types';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare abstract class NuMonacoEditorBase implements AfterViewInit, OnDestroy {
|
|
7
|
-
protected el: ElementRef<HTMLElement>;
|
|
8
|
-
protected config: NuMonacoEditorConfig | null;
|
|
9
|
-
protected doc: Document;
|
|
10
|
-
protected ngZone: NgZone;
|
|
11
|
-
protected destroy$: DestroyRef;
|
|
12
|
-
protected _editor?: monaco.editor.IStandaloneCodeEditor | monaco.editor.IStandaloneDiffEditor;
|
|
13
|
-
protected _options: monaco.editor.IStandaloneEditorConstructionOptions;
|
|
14
|
-
protected _resize$: Subscription | null;
|
|
15
|
-
protected _config: NuMonacoEditorConfig;
|
|
16
|
-
protected _disabled?: boolean;
|
|
17
|
-
height: string;
|
|
18
|
-
delay: number;
|
|
19
|
-
set disabled(val: boolean | string);
|
|
20
|
-
set options(val: monaco.editor.IStandaloneEditorConstructionOptions);
|
|
21
|
-
get options(): monaco.editor.IStandaloneEditorConstructionOptions;
|
|
22
|
-
readonly event: EventEmitter<NuMonacoEditorEvent>;
|
|
23
|
-
constructor();
|
|
24
|
-
protected abstract initMonaco(_options: monaco.editor.IStandaloneEditorConstructionOptions, _initEvent: boolean): void;
|
|
25
|
-
protected notifyEvent(type: NuMonacoEditorEventType, other?: NuMonacoEditorEvent): void;
|
|
26
|
-
protected setDisabled(): this;
|
|
27
|
-
private init;
|
|
28
|
-
protected cleanResize(): this;
|
|
29
|
-
protected registerResize(): this;
|
|
30
|
-
protected updateOptions(): void;
|
|
31
|
-
ngAfterViewInit(): void;
|
|
32
|
-
ngOnDestroy(): void;
|
|
33
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NuMonacoEditorBase, never>;
|
|
34
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NuMonacoEditorBase, "nu-monaco-base", never, { "height": { "alias": "height"; "required": false; }; "delay": { "alias": "delay"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, { "event": "event"; }, never, never, true, never>;
|
|
35
|
-
static ngAcceptInputType_delay: unknown;
|
|
36
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { NuMonacoEditorBase } from './monaco-editor-base.component';
|
|
2
|
-
import { NuMonacoEditorDiffModel } from './monaco-editor.types';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class NuMonacoEditorDiffComponent extends NuMonacoEditorBase {
|
|
5
|
-
old?: NuMonacoEditorDiffModel | null;
|
|
6
|
-
new?: NuMonacoEditorDiffModel | null;
|
|
7
|
-
get editor(): monaco.editor.IStandaloneDiffEditor | null | undefined;
|
|
8
|
-
initMonaco(options: monaco.editor.IStandaloneEditorConstructionOptions, initEvent: boolean): void;
|
|
9
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NuMonacoEditorDiffComponent, never>;
|
|
10
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NuMonacoEditorDiffComponent, "nu-monaco-diff-editor", ["nuMonacoDiffEditor"], { "old": { "alias": "old"; "required": false; }; "new": { "alias": "new"; "required": false; }; }, {}, never, never, true, never>;
|
|
11
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { ControlValueAccessor } from '@angular/forms';
|
|
2
|
-
import { NuMonacoEditorBase } from './monaco-editor-base.component';
|
|
3
|
-
import { NuMonacoEditorModel } from './monaco-editor.types';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class NuMonacoEditorComponent extends NuMonacoEditorBase implements ControlValueAccessor {
|
|
6
|
-
private _value;
|
|
7
|
-
private _placeholderWidget?;
|
|
8
|
-
private _placeholder?;
|
|
9
|
-
set placeholder(v: string | null | undefined);
|
|
10
|
-
model?: NuMonacoEditorModel | null;
|
|
11
|
-
autoFormat: boolean;
|
|
12
|
-
get editor(): monaco.editor.IStandaloneCodeEditor | null | undefined;
|
|
13
|
-
private togglePlaceholder;
|
|
14
|
-
private onChange;
|
|
15
|
-
private onTouched;
|
|
16
|
-
initMonaco(options: monaco.editor.IStandaloneEditorConstructionOptions, initEvent: boolean): void;
|
|
17
|
-
writeValue(value: string): void;
|
|
18
|
-
registerOnChange(fn: (_: string) => void): void;
|
|
19
|
-
registerOnTouched(fn: any): void;
|
|
20
|
-
setDisabledState(_isDisabled: boolean): void;
|
|
21
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NuMonacoEditorComponent, never>;
|
|
22
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NuMonacoEditorComponent, "nu-monaco-editor", ["nuMonacoEditor"], { "placeholder": { "alias": "placeholder"; "required": false; }; "model": { "alias": "model"; "required": false; }; "autoFormat": { "alias": "autoFormat"; "required": false; }; }, {}, never, never, true, never>;
|
|
23
|
-
static ngAcceptInputType_autoFormat: unknown;
|
|
24
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { EnvironmentProviders, InjectionToken } from '@angular/core';
|
|
2
|
-
export declare const NU_MONACO_EDITOR_CONFIG: InjectionToken<NuMonacoEditorConfig>;
|
|
3
|
-
export declare function provideNuMonacoEditorConfig(config?: NuMonacoEditorConfig): EnvironmentProviders;
|
|
4
|
-
export interface NuMonacoEditorConfig {
|
|
5
|
-
/**
|
|
6
|
-
* The base URL to monaco editor library assets via AMD (RequireJS), Default: `https://cdn.jsdelivr.net/npm/monaco-editor/min`
|
|
7
|
-
* You can using local path, e.g.: `assets/monaco-editor/min`.
|
|
8
|
-
*/
|
|
9
|
-
baseUrl?: string;
|
|
10
|
-
/**
|
|
11
|
-
* Default options when creating editors
|
|
12
|
-
*/
|
|
13
|
-
defaultOptions?: monaco.editor.IStandaloneEditorConstructionOptions;
|
|
14
|
-
/**
|
|
15
|
-
* The event after the first loading of the monaco editor library is completed, use this function to extend monaco editor functionalities.
|
|
16
|
-
* - @param `_monaco` equar to `window.monaco`
|
|
17
|
-
*/
|
|
18
|
-
monacoLoad?: (_monaco: any) => void;
|
|
19
|
-
/**
|
|
20
|
-
* The event before the first preload of the monaco editor library is completed, use this function to set nls availableLanguages.
|
|
21
|
-
*/
|
|
22
|
-
monacoPreLoad?: () => void;
|
|
23
|
-
/**
|
|
24
|
-
* Trigger automatic format delay time, default: `100`
|
|
25
|
-
*/
|
|
26
|
-
autoFormatTime?: number;
|
|
27
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
-
import { NuMonacoEditorConfig } from './monaco-editor.config';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "./monaco-editor.component";
|
|
6
|
-
import * as i3 from "./monaco-editor-diff.component";
|
|
7
|
-
export declare class NuMonacoEditorModule {
|
|
8
|
-
/**
|
|
9
|
-
* Or use `provideNuMonacoEditorConfig` instead.
|
|
10
|
-
*/
|
|
11
|
-
static forRoot(config?: NuMonacoEditorConfig): ModuleWithProviders<NuMonacoEditorModule>;
|
|
12
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NuMonacoEditorModule, never>;
|
|
13
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<NuMonacoEditorModule, never, [typeof i1.CommonModule, typeof i2.NuMonacoEditorComponent, typeof i3.NuMonacoEditorDiffComponent], [typeof i2.NuMonacoEditorComponent, typeof i3.NuMonacoEditorDiffComponent]>;
|
|
14
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<NuMonacoEditorModule>;
|
|
15
|
-
}
|
package/monaco-editor.types.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export interface NuMonacoEditorModel {
|
|
2
|
-
value?: string;
|
|
3
|
-
language?: string;
|
|
4
|
-
uri?: monaco.Uri;
|
|
5
|
-
}
|
|
6
|
-
export interface NuMonacoEditorDiffModel {
|
|
7
|
-
code: string;
|
|
8
|
-
language?: string;
|
|
9
|
-
}
|
|
10
|
-
export type NuMonacoEditorEventType = 'load-error' | 'init' | 're-init' | 'resize' | 'update-diff' | 'error';
|
|
11
|
-
export interface NuMonacoEditorEvent {
|
|
12
|
-
type?: NuMonacoEditorEventType;
|
|
13
|
-
editor?: monaco.editor.IStandaloneCodeEditor | monaco.editor.IStandaloneDiffEditor;
|
|
14
|
-
error?: string;
|
|
15
|
-
/** Just only `nu-monaco-editor-diff` component */
|
|
16
|
-
diffValue?: string;
|
|
17
|
-
}
|
package/placholder.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export declare class PlaceholderWidget implements monaco.editor.IContentWidget {
|
|
2
|
-
private readonly ID;
|
|
3
|
-
private placeholder?;
|
|
4
|
-
private editor;
|
|
5
|
-
private node?;
|
|
6
|
-
constructor(editor: monaco.editor.IStandaloneCodeEditor, placeholder?: string);
|
|
7
|
-
update(text?: string | null | undefined): void;
|
|
8
|
-
getId(): string;
|
|
9
|
-
getDomNode(): HTMLElement;
|
|
10
|
-
getPosition(): monaco.editor.IContentWidgetPosition | null;
|
|
11
|
-
dispose(): void;
|
|
12
|
-
}
|