@ng-doc/app
Version:
<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>
1 lines • 16.4 kB
Source Map (JSON)
{"version":3,"file":"ng-doc-app-components-mermaid-viewer.mjs","sources":["../tmp-esm2022/components/mermaid-viewer/mermaid-viewer.component.js","../tmp-esm2022/components/mermaid-viewer/ng-doc-app-components-mermaid-viewer.js"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, input, PLATFORM_ID, signal, } from '@angular/core';\nimport { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes';\nimport { NgDocThemeService } from '@ng-doc/app/services/theme';\nimport { NG_DOC_MERMAID } from '@ng-doc/app/tokens';\nimport { MagnifierControllerComponent, NgDocMagnifierComponent, NgDocSpinnerComponent, } from '@ng-doc/ui-kit';\nimport * as i0 from \"@angular/core\";\nlet id = 0;\nexport class NgDocMermaidViewerComponent {\n constructor() {\n this.graph = input.required();\n this.html = signal('');\n this.pending = signal(true);\n this.error = signal(null);\n this.changeDetectorRef = inject(ChangeDetectorRef);\n this.platform = inject(PLATFORM_ID);\n this.id = `ng-doc-mermaid-viewer-${id++}`;\n const mermaid = inject(NG_DOC_MERMAID, { optional: true });\n if (!mermaid) {\n throw new Error('Mermaid is not provided. Make sure that you provided mermaid using \"provideMermaid\" function.');\n }\n this.mermaid = mermaid;\n inject(NgDocThemeService)\n .themeChanges()\n .subscribe(async () => {\n const { svg } = await this.mermaid.render(this.id, this.graph());\n this.html.set(svg);\n });\n }\n async ngOnInit() {\n if (isPlatformBrowser(this.platform)) {\n try {\n const { svg } = await this.mermaid.render(this.id, this.graph());\n this.html.set(svg);\n this.pending.set(false);\n }\n catch (error) {\n this.error.set(error);\n this.pending.set(false);\n }\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: NgDocMermaidViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: NgDocMermaidViewerComponent, isStandalone: true, selector: \"ng-doc-mermaid-viewer\", inputs: { graph: { classPropertyName: \"graph\", publicName: \"graph\", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: \"@if (pending()) {\\n <div class=\\\"ng-doc-mermaid-preloader\\\">\\n <ng-doc-spinner></ng-doc-spinner>\\n </div>\\n} @else if (error()) {\\n <div class=\\\"ng-doc-mermaid-error\\\">{{ error() }}</div>\\n} @else {\\n <ng-doc-magnifier #magnifier>\\n <div class=\\\"ng-doc-mermaid-container\\\" [innerHTML]=\\\"html() | ngDocSanitizeHtml\\\"></div>\\n </ng-doc-magnifier>\\n\\n <ng-doc-magnifier-controller [magnifier]=\\\"magnifier\\\" />\\n}\\n\", styles: [\":host{position:relative;display:block;border:var(--ng-doc-mermaid-viewer-border, 1px solid var(--ng-doc-border-color));margin:var(--ng-doc-mermaid-viewer-margin, var(--ng-doc-page-block-margin));background:var(--ng-doc-mermaid-viewer-background, var(--ng-doc-base-8));border-radius:var(--ng-doc-mermaid-viewer-border-radius, var(--ng-doc-base-gutter));min-height:150px}:host ng-doc-magnifier-controller{position:absolute;bottom:calc(var(--ng-doc-base-gutter) * 2);right:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-mermaid-container{display:flex;justify-content:center;align-items:center;padding:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-mermaid-preloader{display:flex;justify-content:center;align-items:center;width:100%;height:120px}:host .ng-doc-mermaid-error{display:flex;justify-content:center;align-items:center;height:120px;color:var(--ng-doc-alert)}\\n\"], dependencies: [{ kind: \"component\", type: NgDocMagnifierComponent, selector: \"ng-doc-magnifier\" }, { kind: \"component\", type: MagnifierControllerComponent, selector: \"ng-doc-magnifier-controller\", inputs: [\"magnifier\"] }, { kind: \"pipe\", type: NgDocSanitizeHtmlPipe, name: \"ngDocSanitizeHtml\" }, { kind: \"component\", type: NgDocSpinnerComponent, selector: \"ng-doc-spinner\", inputs: [\"size\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: NgDocMermaidViewerComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ng-doc-mermaid-viewer', imports: [\n NgDocMagnifierComponent,\n MagnifierControllerComponent,\n NgDocSanitizeHtmlPipe,\n NgDocSpinnerComponent,\n ], changeDetection: ChangeDetectionStrategy.OnPush, template: \"@if (pending()) {\\n <div class=\\\"ng-doc-mermaid-preloader\\\">\\n <ng-doc-spinner></ng-doc-spinner>\\n </div>\\n} @else if (error()) {\\n <div class=\\\"ng-doc-mermaid-error\\\">{{ error() }}</div>\\n} @else {\\n <ng-doc-magnifier #magnifier>\\n <div class=\\\"ng-doc-mermaid-container\\\" [innerHTML]=\\\"html() | ngDocSanitizeHtml\\\"></div>\\n </ng-doc-magnifier>\\n\\n <ng-doc-magnifier-controller [magnifier]=\\\"magnifier\\\" />\\n}\\n\", styles: [\":host{position:relative;display:block;border:var(--ng-doc-mermaid-viewer-border, 1px solid var(--ng-doc-border-color));margin:var(--ng-doc-mermaid-viewer-margin, var(--ng-doc-page-block-margin));background:var(--ng-doc-mermaid-viewer-background, var(--ng-doc-base-8));border-radius:var(--ng-doc-mermaid-viewer-border-radius, var(--ng-doc-base-gutter));min-height:150px}:host ng-doc-magnifier-controller{position:absolute;bottom:calc(var(--ng-doc-base-gutter) * 2);right:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-mermaid-container{display:flex;justify-content:center;align-items:center;padding:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-mermaid-preloader{display:flex;justify-content:center;align-items:center;width:100%;height:120px}:host .ng-doc-mermaid-error{display:flex;justify-content:center;align-items:center;height:120px;color:var(--ng-doc-alert)}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVybWFpZC12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY29tcG9uZW50cy9tZXJtYWlkLXZpZXdlci9tZXJtYWlkLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL21lcm1haWQtdmlld2VyL21lcm1haWQtdmlld2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUVMLFdBQVcsRUFDWCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsdUJBQXVCLEVBQ3ZCLHFCQUFxQixHQUN0QixNQUFNLGdCQUFnQixDQUFDOztBQUd4QixJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFjWCxNQUFNLE9BQU8sMkJBQTJCO0lBYXRDO1FBWkEsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUVkLFNBQUksR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixVQUFLLEdBQUcsTUFBTSxDQUFlLElBQUksQ0FBQyxDQUFDO1FBR25DLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlDLGFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFL0IsT0FBRSxHQUFHLHlCQUF5QixFQUFFLEVBQUUsRUFBRSxDQUFDO1FBR3RELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUUzRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUNiLCtGQUErRixDQUNoRyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBRXZCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQzthQUN0QixZQUFZLEVBQUU7YUFDZCxTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDcEIsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUVqRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUTtRQUNaLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDO2dCQUNILE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBRWpFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixDQUFDO1lBQUMsT0FBTyxLQUFjLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBYyxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzs4R0E3Q1UsMkJBQTJCO2tHQUEzQiwyQkFBMkIsb05DbkN4Qyx5YUFhQSxrNkJEYUksdUJBQXVCLDZEQUN2Qiw0QkFBNEIsMEZBQzVCLHFCQUFxQiwwREFDckIscUJBQXFCOzsyRkFNWiwyQkFBMkI7a0JBWnZDLFNBQVM7K0JBQ0UsdUJBQXVCLFdBQ3hCO3dCQUNQLHVCQUF1Qjt3QkFDdkIsNEJBQTRCO3dCQUM1QixxQkFBcUI7d0JBQ3JCLHFCQUFxQjtxQkFDdEIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgT25Jbml0LFxuICBQTEFURk9STV9JRCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nRG9jU2FuaXRpemVIdG1sUGlwZSB9IGZyb20gJ0BuZy1kb2MvYXBwL3BpcGVzJztcbmltcG9ydCB7IE5nRG9jVGhlbWVTZXJ2aWNlIH0gZnJvbSAnQG5nLWRvYy9hcHAvc2VydmljZXMvdGhlbWUnO1xuaW1wb3J0IHsgTkdfRE9DX01FUk1BSUQgfSBmcm9tICdAbmctZG9jL2FwcC90b2tlbnMnO1xuaW1wb3J0IHtcbiAgTWFnbmlmaWVyQ29udHJvbGxlckNvbXBvbmVudCxcbiAgTmdEb2NNYWduaWZpZXJDb21wb25lbnQsXG4gIE5nRG9jU3Bpbm5lckNvbXBvbmVudCxcbn0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuaW1wb3J0IHR5cGUgeyBNZXJtYWlkIH0gZnJvbSAnbWVybWFpZCc7XG5cbmxldCBpZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLWRvYy1tZXJtYWlkLXZpZXdlcicsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0RvY01hZ25pZmllckNvbXBvbmVudCxcbiAgICBNYWduaWZpZXJDb250cm9sbGVyQ29tcG9uZW50LFxuICAgIE5nRG9jU2FuaXRpemVIdG1sUGlwZSxcbiAgICBOZ0RvY1NwaW5uZXJDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXJtYWlkLXZpZXdlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tZXJtYWlkLXZpZXdlci5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0RvY01lcm1haWRWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBncmFwaCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaHRtbCA9IHNpZ25hbCgnJyk7XG4gIHByb3RlY3RlZCByZWFkb25seSBwZW5kaW5nID0gc2lnbmFsKHRydWUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXJyb3IgPSBzaWduYWw8RXJyb3IgfCBudWxsPihudWxsKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1lcm1haWQ6IE1lcm1haWQ7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBsYXRmb3JtID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWQgPSBgbmctZG9jLW1lcm1haWQtdmlld2VyLSR7aWQrK31gO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IG1lcm1haWQgPSBpbmplY3QoTkdfRE9DX01FUk1BSUQsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgICBpZiAoIW1lcm1haWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ01lcm1haWQgaXMgbm90IHByb3ZpZGVkLiBNYWtlIHN1cmUgdGhhdCB5b3UgcHJvdmlkZWQgbWVybWFpZCB1c2luZyBcInByb3ZpZGVNZXJtYWlkXCIgZnVuY3Rpb24uJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5tZXJtYWlkID0gbWVybWFpZDtcblxuICAgIGluamVjdChOZ0RvY1RoZW1lU2VydmljZSlcbiAgICAgIC50aGVtZUNoYW5nZXMoKVxuICAgICAgLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgc3ZnIH0gPSBhd2FpdCB0aGlzLm1lcm1haWQucmVuZGVyKHRoaXMuaWQsIHRoaXMuZ3JhcGgoKSk7XG5cbiAgICAgICAgdGhpcy5odG1sLnNldChzdmcpO1xuICAgICAgfSk7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybSkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgc3ZnIH0gPSBhd2FpdCB0aGlzLm1lcm1haWQucmVuZGVyKHRoaXMuaWQsIHRoaXMuZ3JhcGgoKSk7XG5cbiAgICAgICAgdGhpcy5odG1sLnNldChzdmcpO1xuICAgICAgICB0aGlzLnBlbmRpbmcuc2V0KGZhbHNlKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICAgIHRoaXMuZXJyb3Iuc2V0KGVycm9yIGFzIEVycm9yKTtcbiAgICAgICAgdGhpcy5wZW5kaW5nLnNldChmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgKHBlbmRpbmcoKSkge1xuICA8ZGl2IGNsYXNzPVwibmctZG9jLW1lcm1haWQtcHJlbG9hZGVyXCI+XG4gICAgPG5nLWRvYy1zcGlubmVyPjwvbmctZG9jLXNwaW5uZXI+XG4gIDwvZGl2PlxufSBAZWxzZSBpZiAoZXJyb3IoKSkge1xuICA8ZGl2IGNsYXNzPVwibmctZG9jLW1lcm1haWQtZXJyb3JcIj57eyBlcnJvcigpIH19PC9kaXY+XG59IEBlbHNlIHtcbiAgPG5nLWRvYy1tYWduaWZpZXIgI21hZ25pZmllcj5cbiAgICA8ZGl2IGNsYXNzPVwibmctZG9jLW1lcm1haWQtY29udGFpbmVyXCIgW2lubmVySFRNTF09XCJodG1sKCkgfCBuZ0RvY1Nhbml0aXplSHRtbFwiPjwvZGl2PlxuICA8L25nLWRvYy1tYWduaWZpZXI+XG5cbiAgPG5nLWRvYy1tYWduaWZpZXItY29udHJvbGxlciBbbWFnbmlmaWVyXT1cIm1hZ25pZmllclwiIC8+XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZG9jLWFwcC1jb21wb25lbnRzLW1lcm1haWQtdmlld2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY29tcG9uZW50cy9tZXJtYWlkLXZpZXdlci9uZy1kb2MtYXBwLWNvbXBvbmVudHMtbWVybWFpZC12aWV3ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}