@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.
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, makeEnvironmentProviders, inject, Injectable, ElementRef, NgZone, EventEmitter, numberAttribute, booleanAttribute, Directive, Input, Output, Component, ChangeDetectionStrategy, forwardRef, NgModule } from '@angular/core';
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 { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NuMarkdownService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
45
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NuMarkdownService, providedIn: 'root' }); }
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: "19.0.0", ngImport: i0, type: NuMarkdownService, decorators: [{
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
- constructor() {
54
- this.el = inject(ElementRef);
55
- this.config = inject(NU_MARKDOWN_CONFIG, { optional: true });
56
- this.srv = inject(NuMarkdownService);
57
- this.ngZone = inject(NgZone);
58
- this.delay = 0;
59
- this.disabled = false;
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 { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NuMarkdownBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
89
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.0.0", type: NuMarkdownBaseComponent, isStandalone: true, inputs: { delay: ["delay", "delay", numberAttribute], disabled: ["disabled", "disabled", booleanAttribute], options: "options", value: "value" }, outputs: { ready: "ready" }, ngImport: i0 }); }
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: "19.0.0", ngImport: i0, type: NuMarkdownBaseComponent, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NuMarkdownBaseComponent, decorators: [{
92
85
  type: Directive
93
- }], propDecorators: { delay: [{
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
- init() {
109
- this.ngZone.runOutsideAngular(async () => {
110
- await Vditor.preview(this.el.nativeElement, this._value, this.options);
111
- this.ngZone.run(() => this.ready.emit(this.el.nativeElement.innerHTML));
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 { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NuMarkdownPreviewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
115
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.0", type: NuMarkdownPreviewComponent, isStandalone: true, selector: "nu-markdown-preview", exportAs: ["nuMarkdownPreview"], usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
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: "19.0.0", ngImport: i0, type: NuMarkdownPreviewComponent, decorators: [{
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
- constructor() {
129
- super(...arguments);
130
- this.onChange = (_) => { };
131
- }
113
+ options = input();
114
+ ready = new EventEmitter();
115
+ value = '';
116
+ onChange = (_) => { };
132
117
  init() {
133
- this.ngZone.runOutsideAngular(() => {
134
- const options = {
135
- value: this._value,
136
- cache: {
137
- enable: false,
138
- },
139
- mode: 'sv',
140
- minHeight: 350,
141
- input: (value) => {
142
- this.ngZone.run(() => {
143
- this._value = value;
144
- this.onChange(value);
145
- });
146
- },
147
- ...this.config?.defaultOptions,
148
- ...this.options,
149
- };
150
- this._instance = new Vditor(this.el.nativeElement, options);
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
- if (!this.instance) {
137
+ setDisabled(v) {
138
+ const i = this._instance;
139
+ if (i == null)
156
140
  return;
157
- }
158
- if (this.disabled) {
159
- this.instance.disabled();
141
+ if (v) {
142
+ i.disabled();
160
143
  }
161
144
  else {
162
- this.instance.enable();
145
+ i.enable();
163
146
  }
164
147
  }
165
148
  writeValue(value) {
166
- this._value = value || '';
167
- if (this.instance) {
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(_isDisabled) {
176
- this.disabled = _isDisabled;
177
- this.setDisabled();
156
+ setDisabledState(v) {
157
+ this.setDisabled(v);
178
158
  }
179
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NuMarkdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
180
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.0", type: NuMarkdownComponent, isStandalone: true, selector: "nu-markdown", providers: [
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: "19.0.0", ngImport: i0, type: NuMarkdownComponent, decorators: [{
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 { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NuMarkdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
217
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0", ngImport: i0, type: NuMarkdownModule, imports: [CommonModule, NuMarkdownComponent, NuMarkdownPreviewComponent], exports: [NuMarkdownComponent, NuMarkdownPreviewComponent] }); }
218
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NuMarkdownModule, imports: [CommonModule] }); }
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: "19.0.0", ngImport: i0, type: NuMarkdownModule, decorators: [{
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":"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"}
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
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@ng-util/markdown" />
5
- export * from './public-api';
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-util/markdown",
3
- "version": "19.0.0",
3
+ "version": "20.0.0",
4
4
  "author": "cipchk<cipchk@qq.com>",
5
5
  "description": "Vditor for Angular",
6
6
  "license": "MIT",
@@ -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
- }
@@ -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
- }
@@ -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
- }
@@ -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
- }
@@ -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
@@ -1,6 +0,0 @@
1
- export * from './markdown-base.component';
2
- export * from './markdown-preview.component';
3
- export * from './markdown.component';
4
- export * from './markdown.module';
5
- export * from './markdown.config';
6
- export * from './markdown.service';