@analogjs/content 1.9.2-beta.1 → 1.9.2-beta.3

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.
Files changed (39) hide show
  1. package/fesm2022/analogjs-content-og.mjs.map +1 -1
  2. package/fesm2022/analogjs-content-prism-highlighter.mjs +3 -3
  3. package/fesm2022/analogjs-content-prism-highlighter.mjs.map +1 -1
  4. package/fesm2022/analogjs-content-shiki-highlighter.mjs.map +1 -1
  5. package/fesm2022/analogjs-content.mjs +24 -24
  6. package/fesm2022/analogjs-content.mjs.map +1 -1
  7. package/og/lib/og.d.ts +0 -1
  8. package/package.json +5 -13
  9. package/plugin/src/migrations/update-markdown-renderer-feature/update-markdown-renderer-feature.js +1 -1
  10. package/plugin/src/migrations/update-markdown-renderer-feature/update-markdown-renderer-feature.js.map +1 -1
  11. package/esm2022/analogjs-content.mjs +0 -5
  12. package/esm2022/index.mjs +0 -12
  13. package/esm2022/lib/anchor-navigation.directive.mjs +0 -46
  14. package/esm2022/lib/content-file.mjs +0 -2
  15. package/esm2022/lib/content-files-list-token.mjs +0 -22
  16. package/esm2022/lib/content-files-token.mjs +0 -32
  17. package/esm2022/lib/content-renderer.mjs +0 -53
  18. package/esm2022/lib/content.mjs +0 -85
  19. package/esm2022/lib/get-content-files.mjs +0 -25
  20. package/esm2022/lib/inject-content-files.mjs +0 -15
  21. package/esm2022/lib/markdown-content-renderer.service.mjs +0 -24
  22. package/esm2022/lib/markdown-route.component.mjs +0 -37
  23. package/esm2022/lib/markdown.component.mjs +0 -100
  24. package/esm2022/lib/marked-content-highlighter.mjs +0 -13
  25. package/esm2022/lib/marked-setup.service.mjs +0 -53
  26. package/esm2022/lib/parse-raw-content-file.mjs +0 -6
  27. package/esm2022/lib/provide-content.mjs +0 -30
  28. package/esm2022/lib/render-task.service.mjs +0 -17
  29. package/esm2022/lib/utils/zone-wait-for.mjs +0 -15
  30. package/esm2022/og/analogjs-content-og.mjs +0 -5
  31. package/esm2022/og/index.mjs +0 -2
  32. package/esm2022/og/lib/og.mjs +0 -41
  33. package/esm2022/og/lib/options.mjs +0 -2
  34. package/esm2022/prism-highlighter/analogjs-content-prism-highlighter.mjs +0 -5
  35. package/esm2022/prism-highlighter/index.mjs +0 -11
  36. package/esm2022/prism-highlighter/lib/prism/angular.mjs +0 -20
  37. package/esm2022/prism-highlighter/lib/prism-highlighter.mjs +0 -51
  38. package/esm2022/shiki-highlighter/analogjs-content-shiki-highlighter.mjs +0 -5
  39. package/esm2022/shiki-highlighter/index.mjs +0 -10
