@ng-util/markdown 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-markdown.mjs +83 -103
- package/fesm2022/ng-util-markdown.mjs.map +1 -1
- package/index.d.ts +89 -5
- package/package.json +1 -1
- package/markdown-base.component.d.ts +0 -27
- package/markdown-preview.component.d.ts +0 -7
- package/markdown.component.d.ts +0 -14
- package/markdown.config.d.ts +0 -13
- package/markdown.module.d.ts +0 -15
- package/markdown.service.d.ts +0 -15
- package/public-api.d.ts +0 -6
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, makeEnvironmentProviders, inject, Injectable, ElementRef,
|
|
3
|
-
import { NuLazyService } from '@ng-util/lazy';
|
|
2
|
+
import { InjectionToken, makeEnvironmentProviders, inject, Injectable, ElementRef, input, numberAttribute, booleanAttribute, Directive, EventEmitter, ChangeDetectionStrategy, Component, forwardRef, NgModule } from '@angular/core';
|
|
4
3
|
import { Subject } from 'rxjs';
|
|
4
|
+
import { NuLazyService } from '@ng-util/lazy';
|
|
5
5
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
6
6
|
import { CommonModule } from '@angular/common';
|
|
7
7
|
|
|
@@ -11,18 +11,19 @@ function provideNuMarkdownConfig(config) {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
class NuMarkdownService {
|
|
14
|
+
config = inject(NU_MARKDOWN_CONFIG, { optional: true });
|
|
15
|
+
lazySrv = inject(NuLazyService);
|
|
16
|
+
libs;
|
|
17
|
+
loading = false;
|
|
18
|
+
loaded = false;
|
|
19
|
+
notify$ = new Subject();
|
|
14
20
|
get notify() {
|
|
15
21
|
return this.notify$.asObservable();
|
|
16
22
|
}
|
|
17
23
|
constructor() {
|
|
18
|
-
this.config = inject(NU_MARKDOWN_CONFIG, { optional: true });
|
|
19
|
-
this.lazySrv = inject(NuLazyService);
|
|
20
|
-
this.loading = false;
|
|
21
|
-
this.loaded = false;
|
|
22
|
-
this.notify$ = new Subject();
|
|
23
24
|
this.libs = this.config?.libs || [
|
|
24
25
|
`https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js`,
|
|
25
|
-
`https://cdn.jsdelivr.net/npm/vditor/dist/index.css
|
|
26
|
+
`https://cdn.jsdelivr.net/npm/vditor/dist/index.css`
|
|
26
27
|
];
|
|
27
28
|
}
|
|
28
29
|
load() {
|
|
@@ -41,35 +42,27 @@ class NuMarkdownService {
|
|
|
41
42
|
this.lazySrv.load(libs);
|
|
42
43
|
return this;
|
|
43
44
|
}
|
|
44
|
-
/** @nocollapse */ static
|
|
45
|
-
/** @nocollapse */ static
|
|
45
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMarkdownService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
46
|
+
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMarkdownService, providedIn: 'root' });
|
|
46
47
|
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMarkdownService, decorators: [{
|
|
48
49
|
type: Injectable,
|
|
49
50
|
args: [{ providedIn: 'root' }]
|
|
50
51
|
}], ctorParameters: () => [] });
|
|
51
52
|
|
|
52
53
|
class NuMarkdownBaseComponent {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
this.ready = new EventEmitter();
|
|
61
|
-
}
|
|
62
|
-
set value(v) {
|
|
63
|
-
this._value = v;
|
|
64
|
-
if (this.loaded) {
|
|
65
|
-
this.init();
|
|
66
|
-
}
|
|
67
|
-
}
|
|
54
|
+
el = inject(ElementRef);
|
|
55
|
+
config = inject(NU_MARKDOWN_CONFIG, { optional: true });
|
|
56
|
+
srv = inject(NuMarkdownService);
|
|
57
|
+
notify$;
|
|
58
|
+
_instance;
|
|
59
|
+
delay = input(0, { transform: numberAttribute });
|
|
60
|
+
disabled = input(false, { transform: booleanAttribute });
|
|
68
61
|
get instance() {
|
|
69
62
|
return this._instance;
|
|
70
63
|
}
|
|
71
64
|
initDelay() {
|
|
72
|
-
setTimeout(() => this.init(), this.delay);
|
|
65
|
+
setTimeout(() => this.init(), this.delay());
|
|
73
66
|
}
|
|
74
67
|
get loaded() {
|
|
75
68
|
return !!window.Vditor;
|
|
@@ -85,107 +78,94 @@ class NuMarkdownBaseComponent {
|
|
|
85
78
|
ngOnDestroy() {
|
|
86
79
|
this.notify$?.unsubscribe();
|
|
87
80
|
}
|
|
88
|
-
/** @nocollapse */ static
|
|
89
|
-
/** @nocollapse */ static
|
|
81
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMarkdownBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
82
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.2", type: NuMarkdownBaseComponent, isStandalone: true, inputs: { delay: { classPropertyName: "delay", publicName: "delay", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
90
83
|
}
|
|
91
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
84
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMarkdownBaseComponent, decorators: [{
|
|
92
85
|
type: Directive
|
|
93
|
-
}]
|
|
94
|
-
type: Input,
|
|
95
|
-
args: [{ transform: numberAttribute }]
|
|
96
|
-
}], disabled: [{
|
|
97
|
-
type: Input,
|
|
98
|
-
args: [{ transform: booleanAttribute }]
|
|
99
|
-
}], options: [{
|
|
100
|
-
type: Input
|
|
101
|
-
}], ready: [{
|
|
102
|
-
type: Output
|
|
103
|
-
}], value: [{
|
|
104
|
-
type: Input
|
|
105
|
-
}] } });
|
|
86
|
+
}] });
|
|
106
87
|
|
|
107
88
|
class NuMarkdownPreviewComponent extends NuMarkdownBaseComponent {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
89
|
+
options = input();
|
|
90
|
+
value = input('');
|
|
91
|
+
ready = new EventEmitter();
|
|
92
|
+
async init() {
|
|
93
|
+
await Vditor.preview(this.el.nativeElement, this.value(), {
|
|
94
|
+
cdn: 'https://cdn.jsdelivr.net/npm/vditor',
|
|
95
|
+
...this.options()
|
|
112
96
|
});
|
|
97
|
+
this.ready.emit(this.el.nativeElement.innerHTML);
|
|
113
98
|
}
|
|
114
|
-
/** @nocollapse */ static
|
|
115
|
-
/** @nocollapse */ static
|
|
99
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMarkdownPreviewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
100
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.2", type: NuMarkdownPreviewComponent, isStandalone: true, selector: "nu-markdown-preview", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["nuMarkdownPreview"], usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
116
101
|
}
|
|
117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMarkdownPreviewComponent, decorators: [{
|
|
118
103
|
type: Component,
|
|
119
104
|
args: [{
|
|
120
105
|
selector: 'nu-markdown-preview',
|
|
121
106
|
template: ``,
|
|
122
107
|
exportAs: 'nuMarkdownPreview',
|
|
123
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
108
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
124
109
|
}]
|
|
125
110
|
}] });
|
|
126
111
|
|
|
127
112
|
class NuMarkdownComponent extends NuMarkdownBaseComponent {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
}
|
|
113
|
+
options = input();
|
|
114
|
+
ready = new EventEmitter();
|
|
115
|
+
value = '';
|
|
116
|
+
onChange = (_) => { };
|
|
132
117
|
init() {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
this.ngZone.run(() => this.ready.emit(this._instance));
|
|
152
|
-
});
|
|
118
|
+
const options = {
|
|
119
|
+
value: this.value,
|
|
120
|
+
cache: {
|
|
121
|
+
enable: false
|
|
122
|
+
},
|
|
123
|
+
mode: 'sv',
|
|
124
|
+
minHeight: 350,
|
|
125
|
+
input: (value) => {
|
|
126
|
+
this.onChange(value);
|
|
127
|
+
},
|
|
128
|
+
after: () => {
|
|
129
|
+
this.setDisabled(this.disabled());
|
|
130
|
+
},
|
|
131
|
+
...this.config?.defaultOptions,
|
|
132
|
+
...this.options
|
|
133
|
+
};
|
|
134
|
+
this._instance = new Vditor(this.el.nativeElement, options);
|
|
135
|
+
this.ready.emit(this._instance);
|
|
153
136
|
}
|
|
154
|
-
setDisabled() {
|
|
155
|
-
|
|
137
|
+
setDisabled(v) {
|
|
138
|
+
const i = this._instance;
|
|
139
|
+
if (i == null)
|
|
156
140
|
return;
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
this.instance.disabled();
|
|
141
|
+
if (v) {
|
|
142
|
+
i.disabled();
|
|
160
143
|
}
|
|
161
144
|
else {
|
|
162
|
-
|
|
145
|
+
i.enable();
|
|
163
146
|
}
|
|
164
147
|
}
|
|
165
148
|
writeValue(value) {
|
|
166
|
-
this.
|
|
167
|
-
|
|
168
|
-
this.instance.setValue(this._value);
|
|
169
|
-
}
|
|
149
|
+
this.value = value;
|
|
150
|
+
this.instance?.setValue(value);
|
|
170
151
|
}
|
|
171
152
|
registerOnChange(fn) {
|
|
172
153
|
this.onChange = fn;
|
|
173
154
|
}
|
|
174
155
|
registerOnTouched(_) { }
|
|
175
|
-
setDisabledState(
|
|
176
|
-
this.
|
|
177
|
-
this.setDisabled();
|
|
156
|
+
setDisabledState(v) {
|
|
157
|
+
this.setDisabled(v);
|
|
178
158
|
}
|
|
179
|
-
/** @nocollapse */ static
|
|
180
|
-
/** @nocollapse */ static
|
|
159
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMarkdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
160
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.2", type: NuMarkdownComponent, isStandalone: true, selector: "nu-markdown", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
181
161
|
{
|
|
182
162
|
provide: NG_VALUE_ACCESSOR,
|
|
183
163
|
useExisting: forwardRef((() => NuMarkdownComponent)),
|
|
184
|
-
multi: true
|
|
185
|
-
}
|
|
186
|
-
], exportAs: ["nuMarkdown"], usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
164
|
+
multi: true
|
|
165
|
+
}
|
|
166
|
+
], exportAs: ["nuMarkdown"], usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
187
167
|
}
|
|
188
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
168
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMarkdownComponent, decorators: [{
|
|
189
169
|
type: Component,
|
|
190
170
|
args: [{
|
|
191
171
|
selector: 'nu-markdown',
|
|
@@ -195,10 +175,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
|
|
|
195
175
|
{
|
|
196
176
|
provide: NG_VALUE_ACCESSOR,
|
|
197
177
|
useExisting: forwardRef((() => NuMarkdownComponent)),
|
|
198
|
-
multi: true
|
|
199
|
-
}
|
|
178
|
+
multi: true
|
|
179
|
+
}
|
|
200
180
|
],
|
|
201
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
181
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
202
182
|
}]
|
|
203
183
|
}] });
|
|
204
184
|
|
|
@@ -210,18 +190,18 @@ class NuMarkdownModule {
|
|
|
210
190
|
static forRoot(config) {
|
|
211
191
|
return {
|
|
212
192
|
ngModule: NuMarkdownModule,
|
|
213
|
-
providers: [{ provide: NU_MARKDOWN_CONFIG, useValue: config }]
|
|
193
|
+
providers: [{ provide: NU_MARKDOWN_CONFIG, useValue: config }]
|
|
214
194
|
};
|
|
215
195
|
}
|
|
216
|
-
/** @nocollapse */ static
|
|
217
|
-
/** @nocollapse */ static
|
|
218
|
-
/** @nocollapse */ static
|
|
196
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMarkdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
197
|
+
/** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: NuMarkdownModule, imports: [CommonModule, NuMarkdownComponent, NuMarkdownPreviewComponent], exports: [NuMarkdownComponent, NuMarkdownPreviewComponent] });
|
|
198
|
+
/** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMarkdownModule, imports: [CommonModule] });
|
|
219
199
|
}
|
|
220
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
200
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMarkdownModule, decorators: [{
|
|
221
201
|
type: NgModule,
|
|
222
202
|
args: [{
|
|
223
203
|
imports: [CommonModule, ...COMPONENTS],
|
|
224
|
-
exports: COMPONENTS
|
|
204
|
+
exports: COMPONENTS
|
|
225
205
|
}]
|
|
226
206
|
}] });
|
|
227
207
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-util-markdown.mjs","sources":["../../../../packages/markdown/markdown.config.ts","../../../../packages/markdown/markdown.service.ts","../../../../packages/markdown/markdown-base.component.ts","../../../../packages/markdown/markdown-preview.component.ts","../../../../packages/markdown/markdown.component.ts","../../../../packages/markdown/markdown.module.ts","../../../../packages/markdown/ng-util-markdown.ts"],"sourcesContent":["import { EnvironmentProviders, InjectionToken, makeEnvironmentProviders } from '@angular/core';\n\nexport const NU_MARKDOWN_CONFIG = new InjectionToken<NuMarkdownConfig>('NU_MARKDOWN_CONFIG');\n\nexport function provideNuMarkdownConfig(config?: NuMarkdownConfig): EnvironmentProviders {\n return makeEnvironmentProviders([{ provide: NU_MARKDOWN_CONFIG, useValue: config }]);\n}\n\nexport interface NuMarkdownConfig {\n /**\n * The base URL to [Vditor](https://github.com/Vanessa219/vditor) library, Default: `['https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js', 'https://cdn.jsdelivr.net/npm/vditor/dist/index.css']`\n */\n libs?: string[];\n\n /**\n * Equar [IOptions](https://github.com/Vanessa219/vditor/blob/master/types/index.d.ts#L432)\n */\n defaultOptions?: any;\n}\n","import { inject, Injectable } from '@angular/core';\nimport { NuLazyService } from '@ng-util/lazy';\nimport { Observable, Subject } from 'rxjs';\nimport { NU_MARKDOWN_CONFIG } from './markdown.config';\n\n@Injectable({ providedIn: 'root' })\nexport class NuMarkdownService {\n private readonly config = inject(NU_MARKDOWN_CONFIG, { optional: true });\n private readonly lazySrv = inject(NuLazyService);\n private libs: string[];\n private loading = false;\n private loaded = false;\n private notify$ = new Subject<void>();\n\n get notify(): Observable<void> {\n return this.notify$.asObservable();\n }\n\n constructor() {\n this.libs = this.config?.libs || [\n `https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js`,\n `https://cdn.jsdelivr.net/npm/vditor/dist/index.css`,\n ];\n }\n\n load(): this {\n if (this.loading) {\n if (this.loaded) {\n this.notify$.next();\n }\n return this;\n }\n this.loading = true;\n\n const libs = this.libs!;\n this.lazySrv.monitor(libs).subscribe(() => {\n this.loaded = true;\n this.notify$.next();\n });\n this.lazySrv.load(libs);\n\n return this;\n }\n}\n","import {\n AfterViewInit,\n booleanAttribute,\n Directive,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n NgZone,\n numberAttribute,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NU_MARKDOWN_CONFIG } from './markdown.config';\nimport { NuMarkdownService } from './markdown.service';\n\n@Directive()\nexport abstract class NuMarkdownBaseComponent implements AfterViewInit, OnDestroy {\n protected el = inject<ElementRef<HTMLElement>>(ElementRef);\n protected config = inject(NU_MARKDOWN_CONFIG, { optional: true });\n protected srv = inject(NuMarkdownService);\n protected ngZone = inject(NgZone);\n\n private notify$?: Subscription;\n protected _instance: any;\n\n @Input({ transform: numberAttribute }) delay = 0;\n @Input({ transform: booleanAttribute }) disabled = false;\n @Input() options: any;\n @Output() readonly ready = new EventEmitter<string>();\n\n protected _value!: string;\n @Input()\n set value(v: string) {\n this._value = v;\n if (this.loaded) {\n this.init();\n }\n }\n\n get instance(): any {\n return this._instance;\n }\n\n private initDelay(): void {\n setTimeout(() => this.init(), this.delay);\n }\n\n protected abstract init(): void;\n\n protected get loaded(): boolean {\n return !!(window as any).Vditor;\n }\n\n ngAfterViewInit(): void {\n this.notify$ = this.srv.notify.subscribe(() => this.initDelay());\n if (this.loaded) {\n this.initDelay();\n return;\n }\n this.srv.load();\n }\n\n ngOnDestroy(): void {\n this.notify$?.unsubscribe();\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NuMarkdownBaseComponent } from './markdown-base.component';\n\ndeclare var Vditor: any;\n\n@Component({\n selector: 'nu-markdown-preview',\n template: ``,\n exportAs: 'nuMarkdownPreview',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NuMarkdownPreviewComponent extends NuMarkdownBaseComponent {\n protected init(): void {\n this.ngZone.runOutsideAngular(async () => {\n await Vditor.preview(this.el.nativeElement, this._value, this.options);\n this.ngZone.run(() => this.ready.emit(this.el.nativeElement.innerHTML));\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NuMarkdownBaseComponent } from './markdown-base.component';\n\ndeclare var Vditor: any;\n\n@Component({\n selector: 'nu-markdown',\n template: ``,\n exportAs: 'nuMarkdown',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NuMarkdownComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NuMarkdownComponent extends NuMarkdownBaseComponent implements ControlValueAccessor {\n private onChange = (_: string) => {};\n\n protected init(): void {\n this.ngZone.runOutsideAngular(() => {\n const options = {\n value: this._value,\n cache: {\n enable: false,\n },\n mode: 'sv',\n minHeight: 350,\n input: (value: string) => {\n this.ngZone.run(() => {\n this._value = value;\n this.onChange(value);\n });\n },\n ...this.config?.defaultOptions,\n ...this.options,\n };\n this._instance = new Vditor(this.el.nativeElement, options);\n this.ngZone.run(() => this.ready.emit(this._instance));\n });\n }\n\n private setDisabled(): void {\n if (!this.instance) {\n return;\n }\n if (this.disabled) {\n this.instance.disabled();\n } else {\n this.instance.enable();\n }\n }\n\n writeValue(value: string): void {\n this._value = value || '';\n if (this.instance) {\n this.instance.setValue(this._value);\n }\n }\n\n registerOnChange(fn: (_: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(_: () => void): void {}\n\n setDisabledState(_isDisabled: boolean): void {\n this.disabled = _isDisabled;\n this.setDisabled();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { NuMarkdownPreviewComponent } from './markdown-preview.component';\nimport { NuMarkdownComponent } from './markdown.component';\nimport { NuMarkdownConfig, NU_MARKDOWN_CONFIG } from './markdown.config';\n\nconst COMPONENTS = [NuMarkdownComponent, NuMarkdownPreviewComponent];\n\n@NgModule({\n imports: [CommonModule, ...COMPONENTS],\n exports: COMPONENTS,\n})\nexport class NuMarkdownModule {\n /**\n * Or use `provideNuMarkdownConfig` instead.\n */\n static forRoot(config?: NuMarkdownConfig): ModuleWithProviders<NuMarkdownModule> {\n return {\n ngModule: NuMarkdownModule,\n providers: [{ provide: NU_MARKDOWN_CONFIG, useValue: config }],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;MAEa,kBAAkB,GAAG,IAAI,cAAc,CAAmB,oBAAoB;AAErF,SAAU,uBAAuB,CAAC,MAAyB,EAAA;AAC/D,IAAA,OAAO,wBAAwB,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AACtF;;MCAa,iBAAiB,CAAA;AAQ5B,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;;AAGpC,IAAA,WAAA,GAAA;QAXiB,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACvD,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC;QAExC,IAAO,CAAA,OAAA,GAAG,KAAK;QACf,IAAM,CAAA,MAAA,GAAG,KAAK;AACd,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAQ;QAOnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI;YAC/B,CAAuD,qDAAA,CAAA;YACvD,CAAoD,kDAAA,CAAA;SACrD;;IAGH,IAAI,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;;AAErB,YAAA,OAAO,IAAI;;AAEb,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AAEnB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAK;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAK;AACxC,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAClB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACrB,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAEvB,QAAA,OAAO,IAAI;;iIAnCF,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,uBAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cADJ,MAAM,EAAA,CAAA,CAAA;;2FACnB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCaZ,uBAAuB,CAAA;AAD7C,IAAA,WAAA,GAAA;AAEY,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAA0B,UAAU,CAAC;QAChD,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACvD,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC/B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAKM,IAAK,CAAA,KAAA,GAAG,CAAC;QACR,IAAQ,CAAA,QAAA,GAAG,KAAK;AAErC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAU;AAqCtD;IAlCC,IACI,KAAK,CAAC,CAAS,EAAA;AACjB,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC;AACf,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,IAAI,EAAE;;;AAIf,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;;IAGf,SAAS,GAAA;AACf,QAAA,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC;;AAK3C,IAAA,IAAc,MAAM,GAAA;AAClB,QAAA,OAAO,CAAC,CAAE,MAAc,CAAC,MAAM;;IAGjC,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;AAChE,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,SAAS,EAAE;YAChB;;AAEF,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;;IAGjB,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE;;iIA/CT,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qHAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EASvB,eAAe,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EACf,gBAAgB,CAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAVhB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAD5C;8BAUwC,KAAK,EAAA,CAAA;sBAA3C,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBACG,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAC7B,OAAO,EAAA,CAAA;sBAAf;gBACkB,KAAK,EAAA,CAAA;sBAAvB;gBAIG,KAAK,EAAA,CAAA;sBADR;;;ACtBG,MAAO,0BAA2B,SAAQ,uBAAuB,CAAA;IAC3D,IAAI,GAAA;AACZ,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAW;AACvC,YAAA,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AACzE,SAAC,CAAC;;iIALO,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,uIAJ3B,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAID,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,QAAQ,EAAE,CAAE,CAAA;AACZ,oBAAA,QAAQ,EAAE,mBAAmB;oBAC7B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;;ACSK,MAAO,mBAAoB,SAAQ,uBAAuB,CAAA;AAbhE,IAAA,WAAA,GAAA;;AAcU,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,CAAS,KAAI,GAAG;AAqDrC;IAnDW,IAAI,GAAA;AACZ,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AACjC,YAAA,MAAM,OAAO,GAAG;gBACd,KAAK,EAAE,IAAI,CAAC,MAAM;AAClB,gBAAA,KAAK,EAAE;AACL,oBAAA,MAAM,EAAE,KAAK;AACd,iBAAA;AACD,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,SAAS,EAAE,GAAG;AACd,gBAAA,KAAK,EAAE,CAAC,KAAa,KAAI;AACvB,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,wBAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,wBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACtB,qBAAC,CAAC;iBACH;AACD,gBAAA,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc;gBAC9B,GAAG,IAAI,CAAC,OAAO;aAChB;AACD,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;AAC3D,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACxD,SAAC,CAAC;;IAGI,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB;;AAEF,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;;aACnB;AACL,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;;;AAI1B,IAAA,UAAU,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,EAAE;AACzB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;;;AAIvC,IAAA,gBAAgB,CAAC,EAAuB,EAAA;AACtC,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;;IAGpB,iBAAiB,CAAC,CAAa,EAAA;AAE/B,IAAA,gBAAgB,CAAC,WAAoB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,WAAW;QAC3B,IAAI,CAAC,WAAW,EAAE;;iIApDT,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EATnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,EAAC,MAAM,mBAAmB,EAAC;AAClD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EARS,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAWD,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAb/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,QAAQ,EAAE,CAAE,CAAA;AACZ,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,EAAC,yBAAyB,EAAC;AAClD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;;ACZD,MAAM,UAAU,GAAG,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;MAMvD,gBAAgB,CAAA;AAC3B;;AAEG;IACH,OAAO,OAAO,CAAC,MAAyB,EAAA;QACtC,OAAO;AACL,YAAA,QAAQ,EAAE,gBAAgB;YAC1B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;SAC/D;;iIARQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kIAAhB,gBAAgB,EAAA,OAAA,EAAA,CAHjB,YAAY,EAHJ,mBAAmB,EAAE,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAA/C,mBAAmB,EAAE,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAMtD,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAHjB,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAGX,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,GAAG,UAAU,CAAC;AACtC,oBAAA,OAAO,EAAE,UAAU;AACpB,iBAAA;;;ACXD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"ng-util-markdown.mjs","sources":["../../../../packages/markdown/markdown.config.ts","../../../../packages/markdown/markdown.service.ts","../../../../packages/markdown/markdown-base.component.ts","../../../../packages/markdown/markdown-preview.component.ts","../../../../packages/markdown/markdown.component.ts","../../../../packages/markdown/markdown.module.ts","../../../../packages/markdown/ng-util-markdown.ts"],"sourcesContent":["import { EnvironmentProviders, InjectionToken, makeEnvironmentProviders } from '@angular/core';\nimport type VditorType from 'vditor';\n\nexport const NU_MARKDOWN_CONFIG = new InjectionToken<NuMarkdownConfig>('NU_MARKDOWN_CONFIG');\n\nexport function provideNuMarkdownConfig(config?: NuMarkdownConfig): EnvironmentProviders {\n return makeEnvironmentProviders([{ provide: NU_MARKDOWN_CONFIG, useValue: config }]);\n}\n\nexport interface NuMarkdownConfig {\n /**\n * The base URL to [Vditor](https://github.com/Vanessa219/vditor) library, Default: `['https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js', 'https://cdn.jsdelivr.net/npm/vditor/dist/index.css']`\n */\n libs?: string[];\n\n /**\n * Equar [IOptions](https://github.com/Vanessa219/vditor#options)\n */\n defaultOptions?: VditorType['vditor']['options'];\n}\n","import { inject, Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport { NuLazyService } from '@ng-util/lazy';\n\nimport { NU_MARKDOWN_CONFIG } from './markdown.config';\n\n@Injectable({ providedIn: 'root' })\nexport class NuMarkdownService {\n private readonly config = inject(NU_MARKDOWN_CONFIG, { optional: true });\n private readonly lazySrv = inject(NuLazyService);\n private libs: string[];\n private loading = false;\n private loaded = false;\n private notify$ = new Subject<void>();\n\n get notify(): Observable<void> {\n return this.notify$.asObservable();\n }\n\n constructor() {\n this.libs = this.config?.libs || [\n `https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js`,\n `https://cdn.jsdelivr.net/npm/vditor/dist/index.css`\n ];\n }\n\n load(): this {\n if (this.loading) {\n if (this.loaded) {\n this.notify$.next();\n }\n return this;\n }\n this.loading = true;\n\n const libs = this.libs!;\n this.lazySrv.monitor(libs).subscribe(() => {\n this.loaded = true;\n this.notify$.next();\n });\n this.lazySrv.load(libs);\n\n return this;\n }\n}\n","import {\n AfterViewInit,\n booleanAttribute,\n Directive,\n ElementRef,\n inject,\n input,\n numberAttribute,\n OnDestroy\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport type VditorType from 'vditor';\n\nimport { NU_MARKDOWN_CONFIG } from './markdown.config';\nimport { NuMarkdownService } from './markdown.service';\n\n@Directive()\nexport abstract class NuMarkdownBaseComponent implements AfterViewInit, OnDestroy {\n protected el = inject<ElementRef<HTMLElement>>(ElementRef);\n protected config = inject(NU_MARKDOWN_CONFIG, { optional: true });\n protected srv = inject(NuMarkdownService);\n\n private notify$?: Subscription;\n protected _instance?: VditorType;\n\n delay = input(0, { transform: numberAttribute });\n disabled = input(false, { transform: booleanAttribute });\n\n get instance(): VditorType | undefined {\n return this._instance;\n }\n\n private initDelay(): void {\n setTimeout(() => this.init(), this.delay());\n }\n\n protected abstract init(): void;\n\n protected get loaded(): boolean {\n return !!(window as any).Vditor;\n }\n\n ngAfterViewInit(): void {\n this.notify$ = this.srv.notify.subscribe(() => this.initDelay());\n if (this.loaded) {\n this.initDelay();\n return;\n }\n this.srv.load();\n }\n\n ngOnDestroy(): void {\n this.notify$?.unsubscribe();\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, input } from '@angular/core';\n\nimport { NuMarkdownBaseComponent } from './markdown-base.component';\n\ndeclare let Vditor: any;\n\n@Component({\n selector: 'nu-markdown-preview',\n template: ``,\n exportAs: 'nuMarkdownPreview',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NuMarkdownPreviewComponent extends NuMarkdownBaseComponent {\n options = input<any>();\n value = input<string>('');\n readonly ready = new EventEmitter<string>();\n\n protected async init() {\n await Vditor.preview(this.el.nativeElement, this.value(), {\n cdn: 'https://cdn.jsdelivr.net/npm/vditor',\n ...this.options()\n });\n this.ready.emit(this.el.nativeElement.innerHTML);\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { NuMarkdownBaseComponent } from './markdown-base.component';\nimport type VditorType from 'vditor';\n\ndeclare let Vditor: any;\n\n@Component({\n selector: 'nu-markdown',\n template: ``,\n exportAs: 'nuMarkdown',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NuMarkdownComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NuMarkdownComponent extends NuMarkdownBaseComponent implements ControlValueAccessor {\n options = input<VditorType['vditor']['options']>();\n readonly ready = new EventEmitter<VditorType>();\n\n private value = '';\n private onChange = (_: string) => {};\n\n protected init(): void {\n const options: VditorType['vditor']['options'] = {\n value: this.value,\n cache: {\n enable: false\n },\n mode: 'sv',\n minHeight: 350,\n input: (value: string) => {\n this.onChange(value);\n },\n after: () => {\n this.setDisabled(this.disabled());\n },\n ...this.config?.defaultOptions,\n ...this.options\n };\n this._instance = new Vditor(this.el.nativeElement, options);\n this.ready.emit(this._instance);\n }\n\n private setDisabled(v: boolean): void {\n const i = this._instance;\n if (i == null) return;\n if (v) {\n i.disabled();\n } else {\n i.enable();\n }\n }\n\n writeValue(value: string): void {\n this.value = value;\n this.instance?.setValue(value);\n }\n\n registerOnChange(fn: (_: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(_: () => void): void {}\n\n setDisabledState(v: boolean): void {\n this.setDisabled(v);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { NuMarkdownPreviewComponent } from './markdown-preview.component';\nimport { NuMarkdownComponent } from './markdown.component';\nimport { NuMarkdownConfig, NU_MARKDOWN_CONFIG } from './markdown.config';\n\nconst COMPONENTS = [NuMarkdownComponent, NuMarkdownPreviewComponent];\n\n@NgModule({\n imports: [CommonModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class NuMarkdownModule {\n /**\n * Or use `provideNuMarkdownConfig` instead.\n */\n static forRoot(config?: NuMarkdownConfig): ModuleWithProviders<NuMarkdownModule> {\n return {\n ngModule: NuMarkdownModule,\n providers: [{ provide: NU_MARKDOWN_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,89 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { AfterViewInit, OnDestroy, ElementRef, EventEmitter, InjectionToken, EnvironmentProviders, ModuleWithProviders } from '@angular/core';
|
|
3
|
+
import * as _ng_util_markdown from '@ng-util/markdown';
|
|
4
|
+
import VditorType from 'vditor';
|
|
5
|
+
import { Observable } from 'rxjs';
|
|
6
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
7
|
+
import * as i1 from '@angular/common';
|
|
8
|
+
|
|
9
|
+
declare class NuMarkdownService {
|
|
10
|
+
private readonly config;
|
|
11
|
+
private readonly lazySrv;
|
|
12
|
+
private libs;
|
|
13
|
+
private loading;
|
|
14
|
+
private loaded;
|
|
15
|
+
private notify$;
|
|
16
|
+
get notify(): Observable<void>;
|
|
17
|
+
constructor();
|
|
18
|
+
load(): this;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NuMarkdownService, never>;
|
|
20
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NuMarkdownService>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
declare abstract class NuMarkdownBaseComponent implements AfterViewInit, OnDestroy {
|
|
24
|
+
protected el: ElementRef<HTMLElement>;
|
|
25
|
+
protected config: _ng_util_markdown.NuMarkdownConfig | null;
|
|
26
|
+
protected srv: NuMarkdownService;
|
|
27
|
+
private notify$?;
|
|
28
|
+
protected _instance?: VditorType;
|
|
29
|
+
delay: i0.InputSignalWithTransform<number, unknown>;
|
|
30
|
+
disabled: i0.InputSignalWithTransform<boolean, unknown>;
|
|
31
|
+
get instance(): VditorType | undefined;
|
|
32
|
+
private initDelay;
|
|
33
|
+
protected abstract init(): void;
|
|
34
|
+
protected get loaded(): boolean;
|
|
35
|
+
ngAfterViewInit(): void;
|
|
36
|
+
ngOnDestroy(): void;
|
|
37
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NuMarkdownBaseComponent, never>;
|
|
38
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NuMarkdownBaseComponent, never, never, { "delay": { "alias": "delay"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
declare class NuMarkdownPreviewComponent extends NuMarkdownBaseComponent {
|
|
42
|
+
options: i0.InputSignal<any>;
|
|
43
|
+
value: i0.InputSignal<string>;
|
|
44
|
+
readonly ready: EventEmitter<string>;
|
|
45
|
+
protected init(): Promise<void>;
|
|
46
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NuMarkdownPreviewComponent, never>;
|
|
47
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NuMarkdownPreviewComponent, "nu-markdown-preview", ["nuMarkdownPreview"], { "options": { "alias": "options"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
declare class NuMarkdownComponent extends NuMarkdownBaseComponent implements ControlValueAccessor {
|
|
51
|
+
options: i0.InputSignal<IOptions | undefined>;
|
|
52
|
+
readonly ready: EventEmitter<VditorType>;
|
|
53
|
+
private value;
|
|
54
|
+
private onChange;
|
|
55
|
+
protected init(): void;
|
|
56
|
+
private setDisabled;
|
|
57
|
+
writeValue(value: string): void;
|
|
58
|
+
registerOnChange(fn: (_: string) => void): void;
|
|
59
|
+
registerOnTouched(_: () => void): void;
|
|
60
|
+
setDisabledState(v: boolean): void;
|
|
61
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NuMarkdownComponent, never>;
|
|
62
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NuMarkdownComponent, "nu-markdown", ["nuMarkdown"], { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
declare const NU_MARKDOWN_CONFIG: InjectionToken<NuMarkdownConfig>;
|
|
66
|
+
declare function provideNuMarkdownConfig(config?: NuMarkdownConfig): EnvironmentProviders;
|
|
67
|
+
interface NuMarkdownConfig {
|
|
68
|
+
/**
|
|
69
|
+
* The base URL to [Vditor](https://github.com/Vanessa219/vditor) library, Default: `['https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js', 'https://cdn.jsdelivr.net/npm/vditor/dist/index.css']`
|
|
70
|
+
*/
|
|
71
|
+
libs?: string[];
|
|
72
|
+
/**
|
|
73
|
+
* Equar [IOptions](https://github.com/Vanessa219/vditor#options)
|
|
74
|
+
*/
|
|
75
|
+
defaultOptions?: VditorType['vditor']['options'];
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
declare class NuMarkdownModule {
|
|
79
|
+
/**
|
|
80
|
+
* Or use `provideNuMarkdownConfig` instead.
|
|
81
|
+
*/
|
|
82
|
+
static forRoot(config?: NuMarkdownConfig): ModuleWithProviders<NuMarkdownModule>;
|
|
83
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NuMarkdownModule, never>;
|
|
84
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NuMarkdownModule, never, [typeof i1.CommonModule, typeof NuMarkdownComponent, typeof NuMarkdownPreviewComponent], [typeof NuMarkdownComponent, typeof NuMarkdownPreviewComponent]>;
|
|
85
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<NuMarkdownModule>;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export { NU_MARKDOWN_CONFIG, NuMarkdownBaseComponent, NuMarkdownComponent, NuMarkdownModule, NuMarkdownPreviewComponent, NuMarkdownService, provideNuMarkdownConfig };
|
|
89
|
+
export type { NuMarkdownConfig };
|
package/package.json
CHANGED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { AfterViewInit, ElementRef, EventEmitter, NgZone, OnDestroy } from '@angular/core';
|
|
2
|
-
import { NuMarkdownService } from './markdown.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare abstract class NuMarkdownBaseComponent implements AfterViewInit, OnDestroy {
|
|
5
|
-
protected el: ElementRef<HTMLElement>;
|
|
6
|
-
protected config: import("@ng-util/markdown").NuMarkdownConfig | null;
|
|
7
|
-
protected srv: NuMarkdownService;
|
|
8
|
-
protected ngZone: NgZone;
|
|
9
|
-
private notify$?;
|
|
10
|
-
protected _instance: any;
|
|
11
|
-
delay: number;
|
|
12
|
-
disabled: boolean;
|
|
13
|
-
options: any;
|
|
14
|
-
readonly ready: EventEmitter<string>;
|
|
15
|
-
protected _value: string;
|
|
16
|
-
set value(v: string);
|
|
17
|
-
get instance(): any;
|
|
18
|
-
private initDelay;
|
|
19
|
-
protected abstract init(): void;
|
|
20
|
-
protected get loaded(): boolean;
|
|
21
|
-
ngAfterViewInit(): void;
|
|
22
|
-
ngOnDestroy(): void;
|
|
23
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NuMarkdownBaseComponent, never>;
|
|
24
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NuMarkdownBaseComponent, never, never, { "delay": { "alias": "delay"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "options": { "alias": "options"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "ready": "ready"; }, never, never, true, never>;
|
|
25
|
-
static ngAcceptInputType_delay: unknown;
|
|
26
|
-
static ngAcceptInputType_disabled: unknown;
|
|
27
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { NuMarkdownBaseComponent } from './markdown-base.component';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class NuMarkdownPreviewComponent extends NuMarkdownBaseComponent {
|
|
4
|
-
protected init(): void;
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NuMarkdownPreviewComponent, never>;
|
|
6
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NuMarkdownPreviewComponent, "nu-markdown-preview", ["nuMarkdownPreview"], {}, {}, never, never, true, never>;
|
|
7
|
-
}
|
package/markdown.component.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ControlValueAccessor } from '@angular/forms';
|
|
2
|
-
import { NuMarkdownBaseComponent } from './markdown-base.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class NuMarkdownComponent extends NuMarkdownBaseComponent implements ControlValueAccessor {
|
|
5
|
-
private onChange;
|
|
6
|
-
protected init(): void;
|
|
7
|
-
private setDisabled;
|
|
8
|
-
writeValue(value: string): void;
|
|
9
|
-
registerOnChange(fn: (_: string) => void): void;
|
|
10
|
-
registerOnTouched(_: () => void): void;
|
|
11
|
-
setDisabledState(_isDisabled: boolean): void;
|
|
12
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NuMarkdownComponent, never>;
|
|
13
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NuMarkdownComponent, "nu-markdown", ["nuMarkdown"], {}, {}, never, never, true, never>;
|
|
14
|
-
}
|
package/markdown.config.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { EnvironmentProviders, InjectionToken } from '@angular/core';
|
|
2
|
-
export declare const NU_MARKDOWN_CONFIG: InjectionToken<NuMarkdownConfig>;
|
|
3
|
-
export declare function provideNuMarkdownConfig(config?: NuMarkdownConfig): EnvironmentProviders;
|
|
4
|
-
export interface NuMarkdownConfig {
|
|
5
|
-
/**
|
|
6
|
-
* The base URL to [Vditor](https://github.com/Vanessa219/vditor) library, Default: `['https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js', 'https://cdn.jsdelivr.net/npm/vditor/dist/index.css']`
|
|
7
|
-
*/
|
|
8
|
-
libs?: string[];
|
|
9
|
-
/**
|
|
10
|
-
* Equar [IOptions](https://github.com/Vanessa219/vditor/blob/master/types/index.d.ts#L432)
|
|
11
|
-
*/
|
|
12
|
-
defaultOptions?: any;
|
|
13
|
-
}
|
package/markdown.module.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
-
import { NuMarkdownConfig } from './markdown.config';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "./markdown.component";
|
|
6
|
-
import * as i3 from "./markdown-preview.component";
|
|
7
|
-
export declare class NuMarkdownModule {
|
|
8
|
-
/**
|
|
9
|
-
* Or use `provideNuMarkdownConfig` instead.
|
|
10
|
-
*/
|
|
11
|
-
static forRoot(config?: NuMarkdownConfig): ModuleWithProviders<NuMarkdownModule>;
|
|
12
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NuMarkdownModule, never>;
|
|
13
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<NuMarkdownModule, never, [typeof i1.CommonModule, typeof i2.NuMarkdownComponent, typeof i3.NuMarkdownPreviewComponent], [typeof i2.NuMarkdownComponent, typeof i3.NuMarkdownPreviewComponent]>;
|
|
14
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<NuMarkdownModule>;
|
|
15
|
-
}
|
package/markdown.service.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class NuMarkdownService {
|
|
4
|
-
private readonly config;
|
|
5
|
-
private readonly lazySrv;
|
|
6
|
-
private libs;
|
|
7
|
-
private loading;
|
|
8
|
-
private loaded;
|
|
9
|
-
private notify$;
|
|
10
|
-
get notify(): Observable<void>;
|
|
11
|
-
constructor();
|
|
12
|
-
load(): this;
|
|
13
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NuMarkdownService, never>;
|
|
14
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<NuMarkdownService>;
|
|
15
|
-
}
|
package/public-api.d.ts
DELETED