@analogjs/content 0.2.12 → 0.2.13
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/esm2022/lib/anchor-navigation.directive.mjs +5 -6
- package/esm2022/lib/content-renderer.mjs +5 -6
- package/esm2022/lib/markdown-content-renderer.service.mjs +5 -6
- package/esm2022/lib/markdown-route.component.mjs +5 -6
- package/esm2022/lib/markdown.component.mjs +6 -7
- package/esm2022/lib/marked-setup.service.mjs +6 -7
- package/fesm2022/analogjs-content.mjs +20 -20
- package/fesm2022/analogjs-content.mjs.map +1 -1
- package/package.json +5 -5
|
@@ -2,7 +2,7 @@ import { Directive, HostListener, inject } from '@angular/core';
|
|
|
2
2
|
import { DOCUMENT, Location } from '@angular/common';
|
|
3
3
|
import { Router } from '@angular/router';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
class AnchorNavigationDirective {
|
|
5
|
+
export class AnchorNavigationDirective {
|
|
6
6
|
constructor() {
|
|
7
7
|
this.document = inject(DOCUMENT);
|
|
8
8
|
this.location = inject(Location);
|
|
@@ -20,11 +20,10 @@ class AnchorNavigationDirective {
|
|
|
20
20
|
}
|
|
21
21
|
return true;
|
|
22
22
|
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
24
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: AnchorNavigationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
24
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-rc.0", type: AnchorNavigationDirective, isStandalone: true, selector: "[analogAnchorNavigation]", host: { listeners: { "click": "handleNavigation($event.target)" } }, ngImport: i0 }); }
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: AnchorNavigationDirective, decorators: [{
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: AnchorNavigationDirective, decorators: [{
|
|
28
27
|
type: Directive,
|
|
29
28
|
args: [{
|
|
30
29
|
selector: '[analogAnchorNavigation]',
|
|
@@ -44,4 +43,4 @@ function isInternalUrl(anchorElement, document) {
|
|
|
44
43
|
return (anchorElement.host === document.location.host &&
|
|
45
44
|
anchorElement.protocol === document.location.protocol);
|
|
46
45
|
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9yLW5hdmlnYXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGVudC9zcmMvbGliL2FuY2hvci1uYXZpZ2F0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBTXpDLE1BQU0sT0FBTyx5QkFBeUI7SUFKdEM7UUFLbUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7S0FtQjFDO0lBaEJDLGdCQUFnQixDQUFDLE9BQW9CO1FBQ25DLElBQ0UsT0FBTyxZQUFZLGlCQUFpQjtZQUNwQyxhQUFhLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDckMsYUFBYSxDQUFDLE9BQU8sQ0FBQztZQUN0QixDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUM5QjtZQUNBLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQztZQUMzQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFFBQVEsR0FBRyxNQUFNLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNuRSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUUvQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO21IQXJCVSx5QkFBeUI7dUdBQXpCLHlCQUF5Qjs7Z0dBQXpCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBT0MsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDOztBQW1CMUMsU0FBUyxvQkFBb0IsQ0FBQyxhQUFnQztJQUM1RCxPQUFPLGFBQWEsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxDQUFDO0FBQ3pELENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxhQUFnQztJQUNyRCxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQztBQUNuRSxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQ3BCLGFBQWdDLEVBQ2hDLFFBQWtCO0lBRWxCLE9BQU8sQ0FDTCxhQUFhLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSTtRQUM3QyxhQUFhLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUN0RCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5ULCBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYW5hbG9nQW5jaG9yTmF2aWdhdGlvbl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBBbmNob3JOYXZpZ2F0aW9uRGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb24gPSBpbmplY3QoTG9jYXRpb24pO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIGhhbmRsZU5hdmlnYXRpb24oZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICBpZiAoXG4gICAgICBlbGVtZW50IGluc3RhbmNlb2YgSFRNTEFuY2hvckVsZW1lbnQgJiZcbiAgICAgIGlzSW50ZXJuYWxVcmwoZWxlbWVudCwgdGhpcy5kb2N1bWVudCkgJiZcbiAgICAgIGhhc1RhcmdldFNlbGYoZWxlbWVudCkgJiZcbiAgICAgICFoYXNEb3dubG9hZEF0dHJpYnV0ZShlbGVtZW50KVxuICAgICkge1xuICAgICAgY29uc3QgeyBwYXRobmFtZSwgc2VhcmNoLCBoYXNoIH0gPSBlbGVtZW50O1xuICAgICAgY29uc3QgdXJsID0gdGhpcy5sb2NhdGlvbi5ub3JtYWxpemUoYCR7cGF0aG5hbWV9JHtzZWFyY2h9JHtoYXNofWApO1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh1cmwpO1xuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gaGFzRG93bmxvYWRBdHRyaWJ1dGUoYW5jaG9yRWxlbWVudDogSFRNTEFuY2hvckVsZW1lbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuIGFuY2hvckVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkb3dubG9hZCcpICE9PSBudWxsO1xufVxuXG5mdW5jdGlvbiBoYXNUYXJnZXRTZWxmKGFuY2hvckVsZW1lbnQ6IEhUTUxBbmNob3JFbGVtZW50KTogYm9vbGVhbiB7XG4gIHJldHVybiAhYW5jaG9yRWxlbWVudC50YXJnZXQgfHwgYW5jaG9yRWxlbWVudC50YXJnZXQgPT09ICdfc2VsZic7XG59XG5cbmZ1bmN0aW9uIGlzSW50ZXJuYWxVcmwoXG4gIGFuY2hvckVsZW1lbnQ6IEhUTUxBbmNob3JFbGVtZW50LFxuICBkb2N1bWVudDogRG9jdW1lbnRcbik6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIGFuY2hvckVsZW1lbnQuaG9zdCA9PT0gZG9jdW1lbnQubG9jYXRpb24uaG9zdCAmJlxuICAgIGFuY2hvckVsZW1lbnQucHJvdG9jb2wgPT09IGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sXG4gICk7XG59XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
class ContentRenderer {
|
|
3
|
+
export class ContentRenderer {
|
|
4
4
|
async render(content) {
|
|
5
5
|
return content;
|
|
6
6
|
}
|
|
@@ -9,11 +9,10 @@ class ContentRenderer {
|
|
|
9
9
|
}
|
|
10
10
|
// eslint-disable-next-line
|
|
11
11
|
enhance() { }
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
13
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: ContentRenderer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
13
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: ContentRenderer }); }
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ContentRenderer, decorators: [{
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: ContentRenderer, decorators: [{
|
|
17
16
|
type: Injectable
|
|
18
17
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvc3JjL2xpYi9jb250ZW50LXJlbmRlcmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzNDLE1BQU0sT0FBZ0IsZUFBZTtJQUNuQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQWU7UUFDMUIsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCwyQkFBMkI7SUFDM0IsT0FBTyxLQUFJLENBQUM7bUhBVlEsZUFBZTt1SEFBZixlQUFlOztnR0FBZixlQUFlO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBUYWJsZU9mQ29udGVudEl0ZW0gPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxldmVsOiBudW1iZXI7IC8vIHN0YXJ0cyBhdCAxXG4gIHRleHQ6IHN0cmluZztcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb250ZW50UmVuZGVyZXIge1xuICBhc3luYyByZW5kZXIoY29udGVudDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxuXG4gIGdldENvbnRlbnRIZWFkaW5ncygpOiBBcnJheTxUYWJsZU9mQ29udGVudEl0ZW0+IHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgZW5oYW5jZSgpIHt9XG59XG4iXX0=
|
|
@@ -3,7 +3,7 @@ import { getHeadingList } from 'marked-gfm-heading-id';
|
|
|
3
3
|
import { ContentRenderer } from './content-renderer';
|
|
4
4
|
import { MarkedSetupService } from './marked-setup.service';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
class MarkdownContentRendererService {
|
|
6
|
+
export class MarkdownContentRendererService {
|
|
7
7
|
constructor() {
|
|
8
8
|
this.platformId = inject(PLATFORM_ID);
|
|
9
9
|
this.#marked = inject(MarkedSetupService, { self: true });
|
|
@@ -20,11 +20,10 @@ class MarkdownContentRendererService {
|
|
|
20
20
|
}
|
|
21
21
|
// eslint-disable-next-line
|
|
22
22
|
enhance() { }
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
24
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MarkdownContentRendererService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
24
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MarkdownContentRendererService }); }
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: MarkdownContentRendererService, decorators: [{
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MarkdownContentRendererService, decorators: [{
|
|
28
27
|
type: Injectable
|
|
29
28
|
}] });
|
|
30
29
|
export function withMarkdownRenderer(options) {
|
|
@@ -48,4 +47,4 @@ export function provideContent(...features) {
|
|
|
48
47
|
return [...features, MarkedSetupService];
|
|
49
48
|
}
|
|
50
49
|
export const MERMAID_IMPORT_TOKEN = new InjectionToken('mermaid_import');
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tY29udGVudC1yZW5kZXJlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGVudC9zcmMvbGliL21hcmtkb3duLWNvbnRlbnQtcmVuZGVyZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsTUFBTSxFQUNOLFVBQVUsRUFDVixjQUFjLEVBQ2QsV0FBVyxHQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZUFBZSxFQUFzQixNQUFNLG9CQUFvQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUc1RCxNQUFNLE9BQU8sOEJBQThCO0lBRDNDO1FBRUUsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqQyxZQUFPLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FldEQ7SUFmQyxPQUFPLENBQThDO0lBRXJELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBZTtRQUMxQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCO1FBQ2hCLE9BQU8sY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELDJCQUEyQjtJQUMzQixPQUFPLEtBQUksQ0FBQzttSEFoQkQsOEJBQThCO3VIQUE5Qiw4QkFBOEI7O2dHQUE5Qiw4QkFBOEI7a0JBRDFDLFVBQVU7O0FBd0JYLE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsT0FBaUM7SUFFakMsT0FBTztRQUNMO1lBQ0UsT0FBTyxFQUFFLGVBQWU7WUFDeEIsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksOEJBQThCLEVBQUU7WUFDdEQsSUFBSSxFQUFFLENBQUMsa0JBQWtCLENBQUM7U0FDM0I7UUFDRCxPQUFPLEVBQUUsV0FBVztZQUNsQixDQUFDLENBQUM7Z0JBQ0U7b0JBQ0UsT0FBTyxFQUFFLG9CQUFvQjtvQkFDN0IsVUFBVSxFQUFFLE9BQU8sQ0FBQyxXQUFXO2lCQUNoQzthQUNGO1lBQ0gsQ0FBQyxDQUFDLEVBQUU7S0FDUCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBRyxRQUFvQjtJQUNwRCxPQUFPLENBQUMsR0FBRyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBRXBELGdCQUFnQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBpbmplY3QsXG4gIEluamVjdGFibGUsXG4gIEluamVjdGlvblRva2VuLFxuICBQTEFURk9STV9JRCxcbiAgUHJvdmlkZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0SGVhZGluZ0xpc3QgfSBmcm9tICdtYXJrZWQtZ2ZtLWhlYWRpbmctaWQnO1xuXG5pbXBvcnQgeyBDb250ZW50UmVuZGVyZXIsIFRhYmxlT2ZDb250ZW50SXRlbSB9IGZyb20gJy4vY29udGVudC1yZW5kZXJlcic7XG5pbXBvcnQgeyBNYXJrZWRTZXR1cFNlcnZpY2UgfSBmcm9tICcuL21hcmtlZC1zZXR1cC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1hcmtkb3duQ29udGVudFJlbmRlcmVyU2VydmljZSBpbXBsZW1lbnRzIENvbnRlbnRSZW5kZXJlciB7XG4gIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICAjbWFya2VkID0gaW5qZWN0KE1hcmtlZFNldHVwU2VydmljZSwgeyBzZWxmOiB0cnVlIH0pO1xuXG4gIGFzeW5jIHJlbmRlcihjb250ZW50OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLiNtYXJrZWQuZ2V0TWFya2VkSW5zdGFuY2UoKS5wYXJzZShjb250ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbWV0aG9kIGlzIG1lYW50IHRvIGJlIGNhbGxlZCBhZnRlciBgcmVuZGVyKClgXG4gICAqL1xuICBnZXRDb250ZW50SGVhZGluZ3MoKTogVGFibGVPZkNvbnRlbnRJdGVtW10ge1xuICAgIHJldHVybiBnZXRIZWFkaW5nTGlzdCgpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIGVuaGFuY2UoKSB7fVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcmtkb3duUmVuZGVyZXJPcHRpb25zIHtcbiAgbG9hZE1lcm1haWQ/OiAoKSA9PiBQcm9taXNlPHR5cGVvZiBpbXBvcnQoJ21lcm1haWQnKT47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoTWFya2Rvd25SZW5kZXJlcihcbiAgb3B0aW9ucz86IE1hcmtkb3duUmVuZGVyZXJPcHRpb25zXG4pOiBQcm92aWRlciB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQ29udGVudFJlbmRlcmVyLFxuICAgICAgdXNlRmFjdG9yeTogKCkgPT4gbmV3IE1hcmtkb3duQ29udGVudFJlbmRlcmVyU2VydmljZSgpLFxuICAgICAgZGVwczogW01hcmtlZFNldHVwU2VydmljZV0sXG4gICAgfSxcbiAgICBvcHRpb25zPy5sb2FkTWVybWFpZFxuICAgICAgPyBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTUVSTUFJRF9JTVBPUlRfVE9LRU4sXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBvcHRpb25zLmxvYWRNZXJtYWlkLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIDogW10sXG4gIF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQ29udGVudCguLi5mZWF0dXJlczogUHJvdmlkZXJbXSkge1xuICByZXR1cm4gWy4uLmZlYXR1cmVzLCBNYXJrZWRTZXR1cFNlcnZpY2VdO1xufVxuXG5leHBvcnQgY29uc3QgTUVSTUFJRF9JTVBPUlRfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gIFByb21pc2U8dHlwZW9mIGltcG9ydCgnbWVybWFpZCcpPlxuPignbWVybWFpZF9pbXBvcnQnKTtcbiJdfQ==
|
|
@@ -6,7 +6,7 @@ import { ContentRenderer } from './content-renderer';
|
|
|
6
6
|
import { AnchorNavigationDirective } from './anchor-navigation.directive';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "./anchor-navigation.directive";
|
|
9
|
-
class AnalogMarkdownRouteComponent {
|
|
9
|
+
export default class AnalogMarkdownRouteComponent {
|
|
10
10
|
constructor() {
|
|
11
11
|
this.sanitizer = inject(DomSanitizer);
|
|
12
12
|
this.route = inject(ActivatedRoute);
|
|
@@ -17,11 +17,10 @@ class AnalogMarkdownRouteComponent {
|
|
|
17
17
|
ngAfterViewChecked() {
|
|
18
18
|
this.contentRenderer.enhance();
|
|
19
19
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: AnalogMarkdownRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-rc.0", type: AnalogMarkdownRouteComponent, isStandalone: true, selector: "analog-markdown-route", inputs: { classes: "classes" }, hostDirectives: [{ directive: i1.AnchorNavigationDirective }], ngImport: i0, template: `<div [innerHTML]="content" [class]="classes"></div>`, isInline: true, encapsulation: i0.ViewEncapsulation.None, preserveWhitespaces: true }); }
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: AnalogMarkdownRouteComponent, decorators: [{
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: AnalogMarkdownRouteComponent, decorators: [{
|
|
25
24
|
type: Component,
|
|
26
25
|
args: [{
|
|
27
26
|
selector: 'analog-markdown-route',
|
|
@@ -35,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
|
|
|
35
34
|
}], propDecorators: { classes: [{
|
|
36
35
|
type: Input
|
|
37
36
|
}] } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tcm91dGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGVudC9zcmMvbGliL21hcmtkb3duLXJvdXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUVMLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUNMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBVzFFLE1BQU0sQ0FBQyxPQUFPLE9BQU8sNEJBQTRCO0lBVGpEO1FBVVUsY0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqQyxVQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZDLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRWhDLFlBQU8sR0FBYSxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUNsRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FDbEQsQ0FBQztRQUVPLFlBQU8sR0FBRyx1QkFBdUIsQ0FBQztLQUs1QztJQUhDLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLENBQUM7bUhBYmtCLDRCQUE0Qjt1R0FBNUIsNEJBQTRCLGdMQUZyQyxxREFBcUQ7O2dHQUU1Qyw0QkFBNEI7a0JBVGhELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQztvQkFDcEIsY0FBYyxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQzNDLG1CQUFtQixFQUFFLElBQUk7b0JBQ3pCLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxRQUFRLEVBQUUscURBQXFEO2lCQUNoRTs4QkFVVSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQ29tcG9uZW50LFxuICBpbmplY3QsXG4gIElucHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IENvbnRlbnRSZW5kZXJlciB9IGZyb20gJy4vY29udGVudC1yZW5kZXJlcic7XG5pbXBvcnQgeyBBbmNob3JOYXZpZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9hbmNob3ItbmF2aWdhdGlvbi5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmFsb2ctbWFya2Rvd24tcm91dGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQXN5bmNQaXBlXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtBbmNob3JOYXZpZ2F0aW9uRGlyZWN0aXZlXSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogdHJ1ZSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgdGVtcGxhdGU6IGA8ZGl2IFtpbm5lckhUTUxdPVwiY29udGVudFwiIFtjbGFzc109XCJjbGFzc2VzXCI+PC9kaXY+YCxcbn0pXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBbmFsb2dNYXJrZG93blJvdXRlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gIHByaXZhdGUgc2FuaXRpemVyID0gaW5qZWN0KERvbVNhbml0aXplcik7XG4gIHByaXZhdGUgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBjb250ZW50UmVuZGVyZXIgPSBpbmplY3QoQ29udGVudFJlbmRlcmVyKTtcblxuICBwcm90ZWN0ZWQgY29udGVudDogU2FmZUh0bWwgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChcbiAgICB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGFbJ3JlbmRlcmVkQW5hbG9nQ29udGVudCddXG4gICk7XG5cbiAgQElucHV0KCkgY2xhc3NlcyA9ICdhbmFsb2ctbWFya2Rvd24tcm91dGUnO1xuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICB0aGlzLmNvbnRlbnRSZW5kZXJlci5lbmhhbmNlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -10,7 +10,7 @@ import { ContentRenderer } from './content-renderer';
|
|
|
10
10
|
import { MERMAID_IMPORT_TOKEN } from './markdown-content-renderer.service';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "./anchor-navigation.directive";
|
|
13
|
-
class AnalogMarkdownComponent {
|
|
13
|
+
export default class AnalogMarkdownComponent {
|
|
14
14
|
constructor() {
|
|
15
15
|
this.sanitizer = inject(DomSanitizer);
|
|
16
16
|
this.route = inject(ActivatedRoute);
|
|
@@ -57,11 +57,10 @@ class AnalogMarkdownComponent {
|
|
|
57
57
|
this.mermaid?.default.run();
|
|
58
58
|
}));
|
|
59
59
|
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
61
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: AnalogMarkdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
61
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-rc.0", type: AnalogMarkdownComponent, isStandalone: true, selector: "analog-markdown", inputs: { content: "content", classes: "classes" }, usesOnChanges: true, hostDirectives: [{ directive: i1.AnchorNavigationDirective }], ngImport: i0, template: `<div [innerHTML]="content$ | async" [class]="classes"></div>`, isInline: true, dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None, preserveWhitespaces: true }); }
|
|
62
62
|
}
|
|
63
|
-
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: AnalogMarkdownComponent, decorators: [{
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: AnalogMarkdownComponent, decorators: [{
|
|
65
64
|
type: Component,
|
|
66
65
|
args: [{
|
|
67
66
|
selector: 'analog-markdown',
|
|
@@ -72,9 +71,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
|
|
|
72
71
|
encapsulation: ViewEncapsulation.None,
|
|
73
72
|
template: `<div [innerHTML]="content$ | async" [class]="classes"></div>`,
|
|
74
73
|
}]
|
|
75
|
-
}], ctorParameters:
|
|
74
|
+
}], ctorParameters: () => [], propDecorators: { content: [{
|
|
76
75
|
type: Input
|
|
77
76
|
}], classes: [{
|
|
78
77
|
type: Input
|
|
79
78
|
}] } });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGVudC9zcmMvbGliL21hcmtkb3duLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUdOLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFRLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFjLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7QUFXM0UsTUFBTSxDQUFDLE9BQU8sT0FBTyx1QkFBdUI7SUFtQjFDO1FBaEJRLGNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvQixTQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2IsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqQyxrQkFB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QUFFLDhEQUE4RDtpQkFDekU7d0RBZVUsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgUExBVEZPUk1fSUQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIERhdGEgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFuY2hvck5hdmlnYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2FuY2hvci1uYXZpZ2F0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb250ZW50UmVuZGVyZXIgfSBmcm9tICcuL2NvbnRlbnQtcmVuZGVyZXInO1xuaW1wb3J0IHsgTUVSTUFJRF9JTVBPUlRfVE9LRU4gfSBmcm9tICcuL21hcmtkb3duLWNvbnRlbnQtcmVuZGVyZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuYWxvZy1tYXJrZG93bicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtBc3luY1BpcGVdLFxuICBob3N0RGlyZWN0aXZlczogW0FuY2hvck5hdmlnYXRpb25EaXJlY3RpdmVdLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiB0cnVlLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICB0ZW1wbGF0ZTogYDxkaXYgW2lubmVySFRNTF09XCJjb250ZW50JCB8IGFzeW5jXCIgW2NsYXNzXT1cImNsYXNzZXNcIj48L2Rpdj5gLFxufSlcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFuYWxvZ01hcmtkb3duQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0NoZWNrZWRcbntcbiAgcHJpdmF0ZSBzYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcbiAgcHJpdmF0ZSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHByaXZhdGUgem9uZSA9IGluamVjdChOZ1pvbmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICBwcml2YXRlIHJlYWRvbmx5IG1lcm1haWRJbXBvcnQgPSBpbmplY3QoTUVSTUFJRF9JTVBPUlRfVE9LRU4sIHtcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgfSk7XG4gIHByaXZhdGUgbWVybWFpZDogdHlwZW9mIGltcG9ydCgnbWVybWFpZCcpIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBjb250ZW50JDogT2JzZXJ2YWJsZTxTYWZlSHRtbD4gPSBvZignJyk7XG5cbiAgQElucHV0KCkgY29udGVudCE6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGw7XG4gIEBJbnB1dCgpIGNsYXNzZXMgPSAnYW5hbG9nLW1hcmtkb3duJztcblxuICBjb250ZW50UmVuZGVyZXIgPSBpbmplY3QoQ29udGVudFJlbmRlcmVyKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0aGlzLm1lcm1haWRJbXBvcnQpIHtcbiAgICAgIC8vIE1lcm1haWQgY2FuIG9ubHkgYmUgbG9hZGVkIG9uIGNsaWVudCBzaWRlXG4gICAgICB0aGlzLmxvYWRNZXJtYWlkKHRoaXMubWVybWFpZEltcG9ydCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVDb250ZW50KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUNvbnRlbnQoKTtcbiAgfVxuXG4gIHVwZGF0ZUNvbnRlbnQoKSB7XG4gICAgdGhpcy5jb250ZW50JCA9IHRoaXMucm91dGUuZGF0YS5waXBlKFxuICAgICAgbWFwPERhdGEsIHN0cmluZz4oKGRhdGEpID0+IHRoaXMuY29udGVudCA/PyBkYXRhWydfYW5hbG9nQ29udGVudCddKSxcbiAgICAgIG1lcmdlTWFwKChjb250ZW50U3RyaW5nKSA9PiB0aGlzLnJlbmRlckNvbnRlbnQoY29udGVudFN0cmluZykpLFxuICAgICAgbWFwKChjb250ZW50KSA9PiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChjb250ZW50KSksXG4gICAgICBjYXRjaEVycm9yKChlKSA9PiBvZihgVGhlcmUgd2FzIGFuIGVycm9yICR7ZX1gKSlcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgcmVuZGVyQ29udGVudChjb250ZW50OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnRSZW5kZXJlci5yZW5kZXIoY29udGVudCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgdGhpcy5jb250ZW50UmVuZGVyZXIuZW5oYW5jZSgpO1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB0aGlzLm1lcm1haWQ/LmRlZmF1bHQucnVuKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkTWVybWFpZChtZXJtYWlkSW1wb3J0OiBQcm9taXNlPHR5cGVvZiBpbXBvcnQoJ21lcm1haWQnKT4pIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgIC8vIFdyYXAgaW50byBhbiBvYnNlcnZhYmxlIHRvIGF2b2lkIHJlZHVuZGFudCBpbml0aWFsaXphdGlvbiBvbmNlXG4gICAgICAvLyB0aGUgbWFya2Rvd24gY29tcG9uZW50IGlzIGRlc3Ryb3llZCBiZWZvcmUgdGhlIHByb21pc2UgaXMgcmVzb2x2ZWQuXG4gICAgICBmcm9tKG1lcm1haWRJbXBvcnQpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAuc3Vic2NyaWJlKChtZXJtYWlkKSA9PiB7XG4gICAgICAgICAgdGhpcy5tZXJtYWlkID0gbWVybWFpZDtcbiAgICAgICAgICB0aGlzLm1lcm1haWQuZGVmYXVsdC5pbml0aWFsaXplKHsgc3RhcnRPbkxvYWQ6IGZhbHNlIH0pO1xuICAgICAgICAgIC8vIEV4cGxpY2l0bHkgcnVubmluZyBtZXJtYWlkIGFzIG5nQWZ0ZXJWaWV3Q2hlY2tlZFxuICAgICAgICAgIC8vIGhhcyBwcm9iYWJseSBhbHJlYWR5IGJlZW4gY2FsbGVkXG4gICAgICAgICAgdGhpcy5tZXJtYWlkPy5kZWZhdWx0LnJ1bigpO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -16,7 +16,7 @@ import 'prismjs/components/prism-typescript';
|
|
|
16
16
|
import 'prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard';
|
|
17
17
|
import 'prismjs/plugins/toolbar/prism-toolbar';
|
|
18
18
|
import * as i0 from "@angular/core";
|
|
19
|
-
class MarkedSetupService {
|
|
19
|
+
export class MarkedSetupService {
|
|
20
20
|
constructor() {
|
|
21
21
|
const renderer = new marked.Renderer();
|
|
22
22
|
renderer.code = (code, lang) => {
|
|
@@ -78,11 +78,10 @@ class MarkedSetupService {
|
|
|
78
78
|
getMarkedInstance() {
|
|
79
79
|
return this.marked;
|
|
80
80
|
}
|
|
81
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
82
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
81
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MarkedSetupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
82
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MarkedSetupService }); }
|
|
83
83
|
}
|
|
84
|
-
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: MarkedSetupService, decorators: [{
|
|
84
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MarkedSetupService, decorators: [{
|
|
86
85
|
type: Injectable
|
|
87
|
-
}], ctorParameters:
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
}], ctorParameters: () => [] });
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VkLXNldHVwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZW50L3NyYy9saWIvbWFya2VkLXNldHVwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQsT0FBTyxTQUFTLENBQUM7QUFDakIsT0FBTywrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8scUNBQXFDLENBQUM7QUFDN0MsT0FBTywrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8scUNBQXFDLENBQUM7QUFDN0MsT0FBTywyREFBMkQsQ0FBQztBQUNuRSxPQUFPLHVDQUF1QyxDQUFDOztBQUsvQyxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCO1FBQ0UsTUFBTSxRQUFRLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkMsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLElBQVksRUFBRSxJQUFZLEVBQUUsRUFBRTtZQUM3QyxxREFBcUQ7WUFDckQsb0RBQW9EO1lBQ3BELElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtnQkFDdEIsT0FBTyx1QkFBdUIsR0FBRyxJQUFJLEdBQUcsUUFBUSxDQUFDO2FBQ2xEO1lBRUQsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDVCxPQUFPLGFBQWEsR0FBRyxJQUFJLEdBQUcsZUFBZSxDQUFDO2FBQy9DO1lBRUQsTUFBTSxPQUFPLEdBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztnQkFDaEQsQ0FBQyxDQUFDLFlBQVksSUFBSSxpQkFBaUI7Z0JBQ25DLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDOUMsT0FBTyxlQUFlLE9BQU8sa0JBQWtCLE9BQU8sS0FBSyxJQUFJLGVBQWUsQ0FBQztRQUNqRixDQUFDLENBQUM7UUFFRixNQUFNLENBQUMsR0FBRyxDQUNSLFlBQVksRUFBRSxFQUNkLGVBQWUsQ0FBQztZQUNkLEtBQUssRUFBRSxJQUFJO1lBQ1gsU0FBUyxFQUFFLENBQUMsSUFBWSxFQUFFLElBQVksRUFBRSxFQUFFO2dCQUN4QyxJQUFJLElBQUksR0FBRyxJQUFJLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNyQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLFlBQVksQ0FBQztnQkFFL0QsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUNwQyxJQUFJLEdBQUcsS0FBSyxDQUFDO29CQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUM7Ozs7Ozs7YUFPWixDQUFDLENBQUM7aUJBQ0o7Z0JBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQzFCLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTt3QkFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQzs7OEJBRUcsSUFBSTs7eUNBRU8sSUFBSTs7ZUFFOUIsQ0FBQyxDQUFDO3FCQUNKO29CQUNELE9BQU8sSUFBSSxDQUFDO2lCQUNiO2dCQUNELE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FDcEIsSUFBSSxFQUNKLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDdEQsSUFBSSxDQUNMLENBQUM7WUFDSixDQUFDO1NBQ0YsQ0FBQyxFQUNGO1lBQ0UsUUFBUTtZQUNSLFFBQVEsRUFBRSxLQUFLO1lBQ2YsR0FBRyxFQUFFLElBQUk7WUFDVCxNQUFNLEVBQUUsS0FBSztZQUNiLFFBQVEsRUFBRSxLQUFLO1lBQ2YsV0FBVyxFQUFFLEtBQUs7WUFDbEIsS0FBSyxFQUFFLEtBQUs7WUFDWixNQUFNLEVBQUUsS0FBSztTQUNkLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQzttSEEvRVUsa0JBQWtCO3VIQUFsQixrQkFBa0I7O2dHQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENyZWRpdCBnb2VzIHRvIFNjdWxseSBmb3Igb3JpZ2luYWwgaW1wbGVtZW50YXRpb25cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zY3VsbHlpby9zY3VsbHkvYmxvYi9tYWluL2xpYnMvc2N1bGx5L3NyYy9saWIvZmlsZUhhbmRlclBsdWdpbnMvbWFya2Rvd24udHNcbiAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFya2VkIH0gZnJvbSAnbWFya2VkJztcbmltcG9ydCB7IGdmbUhlYWRpbmdJZCB9IGZyb20gJ21hcmtlZC1nZm0taGVhZGluZy1pZCc7XG5pbXBvcnQgeyBtYXJrZWRIaWdobGlnaHQgfSBmcm9tICdtYXJrZWQtaGlnaGxpZ2h0JztcblxuaW1wb3J0ICdwcmlzbWpzJztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLWJhc2gnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tY3NzJztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLWphdmFzY3JpcHQnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tanNvbic7XG5pbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS1tYXJrdXAnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tdHlwZXNjcmlwdCc7XG5pbXBvcnQgJ3ByaXNtanMvcGx1Z2lucy9jb3B5LXRvLWNsaXBib2FyZC9wcmlzbS1jb3B5LXRvLWNsaXBib2FyZCc7XG5pbXBvcnQgJ3ByaXNtanMvcGx1Z2lucy90b29sYmFyL3ByaXNtLXRvb2xiYXInO1xuXG5kZWNsYXJlIGNvbnN0IFByaXNtOiB0eXBlb2YgaW1wb3J0KCdwcmlzbWpzJyk7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXJrZWRTZXR1cFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IG1hcmtlZDogdHlwZW9mIG1hcmtlZDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCByZW5kZXJlciA9IG5ldyBtYXJrZWQuUmVuZGVyZXIoKTtcbiAgICByZW5kZXJlci5jb2RlID0gKGNvZGU6IHN0cmluZywgbGFuZzogc3RyaW5nKSA9PiB7XG4gICAgICAvLyBMZXQncyBkbyBhIGxhbmd1YWdlIGJhc2VkIGRldGVjdGlvbiBsaWtlIG9uIEdpdEh1YlxuICAgICAgLy8gU28gd2UgY2FuIHN0aWxsIGhhdmUgbm9uLWludGVycHJldGVkIG1lcm1haWQgY29kZVxuICAgICAgaWYgKGxhbmcgPT09ICdtZXJtYWlkJykge1xuICAgICAgICByZXR1cm4gJzxwcmUgY2xhc3M9XCJtZXJtYWlkXCI+JyArIGNvZGUgKyAnPC9wcmU+JztcbiAgICAgIH1cblxuICAgICAgaWYgKCFsYW5nKSB7XG4gICAgICAgIHJldHVybiAnPHByZT48Y29kZT4nICsgY29kZSArICc8L2NvZGU+PC9wcmU+JztcbiAgICAgIH1cblxuICAgICAgY29uc3QgY2xhc3NlcyA9XG4gICAgICAgIGxhbmcuc3RhcnRzV2l0aCgnZGlmZicpICYmIFByaXNtLmxhbmd1YWdlc1snZGlmZiddXG4gICAgICAgICAgPyBgbGFuZ3VhZ2UtJHtsYW5nfSBkaWZmLWhpZ2hsaWdodGBcbiAgICAgICAgICA6IGBsYW5ndWFnZS0ke2xhbmcucmVwbGFjZSgnZGlmZi0nLCAnJyl9YDtcbiAgICAgIHJldHVybiBgPHByZSBjbGFzcz1cIiR7Y2xhc3Nlc31cIj48Y29kZSBjbGFzcz1cIiR7Y2xhc3Nlc31cIj4ke2NvZGV9PC9jb2RlPjwvcHJlPmA7XG4gICAgfTtcblxuICAgIG1hcmtlZC51c2UoXG4gICAgICBnZm1IZWFkaW5nSWQoKSxcbiAgICAgIG1hcmtlZEhpZ2hsaWdodCh7XG4gICAgICAgIGFzeW5jOiB0cnVlLFxuICAgICAgICBoaWdobGlnaHQ6IChjb2RlOiBzdHJpbmcsIGxhbmc6IHN0cmluZykgPT4ge1xuICAgICAgICAgIGxldCBkaWZmID0gbGFuZz8uc3RhcnRzV2l0aCgnZGlmZi0nKTtcbiAgICAgICAgICBsYW5nID0gZGlmZiA/IGxhbmcucmVwbGFjZSgnZGlmZi0nLCAnJykgOiBsYW5nIHx8ICd0eXBlc2NyaXB0JztcblxuICAgICAgICAgIGlmIChkaWZmICYmICFQcmlzbS5sYW5ndWFnZXNbJ2RpZmYnXSkge1xuICAgICAgICAgICAgZGlmZiA9IGZhbHNlO1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGBOb3RpY2U6XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVGhlIFxcYGRpZmZcXGAgbGFuZ3VhZ2UgYW5kIHBsdWdpbiBhcmUgbm90IGF2YWlsYWJsZSBpbiB0aGUgcHJvdmlkZWQgc2V0dXAuXG4gICAgVG8gZW5hYmxlIGl0LCBhZGQgdGhlIGZvbGxvd2luZyBpbXBvcnRzIHlvdXIgXFxgbWFpbi50c1xcYDpcbiAgICAgIGltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLWRpZmYnO1xuICAgICAgaW1wb3J0ICdwcmlzbWpzL3BsdWdpbnMvZGlmZi1oaWdobGlnaHQvcHJpc20tZGlmZi1oaWdobGlnaHQnO1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgYCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFQcmlzbS5sYW5ndWFnZXNbbGFuZ10pIHtcbiAgICAgICAgICAgIGlmIChsYW5nICE9PSAnbWVybWFpZCcpIHtcbiAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBOb3RpY2U6XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVGhlIHJlcXVlc3RlZCBsYW5ndWFnZSAnJHtsYW5nfScgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgcHJvdmlkZWQgc2V0dXAuXG4gICAgVG8gZW5hYmxlIGl0LCBhZGQgdGhlIGZvbGxvd2luZyBpbXBvcnQgeW91ciBcXGBtYWluLnRzXFxgOlxuICAgICAgaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tJHtsYW5nfSc7XG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgIGApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGNvZGU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBQcmlzbS5oaWdobGlnaHQoXG4gICAgICAgICAgICBjb2RlLFxuICAgICAgICAgICAgZGlmZiA/IFByaXNtLmxhbmd1YWdlc1snZGlmZiddIDogUHJpc20ubGFuZ3VhZ2VzW2xhbmddLFxuICAgICAgICAgICAgbGFuZ1xuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIHtcbiAgICAgICAgcmVuZGVyZXIsXG4gICAgICAgIHBlZGFudGljOiBmYWxzZSxcbiAgICAgICAgZ2ZtOiB0cnVlLFxuICAgICAgICBicmVha3M6IGZhbHNlLFxuICAgICAgICBzYW5pdGl6ZTogZmFsc2UsXG4gICAgICAgIHNtYXJ0eXBhbnRzOiBmYWxzZSxcbiAgICAgICAgeGh0bWw6IGZhbHNlLFxuICAgICAgICBtYW5nbGU6IGZhbHNlLFxuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLm1hcmtlZCA9IG1hcmtlZDtcbiAgfVxuXG4gIGdldE1hcmtlZEluc3RhbmNlKCk6IHR5cGVvZiBtYXJrZWQge1xuICAgIHJldHVybiB0aGlzLm1hcmtlZDtcbiAgfVxufVxuIl19
|
|
@@ -38,10 +38,10 @@ class AnchorNavigationDirective {
|
|
|
38
38
|
}
|
|
39
39
|
return true;
|
|
40
40
|
}
|
|
41
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
42
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: AnchorNavigationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
42
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-rc.0", type: AnchorNavigationDirective, isStandalone: true, selector: "[analogAnchorNavigation]", host: { listeners: { "click": "handleNavigation($event.target)" } }, ngImport: i0 }); }
|
|
43
43
|
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: AnchorNavigationDirective, decorators: [{
|
|
45
45
|
type: Directive,
|
|
46
46
|
args: [{
|
|
47
47
|
selector: '[analogAnchorNavigation]',
|
|
@@ -217,10 +217,10 @@ class ContentRenderer {
|
|
|
217
217
|
}
|
|
218
218
|
// eslint-disable-next-line
|
|
219
219
|
enhance() { }
|
|
220
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
221
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
220
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: ContentRenderer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
221
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: ContentRenderer }); }
|
|
222
222
|
}
|
|
223
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
223
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: ContentRenderer, decorators: [{
|
|
224
224
|
type: Injectable
|
|
225
225
|
}] });
|
|
226
226
|
|
|
@@ -299,12 +299,12 @@ class MarkedSetupService {
|
|
|
299
299
|
getMarkedInstance() {
|
|
300
300
|
return this.marked;
|
|
301
301
|
}
|
|
302
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
303
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
302
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MarkedSetupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
303
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MarkedSetupService }); }
|
|
304
304
|
}
|
|
305
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
305
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MarkedSetupService, decorators: [{
|
|
306
306
|
type: Injectable
|
|
307
|
-
}], ctorParameters:
|
|
307
|
+
}], ctorParameters: () => [] });
|
|
308
308
|
|
|
309
309
|
class MarkdownContentRendererService {
|
|
310
310
|
constructor() {
|
|
@@ -323,10 +323,10 @@ class MarkdownContentRendererService {
|
|
|
323
323
|
}
|
|
324
324
|
// eslint-disable-next-line
|
|
325
325
|
enhance() { }
|
|
326
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
327
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
326
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MarkdownContentRendererService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
327
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MarkdownContentRendererService }); }
|
|
328
328
|
}
|
|
329
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
329
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MarkdownContentRendererService, decorators: [{
|
|
330
330
|
type: Injectable
|
|
331
331
|
}] });
|
|
332
332
|
function withMarkdownRenderer(options) {
|
|
@@ -362,10 +362,10 @@ class AnalogMarkdownRouteComponent {
|
|
|
362
362
|
ngAfterViewChecked() {
|
|
363
363
|
this.contentRenderer.enhance();
|
|
364
364
|
}
|
|
365
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
366
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
365
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: AnalogMarkdownRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
366
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-rc.0", type: AnalogMarkdownRouteComponent, isStandalone: true, selector: "analog-markdown-route", inputs: { classes: "classes" }, hostDirectives: [{ directive: AnchorNavigationDirective }], ngImport: i0, template: `<div [innerHTML]="content" [class]="classes"></div>`, isInline: true, encapsulation: i0.ViewEncapsulation.None, preserveWhitespaces: true }); }
|
|
367
367
|
}
|
|
368
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
368
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: AnalogMarkdownRouteComponent, decorators: [{
|
|
369
369
|
type: Component,
|
|
370
370
|
args: [{
|
|
371
371
|
selector: 'analog-markdown-route',
|
|
@@ -427,10 +427,10 @@ class AnalogMarkdownComponent {
|
|
|
427
427
|
this.mermaid?.default.run();
|
|
428
428
|
}));
|
|
429
429
|
}
|
|
430
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
431
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
430
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: AnalogMarkdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
431
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-rc.0", type: AnalogMarkdownComponent, isStandalone: true, selector: "analog-markdown", inputs: { content: "content", classes: "classes" }, usesOnChanges: true, hostDirectives: [{ directive: AnchorNavigationDirective }], ngImport: i0, template: `<div [innerHTML]="content$ | async" [class]="classes"></div>`, isInline: true, dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None, preserveWhitespaces: true }); }
|
|
432
432
|
}
|
|
433
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
433
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: AnalogMarkdownComponent, decorators: [{
|
|
434
434
|
type: Component,
|
|
435
435
|
args: [{
|
|
436
436
|
selector: 'analog-markdown',
|
|
@@ -441,7 +441,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
|
|
|
441
441
|
encapsulation: ViewEncapsulation.None,
|
|
442
442
|
template: `<div [innerHTML]="content$ | async" [class]="classes"></div>`,
|
|
443
443
|
}]
|
|
444
|
-
}], ctorParameters:
|
|
444
|
+
}], ctorParameters: () => [], propDecorators: { content: [{
|
|
445
445
|
type: Input
|
|
446
446
|
}], classes: [{
|
|
447
447
|
type: Input
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analogjs-content.mjs","sources":["../../../../packages/content/src/lib/anchor-navigation.directive.ts","../../../../packages/content/src/lib/get-content-files.ts","../../../../packages/content/src/lib/content-files-list-token.ts","../../../../packages/content/src/lib/content-files-token.ts","../../../../packages/content/src/lib/parse-raw-content-file.ts","../../../../packages/content/src/lib/utils/zone-wait-for.ts","../../../../packages/content/src/lib/content.ts","../../../../packages/content/src/lib/content-renderer.ts","../../../../packages/content/src/lib/inject-content-files.ts","../../../../packages/content/src/lib/marked-setup.service.ts","../../../../packages/content/src/lib/markdown-content-renderer.service.ts","../../../../packages/content/src/lib/markdown-route.component.ts","../../../../packages/content/src/lib/markdown.component.ts","../../../../packages/content/src/analogjs-content.ts"],"sourcesContent":["import { Directive, HostListener, inject } from '@angular/core';\nimport { DOCUMENT, Location } from '@angular/common';\nimport { Router } from '@angular/router';\n\n@Directive({\n selector: '[analogAnchorNavigation]',\n standalone: true,\n})\nexport class AnchorNavigationDirective {\n private readonly document = inject(DOCUMENT);\n private readonly location = inject(Location);\n private readonly router = inject(Router);\n\n @HostListener('click', ['$event.target'])\n handleNavigation(element: HTMLElement): boolean {\n if (\n element instanceof HTMLAnchorElement &&\n isInternalUrl(element, this.document) &&\n hasTargetSelf(element) &&\n !hasDownloadAttribute(element)\n ) {\n const { pathname, search, hash } = element;\n const url = this.location.normalize(`${pathname}${search}${hash}`);\n this.router.navigateByUrl(url);\n\n return false;\n }\n\n return true;\n }\n}\n\nfunction hasDownloadAttribute(anchorElement: HTMLAnchorElement): boolean {\n return anchorElement.getAttribute('download') !== null;\n}\n\nfunction hasTargetSelf(anchorElement: HTMLAnchorElement): boolean {\n return !anchorElement.target || anchorElement.target === '_self';\n}\n\nfunction isInternalUrl(\n anchorElement: HTMLAnchorElement,\n document: Document\n): boolean {\n return (\n anchorElement.host === document.location.host &&\n anchorElement.protocol === document.location.protocol\n );\n}\n","/**\n * Returns the list of content files by filename with ?analog-content-list=true.\n * We use the query param to transform the return into an array of\n * just front matter attributes.\n *\n * @returns\n */\nexport const getContentFilesList = () =>\n import.meta.glob<Record<string, any>>('/src/content/**/*.md', {\n eager: true,\n import: 'default',\n query: { 'analog-content-list': true },\n });\n\n/**\n * Returns the lazy loaded content files for lookups.\n *\n * @returns\n */\nexport const getContentFiles = () =>\n import.meta.glob(['/src/content/**/*.md'], {\n as: 'raw',\n });\n","import { InjectionToken } from '@angular/core';\nimport { ContentFile } from './content-file';\nimport { getContentFilesList } from './get-content-files';\n\nfunction getSlug(filename: string) {\n const parts = filename.match(/^(\\\\|\\/)(.+(\\\\|\\/))*(.+)\\.(.+)$/);\n return parts?.length ? parts[4] : '';\n}\n\nexport const CONTENT_FILES_LIST_TOKEN = new InjectionToken<ContentFile[]>(\n '@analogjs/content Content Files List',\n {\n providedIn: 'root',\n factory() {\n const contentFiles = getContentFilesList();\n\n return Object.keys(contentFiles).map((filename) => {\n const attributes = contentFiles[filename];\n const slug = attributes['slug'];\n\n return {\n filename,\n attributes,\n slug: slug ? encodeURI(slug) : encodeURI(getSlug(filename)),\n };\n });\n },\n }\n);\n","import { InjectionToken, inject } from '@angular/core';\n\nimport { getContentFiles } from './get-content-files';\nimport { CONTENT_FILES_LIST_TOKEN } from './content-files-list-token';\n\nexport const CONTENT_FILES_TOKEN = new InjectionToken<\n Record<string, () => Promise<string>>\n>('@analogjs/content Content Files', {\n providedIn: 'root',\n factory() {\n const contentFiles = getContentFiles();\n const contentFilesList = inject(CONTENT_FILES_LIST_TOKEN);\n\n const lookup: Record<string, string> = {};\n contentFilesList.forEach((item) => {\n const fileParts = item.filename.split('/');\n const filePath = fileParts.slice(0, fileParts.length - 1).join('/');\n lookup[item.filename] = `${filePath}/${item.slug}.md`;\n });\n\n const objectUsingSlugAttribute: Record<string, () => Promise<string>> = {};\n Object.entries(contentFiles).forEach((entry) => {\n const filename = entry[0];\n const value = entry[1];\n\n const newFilename = lookup[filename];\n if (newFilename !== undefined) {\n objectUsingSlugAttribute[newFilename] = value;\n }\n });\n\n return objectUsingSlugAttribute;\n },\n});\n","import fm from 'front-matter';\n\nexport function parseRawContentFile<Attributes extends Record<string, any>>(\n rawContentFile: string\n): { content: string; attributes: Attributes } {\n const { body, attributes } = fm<Attributes>(rawContentFile);\n return { content: body, attributes };\n}\n","import { firstValueFrom, isObservable, Observable } from 'rxjs';\n\ndeclare const Zone: any;\n\nexport async function waitFor<T>(prom: Promise<T> | Observable<T>): Promise<T> {\n if (isObservable(prom)) {\n prom = firstValueFrom(prom);\n }\n const macroTask = Zone.current.scheduleMacroTask(\n `AnalogContentResolve-${Math.random()}`,\n () => {},\n {},\n () => {}\n );\n return prom.then((p: T) => {\n macroTask.invoke();\n return p;\n });\n}\n","/// <reference types=\"vite/client\" />\n\nimport { inject } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Observable, of } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\n\nimport { ContentFile } from './content-file';\nimport { CONTENT_FILES_TOKEN } from './content-files-token';\nimport { parseRawContentFile } from './parse-raw-content-file';\nimport { waitFor } from './utils/zone-wait-for';\n\nfunction getContentFile<\n Attributes extends Record<string, any> = Record<string, any>\n>(\n contentFiles: Record<string, () => Promise<string>>,\n prefix: string,\n slug: string,\n fallback: string\n): Observable<ContentFile<Attributes | Record<string, never>>> {\n const filePath = `/src/content/${prefix}${slug}.md`;\n const contentFile = contentFiles[filePath];\n if (!contentFile) {\n return of({\n filename: filePath,\n attributes: {},\n slug: '',\n content: fallback,\n });\n }\n\n return new Observable<string>((observer) => {\n const contentResolver = contentFile();\n\n if (import.meta.env.SSR === true) {\n waitFor(contentResolver).then((content) => {\n observer.next(content);\n });\n } else {\n contentResolver.then((content) => {\n observer.next(content);\n });\n }\n }).pipe(\n map((rawContentFile) => {\n const { content, attributes } =\n parseRawContentFile<Attributes>(rawContentFile);\n\n return {\n filename: filePath,\n slug,\n attributes,\n content,\n };\n })\n );\n}\n\n/**\n * Retrieves the static content using the provided param and/or prefix.\n *\n * @param param route parameter (default: 'slug')\n * @param fallback fallback text if content file is not found (default: 'No Content Found')\n */\nexport function injectContent<\n Attributes extends Record<string, any> = Record<string, any>\n>(\n param:\n | string\n | {\n param: string;\n subdirectory: string;\n }\n | {\n customFilename: string;\n } = 'slug',\n fallback = 'No Content Found'\n): Observable<ContentFile<Attributes | Record<string, never>>> {\n const contentFiles = inject(CONTENT_FILES_TOKEN);\n\n if (typeof param === 'string' || 'param' in param) {\n const prefix = typeof param === 'string' ? '' : `${param.subdirectory}/`;\n const route = inject(ActivatedRoute);\n const paramKey = typeof param === 'string' ? param : param.param;\n return route.paramMap.pipe(\n map((params) => params.get(paramKey)),\n switchMap((slug) => {\n if (slug) {\n return getContentFile<Attributes>(\n contentFiles,\n prefix,\n slug,\n fallback\n );\n } else {\n return of({\n filename: '',\n slug: '',\n attributes: {},\n content: fallback,\n });\n }\n })\n );\n } else {\n return getContentFile<Attributes>(\n contentFiles,\n '',\n param.customFilename,\n fallback\n );\n }\n}\n","import { Injectable } from '@angular/core';\n\nexport type TableOfContentItem = {\n id: string;\n level: number; // starts at 1\n text: string;\n};\n\n@Injectable()\nexport abstract class ContentRenderer {\n async render(content: string): Promise<string> {\n return content;\n }\n\n getContentHeadings(): Array<TableOfContentItem> {\n return [];\n }\n\n // eslint-disable-next-line\n enhance() {}\n}\n","import { ContentFile } from './content-file';\nimport { inject } from '@angular/core';\nimport { CONTENT_FILES_LIST_TOKEN } from './content-files-list-token';\n\nexport function injectContentFiles<Attributes extends Record<string, any>>(\n filterFn?: InjectContentFilesFilterFunction<Attributes>\n): ContentFile<Attributes>[] {\n const allContentFiles = inject(\n CONTENT_FILES_LIST_TOKEN\n ) as ContentFile<Attributes>[];\n\n if (filterFn) {\n const filteredContentFiles = allContentFiles.filter(filterFn);\n\n return filteredContentFiles;\n }\n return allContentFiles;\n}\n\nexport type InjectContentFilesFilterFunction<T extends Record<string, any>> = (\n value: ContentFile<T>,\n index: number,\n array: ContentFile<T>[]\n) => boolean;\n","/**\n * Credit goes to Scully for original implementation\n * https://github.com/scullyio/scully/blob/main/libs/scully/src/lib/fileHanderPlugins/markdown.ts\n */\nimport { Injectable } from '@angular/core';\nimport { marked } from 'marked';\nimport { gfmHeadingId } from 'marked-gfm-heading-id';\nimport { markedHighlight } from 'marked-highlight';\n\nimport 'prismjs';\nimport 'prismjs/components/prism-bash';\nimport 'prismjs/components/prism-css';\nimport 'prismjs/components/prism-javascript';\nimport 'prismjs/components/prism-json';\nimport 'prismjs/components/prism-markup';\nimport 'prismjs/components/prism-typescript';\nimport 'prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard';\nimport 'prismjs/plugins/toolbar/prism-toolbar';\n\ndeclare const Prism: typeof import('prismjs');\n\n@Injectable()\nexport class MarkedSetupService {\n private readonly marked: typeof marked;\n\n constructor() {\n const renderer = new marked.Renderer();\n renderer.code = (code: string, lang: string) => {\n // Let's do a language based detection like on GitHub\n // So we can still have non-interpreted mermaid code\n if (lang === 'mermaid') {\n return '<pre class=\"mermaid\">' + code + '</pre>';\n }\n\n if (!lang) {\n return '<pre><code>' + code + '</code></pre>';\n }\n\n const classes =\n lang.startsWith('diff') && Prism.languages['diff']\n ? `language-${lang} diff-highlight`\n : `language-${lang.replace('diff-', '')}`;\n return `<pre class=\"${classes}\"><code class=\"${classes}\">${code}</code></pre>`;\n };\n\n marked.use(\n gfmHeadingId(),\n markedHighlight({\n async: true,\n highlight: (code: string, lang: string) => {\n let diff = lang?.startsWith('diff-');\n lang = diff ? lang.replace('diff-', '') : lang || 'typescript';\n\n if (diff && !Prism.languages['diff']) {\n diff = false;\n console.warn(`Notice:\n ---------------------------------------------------------------------------------------\n The \\`diff\\` language and plugin are not available in the provided setup.\n To enable it, add the following imports your \\`main.ts\\`:\n import 'prismjs/components/prism-diff';\n import 'prismjs/plugins/diff-highlight/prism-diff-highlight';\n ---------------------------------------------------------------------------------------\n `);\n }\n\n if (!Prism.languages[lang]) {\n if (lang !== 'mermaid') {\n console.warn(`Notice:\n ---------------------------------------------------------------------------------------\n The requested language '${lang}' is not available in the provided setup.\n To enable it, add the following import your \\`main.ts\\`:\n import 'prismjs/components/prism-${lang}';\n ---------------------------------------------------------------------------------------\n `);\n }\n return code;\n }\n return Prism.highlight(\n code,\n diff ? Prism.languages['diff'] : Prism.languages[lang],\n lang\n );\n },\n }),\n {\n renderer,\n pedantic: false,\n gfm: true,\n breaks: false,\n sanitize: false,\n smartypants: false,\n xhtml: false,\n mangle: false,\n }\n );\n\n this.marked = marked;\n }\n\n getMarkedInstance(): typeof marked {\n return this.marked;\n }\n}\n","import {\n inject,\n Injectable,\n InjectionToken,\n PLATFORM_ID,\n Provider,\n} from '@angular/core';\nimport { getHeadingList } from 'marked-gfm-heading-id';\n\nimport { ContentRenderer, TableOfContentItem } from './content-renderer';\nimport { MarkedSetupService } from './marked-setup.service';\n\n@Injectable()\nexport class MarkdownContentRendererService implements ContentRenderer {\n platformId = inject(PLATFORM_ID);\n #marked = inject(MarkedSetupService, { self: true });\n\n async render(content: string): Promise<string> {\n return this.#marked.getMarkedInstance().parse(content);\n }\n\n /**\n * The method is meant to be called after `render()`\n */\n getContentHeadings(): TableOfContentItem[] {\n return getHeadingList();\n }\n\n // eslint-disable-next-line\n enhance() {}\n}\n\nexport interface MarkdownRendererOptions {\n loadMermaid?: () => Promise<typeof import('mermaid')>;\n}\n\nexport function withMarkdownRenderer(\n options?: MarkdownRendererOptions\n): Provider {\n return [\n {\n provide: ContentRenderer,\n useFactory: () => new MarkdownContentRendererService(),\n deps: [MarkedSetupService],\n },\n options?.loadMermaid\n ? [\n {\n provide: MERMAID_IMPORT_TOKEN,\n useFactory: options.loadMermaid,\n },\n ]\n : [],\n ];\n}\n\nexport function provideContent(...features: Provider[]) {\n return [...features, MarkedSetupService];\n}\n\nexport const MERMAID_IMPORT_TOKEN = new InjectionToken<\n Promise<typeof import('mermaid')>\n>('mermaid_import');\n","import { AsyncPipe } from '@angular/common';\nimport {\n AfterViewChecked,\n Component,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ContentRenderer } from './content-renderer';\nimport { AnchorNavigationDirective } from './anchor-navigation.directive';\n\n@Component({\n selector: 'analog-markdown-route',\n standalone: true,\n imports: [AsyncPipe],\n hostDirectives: [AnchorNavigationDirective],\n preserveWhitespaces: true,\n encapsulation: ViewEncapsulation.None,\n template: `<div [innerHTML]=\"content\" [class]=\"classes\"></div>`,\n})\nexport default class AnalogMarkdownRouteComponent implements AfterViewChecked {\n private sanitizer = inject(DomSanitizer);\n private route = inject(ActivatedRoute);\n contentRenderer = inject(ContentRenderer);\n\n protected content: SafeHtml = this.sanitizer.bypassSecurityTrustHtml(\n this.route.snapshot.data['renderedAnalogContent']\n );\n\n @Input() classes = 'analog-markdown-route';\n\n ngAfterViewChecked() {\n this.contentRenderer.enhance();\n }\n}\n","import { AsyncPipe, isPlatformBrowser } from '@angular/common';\nimport {\n AfterViewChecked,\n Component,\n Input,\n NgZone,\n OnChanges,\n OnInit,\n PLATFORM_ID,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { ActivatedRoute, Data } from '@angular/router';\nimport { Observable, from, of } from 'rxjs';\nimport { catchError, map, mergeMap } from 'rxjs/operators';\n\nimport { AnchorNavigationDirective } from './anchor-navigation.directive';\nimport { ContentRenderer } from './content-renderer';\nimport { MERMAID_IMPORT_TOKEN } from './markdown-content-renderer.service';\n\n@Component({\n selector: 'analog-markdown',\n standalone: true,\n imports: [AsyncPipe],\n hostDirectives: [AnchorNavigationDirective],\n preserveWhitespaces: true,\n encapsulation: ViewEncapsulation.None,\n template: `<div [innerHTML]=\"content$ | async\" [class]=\"classes\"></div>`,\n})\nexport default class AnalogMarkdownComponent\n implements OnInit, OnChanges, AfterViewChecked\n{\n private sanitizer = inject(DomSanitizer);\n private route = inject(ActivatedRoute);\n private zone = inject(NgZone);\n private readonly platformId = inject(PLATFORM_ID);\n private readonly mermaidImport = inject(MERMAID_IMPORT_TOKEN, {\n optional: true,\n });\n private mermaid: typeof import('mermaid') | undefined;\n\n public content$: Observable<SafeHtml> = of('');\n\n @Input() content!: string | undefined | null;\n @Input() classes = 'analog-markdown';\n\n contentRenderer = inject(ContentRenderer);\n\n constructor() {\n if (isPlatformBrowser(this.platformId) && this.mermaidImport) {\n // Mermaid can only be loaded on client side\n this.loadMermaid(this.mermaidImport);\n }\n }\n\n ngOnInit(): void {\n this.updateContent();\n }\n\n ngOnChanges(): void {\n this.updateContent();\n }\n\n updateContent() {\n this.content$ = this.route.data.pipe(\n map<Data, string>((data) => this.content ?? data['_analogContent']),\n mergeMap((contentString) => this.renderContent(contentString)),\n map((content) => this.sanitizer.bypassSecurityTrustHtml(content)),\n catchError((e) => of(`There was an error ${e}`))\n );\n }\n\n async renderContent(content: string): Promise<string> {\n return this.contentRenderer.render(content);\n }\n\n ngAfterViewChecked() {\n this.contentRenderer.enhance();\n this.zone.runOutsideAngular(() => this.mermaid?.default.run());\n }\n\n private loadMermaid(mermaidImport: Promise<typeof import('mermaid')>) {\n this.zone.runOutsideAngular(() =>\n // Wrap into an observable to avoid redundant initialization once\n // the markdown component is destroyed before the promise is resolved.\n from(mermaidImport)\n .pipe(takeUntilDestroyed())\n .subscribe((mermaid) => {\n this.mermaid = mermaid;\n this.mermaid.default.initialize({ startOnLoad: false });\n // Explicitly running mermaid as ngAfterViewChecked\n // has probably already been called\n this.mermaid?.default.run();\n })\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.AnchorNavigationDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"analogjs-content.mjs","sources":["../../../../packages/content/src/lib/anchor-navigation.directive.ts","../../../../packages/content/src/lib/get-content-files.ts","../../../../packages/content/src/lib/content-files-list-token.ts","../../../../packages/content/src/lib/content-files-token.ts","../../../../packages/content/src/lib/parse-raw-content-file.ts","../../../../packages/content/src/lib/utils/zone-wait-for.ts","../../../../packages/content/src/lib/content.ts","../../../../packages/content/src/lib/content-renderer.ts","../../../../packages/content/src/lib/inject-content-files.ts","../../../../packages/content/src/lib/marked-setup.service.ts","../../../../packages/content/src/lib/markdown-content-renderer.service.ts","../../../../packages/content/src/lib/markdown-route.component.ts","../../../../packages/content/src/lib/markdown.component.ts","../../../../packages/content/src/analogjs-content.ts"],"sourcesContent":["import { Directive, HostListener, inject } from '@angular/core';\nimport { DOCUMENT, Location } from '@angular/common';\nimport { Router } from '@angular/router';\n\n@Directive({\n selector: '[analogAnchorNavigation]',\n standalone: true,\n})\nexport class AnchorNavigationDirective {\n private readonly document = inject(DOCUMENT);\n private readonly location = inject(Location);\n private readonly router = inject(Router);\n\n @HostListener('click', ['$event.target'])\n handleNavigation(element: HTMLElement): boolean {\n if (\n element instanceof HTMLAnchorElement &&\n isInternalUrl(element, this.document) &&\n hasTargetSelf(element) &&\n !hasDownloadAttribute(element)\n ) {\n const { pathname, search, hash } = element;\n const url = this.location.normalize(`${pathname}${search}${hash}`);\n this.router.navigateByUrl(url);\n\n return false;\n }\n\n return true;\n }\n}\n\nfunction hasDownloadAttribute(anchorElement: HTMLAnchorElement): boolean {\n return anchorElement.getAttribute('download') !== null;\n}\n\nfunction hasTargetSelf(anchorElement: HTMLAnchorElement): boolean {\n return !anchorElement.target || anchorElement.target === '_self';\n}\n\nfunction isInternalUrl(\n anchorElement: HTMLAnchorElement,\n document: Document\n): boolean {\n return (\n anchorElement.host === document.location.host &&\n anchorElement.protocol === document.location.protocol\n );\n}\n","/**\n * Returns the list of content files by filename with ?analog-content-list=true.\n * We use the query param to transform the return into an array of\n * just front matter attributes.\n *\n * @returns\n */\nexport const getContentFilesList = () =>\n import.meta.glob<Record<string, any>>('/src/content/**/*.md', {\n eager: true,\n import: 'default',\n query: { 'analog-content-list': true },\n });\n\n/**\n * Returns the lazy loaded content files for lookups.\n *\n * @returns\n */\nexport const getContentFiles = () =>\n import.meta.glob(['/src/content/**/*.md'], {\n as: 'raw',\n });\n","import { InjectionToken } from '@angular/core';\nimport { ContentFile } from './content-file';\nimport { getContentFilesList } from './get-content-files';\n\nfunction getSlug(filename: string) {\n const parts = filename.match(/^(\\\\|\\/)(.+(\\\\|\\/))*(.+)\\.(.+)$/);\n return parts?.length ? parts[4] : '';\n}\n\nexport const CONTENT_FILES_LIST_TOKEN = new InjectionToken<ContentFile[]>(\n '@analogjs/content Content Files List',\n {\n providedIn: 'root',\n factory() {\n const contentFiles = getContentFilesList();\n\n return Object.keys(contentFiles).map((filename) => {\n const attributes = contentFiles[filename];\n const slug = attributes['slug'];\n\n return {\n filename,\n attributes,\n slug: slug ? encodeURI(slug) : encodeURI(getSlug(filename)),\n };\n });\n },\n }\n);\n","import { InjectionToken, inject } from '@angular/core';\n\nimport { getContentFiles } from './get-content-files';\nimport { CONTENT_FILES_LIST_TOKEN } from './content-files-list-token';\n\nexport const CONTENT_FILES_TOKEN = new InjectionToken<\n Record<string, () => Promise<string>>\n>('@analogjs/content Content Files', {\n providedIn: 'root',\n factory() {\n const contentFiles = getContentFiles();\n const contentFilesList = inject(CONTENT_FILES_LIST_TOKEN);\n\n const lookup: Record<string, string> = {};\n contentFilesList.forEach((item) => {\n const fileParts = item.filename.split('/');\n const filePath = fileParts.slice(0, fileParts.length - 1).join('/');\n lookup[item.filename] = `${filePath}/${item.slug}.md`;\n });\n\n const objectUsingSlugAttribute: Record<string, () => Promise<string>> = {};\n Object.entries(contentFiles).forEach((entry) => {\n const filename = entry[0];\n const value = entry[1];\n\n const newFilename = lookup[filename];\n if (newFilename !== undefined) {\n objectUsingSlugAttribute[newFilename] = value;\n }\n });\n\n return objectUsingSlugAttribute;\n },\n});\n","import fm from 'front-matter';\n\nexport function parseRawContentFile<Attributes extends Record<string, any>>(\n rawContentFile: string\n): { content: string; attributes: Attributes } {\n const { body, attributes } = fm<Attributes>(rawContentFile);\n return { content: body, attributes };\n}\n","import { firstValueFrom, isObservable, Observable } from 'rxjs';\n\ndeclare const Zone: any;\n\nexport async function waitFor<T>(prom: Promise<T> | Observable<T>): Promise<T> {\n if (isObservable(prom)) {\n prom = firstValueFrom(prom);\n }\n const macroTask = Zone.current.scheduleMacroTask(\n `AnalogContentResolve-${Math.random()}`,\n () => {},\n {},\n () => {}\n );\n return prom.then((p: T) => {\n macroTask.invoke();\n return p;\n });\n}\n","/// <reference types=\"vite/client\" />\n\nimport { inject } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Observable, of } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\n\nimport { ContentFile } from './content-file';\nimport { CONTENT_FILES_TOKEN } from './content-files-token';\nimport { parseRawContentFile } from './parse-raw-content-file';\nimport { waitFor } from './utils/zone-wait-for';\n\nfunction getContentFile<\n Attributes extends Record<string, any> = Record<string, any>\n>(\n contentFiles: Record<string, () => Promise<string>>,\n prefix: string,\n slug: string,\n fallback: string\n): Observable<ContentFile<Attributes | Record<string, never>>> {\n const filePath = `/src/content/${prefix}${slug}.md`;\n const contentFile = contentFiles[filePath];\n if (!contentFile) {\n return of({\n filename: filePath,\n attributes: {},\n slug: '',\n content: fallback,\n });\n }\n\n return new Observable<string>((observer) => {\n const contentResolver = contentFile();\n\n if (import.meta.env.SSR === true) {\n waitFor(contentResolver).then((content) => {\n observer.next(content);\n });\n } else {\n contentResolver.then((content) => {\n observer.next(content);\n });\n }\n }).pipe(\n map((rawContentFile) => {\n const { content, attributes } =\n parseRawContentFile<Attributes>(rawContentFile);\n\n return {\n filename: filePath,\n slug,\n attributes,\n content,\n };\n })\n );\n}\n\n/**\n * Retrieves the static content using the provided param and/or prefix.\n *\n * @param param route parameter (default: 'slug')\n * @param fallback fallback text if content file is not found (default: 'No Content Found')\n */\nexport function injectContent<\n Attributes extends Record<string, any> = Record<string, any>\n>(\n param:\n | string\n | {\n param: string;\n subdirectory: string;\n }\n | {\n customFilename: string;\n } = 'slug',\n fallback = 'No Content Found'\n): Observable<ContentFile<Attributes | Record<string, never>>> {\n const contentFiles = inject(CONTENT_FILES_TOKEN);\n\n if (typeof param === 'string' || 'param' in param) {\n const prefix = typeof param === 'string' ? '' : `${param.subdirectory}/`;\n const route = inject(ActivatedRoute);\n const paramKey = typeof param === 'string' ? param : param.param;\n return route.paramMap.pipe(\n map((params) => params.get(paramKey)),\n switchMap((slug) => {\n if (slug) {\n return getContentFile<Attributes>(\n contentFiles,\n prefix,\n slug,\n fallback\n );\n } else {\n return of({\n filename: '',\n slug: '',\n attributes: {},\n content: fallback,\n });\n }\n })\n );\n } else {\n return getContentFile<Attributes>(\n contentFiles,\n '',\n param.customFilename,\n fallback\n );\n }\n}\n","import { Injectable } from '@angular/core';\n\nexport type TableOfContentItem = {\n id: string;\n level: number; // starts at 1\n text: string;\n};\n\n@Injectable()\nexport abstract class ContentRenderer {\n async render(content: string): Promise<string> {\n return content;\n }\n\n getContentHeadings(): Array<TableOfContentItem> {\n return [];\n }\n\n // eslint-disable-next-line\n enhance() {}\n}\n","import { ContentFile } from './content-file';\nimport { inject } from '@angular/core';\nimport { CONTENT_FILES_LIST_TOKEN } from './content-files-list-token';\n\nexport function injectContentFiles<Attributes extends Record<string, any>>(\n filterFn?: InjectContentFilesFilterFunction<Attributes>\n): ContentFile<Attributes>[] {\n const allContentFiles = inject(\n CONTENT_FILES_LIST_TOKEN\n ) as ContentFile<Attributes>[];\n\n if (filterFn) {\n const filteredContentFiles = allContentFiles.filter(filterFn);\n\n return filteredContentFiles;\n }\n return allContentFiles;\n}\n\nexport type InjectContentFilesFilterFunction<T extends Record<string, any>> = (\n value: ContentFile<T>,\n index: number,\n array: ContentFile<T>[]\n) => boolean;\n","/**\n * Credit goes to Scully for original implementation\n * https://github.com/scullyio/scully/blob/main/libs/scully/src/lib/fileHanderPlugins/markdown.ts\n */\nimport { Injectable } from '@angular/core';\nimport { marked } from 'marked';\nimport { gfmHeadingId } from 'marked-gfm-heading-id';\nimport { markedHighlight } from 'marked-highlight';\n\nimport 'prismjs';\nimport 'prismjs/components/prism-bash';\nimport 'prismjs/components/prism-css';\nimport 'prismjs/components/prism-javascript';\nimport 'prismjs/components/prism-json';\nimport 'prismjs/components/prism-markup';\nimport 'prismjs/components/prism-typescript';\nimport 'prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard';\nimport 'prismjs/plugins/toolbar/prism-toolbar';\n\ndeclare const Prism: typeof import('prismjs');\n\n@Injectable()\nexport class MarkedSetupService {\n private readonly marked: typeof marked;\n\n constructor() {\n const renderer = new marked.Renderer();\n renderer.code = (code: string, lang: string) => {\n // Let's do a language based detection like on GitHub\n // So we can still have non-interpreted mermaid code\n if (lang === 'mermaid') {\n return '<pre class=\"mermaid\">' + code + '</pre>';\n }\n\n if (!lang) {\n return '<pre><code>' + code + '</code></pre>';\n }\n\n const classes =\n lang.startsWith('diff') && Prism.languages['diff']\n ? `language-${lang} diff-highlight`\n : `language-${lang.replace('diff-', '')}`;\n return `<pre class=\"${classes}\"><code class=\"${classes}\">${code}</code></pre>`;\n };\n\n marked.use(\n gfmHeadingId(),\n markedHighlight({\n async: true,\n highlight: (code: string, lang: string) => {\n let diff = lang?.startsWith('diff-');\n lang = diff ? lang.replace('diff-', '') : lang || 'typescript';\n\n if (diff && !Prism.languages['diff']) {\n diff = false;\n console.warn(`Notice:\n ---------------------------------------------------------------------------------------\n The \\`diff\\` language and plugin are not available in the provided setup.\n To enable it, add the following imports your \\`main.ts\\`:\n import 'prismjs/components/prism-diff';\n import 'prismjs/plugins/diff-highlight/prism-diff-highlight';\n ---------------------------------------------------------------------------------------\n `);\n }\n\n if (!Prism.languages[lang]) {\n if (lang !== 'mermaid') {\n console.warn(`Notice:\n ---------------------------------------------------------------------------------------\n The requested language '${lang}' is not available in the provided setup.\n To enable it, add the following import your \\`main.ts\\`:\n import 'prismjs/components/prism-${lang}';\n ---------------------------------------------------------------------------------------\n `);\n }\n return code;\n }\n return Prism.highlight(\n code,\n diff ? Prism.languages['diff'] : Prism.languages[lang],\n lang\n );\n },\n }),\n {\n renderer,\n pedantic: false,\n gfm: true,\n breaks: false,\n sanitize: false,\n smartypants: false,\n xhtml: false,\n mangle: false,\n }\n );\n\n this.marked = marked;\n }\n\n getMarkedInstance(): typeof marked {\n return this.marked;\n }\n}\n","import {\n inject,\n Injectable,\n InjectionToken,\n PLATFORM_ID,\n Provider,\n} from '@angular/core';\nimport { getHeadingList } from 'marked-gfm-heading-id';\n\nimport { ContentRenderer, TableOfContentItem } from './content-renderer';\nimport { MarkedSetupService } from './marked-setup.service';\n\n@Injectable()\nexport class MarkdownContentRendererService implements ContentRenderer {\n platformId = inject(PLATFORM_ID);\n #marked = inject(MarkedSetupService, { self: true });\n\n async render(content: string): Promise<string> {\n return this.#marked.getMarkedInstance().parse(content);\n }\n\n /**\n * The method is meant to be called after `render()`\n */\n getContentHeadings(): TableOfContentItem[] {\n return getHeadingList();\n }\n\n // eslint-disable-next-line\n enhance() {}\n}\n\nexport interface MarkdownRendererOptions {\n loadMermaid?: () => Promise<typeof import('mermaid')>;\n}\n\nexport function withMarkdownRenderer(\n options?: MarkdownRendererOptions\n): Provider {\n return [\n {\n provide: ContentRenderer,\n useFactory: () => new MarkdownContentRendererService(),\n deps: [MarkedSetupService],\n },\n options?.loadMermaid\n ? [\n {\n provide: MERMAID_IMPORT_TOKEN,\n useFactory: options.loadMermaid,\n },\n ]\n : [],\n ];\n}\n\nexport function provideContent(...features: Provider[]) {\n return [...features, MarkedSetupService];\n}\n\nexport const MERMAID_IMPORT_TOKEN = new InjectionToken<\n Promise<typeof import('mermaid')>\n>('mermaid_import');\n","import { AsyncPipe } from '@angular/common';\nimport {\n AfterViewChecked,\n Component,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ContentRenderer } from './content-renderer';\nimport { AnchorNavigationDirective } from './anchor-navigation.directive';\n\n@Component({\n selector: 'analog-markdown-route',\n standalone: true,\n imports: [AsyncPipe],\n hostDirectives: [AnchorNavigationDirective],\n preserveWhitespaces: true,\n encapsulation: ViewEncapsulation.None,\n template: `<div [innerHTML]=\"content\" [class]=\"classes\"></div>`,\n})\nexport default class AnalogMarkdownRouteComponent implements AfterViewChecked {\n private sanitizer = inject(DomSanitizer);\n private route = inject(ActivatedRoute);\n contentRenderer = inject(ContentRenderer);\n\n protected content: SafeHtml = this.sanitizer.bypassSecurityTrustHtml(\n this.route.snapshot.data['renderedAnalogContent']\n );\n\n @Input() classes = 'analog-markdown-route';\n\n ngAfterViewChecked() {\n this.contentRenderer.enhance();\n }\n}\n","import { AsyncPipe, isPlatformBrowser } from '@angular/common';\nimport {\n AfterViewChecked,\n Component,\n Input,\n NgZone,\n OnChanges,\n OnInit,\n PLATFORM_ID,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { ActivatedRoute, Data } from '@angular/router';\nimport { Observable, from, of } from 'rxjs';\nimport { catchError, map, mergeMap } from 'rxjs/operators';\n\nimport { AnchorNavigationDirective } from './anchor-navigation.directive';\nimport { ContentRenderer } from './content-renderer';\nimport { MERMAID_IMPORT_TOKEN } from './markdown-content-renderer.service';\n\n@Component({\n selector: 'analog-markdown',\n standalone: true,\n imports: [AsyncPipe],\n hostDirectives: [AnchorNavigationDirective],\n preserveWhitespaces: true,\n encapsulation: ViewEncapsulation.None,\n template: `<div [innerHTML]=\"content$ | async\" [class]=\"classes\"></div>`,\n})\nexport default class AnalogMarkdownComponent\n implements OnInit, OnChanges, AfterViewChecked\n{\n private sanitizer = inject(DomSanitizer);\n private route = inject(ActivatedRoute);\n private zone = inject(NgZone);\n private readonly platformId = inject(PLATFORM_ID);\n private readonly mermaidImport = inject(MERMAID_IMPORT_TOKEN, {\n optional: true,\n });\n private mermaid: typeof import('mermaid') | undefined;\n\n public content$: Observable<SafeHtml> = of('');\n\n @Input() content!: string | undefined | null;\n @Input() classes = 'analog-markdown';\n\n contentRenderer = inject(ContentRenderer);\n\n constructor() {\n if (isPlatformBrowser(this.platformId) && this.mermaidImport) {\n // Mermaid can only be loaded on client side\n this.loadMermaid(this.mermaidImport);\n }\n }\n\n ngOnInit(): void {\n this.updateContent();\n }\n\n ngOnChanges(): void {\n this.updateContent();\n }\n\n updateContent() {\n this.content$ = this.route.data.pipe(\n map<Data, string>((data) => this.content ?? data['_analogContent']),\n mergeMap((contentString) => this.renderContent(contentString)),\n map((content) => this.sanitizer.bypassSecurityTrustHtml(content)),\n catchError((e) => of(`There was an error ${e}`))\n );\n }\n\n async renderContent(content: string): Promise<string> {\n return this.contentRenderer.render(content);\n }\n\n ngAfterViewChecked() {\n this.contentRenderer.enhance();\n this.zone.runOutsideAngular(() => this.mermaid?.default.run());\n }\n\n private loadMermaid(mermaidImport: Promise<typeof import('mermaid')>) {\n this.zone.runOutsideAngular(() =>\n // Wrap into an observable to avoid redundant initialization once\n // the markdown component is destroyed before the promise is resolved.\n from(mermaidImport)\n .pipe(takeUntilDestroyed())\n .subscribe((mermaid) => {\n this.mermaid = mermaid;\n this.mermaid.default.initialize({ startOnLoad: false });\n // Explicitly running mermaid as ngAfterViewChecked\n // has probably already been called\n this.mermaid?.default.run();\n })\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.AnchorNavigationDirective"],"mappings":";;;;;;;;;;;;;;;;;;;;;;MAQa,yBAAyB,CAAA;AAJtC,IAAA,WAAA,GAAA;AAKmB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAmB1C,KAAA;AAhBC,IAAA,gBAAgB,CAAC,OAAoB,EAAA;QACnC,IACE,OAAO,YAAY,iBAAiB;AACpC,YAAA,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC;YACrC,aAAa,CAAC,OAAO,CAAC;AACtB,YAAA,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAC9B;YACA,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;AAC3C,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAG,EAAA,QAAQ,GAAG,MAAM,CAAA,EAAG,IAAI,CAAA,CAAE,CAAC,CAAC;AACnE,YAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAE/B,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACb;mHArBU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;uGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iCAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;gGAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;8BAOC,gBAAgB,EAAA,CAAA;sBADf,YAAY;uBAAC,OAAO,EAAE,CAAC,eAAe,CAAC,CAAA;;AAmB1C,SAAS,oBAAoB,CAAC,aAAgC,EAAA;IAC5D,OAAO,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;AACzD,CAAC;AAED,SAAS,aAAa,CAAC,aAAgC,EAAA;IACrD,OAAO,CAAC,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,KAAK,OAAO,CAAC;AACnE,CAAC;AAED,SAAS,aAAa,CACpB,aAAgC,EAChC,QAAkB,EAAA;IAElB,QACE,aAAa,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI;QAC7C,aAAa,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EACrD;AACJ;;AChDA;;;;;;AAMG;AACI,MAAM,mBAAmB,GAAG,MACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAsB,sBAAsB,EAAE;AAC5D,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,KAAK,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE;AACvC,CAAA,CAAC,CAAC;AAEL;;;;AAIG;AACI,MAAM,eAAe,GAAG,MAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC,EAAE;AACzC,IAAA,EAAE,EAAE,KAAK;AACV,CAAA,CAAC;;AClBJ,SAAS,OAAO,CAAC,QAAgB,EAAA;IAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;AAChE,IAAA,OAAO,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACvC,CAAC;AAEM,MAAM,wBAAwB,GAAG,IAAI,cAAc,CACxD,sCAAsC,EACtC;AACE,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,GAAA;AACL,QAAA,MAAM,YAAY,GAAG,mBAAmB,EAAE,CAAC;AAE3C,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAI;AAChD,YAAA,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC1C,YAAA,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YAEhC,OAAO;gBACL,QAAQ;gBACR,UAAU;AACV,gBAAA,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;aAC5D,CAAC;AACJ,SAAC,CAAC,CAAC;KACJ;AACF,CAAA,CACF;;ACvBM,MAAM,mBAAmB,GAAG,IAAI,cAAc,CAEnD,iCAAiC,EAAE;AACnC,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,GAAA;AACL,QAAA,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;AACvC,QAAA,MAAM,gBAAgB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAE1D,MAAM,MAAM,GAA2B,EAAE,CAAC;AAC1C,QAAA,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC3C,YAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpE,YAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAG,EAAA,QAAQ,CAAI,CAAA,EAAA,IAAI,CAAC,IAAI,KAAK,CAAC;AACxD,SAAC,CAAC,CAAC;QAEH,MAAM,wBAAwB,GAA0C,EAAE,CAAC;QAC3E,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAC7C,YAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1B,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAEvB,YAAA,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,WAAW,KAAK,SAAS,EAAE;AAC7B,gBAAA,wBAAwB,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;AAC/C,aAAA;AACH,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,wBAAwB,CAAC;KACjC;AACF,CAAA,CAAC;;AC/BI,SAAU,mBAAmB,CACjC,cAAsB,EAAA;IAEtB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAa,cAAc,CAAC,CAAC;AAC5D,IAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACvC;;ACHO,eAAe,OAAO,CAAI,IAAgC,EAAA;AAC/D,IAAA,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE;AACtB,QAAA,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;AAC7B,KAAA;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAC9C,CAAA,qBAAA,EAAwB,IAAI,CAAC,MAAM,EAAE,CAAE,CAAA,EACvC,MAAO,GAAC,EACR,EAAE,EACF,MAAK,GAAG,CACT,CAAC;AACF,IAAA,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAI,KAAI;QACxB,SAAS,CAAC,MAAM,EAAE,CAAC;AACnB,QAAA,OAAO,CAAC,CAAC;AACX,KAAC,CAAC,CAAC;AACL;;AClBA;AAYA,SAAS,cAAc,CAGrB,YAAmD,EACnD,MAAc,EACd,IAAY,EACZ,QAAgB,EAAA;AAEhB,IAAA,MAAM,QAAQ,GAAG,CAAA,aAAA,EAAgB,MAAM,CAAG,EAAA,IAAI,KAAK,CAAC;AACpD,IAAA,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC,WAAW,EAAE;AAChB,QAAA,OAAO,EAAE,CAAC;AACR,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,OAAO,EAAE,QAAQ;AAClB,SAAA,CAAC,CAAC;AACJ,KAAA;AAED,IAAA,OAAO,IAAI,UAAU,CAAS,CAAC,QAAQ,KAAI;AACzC,QAAA,MAAM,eAAe,GAAG,WAAW,EAAE,CAAC;QAEtC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE;YAChC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,KAAI;AACxC,gBAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzB,aAAC,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA;AACL,YAAA,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,KAAI;AAC/B,gBAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzB,aAAC,CAAC,CAAC;AACJ,SAAA;KACF,CAAC,CAAC,IAAI,CACL,GAAG,CAAC,CAAC,cAAc,KAAI;QACrB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAC3B,mBAAmB,CAAa,cAAc,CAAC,CAAC;QAElD,OAAO;AACL,YAAA,QAAQ,EAAE,QAAQ;YAClB,IAAI;YACJ,UAAU;YACV,OAAO;SACR,CAAC;KACH,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;AAKG;AACG,SAAU,aAAa,CAG3B,KAAA,GAQQ,MAAM,EACd,QAAQ,GAAG,kBAAkB,EAAA;AAE7B,IAAA,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAEjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE;AACjD,QAAA,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,EAAE,GAAG,CAAA,EAAG,KAAK,CAAC,YAAY,GAAG,CAAC;AACzE,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACrC,QAAA,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACjE,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CACxB,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EACrC,SAAS,CAAC,CAAC,IAAI,KAAI;AACjB,YAAA,IAAI,IAAI,EAAE;gBACR,OAAO,cAAc,CACnB,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,QAAQ,CACT,CAAC;AACH,aAAA;AAAM,iBAAA;AACL,gBAAA,OAAO,EAAE,CAAC;AACR,oBAAA,QAAQ,EAAE,EAAE;AACZ,oBAAA,IAAI,EAAE,EAAE;AACR,oBAAA,UAAU,EAAE,EAAE;AACd,oBAAA,OAAO,EAAE,QAAQ;AAClB,iBAAA,CAAC,CAAC;AACJ,aAAA;SACF,CAAC,CACH,CAAC;AACH,KAAA;AAAM,SAAA;AACL,QAAA,OAAO,cAAc,CACnB,YAAY,EACZ,EAAE,EACF,KAAK,CAAC,cAAc,EACpB,QAAQ,CACT,CAAC;AACH,KAAA;AACH;;MCvGsB,eAAe,CAAA;IACnC,MAAM,MAAM,CAAC,OAAe,EAAA;AAC1B,QAAA,OAAO,OAAO,CAAC;KAChB;IAED,kBAAkB,GAAA;AAChB,QAAA,OAAO,EAAE,CAAC;KACX;;AAGD,IAAA,OAAO,MAAK;mHAVQ,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;uHAAf,eAAe,EAAA,CAAA,CAAA,EAAA;;gGAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;;;ACJL,SAAU,kBAAkB,CAChC,QAAuD,EAAA;AAEvD,IAAA,MAAM,eAAe,GAAG,MAAM,CAC5B,wBAAwB,CACI,CAAC;AAE/B,IAAA,IAAI,QAAQ,EAAE;QACZ,MAAM,oBAAoB,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAE9D,QAAA,OAAO,oBAAoB,CAAC;AAC7B,KAAA;AACD,IAAA,OAAO,eAAe,CAAC;AACzB;;ACjBA;;;AAGG;MAmBU,kBAAkB,CAAA;AAG7B,IAAA,WAAA,GAAA;AACE,QAAA,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvC,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAY,EAAE,IAAY,KAAI;;;YAG7C,IAAI,IAAI,KAAK,SAAS,EAAE;AACtB,gBAAA,OAAO,uBAAuB,GAAG,IAAI,GAAG,QAAQ,CAAC;AAClD,aAAA;YAED,IAAI,CAAC,IAAI,EAAE;AACT,gBAAA,OAAO,aAAa,GAAG,IAAI,GAAG,eAAe,CAAC;AAC/C,aAAA;AAED,YAAA,MAAM,OAAO,GACX,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;kBAC9C,CAAY,SAAA,EAAA,IAAI,CAAiB,eAAA,CAAA;kBACjC,CAAY,SAAA,EAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA,CAAE,CAAC;AAC9C,YAAA,OAAO,eAAe,OAAO,CAAA,eAAA,EAAkB,OAAO,CAAK,EAAA,EAAA,IAAI,eAAe,CAAC;AACjF,SAAC,CAAC;AAEF,QAAA,MAAM,CAAC,GAAG,CACR,YAAY,EAAE,EACd,eAAe,CAAC;AACd,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,SAAS,EAAE,CAAC,IAAY,EAAE,IAAY,KAAI;gBACxC,IAAI,IAAI,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;AACrC,gBAAA,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,YAAY,CAAC;gBAE/D,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;oBACpC,IAAI,GAAG,KAAK,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC,CAAA;;;;;;;AAOZ,YAAA,CAAA,CAAC,CAAC;AACJ,iBAAA;AAED,gBAAA,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;oBAC1B,IAAI,IAAI,KAAK,SAAS,EAAE;wBACtB,OAAO,CAAC,IAAI,CAAC,CAAA;;8BAEG,IAAI,CAAA;;yCAEO,IAAI,CAAA;;AAE9B,cAAA,CAAA,CAAC,CAAC;AACJ,qBAAA;AACD,oBAAA,OAAO,IAAI,CAAC;AACb,iBAAA;AACD,gBAAA,OAAO,KAAK,CAAC,SAAS,CACpB,IAAI,EACJ,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EACtD,IAAI,CACL,CAAC;aACH;AACF,SAAA,CAAC,EACF;YACE,QAAQ;AACR,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,GAAG,EAAE,IAAI;AACT,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,MAAM,EAAE,KAAK;AACd,SAAA,CACF,CAAC;AAEF,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;IAED,iBAAiB,GAAA;QACf,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;mHA/EU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;uHAAlB,kBAAkB,EAAA,CAAA,CAAA,EAAA;;gGAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;;;MCRE,8BAA8B,CAAA;AAD3C,IAAA,WAAA,GAAA;AAEE,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QACjC,IAAO,CAAA,OAAA,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAetD,KAAA;AAfC,IAAA,OAAO,CAA8C;IAErD,MAAM,MAAM,CAAC,OAAe,EAAA;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KACxD;AAED;;AAEG;IACH,kBAAkB,GAAA;QAChB,OAAO,cAAc,EAAE,CAAC;KACzB;;AAGD,IAAA,OAAO,MAAK;mHAhBD,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;uHAA9B,8BAA8B,EAAA,CAAA,CAAA,EAAA;;gGAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAD1C,UAAU;;AAwBL,SAAU,oBAAoB,CAClC,OAAiC,EAAA;IAEjC,OAAO;AACL,QAAA;AACE,YAAA,OAAO,EAAE,eAAe;AACxB,YAAA,UAAU,EAAE,MAAM,IAAI,8BAA8B,EAAE;YACtD,IAAI,EAAE,CAAC,kBAAkB,CAAC;AAC3B,SAAA;AACD,QAAA,OAAO,EAAE,WAAW;AAClB,cAAE;AACE,gBAAA;AACE,oBAAA,OAAO,EAAE,oBAAoB;oBAC7B,UAAU,EAAE,OAAO,CAAC,WAAW;AAChC,iBAAA;AACF,aAAA;AACH,cAAE,EAAE;KACP,CAAC;AACJ,CAAC;AAEe,SAAA,cAAc,CAAC,GAAG,QAAoB,EAAA;AACpD,IAAA,OAAO,CAAC,GAAG,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AAC3C,CAAC;AAEM,MAAM,oBAAoB,GAAG,IAAI,cAAc,CAEpD,gBAAgB,CAAC;;ACvCL,MAAO,4BAA4B,CAAA;AATjD,IAAA,WAAA,GAAA;AAUU,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACjC,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACvC,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAEhC,QAAA,IAAA,CAAA,OAAO,GAAa,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAClE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAClD,CAAC;QAEO,IAAO,CAAA,OAAA,GAAG,uBAAuB,CAAC;AAK5C,KAAA;IAHC,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;KAChC;mHAbkB,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,aAAA,EAAA,IAAA,EAAA,4BAA4B,6KAFrC,CAAqD,mDAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;gGAE5C,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAThD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,SAAS,CAAC;oBACpB,cAAc,EAAE,CAAC,yBAAyB,CAAC;AAC3C,oBAAA,mBAAmB,EAAE,IAAI;oBACzB,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,QAAQ,EAAE,CAAqD,mDAAA,CAAA;AAChE,iBAAA,CAAA;8BAUU,OAAO,EAAA,CAAA;sBAAf,KAAK;;;ACDM,MAAO,uBAAuB,CAAA;AAmB1C,IAAA,WAAA,GAAA;AAhBQ,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACjC,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAC/B,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACb,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AACjC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,oBAAoB,EAAE;AAC5D,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC,CAAC;AAGI,QAAA,IAAA,CAAA,QAAQ,GAAyB,EAAE,CAAC,EAAE,CAAC,CAAC;QAGtC,IAAO,CAAA,OAAA,GAAG,iBAAiB,CAAC;AAErC,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QAGxC,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE;;AAE5D,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACtC,SAAA;KACF;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAED,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAClC,GAAG,CAAe,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,EACnE,QAAQ,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,EAC9D,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,EACjE,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,sBAAsB,CAAC,CAAA,CAAE,CAAC,CAAC,CACjD,CAAC;KACH;IAED,MAAM,aAAa,CAAC,OAAe,EAAA;QACjC,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KAC7C;IAED,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;AAC/B,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;KAChE;AAEO,IAAA,WAAW,CAAC,aAAgD,EAAA;AAClE,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;;;QAG1B,IAAI,CAAC,aAAa,CAAC;aAChB,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC1B,aAAA,SAAS,CAAC,CAAC,OAAO,KAAI;AACrB,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;;;AAGxD,YAAA,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC7B,CAAC,CACL,CAAC;KACH;mHAlEkB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;uGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAA,yBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAFhC,CAA8D,4DAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAJ9D,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;gGAMA,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAT3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,SAAS,CAAC;oBACpB,cAAc,EAAE,CAAC,yBAAyB,CAAC;AAC3C,oBAAA,mBAAmB,EAAE,IAAI;oBACzB,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,QAAQ,EAAE,CAA8D,4DAAA,CAAA;AACzE,iBAAA,CAAA;wDAeU,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;;;AC9CR;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@analogjs/content",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.13",
|
|
4
4
|
"description": "Content Rendering for Analog",
|
|
5
5
|
"author": "Brandon Roberts <robertsbt@gmail.com>",
|
|
6
6
|
"keywords": [
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
"url": "https://github.com/analogjs/analog.git"
|
|
19
19
|
},
|
|
20
20
|
"peerDependencies": {
|
|
21
|
-
"@angular/common": "^15.0.0 ||
|
|
22
|
-
"@angular/core": "^15.0.0 ||
|
|
23
|
-
"@angular/platform-browser": "^15.0.0 ||
|
|
24
|
-
"@angular/router": "^15.0.0 ||
|
|
21
|
+
"@angular/common": "^15.0.0 || >=16.0.0",
|
|
22
|
+
"@angular/core": "^15.0.0 || >=16.0.0",
|
|
23
|
+
"@angular/platform-browser": "^15.0.0 || >=16.0.0",
|
|
24
|
+
"@angular/router": "^15.0.0 || >=16.0.0",
|
|
25
25
|
"rxjs": "^6.5.0 || ^7.5.0",
|
|
26
26
|
"marked": "^5.0.2",
|
|
27
27
|
"marked-gfm-heading-id": "^3.0.4",
|