@@ -1,32 +0,0 @@
1
- import { InjectionToken, inject } from '@angular/core';
2
- import { getAgxFiles, getContentFiles } from './get-content-files';
3
- import { CONTENT_FILES_LIST_TOKEN } from './content-files-list-token';
4
- export const CONTENT_FILES_TOKEN = new InjectionToken('@analogjs/content Content Files', {
5
- providedIn: 'root',
6
- factory() {
7
- const contentFiles = getContentFiles();
8
- const agxFiles = getAgxFiles();
9
- const allFiles = { ...contentFiles, ...agxFiles };
10
- const contentFilesList = inject(CONTENT_FILES_LIST_TOKEN);
11
- const lookup = {};
12
- contentFilesList.forEach((item) => {
13
- const fileParts = item.filename.split('/');
14
- const filePath = fileParts.slice(0, fileParts.length - 1).join('/');
15
- const fileNameParts = fileParts[fileParts.length - 1].split('.');
16
- lookup[item.filename] = `${filePath}/${item.slug}.${fileNameParts[fileNameParts.length - 1]}`;
17
- });
18
- const objectUsingSlugAttribute = {};
19
- Object.entries(allFiles).forEach((entry) => {
20
- const filename = entry[0];
21
- const value = entry[1];
22
- const newFilename = lookup[filename];
23
- if (newFilename !== undefined) {
24
- const objectFilename = newFilename.replace(/^\/(.*?)\/content/, '/src/content');
25
- objectUsingSlugAttribute[objectFilename] =
26
- value;
27
- }
28
- });
29
- return objectUsingSlugAttribute;
30
- },
31
- });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1maWxlcy10b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvc3JjL2xpYi9jb250ZW50LWZpbGVzLXRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEUsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBRW5ELGlDQUFpQyxFQUFFO0lBQ25DLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU87UUFDTCxNQUFNLFlBQVksR0FBRyxlQUFlLEVBQUUsQ0FBQztRQUN2QyxNQUFNLFFBQVEsR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUMvQixNQUFNLFFBQVEsR0FBRyxFQUFFLEdBQUcsWUFBWSxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUM7UUFDbEQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUUxRCxNQUFNLE1BQU0sR0FBMkIsRUFBRSxDQUFDO1FBQzFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BFLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqRSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQzlDLGFBQWEsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDeEMsRUFBRSxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLHdCQUF3QixHQUEwQyxFQUFFLENBQUM7UUFDM0UsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN6QyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXZCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyQyxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FDeEMsbUJBQW1CLEVBQ25CLGNBQWMsQ0FDZixDQUFDO2dCQUNGLHdCQUF3QixDQUFDLGNBQWMsQ0FBQztvQkFDdEMsS0FBOEIsQ0FBQztZQUNuQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLHdCQUF3QixDQUFDO0lBQ2xDLENBQUM7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGdldEFneEZpbGVzLCBnZXRDb250ZW50RmlsZXMgfSBmcm9tICcuL2dldC1jb250ZW50LWZpbGVzJztcbmltcG9ydCB7IENPTlRFTlRfRklMRVNfTElTVF9UT0tFTiB9IGZyb20gJy4vY29udGVudC1maWxlcy1saXN0LXRva2VuJztcblxuZXhwb3J0IGNvbnN0IENPTlRFTlRfRklMRVNfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gIFJlY29yZDxzdHJpbmcsICgpID0+IFByb21pc2U8c3RyaW5nPj5cbj4oJ0BhbmFsb2dqcy9jb250ZW50IENvbnRlbnQgRmlsZXMnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeSgpIHtcbiAgICBjb25zdCBjb250ZW50RmlsZXMgPSBnZXRDb250ZW50RmlsZXMoKTtcbiAgICBjb25zdCBhZ3hGaWxlcyA9IGdldEFneEZpbGVzKCk7XG4gICAgY29uc3QgYWxsRmlsZXMgPSB7IC4uLmNvbnRlbnRGaWxlcywgLi4uYWd4RmlsZXMgfTtcbiAgICBjb25zdCBjb250ZW50RmlsZXNMaXN0ID0gaW5qZWN0KENPTlRFTlRfRklMRVNfTElTVF9UT0tFTik7XG5cbiAgICBjb25zdCBsb29rdXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgICBjb250ZW50RmlsZXNMaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IGZpbGVQYXJ0cyA9IGl0ZW0uZmlsZW5hbWUuc3BsaXQoJy8nKTtcbiAgICAgIGNvbnN0IGZpbGVQYXRoID0gZmlsZVBhcnRzLnNsaWNlKDAsIGZpbGVQYXJ0cy5sZW5ndGggLSAxKS5qb2luKCcvJyk7XG4gICAgICBjb25zdCBmaWxlTmFtZVBhcnRzID0gZmlsZVBhcnRzW2ZpbGVQYXJ0cy5sZW5ndGggLSAxXS5zcGxpdCgnLicpO1xuICAgICAgbG9va3VwW2l0ZW0uZmlsZW5hbWVdID0gYCR7ZmlsZVBhdGh9LyR7aXRlbS5zbHVnfS4ke1xuICAgICAgICBmaWxlTmFtZVBhcnRzW2ZpbGVOYW1lUGFydHMubGVuZ3RoIC0gMV1cbiAgICAgIH1gO1xuICAgIH0pO1xuXG4gICAgY29uc3Qgb2JqZWN0VXNpbmdTbHVnQXR0cmlidXRlOiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiBQcm9taXNlPHN0cmluZz4+ID0ge307XG4gICAgT2JqZWN0LmVudHJpZXMoYWxsRmlsZXMpLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICBjb25zdCBmaWxlbmFtZSA9IGVudHJ5WzBdO1xuICAgICAgY29uc3QgdmFsdWUgPSBlbnRyeVsxXTtcblxuICAgICAgY29uc3QgbmV3RmlsZW5hbWUgPSBsb29rdXBbZmlsZW5hbWVdO1xuICAgICAgaWYgKG5ld0ZpbGVuYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3Qgb2JqZWN0RmlsZW5hbWUgPSBuZXdGaWxlbmFtZS5yZXBsYWNlKFxuICAgICAgICAgIC9eXFwvKC4qPylcXC9jb250ZW50LyxcbiAgICAgICAgICAnL3NyYy9jb250ZW50J1xuICAgICAgICApO1xuICAgICAgICBvYmplY3RVc2luZ1NsdWdBdHRyaWJ1dGVbb2JqZWN0RmlsZW5hbWVdID1cbiAgICAgICAgICB2YWx1ZSBhcyAoKSA9PiBQcm9taXNlPHN0cmluZz47XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gb2JqZWN0VXNpbmdTbHVnQXR0cmlidXRlO1xuICB9LFxufSk7XG4iXX0=
@@ -1,53 +0,0 @@
1
- /// <reference types="vite/client" />
2
- import { Injectable, TransferState, inject, makeStateKey } from '@angular/core';
3
- import { getHeadingList } from 'marked-gfm-heading-id';
4
- import * as i0 from "@angular/core";
5
- export class ContentRenderer {
6
- async render(content) {
7
- return content;
8
- }
9
- getContentHeadings() {
10
- return [];
11
- }
12
- // eslint-disable-next-line
13
- enhance() { }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ContentRenderer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
15
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ContentRenderer }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ContentRenderer, decorators: [{
18
- type: Injectable
19
- }] });
20
- export class NoopContentRenderer {
21
- constructor() {
22
- this.transferState = inject(TransferState);
23
- this.contentId = 0;
24
- }
25
- /**
26
- * Generates a hash from the content string
27
- * to be used with the transfer state
28
- */
29
- generateHash(str) {
30
- let hash = 0;
31
- for (let i = 0, len = str.length; i < len; i++) {
32
- let chr = str.charCodeAt(i);
33
- hash = (hash << 5) - hash + chr;
34
- hash |= 0; // Convert to 32bit integer
35
- }
36
- return hash;
37
- }
38
- async render(content) {
39
- this.contentId = this.generateHash(content);
40
- return content;
41
- }
42
- enhance() { }
43
- getContentHeadings() {
44
- const key = makeStateKey(`content-headings-${this.contentId}`);
45
- if (import.meta.env.SSR === true) {
46
- const headings = getHeadingList();
47
- this.transferState.set(key, headings);
48
- return headings;
49
- }
50
- return this.transferState.get(key, []);
51
- }
52
- }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvc3JjL2xpYi9jb250ZW50LXJlbmRlcmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQztBQUVyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFTdkQsTUFBTSxPQUFnQixlQUFlO0lBQ25DLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBZTtRQUMxQixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELDJCQUEyQjtJQUMzQixPQUFPLEtBQUksQ0FBQzs4R0FWUSxlQUFlO2tIQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRHBDLFVBQVU7O0FBY1gsTUFBTSxPQUFPLG1CQUFtQjtJQUFoQztRQUNtQixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvQyxjQUFTLEdBQUcsQ0FBQyxDQUFDO0lBbUN4QixDQUFDO0lBakNDOzs7T0FHRztJQUNLLFlBQVksQ0FBQyxHQUFXO1FBQzlCLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNiLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMvQyxJQUFJLEdBQUcsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDO1lBQ2hDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQywyQkFBMkI7UUFDeEMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBZTtRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUNELE9BQU8sS0FBSSxDQUFDO0lBRVosa0JBQWtCO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FDdEIsb0JBQW9CLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FDckMsQ0FBQztRQUVGLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2pDLE1BQU0sUUFBUSxHQUFHLGNBQWMsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN0QyxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJ2aXRlL2NsaWVudFwiIC8+XG5cbmltcG9ydCB7IEluamVjdGFibGUsIFRyYW5zZmVyU3RhdGUsIGluamVjdCwgbWFrZVN0YXRlS2V5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXRIZWFkaW5nTGlzdCB9IGZyb20gJ21hcmtlZC1nZm0taGVhZGluZy1pZCc7XG5cbmV4cG9ydCB0eXBlIFRhYmxlT2ZDb250ZW50SXRlbSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGV2ZWw6IG51bWJlcjsgLy8gc3RhcnRzIGF0IDFcbiAgdGV4dDogc3RyaW5nO1xufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbnRlbnRSZW5kZXJlciB7XG4gIGFzeW5jIHJlbmRlcihjb250ZW50OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBjb250ZW50O1xuICB9XG5cbiAgZ2V0Q29udGVudEhlYWRpbmdzKCk6IEFycmF5PFRhYmxlT2ZDb250ZW50SXRlbT4ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICBlbmhhbmNlKCkge31cbn1cblxuZXhwb3J0IGNsYXNzIE5vb3BDb250ZW50UmVuZGVyZXIgaW1wbGVtZW50cyBDb250ZW50UmVuZGVyZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zZmVyU3RhdGUgPSBpbmplY3QoVHJhbnNmZXJTdGF0ZSk7XG4gIHByaXZhdGUgY29udGVudElkID0gMDtcblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgaGFzaCBmcm9tIHRoZSBjb250ZW50IHN0cmluZ1xuICAgKiB0byBiZSB1c2VkIHdpdGggdGhlIHRyYW5zZmVyIHN0YXRlXG4gICAqL1xuICBwcml2YXRlIGdlbmVyYXRlSGFzaChzdHI6IHN0cmluZykge1xuICAgIGxldCBoYXNoID0gMDtcbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gc3RyLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBsZXQgY2hyID0gc3RyLmNoYXJDb2RlQXQoaSk7XG4gICAgICBoYXNoID0gKGhhc2ggPDwgNSkgLSBoYXNoICsgY2hyO1xuICAgICAgaGFzaCB8PSAwOyAvLyBDb252ZXJ0IHRvIDMyYml0IGludGVnZXJcbiAgICB9XG4gICAgcmV0dXJuIGhhc2g7XG4gIH1cblxuICBhc3luYyByZW5kZXIoY29udGVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5jb250ZW50SWQgPSB0aGlzLmdlbmVyYXRlSGFzaChjb250ZW50KTtcbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxuICBlbmhhbmNlKCkge31cblxuICBnZXRDb250ZW50SGVhZGluZ3MoKTogQXJyYXk8VGFibGVPZkNvbnRlbnRJdGVtPiB7XG4gICAgY29uc3Qga2V5ID0gbWFrZVN0YXRlS2V5PFRhYmxlT2ZDb250ZW50SXRlbVtdPihcbiAgICAgIGBjb250ZW50LWhlYWRpbmdzLSR7dGhpcy5jb250ZW50SWR9YFxuICAgICk7XG5cbiAgICBpZiAoaW1wb3J0Lm1ldGEuZW52LlNTUiA9PT0gdHJ1ZSkge1xuICAgICAgY29uc3QgaGVhZGluZ3MgPSBnZXRIZWFkaW5nTGlzdCgpO1xuICAgICAgdGhpcy50cmFuc2ZlclN0YXRlLnNldChrZXksIGhlYWRpbmdzKTtcbiAgICAgIHJldHVybiBoZWFkaW5ncztcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy50cmFuc2ZlclN0YXRlLmdldChrZXksIFtdKTtcbiAgfVxufVxuIl19
@@ -1,85 +0,0 @@
1
- /// <reference types="vite/client" />
2
- import { inject } from '@angular/core';
3
- import { ActivatedRoute } from '@angular/router';
4
- import { Observable, of } from 'rxjs';
5
- import { map, switchMap, tap } from 'rxjs/operators';
6
- import { CONTENT_FILES_TOKEN } from './content-files-token';
7
- import { parseRawContentFile } from './parse-raw-content-file';
8
- import { waitFor } from './utils/zone-wait-for';
9
- import { RenderTaskService } from './render-task.service';
10
- function getContentFile(contentFiles, prefix, slug, fallback, renderTaskService) {
11
- const filePath = `/src/content/${prefix}${slug}`;
12
- const contentFile = contentFiles[`${filePath}.md`] ?? contentFiles[`${filePath}.agx`];
13
- if (!contentFile) {
14
- return of({
15
- filename: filePath,
16
- attributes: {},
17
- slug: '',
18
- content: fallback,
19
- });
20
- }
21
- const contentTask = renderTaskService.addRenderTask();
22
- return new Observable((observer) => {
23
- const contentResolver = contentFile();
24
- if (import.meta.env.SSR === true) {
25
- waitFor(contentResolver).then((content) => {
26
- observer.next(content);
27
- observer.complete();
28
- setTimeout(() => renderTaskService.clearRenderTask(contentTask), 10);
29
- });
30
- }
31
- else {
32
- contentResolver.then((content) => {
33
- observer.next(content);
34
- observer.complete();
35
- });
36
- }
37
- }).pipe(map((contentFile) => {
38
- if (typeof contentFile === 'string') {
39
- const { content, attributes } = parseRawContentFile(contentFile);
40
- return {
41
- filename: filePath,
42
- slug,
43
- attributes,
44
- content,
45
- };
46
- }
47
- return {
48
- filename: filePath,
49
- slug,
50
- attributes: contentFile.metadata,
51
- content: contentFile.default,
52
- };
53
- }));
54
- }
55
- /**
56
- * Retrieves the static content using the provided param and/or prefix.
57
- *
58
- * @param param route parameter (default: 'slug')
59
- * @param fallback fallback text if content file is not found (default: 'No Content Found')
60
- */
61
- export function injectContent(param = 'slug', fallback = 'No Content Found') {
62
- const contentFiles = inject(CONTENT_FILES_TOKEN);
63
- const renderTaskService = inject(RenderTaskService);
64
- const task = renderTaskService.addRenderTask();
65
- if (typeof param === 'string' || 'param' in param) {
66
- const prefix = typeof param === 'string' ? '' : `${param.subdirectory}/`;
67
- const route = inject(ActivatedRoute);
68
- const paramKey = typeof param === 'string' ? param : param.param;
69
- return route.paramMap.pipe(map((params) => params.get(paramKey)), switchMap((slug) => {
70
- if (slug) {
71
- return getContentFile(contentFiles, prefix, slug, fallback, renderTaskService);
72
- }
73
- return of({
74
- filename: '',
75
- slug: '',
76
- attributes: {},
77
- content: fallback,
78
- });
79
- }), tap(() => renderTaskService.clearRenderTask(task)));
80
- }
81
- else {
82
- return getContentFile(contentFiles, '', param.customFilename, fallback, renderTaskService).pipe(tap(() => renderTaskService.clearRenderTask(task)));
83
- }
84
- }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvc3JjL2xpYi9jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQztBQUVyQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsU0FBUyxjQUFjLENBR3JCLFlBQW1ELEVBQ25ELE1BQWMsRUFDZCxJQUFZLEVBQ1osUUFBZ0IsRUFDaEIsaUJBQW9DO0lBRXBDLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixNQUFNLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDakQsTUFBTSxXQUFXLEdBQ2YsWUFBWSxDQUFDLEdBQUcsUUFBUSxLQUFLLENBQUMsSUFBSSxZQUFZLENBQUMsR0FBRyxRQUFRLE1BQU0sQ0FBQyxDQUFDO0lBQ3BFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQixPQUFPLEVBQUUsQ0FBQztZQUNSLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFVBQVUsRUFBRSxFQUFFO1lBQ2QsSUFBSSxFQUFFLEVBQUU7WUFDUixPQUFPLEVBQUUsUUFBUTtTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFD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O1lBQ0QsT0FBTyxFQUFFLENBQUM7Z0JBQ1IsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsT0FBTyxFQUFFLFFBQVE7YUFDbEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNuRCxDQUFDO0lBQ0osQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLGNBQWMsQ0FDbkIsWUFBWSxFQUNaLEVBQUUsRUFDRixLQUFLLENBQUMsY0FBYyxFQUNwQixRQUFRLEVBQ1IsaUJBQWlCLENBQ2xCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJ2aXRlL2NsaWVudFwiIC8+XG5cbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IENvbnRlbnRGaWxlIH0gZnJvbSAnLi9jb250ZW50LWZpbGUnO1xuaW1wb3J0IHsgQ09OVEVOVF9GSUxFU19UT0tFTiB9IGZyb20gJy4vY29udGVudC1maWxlcy10b2tlbic7XG5pbXBvcnQgeyBwYXJzZVJhd0NvbnRlbnRGaWxlIH0gZnJvbSAnLi9wYXJzZS1yYXctY29udGVudC1maWxlJztcbmltcG9ydCB7IHdhaXRGb3IgfSBmcm9tICcuL3V0aWxzL3pvbmUtd2FpdC1mb3InO1xuaW1wb3J0IHsgUmVuZGVyVGFza1NlcnZpY2UgfSBmcm9tICcuL3JlbmRlci10YXNrLnNlcnZpY2UnO1xuXG5mdW5jdGlvbiBnZXRDb250ZW50RmlsZTxcbiAgQXR0cmlidXRlcyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4+KFxuICBjb250ZW50RmlsZXM6IFJlY29yZDxzdHJpbmcsICgpID0+IFByb21pc2U8c3RyaW5nPj4sXG4gIHByZWZpeDogc3RyaW5nLFxuICBzbHVnOiBzdHJpbmcsXG4gIGZhbGxiYWNrOiBzdHJpbmcsXG4gIHJlbmRlclRhc2tTZXJ2aWNlOiBSZW5kZXJUYXNrU2VydmljZVxuKTogT2JzZXJ2YWJsZTxDb250ZW50RmlsZTxBdHRyaWJ1dGVzIHwgUmVjb3JkPHN0cmluZywgbmV2ZXI+Pj4ge1xuICBjb25zdCBmaWxlUGF0aCA9IGAvc3JjL2NvbnRlbnQvJHtwcmVmaXh9JHtzbHVnfWA7XG4gIGNvbnN0IGNvbnRlbnRGaWxlID1cbiAgICBjb250ZW50RmlsZXNbYCR7ZmlsZVBhdGh9Lm1kYF0gPz8gY29udGVudEZpbGVzW2Ake2ZpbGVQYXRofS5hZ3hgXTtcbiAgaWYgKCFjb250ZW50RmlsZSkge1xuICAgIHJldHVybiBvZih7XG4gICAgICBmaWxlbmFtZTogZmlsZVBhdGgsXG4gICAgICBhdHRyaWJ1dGVzOiB7fSxcbiAgICAgIHNsdWc6ICcnLFxuICAgICAgY29udGVudDogZmFsbGJhY2ssXG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBjb250ZW50VGFzayA9IHJlbmRlclRhc2tTZXJ2aWNlLmFkZFJlbmRlclRhc2soKTtcbiAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHN0cmluZyB8IHsgZGVmYXVsdDogYW55OyBtZXRhZGF0YTogYW55IH0+KFxuICAgIChvYnNlcnZlcikgPT4ge1xuICAgICAgY29uc3QgY29udGVudFJlc29sdmVyID0gY29udGVudEZpbGUoKTtcblxuICAgICAgaWYgKGltcG9ydC5tZXRhLmVudi5TU1IgPT09IHRydWUpIHtcbiAgICAgICAgd2FpdEZvcihjb250ZW50UmVzb2x2ZXIpLnRoZW4oKGNvbnRlbnQpID0+IHtcbiAgICAgICAgICBvYnNlcnZlci5uZXh0KGNvbnRlbnQpO1xuICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG5cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHJlbmRlclRhc2tTZXJ2aWNlLmNsZWFyUmVuZGVyVGFzayhjb250ZW50VGFzayksIDEwKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb250ZW50UmVzb2x2ZXIudGhlbigoY29udGVudCkgPT4ge1xuICAgICAgICAgIG9ic2VydmVyLm5leHQoY29udGVudCk7XG4gICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICApLnBpcGUoXG4gICAgbWFwKChjb250ZW50RmlsZSkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBjb250ZW50RmlsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgeyBjb250ZW50LCBhdHRyaWJ1dGVzIH0gPVxuICAgICAgICAgIHBhcnNlUmF3Q29udGVudEZpbGU8QXR0cmlidXRlcz4oY29udGVudEZpbGUpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZmlsZW5hbWU6IGZpbGVQYXRoLFxuICAgICAgICAgIHNsdWcsXG4gICAgICAgICAgYXR0cmlidXRlcyxcbiAgICAgICAgICBjb250ZW50LFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZmlsZW5hbWU6IGZpbGVQYXRoLFxuICAgICAgICBzbHVnLFxuICAgICAgICBhdHRyaWJ1dGVzOiBjb250ZW50RmlsZS5tZXRhZGF0YSxcbiAgICAgICAgY29udGVudDogY29udGVudEZpbGUuZGVmYXVsdCxcbiAgICAgIH07XG4gICAgfSlcbiAgKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIHN0YXRpYyBjb250ZW50IHVzaW5nIHRoZSBwcm92aWRlZCBwYXJhbSBhbmQvb3IgcHJlZml4LlxuICpcbiAqIEBwYXJhbSBwYXJhbSByb3V0ZSBwYXJhbWV0ZXIgKGRlZmF1bHQ6ICdzbHVnJylcbiAqIEBwYXJhbSBmYWxsYmFjayBmYWxsYmFjayB0ZXh0IGlmIGNvbnRlbnQgZmlsZSBpcyBub3QgZm91bmQgKGRlZmF1bHQ6ICdObyBDb250ZW50IEZvdW5kJylcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdENvbnRlbnQ8XG4gIEF0dHJpYnV0ZXMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gUmVjb3JkPHN0cmluZywgYW55PlxuPihcbiAgcGFyYW06XG4gICAgfCBzdHJpbmdcbiAgICB8IHtcbiAgICAgICAgcGFyYW06IHN0cmluZztcbiAgICAgICAgc3ViZGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIGN1c3RvbUZpbGVuYW1lOiBzdHJpbmc7XG4gICAgICB9ID0gJ3NsdWcnLFxuICBmYWxsYmFjayA9ICdObyBDb250ZW50IEZvdW5kJ1xuKTogT2JzZXJ2YWJsZTxDb250ZW50RmlsZTxBdHRyaWJ1dGVzIHwgUmVjb3JkPHN0cmluZywgbmV2ZXI+Pj4ge1xuICBjb25zdCBjb250ZW50RmlsZXMgPSBpbmplY3QoQ09OVEVOVF9GSUxFU19UT0tFTik7XG4gIGNvbnN0IHJlbmRlclRhc2tTZXJ2aWNlID0gaW5qZWN0KFJlbmRlclRhc2tTZXJ2aWNlKTtcbiAgY29uc3QgdGFzayA9IHJlbmRlclRhc2tTZXJ2aWNlLmFkZFJlbmRlclRhc2soKTtcblxuICBpZiAodHlwZW9mIHBhcmFtID09PSAnc3RyaW5nJyB8fCAncGFyYW0nIGluIHBhcmFtKSB7XG4gICAgY29uc3QgcHJlZml4ID0gdHlwZW9mIHBhcmFtID09PSAnc3RyaW5nJyA/ICcnIDogYCR7cGFyYW0uc3ViZGlyZWN0b3J5fS9gO1xuICAgIGNvbnN0IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICBjb25zdCBwYXJhbUtleSA9IHR5cGVvZiBwYXJhbSA9PT0gJ3N0cmluZycgPyBwYXJhbSA6IHBhcmFtLnBhcmFtO1xuICAgIHJldHVybiByb3V0ZS5wYXJhbU1hcC5waXBlKFxuICAgICAgbWFwKChwYXJhbXMpID0+IHBhcmFtcy5nZXQocGFyYW1LZXkpKSxcbiAgICAgIHN3aXRjaE1hcCgoc2x1ZykgPT4ge1xuICAgICAgICBpZiAoc2x1Zykge1xuICAgICAgICAgIHJldHVybiBnZXRDb250ZW50RmlsZTxBdHRyaWJ1dGVzPihcbiAgICAgICAgICAgIGNvbnRlbnRGaWxlcyxcbiAgICAgICAgICAgIHByZWZpeCxcbiAgICAgICAgICAgIHNsdWcsXG4gICAgICAgICAgICBmYWxsYmFjayxcbiAgICAgICAgICAgIHJlbmRlclRhc2tTZXJ2aWNlXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2Yoe1xuICAgICAgICAgIGZpbGVuYW1lOiAnJyxcbiAgICAgICAgICBzbHVnOiAnJyxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7fSxcbiAgICAgICAgICBjb250ZW50OiBmYWxsYmFjayxcbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICAgIHRhcCgoKSA9PiByZW5kZXJUYXNrU2VydmljZS5jbGVhclJlbmRlclRhc2sodGFzaykpXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZ2V0Q29udGVudEZpbGU8QXR0cmlidXRlcz4oXG4gICAgICBjb250ZW50RmlsZXMsXG4gICAgICAnJyxcbiAgICAgIHBhcmFtLmN1c3RvbUZpbGVuYW1lLFxuICAgICAgZmFsbGJhY2ssXG4gICAgICByZW5kZXJUYXNrU2VydmljZVxuICAgICkucGlwZSh0YXAoKCkgPT4gcmVuZGVyVGFza1NlcnZpY2UuY2xlYXJSZW5kZXJUYXNrKHRhc2spKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,25 +0,0 @@
1
- /**
2
- * Returns the list of content files by filename with ?analog-content-list=true.
3
- * We use the query param to transform the return into an array of
4
- * just front matter attributes.
5
- *
6
- * @returns
7
- */
8
- export const getContentFilesList = () => {
9
- let ANALOG_CONTENT_FILE_LIST = {};
10
- return ANALOG_CONTENT_FILE_LIST;
11
- };
12
- /**
13
- * Returns the lazy loaded content files for lookups.
14
- *
15
- * @returns
16
- */
17
- export const getContentFiles = () => {
18
- let ANALOG_CONTENT_ROUTE_FILES = {};
19
- return ANALOG_CONTENT_ROUTE_FILES;
20
- };
21
- export const getAgxFiles = () => {
22
- let ANALOG_AGX_FILES = {};
23
- return ANALOG_AGX_FILES;
24
- };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNvbnRlbnQtZmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZW50L3NyYy9saWIvZ2V0LWNvbnRlbnQtZmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxFQUFFO0lBQ3RDLElBQUksd0JBQXdCLEdBQUcsRUFBRSxDQUFDO0lBRWxDLE9BQU8sd0JBQStELENBQUM7QUFDekUsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDbEMsSUFBSSwwQkFBMEIsR0FBRyxFQUFFLENBQUM7SUFFcEMsT0FBTywwQkFBMEIsQ0FBQztBQUNwQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsR0FBRyxFQUFFO0lBQzlCLElBQUksZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBRTFCLE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXR1cm5zIHRoZSBsaXN0IG9mIGNvbnRlbnQgZmlsZXMgYnkgZmlsZW5hbWUgd2l0aCA/YW5hbG9nLWNvbnRlbnQtbGlzdD10cnVlLlxuICogV2UgdXNlIHRoZSBxdWVyeSBwYXJhbSB0byB0cmFuc2Zvcm0gdGhlIHJldHVybiBpbnRvIGFuIGFycmF5IG9mXG4gKiBqdXN0IGZyb250IG1hdHRlciBhdHRyaWJ1dGVzLlxuICpcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRDb250ZW50RmlsZXNMaXN0ID0gKCkgPT4ge1xuICBsZXQgQU5BTE9HX0NPTlRFTlRfRklMRV9MSVNUID0ge307XG5cbiAgcmV0dXJuIEFOQUxPR19DT05URU5UX0ZJTEVfTElTVCBhcyBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBhbnk+Pjtcbn07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgbGF6eSBsb2FkZWQgY29udGVudCBmaWxlcyBmb3IgbG9va3Vwcy5cbiAqXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgY29uc3QgZ2V0Q29udGVudEZpbGVzID0gKCkgPT4ge1xuICBsZXQgQU5BTE9HX0NPTlRFTlRfUk9VVEVfRklMRVMgPSB7fTtcblxuICByZXR1cm4gQU5BTE9HX0NPTlRFTlRfUk9VVEVfRklMRVM7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QWd4RmlsZXMgPSAoKSA9PiB7XG4gIGxldCBBTkFMT0dfQUdYX0ZJTEVTID0ge307XG5cbiAgcmV0dXJuIEFOQUxPR19BR1hfRklMRVM7XG59O1xuIl19
@@ -1,15 +0,0 @@
1
- import { inject } from '@angular/core';
2
- import { CONTENT_FILES_LIST_TOKEN } from './content-files-list-token';
3
- import { RenderTaskService } from './render-task.service';
4
- export function injectContentFiles(filterFn) {
5
- const renderTaskService = inject(RenderTaskService);
6
- const task = renderTaskService.addRenderTask();
7
- const allContentFiles = inject(CONTENT_FILES_LIST_TOKEN);
8
- renderTaskService.clearRenderTask(task);
9
- if (filterFn) {
10
- const filteredContentFiles = allContentFiles.filter(filterFn);
11
- return filteredContentFiles;
12
- }
13
- return allContentFiles;
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LWNvbnRlbnQtZmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZW50L3NyYy9saWIvaW5qZWN0LWNvbnRlbnQtZmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLFFBQXVEO0lBRXZELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEQsTUFBTSxJQUFJLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDL0MsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUM1Qix3QkFBd0IsQ0FDSSxDQUFDO0lBQy9CLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV4QyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsTUFBTSxvQkFBb0IsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTlELE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50RmlsZSB9IGZyb20gJy4vY29udGVudC1maWxlJztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ09OVEVOVF9GSUxFU19MSVNUX1RPS0VOIH0gZnJvbSAnLi9jb250ZW50LWZpbGVzLWxpc3QtdG9rZW4nO1xuaW1wb3J0IHsgUmVuZGVyVGFza1NlcnZpY2UgfSBmcm9tICcuL3JlbmRlci10YXNrLnNlcnZpY2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Q29udGVudEZpbGVzPEF0dHJpYnV0ZXMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PihcbiAgZmlsdGVyRm4/OiBJbmplY3RDb250ZW50RmlsZXNGaWx0ZXJGdW5jdGlvbjxBdHRyaWJ1dGVzPlxuKTogQ29udGVudEZpbGU8QXR0cmlidXRlcz5bXSB7XG4gIGNvbnN0IHJlbmRlclRhc2tTZXJ2aWNlID0gaW5qZWN0KFJlbmRlclRhc2tTZXJ2aWNlKTtcbiAgY29uc3QgdGFzayA9IHJlbmRlclRhc2tTZXJ2aWNlLmFkZFJlbmRlclRhc2soKTtcbiAgY29uc3QgYWxsQ29udGVudEZpbGVzID0gaW5qZWN0KFxuICAgIENPTlRFTlRfRklMRVNfTElTVF9UT0tFTlxuICApIGFzIENvbnRlbnRGaWxlPEF0dHJpYnV0ZXM+W107XG4gIHJlbmRlclRhc2tTZXJ2aWNlLmNsZWFyUmVuZGVyVGFzayh0YXNrKTtcblxuICBpZiAoZmlsdGVyRm4pIHtcbiAgICBjb25zdCBmaWx0ZXJlZENvbnRlbnRGaWxlcyA9IGFsbENvbnRlbnRGaWxlcy5maWx0ZXIoZmlsdGVyRm4pO1xuXG4gICAgcmV0dXJuIGZpbHRlcmVkQ29udGVudEZpbGVzO1xuICB9XG5cbiAgcmV0dXJuIGFsbENvbnRlbnRGaWxlcztcbn1cblxuZXhwb3J0IHR5cGUgSW5qZWN0Q29udGVudEZpbGVzRmlsdGVyRnVuY3Rpb248VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+ID0gKFxuICB2YWx1ZTogQ29udGVudEZpbGU8VD4sXG4gIGluZGV4OiBudW1iZXIsXG4gIGFycmF5OiBDb250ZW50RmlsZTxUPltdXG4pID0+IGJvb2xlYW47XG4iXX0=
@@ -1,24 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { getHeadingList } from 'marked-gfm-heading-id';
3
- import { MarkedSetupService } from './marked-setup.service';
4
- import * as i0 from "@angular/core";
5
- export class MarkdownContentRendererService {
6
- #marked = inject(MarkedSetupService, { self: true });
7
- async render(content) {
8
- return this.#marked.getMarkedInstance().parse(content);
9
- }
10
- /**
11
- * The method is meant to be called after `render()`
12
- */
13
- getContentHeadings() {
14
- return getHeadingList();
15
- }
16
- // eslint-disable-next-line
17
- enhance() { }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkdownContentRendererService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
19
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkdownContentRendererService }); }
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkdownContentRendererService, decorators: [{
22
- type: Injectable
23
- }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tY29udGVudC1yZW5kZXJlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGVudC9zcmMvbGliL21hcmtkb3duLWNvbnRlbnQtcmVuZGVyZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRzVELE1BQU0sT0FBTyw4QkFBOEI7SUFDekMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXJELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBZTtRQUMxQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCO1FBQ2hCLE9BQU8sY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELDJCQUEyQjtJQUMzQixPQUFPLEtBQUksQ0FBQzs4R0FmRCw4QkFBOEI7a0hBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFEMUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0SGVhZGluZ0xpc3QgfSBmcm9tICdtYXJrZWQtZ2ZtLWhlYWRpbmctaWQnO1xuXG5pbXBvcnQgeyBDb250ZW50UmVuZGVyZXIsIFRhYmxlT2ZDb250ZW50SXRlbSB9IGZyb20gJy4vY29udGVudC1yZW5kZXJlcic7XG5pbXBvcnQgeyBNYXJrZWRTZXR1cFNlcnZpY2UgfSBmcm9tICcuL21hcmtlZC1zZXR1cC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1hcmtkb3duQ29udGVudFJlbmRlcmVyU2VydmljZSBpbXBsZW1lbnRzIENvbnRlbnRSZW5kZXJlciB7XG4gICNtYXJrZWQgPSBpbmplY3QoTWFya2VkU2V0dXBTZXJ2aWNlLCB7IHNlbGY6IHRydWUgfSk7XG5cbiAgYXN5bmMgcmVuZGVyKGNvbnRlbnQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuI21hcmtlZC5nZXRNYXJrZWRJbnN0YW5jZSgpLnBhcnNlKGNvbnRlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBtZXRob2QgaXMgbWVhbnQgdG8gYmUgY2FsbGVkIGFmdGVyIGByZW5kZXIoKWBcbiAgICovXG4gIGdldENvbnRlbnRIZWFkaW5ncygpOiBUYWJsZU9mQ29udGVudEl0ZW1bXSB7XG4gICAgcmV0dXJuIGdldEhlYWRpbmdMaXN0KCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgZW5oYW5jZSgpIHt9XG59XG4iXX0=
@@ -1,37 +0,0 @@
1
- import { AsyncPipe } from '@angular/common';
2
- import { Component, inject, Input, ViewEncapsulation, } from '@angular/core';
3
- import { DomSanitizer } from '@angular/platform-browser';
4
- import { ActivatedRoute } from '@angular/router';
5
- import { ContentRenderer } from './content-renderer';
6
- import { AnchorNavigationDirective } from './anchor-navigation.directive';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "./anchor-navigation.directive";
9
- export default class AnalogMarkdownRouteComponent {
10
- constructor() {
11
- this.sanitizer = inject(DomSanitizer);
12
- this.route = inject(ActivatedRoute);
13
- this.contentRenderer = inject(ContentRenderer);
14
- this.content = this.sanitizer.bypassSecurityTrustHtml(this.route.snapshot.data['renderedAnalogContent']);
15
- this.classes = 'analog-markdown-route';
16
- }
17
- ngAfterViewChecked() {
18
- this.contentRenderer.enhance();
19
- }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AnalogMarkdownRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", 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
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AnalogMarkdownRouteComponent, decorators: [{
24
- type: Component,
25
- args: [{
26
- selector: 'analog-markdown-route',
27
- standalone: true,
28
- imports: [AsyncPipe],
29
- hostDirectives: [AnchorNavigationDirective],
30
- preserveWhitespaces: true,
31
- encapsulation: ViewEncapsulation.None,
32
- template: `<div [innerHTML]="content" [class]="classes"></div>`,
33
- }]
34
- }], propDecorators: { classes: [{
35
- type: Input
36
- }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tcm91dGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGVudC9zcmMvbGliL21hcmtkb3duLXJvdXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUVMLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUNMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBVzFFLE1BQU0sQ0FBQyxPQUFPLE9BQU8sNEJBQTRCO0lBVGpEO1FBVVUsY0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqQyxVQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZDLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRWhDLFlBQU8sR0FBYSxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUNsRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FDbEQsQ0FBQztRQUVPLFlBQU8sR0FBRyx1QkFBdUIsQ0FBQztLQUs1QztJQUhDLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLENBQUM7OEdBYmtCLDRCQUE0QjtrR0FBNUIsNEJBQTRCLGdMQUZyQyxxREFBcUQ7OzJGQUU1Qyw0QkFBNEI7a0JBVGhELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQztvQkFDcEIsY0FBYyxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQzNDLG1CQUFtQixFQUFFLElBQUk7b0JBQ3pCLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxRQUFRLEVBQUUscURBQXFEO2lCQUNoRTs4QkFVVSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQ29tcG9uZW50LFxuICBpbmplY3QsXG4gIElucHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IENvbnRlbnRSZW5kZXJlciB9IGZyb20gJy4vY29udGVudC1yZW5kZXJlcic7XG5pbXBvcnQgeyBBbmNob3JOYXZpZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9hbmNob3ItbmF2aWdhdGlvbi5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmFsb2ctbWFya2Rvd24tcm91dGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQXN5bmNQaXBlXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtBbmNob3JOYXZpZ2F0aW9uRGlyZWN0aXZlXSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogdHJ1ZSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgdGVtcGxhdGU6IGA8ZGl2IFtpbm5lckhUTUxdPVwiY29udGVudFwiIFtjbGFzc109XCJjbGFzc2VzXCI+PC9kaXY+YCxcbn0pXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBbmFsb2dNYXJrZG93blJvdXRlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gIHByaXZhdGUgc2FuaXRpemVyID0gaW5qZWN0KERvbVNhbml0aXplcik7XG4gIHByaXZhdGUgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBjb250ZW50UmVuZGVyZXIgPSBpbmplY3QoQ29udGVudFJlbmRlcmVyKTtcblxuICBwcm90ZWN0ZWQgY29udGVudDogU2FmZUh0bWwgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChcbiAgICB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGFbJ3JlbmRlcmVkQW5hbG9nQ29udGVudCddXG4gICk7XG5cbiAgQElucHV0KCkgY2xhc3NlcyA9ICdhbmFsb2ctbWFya2Rvd24tcm91dGUnO1xuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICB0aGlzLmNvbnRlbnRSZW5kZXJlci5lbmhhbmNlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,100 +0,0 @@
1
- import { AsyncPipe, isPlatformBrowser } from '@angular/common';
2
- import { Component, Input, NgZone, PLATFORM_ID, ViewChild, ViewContainerRef, ViewEncapsulation, inject, } from '@angular/core';
3
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
- import { DomSanitizer } from '@angular/platform-browser';
5
- import { ActivatedRoute } from '@angular/router';
6
- import { from, of } from 'rxjs';
7
- import { catchError, map, mergeMap, filter } from 'rxjs/operators';
8
- import { AnchorNavigationDirective } from './anchor-navigation.directive';
9
- import { ContentRenderer } from './content-renderer';
10
- import { MERMAID_IMPORT_TOKEN } from './provide-content';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "./anchor-navigation.directive";
13
- export default class AnalogMarkdownComponent {
14
- constructor() {
15
- this.sanitizer = inject(DomSanitizer);
16
- this.route = inject(ActivatedRoute);
17
- this.zone = inject(NgZone);
18
- this.platformId = inject(PLATFORM_ID);
19
- this.mermaidImport = inject(MERMAID_IMPORT_TOKEN, {
20
- optional: true,
21
- });
22
- this.content$ = this.getContentSource();
23
- this.classes = 'analog-markdown';
24
- this.contentRenderer = inject(ContentRenderer);
25
- if (isPlatformBrowser(this.platformId) && this.mermaidImport) {
26
- // Mermaid can only be loaded on client side
27
- this.loadMermaid(this.mermaidImport);
28
- }
29
- }
30
- ngOnInit() {
31
- this.updateContent();
32
- }
33
- ngOnChanges() {
34
- this.updateContent();
35
- }
36
- updateContent() {
37
- if (this.content && typeof this.content !== 'string') {
38
- this.container.clear();
39
- const componentRef = this.container.createComponent(this.content);
40
- componentRef.changeDetectorRef.detectChanges();
41
- }
42
- else {
43
- this.content$ = this.getContentSource();
44
- }
45
- }
46
- getContentSource() {
47
- return this.route.data.pipe(map((data) => this.content ?? data['_analogContent']), filter((content) => typeof content === 'string'), mergeMap((contentString) => this.renderContent(contentString)), map((content) => this.sanitizer.bypassSecurityTrustHtml(content)), catchError((e) => of(`There was an error ${e}`)));
48
- }
49
- async renderContent(content) {
50
- return this.contentRenderer.render(content);
51
- }
52
- ngAfterViewChecked() {
53
- this.contentRenderer.enhance();
54
- this.zone.runOutsideAngular(() => this.mermaid?.default.run());
55
- }
56
- loadMermaid(mermaidImport) {
57
- this.zone.runOutsideAngular(() =>
58
- // Wrap into an observable to avoid redundant initialization once
59
- // the markdown component is destroyed before the promise is resolved.
60
- from(mermaidImport)
61
- .pipe(takeUntilDestroyed())
62
- .subscribe((mermaid) => {
63
- this.mermaid = mermaid;
64
- this.mermaid.default.initialize({ startOnLoad: false });
65
- // Explicitly running mermaid as ngAfterViewChecked
66
- // has probably already been called
67
- this.mermaid?.default.run();
68
- }));
69
- }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AnalogMarkdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: AnalogMarkdownComponent, isStandalone: true, selector: "analog-markdown", inputs: { content: "content", classes: "classes" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, hostDirectives: [{ directive: i1.AnchorNavigationDirective }], ngImport: i0, template: `<div
72
- #container
73
- [innerHTML]="content$ | async"
74
- [class]="classes"
75
- ></div>`, isInline: true, dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None, preserveWhitespaces: true }); }
76
- }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AnalogMarkdownComponent, decorators: [{
78
- type: Component,
79
- args: [{
80
- selector: 'analog-markdown',
81
- standalone: true,
82
- imports: [AsyncPipe],
83
- hostDirectives: [AnchorNavigationDirective],
84
- preserveWhitespaces: true,
85
- encapsulation: ViewEncapsulation.None,
86
- template: `<div
87
- #container
88
- [innerHTML]="content$ | async"
89
- [class]="classes"
90
- ></div>`,
91
- }]
92
- }], ctorParameters: () => [], propDecorators: { content: [{
93
- type: Input
94
- }], classes: [{
95
- type: Input
96
- }], container: [{
97
- type: ViewChild,
98
- args: ['container', { static: true, read: ViewContainerRef }]
99
- }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGVudC9zcmMvbGliL21hcmtkb3duLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUdOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQVEsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQWMsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFlekQsTUFBTSxDQUFDLE9BQU8sT0FBTyx1QkFBdUI7SUFzQjFDO1FBbkJRLGNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvQixTQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2IsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRTtZQUM1RCxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUdJLGFBQVEsR0FBeUIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFHdkQsWUFBTyxHQUFHLGlCQUFpQixDQUFDO1FBS3JDLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBR3hDLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM3RCw0Q0FBNEM7WUFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFjLENBQUMsQ0FBQztZQUN6RSxZQUFZLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDakQsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3pCLEdBQUcsQ0FBZSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUNuRSxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxFQUNoRCxRQUFRLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUMsRUFDOUQsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQ2pFLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ2pELENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFlO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8sV0FBVyxDQUFDLGFBQWdEO1FBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1FBQy9CLGlFQUFpRTtRQUNqRSxzRUFBc0U7UUFDdEUsSUFBSSxDQUFDLGFBQWEsQ0FBQzthQUNoQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzthQUMxQixTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztZQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN4RCxtREFBbUQ7WUFDbkQsbUNBQW1DO1lBQ25DLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDSixDQUFDOzhHQWhGa0IsdUJBQXVCO2tHQUF2Qix1QkFBdUIsa05BaUJJLGdCQUFnQiwrSEF2QnBEOzs7O1VBSUYsdURBUkUsU0FBUzs7MkZBVUEsdUJBQXVCO2tCQWIzQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUM7b0JBQ3BCLGNBQWMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUMzQyxtQkFBbUIsRUFBRSxJQUFJO29CQUN6QixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsUUFBUSxFQUFFOzs7O1VBSUY7aUJBQ1Q7d0RBZVUsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFHTixTQUFTO3NCQURSLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIFBMQVRGT1JNX0lELFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIERhdGEgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgbWVyZ2VNYXAsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQW5jaG9yTmF2aWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vYW5jaG9yLW5hdmlnYXRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbnRlbnRSZW5kZXJlciB9IGZyb20gJy4vY29udGVudC1yZW5kZXJlcic7XG5pbXBvcnQgeyBNRVJNQUlEX0lNUE9SVF9UT0tFTiB9IGZyb20gJy4vcHJvdmlkZS1jb250ZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5hbG9nLW1hcmtkb3duJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0FzeW5jUGlwZV0sXG4gIGhvc3REaXJlY3RpdmVzOiBbQW5jaG9yTmF2aWdhdGlvbkRpcmVjdGl2ZV0sXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IHRydWUsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHRlbXBsYXRlOiBgPGRpdlxuICAgICNjb250YWluZXJcbiAgICBbaW5uZXJIVE1MXT1cImNvbnRlbnQkIHwgYXN5bmNcIlxuICAgIFtjbGFzc109XCJjbGFzc2VzXCJcbiAgPjwvZGl2PmAsXG59KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQW5hbG9nTWFya2Rvd25Db21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3Q2hlY2tlZFxue1xuICBwcml2YXRlIHNhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuICBwcml2YXRlIHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcHJpdmF0ZSB6b25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWVybWFpZEltcG9ydCA9IGluamVjdChNRVJNQUlEX0lNUE9SVF9UT0tFTiwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICB9KTtcbiAgcHJpdmF0ZSBtZXJtYWlkOiB0eXBlb2YgaW1wb3J0KCdtZXJtYWlkJykgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGNvbnRlbnQkOiBPYnNlcnZhYmxlPFNhZmVIdG1sPiA9IHRoaXMuZ2V0Q29udGVudFNvdXJjZSgpO1xuXG4gIEBJbnB1dCgpIGNvbnRlbnQhOiBzdHJpbmcgfCBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsO1xuICBASW5wdXQoKSBjbGFzc2VzID0gJ2FuYWxvZy1tYXJrZG93bic7XG5cbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSlcbiAgY29udGFpbmVyITogVmlld0NvbnRhaW5lclJlZjtcblxuICBjb250ZW50UmVuZGVyZXIgPSBpbmplY3QoQ29udGVudFJlbmRlcmVyKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0aGlzLm1lcm1haWRJbXBvcnQpIHtcbiAgICAgIC8vIE1lcm1haWQgY2FuIG9ubHkgYmUgbG9hZGVkIG9uIGNsaWVudCBzaWRlXG4gICAgICB0aGlzLmxvYWRNZXJtYWlkKHRoaXMubWVybWFpZEltcG9ydCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVDb250ZW50KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUNvbnRlbnQoKTtcbiAgfVxuXG4gIHVwZGF0ZUNvbnRlbnQoKSB7XG4gICAgaWYgKHRoaXMuY29udGVudCAmJiB0eXBlb2YgdGhpcy5jb250ZW50ICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5jb250YWluZXIuY2xlYXIoKTtcbiAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudCh0aGlzLmNvbnRlbnQgYXMgYW55KTtcbiAgICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29udGVudCQgPSB0aGlzLmdldENvbnRlbnRTb3VyY2UoKTtcbiAgICB9XG4gIH1cblxuICBnZXRDb250ZW50U291cmNlKCkge1xuICAgIHJldHVybiB0aGlzLnJvdXRlLmRhdGEucGlwZShcbiAgICAgIG1hcDxEYXRhLCBzdHJpbmc+KChkYXRhKSA9PiB0aGlzLmNvbnRlbnQgPz8gZGF0YVsnX2FuYWxvZ0NvbnRlbnQnXSksXG4gICAgICBmaWx0ZXIoKGNvbnRlbnQpID0+IHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJyksXG4gICAgICBtZXJnZU1hcCgoY29udGVudFN0cmluZykgPT4gdGhpcy5yZW5kZXJDb250ZW50KGNvbnRlbnRTdHJpbmcpKSxcbiAgICAgIG1hcCgoY29udGVudCkgPT4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoY29udGVudCkpLFxuICAgICAgY2F0Y2hFcnJvcigoZSkgPT4gb2YoYFRoZXJlIHdhcyBhbiBlcnJvciAke2V9YCkpXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHJlbmRlckNvbnRlbnQoY29udGVudDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50UmVuZGVyZXIucmVuZGVyKGNvbnRlbnQpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIHRoaXMuY29udGVudFJlbmRlcmVyLmVuaGFuY2UoKTtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gdGhpcy5tZXJtYWlkPy5kZWZhdWx0LnJ1bigpKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZE1lcm1haWQobWVybWFpZEltcG9ydDogUHJvbWlzZTx0eXBlb2YgaW1wb3J0KCdtZXJtYWlkJyk+KSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICAvLyBXcmFwIGludG8gYW4gb2JzZXJ2YWJsZSB0byBhdm9pZCByZWR1bmRhbnQgaW5pdGlhbGl6YXRpb24gb25jZVxuICAgICAgLy8gdGhlIG1hcmtkb3duIGNvbXBvbmVudCBpcyBkZXN0cm95ZWQgYmVmb3JlIHRoZSBwcm9taXNlIGlzIHJlc29sdmVkLlxuICAgICAgZnJvbShtZXJtYWlkSW1wb3J0KVxuICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgLnN1YnNjcmliZSgobWVybWFpZCkgPT4ge1xuICAgICAgICAgIHRoaXMubWVybWFpZCA9IG1lcm1haWQ7XG4gICAgICAgICAgdGhpcy5tZXJtYWlkLmRlZmF1bHQuaW5pdGlhbGl6ZSh7IHN0YXJ0T25Mb2FkOiBmYWxzZSB9KTtcbiAgICAgICAgICAvLyBFeHBsaWNpdGx5IHJ1bm5pbmcgbWVybWFpZCBhcyBuZ0FmdGVyVmlld0NoZWNrZWRcbiAgICAgICAgICAvLyBoYXMgcHJvYmFibHkgYWxyZWFkeSBiZWVuIGNhbGxlZFxuICAgICAgICAgIHRoaXMubWVybWFpZD8uZGVmYXVsdC5ydW4oKTtcbiAgICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,13 +0,0 @@
1
- import { Injectable, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class MarkedContentHighlighter {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkedContentHighlighter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkedContentHighlighter }); }
6
- }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkedContentHighlighter, decorators: [{
8
- type: Injectable
9
- }] });
10
- export function withHighlighter(provider) {
11
- return { provide: MarkedContentHighlighter, ...provider };
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VkLWNvbnRlbnQtaGlnaGxpZ2h0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZW50L3NyYy9saWIvbWFya2VkLWNvbnRlbnQtaGlnaGxpZ2h0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFVBQVUsR0FJWCxNQUFNLGVBQWUsQ0FBQzs7QUFPdkIsTUFBTSxPQUFnQix3QkFBd0I7OEdBQXhCLHdCQUF3QjtrSEFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQUQ3QyxVQUFVOztBQUtYLE1BQU0sVUFBVSxlQUFlLENBQzdCLFFBUW1DO0lBRW5DLE9BQU8sRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsR0FBRyxRQUFRLEVBQWMsQ0FBQztBQUN4RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJzdHJhY3RUeXBlLFxuICBJbmplY3RhYmxlLFxuICBQcm92aWRlcixcbiAgUHJvdmlkZXJUb2tlbixcbiAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFya2VkQ29udGVudEhpZ2hsaWdodGVyIHtcbiAgYXVnbWVudENvZGVCbG9jaz8oY29kZTogc3RyaW5nLCBsYW5nOiBzdHJpbmcpOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNYXJrZWRDb250ZW50SGlnaGxpZ2h0ZXIge1xuICBhYnN0cmFjdCBnZXRIaWdobGlnaHRFeHRlbnNpb24oKTogaW1wb3J0KCdtYXJrZWQnKS5tYXJrZWQuTWFya2VkRXh0ZW5zaW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aEhpZ2hsaWdodGVyKFxuICBwcm92aWRlcjogKFxuICAgIHwgeyB1c2VWYWx1ZTogTWFya2VkQ29udGVudEhpZ2hsaWdodGVyIH1cbiAgICB8IHtcbiAgICAgICAgdXNlQ2xhc3M6XG4gICAgICAgICAgfCBUeXBlPE1hcmtlZENvbnRlbnRIaWdobGlnaHRlcj5cbiAgICAgICAgICB8IEFic3RyYWN0VHlwZTxNYXJrZWRDb250ZW50SGlnaGxpZ2h0ZXI+O1xuICAgICAgfVxuICAgIHwgeyB1c2VGYWN0b3J5OiAoLi4uZGVwczogYW55W10pID0+IE1hcmtlZENvbnRlbnRIaWdobGlnaHRlciB9XG4gICkgJiB7IGRlcHM/OiBQcm92aWRlclRva2VuPGFueT5bXSB9XG4pOiBQcm92aWRlciB7XG4gIHJldHVybiB7IHByb3ZpZGU6IE1hcmtlZENvbnRlbnRIaWdobGlnaHRlciwgLi4ucHJvdmlkZXIgfSBhcyBQcm92aWRlcjtcbn1cbiJdfQ==
@@ -1,53 +0,0 @@
1
- /**
2
- * Credit goes to Scully for original implementation
3
- * https://github.com/scullyio/scully/blob/main/libs/scully/src/lib/fileHanderPlugins/markdown.ts
4
- */
5
- import { inject, Injectable } from '@angular/core';
6
- import { marked } from 'marked';
7
- import { gfmHeadingId } from 'marked-gfm-heading-id';
8
- import { mangle } from 'marked-mangle';
9
- import { MarkedContentHighlighter } from './marked-content-highlighter';
10
- import * as i0 from "@angular/core";
11
- export class MarkedSetupService {
12
- constructor() {
13
- this.highlighter = inject(MarkedContentHighlighter, {
14
- optional: true,
15
- });
16
- const renderer = new marked.Renderer();
17
- renderer.code = (code, lang) => {
18
- // Let's do a language based detection like on GitHub
19
- // So we can still have non-interpreted mermaid code
20
- if (lang === 'mermaid') {
21
- return '<pre class="mermaid">' + code + '</pre>';
22
- }
23
- if (!lang) {
24
- return '<pre><code>' + code + '</code></pre>';
25
- }
26
- if (this.highlighter?.augmentCodeBlock) {
27
- return this.highlighter?.augmentCodeBlock(code, lang);
28
- }
29
- return `<pre class="language-${lang}"><code class="language-${lang}">${code}</code></pre>`;
30
- };
31
- const extensions = [gfmHeadingId(), mangle()];
32
- if (this.highlighter) {
33
- extensions.push(this.highlighter.getHighlightExtension());
34
- }
35
- marked.use(...extensions, {
36
- renderer,
37
- pedantic: false,
38
- gfm: true,
39
- breaks: false,
40
- mangle: false,
41
- });
42
- this.marked = marked;
43
- }
44
- getMarkedInstance() {
45
- return this.marked;
46
- }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkedSetupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
48
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkedSetupService }); }
49
- }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MarkedSetupService, decorators: [{
51
- type: Injectable
52
- }], ctorParameters: () => [] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VkLXNldHVwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZW50L3NyYy9saWIvbWFya2VkLXNldHVwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFHeEUsTUFBTSxPQUFPLGtCQUFrQjtJQU03QjtRQUppQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRTtZQUM5RCxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUdELE1BQU0sUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFZLEVBQUUsSUFBWSxFQUFFLEVBQUU7WUFDN0MscURBQXFEO1lBQ3JELG9EQUFvRDtZQUNwRCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyx1QkFBdUIsR0FBRyxJQUFJLEdBQUcsUUFBUSxDQUFDO1lBQ25ELENBQUM7WUFFRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxhQUFhLEdBQUcsSUFBSSxHQUFHLGVBQWUsQ0FBQztZQUNoRCxDQUFDO1lBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3ZDLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDeEQsQ0FBQztZQUVELE9BQU8sd0JBQXdCLElBQUksMkJBQTJCLElBQUksS0FBSyxJQUFJLGVBQWUsQ0FBQztRQUM3RixDQUFDLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBRyxDQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFOUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUM1RCxDQUFDO1FBRUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsRUFBRTtZQUN4QixRQUFRO1lBQ1IsUUFBUSxFQUFFLEtBQUs7WUFDZixHQUFHLEVBQUUsSUFBSTtZQUNULE1BQU0sRUFBRSxLQUFLO1lBQ2IsTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7OEdBN0NVLGtCQUFrQjtrSEFBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDcmVkaXQgZ29lcyB0byBTY3VsbHkgZm9yIG9yaWdpbmFsIGltcGxlbWVudGF0aW9uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc2N1bGx5aW8vc2N1bGx5L2Jsb2IvbWFpbi9saWJzL3NjdWxseS9zcmMvbGliL2ZpbGVIYW5kZXJQbHVnaW5zL21hcmtkb3duLnRzXG4gKi9cbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFya2VkIH0gZnJvbSAnbWFya2VkJztcbmltcG9ydCB7IGdmbUhlYWRpbmdJZCB9IGZyb20gJ21hcmtlZC1nZm0taGVhZGluZy1pZCc7XG5pbXBvcnQgeyBtYW5nbGUgfSBmcm9tICdtYXJrZWQtbWFuZ2xlJztcbmltcG9ydCB7IE1hcmtlZENvbnRlbnRIaWdobGlnaHRlciB9IGZyb20gJy4vbWFya2VkLWNvbnRlbnQtaGlnaGxpZ2h0ZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWFya2VkU2V0dXBTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBtYXJrZWQ6IHR5cGVvZiBtYXJrZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgaGlnaGxpZ2h0ZXIgPSBpbmplY3QoTWFya2VkQ29udGVudEhpZ2hsaWdodGVyLCB7XG4gICAgb3B0aW9uYWw6IHRydWUsXG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IHJlbmRlcmVyID0gbmV3IG1hcmtlZC5SZW5kZXJlcigpO1xuICAgIHJlbmRlcmVyLmNvZGUgPSAoY29kZTogc3RyaW5nLCBsYW5nOiBzdHJpbmcpID0+IHtcbiAgICAgIC8vIExldCdzIGRvIGEgbGFuZ3VhZ2UgYmFzZWQgZGV0ZWN0aW9uIGxpa2Ugb24gR2l0SHViXG4gICAgICAvLyBTbyB3ZSBjYW4gc3RpbGwgaGF2ZSBub24taW50ZXJwcmV0ZWQgbWVybWFpZCBjb2RlXG4gICAgICBpZiAobGFuZyA9PT0gJ21lcm1haWQnKSB7XG4gICAgICAgIHJldHVybiAnPHByZSBjbGFzcz1cIm1lcm1haWRcIj4nICsgY29kZSArICc8L3ByZT4nO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWxhbmcpIHtcbiAgICAgICAgcmV0dXJuICc8cHJlPjxjb2RlPicgKyBjb2RlICsgJzwvY29kZT48L3ByZT4nO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5oaWdobGlnaHRlcj8uYXVnbWVudENvZGVCbG9jaykge1xuICAgICAgICByZXR1cm4gdGhpcy5oaWdobGlnaHRlcj8uYXVnbWVudENvZGVCbG9jayhjb2RlLCBsYW5nKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGA8cHJlIGNsYXNzPVwibGFuZ3VhZ2UtJHtsYW5nfVwiPjxjb2RlIGNsYXNzPVwibGFuZ3VhZ2UtJHtsYW5nfVwiPiR7Y29kZX08L2NvZGU+PC9wcmU+YDtcbiAgICB9O1xuXG4gICAgY29uc3QgZXh0ZW5zaW9ucyA9IFtnZm1IZWFkaW5nSWQoKSwgbWFuZ2xlKCldO1xuXG4gICAgaWYgKHRoaXMuaGlnaGxpZ2h0ZXIpIHtcbiAgICAgIGV4dGVuc2lvbnMucHVzaCh0aGlzLmhpZ2hsaWdodGVyLmdldEhpZ2hsaWdodEV4dGVuc2lvbigpKTtcbiAgICB9XG5cbiAgICBtYXJrZWQudXNlKC4uLmV4dGVuc2lvbnMsIHtcbiAgICAgIHJlbmRlcmVyLFxuICAgICAgcGVkYW50aWM6IGZhbHNlLFxuICAgICAgZ2ZtOiB0cnVlLFxuICAgICAgYnJlYWtzOiBmYWxzZSxcbiAgICAgIG1hbmdsZTogZmFsc2UsXG4gICAgfSk7XG5cbiAgICB0aGlzLm1hcmtlZCA9IG1hcmtlZDtcbiAgfVxuXG4gIGdldE1hcmtlZEluc3RhbmNlKCk6IHR5cGVvZiBtYXJrZWQge1xuICAgIHJldHVybiB0aGlzLm1hcmtlZDtcbiAgfVxufVxuIl19
@@ -1,6 +0,0 @@
1
- import fm from 'front-matter';
2
- export function parseRawContentFile(rawContentFile) {
3
- const { body, attributes } = fm(rawContentFile);
4
- return { content: body, attributes };
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtcmF3LWNvbnRlbnQtZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvc3JjL2xpYi9wYXJzZS1yYXctY29udGVudC1maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QixNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLGNBQXNCO0lBRXRCLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFhLGNBQWMsQ0FBQyxDQUFDO0lBQzVELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZm0gZnJvbSAnZnJvbnQtbWF0dGVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUmF3Q29udGVudEZpbGU8QXR0cmlidXRlcyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+KFxuICByYXdDb250ZW50RmlsZTogc3RyaW5nXG4pOiB7IGNvbnRlbnQ6IHN0cmluZzsgYXR0cmlidXRlczogQXR0cmlidXRlcyB9IHtcbiAgY29uc3QgeyBib2R5LCBhdHRyaWJ1dGVzIH0gPSBmbTxBdHRyaWJ1dGVzPihyYXdDb250ZW50RmlsZSk7XG4gIHJldHVybiB7IGNvbnRlbnQ6IGJvZHksIGF0dHJpYnV0ZXMgfTtcbn1cbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { ContentRenderer, NoopContentRenderer } from './content-renderer';
3
- import { RenderTaskService } from './render-task.service';
4
- const CONTENT_RENDERER_PROVIDERS = [
5
- {
6
- provide: ContentRenderer,
7
- useClass: NoopContentRenderer,
8
- },
9
- ];
10
- export function withMarkdownRenderer(options) {
11
- return [
12
- CONTENT_RENDERER_PROVIDERS,
13
- options?.loadMermaid
14
- ? [
15
- {
16
- provide: MERMAID_IMPORT_TOKEN,
17
- useFactory: options.loadMermaid,
18
- },
19
- ]
20
- : [],
21
- ];
22
- }
23
- export function provideContent(...features) {
24
- return [
25
- { provide: RenderTaskService, useClass: RenderTaskService },
26
- ...features,
27
- ];
28
- }
29
- export const MERMAID_IMPORT_TOKEN = new InjectionToken('mermaid_import');
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1jb250ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29udGVudC9zcmMvbGliL3Byb3ZpZGUtY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU0xRCxNQUFNLDBCQUEwQixHQUFlO0lBQzdDO1FBQ0UsT0FBTyxFQUFFLGVBQWU7UUFDeEIsUUFBUSxFQUFFLG1CQUFtQjtLQUM5QjtDQUNGLENBQUM7QUFFRixNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLE9BQWlDO0lBRWpDLE9BQU87UUFDTCwwQkFBMEI7UUFDMUIsT0FBTyxFQUFFLFdBQVc7WUFDbEIsQ0FBQyxDQUFDO2dCQUNFO29CQUNFLE9BQU8sRUFBRSxvQkFBb0I7b0JBQzdCLFVBQVUsRUFBRSxPQUFPLENBQUMsV0FBVztpQkFDaEM7YUFDRjtZQUNILENBQUMsQ0FBQyxFQUFFO0tBQ1AsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLEdBQUcsUUFBb0I7SUFDcEQsT0FBTztRQUNMLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRTtRQUMzRCxHQUFHLFFBQVE7S0FDWixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUVwRCxnQkFBZ0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50UmVuZGVyZXIsIE5vb3BDb250ZW50UmVuZGVyZXIgfSBmcm9tICcuL2NvbnRlbnQtcmVuZGVyZXInO1xuaW1wb3J0IHsgUmVuZGVyVGFza1NlcnZpY2UgfSBmcm9tICcuL3JlbmRlci10YXNrLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1hcmtkb3duUmVuZGVyZXJPcHRpb25zIHtcbiAgbG9hZE1lcm1haWQ/OiAoKSA9PiBQcm9taXNlPHR5cGVvZiBpbXBvcnQoJ21lcm1haWQnKT47XG59XG5cbmNvbnN0IENPTlRFTlRfUkVOREVSRVJfUFJPVklERVJTOiBQcm92aWRlcltdID0gW1xuICB7XG4gICAgcHJvdmlkZTogQ29udGVudFJlbmRlcmVyLFxuICAgIHVzZUNsYXNzOiBOb29wQ29udGVudFJlbmRlcmVyLFxuICB9LFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhNYXJrZG93blJlbmRlcmVyKFxuICBvcHRpb25zPzogTWFya2Rvd25SZW5kZXJlck9wdGlvbnNcbik6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIFtcbiAgICBDT05URU5UX1JFTkRFUkVSX1BST1ZJREVSUyxcbiAgICBvcHRpb25zPy5sb2FkTWVybWFpZFxuICAgICAgPyBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTUVSTUFJRF9JTVBPUlRfVE9LRU4sXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBvcHRpb25zLmxvYWRNZXJtYWlkLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIDogW10sXG4gIF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQ29udGVudCguLi5mZWF0dXJlczogUHJvdmlkZXJbXSkge1xuICByZXR1cm4gW1xuICAgIHsgcHJvdmlkZTogUmVuZGVyVGFza1NlcnZpY2UsIHVzZUNsYXNzOiBSZW5kZXJUYXNrU2VydmljZSB9LFxuICAgIC4uLmZlYXR1cmVzLFxuICBdO1xufVxuXG5leHBvcnQgY29uc3QgTUVSTUFJRF9JTVBPUlRfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gIFByb21pc2U8dHlwZW9mIGltcG9ydCgnbWVybWFpZCcpPlxuPignbWVybWFpZF9pbXBvcnQnKTtcbiJdfQ==
@@ -1,17 +0,0 @@
1
- import { Injectable, inject, ɵPendingTasks as PendingTasks, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class RenderTaskService {
4
- #pendingTasks = inject(PendingTasks);
5
- addRenderTask() {
6
- return this.#pendingTasks.add();
7
- }
8
- clearRenderTask(id) {
9
- this.#pendingTasks.remove(id);
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RenderTaskService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RenderTaskService }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RenderTaskService, decorators: [{
15
- type: Injectable
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLXRhc2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvc3JjL2xpYi9yZW5kZXItdGFzay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1YsTUFBTSxFQUNOLGFBQWEsSUFBSSxZQUFZLEdBQzlCLE1BQU0sZUFBZSxDQUFDOztBQUd2QixNQUFNLE9BQU8saUJBQWlCO0lBQzVCLGFBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFckMsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsZUFBZSxDQUFDLEVBQVU7UUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs4R0FUVSxpQkFBaUI7a0hBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGUsXG4gIGluamVjdCxcbiAgybVQZW5kaW5nVGFza3MgYXMgUGVuZGluZ1Rhc2tzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlbmRlclRhc2tTZXJ2aWNlIHtcbiAgI3BlbmRpbmdUYXNrcyA9IGluamVjdChQZW5kaW5nVGFza3MpO1xuXG4gIGFkZFJlbmRlclRhc2soKSB7XG4gICAgcmV0dXJuIHRoaXMuI3BlbmRpbmdUYXNrcy5hZGQoKTtcbiAgfVxuXG4gIGNsZWFyUmVuZGVyVGFzayhpZDogbnVtYmVyKSB7XG4gICAgdGhpcy4jcGVuZGluZ1Rhc2tzLnJlbW92ZShpZCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,15 +0,0 @@
1
- import { firstValueFrom, isObservable } from 'rxjs';
2
- export async function waitFor(prom) {
3
- if (isObservable(prom)) {
4
- prom = firstValueFrom(prom);
5
- }
6
- if (typeof Zone === 'undefined') {
7
- return prom;
8
- }
9
- const macroTask = Zone.current.scheduleMacroTask(`AnalogContentResolve-${Math.random()}`, () => { }, {}, () => { });
10
- return prom.then((p) => {
11
- macroTask.invoke();
12
- return p;
13
- });
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS13YWl0LWZvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvc3JjL2xpYi91dGlscy96b25lLXdhaXQtZm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBSWhFLE1BQU0sQ0FBQyxLQUFLLFVBQVUsT0FBTyxDQUFJLElBQWdDO0lBQy9ELElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDdkIsSUFBSSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxPQUFPLElBQUksS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUM5Qyx3QkFBd0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQ3ZDLEdBQUcsRUFBRSxHQUFFLENBQUMsRUFDUixFQUFFLEVBQ0YsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUNULENBQUM7SUFDRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFJLEVBQUUsRUFBRTtRQUN4QixTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbkIsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmRlY2xhcmUgY29uc3QgWm9uZTogYW55O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd2FpdEZvcjxUPihwcm9tOiBQcm9taXNlPFQ+IHwgT2JzZXJ2YWJsZTxUPik6IFByb21pc2U8VD4ge1xuICBpZiAoaXNPYnNlcnZhYmxlKHByb20pKSB7XG4gICAgcHJvbSA9IGZpcnN0VmFsdWVGcm9tKHByb20pO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBab25lID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBwcm9tO1xuICB9XG5cbiAgY29uc3QgbWFjcm9UYXNrID0gWm9uZS5jdXJyZW50LnNjaGVkdWxlTWFjcm9UYXNrKFxuICAgIGBBbmFsb2dDb250ZW50UmVzb2x2ZS0ke01hdGgucmFuZG9tKCl9YCxcbiAgICAoKSA9PiB7fSxcbiAgICB7fSxcbiAgICAoKSA9PiB7fVxuICApO1xuICByZXR1cm4gcHJvbS50aGVuKChwOiBUKSA9PiB7XG4gICAgbWFjcm9UYXNrLmludm9rZSgpO1xuICAgIHJldHVybiBwO1xuICB9KTtcbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbG9nanMtY29udGVudC1vZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvb2cvc3JjL2FuYWxvZ2pzLWNvbnRlbnQtb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export { ImageResponse } from './lib/og';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZW50L29nL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgSW1hZ2VSZXNwb25zZSB9IGZyb20gJy4vbGliL29nJztcbmV4cG9ydCB7IEltYWdlUmVzcG9uc2VPcHRpb25zIH0gZnJvbSAnLi9saWIvb3B0aW9ucyc7XG4iXX0=