@ng-doc/app 17.0.0-beta.3 → 17.0.0-beta.5

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 (43) hide show
  1. package/classes/default-search-engine/default-search-engine.d.ts +0 -1
  2. package/components/toc/toc.component.d.ts +0 -1
  3. package/esm2022/classes/default-search-engine/default-search-engine.mjs +1 -2
  4. package/esm2022/components/toc/toc.component.mjs +1 -2
  5. package/esm2022/helpers/generate-toc.mjs +1 -2
  6. package/esm2022/interfaces/page-processor.mjs +1 -1
  7. package/esm2022/providers/ng-doc-app/provide-ng-doc-app.mjs +1 -2
  8. package/esm2022/providers/page-skeleton/provide-page-skeleton.mjs +1 -2
  9. package/esm2022/providers/playground-demo/provide-playground-demo.mjs +1 -2
  10. package/esm2022/providers/search-engine/provide-search-engine.mjs +1 -2
  11. package/esm2022/providers/type-control/provide-type-control.mjs +1 -2
  12. package/esm2022/services/theme/theme.service.mjs +1 -3
  13. package/esm2022/tokens/page-processor.mjs +1 -3
  14. package/fesm2022/ng-doc-app-classes-default-search-engine.mjs +0 -1
  15. package/fesm2022/ng-doc-app-classes-default-search-engine.mjs.map +1 -1
  16. package/fesm2022/ng-doc-app-components-toc.mjs +0 -1
  17. package/fesm2022/ng-doc-app-components-toc.mjs.map +1 -1
  18. package/fesm2022/ng-doc-app-helpers.mjs +0 -1
  19. package/fesm2022/ng-doc-app-helpers.mjs.map +1 -1
  20. package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs +0 -1
  21. package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs.map +1 -1
  22. package/fesm2022/ng-doc-app-providers-page-skeleton.mjs +0 -1
  23. package/fesm2022/ng-doc-app-providers-page-skeleton.mjs.map +1 -1
  24. package/fesm2022/ng-doc-app-providers-playground-demo.mjs +0 -1
  25. package/fesm2022/ng-doc-app-providers-playground-demo.mjs.map +1 -1
  26. package/fesm2022/ng-doc-app-providers-search-engine.mjs +0 -1
  27. package/fesm2022/ng-doc-app-providers-search-engine.mjs.map +1 -1
  28. package/fesm2022/ng-doc-app-providers-type-control.mjs +0 -1
  29. package/fesm2022/ng-doc-app-providers-type-control.mjs.map +1 -1
  30. package/fesm2022/ng-doc-app-services-theme.mjs +0 -2
  31. package/fesm2022/ng-doc-app-services-theme.mjs.map +1 -1
  32. package/fesm2022/ng-doc-app-tokens.mjs +0 -2
  33. package/fesm2022/ng-doc-app-tokens.mjs.map +1 -1
  34. package/helpers/generate-toc.d.ts +0 -1
  35. package/interfaces/page-processor.d.ts +0 -2
  36. package/package.json +3 -3
  37. package/providers/ng-doc-app/provide-ng-doc-app.d.ts +0 -1
  38. package/providers/page-skeleton/provide-page-skeleton.d.ts +0 -1
  39. package/providers/playground-demo/provide-playground-demo.d.ts +0 -1
  40. package/providers/search-engine/provide-search-engine.d.ts +0 -1
  41. package/providers/type-control/provide-type-control.d.ts +0 -1
  42. package/services/theme/theme.service.d.ts +0 -2
  43. package/tokens/page-processor.d.ts +0 -2
@@ -33,7 +33,6 @@ export declare class NgDocDefaultSearchEngine extends NgDocSearchEngine {
33
33
  constructor(options?: NgDocDefaultSearchEngineOptions | undefined);
34
34
  /**
35
35
  * Search the documentation for the given query.
36
- *
37
36
  * @param query The query to search for.
38
37
  */
39
38
  search(query: string): Observable<NgDocSearchResult[]>;
@@ -16,7 +16,6 @@ export declare class NgDocTocComponent implements AfterViewInit, NgDocPageToc {
16
16
  ngAfterViewInit(): void;
17
17
  /**
18
18
  * Selects the item in the table of content.
19
- *
20
19
  * @param item - Item to select.
21
20
  */
22
21
  protected select(item: NgDocTocItem): void;
@@ -28,7 +28,6 @@ export class NgDocDefaultSearchEngine extends NgDocSearchEngine {
28
28
  }
29
29
  /**
30
30
  * Search the documentation for the given query.
31
- *
32
31
  * @param query The query to search for.
33
32
  */
34
33
  search(query) {
@@ -56,4 +55,4 @@ export class NgDocDefaultSearchEngine extends NgDocSearchEngine {
56
55
  return from(fetch(url)).pipe(switchMap((response) => response.json()));
57
56
  }
58
57
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zZWFyY2gtZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY2xhc3Nlcy9kZWZhdWx0LXNlYXJjaC1lbmdpbmUvZGVmYXVsdC1zZWFyY2gtZW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQVMsTUFBTSxjQUFjLENBQUM7QUFFN0QsT0FBTyxFQUNOLFdBQVcsRUFHWCxtQkFBbUIsR0FDbkIsTUFBTSwrQkFBK0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBK0I3RDs7R0FFRztBQUNILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxpQkFBaUI7SUFHOUQsWUFBb0IsT0FBeUM7UUFDNUQsS0FBSyxFQUFFLENBQUM7UUFEVyxZQUFPLEdBQVAsT0FBTyxDQUFrQztRQUU1RCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FDZCxNQUFNLENBQUM7WUFDTixNQUFNLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLE9BQU8sRUFBRSxRQUFRO2FBQ2pCO1lBQ0QsVUFBVSxFQUFFO2dCQUNYLFdBQVcsRUFBRSxDQUFDLFdBQVcsQ0FBQztnQkFDMUIsU0FBUyxFQUFFO29CQUNWLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTztpQkFDekI7YUFDRDtTQUNELENBQUMsQ0FDRixDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxFQUFTLEVBQUUsRUFBRSxDQUFDLEVBQXdCLENBQUMsRUFDNUMsU0FBUyxDQUFDLENBQUMsRUFBc0IsRUFBRSxFQUFFLENBQ3BDLElBQUksQ0FBQyxPQUFPLENBQW1CLDRCQUE0QixDQUFDLENBQUMsSUFBSSxDQUNoRSxTQUFTLENBQUMsQ0FBQyxLQUF1QixFQUFFLEVBQUUsQ0FDckMsY0FBYyxDQUFDLEVBQUUsRUFBRSxLQUFrQyxDQUFDLENBQ3RELEVBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUNiLENBQ0QsRUFDRCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ29CLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsS0FBYTtRQUNuQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUNuQixTQUFTLENBQUMsQ0FBQyxFQUFzQixFQUFFLEVBQUUsQ0FDcEMsbUJBQW1CLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLElBQUksRUFBRSxLQUFLO1lBQ1gsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO1lBQy9CLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7WUFDbEMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUztZQUNsQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLO1lBQzFCLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFO1NBQ2hDLENBQUMsQ0FDRixFQUNELEdBQUcsQ0FBQyxDQUFDLE1BQWlDLEVBQUUsRUFBRSxDQUN6QyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQXlDLEVBQUUsRUFBRTtZQUM3RCxNQUFNLElBQUksR0FBZ0MsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBRWpFLENBQUM7WUFFRixPQUFPO2dCQUNOLEtBQUssRUFBRSxHQUFHLENBQUMsUUFBcUM7Z0JBQ2hELFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUNyQixDQUNDLEdBQTJELEVBQzNELEdBQXlCLEVBQ3hCLEVBQUU7b0JBQ0gsNkRBQTZEO29CQUM3RCxhQUFhO29CQUNiLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztvQkFFL0UsT0FBTyxHQUFHLENBQUM7Z0JBQ1osQ0FBQyxFQUNELEVBQVMsQ0FDMEQ7YUFDcEUsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNGLENBQ0QsQ0FBQztJQUNILENBQUM7SUFFTyxPQUFPLENBQUksR0FBVztRQUM3QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdEb2NTZWFyY2hFbmdpbmUgfSBmcm9tICdAbmctZG9jL2FwcC9jbGFzc2VzL3NlYXJjaC1lbmdpbmUnO1xuaW1wb3J0IHsgTmdEb2NTZWFyY2hSZXN1bHQgfSBmcm9tICdAbmctZG9jL2FwcC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGFzQXJyYXkgfSBmcm9tICdAbmctZG9jL2NvcmUvaGVscGVycy9hcy1hcnJheSc7XG5pbXBvcnQgeyBvYmplY3RLZXlzIH0gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvb2JqZWN0LWtleXMnO1xuaW1wb3J0IHsgTmdEb2NQYWdlSW5kZXggfSBmcm9tICdAbmctZG9jL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBOZ0RvY0hpZ2hsaWdodFBvc2l0aW9uIH0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuaW1wb3J0IHsgY3JlYXRlLCBpbnNlcnRNdWx0aXBsZSwgT3JhbWEgfSBmcm9tICdAb3JhbWEvb3JhbWEnO1xuaW1wb3J0IHsgRG9jdW1lbnQgfSBmcm9tICdAb3JhbWEvb3JhbWEvZGlzdC90eXBlcyc7XG5pbXBvcnQge1xuXHRhZnRlckluc2VydCxcblx0T3JhbWFXaXRoSGlnaGxpZ2h0LFxuXHRTZWFyY2hSZXN1bHRXaXRoSGlnaGxpZ2h0LFxuXHRzZWFyY2hXaXRoSGlnaGxpZ2h0LFxufSBmcm9tICdAb3JhbWEvcGx1Z2luLW1hdGNoLWhpZ2hsaWdodCc7XG5pbXBvcnQgKiBhcyBzdGVtbWVyIGZyb20gJ0BvcmFtYS9zdGVtbWVycyc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIGBOZ0RvY0RlZmF1bHRTZWFyY2hFbmdpbmVgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5nRG9jRGVmYXVsdFNlYXJjaEVuZ2luZU9wdGlvbnMge1xuXHQvKipcblx0ICogVGhlIGxhbmd1YWdlIHRvIHVzZSBmb3IgdGhlIHNlYXJjaCBlbmdpbmUuXG5cdCAqL1xuXHRzdGVtbWVyPzogdHlwZW9mIHN0ZW1tZXIuc3RlbW1lcjtcblx0LyoqXG5cdCAqIFNwZWNpZmllcyB0aGUgbWF4aW11bSBkaXN0YW5jZSAoZm9sbG93aW5nIHRoZSBMZXZlbnNodGVpbiBhbGdvcml0aG0pIGJldHdlZW4gdGhlIHRlcm0gYW5kIHRoZSBzZWFyY2hhYmxlIHByb3BlcnR5LlxuXHQgKiAoZG9lc24ndCB3b3JrIHdpdGggYGV4YWN0YCBvcHRpb24pXG5cdCAqL1xuXHR0b2xlcmFuY2U/OiBudW1iZXI7XG5cdC8qKlxuXHQgKiBJZiBgdHJ1ZWAsIGZpbmRzIGFsbCB0aGUgZG9jdW1lbnQgd2l0aCBhbiBleGFjdCBtYXRjaCBvZiB0aGUgdGVybSBwcm9wZXJ0eS5cblx0ICovXG5cdGV4YWN0PzogYm9vbGVhbjtcblx0LyoqXG5cdCAqIE51bWJlciBvZiByZXN1bHRzIHRvIHJldHVybiAoZGVmYXVsdDogMTApLlxuXHQgKi9cblx0bGltaXQ/OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBTZWFyY2hTY2hlbWEgZXh0ZW5kcyBEb2N1bWVudCB7XG5cdHRpdGxlOiAnc3RyaW5nJztcblx0c2VjdGlvblRpdGxlOiAnc3RyaW5nJztcblx0Y29udGVudDogJ3N0cmluZyc7XG59XG5cbi8qKlxuICogU2VhcmNoIGVuZ2luZSBmb3IgdGhlIGRvY3VtZW50YXRpb24sIGl0IGxvYWRzIHRoZSBpbmRleCBhbmQgcHJvdmlkZXMgYSBzZWFyY2ggbWV0aG9kLlxuICovXG5leHBvcnQgY2xhc3MgTmdEb2NEZWZhdWx0U2VhcmNoRW5naW5lIGV4dGVuZHMgTmdEb2NTZWFyY2hFbmdpbmUge1xuXHRwcml2YXRlIGRiJDogT2JzZXJ2YWJsZTxPcmFtYVdpdGhIaWdobGlnaHQ+O1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgb3B0aW9ucz86IE5nRG9jRGVmYXVsdFNlYXJjaEVuZ2luZU9wdGlvbnMpIHtcblx0XHRzdXBlcigpO1xuXHRcdHRoaXMuZGIkID0gZnJvbShcblx0XHRcdGNyZWF0ZSh7XG5cdFx0XHRcdHNjaGVtYToge1xuXHRcdFx0XHRcdHRpdGxlOiAnc3RyaW5nJyxcblx0XHRcdFx0XHRzZWN0aW9uOiAnc3RyaW5nJyxcblx0XHRcdFx0XHRjb250ZW50OiAnc3RyaW5nJyxcblx0XHRcdFx0fSxcblx0XHRcdFx0Y29tcG9uZW50czoge1xuXHRcdFx0XHRcdGFmdGVySW5zZXJ0OiBbYWZ0ZXJJbnNlcnRdLFxuXHRcdFx0XHRcdHRva2VuaXplcjoge1xuXHRcdFx0XHRcdFx0c3RlbW1lcjogb3B0aW9ucz8uc3RlbW1lcixcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHR9LFxuXHRcdFx0fSksXG5cdFx0KS5waXBlKFxuXHRcdFx0bWFwKChkYjogT3JhbWEpID0+IGRiIGFzIE9yYW1hV2l0aEhpZ2hsaWdodCksXG5cdFx0XHRzd2l0Y2hNYXAoKGRiOiBPcmFtYVdpdGhIaWdobGlnaHQpID0+XG5cdFx0XHRcdHRoaXMucmVxdWVzdDxOZ0RvY1BhZ2VJbmRleFtdPihgYXNzZXRzL25nLWRvYy9pbmRleGVzLmpzb25gKS5waXBlKFxuXHRcdFx0XHRcdHN3aXRjaE1hcCgocGFnZXM6IE5nRG9jUGFnZUluZGV4W10pID0+XG5cdFx0XHRcdFx0XHRpbnNlcnRNdWx0aXBsZShkYiwgcGFnZXMgYXMgdW5rbm93biBhcyBTZWFyY2hTY2hlbWFbXSksXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRtYXAoKCkgPT4gZGIpLFxuXHRcdFx0XHQpLFxuXHRcdFx0KSxcblx0XHRcdHNoYXJlUmVwbGF5KDEpLFxuXHRcdCkgYXMgT2JzZXJ2YWJsZTxPcmFtYVdpdGhIaWdobGlnaHQ+O1xuXHR9XG5cblx0LyoqXG5cdCAqIFNlYXJjaCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGdpdmVuIHF1ZXJ5LlxuXHQgKlxuXHQgKiBAcGFyYW0gcXVlcnkgVGhlIHF1ZXJ5IHRvIHNlYXJjaCBmb3IuXG5cdCAqL1xuXHRzZWFyY2gocXVlcnk6IHN0cmluZyk6IE9ic2VydmFibGU8TmdEb2NTZWFyY2hSZXN1bHRbXT4ge1xuXHRcdHJldHVybiB0aGlzLmRiJC5waXBlKFxuXHRcdFx0c3dpdGNoTWFwKChkYjogT3JhbWFXaXRoSGlnaGxpZ2h0KSA9PlxuXHRcdFx0XHRzZWFyY2hXaXRoSGlnaGxpZ2h0KGRiLCB7XG5cdFx0XHRcdFx0dGVybTogcXVlcnksXG5cdFx0XHRcdFx0Ym9vc3Q6IHsgdGl0bGU6IDQsIHNlY3Rpb246IDIgfSxcblx0XHRcdFx0XHRwcm9wZXJ0aWVzOiBbJ3NlY3Rpb24nLCAnY29udGVudCddLFxuXHRcdFx0XHRcdHRvbGVyYW5jZTogdGhpcy5vcHRpb25zPy50b2xlcmFuY2UsXG5cdFx0XHRcdFx0ZXhhY3Q6IHRoaXMub3B0aW9ucz8uZXhhY3QsXG5cdFx0XHRcdFx0bGltaXQ6IHRoaXMub3B0aW9ucz8ubGltaXQgPz8gMTAsXG5cdFx0XHRcdH0pLFxuXHRcdFx0KSxcblx0XHRcdG1hcCgocmVzdWx0OiBTZWFyY2hSZXN1bHRXaXRoSGlnaGxpZ2h0KSA9PlxuXHRcdFx0XHRyZXN1bHQuaGl0cy5tYXAoKGhpdDogU2VhcmNoUmVzdWx0V2l0aEhpZ2hsaWdodFsnaGl0cyddWzBdKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3Qga2V5czogQXJyYXk8a2V5b2YgTmdEb2NQYWdlSW5kZXg+ID0gb2JqZWN0S2V5cyhoaXQucG9zaXRpb25zKSBhcyB1bmtub3duIGFzIEFycmF5PFxuXHRcdFx0XHRcdFx0a2V5b2YgTmdEb2NQYWdlSW5kZXhcblx0XHRcdFx0XHQ+O1xuXG5cdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdGluZGV4OiBoaXQuZG9jdW1lbnQgYXMgdW5rbm93biBhcyBOZ0RvY1BhZ2VJbmRleCxcblx0XHRcdFx0XHRcdHBvc2l0aW9uczoga2V5cy5yZWR1Y2UoXG5cdFx0XHRcdFx0XHRcdChcblx0XHRcdFx0XHRcdFx0XHRhY2M6IFJlY29yZDxrZXlvZiBOZ0RvY1BhZ2VJbmRleCwgTmdEb2NIaWdobGlnaHRQb3NpdGlvbltdPixcblx0XHRcdFx0XHRcdFx0XHRrZXk6IGtleW9mIE5nRG9jUGFnZUluZGV4LFxuXHRcdFx0XHRcdFx0XHQpID0+IHtcblx0XHRcdFx0XHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG5cdFx0XHRcdFx0XHRcdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdFx0XHRcdFx0XHRcdGFjY1trZXldID0gWy4uLmFzQXJyYXkoYWNjW2tleV0pLCAuLi5PYmplY3QudmFsdWVzKGhpdC5wb3NpdGlvbnNba2V5XSkuZmxhdCgpXTtcblxuXHRcdFx0XHRcdFx0XHRcdHJldHVybiBhY2M7XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdHt9IGFzIGFueSxcblx0XHRcdFx0XHRcdCkgYXMgUGFydGlhbDxSZWNvcmQ8a2V5b2YgTmdEb2NQYWdlSW5kZXgsIE5nRG9jSGlnaGxpZ2h0UG9zaXRpb25bXT4+LFxuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH0pLFxuXHRcdFx0KSxcblx0XHQpO1xuXHR9XG5cblx0cHJpdmF0ZSByZXF1ZXN0PFQ+KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG5cdFx0cmV0dXJuIGZyb20oZmV0Y2godXJsKSkucGlwZShzd2l0Y2hNYXAoKHJlc3BvbnNlOiBSZXNwb25zZSkgPT4gcmVzcG9uc2UuanNvbigpIGFzIFByb21pc2U8VD4pKTtcblx0fVxufVxuIl19
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zZWFyY2gtZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY2xhc3Nlcy9kZWZhdWx0LXNlYXJjaC1lbmdpbmUvZGVmYXVsdC1zZWFyY2gtZW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQVMsTUFBTSxjQUFjLENBQUM7QUFFN0QsT0FBTyxFQUNOLFdBQVcsRUFHWCxtQkFBbUIsR0FDbkIsTUFBTSwrQkFBK0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBK0I3RDs7R0FFRztBQUNILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxpQkFBaUI7SUFHOUQsWUFBb0IsT0FBeUM7UUFDNUQsS0FBSyxFQUFFLENBQUM7UUFEVyxZQUFPLEdBQVAsT0FBTyxDQUFrQztRQUU1RCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FDZCxNQUFNLENBQUM7WUFDTixNQUFNLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLE9BQU8sRUFBRSxRQUFRO2FBQ2pCO1lBQ0QsVUFBVSxFQUFFO2dCQUNYLFdBQVcsRUFBRSxDQUFDLFdBQVcsQ0FBQztnQkFDMUIsU0FBUyxFQUFFO29CQUNWLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTztpQkFDekI7YUFDRDtTQUNELENBQUMsQ0FDRixDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxFQUFTLEVBQUUsRUFBRSxDQUFDLEVBQXdCLENBQUMsRUFDNUMsU0FBUyxDQUFDLENBQUMsRUFBc0IsRUFBRSxFQUFFLENBQ3BDLElBQUksQ0FBQyxPQUFPLENBQW1CLDRCQUE0QixDQUFDLENBQUMsSUFBSSxDQUNoRSxTQUFTLENBQUMsQ0FBQyxLQUF1QixFQUFFLEVBQUUsQ0FDckMsY0FBYyxDQUFDLEVBQUUsRUFBRSxLQUFrQyxDQUFDLENBQ3RELEVBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUNiLENBQ0QsRUFDRCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ29CLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxLQUFhO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQ25CLFNBQVMsQ0FBQyxDQUFDLEVBQXNCLEVBQUUsRUFBRSxDQUNwQyxtQkFBbUIsQ0FBQyxFQUFFLEVBQUU7WUFDdkIsSUFBSSxFQUFFLEtBQUs7WUFDWCxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7WUFDL0IsVUFBVSxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQztZQUNsQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTO1lBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUs7WUFDMUIsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxJQUFJLEVBQUU7U0FDaEMsQ0FBQyxDQUNGLEVBQ0QsR0FBRyxDQUFDLENBQUMsTUFBaUMsRUFBRSxFQUFFLENBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBeUMsRUFBRSxFQUFFO1lBQzdELE1BQU0sSUFBSSxHQUFnQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FFakUsQ0FBQztZQUVGLE9BQU87Z0JBQ04sS0FBSyxFQUFFLEdBQUcsQ0FBQyxRQUFxQztnQkFDaEQsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQ3JCLENBQ0MsR0FBMkQsRUFDM0QsR0FBeUIsRUFDeEIsRUFBRTtvQkFDSCw2REFBNkQ7b0JBQzdELGFBQWE7b0JBQ2IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO29CQUUvRSxPQUFPLEdBQUcsQ0FBQztnQkFDWixDQUFDLEVBQ0QsRUFBUyxDQUMwRDthQUNwRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0YsQ0FDRCxDQUFDO0lBQ0gsQ0FBQztJQUVPLE9BQU8sQ0FBSSxHQUFXO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFnQixDQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDO0NBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0RvY1NlYXJjaEVuZ2luZSB9IGZyb20gJ0BuZy1kb2MvYXBwL2NsYXNzZXMvc2VhcmNoLWVuZ2luZSc7XG5pbXBvcnQgeyBOZ0RvY1NlYXJjaFJlc3VsdCB9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgYXNBcnJheSB9IGZyb20gJ0BuZy1kb2MvY29yZS9oZWxwZXJzL2FzLWFycmF5JztcbmltcG9ydCB7IG9iamVjdEtleXMgfSBmcm9tICdAbmctZG9jL2NvcmUvaGVscGVycy9vYmplY3Qta2V5cyc7XG5pbXBvcnQgeyBOZ0RvY1BhZ2VJbmRleCB9IGZyb20gJ0BuZy1kb2MvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5nRG9jSGlnaGxpZ2h0UG9zaXRpb24gfSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5pbXBvcnQgeyBjcmVhdGUsIGluc2VydE11bHRpcGxlLCBPcmFtYSB9IGZyb20gJ0BvcmFtYS9vcmFtYSc7XG5pbXBvcnQgeyBEb2N1bWVudCB9IGZyb20gJ0BvcmFtYS9vcmFtYS9kaXN0L3R5cGVzJztcbmltcG9ydCB7XG5cdGFmdGVySW5zZXJ0LFxuXHRPcmFtYVdpdGhIaWdobGlnaHQsXG5cdFNlYXJjaFJlc3VsdFdpdGhIaWdobGlnaHQsXG5cdHNlYXJjaFdpdGhIaWdobGlnaHQsXG59IGZyb20gJ0BvcmFtYS9wbHVnaW4tbWF0Y2gtaGlnaGxpZ2h0JztcbmltcG9ydCAqIGFzIHN0ZW1tZXIgZnJvbSAnQG9yYW1hL3N0ZW1tZXJzJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgYE5nRG9jRGVmYXVsdFNlYXJjaEVuZ2luZWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmdEb2NEZWZhdWx0U2VhcmNoRW5naW5lT3B0aW9ucyB7XG5cdC8qKlxuXHQgKiBUaGUgbGFuZ3VhZ2UgdG8gdXNlIGZvciB0aGUgc2VhcmNoIGVuZ2luZS5cblx0ICovXG5cdHN0ZW1tZXI/OiB0eXBlb2Ygc3RlbW1lci5zdGVtbWVyO1xuXHQvKipcblx0ICogU3BlY2lmaWVzIHRoZSBtYXhpbXVtIGRpc3RhbmNlIChmb2xsb3dpbmcgdGhlIExldmVuc2h0ZWluIGFsZ29yaXRobSkgYmV0d2VlbiB0aGUgdGVybSBhbmQgdGhlIHNlYXJjaGFibGUgcHJvcGVydHkuXG5cdCAqIChkb2Vzbid0IHdvcmsgd2l0aCBgZXhhY3RgIG9wdGlvbilcblx0ICovXG5cdHRvbGVyYW5jZT86IG51bWJlcjtcblx0LyoqXG5cdCAqIElmIGB0cnVlYCwgZmluZHMgYWxsIHRoZSBkb2N1bWVudCB3aXRoIGFuIGV4YWN0IG1hdGNoIG9mIHRoZSB0ZXJtIHByb3BlcnR5LlxuXHQgKi9cblx0ZXhhY3Q/OiBib29sZWFuO1xuXHQvKipcblx0ICogTnVtYmVyIG9mIHJlc3VsdHMgdG8gcmV0dXJuIChkZWZhdWx0OiAxMCkuXG5cdCAqL1xuXHRsaW1pdD86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIFNlYXJjaFNjaGVtYSBleHRlbmRzIERvY3VtZW50IHtcblx0dGl0bGU6ICdzdHJpbmcnO1xuXHRzZWN0aW9uVGl0bGU6ICdzdHJpbmcnO1xuXHRjb250ZW50OiAnc3RyaW5nJztcbn1cblxuLyoqXG4gKiBTZWFyY2ggZW5naW5lIGZvciB0aGUgZG9jdW1lbnRhdGlvbiwgaXQgbG9hZHMgdGhlIGluZGV4IGFuZCBwcm92aWRlcyBhIHNlYXJjaCBtZXRob2QuXG4gKi9cbmV4cG9ydCBjbGFzcyBOZ0RvY0RlZmF1bHRTZWFyY2hFbmdpbmUgZXh0ZW5kcyBOZ0RvY1NlYXJjaEVuZ2luZSB7XG5cdHByaXZhdGUgZGIkOiBPYnNlcnZhYmxlPE9yYW1hV2l0aEhpZ2hsaWdodD47XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSBvcHRpb25zPzogTmdEb2NEZWZhdWx0U2VhcmNoRW5naW5lT3B0aW9ucykge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5kYiQgPSBmcm9tKFxuXHRcdFx0Y3JlYXRlKHtcblx0XHRcdFx0c2NoZW1hOiB7XG5cdFx0XHRcdFx0dGl0bGU6ICdzdHJpbmcnLFxuXHRcdFx0XHRcdHNlY3Rpb246ICdzdHJpbmcnLFxuXHRcdFx0XHRcdGNvbnRlbnQ6ICdzdHJpbmcnLFxuXHRcdFx0XHR9LFxuXHRcdFx0XHRjb21wb25lbnRzOiB7XG5cdFx0XHRcdFx0YWZ0ZXJJbnNlcnQ6IFthZnRlckluc2VydF0sXG5cdFx0XHRcdFx0dG9rZW5pemVyOiB7XG5cdFx0XHRcdFx0XHRzdGVtbWVyOiBvcHRpb25zPy5zdGVtbWVyLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdH0sXG5cdFx0XHR9KSxcblx0XHQpLnBpcGUoXG5cdFx0XHRtYXAoKGRiOiBPcmFtYSkgPT4gZGIgYXMgT3JhbWFXaXRoSGlnaGxpZ2h0KSxcblx0XHRcdHN3aXRjaE1hcCgoZGI6IE9yYW1hV2l0aEhpZ2hsaWdodCkgPT5cblx0XHRcdFx0dGhpcy5yZXF1ZXN0PE5nRG9jUGFnZUluZGV4W10+KGBhc3NldHMvbmctZG9jL2luZGV4ZXMuanNvbmApLnBpcGUoXG5cdFx0XHRcdFx0c3dpdGNoTWFwKChwYWdlczogTmdEb2NQYWdlSW5kZXhbXSkgPT5cblx0XHRcdFx0XHRcdGluc2VydE11bHRpcGxlKGRiLCBwYWdlcyBhcyB1bmtub3duIGFzIFNlYXJjaFNjaGVtYVtdKSxcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdG1hcCgoKSA9PiBkYiksXG5cdFx0XHRcdCksXG5cdFx0XHQpLFxuXHRcdFx0c2hhcmVSZXBsYXkoMSksXG5cdFx0KSBhcyBPYnNlcnZhYmxlPE9yYW1hV2l0aEhpZ2hsaWdodD47XG5cdH1cblxuXHQvKipcblx0ICogU2VhcmNoIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgZ2l2ZW4gcXVlcnkuXG5cdCAqIEBwYXJhbSBxdWVyeSBUaGUgcXVlcnkgdG8gc2VhcmNoIGZvci5cblx0ICovXG5cdHNlYXJjaChxdWVyeTogc3RyaW5nKTogT2JzZXJ2YWJsZTxOZ0RvY1NlYXJjaFJlc3VsdFtdPiB7XG5cdFx0cmV0dXJuIHRoaXMuZGIkLnBpcGUoXG5cdFx0XHRzd2l0Y2hNYXAoKGRiOiBPcmFtYVdpdGhIaWdobGlnaHQpID0+XG5cdFx0XHRcdHNlYXJjaFdpdGhIaWdobGlnaHQoZGIsIHtcblx0XHRcdFx0XHR0ZXJtOiBxdWVyeSxcblx0XHRcdFx0XHRib29zdDogeyB0aXRsZTogNCwgc2VjdGlvbjogMiB9LFxuXHRcdFx0XHRcdHByb3BlcnRpZXM6IFsnc2VjdGlvbicsICdjb250ZW50J10sXG5cdFx0XHRcdFx0dG9sZXJhbmNlOiB0aGlzLm9wdGlvbnM/LnRvbGVyYW5jZSxcblx0XHRcdFx0XHRleGFjdDogdGhpcy5vcHRpb25zPy5leGFjdCxcblx0XHRcdFx0XHRsaW1pdDogdGhpcy5vcHRpb25zPy5saW1pdCA/PyAxMCxcblx0XHRcdFx0fSksXG5cdFx0XHQpLFxuXHRcdFx0bWFwKChyZXN1bHQ6IFNlYXJjaFJlc3VsdFdpdGhIaWdobGlnaHQpID0+XG5cdFx0XHRcdHJlc3VsdC5oaXRzLm1hcCgoaGl0OiBTZWFyY2hSZXN1bHRXaXRoSGlnaGxpZ2h0WydoaXRzJ11bMF0pID0+IHtcblx0XHRcdFx0XHRjb25zdCBrZXlzOiBBcnJheTxrZXlvZiBOZ0RvY1BhZ2VJbmRleD4gPSBvYmplY3RLZXlzKGhpdC5wb3NpdGlvbnMpIGFzIHVua25vd24gYXMgQXJyYXk8XG5cdFx0XHRcdFx0XHRrZXlvZiBOZ0RvY1BhZ2VJbmRleFxuXHRcdFx0XHRcdD47XG5cblx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0aW5kZXg6IGhpdC5kb2N1bWVudCBhcyB1bmtub3duIGFzIE5nRG9jUGFnZUluZGV4LFxuXHRcdFx0XHRcdFx0cG9zaXRpb25zOiBrZXlzLnJlZHVjZShcblx0XHRcdFx0XHRcdFx0KFxuXHRcdFx0XHRcdFx0XHRcdGFjYzogUmVjb3JkPGtleW9mIE5nRG9jUGFnZUluZGV4LCBOZ0RvY0hpZ2hsaWdodFBvc2l0aW9uW10+LFxuXHRcdFx0XHRcdFx0XHRcdGtleToga2V5b2YgTmdEb2NQYWdlSW5kZXgsXG5cdFx0XHRcdFx0XHRcdCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHRcdFx0XHRcdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRcdFx0XHRcdFx0YWNjW2tleV0gPSBbLi4uYXNBcnJheShhY2Nba2V5XSksIC4uLk9iamVjdC52YWx1ZXMoaGl0LnBvc2l0aW9uc1trZXldKS5mbGF0KCldO1xuXG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGFjYztcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0e30gYXMgYW55LFxuXHRcdFx0XHRcdFx0KSBhcyBQYXJ0aWFsPFJlY29yZDxrZXlvZiBOZ0RvY1BhZ2VJbmRleCwgTmdEb2NIaWdobGlnaHRQb3NpdGlvbltdPj4sXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fSksXG5cdFx0XHQpLFxuXHRcdCk7XG5cdH1cblxuXHRwcml2YXRlIHJlcXVlc3Q8VD4odXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcblx0XHRyZXR1cm4gZnJvbShmZXRjaCh1cmwpKS5waXBlKHN3aXRjaE1hcCgocmVzcG9uc2U6IFJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkgYXMgUHJvbWlzZTxUPikpO1xuXHR9XG59XG4iXX0=
@@ -50,7 +50,6 @@ let NgDocTocComponent = class NgDocTocComponent {
50
50
  }
51
51
  /**
52
52
  * Selects the item in the table of content.
53
- *
54
53
  * @param item - Item to select.
55
54
  */
56
55
  select(item) {
@@ -85,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
85
84
  type: ViewChildren,
86
85
  args: [NgDocTocElementComponent]
87
86
  }] } });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9jLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvdG9jL3RvYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3RvYy90b2MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUVOLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFtQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQVd4RSxJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjtJQUF2QjtRQUVOLG1CQUFjLEdBQW1CLEVBQUUsQ0FBQztRQU1wQyxhQUFRLEdBQXdDLElBQUksU0FBUyxF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LEVBQUUsQ0FBQztJQUN4QyxDQUFDOzhHQTlGVyxpQkFBaUI7a0dBQWpCLGlCQUFpQix1TUFJRyxVQUFVLDJDQUc1Qix3QkFBd0IsZ0RDekN2QyxvbUJBbUJBLCt4QkRZVyxLQUFLLG1IQUFFLHdCQUF3QiwwR0FBRSx3QkFBd0I7O0FBR3ZELGlCQUFpQjtJQUQ3QixZQUFZLEVBQUU7R0FDRixpQkFBaUIsQ0ErRjdCOzsyRkEvRlksaUJBQWlCO2tCQVQ3QixTQUFTOytCQUNDLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLENBQUM7OEJBS3BFLGNBQWM7c0JBRGIsS0FBSztnQkFJTixTQUFTO3NCQURSLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJNUMsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5ULCBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHRBZnRlclZpZXdJbml0LFxuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0aW5qZWN0LFxuXHRJbnB1dCxcblx0Tmdab25lLFxuXHRRdWVyeUxpc3QsXG5cdFJlbmRlcmVyMixcblx0Vmlld0NoaWxkLFxuXHRWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnQgYXMgUkV2ZW50LCBSb3V0ZXIsIFNjcm9sbCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOZ0RvY1BhZ2VUb2MsIE5nRG9jVG9jSXRlbSB9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgaXNQcmVzZW50IH0gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvaXMtcHJlc2VudCc7XG5pbXBvcnQgeyBOZ0RvY01lZGlhUXVlcnlEaXJlY3RpdmUsIG5nRG9jWm9uZU9wdGltaXplIH0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBOZ0RvY1RvY0VsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL3RvYy1lbGVtZW50L3RvYy1lbGVtZW50LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25nLWRvYy10b2MnLFxuXHR0ZW1wbGF0ZVVybDogJy4vdG9jLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vdG9jLmNvbXBvbmVudC5zY3NzJ10sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbTmdGb3IsIE5nRG9jVG9jRWxlbWVudENvbXBvbmVudCwgTmdEb2NNZWRpYVF1ZXJ5RGlyZWN0aXZlXSxcbn0pXG5AVW50aWxEZXN0cm95KClcbmV4cG9ydCBjbGFzcyBOZ0RvY1RvY0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE5nRG9jUGFnZVRvYyB7XG5cdEBJbnB1dCgpXG5cdHRhYmxlT2ZDb250ZW50OiBOZ0RvY1RvY0l0ZW1bXSA9IFtdO1xuXG5cdEBWaWV3Q2hpbGQoJ3NlbGVjdGlvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuXHRzZWxlY3Rpb24/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuXHRAVmlld0NoaWxkcmVuKE5nRG9jVG9jRWxlbWVudENvbXBvbmVudClcblx0ZWxlbWVudHM6IFF1ZXJ5TGlzdDxOZ0RvY1RvY0VsZW1lbnRDb21wb25lbnQ+ID0gbmV3IFF1ZXJ5TGlzdDxOZ0RvY1RvY0VsZW1lbnRDb21wb25lbnQ+KCk7XG5cblx0YWN0aXZlSXRlbT86IE5nRG9jVG9jSXRlbTtcblxuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IG5nWm9uZTogTmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cdHByb3RlY3RlZCByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMiA9IGluamVjdChSZW5kZXJlcjIpO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcblxuXHRuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG5cdFx0Y29uc3Qgc2Nyb2xsU2VsZWN0aW9uOiBPYnNlcnZhYmxlPE5nRG9jVG9jSXRlbT4gPSBmcm9tRXZlbnQodGhpcy5kb2N1bWVudCwgJ3Njcm9sbCcpLnBpcGUoXG5cdFx0XHRmaWx0ZXIoKCkgPT4gISF0aGlzLnRhYmxlT2ZDb250ZW50Lmxlbmd0aCksXG5cdFx0XHRtYXAoKGV2ZW50OiBFdmVudCkgPT4gKGV2ZW50LnRhcmdldCBhcyBEb2N1bWVudCkuc2Nyb2xsaW5nRWxlbWVudCBhcyBIVE1MRWxlbWVudCksXG5cdFx0XHRzdGFydFdpdGgodGhpcy5kb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50IGFzIEhUTUxFbGVtZW50KSxcblx0XHRcdG1hcCgodGFyZ2V0OiBIVE1MRWxlbWVudCkgPT4ge1xuXHRcdFx0XHRjb25zdCBwZXJjZW50YWdlOiBudW1iZXIgPVxuXHRcdFx0XHRcdCh0YXJnZXQuc2Nyb2xsVG9wICogMTAwKSAvICh0YXJnZXQuc2Nyb2xsSGVpZ2h0IC0gdGFyZ2V0Lm9mZnNldEhlaWdodCk7XG5cdFx0XHRcdGNvbnN0IHNlbGVjdGlvbkxpbmU6IG51bWJlciA9IHRhcmdldC5zY3JvbGxUb3AgKyAodGFyZ2V0Lm9mZnNldEhlaWdodCAqIHBlcmNlbnRhZ2UpIC8gMTAwO1xuXG5cdFx0XHRcdGlmICghdGhpcy50YWJsZU9mQ29udGVudC5sZW5ndGgpIHtcblx0XHRcdFx0XHRyZXR1cm4gbnVsbDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiB0aGlzLnRhYmxlT2ZDb250ZW50LnJlZHVjZSgocFRhcmdldDogTmdEb2NUb2NJdGVtLCBjVGFyZ2V0OiBOZ0RvY1RvY0l0ZW0pID0+IHtcblx0XHRcdFx0XHRjb25zdCBwVG9wOiBudW1iZXIgPSBwVGFyZ2V0LmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgdGFyZ2V0LnNjcm9sbFRvcDtcblx0XHRcdFx0XHRjb25zdCBjVG9wOiBudW1iZXIgPSBjVGFyZ2V0LmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgdGFyZ2V0LnNjcm9sbFRvcDtcblxuXHRcdFx0XHRcdHJldHVybiBNYXRoLmFicyhjVG9wIC0gc2VsZWN0aW9uTGluZSkgPCBNYXRoLmFicyhwVG9wIC0gc2VsZWN0aW9uTGluZSlcblx0XHRcdFx0XHRcdD8gY1RhcmdldFxuXHRcdFx0XHRcdFx0OiBwVGFyZ2V0O1xuXHRcdFx0XHR9KTtcblx0XHRcdH0pLFxuXHRcdFx0ZmlsdGVyKGlzUHJlc2VudCksXG5cdFx0KTtcblxuXHRcdGNvbnN0IHJvdXRlclNlbGVjdGlvbjogT2JzZXJ2YWJsZTxOZ0RvY1RvY0l0ZW0+ID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG5cdFx0XHRtYXAoKGV2ZW50OiBSRXZlbnQpID0+IHtcblx0XHRcdFx0aWYgKGV2ZW50IGluc3RhbmNlb2YgU2Nyb2xsKSB7XG5cdFx0XHRcdFx0Y29uc3QgaXRlbTogTmdEb2NUb2NJdGVtIHwgdW5kZWZpbmVkID0gdGhpcy50YWJsZU9mQ29udGVudC5maW5kKChpdGVtOiBOZ0RvY1RvY0l0ZW0pID0+XG5cdFx0XHRcdFx0XHRpdGVtLnBhdGguaW5jbHVkZXMoZXZlbnQucm91dGVyRXZlbnQudXJsKSxcblx0XHRcdFx0XHQpO1xuXG5cdFx0XHRcdFx0aWYgKGl0ZW0pIHtcblx0XHRcdFx0XHRcdHJldHVybiBpdGVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0fSksXG5cdFx0XHRmaWx0ZXIoaXNQcmVzZW50KSxcblx0XHRcdGRlYm91bmNlVGltZSgyMCksXG5cdFx0KTtcblxuXHRcdGNvbnN0IGVsZW1lbnRzQ2hhbmdlcyA9IHRoaXMuZWxlbWVudHMuY2hhbmdlcy5waXBlKFxuXHRcdFx0bWFwKCgpID0+IHRoaXMuYWN0aXZlSXRlbSksXG5cdFx0XHRmaWx0ZXIoaXNQcmVzZW50KSxcblx0XHQpO1xuXG5cdFx0bWVyZ2UobWVyZ2Uoc2Nyb2xsU2VsZWN0aW9uLCByb3V0ZXJTZWxlY3Rpb24pLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSksIGVsZW1lbnRzQ2hhbmdlcylcblx0XHRcdC5waXBlKG5nRG9jWm9uZU9wdGltaXplKHRoaXMubmdab25lKSwgdW50aWxEZXN0cm95ZWQodGhpcykpXG5cdFx0XHQuc3Vic2NyaWJlKHRoaXMuc2VsZWN0LmJpbmQodGhpcykpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNlbGVjdHMgdGhlIGl0ZW0gaW4gdGhlIHRhYmxlIG9mIGNvbnRlbnQuXG5cdCAqXG5cdCAqIEBwYXJhbSBpdGVtIC0gSXRlbSB0byBzZWxlY3QuXG5cdCAqL1xuXHRwcm90ZWN0ZWQgc2VsZWN0KGl0ZW06IE5nRG9jVG9jSXRlbSk6IHZvaWQge1xuXHRcdGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLnRhYmxlT2ZDb250ZW50LmluZGV4T2YoaXRlbSk7XG5cblx0XHRpZiAodGhpcy5zZWxlY3Rpb24pIHtcblx0XHRcdGNvbnN0IGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkID1cblx0XHRcdFx0dGhpcy5lbGVtZW50cy50b0FycmF5KClbaW5kZXhdPy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cblx0XHRcdGlmIChlbGVtZW50KSB7XG5cdFx0XHRcdHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5zZWxlY3Rpb24ubmF0aXZlRWxlbWVudCwgJ3RvcCcsIGAke2VsZW1lbnQub2Zmc2V0VG9wfXB4YCk7XG5cdFx0XHRcdHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5zZWxlY3Rpb24ubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke2VsZW1lbnQub2Zmc2V0SGVpZ2h0fXB4YCk7XG5cblx0XHRcdFx0ZWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0dGhpcy5hY3RpdmVJdGVtID0gaXRlbTtcblx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblx0fVxufVxuIiwiPG5nLXRlbXBsYXRlXG5cdFtuZ0RvY01lZGlhUXVlcnldPVwiW21lZGlhUXVlcnkuYnJlYWtwb2ludHMuTGFyZ2UsIG1lZGlhUXVlcnkuYnJlYWtwb2ludHMuWExhcmdlXVwiXG5cdCNtZWRpYVF1ZXJ5PVwibmdEb2NNZWRpYVF1ZXJ5XCI+XG5cdDxkaXYgY2xhc3M9XCJuZy1kb2MtdG9jLXdyYXBwZXJcIj5cblx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLXRvYy1jb250YWluZXJcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJuZy1kb2MtdG9jLXNlbGVjdGlvblwiICNzZWxlY3Rpb24+PC9kaXY+XG5cdFx0XHQ8dWwgY2xhc3M9XCJuZy1kb2MtdG9jXCI+XG5cdFx0XHRcdDxsaVxuXHRcdFx0XHRcdCpuZ0Zvcj1cImxldCBpdGVtIG9mIHRhYmxlT2ZDb250ZW50XCJcblx0XHRcdFx0XHRuZy1kb2MtdG9jLWVsZW1lbnRcblx0XHRcdFx0XHRbaHJlZl09XCJpdGVtLnBhdGhcIlxuXHRcdFx0XHRcdFtsZXZlbF09XCJpdGVtLmxldmVsXCJcblx0XHRcdFx0XHRbc2VsZWN0ZWRdPVwiaXRlbSA9PT0gYWN0aXZlSXRlbVwiPlxuXHRcdFx0XHRcdHt7IGl0ZW0udGl0bGUgfX1cblx0XHRcdFx0PC9saT5cblx0XHRcdDwvdWw+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9jLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvdG9jL3RvYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3RvYy90b2MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUVOLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFtQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQVd4RSxJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjtJQUF2QjtRQUVOLG1CQUFjLEdBQW1CLEVBQUUsQ0FBQztRQU1wQyxhQUFRLEdBQXdDLElBQUksU0FBUyxF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RUFBRSxDQUFDO0lBQ3hDLENBQUM7OEdBN0ZXLGlCQUFpQjtrR0FBakIsaUJBQWlCLHVNQUlHLFVBQVUsMkNBRzVCLHdCQUF3QixnREN6Q3ZDLG9tQkFtQkEsK3hCRFlXLEtBQUssbUhBQUUsd0JBQXdCLDBHQUFFLHdCQUF3Qjs7QUFHdkQsaUJBQWlCO0lBRDdCLFlBQVksRUFBRTtHQUNGLGlCQUFpQixDQThGN0I7OzJGQTlGWSxpQkFBaUI7a0JBVDdCLFNBQVM7K0JBQ0MsWUFBWSxtQkFHTCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLEtBQUssRUFBRSx3QkFBd0IsRUFBRSx3QkFBd0IsQ0FBQzs4QkFLcEUsY0FBYztzQkFEYixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUk1QyxRQUFRO3NCQURQLFlBQVk7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQsIE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdEFmdGVyVmlld0luaXQsXG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDaGFuZ2VEZXRlY3RvclJlZixcblx0Q29tcG9uZW50LFxuXHRFbGVtZW50UmVmLFxuXHRpbmplY3QsXG5cdElucHV0LFxuXHROZ1pvbmUsXG5cdFF1ZXJ5TGlzdCxcblx0UmVuZGVyZXIyLFxuXHRWaWV3Q2hpbGQsXG5cdFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdmVudCBhcyBSRXZlbnQsIFJvdXRlciwgU2Nyb2xsIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5nRG9jUGFnZVRvYywgTmdEb2NUb2NJdGVtIH0gZnJvbSAnQG5nLWRvYy9hcHAvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBpc1ByZXNlbnQgfSBmcm9tICdAbmctZG9jL2NvcmUvaGVscGVycy9pcy1wcmVzZW50JztcbmltcG9ydCB7IE5nRG9jTWVkaWFRdWVyeURpcmVjdGl2ZSwgbmdEb2Nab25lT3B0aW1pemUgfSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE5nRG9jVG9jRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vdG9jLWVsZW1lbnQvdG9jLWVsZW1lbnQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLXRvYycsXG5cdHRlbXBsYXRlVXJsOiAnLi90b2MuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi90b2MuY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtOZ0ZvciwgTmdEb2NUb2NFbGVtZW50Q29tcG9uZW50LCBOZ0RvY01lZGlhUXVlcnlEaXJlY3RpdmVdLFxufSlcbkBVbnRpbERlc3Ryb3koKVxuZXhwb3J0IGNsYXNzIE5nRG9jVG9jQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgTmdEb2NQYWdlVG9jIHtcblx0QElucHV0KClcblx0dGFibGVPZkNvbnRlbnQ6IE5nRG9jVG9jSXRlbVtdID0gW107XG5cblx0QFZpZXdDaGlsZCgnc2VsZWN0aW9uJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG5cdHNlbGVjdGlvbj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG5cdEBWaWV3Q2hpbGRyZW4oTmdEb2NUb2NFbGVtZW50Q29tcG9uZW50KVxuXHRlbGVtZW50czogUXVlcnlMaXN0PE5nRG9jVG9jRWxlbWVudENvbXBvbmVudD4gPSBuZXcgUXVlcnlMaXN0PE5nRG9jVG9jRWxlbWVudENvbXBvbmVudD4oKTtcblxuXHRhY3RpdmVJdGVtPzogTmdEb2NUb2NJdGVtO1xuXG5cdHByb3RlY3RlZCByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cdHByb3RlY3RlZCByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cdHByb3RlY3RlZCByZWFkb25seSByb3V0ZXI6IFJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHRjb25zdCBzY3JvbGxTZWxlY3Rpb246IE9ic2VydmFibGU8TmdEb2NUb2NJdGVtPiA9IGZyb21FdmVudCh0aGlzLmRvY3VtZW50LCAnc2Nyb2xsJykucGlwZShcblx0XHRcdGZpbHRlcigoKSA9PiAhIXRoaXMudGFibGVPZkNvbnRlbnQubGVuZ3RoKSxcblx0XHRcdG1hcCgoZXZlbnQ6IEV2ZW50KSA9PiAoZXZlbnQudGFyZ2V0IGFzIERvY3VtZW50KS5zY3JvbGxpbmdFbGVtZW50IGFzIEhUTUxFbGVtZW50KSxcblx0XHRcdHN0YXJ0V2l0aCh0aGlzLmRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLFxuXHRcdFx0bWFwKCh0YXJnZXQ6IEhUTUxFbGVtZW50KSA9PiB7XG5cdFx0XHRcdGNvbnN0IHBlcmNlbnRhZ2U6IG51bWJlciA9XG5cdFx0XHRcdFx0KHRhcmdldC5zY3JvbGxUb3AgKiAxMDApIC8gKHRhcmdldC5zY3JvbGxIZWlnaHQgLSB0YXJnZXQub2Zmc2V0SGVpZ2h0KTtcblx0XHRcdFx0Y29uc3Qgc2VsZWN0aW9uTGluZTogbnVtYmVyID0gdGFyZ2V0LnNjcm9sbFRvcCArICh0YXJnZXQub2Zmc2V0SGVpZ2h0ICogcGVyY2VudGFnZSkgLyAxMDA7XG5cblx0XHRcdFx0aWYgKCF0aGlzLnRhYmxlT2ZDb250ZW50Lmxlbmd0aCkge1xuXHRcdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cmV0dXJuIHRoaXMudGFibGVPZkNvbnRlbnQucmVkdWNlKChwVGFyZ2V0OiBOZ0RvY1RvY0l0ZW0sIGNUYXJnZXQ6IE5nRG9jVG9jSXRlbSkgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IHBUb3A6IG51bWJlciA9IHBUYXJnZXQuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB0YXJnZXQuc2Nyb2xsVG9wO1xuXHRcdFx0XHRcdGNvbnN0IGNUb3A6IG51bWJlciA9IGNUYXJnZXQuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB0YXJnZXQuc2Nyb2xsVG9wO1xuXG5cdFx0XHRcdFx0cmV0dXJuIE1hdGguYWJzKGNUb3AgLSBzZWxlY3Rpb25MaW5lKSA8IE1hdGguYWJzKHBUb3AgLSBzZWxlY3Rpb25MaW5lKVxuXHRcdFx0XHRcdFx0PyBjVGFyZ2V0XG5cdFx0XHRcdFx0XHQ6IHBUYXJnZXQ7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSksXG5cdFx0XHRmaWx0ZXIoaXNQcmVzZW50KSxcblx0XHQpO1xuXG5cdFx0Y29uc3Qgcm91dGVyU2VsZWN0aW9uOiBPYnNlcnZhYmxlPE5nRG9jVG9jSXRlbT4gPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcblx0XHRcdG1hcCgoZXZlbnQ6IFJFdmVudCkgPT4ge1xuXHRcdFx0XHRpZiAoZXZlbnQgaW5zdGFuY2VvZiBTY3JvbGwpIHtcblx0XHRcdFx0XHRjb25zdCBpdGVtOiBOZ0RvY1RvY0l0ZW0gfCB1bmRlZmluZWQgPSB0aGlzLnRhYmxlT2ZDb250ZW50LmZpbmQoKGl0ZW06IE5nRG9jVG9jSXRlbSkgPT5cblx0XHRcdFx0XHRcdGl0ZW0ucGF0aC5pbmNsdWRlcyhldmVudC5yb3V0ZXJFdmVudC51cmwpLFxuXHRcdFx0XHRcdCk7XG5cblx0XHRcdFx0XHRpZiAoaXRlbSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIGl0ZW07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0XHR9KSxcblx0XHRcdGZpbHRlcihpc1ByZXNlbnQpLFxuXHRcdFx0ZGVib3VuY2VUaW1lKDIwKSxcblx0XHQpO1xuXG5cdFx0Y29uc3QgZWxlbWVudHNDaGFuZ2VzID0gdGhpcy5lbGVtZW50cy5jaGFuZ2VzLnBpcGUoXG5cdFx0XHRtYXAoKCkgPT4gdGhpcy5hY3RpdmVJdGVtKSxcblx0XHRcdGZpbHRlcihpc1ByZXNlbnQpLFxuXHRcdCk7XG5cblx0XHRtZXJnZShtZXJnZShzY3JvbGxTZWxlY3Rpb24sIHJvdXRlclNlbGVjdGlvbikucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKSwgZWxlbWVudHNDaGFuZ2VzKVxuXHRcdFx0LnBpcGUobmdEb2Nab25lT3B0aW1pemUodGhpcy5uZ1pvbmUpLCB1bnRpbERlc3Ryb3llZCh0aGlzKSlcblx0XHRcdC5zdWJzY3JpYmUodGhpcy5zZWxlY3QuYmluZCh0aGlzKSk7XG5cdH1cblxuXHQvKipcblx0ICogU2VsZWN0cyB0aGUgaXRlbSBpbiB0aGUgdGFibGUgb2YgY29udGVudC5cblx0ICogQHBhcmFtIGl0ZW0gLSBJdGVtIHRvIHNlbGVjdC5cblx0ICovXG5cdHByb3RlY3RlZCBzZWxlY3QoaXRlbTogTmdEb2NUb2NJdGVtKTogdm9pZCB7XG5cdFx0Y29uc3QgaW5kZXg6IG51bWJlciA9IHRoaXMudGFibGVPZkNvbnRlbnQuaW5kZXhPZihpdGVtKTtcblxuXHRcdGlmICh0aGlzLnNlbGVjdGlvbikge1xuXHRcdFx0Y29uc3QgZWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgPVxuXHRcdFx0XHR0aGlzLmVsZW1lbnRzLnRvQXJyYXkoKVtpbmRleF0/LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuXHRcdFx0aWYgKGVsZW1lbnQpIHtcblx0XHRcdFx0dGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnNlbGVjdGlvbi5uYXRpdmVFbGVtZW50LCAndG9wJywgYCR7ZWxlbWVudC5vZmZzZXRUb3B9cHhgKTtcblx0XHRcdFx0dGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnNlbGVjdGlvbi5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7ZWxlbWVudC5vZmZzZXRIZWlnaHR9cHhgKTtcblxuXHRcdFx0XHRlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JyB9KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHR0aGlzLmFjdGl2ZUl0ZW0gPSBpdGVtO1xuXHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXHR9XG59XG4iLCI8bmctdGVtcGxhdGVcblx0W25nRG9jTWVkaWFRdWVyeV09XCJbbWVkaWFRdWVyeS5icmVha3BvaW50cy5MYXJnZSwgbWVkaWFRdWVyeS5icmVha3BvaW50cy5YTGFyZ2VdXCJcblx0I21lZGlhUXVlcnk9XCJuZ0RvY01lZGlhUXVlcnlcIj5cblx0PGRpdiBjbGFzcz1cIm5nLWRvYy10b2Mtd3JhcHBlclwiPlxuXHRcdDxkaXYgY2xhc3M9XCJuZy1kb2MtdG9jLWNvbnRhaW5lclwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cIm5nLWRvYy10b2Mtc2VsZWN0aW9uXCIgI3NlbGVjdGlvbj48L2Rpdj5cblx0XHRcdDx1bCBjbGFzcz1cIm5nLWRvYy10b2NcIj5cblx0XHRcdFx0PGxpXG5cdFx0XHRcdFx0Km5nRm9yPVwibGV0IGl0ZW0gb2YgdGFibGVPZkNvbnRlbnRcIlxuXHRcdFx0XHRcdG5nLWRvYy10b2MtZWxlbWVudFxuXHRcdFx0XHRcdFtocmVmXT1cIml0ZW0ucGF0aFwiXG5cdFx0XHRcdFx0W2xldmVsXT1cIml0ZW0ubGV2ZWxcIlxuXHRcdFx0XHRcdFtzZWxlY3RlZF09XCJpdGVtID09PSBhY3RpdmVJdGVtXCI+XG5cdFx0XHRcdFx0e3sgaXRlbS50aXRsZSB9fVxuXHRcdFx0XHQ8L2xpPlxuXHRcdFx0PC91bD5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,7 +1,6 @@
1
1
  import { asArray } from '@ng-doc/core/helpers/as-array';
2
2
  /**
3
3
  * Generate table of contents, only for headings with id
4
- *
5
4
  * @param container
6
5
  * @param headings
7
6
  */
@@ -30,4 +29,4 @@ export function generateToc(container) {
30
29
  function levelFromTagName(heading) {
31
30
  return Number(heading.tagName.toLowerCase().replace(/[a-z]*/g, '') || 1);
32
31
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtdG9jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvaGVscGVycy9nZW5lcmF0ZS10b2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR3hEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxTQUFzQjtJQUNqRCxNQUFNLFFBQVEsR0FBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRXRFLE1BQU0sZUFBZSxHQUF5QixLQUFLLENBQUMsSUFBSSxDQUN2RCxTQUFTLENBQUMsZ0JBQWdCLENBQXFCLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDbkUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUEyQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFdEQsTUFBTSxNQUFNLEdBQWEsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFeEYsT0FBTyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBbUIsRUFBRSxPQUEyQixFQUFFLEVBQUU7UUFDbEYsTUFBTSxZQUFZLEdBQVcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkQsTUFBTSxNQUFNLEdBQ1gsT0FBTyxDQUFDLGFBQWEsQ0FBb0Isc0JBQXNCLENBQUMsQ0FBQztRQUVsRSxJQUFJLE1BQU0sRUFBRTtZQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQ1IsS0FBSyxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTtnQkFDeEMsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLElBQUksRUFBRSxNQUFNLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJO2dCQUNuQyxLQUFLLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDO2FBQ3ZDLENBQUMsQ0FBQztTQUNIO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDWixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDUixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxnQkFBZ0IsQ0FBQyxPQUEyQjtJQUNwRCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDMUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRG9jVG9jSXRlbSB9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgYXNBcnJheSB9IGZyb20gJ0BuZy1kb2MvY29yZS9oZWxwZXJzL2FzLWFycmF5JztcbmltcG9ydCB7IE5nRG9jSGVhZGluZyB9IGZyb20gJ0BuZy1kb2MvY29yZS90eXBlcyc7XG5cbi8qKlxuICogR2VuZXJhdGUgdGFibGUgb2YgY29udGVudHMsIG9ubHkgZm9yIGhlYWRpbmdzIHdpdGggaWRcbiAqXG4gKiBAcGFyYW0gY29udGFpbmVyXG4gKiBAcGFyYW0gaGVhZGluZ3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlVG9jKGNvbnRhaW5lcjogSFRNTEVsZW1lbnQpOiBOZ0RvY1RvY0l0ZW1bXSB7XG5cdGNvbnN0IGhlYWRpbmdzOiBOZ0RvY0hlYWRpbmdbXSA9IFsnaDEnLCAnaDInLCAnaDMnLCAnaDQnLCAnaDUnLCAnaDYnXTtcblxuXHRjb25zdCBoZWFkaW5nRWxlbWVudHM6IEhUTUxIZWFkaW5nRWxlbWVudFtdID0gQXJyYXkuZnJvbShcblx0XHRjb250YWluZXIucXVlcnlTZWxlY3RvckFsbDxIVE1MSGVhZGluZ0VsZW1lbnQ+KGhlYWRpbmdzLmpvaW4oJywgJykpLFxuXHQpLmZpbHRlcigoaGVhZGluZzogSFRNTEhlYWRpbmdFbGVtZW50KSA9PiBoZWFkaW5nLmlkKTtcblxuXHRjb25zdCBsZXZlbHM6IG51bWJlcltdID0gYXNBcnJheShuZXcgU2V0KGhlYWRpbmdFbGVtZW50cy5tYXAobGV2ZWxGcm9tVGFnTmFtZSkuc29ydCgpKSk7XG5cblx0cmV0dXJuIGhlYWRpbmdFbGVtZW50cy5yZWR1Y2UoKG1hcDogTmdEb2NUb2NJdGVtW10sIGhlYWRpbmc6IEhUTUxIZWFkaW5nRWxlbWVudCkgPT4ge1xuXHRcdGNvbnN0IGhlYWRpbmdMZXZlbDogbnVtYmVyID0gbGV2ZWxGcm9tVGFnTmFtZShoZWFkaW5nKTtcblx0XHRjb25zdCBhbmNob3I6IEhUTUxBbmNob3JFbGVtZW50IHwgbnVsbCA9XG5cdFx0XHRoZWFkaW5nLnF1ZXJ5U2VsZWN0b3I8SFRNTEFuY2hvckVsZW1lbnQ+KCdhLm5nLWRvYy1oZWFkZXItbGluaycpO1xuXG5cdFx0aWYgKGFuY2hvcikge1xuXHRcdFx0bWFwLnB1c2goe1xuXHRcdFx0XHR0aXRsZTogaGVhZGluZy50ZXh0Q29udGVudD8udHJpbSgpID8/ICcnLFxuXHRcdFx0XHRlbGVtZW50OiBoZWFkaW5nLFxuXHRcdFx0XHRwYXRoOiBhbmNob3IucGF0aG5hbWUgKyBhbmNob3IuaGFzaCxcblx0XHRcdFx0bGV2ZWw6IGxldmVscy5pbmRleE9mKGhlYWRpbmdMZXZlbCkgKyAxLFxuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG1hcDtcblx0fSwgW10pO1xufVxuXG4vKipcbiAqXG4gKiBAcGFyYW0gaGVhZGluZ1xuICovXG5mdW5jdGlvbiBsZXZlbEZyb21UYWdOYW1lKGhlYWRpbmc6IEhUTUxIZWFkaW5nRWxlbWVudCk6IG51bWJlciB7XG5cdHJldHVybiBOdW1iZXIoaGVhZGluZy50YWdOYW1lLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvW2Etel0qL2csICcnKSB8fCAxKTtcbn1cbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtdG9jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvaGVscGVycy9nZW5lcmF0ZS10b2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR3hEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLFNBQXNCO0lBQ2pELE1BQU0sUUFBUSxHQUFtQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFdEUsTUFBTSxlQUFlLEdBQXlCLEtBQUssQ0FBQyxJQUFJLENBQ3ZELFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBcUIsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNuRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQTJCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUV0RCxNQUFNLE1BQU0sR0FBYSxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUV4RixPQUFPLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFtQixFQUFFLE9BQTJCLEVBQUUsRUFBRTtRQUNsRixNQUFNLFlBQVksR0FBVyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RCxNQUFNLE1BQU0sR0FDWCxPQUFPLENBQUMsYUFBYSxDQUFvQixzQkFBc0IsQ0FBQyxDQUFDO1FBRWxFLElBQUksTUFBTSxFQUFFO1lBQ1gsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDUixLQUFLLEVBQUUsT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO2dCQUN4QyxPQUFPLEVBQUUsT0FBTztnQkFDaEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUk7Z0JBQ25DLEtBQUssRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUM7YUFDdkMsQ0FBQyxDQUFDO1NBQ0g7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNaLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNSLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFTLGdCQUFnQixDQUFDLE9BQTJCO0lBQ3BELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUMxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdEb2NUb2NJdGVtIH0gZnJvbSAnQG5nLWRvYy9hcHAvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBhc0FycmF5IH0gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvYXMtYXJyYXknO1xuaW1wb3J0IHsgTmdEb2NIZWFkaW5nIH0gZnJvbSAnQG5nLWRvYy9jb3JlL3R5cGVzJztcblxuLyoqXG4gKiBHZW5lcmF0ZSB0YWJsZSBvZiBjb250ZW50cywgb25seSBmb3IgaGVhZGluZ3Mgd2l0aCBpZFxuICogQHBhcmFtIGNvbnRhaW5lclxuICogQHBhcmFtIGhlYWRpbmdzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVRvYyhjb250YWluZXI6IEhUTUxFbGVtZW50KTogTmdEb2NUb2NJdGVtW10ge1xuXHRjb25zdCBoZWFkaW5nczogTmdEb2NIZWFkaW5nW10gPSBbJ2gxJywgJ2gyJywgJ2gzJywgJ2g0JywgJ2g1JywgJ2g2J107XG5cblx0Y29uc3QgaGVhZGluZ0VsZW1lbnRzOiBIVE1MSGVhZGluZ0VsZW1lbnRbXSA9IEFycmF5LmZyb20oXG5cdFx0Y29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEhlYWRpbmdFbGVtZW50PihoZWFkaW5ncy5qb2luKCcsICcpKSxcblx0KS5maWx0ZXIoKGhlYWRpbmc6IEhUTUxIZWFkaW5nRWxlbWVudCkgPT4gaGVhZGluZy5pZCk7XG5cblx0Y29uc3QgbGV2ZWxzOiBudW1iZXJbXSA9IGFzQXJyYXkobmV3IFNldChoZWFkaW5nRWxlbWVudHMubWFwKGxldmVsRnJvbVRhZ05hbWUpLnNvcnQoKSkpO1xuXG5cdHJldHVybiBoZWFkaW5nRWxlbWVudHMucmVkdWNlKChtYXA6IE5nRG9jVG9jSXRlbVtdLCBoZWFkaW5nOiBIVE1MSGVhZGluZ0VsZW1lbnQpID0+IHtcblx0XHRjb25zdCBoZWFkaW5nTGV2ZWw6IG51bWJlciA9IGxldmVsRnJvbVRhZ05hbWUoaGVhZGluZyk7XG5cdFx0Y29uc3QgYW5jaG9yOiBIVE1MQW5jaG9yRWxlbWVudCB8IG51bGwgPVxuXHRcdFx0aGVhZGluZy5xdWVyeVNlbGVjdG9yPEhUTUxBbmNob3JFbGVtZW50PignYS5uZy1kb2MtaGVhZGVyLWxpbmsnKTtcblxuXHRcdGlmIChhbmNob3IpIHtcblx0XHRcdG1hcC5wdXNoKHtcblx0XHRcdFx0dGl0bGU6IGhlYWRpbmcudGV4dENvbnRlbnQ/LnRyaW0oKSA/PyAnJyxcblx0XHRcdFx0ZWxlbWVudDogaGVhZGluZyxcblx0XHRcdFx0cGF0aDogYW5jaG9yLnBhdGhuYW1lICsgYW5jaG9yLmhhc2gsXG5cdFx0XHRcdGxldmVsOiBsZXZlbHMuaW5kZXhPZihoZWFkaW5nTGV2ZWwpICsgMSxcblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdHJldHVybiBtYXA7XG5cdH0sIFtdKTtcbn1cblxuLyoqXG4gKlxuICogQHBhcmFtIGhlYWRpbmdcbiAqL1xuZnVuY3Rpb24gbGV2ZWxGcm9tVGFnTmFtZShoZWFkaW5nOiBIVE1MSGVhZGluZ0VsZW1lbnQpOiBudW1iZXIge1xuXHRyZXR1cm4gTnVtYmVyKGhlYWRpbmcudGFnTmFtZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1thLXpdKi9nLCAnJykgfHwgMSk7XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9pbnRlcmZhY2VzL3BhZ2UtcHJvY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5nRG9jUHJvY2Vzc29yT3B0aW9ucyB9IGZyb20gJy4vcHJvY2Vzc29yLW9wdGlvbnMnO1xuXG4vKipcbiAqIEludGVyZmFjZSB0byBjcmVhdGUgYSBwcm9jZXNzb3IgdGhhdCB3aWxsIGJlIHVzZWQgdG8gcmVwbGFjZSBodG1sIG5vZGVzIHdpdGggYW4gQW5ndWxhciBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmdEb2NQYWdlUHJvY2Vzc29yPFQgPSB1bmtub3duPiB7XG5cdC8qKlxuXHQgKiBUYXJnZXQgY29tcG9uZW50IHRvIHJlcGxhY2UgaHRtbCBub2RlcyB3aXRoLlxuXHQgKi9cblx0Y29tcG9uZW50OiBUeXBlPFQ+O1xuXHQvKipcblx0ICogU2VsZWN0b3IgdG8gZmluZCBodG1sIG5vZGVzIHRvIHJlcGxhY2UuXG5cdCAqL1xuXHRzZWxlY3Rvcjogc3RyaW5nO1xuXHQvKipcblx0ICogRXh0cmFjdCBvcHRpb25zIGZvciBBbmd1bGFyIGNvbXBvbmVudCBmcm9tIGh0bWwgbm9kZS5cblx0ICpcblx0ICogQHBhcmFtIGVsZW1lbnQgLSBIdG1sIG5vZGUgdG8gZXh0cmFjdCBvcHRpb25zIGZyb20uXG5cdCAqIEBwYXJhbSByb290IC0gUm9vdCBodG1sIG5vZGUuXG5cdCAqL1xuXHRleHRyYWN0T3B0aW9uczogKGVsZW1lbnQ6IEVsZW1lbnQsIHJvb3Q6IEhUTUxFbGVtZW50KSA9PiBOZ0RvY1Byb2Nlc3Nvck9wdGlvbnM8VD47XG5cdC8qKlxuXHQgKiBDYW4gYmUgdXNlZCB0byBmaW5kIGEgbm9kZSB0byByZXBsYWNlIGluc3RlYWQgb2YgdGhlIG5vZGUgdGhhdCB3YXMgZm91bmQgYnkgc2VsZWN0b3IuXG5cdCAqXG5cdCAqIEBwYXJhbSBlbGVtZW50IC0gSHRtbCBub2RlIHRvIHJlcGxhY2UuXG5cdCAqL1xuXHRub2RlVG9SZXBsYWNlPzogKGVsZW1lbnQ6IEVsZW1lbnQpID0+IEVsZW1lbnQ7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9pbnRlcmZhY2VzL3BhZ2UtcHJvY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5nRG9jUHJvY2Vzc29yT3B0aW9ucyB9IGZyb20gJy4vcHJvY2Vzc29yLW9wdGlvbnMnO1xuXG4vKipcbiAqIEludGVyZmFjZSB0byBjcmVhdGUgYSBwcm9jZXNzb3IgdGhhdCB3aWxsIGJlIHVzZWQgdG8gcmVwbGFjZSBodG1sIG5vZGVzIHdpdGggYW4gQW5ndWxhciBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmdEb2NQYWdlUHJvY2Vzc29yPFQgPSB1bmtub3duPiB7XG5cdC8qKlxuXHQgKiBUYXJnZXQgY29tcG9uZW50IHRvIHJlcGxhY2UgaHRtbCBub2RlcyB3aXRoLlxuXHQgKi9cblx0Y29tcG9uZW50OiBUeXBlPFQ+O1xuXHQvKipcblx0ICogU2VsZWN0b3IgdG8gZmluZCBodG1sIG5vZGVzIHRvIHJlcGxhY2UuXG5cdCAqL1xuXHRzZWxlY3Rvcjogc3RyaW5nO1xuXHQvKipcblx0ICogRXh0cmFjdCBvcHRpb25zIGZvciBBbmd1bGFyIGNvbXBvbmVudCBmcm9tIGh0bWwgbm9kZS5cblx0ICogQHBhcmFtIGVsZW1lbnQgLSBIdG1sIG5vZGUgdG8gZXh0cmFjdCBvcHRpb25zIGZyb20uXG5cdCAqIEBwYXJhbSByb290IC0gUm9vdCBodG1sIG5vZGUuXG5cdCAqL1xuXHRleHRyYWN0T3B0aW9uczogKGVsZW1lbnQ6IEVsZW1lbnQsIHJvb3Q6IEhUTUxFbGVtZW50KSA9PiBOZ0RvY1Byb2Nlc3Nvck9wdGlvbnM8VD47XG5cdC8qKlxuXHQgKiBDYW4gYmUgdXNlZCB0byBmaW5kIGEgbm9kZSB0byByZXBsYWNlIGluc3RlYWQgb2YgdGhlIG5vZGUgdGhhdCB3YXMgZm91bmQgYnkgc2VsZWN0b3IuXG5cdCAqIEBwYXJhbSBlbGVtZW50IC0gSHRtbCBub2RlIHRvIHJlcGxhY2UuXG5cdCAqL1xuXHRub2RlVG9SZXBsYWNlPzogKGVsZW1lbnQ6IEVsZW1lbnQpID0+IEVsZW1lbnQ7XG59XG4iXX0=
@@ -7,7 +7,6 @@ import { asArray } from '@ng-doc/core';
7
7
  import { provideNgDocUiKitConfig } from '@ng-doc/ui-kit';
8
8
  /**
9
9
  * Provides the NgDoc application configuration.
10
- *
11
10
  * @param config - The optional application configuration.
12
11
  */
13
12
  export function provideNgDocApp(config) {
@@ -54,4 +53,4 @@ export function provideNgDocApp(config) {
54
53
  ...provideNgDocUiKitConfig(config?.uiKit),
55
54
  ];
56
55
  }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1uZy1kb2MtYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvcHJvdmlkZXJzL25nLWRvYy1hcHAvcHJvdmlkZS1uZy1kb2MtYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRW5GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQXVCeEU7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsTUFBK0I7SUFDOUQsT0FBTztRQUNOLG9CQUFvQjtRQUNwQixFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7UUFDcEUsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdEQsT0FBTyxFQUFFLFlBQVk7WUFDckIsUUFBUSxFQUFFLEtBQUs7WUFDZixLQUFLLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztRQUNILEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUQsT0FBTyxFQUFFLHVCQUF1QjtZQUNoQyxRQUFRLEVBQUUsT0FBTztTQUNqQixDQUFDLENBQUM7UUFFSCw4QkFBOEI7UUFDOUI7WUFDQyxPQUFPLEVBQUUsZUFBZTtZQUN4QixVQUFVLEVBQUUsQ0FDWCxZQUErQixFQUMvQixLQUF3QixFQUN4QixjQUErQixFQUM5QixFQUFFO2dCQUNILE9BQU8sR0FBRyxFQUFFO29CQUNYLE1BQU0sWUFBWSxHQUFrQixLQUFLLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7b0JBRXRFLElBQ0MsQ0FBQyxjQUFjLEtBQUssTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDO3dCQUM1QyxZQUFZLEtBQUssaUJBQWlCLENBQUMsV0FBVyxFQUM3Qzt3QkFDRCxPQUFPLFlBQVksQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLGtCQUFrQixDQUFDLENBQUM7cUJBQ25FO3lCQUFNO3dCQUNOLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO3FCQUMvRDtnQkFDRixDQUFDLENBQUM7WUFDSCxDQUFDO1lBQ0QsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztTQUN2RjtRQUVELCtCQUErQjtRQUMvQjtZQUNDLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLEtBQUssRUFBRSxJQUFJO1lBQ1gsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7WUFDeEIsVUFBVSxFQUFFLENBQUMsZ0JBQWtDLEVBQUUsRUFBRTtnQkFDbEQsT0FBTyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNsRCxDQUFDO1NBQ0Q7UUFFRCxtQkFBbUI7UUFDbkIsR0FBRyx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDO0tBQ3pDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlld3BvcnRTY3JvbGxlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIE9wdGlvbmFsLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfRE9DX05JR0hUX1RIRU1FLCBOR19ET0NfU1RPUkVfVEhFTUVfS0VZIH0gZnJvbSAnQG5nLWRvYy9hcHAvY29uc3RhbnRzJztcbmltcG9ydCB7IE5nRG9jVGhlbWUgfSBmcm9tICdAbmctZG9jL2FwcC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5nRG9jU3RvcmVTZXJ2aWNlLCBOZ0RvY1RoZW1lU2VydmljZSB9IGZyb20gJ0BuZy1kb2MvYXBwL3NlcnZpY2VzJztcbmltcG9ydCB7IE5HX0RPQ19ERUZBVUxUX1RIRU1FX0lELCBOR19ET0NfVEhFTUUgfSBmcm9tICdAbmctZG9jL2FwcC90b2tlbnMnO1xuaW1wb3J0IHsgYXNBcnJheSB9IGZyb20gJ0BuZy1kb2MvY29yZSc7XG5pbXBvcnQgeyBOZ0RvY1VpQ29uZmlnLCBwcm92aWRlTmdEb2NVaUtpdENvbmZpZyB9IGZyb20gJ0BuZy1kb2MvdWkta2l0JztcblxuLyoqXG4gKiBOZ0RvYyBhcHBsaWNhdGlvbiBjb25maWcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmdEb2NBcHBsaWNhdGlvbkNvbmZpZyB7XG5cdC8qKlxuXHQgKiBMaXN0IG9mIHRoZW1lcyB0aGF0IHdpbGwgYmUgcmVnaXN0ZXJlZCBpbiB0aGUgYXBwbGljYXRpb24gYW5kIGNhbiBiZSB1c2VkIHZpYSBgTmdEb2NUaGVtZVNlcnZpY2VgLlxuXHQgKi9cblx0dGhlbWVzPzogTmdEb2NUaGVtZVtdO1xuXG5cdC8qKlxuXHQgKiBEZWZhdWx0IHRoZW1lIGlkLlxuXHQgKiBZb3UgY2FuIHVzZSBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBzZWxlY3QgdGhlIHRoZW1lIGJhc2VkIG9uIHRoZSB1c2VyJ3Mgb3BlcmF0aW5nIHN5c3RlbSBzZXR0aW5ncy5cblx0ICovXG5cdGRlZmF1bHRUaGVtZUlkPzogc3RyaW5nIHwgJ2F1dG8nO1xuXG5cdC8qKlxuXHQgKiBVSSBLaXQgY29uZmlndXJhdGlvbi5cblx0ICovXG5cdHVpS2l0PzogTmdEb2NVaUNvbmZpZztcbn1cblxuLyoqXG4gKiBQcm92aWRlcyB0aGUgTmdEb2MgYXBwbGljYXRpb24gY29uZmlndXJhdGlvbi5cbiAqXG4gKiBAcGFyYW0gY29uZmlnIC0gVGhlIG9wdGlvbmFsIGFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTmdEb2NBcHAoY29uZmlnPzogTmdEb2NBcHBsaWNhdGlvbkNvbmZpZyk6IFByb3ZpZGVyW10ge1xuXHRyZXR1cm4gW1xuXHRcdC8qIC0tLSBUaGVtZXMgLS0tICovXG5cdFx0eyBwcm92aWRlOiBOR19ET0NfVEhFTUUsIHVzZVZhbHVlOiBOR19ET0NfTklHSFRfVEhFTUUsIG11bHRpOiB0cnVlIH0sXG5cdFx0Li4uYXNBcnJheShjb25maWc/LnRoZW1lcykubWFwKCh0aGVtZTogTmdEb2NUaGVtZSkgPT4gKHtcblx0XHRcdHByb3ZpZGU6IE5HX0RPQ19USEVNRSxcblx0XHRcdHVzZVZhbHVlOiB0aGVtZSxcblx0XHRcdG11bHRpOiB0cnVlLFxuXHRcdH0pKSxcblx0XHQuLi5hc0FycmF5KGNvbmZpZz8uZGVmYXVsdFRoZW1lSWQpLm1hcCgodGhlbWVJZDogc3RyaW5nKSA9PiAoe1xuXHRcdFx0cHJvdmlkZTogTkdfRE9DX0RFRkFVTFRfVEhFTUVfSUQsXG5cdFx0XHR1c2VWYWx1ZTogdGhlbWVJZCxcblx0XHR9KSksXG5cblx0XHQvKiAtLS0gVGhlbWUgSW5pdGlhbGl6ZXItLS0gKi9cblx0XHR7XG5cdFx0XHRwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG5cdFx0XHR1c2VGYWN0b3J5OiAoXG5cdFx0XHRcdHRoZW1lU2VydmljZTogTmdEb2NUaGVtZVNlcnZpY2UsXG5cdFx0XHRcdHN0b3JlOiBOZ0RvY1N0b3JlU2VydmljZSxcblx0XHRcdFx0ZGVmYXVsdFRoZW1lSWQ6IHN0cmluZyB8ICdhdXRvJyxcblx0XHRcdCkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IHNhdmVkVGhlbWVJZDogc3RyaW5nIHwgbnVsbCA9IHN0b3JlLmdldChOR19ET0NfU1RPUkVfVEhFTUVfS0VZKTtcblxuXHRcdFx0XHRcdGlmIChcblx0XHRcdFx0XHRcdChkZWZhdWx0VGhlbWVJZCA9PT0gJ2F1dG8nICYmICFzYXZlZFRoZW1lSWQpIHx8XG5cdFx0XHRcdFx0XHRzYXZlZFRoZW1lSWQgPT09IE5nRG9jVGhlbWVTZXJ2aWNlLmF1dG9UaGVtZUlkXG5cdFx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhlbWVTZXJ2aWNlLmVuYWJsZUF1dG9UaGVtZSh1bmRlZmluZWQsIE5HX0RPQ19OSUdIVF9USEVNRSk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHJldHVybiB0aGVtZVNlcnZpY2Uuc2V0KHNhdmVkVGhlbWVJZCA/PyBkZWZhdWx0VGhlbWVJZCwgZmFsc2UpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fTtcblx0XHRcdH0sXG5cdFx0XHRtdWx0aTogdHJ1ZSxcblx0XHRcdGRlcHM6IFtOZ0RvY1RoZW1lU2VydmljZSwgTmdEb2NTdG9yZVNlcnZpY2UsIFtuZXcgT3B0aW9uYWwoKSwgTkdfRE9DX0RFRkFVTFRfVEhFTUVfSURdXSxcblx0XHR9LFxuXG5cdFx0LyogLS0tIFZpZXdwb3J0IFNjcm9sbGVyIC0tLSAqL1xuXHRcdHtcblx0XHRcdHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcblx0XHRcdG11bHRpOiB0cnVlLFxuXHRcdFx0ZGVwczogW1ZpZXdwb3J0U2Nyb2xsZXJdLFxuXHRcdFx0dXNlRmFjdG9yeTogKHZpZXdwb3J0U2Nyb2xsZXI6IFZpZXdwb3J0U2Nyb2xsZXIpID0+IHtcblx0XHRcdFx0cmV0dXJuICgpID0+IHZpZXdwb3J0U2Nyb2xsZXIuc2V0T2Zmc2V0KFswLCA2NF0pO1xuXHRcdFx0fSxcblx0XHR9LFxuXG5cdFx0LyogLS0tIFVpS2l0IC0tLSAqL1xuXHRcdC4uLnByb3ZpZGVOZ0RvY1VpS2l0Q29uZmlnKGNvbmZpZz8udWlLaXQpLFxuXHRdO1xufVxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1uZy1kb2MtYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvcHJvdmlkZXJzL25nLWRvYy1hcHAvcHJvdmlkZS1uZy1kb2MtYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRW5GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQXVCeEU7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUErQjtJQUM5RCxPQUFPO1FBQ04sb0JBQW9CO1FBQ3BCLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtRQUNwRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0RCxPQUFPLEVBQUUsWUFBWTtZQUNyQixRQUFRLEVBQUUsS0FBSztZQUNmLEtBQUssRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO1FBQ0gsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1RCxPQUFPLEVBQUUsdUJBQXVCO1lBQ2hDLFFBQVEsRUFBRSxPQUFPO1NBQ2pCLENBQUMsQ0FBQztRQUVILDhCQUE4QjtRQUM5QjtZQUNDLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFVBQVUsRUFBRSxDQUNYLFlBQStCLEVBQy9CLEtBQXdCLEVBQ3hCLGNBQStCLEVBQzlCLEVBQUU7Z0JBQ0gsT0FBTyxHQUFHLEVBQUU7b0JBQ1gsTUFBTSxZQUFZLEdBQWtCLEtBQUssQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztvQkFFdEUsSUFDQyxDQUFDLGNBQWMsS0FBSyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUM7d0JBQzVDLFlBQVksS0FBSyxpQkFBaUIsQ0FBQyxXQUFXLEVBQzdDO3dCQUNELE9BQU8sWUFBWSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztxQkFDbkU7eUJBQU07d0JBQ04sT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7cUJBQy9EO2dCQUNGLENBQUMsQ0FBQztZQUNILENBQUM7WUFDRCxLQUFLLEVBQUUsSUFBSTtZQUNYLElBQUksRUFBRSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1NBQ3ZGO1FBRUQsK0JBQStCO1FBQy9CO1lBQ0MsT0FBTyxFQUFFLGVBQWU7WUFDeEIsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN4QixVQUFVLEVBQUUsQ0FBQyxnQkFBa0MsRUFBRSxFQUFFO2dCQUNsRCxPQUFPLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2xELENBQUM7U0FDRDtRQUVELG1CQUFtQjtRQUNuQixHQUFHLHVCQUF1QixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7S0FDekMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWaWV3cG9ydFNjcm9sbGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgT3B0aW9uYWwsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19ET0NfTklHSFRfVEhFTUUsIE5HX0RPQ19TVE9SRV9USEVNRV9LRVkgfSBmcm9tICdAbmctZG9jL2FwcC9jb25zdGFudHMnO1xuaW1wb3J0IHsgTmdEb2NUaGVtZSB9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTmdEb2NTdG9yZVNlcnZpY2UsIE5nRG9jVGhlbWVTZXJ2aWNlIH0gZnJvbSAnQG5nLWRvYy9hcHAvc2VydmljZXMnO1xuaW1wb3J0IHsgTkdfRE9DX0RFRkFVTFRfVEhFTUVfSUQsIE5HX0RPQ19USEVNRSB9IGZyb20gJ0BuZy1kb2MvYXBwL3Rva2Vucyc7XG5pbXBvcnQgeyBhc0FycmF5IH0gZnJvbSAnQG5nLWRvYy9jb3JlJztcbmltcG9ydCB7IE5nRG9jVWlDb25maWcsIHByb3ZpZGVOZ0RvY1VpS2l0Q29uZmlnIH0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuXG4vKipcbiAqIE5nRG9jIGFwcGxpY2F0aW9uIGNvbmZpZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ0RvY0FwcGxpY2F0aW9uQ29uZmlnIHtcblx0LyoqXG5cdCAqIExpc3Qgb2YgdGhlbWVzIHRoYXQgd2lsbCBiZSByZWdpc3RlcmVkIGluIHRoZSBhcHBsaWNhdGlvbiBhbmQgY2FuIGJlIHVzZWQgdmlhIGBOZ0RvY1RoZW1lU2VydmljZWAuXG5cdCAqL1xuXHR0aGVtZXM/OiBOZ0RvY1RoZW1lW107XG5cblx0LyoqXG5cdCAqIERlZmF1bHQgdGhlbWUgaWQuXG5cdCAqIFlvdSBjYW4gdXNlIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IHNlbGVjdCB0aGUgdGhlbWUgYmFzZWQgb24gdGhlIHVzZXIncyBvcGVyYXRpbmcgc3lzdGVtIHNldHRpbmdzLlxuXHQgKi9cblx0ZGVmYXVsdFRoZW1lSWQ/OiBzdHJpbmcgfCAnYXV0byc7XG5cblx0LyoqXG5cdCAqIFVJIEtpdCBjb25maWd1cmF0aW9uLlxuXHQgKi9cblx0dWlLaXQ/OiBOZ0RvY1VpQ29uZmlnO1xufVxuXG4vKipcbiAqIFByb3ZpZGVzIHRoZSBOZ0RvYyBhcHBsaWNhdGlvbiBjb25maWd1cmF0aW9uLlxuICogQHBhcmFtIGNvbmZpZyAtIFRoZSBvcHRpb25hbCBhcHBsaWNhdGlvbiBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZU5nRG9jQXBwKGNvbmZpZz86IE5nRG9jQXBwbGljYXRpb25Db25maWcpOiBQcm92aWRlcltdIHtcblx0cmV0dXJuIFtcblx0XHQvKiAtLS0gVGhlbWVzIC0tLSAqL1xuXHRcdHsgcHJvdmlkZTogTkdfRE9DX1RIRU1FLCB1c2VWYWx1ZTogTkdfRE9DX05JR0hUX1RIRU1FLCBtdWx0aTogdHJ1ZSB9LFxuXHRcdC4uLmFzQXJyYXkoY29uZmlnPy50aGVtZXMpLm1hcCgodGhlbWU6IE5nRG9jVGhlbWUpID0+ICh7XG5cdFx0XHRwcm92aWRlOiBOR19ET0NfVEhFTUUsXG5cdFx0XHR1c2VWYWx1ZTogdGhlbWUsXG5cdFx0XHRtdWx0aTogdHJ1ZSxcblx0XHR9KSksXG5cdFx0Li4uYXNBcnJheShjb25maWc/LmRlZmF1bHRUaGVtZUlkKS5tYXAoKHRoZW1lSWQ6IHN0cmluZykgPT4gKHtcblx0XHRcdHByb3ZpZGU6IE5HX0RPQ19ERUZBVUxUX1RIRU1FX0lELFxuXHRcdFx0dXNlVmFsdWU6IHRoZW1lSWQsXG5cdFx0fSkpLFxuXG5cdFx0LyogLS0tIFRoZW1lIEluaXRpYWxpemVyLS0tICovXG5cdFx0e1xuXHRcdFx0cHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuXHRcdFx0dXNlRmFjdG9yeTogKFxuXHRcdFx0XHR0aGVtZVNlcnZpY2U6IE5nRG9jVGhlbWVTZXJ2aWNlLFxuXHRcdFx0XHRzdG9yZTogTmdEb2NTdG9yZVNlcnZpY2UsXG5cdFx0XHRcdGRlZmF1bHRUaGVtZUlkOiBzdHJpbmcgfCAnYXV0bycsXG5cdFx0XHQpID0+IHtcblx0XHRcdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdFx0XHRjb25zdCBzYXZlZFRoZW1lSWQ6IHN0cmluZyB8IG51bGwgPSBzdG9yZS5nZXQoTkdfRE9DX1NUT1JFX1RIRU1FX0tFWSk7XG5cblx0XHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0XHQoZGVmYXVsdFRoZW1lSWQgPT09ICdhdXRvJyAmJiAhc2F2ZWRUaGVtZUlkKSB8fFxuXHRcdFx0XHRcdFx0c2F2ZWRUaGVtZUlkID09PSBOZ0RvY1RoZW1lU2VydmljZS5hdXRvVGhlbWVJZFxuXHRcdFx0XHRcdCkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRoZW1lU2VydmljZS5lbmFibGVBdXRvVGhlbWUodW5kZWZpbmVkLCBOR19ET0NfTklHSFRfVEhFTUUpO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhlbWVTZXJ2aWNlLnNldChzYXZlZFRoZW1lSWQgPz8gZGVmYXVsdFRoZW1lSWQsIGZhbHNlKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH07XG5cdFx0XHR9LFxuXHRcdFx0bXVsdGk6IHRydWUsXG5cdFx0XHRkZXBzOiBbTmdEb2NUaGVtZVNlcnZpY2UsIE5nRG9jU3RvcmVTZXJ2aWNlLCBbbmV3IE9wdGlvbmFsKCksIE5HX0RPQ19ERUZBVUxUX1RIRU1FX0lEXV0sXG5cdFx0fSxcblxuXHRcdC8qIC0tLSBWaWV3cG9ydCBTY3JvbGxlciAtLS0gKi9cblx0XHR7XG5cdFx0XHRwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG5cdFx0XHRtdWx0aTogdHJ1ZSxcblx0XHRcdGRlcHM6IFtWaWV3cG9ydFNjcm9sbGVyXSxcblx0XHRcdHVzZUZhY3Rvcnk6ICh2aWV3cG9ydFNjcm9sbGVyOiBWaWV3cG9ydFNjcm9sbGVyKSA9PiB7XG5cdFx0XHRcdHJldHVybiAoKSA9PiB2aWV3cG9ydFNjcm9sbGVyLnNldE9mZnNldChbMCwgNjRdKTtcblx0XHRcdH0sXG5cdFx0fSxcblxuXHRcdC8qIC0tLSBVaUtpdCAtLS0gKi9cblx0XHQuLi5wcm92aWRlTmdEb2NVaUtpdENvbmZpZyhjb25maWc/LnVpS2l0KSxcblx0XTtcbn1cbiJdfQ==
@@ -1,10 +1,9 @@
1
1
  import { NG_DOC_PAGE_SKELETON } from '@ng-doc/app/tokens';
2
2
  /**
3
3
  * Provides the skeleton components for the page.
4
- *
5
4
  * @param skeleton - The skeleton for the page.
6
5
  */
7
6
  export function providePageSkeleton(skeleton) {
8
7
  return [{ provide: NG_DOC_PAGE_SKELETON, useValue: skeleton }];
9
8
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1wYWdlLXNrZWxldG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvcHJvdmlkZXJzL3BhZ2Utc2tlbGV0b24vcHJvdmlkZS1wYWdlLXNrZWxldG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsUUFBMkI7SUFDOUQsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQ2hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0RvY1BhZ2VTa2VsZXRvbiB9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTkdfRE9DX1BBR0VfU0tFTEVUT04gfSBmcm9tICdAbmctZG9jL2FwcC90b2tlbnMnO1xuXG4vKipcbiAqIFByb3ZpZGVzIHRoZSBza2VsZXRvbiBjb21wb25lbnRzIGZvciB0aGUgcGFnZS5cbiAqXG4gKiBAcGFyYW0gc2tlbGV0b24gLSBUaGUgc2tlbGV0b24gZm9yIHRoZSBwYWdlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVBhZ2VTa2VsZXRvbihza2VsZXRvbjogTmdEb2NQYWdlU2tlbGV0b24pIHtcblx0cmV0dXJuIFt7IHByb3ZpZGU6IE5HX0RPQ19QQUdFX1NLRUxFVE9OLCB1c2VWYWx1ZTogc2tlbGV0b24gfV07XG59XG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1wYWdlLXNrZWxldG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvcHJvdmlkZXJzL3BhZ2Utc2tlbGV0b24vcHJvdmlkZS1wYWdlLXNrZWxldG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxRQUEyQjtJQUM5RCxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDaEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRG9jUGFnZVNrZWxldG9uIH0gZnJvbSAnQG5nLWRvYy9hcHAvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBOR19ET0NfUEFHRV9TS0VMRVRPTiB9IGZyb20gJ0BuZy1kb2MvYXBwL3Rva2Vucyc7XG5cbi8qKlxuICogUHJvdmlkZXMgdGhlIHNrZWxldG9uIGNvbXBvbmVudHMgZm9yIHRoZSBwYWdlLlxuICogQHBhcmFtIHNrZWxldG9uIC0gVGhlIHNrZWxldG9uIGZvciB0aGUgcGFnZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVQYWdlU2tlbGV0b24oc2tlbGV0b246IE5nRG9jUGFnZVNrZWxldG9uKSB7XG5cdHJldHVybiBbeyBwcm92aWRlOiBOR19ET0NfUEFHRV9TS0VMRVRPTiwgdXNlVmFsdWU6IHNrZWxldG9uIH1dO1xufVxuIl19
@@ -21,10 +21,9 @@ export function providePlaygroundDemo(playgroundId, component) {
21
21
  }
22
22
  /**
23
23
  * Returns the token for the given playground id.
24
- *
25
24
  * @param playgroundId
26
25
  */
27
26
  export function getPlaygroundDemoToken(playgroundId) {
28
27
  return tokenStore.get(playgroundId);
29
28
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1wbGF5Z3JvdW5kLWRlbW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9wcm92aWRlcnMvcGxheWdyb3VuZC1kZW1vL3Byb3ZpZGUtcGxheWdyb3VuZC1kZW1vLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVksTUFBTSxlQUFlLENBQUM7QUFHekQsTUFBTSxVQUFVLEdBQXlDLElBQUksR0FBRyxFQUFtQyxDQUFDO0FBRXBHOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUNwQyxZQUFvQixFQUNwQixTQUErQjtJQUUvQixNQUFNLEtBQUssR0FDVixVQUFVLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztRQUM1QixJQUFJLGNBQWMsQ0FBVSwwQkFBMEIsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUV2RSxVQUFVLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUVwQyxPQUFPO1FBQ04sT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsU0FBUztRQUNuQixLQUFLLEVBQUUsSUFBSTtLQUNYLENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBSSxZQUFvQjtJQUM3RCxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFvQyxDQUFDO0FBQ3hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSAnQG5nLWRvYy9jb3JlJztcblxuY29uc3QgdG9rZW5TdG9yZTogTWFwPHN0cmluZywgSW5qZWN0aW9uVG9rZW48dW5rbm93bj4+ID0gbmV3IE1hcDxzdHJpbmcsIEluamVjdGlvblRva2VuPHVua25vd24+PigpO1xuXG4vKipcbiAqXG4gKiBAcGFyYW0gdHlwZVxuICogQHBhcmFtIGNvbnRyb2xcbiAqIEBwYXJhbSBvcHRpb25zXG4gKiBAcGFyYW0gcGxheWdyb3VuZElkXG4gKiBAcGFyYW0gc2VsZWN0b3JcbiAqIEBwYXJhbSBjb21wb25lbnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVQbGF5Z3JvdW5kRGVtbyhcblx0cGxheWdyb3VuZElkOiBzdHJpbmcsXG5cdGNvbXBvbmVudDogQ29uc3RydWN0b3I8dW5rbm93bj4sXG4pOiBQcm92aWRlciB7XG5cdGNvbnN0IHRva2VuOiBJbmplY3Rpb25Ub2tlbjx1bmtub3duPiA9XG5cdFx0dG9rZW5TdG9yZS5nZXQocGxheWdyb3VuZElkKSA/P1xuXHRcdG5ldyBJbmplY3Rpb25Ub2tlbjx1bmtub3duPihgTkdfRE9DX1BMQVlHUk9VTkRfREVNT18ke3BsYXlncm91bmRJZH1gKTtcblxuXHR0b2tlblN0b3JlLnNldChwbGF5Z3JvdW5kSWQsIHRva2VuKTtcblxuXHRyZXR1cm4ge1xuXHRcdHByb3ZpZGU6IHRva2VuLFxuXHRcdHVzZVZhbHVlOiBjb21wb25lbnQsXG5cdFx0bXVsdGk6IHRydWUsXG5cdH07XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgdG9rZW4gZm9yIHRoZSBnaXZlbiBwbGF5Z3JvdW5kIGlkLlxuICpcbiAqIEBwYXJhbSBwbGF5Z3JvdW5kSWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBsYXlncm91bmREZW1vVG9rZW48VD4ocGxheWdyb3VuZElkOiBzdHJpbmcpOiBJbmplY3Rpb25Ub2tlbjxUW10+IHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIHRva2VuU3RvcmUuZ2V0KHBsYXlncm91bmRJZCkgYXMgSW5qZWN0aW9uVG9rZW48VFtdPiB8IHVuZGVmaW5lZDtcbn1cbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1wbGF5Z3JvdW5kLWRlbW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9wcm92aWRlcnMvcGxheWdyb3VuZC1kZW1vL3Byb3ZpZGUtcGxheWdyb3VuZC1kZW1vLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVksTUFBTSxlQUFlLENBQUM7QUFHekQsTUFBTSxVQUFVLEdBQXlDLElBQUksR0FBRyxFQUFtQyxDQUFDO0FBRXBHOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUNwQyxZQUFvQixFQUNwQixTQUErQjtJQUUvQixNQUFNLEtBQUssR0FDVixVQUFVLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztRQUM1QixJQUFJLGNBQWMsQ0FBVSwwQkFBMEIsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUV2RSxVQUFVLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUVwQyxPQUFPO1FBQ04sT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsU0FBUztRQUNuQixLQUFLLEVBQUUsSUFBSTtLQUNYLENBQUM7QUFDSCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFJLFlBQW9CO0lBQzdELE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQW9DLENBQUM7QUFDeEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICdAbmctZG9jL2NvcmUnO1xuXG5jb25zdCB0b2tlblN0b3JlOiBNYXA8c3RyaW5nLCBJbmplY3Rpb25Ub2tlbjx1bmtub3duPj4gPSBuZXcgTWFwPHN0cmluZywgSW5qZWN0aW9uVG9rZW48dW5rbm93bj4+KCk7XG5cbi8qKlxuICpcbiAqIEBwYXJhbSB0eXBlXG4gKiBAcGFyYW0gY29udHJvbFxuICogQHBhcmFtIG9wdGlvbnNcbiAqIEBwYXJhbSBwbGF5Z3JvdW5kSWRcbiAqIEBwYXJhbSBzZWxlY3RvclxuICogQHBhcmFtIGNvbXBvbmVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVBsYXlncm91bmREZW1vKFxuXHRwbGF5Z3JvdW5kSWQ6IHN0cmluZyxcblx0Y29tcG9uZW50OiBDb25zdHJ1Y3Rvcjx1bmtub3duPixcbik6IFByb3ZpZGVyIHtcblx0Y29uc3QgdG9rZW46IEluamVjdGlvblRva2VuPHVua25vd24+ID1cblx0XHR0b2tlblN0b3JlLmdldChwbGF5Z3JvdW5kSWQpID8/XG5cdFx0bmV3IEluamVjdGlvblRva2VuPHVua25vd24+KGBOR19ET0NfUExBWUdST1VORF9ERU1PXyR7cGxheWdyb3VuZElkfWApO1xuXG5cdHRva2VuU3RvcmUuc2V0KHBsYXlncm91bmRJZCwgdG9rZW4pO1xuXG5cdHJldHVybiB7XG5cdFx0cHJvdmlkZTogdG9rZW4sXG5cdFx0dXNlVmFsdWU6IGNvbXBvbmVudCxcblx0XHRtdWx0aTogdHJ1ZSxcblx0fTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSB0b2tlbiBmb3IgdGhlIGdpdmVuIHBsYXlncm91bmQgaWQuXG4gKiBAcGFyYW0gcGxheWdyb3VuZElkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQbGF5Z3JvdW5kRGVtb1Rva2VuPFQ+KHBsYXlncm91bmRJZDogc3RyaW5nKTogSW5qZWN0aW9uVG9rZW48VFtdPiB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiB0b2tlblN0b3JlLmdldChwbGF5Z3JvdW5kSWQpIGFzIEluamVjdGlvblRva2VuPFRbXT4gfCB1bmRlZmluZWQ7XG59XG4iXX0=
@@ -3,7 +3,6 @@ import { NgDocSearchEngine } from '@ng-doc/app/classes/search-engine';
3
3
  * Provides the `NgDocSearchEngine` to enable search in the documentation.
4
4
  *
5
5
  * You can create and provide your own `NgDocSearchEngine` if you want to handle the search yourself.
6
- *
7
6
  * @param engine - The search engine class.
8
7
  * @param args - The arguments for the search engine class.
9
8
  * @returns The provider for the search engine.
@@ -14,4 +13,4 @@ export function provideSearchEngine(engine, ...args) {
14
13
  useValue: new engine(...args),
15
14
  };
16
15
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1zZWFyY2gtZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvcHJvdmlkZXJzL3NlYXJjaC1lbmdpbmUvcHJvdmlkZS1zZWFyY2gtZW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR3RFOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUNsQyxNQUFTLEVBQ1QsR0FBRyxJQUE4QjtJQUVqQyxPQUFPO1FBQ04sT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixRQUFRLEVBQUUsSUFBSSxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7S0FDN0IsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdEb2NTZWFyY2hFbmdpbmUgfSBmcm9tICdAbmctZG9jL2FwcC9jbGFzc2VzL3NlYXJjaC1lbmdpbmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICdAbmctZG9jL2NvcmUnO1xuXG4vKipcbiAqIFByb3ZpZGVzIHRoZSBgTmdEb2NTZWFyY2hFbmdpbmVgIHRvIGVuYWJsZSBzZWFyY2ggaW4gdGhlIGRvY3VtZW50YXRpb24uXG4gKlxuICogWW91IGNhbiBjcmVhdGUgYW5kIHByb3ZpZGUgeW91ciBvd24gYE5nRG9jU2VhcmNoRW5naW5lYCBpZiB5b3Ugd2FudCB0byBoYW5kbGUgdGhlIHNlYXJjaCB5b3Vyc2VsZi5cbiAqXG4gKiBAcGFyYW0gZW5naW5lIC0gVGhlIHNlYXJjaCBlbmdpbmUgY2xhc3MuXG4gKiBAcGFyYW0gYXJncyAtIFRoZSBhcmd1bWVudHMgZm9yIHRoZSBzZWFyY2ggZW5naW5lIGNsYXNzLlxuICogQHJldHVybnMgVGhlIHByb3ZpZGVyIGZvciB0aGUgc2VhcmNoIGVuZ2luZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVTZWFyY2hFbmdpbmU8RSBleHRlbmRzIENvbnN0cnVjdG9yPE5nRG9jU2VhcmNoRW5naW5lPj4oXG5cdGVuZ2luZTogRSxcblx0Li4uYXJnczogQ29uc3RydWN0b3JQYXJhbWV0ZXJzPEU+XG4pOiBQcm92aWRlciB7XG5cdHJldHVybiB7XG5cdFx0cHJvdmlkZTogTmdEb2NTZWFyY2hFbmdpbmUsXG5cdFx0dXNlVmFsdWU6IG5ldyBlbmdpbmUoLi4uYXJncyksXG5cdH07XG59XG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1zZWFyY2gtZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvcHJvdmlkZXJzL3NlYXJjaC1lbmdpbmUvcHJvdmlkZS1zZWFyY2gtZW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR3RFOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQ2xDLE1BQVMsRUFDVCxHQUFHLElBQThCO0lBRWpDLE9BQU87UUFDTixPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLFFBQVEsRUFBRSxJQUFJLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQztLQUM3QixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0RvY1NlYXJjaEVuZ2luZSB9IGZyb20gJ0BuZy1kb2MvYXBwL2NsYXNzZXMvc2VhcmNoLWVuZ2luZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gJ0BuZy1kb2MvY29yZSc7XG5cbi8qKlxuICogUHJvdmlkZXMgdGhlIGBOZ0RvY1NlYXJjaEVuZ2luZWAgdG8gZW5hYmxlIHNlYXJjaCBpbiB0aGUgZG9jdW1lbnRhdGlvbi5cbiAqXG4gKiBZb3UgY2FuIGNyZWF0ZSBhbmQgcHJvdmlkZSB5b3VyIG93biBgTmdEb2NTZWFyY2hFbmdpbmVgIGlmIHlvdSB3YW50IHRvIGhhbmRsZSB0aGUgc2VhcmNoIHlvdXJzZWxmLlxuICogQHBhcmFtIGVuZ2luZSAtIFRoZSBzZWFyY2ggZW5naW5lIGNsYXNzLlxuICogQHBhcmFtIGFyZ3MgLSBUaGUgYXJndW1lbnRzIGZvciB0aGUgc2VhcmNoIGVuZ2luZSBjbGFzcy5cbiAqIEByZXR1cm5zIFRoZSBwcm92aWRlciBmb3IgdGhlIHNlYXJjaCBlbmdpbmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlU2VhcmNoRW5naW5lPEUgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxOZ0RvY1NlYXJjaEVuZ2luZT4+KFxuXHRlbmdpbmU6IEUsXG5cdC4uLmFyZ3M6IENvbnN0cnVjdG9yUGFyYW1ldGVyczxFPlxuKTogUHJvdmlkZXIge1xuXHRyZXR1cm4ge1xuXHRcdHByb3ZpZGU6IE5nRG9jU2VhcmNoRW5naW5lLFxuXHRcdHVzZVZhbHVlOiBuZXcgZW5naW5lKC4uLmFyZ3MpLFxuXHR9O1xufVxuIl19
@@ -24,10 +24,9 @@ export function provideTypeControl(type, control, options) {
24
24
  }
25
25
  /**
26
26
  * Returns token for type control based on provided type
27
- *
28
27
  * @param type - type for searched control (e.g. `string`)
29
28
  */
30
29
  export function getTokenForType(type) {
31
30
  return tokenStore.get(type);
32
31
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS10eXBlLWNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9wcm92aWRlcnMvdHlwZS1jb250cm9sL3Byb3ZpZGUtdHlwZS1jb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVksTUFBTSxlQUFlLENBQUM7QUFRekQsTUFBTSxVQUFVLEdBQTBELElBQUksR0FBRyxFQUc5RSxDQUFDO0FBRUo7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQ2pDLElBQVksRUFDWixPQUFzQyxFQUN0QyxPQUF5QztJQUV6QyxNQUFNLEtBQUssR0FDVixJQUFJLGNBQWMsQ0FBMkIsdUJBQXVCLElBQUksRUFBRSxFQUFFO1FBQzNFLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUU7WUFDYixPQUFPO2dCQUNOLE9BQU87Z0JBQ1AsT0FBTzthQUNQLENBQUM7UUFDSCxDQUFDO0tBQ0QsQ0FBQyxDQUFDO0lBQ0osVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFNUIsT0FBTztRQUNOLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLFFBQVEsRUFBRSxJQUFJO0tBQ2QsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FDOUIsSUFBWTtJQUVaLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuXHROZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2wsXG5cdE5nRG9jVHlwZUNvbnRyb2wsXG5cdE5nRG9jVHlwZUNvbnRyb2xQcm92aWRlck9wdGlvbnMsXG59IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICdAbmctZG9jL2NvcmUnO1xuXG5jb25zdCB0b2tlblN0b3JlOiBNYXA8c3RyaW5nLCBJbmplY3Rpb25Ub2tlbjxOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2w+PiA9IG5ldyBNYXA8XG5cdHN0cmluZyxcblx0SW5qZWN0aW9uVG9rZW48TmdEb2NQcm92aWRlZFR5cGVDb250cm9sPlxuPigpO1xuXG4vKipcbiAqXG4gKiBAcGFyYW0gdHlwZVxuICogQHBhcmFtIGNvbnRyb2xcbiAqIEBwYXJhbSBvcHRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlVHlwZUNvbnRyb2woXG5cdHR5cGU6IHN0cmluZyxcblx0Y29udHJvbDogQ29uc3RydWN0b3I8TmdEb2NUeXBlQ29udHJvbD4sXG5cdG9wdGlvbnM/OiBOZ0RvY1R5cGVDb250cm9sUHJvdmlkZXJPcHRpb25zLFxuKTogUHJvdmlkZXIge1xuXHRjb25zdCB0b2tlbjogSW5qZWN0aW9uVG9rZW48TmdEb2NQcm92aWRlZFR5cGVDb250cm9sPiA9XG5cdFx0bmV3IEluamVjdGlvblRva2VuPE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbD4oYE5HX0RPQ19UWVBFX0NPTlRST0xfJHt0eXBlfWAsIHtcblx0XHRcdHByb3ZpZGVkSW46ICdyb290Jyxcblx0XHRcdGZhY3Rvcnk6ICgpID0+IHtcblx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRjb250cm9sLFxuXHRcdFx0XHRcdG9wdGlvbnMsXG5cdFx0XHRcdH07XG5cdFx0XHR9LFxuXHRcdH0pO1xuXHR0b2tlblN0b3JlLnNldCh0eXBlLCB0b2tlbik7XG5cblx0cmV0dXJuIHtcblx0XHRwcm92aWRlOiAnbm90aGluZycsXG5cdFx0dXNlVmFsdWU6IG51bGwsXG5cdH07XG59XG5cbi8qKlxuICogUmV0dXJucyB0b2tlbiBmb3IgdHlwZSBjb250cm9sIGJhc2VkIG9uIHByb3ZpZGVkIHR5cGVcbiAqXG4gKiBAcGFyYW0gdHlwZSAtIHR5cGUgZm9yIHNlYXJjaGVkIGNvbnRyb2wgKGUuZy4gYHN0cmluZ2ApXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUb2tlbkZvclR5cGUoXG5cdHR5cGU6IHN0cmluZyxcbik6IEluamVjdGlvblRva2VuPE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbD4gfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gdG9rZW5TdG9yZS5nZXQodHlwZSk7XG59XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS10eXBlLWNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9wcm92aWRlcnMvdHlwZS1jb250cm9sL3Byb3ZpZGUtdHlwZS1jb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVksTUFBTSxlQUFlLENBQUM7QUFRekQsTUFBTSxVQUFVLEdBQTBELElBQUksR0FBRyxFQUc5RSxDQUFDO0FBRUo7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQ2pDLElBQVksRUFDWixPQUFzQyxFQUN0QyxPQUF5QztJQUV6QyxNQUFNLEtBQUssR0FDVixJQUFJLGNBQWMsQ0FBMkIsdUJBQXVCLElBQUksRUFBRSxFQUFFO1FBQzNFLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUU7WUFDYixPQUFPO2dCQUNOLE9BQU87Z0JBQ1AsT0FBTzthQUNQLENBQUM7UUFDSCxDQUFDO0tBQ0QsQ0FBQyxDQUFDO0lBQ0osVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFNUIsT0FBTztRQUNOLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLFFBQVEsRUFBRSxJQUFJO0tBQ2QsQ0FBQztBQUNILENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUM5QixJQUFZO0lBRVosT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG5cdE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCxcblx0TmdEb2NUeXBlQ29udHJvbCxcblx0TmdEb2NUeXBlQ29udHJvbFByb3ZpZGVyT3B0aW9ucyxcbn0gZnJvbSAnQG5nLWRvYy9hcHAvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gJ0BuZy1kb2MvY29yZSc7XG5cbmNvbnN0IHRva2VuU3RvcmU6IE1hcDxzdHJpbmcsIEluamVjdGlvblRva2VuPE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbD4+ID0gbmV3IE1hcDxcblx0c3RyaW5nLFxuXHRJbmplY3Rpb25Ub2tlbjxOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2w+XG4+KCk7XG5cbi8qKlxuICpcbiAqIEBwYXJhbSB0eXBlXG4gKiBAcGFyYW0gY29udHJvbFxuICogQHBhcmFtIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVUeXBlQ29udHJvbChcblx0dHlwZTogc3RyaW5nLFxuXHRjb250cm9sOiBDb25zdHJ1Y3RvcjxOZ0RvY1R5cGVDb250cm9sPixcblx0b3B0aW9ucz86IE5nRG9jVHlwZUNvbnRyb2xQcm92aWRlck9wdGlvbnMsXG4pOiBQcm92aWRlciB7XG5cdGNvbnN0IHRva2VuOiBJbmplY3Rpb25Ub2tlbjxOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2w+ID1cblx0XHRuZXcgSW5qZWN0aW9uVG9rZW48TmdEb2NQcm92aWRlZFR5cGVDb250cm9sPihgTkdfRE9DX1RZUEVfQ09OVFJPTF8ke3R5cGV9YCwge1xuXHRcdFx0cHJvdmlkZWRJbjogJ3Jvb3QnLFxuXHRcdFx0ZmFjdG9yeTogKCkgPT4ge1xuXHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdGNvbnRyb2wsXG5cdFx0XHRcdFx0b3B0aW9ucyxcblx0XHRcdFx0fTtcblx0XHRcdH0sXG5cdFx0fSk7XG5cdHRva2VuU3RvcmUuc2V0KHR5cGUsIHRva2VuKTtcblxuXHRyZXR1cm4ge1xuXHRcdHByb3ZpZGU6ICdub3RoaW5nJyxcblx0XHR1c2VWYWx1ZTogbnVsbCxcblx0fTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRva2VuIGZvciB0eXBlIGNvbnRyb2wgYmFzZWQgb24gcHJvdmlkZWQgdHlwZVxuICogQHBhcmFtIHR5cGUgLSB0eXBlIGZvciBzZWFyY2hlZCBjb250cm9sIChlLmcuIGBzdHJpbmdgKVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VG9rZW5Gb3JUeXBlKFxuXHR0eXBlOiBzdHJpbmcsXG4pOiBJbmplY3Rpb25Ub2tlbjxOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2w+IHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIHRva2VuU3RvcmUuZ2V0KHR5cGUpO1xufVxuIl19
@@ -42,7 +42,6 @@ let NgDocThemeService = class NgDocThemeService {
42
42
  }
43
43
  /**
44
44
  * Enables automatic theme switching based on the user's operating system settings.
45
- *
46
45
  * @param light - Theme for light mode.
47
46
  * @param dark - Theme for dark mode.
48
47
  */
@@ -59,7 +58,6 @@ let NgDocThemeService = class NgDocThemeService {
59
58
  }
60
59
  /**
61
60
  * Sets the theme by id.
62
- *
63
61
  * @param id - Theme id.
64
62
  * @param save - Whether to save the theme in the store to restore it when the page is reloaded. (`true` by default)
65
63
  */
@@ -145,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
145
143
  type: Inject,
146
144
  args: [NG_DOC_THEME]
147
145
  }] }, { type: i1.NgDocStoreService }] });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL3NlcnZpY2VzL3RoZW1lL3RoZW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxTQUFTLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFFdEQ7O0dBRUc7QUFLSSxJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjs7YUFDYixnQkFBVyxHQUFXLGFBQWEsQUFBeEIsQ0FBeUI7SUFPcEQsWUFFa0IsTUFBYyxFQUVkLFFBQWtCLEVBRWxCLE1BQW9CLEVBQ3BCLEtBQXdCO1FBTHhCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRWxCLFdBQU0sR0FBTixNQUFNLENBQWM7UUFDcEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFYbEMsVUFBSyxHQUEyQixTQUFTLENBQUM7UUFDakMsV0FBTSxHQUFvQyxJQUFJLE9BQU8sRUFBMEIsQ0FBQztRQUN6RixjQUFTLEdBQWlFLFNBQVMsQ0FBQztRQVczRixTQUFTLENBQWlCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxD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S0FBSyxDQUFDLENBQUM7U0FDdEQ7SUFDRixDQUFDOzhHQTdJVyxpQkFBaUIsa0JBU3BCLE1BQU0sYUFFTixRQUFRLGFBRVIsWUFBWTtrSEFiVCxpQkFBaUIsY0FIakIsTUFBTTs7QUFHTixpQkFBaUI7SUFEN0IsWUFBWSxFQUFFO3FDQVdZLE1BQU07UUFFSixRQUFRLFNBR1gsaUJBQWlCO0dBZjlCLGlCQUFpQixDQThJN0I7OzJGQTlJWSxpQkFBaUI7a0JBSjdCLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCOzswQkFXRSxNQUFNOzJCQUFDLE1BQU07OzBCQUViLE1BQU07MkJBQUMsUUFBUTs7MEJBRWYsTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19ET0NfU1RPUkVfVEhFTUVfS0VZIH0gZnJvbSAnQG5nLWRvYy9hcHAvY29uc3RhbnRzJztcbmltcG9ydCB7IE5nRG9jVGhlbWUgfSBmcm9tICdAbmctZG9jL2FwcC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5nRG9jU3RvcmVTZXJ2aWNlIH0gZnJvbSAnQG5nLWRvYy9hcHAvc2VydmljZXMvc3RvcmUnO1xuaW1wb3J0IHsgTkdfRE9DX1RIRU1FIH0gZnJvbSAnQG5nLWRvYy9hcHAvdG9rZW5zJztcbmltcG9ydCB7IFdJTkRPVyB9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBtYW5hZ2luZyB0aGVtZXMuXG4gKi9cbkBJbmplY3RhYmxlKHtcblx0cHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbkBVbnRpbERlc3Ryb3koKVxuZXhwb3J0IGNsYXNzIE5nRG9jVGhlbWVTZXJ2aWNlIHtcblx0c3RhdGljIHJlYWRvbmx5IGF1dG9UaGVtZUlkOiBzdHJpbmcgPSAnbmctZG9jLWF1dG8nO1xuXG5cdHByaXZhdGUgbGlua0VsZW1lbnQ/OiBIVE1MTGlua0VsZW1lbnQ7XG5cdHByaXZhdGUgdGhlbWU6IE5nRG9jVGhlbWUgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cdHByaXZhdGUgcmVhZG9ubHkgdGhlbWUkOiBTdWJqZWN0PE5nRG9jVGhlbWUgfCB1bmRlZmluZWQ+ID0gbmV3IFN1YmplY3Q8TmdEb2NUaGVtZSB8IHVuZGVmaW5lZD4oKTtcblx0cHJpdmF0ZSBhdXRvVGhlbWU6IFtOZ0RvY1RoZW1lIHwgdW5kZWZpbmVkLCBOZ0RvY1RoZW1lIHwgdW5kZWZpbmVkXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRASW5qZWN0KFdJTkRPVylcblx0XHRwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogV2luZG93LFxuXHRcdEBJbmplY3QoRE9DVU1FTlQpXG5cdFx0cHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQsXG5cdFx0QEluamVjdChOR19ET0NfVEhFTUUpXG5cdFx0cHJpdmF0ZSByZWFkb25seSB0aGVtZXM6IE5nRG9jVGhlbWVbXSxcblx0XHRwcml2YXRlIHJlYWRvbmx5IHN0b3JlOiBOZ0RvY1N0b3JlU2VydmljZSxcblx0KSB7XG5cdFx0ZnJvbUV2ZW50PE1lZGlhUXVlcnlMaXN0Pih0aGlzLndpbmRvdy5tYXRjaE1lZGlhKCcocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspJyksICdjaGFuZ2UnKVxuXHRcdFx0LnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG5cdFx0XHQuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2V0QXV0b1RoZW1lKCkpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGN1cnJlbnQgdGhlbWUuXG5cdCAqL1xuXHRnZXQgY3VycmVudFRoZW1lKCk6IE5nRG9jVGhlbWUgfCB1bmRlZmluZWQge1xuXHRcdHJldHVybiB0aGlzLnRoZW1lO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgd2hldGhlciBhdXRvbWF0aWMgdGhlbWUgc3dpdGNoaW5nIGJhc2VkIG9uIHRoZSB1c2VyJ3Mgb3BlcmF0aW5nIHN5c3RlbSBzZXR0aW5ncyBpcyBlbmFibGVkLlxuXHQgKi9cblx0Z2V0IGlzQXV0b1RoZW1lRW5hYmxlZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5hdXRvVGhlbWUgIT09IHVuZGVmaW5lZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBFbmFibGVzIGF1dG9tYXRpYyB0aGVtZSBzd2l0Y2hpbmcgYmFzZWQgb24gdGhlIHVzZXIncyBvcGVyYXRpbmcgc3lzdGVtIHNldHRpbmdzLlxuXHQgKlxuXHQgKiBAcGFyYW0gbGlnaHQgLSBUaGVtZSBmb3IgbGlnaHQgbW9kZS5cblx0ICogQHBhcmFtIGRhcmsgLSBUaGVtZSBmb3IgZGFyayBtb2RlLlxuXHQgKi9cblx0YXN5bmMgZW5hYmxlQXV0b1RoZW1lKFxuXHRcdGxpZ2h0OiBOZ0RvY1RoZW1lIHwgdW5kZWZpbmVkLFxuXHRcdGRhcms6IE5nRG9jVGhlbWUgfCB1bmRlZmluZWQsXG5cdCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdHRoaXMuYXV0b1RoZW1lID0gW2xpZ2h0LCBkYXJrXTtcblxuXHRcdHJldHVybiB0aGlzLnNldEF1dG9UaGVtZSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERpc2FibGVzIGF1dG9tYXRpYyB0aGVtZSBzd2l0Y2hpbmcgYmFzZWQgb24gdGhlIHVzZXIncyBvcGVyYXRpbmcgc3lzdGVtIHNldHRpbmdzLlxuXHQgKi9cblx0YXN5bmMgZGlzYWJsZUF1dG9UaGVtZSgpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHR0aGlzLmF1dG9UaGVtZSA9IHVuZGVmaW5lZDtcblxuXHRcdHJldHVybiB0aGlzLnNldCh0aGlzLnN0b3JlLmdldChOR19ET0NfU1RPUkVfVEhFTUVfS0VZKSA/PyB1bmRlZmluZWQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIHRoZW1lIGJ5IGlkLlxuXHQgKlxuXHQgKiBAcGFyYW0gaWQgLSBUaGVtZSBpZC5cblx0ICogQHBhcmFtIHNhdmUgLSBXaGV0aGVyIHRvIHNhdmUgdGhlIHRoZW1lIGluIHRoZSBzdG9yZSB0byByZXN0b3JlIGl0IHdoZW4gdGhlIHBhZ2UgaXMgcmVsb2FkZWQuIChgdHJ1ZWAgYnkgZGVmYXVsdClcblx0ICovXG5cdGFzeW5jIHNldChpZD86IHN0cmluZywgc2F2ZTogYm9vbGVhbiA9IHRydWUpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHR0aGlzLnJlbW92ZUxpbmsoKTtcblxuXHRcdGlmIChzYXZlKSB7XG5cdFx0XHR0aGlzLmF1dG9UaGVtZSA9IHVuZGVmaW5lZDtcblx0XHR9XG5cblx0XHRpZiAoaWQgJiYgaWQgIT09ICduZy1kb2MtZGF5Jykge1xuXHRcdFx0Y29uc3QgdGhlbWU6IE5nRG9jVGhlbWUgfCB1bmRlZmluZWQgPSB0aGlzLnRoZW1lcy5maW5kKFxuXHRcdFx0XHQodGhlbWU6IE5nRG9jVGhlbWUpID0+IHRoZW1lLmlkID09PSBpZCxcblx0XHRcdCk7XG5cblx0XHRcdGlmICghdGhlbWUpIHtcblx0XHRcdFx0Y29uc29sZS53YXJuKFxuXHRcdFx0XHRcdGBUaGVtZSB3aXRoIGlkIFwiJHtpZH1cIiBpcyBub3QgcmVnaXN0ZXJlZC4gTWFrZSBzdXJlIHRoYXQgeW91IHJlZ2lzdGVyZWQgaXQgaW4gdGhlIHJvb3Qgb2YgeW91ciBhcHBsaWNhdGlvbi5gLFxuXHRcdFx0XHQpO1xuXG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0dGhpcy5jcmVhdGVMaW5rSWZOb0V4aXN0cygpO1xuXG5cdFx0XHRpZiAodGhpcy5saW5rRWxlbWVudCkge1xuXHRcdFx0XHR0aGlzLmxpbmtFbGVtZW50LmhyZWYgPSB0aGVtZS5wYXRoO1xuXHRcdFx0XHRzYXZlICYmIHRoaXMuc3RvcmUuc2V0KE5HX0RPQ19TVE9SRV9USEVNRV9LRVksIHRoZW1lLmlkKTtcblx0XHRcdFx0dGhpcy50aGVtZSA9IHRoZW1lO1xuXG5cdFx0XHRcdHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZTogKCkgPT4gdm9pZCwgcmVqZWN0OiAoZXJyOiBFdmVudCB8IHN0cmluZykgPT4gdm9pZCkgPT4ge1xuXHRcdFx0XHRcdGlmICh0aGlzLmxpbmtFbGVtZW50KSB7XG5cdFx0XHRcdFx0XHR0aGlzLmxpbmtFbGVtZW50Lm9ubG9hZCA9ICgpID0+IHtcblx0XHRcdFx0XHRcdFx0dGhpcy50aGVtZSQubmV4dCh0aGVtZSk7XG5cdFx0XHRcdFx0XHRcdHJlc29sdmUoKTtcblx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0XHR0aGlzLmxpbmtFbGVtZW50Lm9uZXJyb3IgPSByZWplY3Q7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9XG5cdFx0c2F2ZSAmJiB0aGlzLnN0b3JlLnNldChOR19ET0NfU1RPUkVfVEhFTUVfS0VZLCAnbmctZG9jLWRheScpO1xuXG5cdFx0dGhpcy50aGVtZSQubmV4dCh1bmRlZmluZWQpO1xuXG5cdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHdoZW4gdGhlIHRoZW1lIGNoYW5nZXMuXG5cdCAqL1xuXHR0aGVtZUNoYW5nZXMoKTogT2JzZXJ2YWJsZTxOZ0RvY1RoZW1lIHwgdW5kZWZpbmVkPiB7XG5cdFx0cmV0dXJuIHRoaXMudGhlbWUkLmFzT2JzZXJ2YWJsZSgpO1xuXHR9XG5cblx0cHJpdmF0ZSByZW1vdmVMaW5rKCk6IHZvaWQge1xuXHRcdHRoaXMudGhlbWUgPSB1bmRlZmluZWQ7XG5cdFx0dGhpcy5saW5rRWxlbWVudD8ucmVtb3ZlKCk7XG5cdFx0dGhpcy5saW5rRWxlbWVudCA9IHVuZGVmaW5lZDtcblx0fVxuXG5cdHByaXZhdGUgY3JlYXRlTGlua0lmTm9FeGlzdHMoKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLmxpbmtFbGVtZW50KSB7XG5cdFx0XHR0aGlzLmxpbmtFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG5cdFx0XHR0aGlzLmxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZSgncmVsJywgJ3N0eWxlc2hlZXQnKTtcblx0XHRcdHRoaXMubGlua0VsZW1lbnQuc2V0QXR0cmlidXRlKCd0eXBlJywgJ3RleHQvY3NzJyk7XG5cdFx0XHR0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQodGhpcy5saW5rRWxlbWVudCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBhc3luYyBzZXRBdXRvVGhlbWUoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0aWYgKHRoaXMuYXV0b1RoZW1lICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdGNvbnN0IGlzRGFyazogYm9vbGVhbiA9IHRoaXMud2luZG93Lm1hdGNoTWVkaWEoJyhwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayknKS5tYXRjaGVzO1xuXHRcdFx0Y29uc3QgW2xpZ2h0LCBkYXJrXSA9IHRoaXMuYXV0b1RoZW1lO1xuXHRcdFx0dGhpcy5zdG9yZS5zZXQoTkdfRE9DX1NUT1JFX1RIRU1FX0tFWSwgTmdEb2NUaGVtZVNlcnZpY2UuYXV0b1RoZW1lSWQpO1xuXG5cdFx0XHRyZXR1cm4gdGhpcy5zZXQoaXNEYXJrID8gZGFyaz8uaWQgOiBsaWdodD8uaWQsIGZhbHNlKTtcblx0XHR9XG5cdH1cbn1cbiJdfQ==
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL3NlcnZpY2VzL3RoZW1lL3RoZW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxTQUFTLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFFdEQ7O0dBRUc7QUFLSSxJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjs7YUFDYixnQkFBVyxHQUFXLGFBQWEsQUFBeEIsQ0FBeUI7SUFPcEQsWUFFa0IsTUFBYyxFQUVkLFFBQWtCLEVBRWxCLE1BQW9CLEVBQ3BCLEtBQXdCO1FBTHhCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRWxCLFdBQU0sR0FBTixNQUFNLENBQWM7UUFDcEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFYbEMsVUFBSyxHQUEyQixTQUFTLENBQUM7UUFDakMsV0FBTSxHQUFvQyxJQUFJLE9BQU8sRUFBMEIsQ0FBQztRQUN6RixjQUFTLEdBQWlFLFNBQVMsQ0FBQztRQVczRixTQUFTLENBQWlCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxD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QUssQ0FBQyxDQUFDO1NBQ3REO0lBQ0YsQ0FBQzs4R0EzSVcsaUJBQWlCLGtCQVNwQixNQUFNLGFBRU4sUUFBUSxhQUVSLFlBQVk7a0hBYlQsaUJBQWlCLGNBSGpCLE1BQU07O0FBR04saUJBQWlCO0lBRDdCLFlBQVksRUFBRTtxQ0FXWSxNQUFNO1FBRUosUUFBUSxTQUdYLGlCQUFpQjtHQWY5QixpQkFBaUIsQ0E0STdCOzsyRkE1SVksaUJBQWlCO2tCQUo3QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQjs7MEJBV0UsTUFBTTsyQkFBQyxNQUFNOzswQkFFYixNQUFNOzJCQUFDLFFBQVE7OzBCQUVmLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfRE9DX1NUT1JFX1RIRU1FX0tFWSB9IGZyb20gJ0BuZy1kb2MvYXBwL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBOZ0RvY1RoZW1lIH0gZnJvbSAnQG5nLWRvYy9hcHAvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBOZ0RvY1N0b3JlU2VydmljZSB9IGZyb20gJ0BuZy1kb2MvYXBwL3NlcnZpY2VzL3N0b3JlJztcbmltcG9ydCB7IE5HX0RPQ19USEVNRSB9IGZyb20gJ0BuZy1kb2MvYXBwL3Rva2Vucyc7XG5pbXBvcnQgeyBXSU5ET1cgfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogU2VydmljZSBmb3IgbWFuYWdpbmcgdGhlbWVzLlxuICovXG5ASW5qZWN0YWJsZSh7XG5cdHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5AVW50aWxEZXN0cm95KClcbmV4cG9ydCBjbGFzcyBOZ0RvY1RoZW1lU2VydmljZSB7XG5cdHN0YXRpYyByZWFkb25seSBhdXRvVGhlbWVJZDogc3RyaW5nID0gJ25nLWRvYy1hdXRvJztcblxuXHRwcml2YXRlIGxpbmtFbGVtZW50PzogSFRNTExpbmtFbGVtZW50O1xuXHRwcml2YXRlIHRoZW1lOiBOZ0RvY1RoZW1lIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXHRwcml2YXRlIHJlYWRvbmx5IHRoZW1lJDogU3ViamVjdDxOZ0RvY1RoZW1lIHwgdW5kZWZpbmVkPiA9IG5ldyBTdWJqZWN0PE5nRG9jVGhlbWUgfCB1bmRlZmluZWQ+KCk7XG5cdHByaXZhdGUgYXV0b1RoZW1lOiBbTmdEb2NUaGVtZSB8IHVuZGVmaW5lZCwgTmdEb2NUaGVtZSB8IHVuZGVmaW5lZF0gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0QEluamVjdChXSU5ET1cpXG5cdFx0cHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IFdpbmRvdyxcblx0XHRASW5qZWN0KERPQ1VNRU5UKVxuXHRcdHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50LFxuXHRcdEBJbmplY3QoTkdfRE9DX1RIRU1FKVxuXHRcdHByaXZhdGUgcmVhZG9ubHkgdGhlbWVzOiBOZ0RvY1RoZW1lW10sXG5cdFx0cHJpdmF0ZSByZWFkb25seSBzdG9yZTogTmdEb2NTdG9yZVNlcnZpY2UsXG5cdCkge1xuXHRcdGZyb21FdmVudDxNZWRpYVF1ZXJ5TGlzdD4odGhpcy53aW5kb3cubWF0Y2hNZWRpYSgnKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKScpLCAnY2hhbmdlJylcblx0XHRcdC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuXHRcdFx0LnN1YnNjcmliZSgoKSA9PiB0aGlzLnNldEF1dG9UaGVtZSgpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHRoZW1lLlxuXHQgKi9cblx0Z2V0IGN1cnJlbnRUaGVtZSgpOiBOZ0RvY1RoZW1lIHwgdW5kZWZpbmVkIHtcblx0XHRyZXR1cm4gdGhpcy50aGVtZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHdoZXRoZXIgYXV0b21hdGljIHRoZW1lIHN3aXRjaGluZyBiYXNlZCBvbiB0aGUgdXNlcidzIG9wZXJhdGluZyBzeXN0ZW0gc2V0dGluZ3MgaXMgZW5hYmxlZC5cblx0ICovXG5cdGdldCBpc0F1dG9UaGVtZUVuYWJsZWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuYXV0b1RoZW1lICE9PSB1bmRlZmluZWQ7XG5cdH1cblxuXHQvKipcblx0ICogRW5hYmxlcyBhdXRvbWF0aWMgdGhlbWUgc3dpdGNoaW5nIGJhc2VkIG9uIHRoZSB1c2VyJ3Mgb3BlcmF0aW5nIHN5c3RlbSBzZXR0aW5ncy5cblx0ICogQHBhcmFtIGxpZ2h0IC0gVGhlbWUgZm9yIGxpZ2h0IG1vZGUuXG5cdCAqIEBwYXJhbSBkYXJrIC0gVGhlbWUgZm9yIGRhcmsgbW9kZS5cblx0ICovXG5cdGFzeW5jIGVuYWJsZUF1dG9UaGVtZShcblx0XHRsaWdodDogTmdEb2NUaGVtZSB8IHVuZGVmaW5lZCxcblx0XHRkYXJrOiBOZ0RvY1RoZW1lIHwgdW5kZWZpbmVkLFxuXHQpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHR0aGlzLmF1dG9UaGVtZSA9IFtsaWdodCwgZGFya107XG5cblx0XHRyZXR1cm4gdGhpcy5zZXRBdXRvVGhlbWUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNhYmxlcyBhdXRvbWF0aWMgdGhlbWUgc3dpdGNoaW5nIGJhc2VkIG9uIHRoZSB1c2VyJ3Mgb3BlcmF0aW5nIHN5c3RlbSBzZXR0aW5ncy5cblx0ICovXG5cdGFzeW5jIGRpc2FibGVBdXRvVGhlbWUoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0dGhpcy5hdXRvVGhlbWUgPSB1bmRlZmluZWQ7XG5cblx0XHRyZXR1cm4gdGhpcy5zZXQodGhpcy5zdG9yZS5nZXQoTkdfRE9DX1NUT1JFX1RIRU1FX0tFWSkgPz8gdW5kZWZpbmVkKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSB0aGVtZSBieSBpZC5cblx0ICogQHBhcmFtIGlkIC0gVGhlbWUgaWQuXG5cdCAqIEBwYXJhbSBzYXZlIC0gV2hldGhlciB0byBzYXZlIHRoZSB0aGVtZSBpbiB0aGUgc3RvcmUgdG8gcmVzdG9yZSBpdCB3aGVuIHRoZSBwYWdlIGlzIHJlbG9hZGVkLiAoYHRydWVgIGJ5IGRlZmF1bHQpXG5cdCAqL1xuXHRhc3luYyBzZXQoaWQ/OiBzdHJpbmcsIHNhdmU6IGJvb2xlYW4gPSB0cnVlKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0dGhpcy5yZW1vdmVMaW5rKCk7XG5cblx0XHRpZiAoc2F2ZSkge1xuXHRcdFx0dGhpcy5hdXRvVGhlbWUgPSB1bmRlZmluZWQ7XG5cdFx0fVxuXG5cdFx0aWYgKGlkICYmIGlkICE9PSAnbmctZG9jLWRheScpIHtcblx0XHRcdGNvbnN0IHRoZW1lOiBOZ0RvY1RoZW1lIHwgdW5kZWZpbmVkID0gdGhpcy50aGVtZXMuZmluZChcblx0XHRcdFx0KHRoZW1lOiBOZ0RvY1RoZW1lKSA9PiB0aGVtZS5pZCA9PT0gaWQsXG5cdFx0XHQpO1xuXG5cdFx0XHRpZiAoIXRoZW1lKSB7XG5cdFx0XHRcdGNvbnNvbGUud2Fybihcblx0XHRcdFx0XHRgVGhlbWUgd2l0aCBpZCBcIiR7aWR9XCIgaXMgbm90IHJlZ2lzdGVyZWQuIE1ha2Ugc3VyZSB0aGF0IHlvdSByZWdpc3RlcmVkIGl0IGluIHRoZSByb290IG9mIHlvdXIgYXBwbGljYXRpb24uYCxcblx0XHRcdFx0KTtcblxuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdHRoaXMuY3JlYXRlTGlua0lmTm9FeGlzdHMoKTtcblxuXHRcdFx0aWYgKHRoaXMubGlua0VsZW1lbnQpIHtcblx0XHRcdFx0dGhpcy5saW5rRWxlbWVudC5ocmVmID0gdGhlbWUucGF0aDtcblx0XHRcdFx0c2F2ZSAmJiB0aGlzLnN0b3JlLnNldChOR19ET0NfU1RPUkVfVEhFTUVfS0VZLCB0aGVtZS5pZCk7XG5cdFx0XHRcdHRoaXMudGhlbWUgPSB0aGVtZTtcblxuXHRcdFx0XHRyZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmU6ICgpID0+IHZvaWQsIHJlamVjdDogKGVycjogRXZlbnQgfCBzdHJpbmcpID0+IHZvaWQpID0+IHtcblx0XHRcdFx0XHRpZiAodGhpcy5saW5rRWxlbWVudCkge1xuXHRcdFx0XHRcdFx0dGhpcy5saW5rRWxlbWVudC5vbmxvYWQgPSAoKSA9PiB7XG5cdFx0XHRcdFx0XHRcdHRoaXMudGhlbWUkLm5leHQodGhlbWUpO1xuXHRcdFx0XHRcdFx0XHRyZXNvbHZlKCk7XG5cdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdFx0dGhpcy5saW5rRWxlbWVudC5vbmVycm9yID0gcmVqZWN0O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHNhdmUgJiYgdGhpcy5zdG9yZS5zZXQoTkdfRE9DX1NUT1JFX1RIRU1FX0tFWSwgJ25nLWRvYy1kYXknKTtcblxuXHRcdHRoaXMudGhlbWUkLm5leHQodW5kZWZpbmVkKTtcblxuXHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIHRoZSB0aGVtZSBjaGFuZ2VzLlxuXHQgKi9cblx0dGhlbWVDaGFuZ2VzKCk6IE9ic2VydmFibGU8TmdEb2NUaGVtZSB8IHVuZGVmaW5lZD4ge1xuXHRcdHJldHVybiB0aGlzLnRoZW1lJC5hc09ic2VydmFibGUoKTtcblx0fVxuXG5cdHByaXZhdGUgcmVtb3ZlTGluaygpOiB2b2lkIHtcblx0XHR0aGlzLnRoZW1lID0gdW5kZWZpbmVkO1xuXHRcdHRoaXMubGlua0VsZW1lbnQ/LnJlbW92ZSgpO1xuXHRcdHRoaXMubGlua0VsZW1lbnQgPSB1bmRlZmluZWQ7XG5cdH1cblxuXHRwcml2YXRlIGNyZWF0ZUxpbmtJZk5vRXhpc3RzKCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5saW5rRWxlbWVudCkge1xuXHRcdFx0dGhpcy5saW5rRWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuXHRcdFx0dGhpcy5saW5rRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3JlbCcsICdzdHlsZXNoZWV0Jyk7XG5cdFx0XHR0aGlzLmxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZSgndHlwZScsICd0ZXh0L2NzcycpO1xuXHRcdFx0dGhpcy5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKHRoaXMubGlua0VsZW1lbnQpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgc2V0QXV0b1RoZW1lKCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmICh0aGlzLmF1dG9UaGVtZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRjb25zdCBpc0Rhcms6IGJvb2xlYW4gPSB0aGlzLndpbmRvdy5tYXRjaE1lZGlhKCcocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspJykubWF0Y2hlcztcblx0XHRcdGNvbnN0IFtsaWdodCwgZGFya10gPSB0aGlzLmF1dG9UaGVtZTtcblx0XHRcdHRoaXMuc3RvcmUuc2V0KE5HX0RPQ19TVE9SRV9USEVNRV9LRVksIE5nRG9jVGhlbWVTZXJ2aWNlLmF1dG9UaGVtZUlkKTtcblxuXHRcdFx0cmV0dXJuIHRoaXMuc2V0KGlzRGFyayA/IGRhcms/LmlkIDogbGlnaHQ/LmlkLCBmYWxzZSk7XG5cdFx0fVxuXHR9XG59XG4iXX0=
@@ -5,7 +5,6 @@ export const NG_DOC_PAGE_CUSTOM_PROCESSOR = new InjectionToken('NG_DOC_PAGE_CUST
5
5
  /**
6
6
  * Provide a main processor to replace html nodes with an Angular component.
7
7
  * Main processors are run before custom processors.
8
- *
9
8
  * @param processors - The processor to provide.
10
9
  */
11
10
  export function provideMainPageProcessor(processors) {
@@ -17,7 +16,6 @@ export function provideMainPageProcessor(processors) {
17
16
  }
18
17
  /**
19
18
  * Provide a processor to replace html nodes with an Angular component.
20
- *
21
19
  * @param processors - The processor to provide.
22
20
  */
23
21
  export function providePageProcessor(processors) {
@@ -27,4 +25,4 @@ export function providePageProcessor(processors) {
27
25
  multi: true,
28
26
  }));
29
27
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FwcC90b2tlbnMvcGFnZS1wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUNqQyxJQUFJLGNBQWMsQ0FBOEIsdUJBQXVCLENBQUMsQ0FBQztBQUMxRSxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FDeEMsSUFBSSxjQUFjLENBQThCLDhCQUE4QixDQUFDLENBQUM7QUFFakY7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQ3ZDLFVBQWdFO0lBRWhFLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QyxPQUFPLEVBQUUscUJBQXFCO1FBQzlCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLEtBQUssRUFBRSxJQUFJO0tBQ1gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FDbkMsVUFBZ0U7SUFFaEUsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLE9BQU8sRUFBRSw0QkFBNEI7UUFDckMsUUFBUSxFQUFFLFNBQVM7UUFDbkIsS0FBSyxFQUFFLElBQUk7S0FDWCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nRG9jUGFnZVByb2Nlc3NvciB9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgYXNBcnJheSB9IGZyb20gJ0BuZy1kb2MvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBOR19ET0NfUEFHRV9QUk9DRVNTT1I6IEluamVjdGlvblRva2VuPE5nRG9jUGFnZVByb2Nlc3Nvcjx1bmtub3duPj4gPVxuXHRuZXcgSW5qZWN0aW9uVG9rZW48TmdEb2NQYWdlUHJvY2Vzc29yPHVua25vd24+PignTkdfRE9DX1BBR0VfUFJPQ0VTU09SJyk7XG5leHBvcnQgY29uc3QgTkdfRE9DX1BBR0VfQ1VTVE9NX1BST0NFU1NPUjogSW5qZWN0aW9uVG9rZW48TmdEb2NQYWdlUHJvY2Vzc29yPHVua25vd24+PiA9XG5cdG5ldyBJbmplY3Rpb25Ub2tlbjxOZ0RvY1BhZ2VQcm9jZXNzb3I8dW5rbm93bj4+KCdOR19ET0NfUEFHRV9DVVNUT01fUFJPQ0VTU09SJyk7XG5cbi8qKlxuICogUHJvdmlkZSBhIG1haW4gcHJvY2Vzc29yIHRvIHJlcGxhY2UgaHRtbCBub2RlcyB3aXRoIGFuIEFuZ3VsYXIgY29tcG9uZW50LlxuICogTWFpbiBwcm9jZXNzb3JzIGFyZSBydW4gYmVmb3JlIGN1c3RvbSBwcm9jZXNzb3JzLlxuICpcbiAqIEBwYXJhbSBwcm9jZXNzb3JzIC0gVGhlIHByb2Nlc3NvciB0byBwcm92aWRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZU1haW5QYWdlUHJvY2Vzc29yPFQ+KFxuXHRwcm9jZXNzb3JzOiBOZ0RvY1BhZ2VQcm9jZXNzb3I8VD4gfCBBcnJheTxOZ0RvY1BhZ2VQcm9jZXNzb3I8VD4+LFxuKTogUHJvdmlkZXJbXSB7XG5cdHJldHVybiBhc0FycmF5KHByb2Nlc3NvcnMpLm1hcCgocHJvY2Vzc29yKSA9PiAoe1xuXHRcdHByb3ZpZGU6IE5HX0RPQ19QQUdFX1BST0NFU1NPUixcblx0XHR1c2VWYWx1ZTogcHJvY2Vzc29yLFxuXHRcdG11bHRpOiB0cnVlLFxuXHR9KSk7XG59XG5cbi8qKlxuICogUHJvdmlkZSBhIHByb2Nlc3NvciB0byByZXBsYWNlIGh0bWwgbm9kZXMgd2l0aCBhbiBBbmd1bGFyIGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0gcHJvY2Vzc29ycyAtIFRoZSBwcm9jZXNzb3IgdG8gcHJvdmlkZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVQYWdlUHJvY2Vzc29yPFQ+KFxuXHRwcm9jZXNzb3JzOiBOZ0RvY1BhZ2VQcm9jZXNzb3I8VD4gfCBBcnJheTxOZ0RvY1BhZ2VQcm9jZXNzb3I8VD4+LFxuKTogUHJvdmlkZXJbXSB7XG5cdHJldHVybiBhc0FycmF5KHByb2Nlc3NvcnMpLm1hcCgocHJvY2Vzc29yKSA9PiAoe1xuXHRcdHByb3ZpZGU6IE5HX0RPQ19QQUdFX0NVU1RPTV9QUk9DRVNTT1IsXG5cdFx0dXNlVmFsdWU6IHByb2Nlc3Nvcixcblx0XHRtdWx0aTogdHJ1ZSxcblx0fSkpO1xufVxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FwcC90b2tlbnMvcGFnZS1wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUNqQyxJQUFJLGNBQWMsQ0FBOEIsdUJBQXVCLENBQUMsQ0FBQztBQUMxRSxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FDeEMsSUFBSSxjQUFjLENBQThCLDhCQUE4QixDQUFDLENBQUM7QUFFakY7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FDdkMsVUFBZ0U7SUFFaEUsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLE9BQU8sRUFBRSxxQkFBcUI7UUFDOUIsUUFBUSxFQUFFLFNBQVM7UUFDbkIsS0FBSyxFQUFFLElBQUk7S0FDWCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQ25DLFVBQWdFO0lBRWhFLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QyxPQUFPLEVBQUUsNEJBQTRCO1FBQ3JDLFFBQVEsRUFBRSxTQUFTO1FBQ25CLEtBQUssRUFBRSxJQUFJO0tBQ1gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0RvY1BhZ2VQcm9jZXNzb3IgfSBmcm9tICdAbmctZG9jL2FwcC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGFzQXJyYXkgfSBmcm9tICdAbmctZG9jL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgTkdfRE9DX1BBR0VfUFJPQ0VTU09SOiBJbmplY3Rpb25Ub2tlbjxOZ0RvY1BhZ2VQcm9jZXNzb3I8dW5rbm93bj4+ID1cblx0bmV3IEluamVjdGlvblRva2VuPE5nRG9jUGFnZVByb2Nlc3Nvcjx1bmtub3duPj4oJ05HX0RPQ19QQUdFX1BST0NFU1NPUicpO1xuZXhwb3J0IGNvbnN0IE5HX0RPQ19QQUdFX0NVU1RPTV9QUk9DRVNTT1I6IEluamVjdGlvblRva2VuPE5nRG9jUGFnZVByb2Nlc3Nvcjx1bmtub3duPj4gPVxuXHRuZXcgSW5qZWN0aW9uVG9rZW48TmdEb2NQYWdlUHJvY2Vzc29yPHVua25vd24+PignTkdfRE9DX1BBR0VfQ1VTVE9NX1BST0NFU1NPUicpO1xuXG4vKipcbiAqIFByb3ZpZGUgYSBtYWluIHByb2Nlc3NvciB0byByZXBsYWNlIGh0bWwgbm9kZXMgd2l0aCBhbiBBbmd1bGFyIGNvbXBvbmVudC5cbiAqIE1haW4gcHJvY2Vzc29ycyBhcmUgcnVuIGJlZm9yZSBjdXN0b20gcHJvY2Vzc29ycy5cbiAqIEBwYXJhbSBwcm9jZXNzb3JzIC0gVGhlIHByb2Nlc3NvciB0byBwcm92aWRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZU1haW5QYWdlUHJvY2Vzc29yPFQ+KFxuXHRwcm9jZXNzb3JzOiBOZ0RvY1BhZ2VQcm9jZXNzb3I8VD4gfCBBcnJheTxOZ0RvY1BhZ2VQcm9jZXNzb3I8VD4+LFxuKTogUHJvdmlkZXJbXSB7XG5cdHJldHVybiBhc0FycmF5KHByb2Nlc3NvcnMpLm1hcCgocHJvY2Vzc29yKSA9PiAoe1xuXHRcdHByb3ZpZGU6IE5HX0RPQ19QQUdFX1BST0NFU1NPUixcblx0XHR1c2VWYWx1ZTogcHJvY2Vzc29yLFxuXHRcdG11bHRpOiB0cnVlLFxuXHR9KSk7XG59XG5cbi8qKlxuICogUHJvdmlkZSBhIHByb2Nlc3NvciB0byByZXBsYWNlIGh0bWwgbm9kZXMgd2l0aCBhbiBBbmd1bGFyIGNvbXBvbmVudC5cbiAqIEBwYXJhbSBwcm9jZXNzb3JzIC0gVGhlIHByb2Nlc3NvciB0byBwcm92aWRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVBhZ2VQcm9jZXNzb3I8VD4oXG5cdHByb2Nlc3NvcnM6IE5nRG9jUGFnZVByb2Nlc3NvcjxUPiB8IEFycmF5PE5nRG9jUGFnZVByb2Nlc3NvcjxUPj4sXG4pOiBQcm92aWRlcltdIHtcblx0cmV0dXJuIGFzQXJyYXkocHJvY2Vzc29ycykubWFwKChwcm9jZXNzb3IpID0+ICh7XG5cdFx0cHJvdmlkZTogTkdfRE9DX1BBR0VfQ1VTVE9NX1BST0NFU1NPUixcblx0XHR1c2VWYWx1ZTogcHJvY2Vzc29yLFxuXHRcdG11bHRpOiB0cnVlLFxuXHR9KSk7XG59XG4iXX0=
@@ -29,7 +29,6 @@ class NgDocDefaultSearchEngine extends NgDocSearchEngine {
29
29
  }
30
30
  /**
31
31
  * Search the documentation for the given query.
32
- *
33
32
  * @param query The query to search for.
34
33
  */
35
34
  search(query) {
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-classes-default-search-engine.mjs","sources":["../../../../libs/app/classes/default-search-engine/default-search-engine.ts","../../../../libs/app/classes/default-search-engine/ng-doc-app-classes-default-search-engine.ts"],"sourcesContent":["import { NgDocSearchEngine } from '@ng-doc/app/classes/search-engine';\nimport { NgDocSearchResult } from '@ng-doc/app/interfaces';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { objectKeys } from '@ng-doc/core/helpers/object-keys';\nimport { NgDocPageIndex } from '@ng-doc/core/interfaces';\nimport { NgDocHighlightPosition } from '@ng-doc/ui-kit';\nimport { create, insertMultiple, Orama } from '@orama/orama';\nimport { Document } from '@orama/orama/dist/types';\nimport {\n\tafterInsert,\n\tOramaWithHighlight,\n\tSearchResultWithHighlight,\n\tsearchWithHighlight,\n} from '@orama/plugin-match-highlight';\nimport * as stemmer from '@orama/stemmers';\nimport { from, Observable } from 'rxjs';\nimport { map, shareReplay, switchMap } from 'rxjs/operators';\n\n/**\n * Options for the `NgDocDefaultSearchEngine`.\n */\nexport interface NgDocDefaultSearchEngineOptions {\n\t/**\n\t * The language to use for the search engine.\n\t */\n\tstemmer?: typeof stemmer.stemmer;\n\t/**\n\t * Specifies the maximum distance (following the Levenshtein algorithm) between the term and the searchable property.\n\t * (doesn't work with `exact` option)\n\t */\n\ttolerance?: number;\n\t/**\n\t * If `true`, finds all the document with an exact match of the term property.\n\t */\n\texact?: boolean;\n\t/**\n\t * Number of results to return (default: 10).\n\t */\n\tlimit?: number;\n}\n\ninterface SearchSchema extends Document {\n\ttitle: 'string';\n\tsectionTitle: 'string';\n\tcontent: 'string';\n}\n\n/**\n * Search engine for the documentation, it loads the index and provides a search method.\n */\nexport class NgDocDefaultSearchEngine extends NgDocSearchEngine {\n\tprivate db$: Observable<OramaWithHighlight>;\n\n\tconstructor(private options?: NgDocDefaultSearchEngineOptions) {\n\t\tsuper();\n\t\tthis.db$ = from(\n\t\t\tcreate({\n\t\t\t\tschema: {\n\t\t\t\t\ttitle: 'string',\n\t\t\t\t\tsection: 'string',\n\t\t\t\t\tcontent: 'string',\n\t\t\t\t},\n\t\t\t\tcomponents: {\n\t\t\t\t\tafterInsert: [afterInsert],\n\t\t\t\t\ttokenizer: {\n\t\t\t\t\t\tstemmer: options?.stemmer,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t).pipe(\n\t\t\tmap((db: Orama) => db as OramaWithHighlight),\n\t\t\tswitchMap((db: OramaWithHighlight) =>\n\t\t\t\tthis.request<NgDocPageIndex[]>(`assets/ng-doc/indexes.json`).pipe(\n\t\t\t\t\tswitchMap((pages: NgDocPageIndex[]) =>\n\t\t\t\t\t\tinsertMultiple(db, pages as unknown as SearchSchema[]),\n\t\t\t\t\t),\n\t\t\t\t\tmap(() => db),\n\t\t\t\t),\n\t\t\t),\n\t\t\tshareReplay(1),\n\t\t) as Observable<OramaWithHighlight>;\n\t}\n\n\t/**\n\t * Search the documentation for the given query.\n\t *\n\t * @param query The query to search for.\n\t */\n\tsearch(query: string): Observable<NgDocSearchResult[]> {\n\t\treturn this.db$.pipe(\n\t\t\tswitchMap((db: OramaWithHighlight) =>\n\t\t\t\tsearchWithHighlight(db, {\n\t\t\t\t\tterm: query,\n\t\t\t\t\tboost: { title: 4, section: 2 },\n\t\t\t\t\tproperties: ['section', 'content'],\n\t\t\t\t\ttolerance: this.options?.tolerance,\n\t\t\t\t\texact: this.options?.exact,\n\t\t\t\t\tlimit: this.options?.limit ?? 10,\n\t\t\t\t}),\n\t\t\t),\n\t\t\tmap((result: SearchResultWithHighlight) =>\n\t\t\t\tresult.hits.map((hit: SearchResultWithHighlight['hits'][0]) => {\n\t\t\t\t\tconst keys: Array<keyof NgDocPageIndex> = objectKeys(hit.positions) as unknown as Array<\n\t\t\t\t\t\tkeyof NgDocPageIndex\n\t\t\t\t\t>;\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tindex: hit.document as unknown as NgDocPageIndex,\n\t\t\t\t\t\tpositions: keys.reduce(\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tacc: Record<keyof NgDocPageIndex, NgDocHighlightPosition[]>,\n\t\t\t\t\t\t\t\tkey: keyof NgDocPageIndex,\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\tacc[key] = [...asArray(acc[key]), ...Object.values(hit.positions[key]).flat()];\n\n\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{} as any,\n\t\t\t\t\t\t) as Partial<Record<keyof NgDocPageIndex, NgDocHighlightPosition[]>>,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t),\n\t\t);\n\t}\n\n\tprivate request<T>(url: string): Observable<T> {\n\t\treturn from(fetch(url)).pipe(switchMap((response: Response) => response.json() as Promise<T>));\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AA+CA;;AAEG;AACG,MAAO,wBAAyB,SAAQ,iBAAiB,CAAA;AAG9D,IAAA,WAAA,CAAoB,OAAyC,EAAA;AAC5D,QAAA,KAAK,EAAE,CAAC;QADW,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkC;AAE5D,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CACd,MAAM,CAAC;AACN,YAAA,MAAM,EAAE;AACP,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,OAAO,EAAE,QAAQ;AACjB,aAAA;AACD,YAAA,UAAU,EAAE;gBACX,WAAW,EAAE,CAAC,WAAW,CAAC;AAC1B,gBAAA,SAAS,EAAE;oBACV,OAAO,EAAE,OAAO,EAAE,OAAO;AACzB,iBAAA;AACD,aAAA;AACD,SAAA,CAAC,CACF,CAAC,IAAI,CACL,GAAG,CAAC,CAAC,EAAS,KAAK,EAAwB,CAAC,EAC5C,SAAS,CAAC,CAAC,EAAsB,KAChC,IAAI,CAAC,OAAO,CAAmB,CAAA,0BAAA,CAA4B,CAAC,CAAC,IAAI,CAChE,SAAS,CAAC,CAAC,KAAuB,KACjC,cAAc,CAAC,EAAE,EAAE,KAAkC,CAAC,CACtD,EACD,GAAG,CAAC,MAAM,EAAE,CAAC,CACb,CACD,EACD,WAAW,CAAC,CAAC,CAAC,CACoB,CAAC;KACpC;AAED;;;;AAIG;AACH,IAAA,MAAM,CAAC,KAAa,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CACnB,SAAS,CAAC,CAAC,EAAsB,KAChC,mBAAmB,CAAC,EAAE,EAAE;AACvB,YAAA,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;AAC/B,YAAA,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;AAClC,YAAA,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS;AAClC,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK;AAC1B,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;AAChC,SAAA,CAAC,CACF,EACD,GAAG,CAAC,CAAC,MAAiC,KACrC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAyC,KAAI;YAC7D,MAAM,IAAI,GAAgC,UAAU,CAAC,GAAG,CAAC,SAAS,CAEjE,CAAC;YAEF,OAAO;gBACN,KAAK,EAAE,GAAG,CAAC,QAAqC;gBAChD,SAAS,EAAE,IAAI,CAAC,MAAM,CACrB,CACC,GAA2D,EAC3D,GAAyB,KACtB;;;AAGH,oBAAA,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAE/E,oBAAA,OAAO,GAAG,CAAC;iBACX,EACD,EAAS,CAC0D;aACpE,CAAC;SACF,CAAC,CACF,CACD,CAAC;KACF;AAEO,IAAA,OAAO,CAAI,GAAW,EAAA;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAkB,KAAK,QAAQ,CAAC,IAAI,EAAgB,CAAC,CAAC,CAAC;KAC/F;AACD;;AClID;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-classes-default-search-engine.mjs","sources":["../../../../libs/app/classes/default-search-engine/default-search-engine.ts","../../../../libs/app/classes/default-search-engine/ng-doc-app-classes-default-search-engine.ts"],"sourcesContent":["import { NgDocSearchEngine } from '@ng-doc/app/classes/search-engine';\nimport { NgDocSearchResult } from '@ng-doc/app/interfaces';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { objectKeys } from '@ng-doc/core/helpers/object-keys';\nimport { NgDocPageIndex } from '@ng-doc/core/interfaces';\nimport { NgDocHighlightPosition } from '@ng-doc/ui-kit';\nimport { create, insertMultiple, Orama } from '@orama/orama';\nimport { Document } from '@orama/orama/dist/types';\nimport {\n\tafterInsert,\n\tOramaWithHighlight,\n\tSearchResultWithHighlight,\n\tsearchWithHighlight,\n} from '@orama/plugin-match-highlight';\nimport * as stemmer from '@orama/stemmers';\nimport { from, Observable } from 'rxjs';\nimport { map, shareReplay, switchMap } from 'rxjs/operators';\n\n/**\n * Options for the `NgDocDefaultSearchEngine`.\n */\nexport interface NgDocDefaultSearchEngineOptions {\n\t/**\n\t * The language to use for the search engine.\n\t */\n\tstemmer?: typeof stemmer.stemmer;\n\t/**\n\t * Specifies the maximum distance (following the Levenshtein algorithm) between the term and the searchable property.\n\t * (doesn't work with `exact` option)\n\t */\n\ttolerance?: number;\n\t/**\n\t * If `true`, finds all the document with an exact match of the term property.\n\t */\n\texact?: boolean;\n\t/**\n\t * Number of results to return (default: 10).\n\t */\n\tlimit?: number;\n}\n\ninterface SearchSchema extends Document {\n\ttitle: 'string';\n\tsectionTitle: 'string';\n\tcontent: 'string';\n}\n\n/**\n * Search engine for the documentation, it loads the index and provides a search method.\n */\nexport class NgDocDefaultSearchEngine extends NgDocSearchEngine {\n\tprivate db$: Observable<OramaWithHighlight>;\n\n\tconstructor(private options?: NgDocDefaultSearchEngineOptions) {\n\t\tsuper();\n\t\tthis.db$ = from(\n\t\t\tcreate({\n\t\t\t\tschema: {\n\t\t\t\t\ttitle: 'string',\n\t\t\t\t\tsection: 'string',\n\t\t\t\t\tcontent: 'string',\n\t\t\t\t},\n\t\t\t\tcomponents: {\n\t\t\t\t\tafterInsert: [afterInsert],\n\t\t\t\t\ttokenizer: {\n\t\t\t\t\t\tstemmer: options?.stemmer,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t).pipe(\n\t\t\tmap((db: Orama) => db as OramaWithHighlight),\n\t\t\tswitchMap((db: OramaWithHighlight) =>\n\t\t\t\tthis.request<NgDocPageIndex[]>(`assets/ng-doc/indexes.json`).pipe(\n\t\t\t\t\tswitchMap((pages: NgDocPageIndex[]) =>\n\t\t\t\t\t\tinsertMultiple(db, pages as unknown as SearchSchema[]),\n\t\t\t\t\t),\n\t\t\t\t\tmap(() => db),\n\t\t\t\t),\n\t\t\t),\n\t\t\tshareReplay(1),\n\t\t) as Observable<OramaWithHighlight>;\n\t}\n\n\t/**\n\t * Search the documentation for the given query.\n\t * @param query The query to search for.\n\t */\n\tsearch(query: string): Observable<NgDocSearchResult[]> {\n\t\treturn this.db$.pipe(\n\t\t\tswitchMap((db: OramaWithHighlight) =>\n\t\t\t\tsearchWithHighlight(db, {\n\t\t\t\t\tterm: query,\n\t\t\t\t\tboost: { title: 4, section: 2 },\n\t\t\t\t\tproperties: ['section', 'content'],\n\t\t\t\t\ttolerance: this.options?.tolerance,\n\t\t\t\t\texact: this.options?.exact,\n\t\t\t\t\tlimit: this.options?.limit ?? 10,\n\t\t\t\t}),\n\t\t\t),\n\t\t\tmap((result: SearchResultWithHighlight) =>\n\t\t\t\tresult.hits.map((hit: SearchResultWithHighlight['hits'][0]) => {\n\t\t\t\t\tconst keys: Array<keyof NgDocPageIndex> = objectKeys(hit.positions) as unknown as Array<\n\t\t\t\t\t\tkeyof NgDocPageIndex\n\t\t\t\t\t>;\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tindex: hit.document as unknown as NgDocPageIndex,\n\t\t\t\t\t\tpositions: keys.reduce(\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tacc: Record<keyof NgDocPageIndex, NgDocHighlightPosition[]>,\n\t\t\t\t\t\t\t\tkey: keyof NgDocPageIndex,\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\tacc[key] = [...asArray(acc[key]), ...Object.values(hit.positions[key]).flat()];\n\n\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{} as any,\n\t\t\t\t\t\t) as Partial<Record<keyof NgDocPageIndex, NgDocHighlightPosition[]>>,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t),\n\t\t);\n\t}\n\n\tprivate request<T>(url: string): Observable<T> {\n\t\treturn from(fetch(url)).pipe(switchMap((response: Response) => response.json() as Promise<T>));\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AA+CA;;AAEG;AACG,MAAO,wBAAyB,SAAQ,iBAAiB,CAAA;AAG9D,IAAA,WAAA,CAAoB,OAAyC,EAAA;AAC5D,QAAA,KAAK,EAAE,CAAC;QADW,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkC;AAE5D,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CACd,MAAM,CAAC;AACN,YAAA,MAAM,EAAE;AACP,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,OAAO,EAAE,QAAQ;AACjB,aAAA;AACD,YAAA,UAAU,EAAE;gBACX,WAAW,EAAE,CAAC,WAAW,CAAC;AAC1B,gBAAA,SAAS,EAAE;oBACV,OAAO,EAAE,OAAO,EAAE,OAAO;AACzB,iBAAA;AACD,aAAA;AACD,SAAA,CAAC,CACF,CAAC,IAAI,CACL,GAAG,CAAC,CAAC,EAAS,KAAK,EAAwB,CAAC,EAC5C,SAAS,CAAC,CAAC,EAAsB,KAChC,IAAI,CAAC,OAAO,CAAmB,CAAA,0BAAA,CAA4B,CAAC,CAAC,IAAI,CAChE,SAAS,CAAC,CAAC,KAAuB,KACjC,cAAc,CAAC,EAAE,EAAE,KAAkC,CAAC,CACtD,EACD,GAAG,CAAC,MAAM,EAAE,CAAC,CACb,CACD,EACD,WAAW,CAAC,CAAC,CAAC,CACoB,CAAC;KACpC;AAED;;;AAGG;AACH,IAAA,MAAM,CAAC,KAAa,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CACnB,SAAS,CAAC,CAAC,EAAsB,KAChC,mBAAmB,CAAC,EAAE,EAAE;AACvB,YAAA,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;AAC/B,YAAA,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;AAClC,YAAA,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS;AAClC,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK;AAC1B,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;AAChC,SAAA,CAAC,CACF,EACD,GAAG,CAAC,CAAC,MAAiC,KACrC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAyC,KAAI;YAC7D,MAAM,IAAI,GAAgC,UAAU,CAAC,GAAG,CAAC,SAAS,CAEjE,CAAC;YAEF,OAAO;gBACN,KAAK,EAAE,GAAG,CAAC,QAAqC;gBAChD,SAAS,EAAE,IAAI,CAAC,MAAM,CACrB,CACC,GAA2D,EAC3D,GAAyB,KACtB;;;AAGH,oBAAA,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAE/E,oBAAA,OAAO,GAAG,CAAC;iBACX,EACD,EAAS,CAC0D;aACpE,CAAC;SACF,CAAC,CACF,CACD,CAAC;KACF;AAEO,IAAA,OAAO,CAAI,GAAW,EAAA;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAkB,KAAK,QAAQ,CAAC,IAAI,EAAgB,CAAC,CAAC,CAAC;KAC/F;AACD;;ACjID;;AAEG;;;;"}
@@ -77,7 +77,6 @@ let NgDocTocComponent = class NgDocTocComponent {
77
77
  }
78
78
  /**
79
79
  * Selects the item in the table of content.
80
- *
81
80
  * @param item - Item to select.
82
81
  */
83
82
  select(item) {
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-components-toc.mjs","sources":["../../../../libs/app/components/toc/toc-element/toc-element.component.ts","../../../../libs/app/components/toc/toc-element/toc-element.component.html","../../../../libs/app/components/toc/toc.component.ts","../../../../libs/app/components/toc/toc.component.html","../../../../libs/app/components/toc/ng-doc-app-components-toc.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Component({\n\tselector: 'li[ng-doc-toc-element]',\n\ttemplateUrl: './toc-element.component.html',\n\tstyleUrls: ['./toc-element.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n})\nexport class NgDocTocElementComponent {\n\t@Input()\n\thref: string = '';\n\n\t@Input()\n\t@HostBinding('attr.data-ng-doc-selected')\n\tselected: boolean = false;\n\n\t@Input()\n\t@HostBinding('attr.data-ng-doc-level')\n\tlevel: number = 1;\n\n\tconstructor(readonly elementRef: ElementRef<HTMLElement>) {}\n}\n","<a [href]=\"href\" [style.padding-left]=\"'calc(var(--ng-doc-toc-indent) * ' + level + ')'\">\n\t<ng-content></ng-content>\n</a>\n","import { DOCUMENT, NgFor } from '@angular/common';\nimport {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tinject,\n\tInput,\n\tNgZone,\n\tQueryList,\n\tRenderer2,\n\tViewChild,\n\tViewChildren,\n} from '@angular/core';\nimport { Event as REvent, Router, Scroll } from '@angular/router';\nimport { NgDocPageToc, NgDocTocItem } from '@ng-doc/app/interfaces';\nimport { isPresent } from '@ng-doc/core/helpers/is-present';\nimport { NgDocMediaQueryDirective, ngDocZoneOptimize } from '@ng-doc/ui-kit';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { fromEvent, merge, Observable } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, map, startWith } from 'rxjs/operators';\n\nimport { NgDocTocElementComponent } from './toc-element/toc-element.component';\n\n@Component({\n\tselector: 'ng-doc-toc',\n\ttemplateUrl: './toc.component.html',\n\tstyleUrls: ['./toc.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [NgFor, NgDocTocElementComponent, NgDocMediaQueryDirective],\n})\n@UntilDestroy()\nexport class NgDocTocComponent implements AfterViewInit, NgDocPageToc {\n\t@Input()\n\ttableOfContent: NgDocTocItem[] = [];\n\n\t@ViewChild('selection', { read: ElementRef })\n\tselection?: ElementRef<HTMLElement>;\n\n\t@ViewChildren(NgDocTocElementComponent)\n\telements: QueryList<NgDocTocElementComponent> = new QueryList<NgDocTocElementComponent>();\n\n\tactiveItem?: NgDocTocItem;\n\n\tprotected readonly document: Document = inject(DOCUMENT);\n\tprotected readonly ngZone: NgZone = inject(NgZone);\n\tprotected readonly changeDetectorRef: ChangeDetectorRef = inject(ChangeDetectorRef);\n\tprotected readonly renderer: Renderer2 = inject(Renderer2);\n\tprotected readonly router: Router = inject(Router);\n\n\tngAfterViewInit(): void {\n\t\tconst scrollSelection: Observable<NgDocTocItem> = fromEvent(this.document, 'scroll').pipe(\n\t\t\tfilter(() => !!this.tableOfContent.length),\n\t\t\tmap((event: Event) => (event.target as Document).scrollingElement as HTMLElement),\n\t\t\tstartWith(this.document.scrollingElement as HTMLElement),\n\t\t\tmap((target: HTMLElement) => {\n\t\t\t\tconst percentage: number =\n\t\t\t\t\t(target.scrollTop * 100) / (target.scrollHeight - target.offsetHeight);\n\t\t\t\tconst selectionLine: number = target.scrollTop + (target.offsetHeight * percentage) / 100;\n\n\t\t\t\tif (!this.tableOfContent.length) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn this.tableOfContent.reduce((pTarget: NgDocTocItem, cTarget: NgDocTocItem) => {\n\t\t\t\t\tconst pTop: number = pTarget.element.getBoundingClientRect().top + target.scrollTop;\n\t\t\t\t\tconst cTop: number = cTarget.element.getBoundingClientRect().top + target.scrollTop;\n\n\t\t\t\t\treturn Math.abs(cTop - selectionLine) < Math.abs(pTop - selectionLine)\n\t\t\t\t\t\t? cTarget\n\t\t\t\t\t\t: pTarget;\n\t\t\t\t});\n\t\t\t}),\n\t\t\tfilter(isPresent),\n\t\t);\n\n\t\tconst routerSelection: Observable<NgDocTocItem> = this.router.events.pipe(\n\t\t\tmap((event: REvent) => {\n\t\t\t\tif (event instanceof Scroll) {\n\t\t\t\t\tconst item: NgDocTocItem | undefined = this.tableOfContent.find((item: NgDocTocItem) =>\n\t\t\t\t\t\titem.path.includes(event.routerEvent.url),\n\t\t\t\t\t);\n\n\t\t\t\t\tif (item) {\n\t\t\t\t\t\treturn item;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn null;\n\t\t\t}),\n\t\t\tfilter(isPresent),\n\t\t\tdebounceTime(20),\n\t\t);\n\n\t\tconst elementsChanges = this.elements.changes.pipe(\n\t\t\tmap(() => this.activeItem),\n\t\t\tfilter(isPresent),\n\t\t);\n\n\t\tmerge(merge(scrollSelection, routerSelection).pipe(distinctUntilChanged()), elementsChanges)\n\t\t\t.pipe(ngDocZoneOptimize(this.ngZone), untilDestroyed(this))\n\t\t\t.subscribe(this.select.bind(this));\n\t}\n\n\t/**\n\t * Selects the item in the table of content.\n\t *\n\t * @param item - Item to select.\n\t */\n\tprotected select(item: NgDocTocItem): void {\n\t\tconst index: number = this.tableOfContent.indexOf(item);\n\n\t\tif (this.selection) {\n\t\t\tconst element: HTMLElement | undefined =\n\t\t\t\tthis.elements.toArray()[index]?.elementRef.nativeElement;\n\n\t\t\tif (element) {\n\t\t\t\tthis.renderer.setStyle(this.selection.nativeElement, 'top', `${element.offsetTop}px`);\n\t\t\t\tthis.renderer.setStyle(this.selection.nativeElement, 'height', `${element.offsetHeight}px`);\n\n\t\t\t\telement.scrollIntoView({ block: 'nearest' });\n\t\t\t}\n\t\t}\n\n\t\tthis.activeItem = item;\n\t\tthis.changeDetectorRef.detectChanges();\n\t}\n}\n","<ng-template\n\t[ngDocMediaQuery]=\"[mediaQuery.breakpoints.Large, mediaQuery.breakpoints.XLarge]\"\n\t#mediaQuery=\"ngDocMediaQuery\">\n\t<div class=\"ng-doc-toc-wrapper\">\n\t\t<div class=\"ng-doc-toc-container\">\n\t\t\t<div class=\"ng-doc-toc-selection\" #selection></div>\n\t\t\t<ul class=\"ng-doc-toc\">\n\t\t\t\t<li\n\t\t\t\t\t*ngFor=\"let item of tableOfContent\"\n\t\t\t\t\tng-doc-toc-element\n\t\t\t\t\t[href]=\"item.path\"\n\t\t\t\t\t[level]=\"item.level\"\n\t\t\t\t\t[selected]=\"item === activeItem\">\n\t\t\t\t\t{{ item.title }}\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;MASa,wBAAwB,CAAA;AAYpC,IAAA,WAAA,CAAqB,UAAmC,EAAA;QAAnC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QAVxD,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;QAIlB,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAI1B,IAAK,CAAA,KAAA,GAAW,CAAC,CAAC;KAE0C;8GAZhD,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,kQCTrC,oIAGA,EAAA,MAAA,EAAA,CAAA,8kBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FDMa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAGjB,eAAA,EAAA,uBAAuB,CAAC,MAAM,cACnC,IAAI,EAAA,QAAA,EAAA,oIAAA,EAAA,MAAA,EAAA,CAAA,8kBAAA,CAAA,EAAA,CAAA;+EAIhB,IAAI,EAAA,CAAA;sBADH,KAAK;gBAKN,QAAQ,EAAA,CAAA;sBAFP,KAAK;;sBACL,WAAW;uBAAC,2BAA2B,CAAA;gBAKxC,KAAK,EAAA,CAAA;sBAFJ,KAAK;;sBACL,WAAW;uBAAC,wBAAwB,CAAA;;;AEgBzB,IAAA,iBAAiB,GAAvB,MAAM,iBAAiB,CAAA;AAAvB,IAAA,WAAA,GAAA;QAEN,IAAc,CAAA,cAAA,GAAmB,EAAE,CAAC;AAMpC,QAAA,IAAA,CAAA,QAAQ,GAAwC,IAAI,SAAS,EAA4B,CAAC;AAIvE,QAAA,IAAA,CAAA,QAAQ,GAAa,MAAM,CAAC,QAAQ,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,CAAC;AAChC,QAAA,IAAA,CAAA,iBAAiB,GAAsB,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACjE,QAAA,IAAA,CAAA,QAAQ,GAAc,MAAM,CAAC,SAAS,CAAC,CAAC;AACxC,QAAA,IAAA,CAAA,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,CAAC;AA+EnD,KAAA;IA7EA,eAAe,GAAA;QACd,MAAM,eAAe,GAA6B,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CACxF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAC1C,GAAG,CAAC,CAAC,KAAY,KAAM,KAAK,CAAC,MAAmB,CAAC,gBAA+B,CAAC,EACjF,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAA+B,CAAC,EACxD,GAAG,CAAC,CAAC,MAAmB,KAAI;AAC3B,YAAA,MAAM,UAAU,GACf,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,KAAK,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACxE,YAAA,MAAM,aAAa,GAAW,MAAM,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,YAAY,GAAG,UAAU,IAAI,GAAG,CAAC;AAE1F,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;AAChC,gBAAA,OAAO,IAAI,CAAC;AACZ,aAAA;YAED,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAqB,EAAE,OAAqB,KAAI;AAClF,gBAAA,MAAM,IAAI,GAAW,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC;AACpF,gBAAA,MAAM,IAAI,GAAW,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC;AAEpF,gBAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,aAAa,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,aAAa,CAAC;AACrE,sBAAE,OAAO;sBACP,OAAO,CAAC;AACZ,aAAC,CAAC,CAAC;AACJ,SAAC,CAAC,EACF,MAAM,CAAC,SAAS,CAAC,CACjB,CAAC;AAEF,QAAA,MAAM,eAAe,GAA6B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACxE,GAAG,CAAC,CAAC,KAAa,KAAI;YACrB,IAAI,KAAK,YAAY,MAAM,EAAE;gBAC5B,MAAM,IAAI,GAA6B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAkB,KAClF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CACzC,CAAC;AAEF,gBAAA,IAAI,IAAI,EAAE;AACT,oBAAA,OAAO,IAAI,CAAC;AACZ,iBAAA;AACD,aAAA;AAED,YAAA,OAAO,IAAI,CAAC;AACb,SAAC,CAAC,EACF,MAAM,CAAC,SAAS,CAAC,EACjB,YAAY,CAAC,EAAE,CAAC,CAChB,CAAC;QAEF,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CACjD,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAC1B,MAAM,CAAC,SAAS,CAAC,CACjB,CAAC;AAEF,QAAA,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,EAAE,eAAe,CAAC;AAC1F,aAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;aAC1D,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACpC;AAED;;;;AAIG;AACO,IAAA,MAAM,CAAC,IAAkB,EAAA;QAClC,MAAM,KAAK,GAAW,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAExD,IAAI,IAAI,CAAC,SAAS,EAAE;AACnB,YAAA,MAAM,OAAO,GACZ,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC;AAE1D,YAAA,IAAI,OAAO,EAAE;AACZ,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,EAAE,CAAG,EAAA,OAAO,CAAC,SAAS,CAAA,EAAA,CAAI,CAAC,CAAC;AACtF,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAG,EAAA,OAAO,CAAC,YAAY,CAAA,EAAA,CAAI,CAAC,CAAC;gBAE5F,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AAC7C,aAAA;AACD,SAAA;AAED,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;KACvC;8GA9FW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAIG,UAAU,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,SAAA,EAG5B,wBAAwB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzCvC,omBAmBA,EAAA,MAAA,EAAA,CAAA,uuBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDYW,KAAK,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,wBAAwB,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;AAGvD,iBAAiB,GAAA,UAAA,CAAA;AAD7B,IAAA,YAAY,EAAE;AACF,CAAA,EAAA,iBAAiB,CA+F7B,CAAA;2FA/FY,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAT7B,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAGL,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,KAAK,EAAE,wBAAwB,EAAE,wBAAwB,CAAC,EAAA,QAAA,EAAA,omBAAA,EAAA,MAAA,EAAA,CAAA,uuBAAA,CAAA,EAAA,CAAA;8BAKpE,cAAc,EAAA,CAAA;sBADb,KAAK;gBAIN,SAAS,EAAA,CAAA;sBADR,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAI5C,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,wBAAwB,CAAA;;;AEzCvC;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-components-toc.mjs","sources":["../../../../libs/app/components/toc/toc-element/toc-element.component.ts","../../../../libs/app/components/toc/toc-element/toc-element.component.html","../../../../libs/app/components/toc/toc.component.ts","../../../../libs/app/components/toc/toc.component.html","../../../../libs/app/components/toc/ng-doc-app-components-toc.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Component({\n\tselector: 'li[ng-doc-toc-element]',\n\ttemplateUrl: './toc-element.component.html',\n\tstyleUrls: ['./toc-element.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n})\nexport class NgDocTocElementComponent {\n\t@Input()\n\thref: string = '';\n\n\t@Input()\n\t@HostBinding('attr.data-ng-doc-selected')\n\tselected: boolean = false;\n\n\t@Input()\n\t@HostBinding('attr.data-ng-doc-level')\n\tlevel: number = 1;\n\n\tconstructor(readonly elementRef: ElementRef<HTMLElement>) {}\n}\n","<a [href]=\"href\" [style.padding-left]=\"'calc(var(--ng-doc-toc-indent) * ' + level + ')'\">\n\t<ng-content></ng-content>\n</a>\n","import { DOCUMENT, NgFor } from '@angular/common';\nimport {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tinject,\n\tInput,\n\tNgZone,\n\tQueryList,\n\tRenderer2,\n\tViewChild,\n\tViewChildren,\n} from '@angular/core';\nimport { Event as REvent, Router, Scroll } from '@angular/router';\nimport { NgDocPageToc, NgDocTocItem } from '@ng-doc/app/interfaces';\nimport { isPresent } from '@ng-doc/core/helpers/is-present';\nimport { NgDocMediaQueryDirective, ngDocZoneOptimize } from '@ng-doc/ui-kit';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { fromEvent, merge, Observable } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, map, startWith } from 'rxjs/operators';\n\nimport { NgDocTocElementComponent } from './toc-element/toc-element.component';\n\n@Component({\n\tselector: 'ng-doc-toc',\n\ttemplateUrl: './toc.component.html',\n\tstyleUrls: ['./toc.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [NgFor, NgDocTocElementComponent, NgDocMediaQueryDirective],\n})\n@UntilDestroy()\nexport class NgDocTocComponent implements AfterViewInit, NgDocPageToc {\n\t@Input()\n\ttableOfContent: NgDocTocItem[] = [];\n\n\t@ViewChild('selection', { read: ElementRef })\n\tselection?: ElementRef<HTMLElement>;\n\n\t@ViewChildren(NgDocTocElementComponent)\n\telements: QueryList<NgDocTocElementComponent> = new QueryList<NgDocTocElementComponent>();\n\n\tactiveItem?: NgDocTocItem;\n\n\tprotected readonly document: Document = inject(DOCUMENT);\n\tprotected readonly ngZone: NgZone = inject(NgZone);\n\tprotected readonly changeDetectorRef: ChangeDetectorRef = inject(ChangeDetectorRef);\n\tprotected readonly renderer: Renderer2 = inject(Renderer2);\n\tprotected readonly router: Router = inject(Router);\n\n\tngAfterViewInit(): void {\n\t\tconst scrollSelection: Observable<NgDocTocItem> = fromEvent(this.document, 'scroll').pipe(\n\t\t\tfilter(() => !!this.tableOfContent.length),\n\t\t\tmap((event: Event) => (event.target as Document).scrollingElement as HTMLElement),\n\t\t\tstartWith(this.document.scrollingElement as HTMLElement),\n\t\t\tmap((target: HTMLElement) => {\n\t\t\t\tconst percentage: number =\n\t\t\t\t\t(target.scrollTop * 100) / (target.scrollHeight - target.offsetHeight);\n\t\t\t\tconst selectionLine: number = target.scrollTop + (target.offsetHeight * percentage) / 100;\n\n\t\t\t\tif (!this.tableOfContent.length) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn this.tableOfContent.reduce((pTarget: NgDocTocItem, cTarget: NgDocTocItem) => {\n\t\t\t\t\tconst pTop: number = pTarget.element.getBoundingClientRect().top + target.scrollTop;\n\t\t\t\t\tconst cTop: number = cTarget.element.getBoundingClientRect().top + target.scrollTop;\n\n\t\t\t\t\treturn Math.abs(cTop - selectionLine) < Math.abs(pTop - selectionLine)\n\t\t\t\t\t\t? cTarget\n\t\t\t\t\t\t: pTarget;\n\t\t\t\t});\n\t\t\t}),\n\t\t\tfilter(isPresent),\n\t\t);\n\n\t\tconst routerSelection: Observable<NgDocTocItem> = this.router.events.pipe(\n\t\t\tmap((event: REvent) => {\n\t\t\t\tif (event instanceof Scroll) {\n\t\t\t\t\tconst item: NgDocTocItem | undefined = this.tableOfContent.find((item: NgDocTocItem) =>\n\t\t\t\t\t\titem.path.includes(event.routerEvent.url),\n\t\t\t\t\t);\n\n\t\t\t\t\tif (item) {\n\t\t\t\t\t\treturn item;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn null;\n\t\t\t}),\n\t\t\tfilter(isPresent),\n\t\t\tdebounceTime(20),\n\t\t);\n\n\t\tconst elementsChanges = this.elements.changes.pipe(\n\t\t\tmap(() => this.activeItem),\n\t\t\tfilter(isPresent),\n\t\t);\n\n\t\tmerge(merge(scrollSelection, routerSelection).pipe(distinctUntilChanged()), elementsChanges)\n\t\t\t.pipe(ngDocZoneOptimize(this.ngZone), untilDestroyed(this))\n\t\t\t.subscribe(this.select.bind(this));\n\t}\n\n\t/**\n\t * Selects the item in the table of content.\n\t * @param item - Item to select.\n\t */\n\tprotected select(item: NgDocTocItem): void {\n\t\tconst index: number = this.tableOfContent.indexOf(item);\n\n\t\tif (this.selection) {\n\t\t\tconst element: HTMLElement | undefined =\n\t\t\t\tthis.elements.toArray()[index]?.elementRef.nativeElement;\n\n\t\t\tif (element) {\n\t\t\t\tthis.renderer.setStyle(this.selection.nativeElement, 'top', `${element.offsetTop}px`);\n\t\t\t\tthis.renderer.setStyle(this.selection.nativeElement, 'height', `${element.offsetHeight}px`);\n\n\t\t\t\telement.scrollIntoView({ block: 'nearest' });\n\t\t\t}\n\t\t}\n\n\t\tthis.activeItem = item;\n\t\tthis.changeDetectorRef.detectChanges();\n\t}\n}\n","<ng-template\n\t[ngDocMediaQuery]=\"[mediaQuery.breakpoints.Large, mediaQuery.breakpoints.XLarge]\"\n\t#mediaQuery=\"ngDocMediaQuery\">\n\t<div class=\"ng-doc-toc-wrapper\">\n\t\t<div class=\"ng-doc-toc-container\">\n\t\t\t<div class=\"ng-doc-toc-selection\" #selection></div>\n\t\t\t<ul class=\"ng-doc-toc\">\n\t\t\t\t<li\n\t\t\t\t\t*ngFor=\"let item of tableOfContent\"\n\t\t\t\t\tng-doc-toc-element\n\t\t\t\t\t[href]=\"item.path\"\n\t\t\t\t\t[level]=\"item.level\"\n\t\t\t\t\t[selected]=\"item === activeItem\">\n\t\t\t\t\t{{ item.title }}\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;MASa,wBAAwB,CAAA;AAYpC,IAAA,WAAA,CAAqB,UAAmC,EAAA;QAAnC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QAVxD,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;QAIlB,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAI1B,IAAK,CAAA,KAAA,GAAW,CAAC,CAAC;KAE0C;8GAZhD,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,kQCTrC,oIAGA,EAAA,MAAA,EAAA,CAAA,8kBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FDMa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAGjB,eAAA,EAAA,uBAAuB,CAAC,MAAM,cACnC,IAAI,EAAA,QAAA,EAAA,oIAAA,EAAA,MAAA,EAAA,CAAA,8kBAAA,CAAA,EAAA,CAAA;+EAIhB,IAAI,EAAA,CAAA;sBADH,KAAK;gBAKN,QAAQ,EAAA,CAAA;sBAFP,KAAK;;sBACL,WAAW;uBAAC,2BAA2B,CAAA;gBAKxC,KAAK,EAAA,CAAA;sBAFJ,KAAK;;sBACL,WAAW;uBAAC,wBAAwB,CAAA;;;AEgBzB,IAAA,iBAAiB,GAAvB,MAAM,iBAAiB,CAAA;AAAvB,IAAA,WAAA,GAAA;QAEN,IAAc,CAAA,cAAA,GAAmB,EAAE,CAAC;AAMpC,QAAA,IAAA,CAAA,QAAQ,GAAwC,IAAI,SAAS,EAA4B,CAAC;AAIvE,QAAA,IAAA,CAAA,QAAQ,GAAa,MAAM,CAAC,QAAQ,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,CAAC;AAChC,QAAA,IAAA,CAAA,iBAAiB,GAAsB,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACjE,QAAA,IAAA,CAAA,QAAQ,GAAc,MAAM,CAAC,SAAS,CAAC,CAAC;AACxC,QAAA,IAAA,CAAA,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,CAAC;AA8EnD,KAAA;IA5EA,eAAe,GAAA;QACd,MAAM,eAAe,GAA6B,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CACxF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAC1C,GAAG,CAAC,CAAC,KAAY,KAAM,KAAK,CAAC,MAAmB,CAAC,gBAA+B,CAAC,EACjF,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAA+B,CAAC,EACxD,GAAG,CAAC,CAAC,MAAmB,KAAI;AAC3B,YAAA,MAAM,UAAU,GACf,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,KAAK,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACxE,YAAA,MAAM,aAAa,GAAW,MAAM,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,YAAY,GAAG,UAAU,IAAI,GAAG,CAAC;AAE1F,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;AAChC,gBAAA,OAAO,IAAI,CAAC;AACZ,aAAA;YAED,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAqB,EAAE,OAAqB,KAAI;AAClF,gBAAA,MAAM,IAAI,GAAW,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC;AACpF,gBAAA,MAAM,IAAI,GAAW,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC;AAEpF,gBAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,aAAa,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,aAAa,CAAC;AACrE,sBAAE,OAAO;sBACP,OAAO,CAAC;AACZ,aAAC,CAAC,CAAC;AACJ,SAAC,CAAC,EACF,MAAM,CAAC,SAAS,CAAC,CACjB,CAAC;AAEF,QAAA,MAAM,eAAe,GAA6B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACxE,GAAG,CAAC,CAAC,KAAa,KAAI;YACrB,IAAI,KAAK,YAAY,MAAM,EAAE;gBAC5B,MAAM,IAAI,GAA6B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAkB,KAClF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CACzC,CAAC;AAEF,gBAAA,IAAI,IAAI,EAAE;AACT,oBAAA,OAAO,IAAI,CAAC;AACZ,iBAAA;AACD,aAAA;AAED,YAAA,OAAO,IAAI,CAAC;AACb,SAAC,CAAC,EACF,MAAM,CAAC,SAAS,CAAC,EACjB,YAAY,CAAC,EAAE,CAAC,CAChB,CAAC;QAEF,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CACjD,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAC1B,MAAM,CAAC,SAAS,CAAC,CACjB,CAAC;AAEF,QAAA,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,EAAE,eAAe,CAAC;AAC1F,aAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;aAC1D,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACpC;AAED;;;AAGG;AACO,IAAA,MAAM,CAAC,IAAkB,EAAA;QAClC,MAAM,KAAK,GAAW,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAExD,IAAI,IAAI,CAAC,SAAS,EAAE;AACnB,YAAA,MAAM,OAAO,GACZ,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC;AAE1D,YAAA,IAAI,OAAO,EAAE;AACZ,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,EAAE,CAAG,EAAA,OAAO,CAAC,SAAS,CAAA,EAAA,CAAI,CAAC,CAAC;AACtF,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAG,EAAA,OAAO,CAAC,YAAY,CAAA,EAAA,CAAI,CAAC,CAAC;gBAE5F,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AAC7C,aAAA;AACD,SAAA;AAED,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;KACvC;8GA7FW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAIG,UAAU,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,SAAA,EAG5B,wBAAwB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzCvC,omBAmBA,EAAA,MAAA,EAAA,CAAA,uuBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDYW,KAAK,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,wBAAwB,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;AAGvD,iBAAiB,GAAA,UAAA,CAAA;AAD7B,IAAA,YAAY,EAAE;AACF,CAAA,EAAA,iBAAiB,CA8F7B,CAAA;2FA9FY,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAT7B,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAGL,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,KAAK,EAAE,wBAAwB,EAAE,wBAAwB,CAAC,EAAA,QAAA,EAAA,omBAAA,EAAA,MAAA,EAAA,CAAA,uuBAAA,CAAA,EAAA,CAAA;8BAKpE,cAAc,EAAA,CAAA;sBADb,KAAK;gBAIN,SAAS,EAAA,CAAA;sBADR,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAI5C,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,wBAAwB,CAAA;;;AEzCvC;;AAEG;;;;"}
@@ -50,7 +50,6 @@ async function formatHtml(html) {
50
50
 
51
51
  /**
52
52
  * Generate table of contents, only for headings with id
53
- *
54
53
  * @param container
55
54
  * @param headings
56
55
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-helpers.mjs","sources":["../../../../libs/app/helpers/as-boolean.ts","../../../../libs/app/helpers/create-component.ts","../../../../libs/app/helpers/format-html.ts","../../../../libs/app/helpers/generate-toc.ts","../../../../libs/app/helpers/is-dark-os-theme.ts","../../../../libs/app/helpers/is-external-link.ts","../../../../libs/app/helpers/is-playground-property.ts","../../../../libs/app/helpers/ng-doc-app-helpers.ts"],"sourcesContent":["/**\n *\n * @param value\n */\nexport function asBoolean(value: unknown): boolean {\n\tif (typeof value === 'string') {\n\t\treturn value.toLowerCase() === 'true'\n\t\t\t? true\n\t\t\t: value.toLowerCase() === 'false'\n\t\t\t? false\n\t\t\t: !!value;\n\t}\n\treturn !!value;\n}\n","import { Type, ViewContainerRef } from '@angular/core';\n\n/**\n *\n * @param viewContainer\n * @param component\n * @param inputs\n */\nexport function createComponent<T>(\n\tviewContainer: ViewContainerRef,\n\tcomponent: Type<T>,\n\tinputs?: object,\n): void {\n\tconst componentRef = viewContainer.createComponent(component);\n\n\tif (inputs) {\n\t\tObject.entries(inputs).forEach(([key, value]) => {\n\t\t\tcomponentRef.setInput(key, value);\n\t\t});\n\t}\n\n\tcomponentRef.changeDetectorRef.detectChanges();\n}\n","/**\n *\n * @param html\n */\nexport async function formatHtml(html: string): Promise<string> {\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-ignore\n\tconst formatter = await import('esthetic');\n\n\treturn formatter.default.html(html.trim(), {\n\t\twrap: 50,\n\t\tmarkup: {\n\t\t\tforceIndent: true,\n\t\t},\n\t});\n}\n","import { NgDocTocItem } from '@ng-doc/app/interfaces';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { NgDocHeading } from '@ng-doc/core/types';\n\n/**\n * Generate table of contents, only for headings with id\n *\n * @param container\n * @param headings\n */\nexport function generateToc(container: HTMLElement): NgDocTocItem[] {\n\tconst headings: NgDocHeading[] = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];\n\n\tconst headingElements: HTMLHeadingElement[] = Array.from(\n\t\tcontainer.querySelectorAll<HTMLHeadingElement>(headings.join(', ')),\n\t).filter((heading: HTMLHeadingElement) => heading.id);\n\n\tconst levels: number[] = asArray(new Set(headingElements.map(levelFromTagName).sort()));\n\n\treturn headingElements.reduce((map: NgDocTocItem[], heading: HTMLHeadingElement) => {\n\t\tconst headingLevel: number = levelFromTagName(heading);\n\t\tconst anchor: HTMLAnchorElement | null =\n\t\t\theading.querySelector<HTMLAnchorElement>('a.ng-doc-header-link');\n\n\t\tif (anchor) {\n\t\t\tmap.push({\n\t\t\t\ttitle: heading.textContent?.trim() ?? '',\n\t\t\t\telement: heading,\n\t\t\t\tpath: anchor.pathname + anchor.hash,\n\t\t\t\tlevel: levels.indexOf(headingLevel) + 1,\n\t\t\t});\n\t\t}\n\n\t\treturn map;\n\t}, []);\n}\n\n/**\n *\n * @param heading\n */\nfunction levelFromTagName(heading: HTMLHeadingElement): number {\n\treturn Number(heading.tagName.toLowerCase().replace(/[a-z]*/g, '') || 1);\n}\n","/**\n * Check if the OS theme is dark\n */\nexport function isDarkOsTheme(): boolean {\n\treturn window.matchMedia('(prefers-color-scheme: dark)').matches;\n}\n","/**\n *\n * @param url\n */\nexport function isExternalLink(url: string): boolean {\n\tconst anchorElement: HTMLAnchorElement = document.createElement('a');\n\n\tanchorElement.href = url;\n\n\treturn anchorElement.host !== window.location.host;\n}\n","import {objectKeys} from '@ng-doc/core/helpers/object-keys';\nimport {NgDocPlaygroundProperty} from '@ng-doc/core/interfaces';\n\n/**\n *\n * @param obj\n */\nexport function isPlaygroundProperty(obj: Record<string, any>): obj is NgDocPlaygroundProperty {\n\treturn objectKeys(obj).includes('type');\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-doc-app-helpers.mjs","sources":["../../../../libs/app/helpers/as-boolean.ts","../../../../libs/app/helpers/create-component.ts","../../../../libs/app/helpers/format-html.ts","../../../../libs/app/helpers/generate-toc.ts","../../../../libs/app/helpers/is-dark-os-theme.ts","../../../../libs/app/helpers/is-external-link.ts","../../../../libs/app/helpers/is-playground-property.ts","../../../../libs/app/helpers/ng-doc-app-helpers.ts"],"sourcesContent":["/**\n *\n * @param value\n */\nexport function asBoolean(value: unknown): boolean {\n\tif (typeof value === 'string') {\n\t\treturn value.toLowerCase() === 'true'\n\t\t\t? true\n\t\t\t: value.toLowerCase() === 'false'\n\t\t\t? false\n\t\t\t: !!value;\n\t}\n\treturn !!value;\n}\n","import { Type, ViewContainerRef } from '@angular/core';\n\n/**\n *\n * @param viewContainer\n * @param component\n * @param inputs\n */\nexport function createComponent<T>(\n\tviewContainer: ViewContainerRef,\n\tcomponent: Type<T>,\n\tinputs?: object,\n): void {\n\tconst componentRef = viewContainer.createComponent(component);\n\n\tif (inputs) {\n\t\tObject.entries(inputs).forEach(([key, value]) => {\n\t\t\tcomponentRef.setInput(key, value);\n\t\t});\n\t}\n\n\tcomponentRef.changeDetectorRef.detectChanges();\n}\n","/**\n *\n * @param html\n */\nexport async function formatHtml(html: string): Promise<string> {\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-ignore\n\tconst formatter = await import('esthetic');\n\n\treturn formatter.default.html(html.trim(), {\n\t\twrap: 50,\n\t\tmarkup: {\n\t\t\tforceIndent: true,\n\t\t},\n\t});\n}\n","import { NgDocTocItem } from '@ng-doc/app/interfaces';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { NgDocHeading } from '@ng-doc/core/types';\n\n/**\n * Generate table of contents, only for headings with id\n * @param container\n * @param headings\n */\nexport function generateToc(container: HTMLElement): NgDocTocItem[] {\n\tconst headings: NgDocHeading[] = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];\n\n\tconst headingElements: HTMLHeadingElement[] = Array.from(\n\t\tcontainer.querySelectorAll<HTMLHeadingElement>(headings.join(', ')),\n\t).filter((heading: HTMLHeadingElement) => heading.id);\n\n\tconst levels: number[] = asArray(new Set(headingElements.map(levelFromTagName).sort()));\n\n\treturn headingElements.reduce((map: NgDocTocItem[], heading: HTMLHeadingElement) => {\n\t\tconst headingLevel: number = levelFromTagName(heading);\n\t\tconst anchor: HTMLAnchorElement | null =\n\t\t\theading.querySelector<HTMLAnchorElement>('a.ng-doc-header-link');\n\n\t\tif (anchor) {\n\t\t\tmap.push({\n\t\t\t\ttitle: heading.textContent?.trim() ?? '',\n\t\t\t\telement: heading,\n\t\t\t\tpath: anchor.pathname + anchor.hash,\n\t\t\t\tlevel: levels.indexOf(headingLevel) + 1,\n\t\t\t});\n\t\t}\n\n\t\treturn map;\n\t}, []);\n}\n\n/**\n *\n * @param heading\n */\nfunction levelFromTagName(heading: HTMLHeadingElement): number {\n\treturn Number(heading.tagName.toLowerCase().replace(/[a-z]*/g, '') || 1);\n}\n","/**\n * Check if the OS theme is dark\n */\nexport function isDarkOsTheme(): boolean {\n\treturn window.matchMedia('(prefers-color-scheme: dark)').matches;\n}\n","/**\n *\n * @param url\n */\nexport function isExternalLink(url: string): boolean {\n\tconst anchorElement: HTMLAnchorElement = document.createElement('a');\n\n\tanchorElement.href = url;\n\n\treturn anchorElement.host !== window.location.host;\n}\n","import {objectKeys} from '@ng-doc/core/helpers/object-keys';\nimport {NgDocPlaygroundProperty} from '@ng-doc/core/interfaces';\n\n/**\n *\n * @param obj\n */\nexport function isPlaygroundProperty(obj: Record<string, any>): obj is NgDocPlaygroundProperty {\n\treturn objectKeys(obj).includes('type');\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -8,7 +8,6 @@ import { provideNgDocUiKitConfig } from '@ng-doc/ui-kit';
8
8
 
9
9
  /**
10
10
  * Provides the NgDoc application configuration.
11
- *
12
11
  * @param config - The optional application configuration.
13
12
  */
14
13
  function provideNgDocApp(config) {
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-providers-ng-doc-app.mjs","sources":["../../../../libs/app/providers/ng-doc-app/provide-ng-doc-app.ts","../../../../libs/app/providers/ng-doc-app/ng-doc-app-providers-ng-doc-app.ts"],"sourcesContent":["import { ViewportScroller } from '@angular/common';\nimport { APP_INITIALIZER, Optional, Provider } from '@angular/core';\nimport { NG_DOC_NIGHT_THEME, NG_DOC_STORE_THEME_KEY } from '@ng-doc/app/constants';\nimport { NgDocTheme } from '@ng-doc/app/interfaces';\nimport { NgDocStoreService, NgDocThemeService } from '@ng-doc/app/services';\nimport { NG_DOC_DEFAULT_THEME_ID, NG_DOC_THEME } from '@ng-doc/app/tokens';\nimport { asArray } from '@ng-doc/core';\nimport { NgDocUiConfig, provideNgDocUiKitConfig } from '@ng-doc/ui-kit';\n\n/**\n * NgDoc application config.\n */\nexport interface NgDocApplicationConfig {\n\t/**\n\t * List of themes that will be registered in the application and can be used via `NgDocThemeService`.\n\t */\n\tthemes?: NgDocTheme[];\n\n\t/**\n\t * Default theme id.\n\t * You can use `auto` to automatically select the theme based on the user's operating system settings.\n\t */\n\tdefaultThemeId?: string | 'auto';\n\n\t/**\n\t * UI Kit configuration.\n\t */\n\tuiKit?: NgDocUiConfig;\n}\n\n/**\n * Provides the NgDoc application configuration.\n *\n * @param config - The optional application configuration.\n */\nexport function provideNgDocApp(config?: NgDocApplicationConfig): Provider[] {\n\treturn [\n\t\t/* --- Themes --- */\n\t\t{ provide: NG_DOC_THEME, useValue: NG_DOC_NIGHT_THEME, multi: true },\n\t\t...asArray(config?.themes).map((theme: NgDocTheme) => ({\n\t\t\tprovide: NG_DOC_THEME,\n\t\t\tuseValue: theme,\n\t\t\tmulti: true,\n\t\t})),\n\t\t...asArray(config?.defaultThemeId).map((themeId: string) => ({\n\t\t\tprovide: NG_DOC_DEFAULT_THEME_ID,\n\t\t\tuseValue: themeId,\n\t\t})),\n\n\t\t/* --- Theme Initializer--- */\n\t\t{\n\t\t\tprovide: APP_INITIALIZER,\n\t\t\tuseFactory: (\n\t\t\t\tthemeService: NgDocThemeService,\n\t\t\t\tstore: NgDocStoreService,\n\t\t\t\tdefaultThemeId: string | 'auto',\n\t\t\t) => {\n\t\t\t\treturn () => {\n\t\t\t\t\tconst savedThemeId: string | null = store.get(NG_DOC_STORE_THEME_KEY);\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t(defaultThemeId === 'auto' && !savedThemeId) ||\n\t\t\t\t\t\tsavedThemeId === NgDocThemeService.autoThemeId\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn themeService.enableAutoTheme(undefined, NG_DOC_NIGHT_THEME);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn themeService.set(savedThemeId ?? defaultThemeId, false);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t\tmulti: true,\n\t\t\tdeps: [NgDocThemeService, NgDocStoreService, [new Optional(), NG_DOC_DEFAULT_THEME_ID]],\n\t\t},\n\n\t\t/* --- Viewport Scroller --- */\n\t\t{\n\t\t\tprovide: APP_INITIALIZER,\n\t\t\tmulti: true,\n\t\t\tdeps: [ViewportScroller],\n\t\t\tuseFactory: (viewportScroller: ViewportScroller) => {\n\t\t\t\treturn () => viewportScroller.setOffset([0, 64]);\n\t\t\t},\n\t\t},\n\n\t\t/* --- UiKit --- */\n\t\t...provideNgDocUiKitConfig(config?.uiKit),\n\t];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AA8BA;;;;AAIG;AACG,SAAU,eAAe,CAAC,MAA+B,EAAA;IAC9D,OAAO;;QAEN,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE;AACpE,QAAA,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAiB,MAAM;AACtD,YAAA,OAAO,EAAE,YAAY;AACrB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,KAAK,EAAE,IAAI;AACX,SAAA,CAAC,CAAC;AACH,QAAA,GAAG,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,OAAe,MAAM;AAC5D,YAAA,OAAO,EAAE,uBAAuB;AAChC,YAAA,QAAQ,EAAE,OAAO;AACjB,SAAA,CAAC,CAAC;;AAGH,QAAA;AACC,YAAA,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,CACX,YAA+B,EAC/B,KAAwB,EACxB,cAA+B,KAC5B;AACH,gBAAA,OAAO,MAAK;oBACX,MAAM,YAAY,GAAkB,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAEtE,oBAAA,IACC,CAAC,cAAc,KAAK,MAAM,IAAI,CAAC,YAAY;AAC3C,wBAAA,YAAY,KAAK,iBAAiB,CAAC,WAAW,EAC7C;wBACD,OAAO,YAAY,CAAC,eAAe,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;AACnE,qBAAA;AAAM,yBAAA;wBACN,OAAO,YAAY,CAAC,GAAG,CAAC,YAAY,IAAI,cAAc,EAAE,KAAK,CAAC,CAAC;AAC/D,qBAAA;AACF,iBAAC,CAAC;aACF;AACD,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,IAAI,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC,IAAI,QAAQ,EAAE,EAAE,uBAAuB,CAAC,CAAC;AACvF,SAAA;;AAGD,QAAA;AACC,YAAA,OAAO,EAAE,eAAe;AACxB,YAAA,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,CAAC,gBAAgB,CAAC;AACxB,YAAA,UAAU,EAAE,CAAC,gBAAkC,KAAI;AAClD,gBAAA,OAAO,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aACjD;AACD,SAAA;;AAGD,QAAA,GAAG,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC;KACzC,CAAC;AACH;;ACvFA;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-providers-ng-doc-app.mjs","sources":["../../../../libs/app/providers/ng-doc-app/provide-ng-doc-app.ts","../../../../libs/app/providers/ng-doc-app/ng-doc-app-providers-ng-doc-app.ts"],"sourcesContent":["import { ViewportScroller } from '@angular/common';\nimport { APP_INITIALIZER, Optional, Provider } from '@angular/core';\nimport { NG_DOC_NIGHT_THEME, NG_DOC_STORE_THEME_KEY } from '@ng-doc/app/constants';\nimport { NgDocTheme } from '@ng-doc/app/interfaces';\nimport { NgDocStoreService, NgDocThemeService } from '@ng-doc/app/services';\nimport { NG_DOC_DEFAULT_THEME_ID, NG_DOC_THEME } from '@ng-doc/app/tokens';\nimport { asArray } from '@ng-doc/core';\nimport { NgDocUiConfig, provideNgDocUiKitConfig } from '@ng-doc/ui-kit';\n\n/**\n * NgDoc application config.\n */\nexport interface NgDocApplicationConfig {\n\t/**\n\t * List of themes that will be registered in the application and can be used via `NgDocThemeService`.\n\t */\n\tthemes?: NgDocTheme[];\n\n\t/**\n\t * Default theme id.\n\t * You can use `auto` to automatically select the theme based on the user's operating system settings.\n\t */\n\tdefaultThemeId?: string | 'auto';\n\n\t/**\n\t * UI Kit configuration.\n\t */\n\tuiKit?: NgDocUiConfig;\n}\n\n/**\n * Provides the NgDoc application configuration.\n * @param config - The optional application configuration.\n */\nexport function provideNgDocApp(config?: NgDocApplicationConfig): Provider[] {\n\treturn [\n\t\t/* --- Themes --- */\n\t\t{ provide: NG_DOC_THEME, useValue: NG_DOC_NIGHT_THEME, multi: true },\n\t\t...asArray(config?.themes).map((theme: NgDocTheme) => ({\n\t\t\tprovide: NG_DOC_THEME,\n\t\t\tuseValue: theme,\n\t\t\tmulti: true,\n\t\t})),\n\t\t...asArray(config?.defaultThemeId).map((themeId: string) => ({\n\t\t\tprovide: NG_DOC_DEFAULT_THEME_ID,\n\t\t\tuseValue: themeId,\n\t\t})),\n\n\t\t/* --- Theme Initializer--- */\n\t\t{\n\t\t\tprovide: APP_INITIALIZER,\n\t\t\tuseFactory: (\n\t\t\t\tthemeService: NgDocThemeService,\n\t\t\t\tstore: NgDocStoreService,\n\t\t\t\tdefaultThemeId: string | 'auto',\n\t\t\t) => {\n\t\t\t\treturn () => {\n\t\t\t\t\tconst savedThemeId: string | null = store.get(NG_DOC_STORE_THEME_KEY);\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t(defaultThemeId === 'auto' && !savedThemeId) ||\n\t\t\t\t\t\tsavedThemeId === NgDocThemeService.autoThemeId\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn themeService.enableAutoTheme(undefined, NG_DOC_NIGHT_THEME);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn themeService.set(savedThemeId ?? defaultThemeId, false);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t\tmulti: true,\n\t\t\tdeps: [NgDocThemeService, NgDocStoreService, [new Optional(), NG_DOC_DEFAULT_THEME_ID]],\n\t\t},\n\n\t\t/* --- Viewport Scroller --- */\n\t\t{\n\t\t\tprovide: APP_INITIALIZER,\n\t\t\tmulti: true,\n\t\t\tdeps: [ViewportScroller],\n\t\t\tuseFactory: (viewportScroller: ViewportScroller) => {\n\t\t\t\treturn () => viewportScroller.setOffset([0, 64]);\n\t\t\t},\n\t\t},\n\n\t\t/* --- UiKit --- */\n\t\t...provideNgDocUiKitConfig(config?.uiKit),\n\t];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AA8BA;;;AAGG;AACG,SAAU,eAAe,CAAC,MAA+B,EAAA;IAC9D,OAAO;;QAEN,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE;AACpE,QAAA,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAiB,MAAM;AACtD,YAAA,OAAO,EAAE,YAAY;AACrB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,KAAK,EAAE,IAAI;AACX,SAAA,CAAC,CAAC;AACH,QAAA,GAAG,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,OAAe,MAAM;AAC5D,YAAA,OAAO,EAAE,uBAAuB;AAChC,YAAA,QAAQ,EAAE,OAAO;AACjB,SAAA,CAAC,CAAC;;AAGH,QAAA;AACC,YAAA,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,CACX,YAA+B,EAC/B,KAAwB,EACxB,cAA+B,KAC5B;AACH,gBAAA,OAAO,MAAK;oBACX,MAAM,YAAY,GAAkB,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAEtE,oBAAA,IACC,CAAC,cAAc,KAAK,MAAM,IAAI,CAAC,YAAY;AAC3C,wBAAA,YAAY,KAAK,iBAAiB,CAAC,WAAW,EAC7C;wBACD,OAAO,YAAY,CAAC,eAAe,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;AACnE,qBAAA;AAAM,yBAAA;wBACN,OAAO,YAAY,CAAC,GAAG,CAAC,YAAY,IAAI,cAAc,EAAE,KAAK,CAAC,CAAC;AAC/D,qBAAA;AACF,iBAAC,CAAC;aACF;AACD,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,IAAI,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC,IAAI,QAAQ,EAAE,EAAE,uBAAuB,CAAC,CAAC;AACvF,SAAA;;AAGD,QAAA;AACC,YAAA,OAAO,EAAE,eAAe;AACxB,YAAA,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,CAAC,gBAAgB,CAAC;AACxB,YAAA,UAAU,EAAE,CAAC,gBAAkC,KAAI;AAClD,gBAAA,OAAO,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aACjD;AACD,SAAA;;AAGD,QAAA,GAAG,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC;KACzC,CAAC;AACH;;ACtFA;;AAEG;;;;"}
@@ -2,7 +2,6 @@ import { NG_DOC_PAGE_SKELETON } from '@ng-doc/app/tokens';
2
2
 
3
3
  /**
4
4
  * Provides the skeleton components for the page.
5
- *
6
5
  * @param skeleton - The skeleton for the page.
7
6
  */
8
7
  function providePageSkeleton(skeleton) {
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-providers-page-skeleton.mjs","sources":["../../../../libs/app/providers/page-skeleton/provide-page-skeleton.ts","../../../../libs/app/providers/page-skeleton/ng-doc-app-providers-page-skeleton.ts"],"sourcesContent":["import { NgDocPageSkeleton } from '@ng-doc/app/interfaces';\nimport { NG_DOC_PAGE_SKELETON } from '@ng-doc/app/tokens';\n\n/**\n * Provides the skeleton components for the page.\n *\n * @param skeleton - The skeleton for the page.\n */\nexport function providePageSkeleton(skeleton: NgDocPageSkeleton) {\n\treturn [{ provide: NG_DOC_PAGE_SKELETON, useValue: skeleton }];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAGA;;;;AAIG;AACG,SAAU,mBAAmB,CAAC,QAA2B,EAAA;IAC9D,OAAO,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AAChE;;ACVA;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-providers-page-skeleton.mjs","sources":["../../../../libs/app/providers/page-skeleton/provide-page-skeleton.ts","../../../../libs/app/providers/page-skeleton/ng-doc-app-providers-page-skeleton.ts"],"sourcesContent":["import { NgDocPageSkeleton } from '@ng-doc/app/interfaces';\nimport { NG_DOC_PAGE_SKELETON } from '@ng-doc/app/tokens';\n\n/**\n * Provides the skeleton components for the page.\n * @param skeleton - The skeleton for the page.\n */\nexport function providePageSkeleton(skeleton: NgDocPageSkeleton) {\n\treturn [{ provide: NG_DOC_PAGE_SKELETON, useValue: skeleton }];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAGA;;;AAGG;AACG,SAAU,mBAAmB,CAAC,QAA2B,EAAA;IAC9D,OAAO,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AAChE;;ACTA;;AAEG;;;;"}
@@ -22,7 +22,6 @@ function providePlaygroundDemo(playgroundId, component) {
22
22
  }
23
23
  /**
24
24
  * Returns the token for the given playground id.
25
- *
26
25
  * @param playgroundId
27
26
  */
28
27
  function getPlaygroundDemoToken(playgroundId) {
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-providers-playground-demo.mjs","sources":["../../../../libs/app/providers/playground-demo/provide-playground-demo.ts","../../../../libs/app/providers/playground-demo/ng-doc-app-providers-playground-demo.ts"],"sourcesContent":["import { InjectionToken, Provider } from '@angular/core';\nimport { Constructor } from '@ng-doc/core';\n\nconst tokenStore: Map<string, InjectionToken<unknown>> = new Map<string, InjectionToken<unknown>>();\n\n/**\n *\n * @param type\n * @param control\n * @param options\n * @param playgroundId\n * @param selector\n * @param component\n */\nexport function providePlaygroundDemo(\n\tplaygroundId: string,\n\tcomponent: Constructor<unknown>,\n): Provider {\n\tconst token: InjectionToken<unknown> =\n\t\ttokenStore.get(playgroundId) ??\n\t\tnew InjectionToken<unknown>(`NG_DOC_PLAYGROUND_DEMO_${playgroundId}`);\n\n\ttokenStore.set(playgroundId, token);\n\n\treturn {\n\t\tprovide: token,\n\t\tuseValue: component,\n\t\tmulti: true,\n\t};\n}\n\n/**\n * Returns the token for the given playground id.\n *\n * @param playgroundId\n */\nexport function getPlaygroundDemoToken<T>(playgroundId: string): InjectionToken<T[]> | undefined {\n\treturn tokenStore.get(playgroundId) as InjectionToken<T[]> | undefined;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAGA,MAAM,UAAU,GAAyC,IAAI,GAAG,EAAmC,CAAC;AAEpG;;;;;;;;AAQG;AACa,SAAA,qBAAqB,CACpC,YAAoB,EACpB,SAA+B,EAAA;AAE/B,IAAA,MAAM,KAAK,GACV,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC;AAC5B,QAAA,IAAI,cAAc,CAAU,CAAA,uBAAA,EAA0B,YAAY,CAAA,CAAE,CAAC,CAAC;AAEvE,IAAA,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAEpC,OAAO;AACN,QAAA,OAAO,EAAE,KAAK;AACd,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,KAAK,EAAE,IAAI;KACX,CAAC;AACH,CAAC;AAED;;;;AAIG;AACG,SAAU,sBAAsB,CAAI,YAAoB,EAAA;AAC7D,IAAA,OAAO,UAAU,CAAC,GAAG,CAAC,YAAY,CAAoC,CAAC;AACxE;;ACtCA;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-providers-playground-demo.mjs","sources":["../../../../libs/app/providers/playground-demo/provide-playground-demo.ts","../../../../libs/app/providers/playground-demo/ng-doc-app-providers-playground-demo.ts"],"sourcesContent":["import { InjectionToken, Provider } from '@angular/core';\nimport { Constructor } from '@ng-doc/core';\n\nconst tokenStore: Map<string, InjectionToken<unknown>> = new Map<string, InjectionToken<unknown>>();\n\n/**\n *\n * @param type\n * @param control\n * @param options\n * @param playgroundId\n * @param selector\n * @param component\n */\nexport function providePlaygroundDemo(\n\tplaygroundId: string,\n\tcomponent: Constructor<unknown>,\n): Provider {\n\tconst token: InjectionToken<unknown> =\n\t\ttokenStore.get(playgroundId) ??\n\t\tnew InjectionToken<unknown>(`NG_DOC_PLAYGROUND_DEMO_${playgroundId}`);\n\n\ttokenStore.set(playgroundId, token);\n\n\treturn {\n\t\tprovide: token,\n\t\tuseValue: component,\n\t\tmulti: true,\n\t};\n}\n\n/**\n * Returns the token for the given playground id.\n * @param playgroundId\n */\nexport function getPlaygroundDemoToken<T>(playgroundId: string): InjectionToken<T[]> | undefined {\n\treturn tokenStore.get(playgroundId) as InjectionToken<T[]> | undefined;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAGA,MAAM,UAAU,GAAyC,IAAI,GAAG,EAAmC,CAAC;AAEpG;;;;;;;;AAQG;AACa,SAAA,qBAAqB,CACpC,YAAoB,EACpB,SAA+B,EAAA;AAE/B,IAAA,MAAM,KAAK,GACV,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC;AAC5B,QAAA,IAAI,cAAc,CAAU,CAAA,uBAAA,EAA0B,YAAY,CAAA,CAAE,CAAC,CAAC;AAEvE,IAAA,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAEpC,OAAO;AACN,QAAA,OAAO,EAAE,KAAK;AACd,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,KAAK,EAAE,IAAI;KACX,CAAC;AACH,CAAC;AAED;;;AAGG;AACG,SAAU,sBAAsB,CAAI,YAAoB,EAAA;AAC7D,IAAA,OAAO,UAAU,CAAC,GAAG,CAAC,YAAY,CAAoC,CAAC;AACxE;;ACrCA;;AAEG;;;;"}
@@ -4,7 +4,6 @@ import { NgDocSearchEngine } from '@ng-doc/app/classes/search-engine';
4
4
  * Provides the `NgDocSearchEngine` to enable search in the documentation.
5
5
  *
6
6
  * You can create and provide your own `NgDocSearchEngine` if you want to handle the search yourself.
7
- *
8
7
  * @param engine - The search engine class.
9
8
  * @param args - The arguments for the search engine class.
10
9
  * @returns The provider for the search engine.
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-providers-search-engine.mjs","sources":["../../../../libs/app/providers/search-engine/provide-search-engine.ts","../../../../libs/app/providers/search-engine/ng-doc-app-providers-search-engine.ts"],"sourcesContent":["import { Provider } from '@angular/core';\nimport { NgDocSearchEngine } from '@ng-doc/app/classes/search-engine';\nimport { Constructor } from '@ng-doc/core';\n\n/**\n * Provides the `NgDocSearchEngine` to enable search in the documentation.\n *\n * You can create and provide your own `NgDocSearchEngine` if you want to handle the search yourself.\n *\n * @param engine - The search engine class.\n * @param args - The arguments for the search engine class.\n * @returns The provider for the search engine.\n */\nexport function provideSearchEngine<E extends Constructor<NgDocSearchEngine>>(\n\tengine: E,\n\t...args: ConstructorParameters<E>\n): Provider {\n\treturn {\n\t\tprovide: NgDocSearchEngine,\n\t\tuseValue: new engine(...args),\n\t};\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAIA;;;;;;;;AAQG;SACa,mBAAmB,CAClC,MAAS,EACT,GAAG,IAA8B,EAAA;IAEjC,OAAO;AACN,QAAA,OAAO,EAAE,iBAAiB;AAC1B,QAAA,QAAQ,EAAE,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC;KAC7B,CAAC;AACH;;ACrBA;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-providers-search-engine.mjs","sources":["../../../../libs/app/providers/search-engine/provide-search-engine.ts","../../../../libs/app/providers/search-engine/ng-doc-app-providers-search-engine.ts"],"sourcesContent":["import { Provider } from '@angular/core';\nimport { NgDocSearchEngine } from '@ng-doc/app/classes/search-engine';\nimport { Constructor } from '@ng-doc/core';\n\n/**\n * Provides the `NgDocSearchEngine` to enable search in the documentation.\n *\n * You can create and provide your own `NgDocSearchEngine` if you want to handle the search yourself.\n * @param engine - The search engine class.\n * @param args - The arguments for the search engine class.\n * @returns The provider for the search engine.\n */\nexport function provideSearchEngine<E extends Constructor<NgDocSearchEngine>>(\n\tengine: E,\n\t...args: ConstructorParameters<E>\n): Provider {\n\treturn {\n\t\tprovide: NgDocSearchEngine,\n\t\tuseValue: new engine(...args),\n\t};\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAIA;;;;;;;AAOG;SACa,mBAAmB,CAClC,MAAS,EACT,GAAG,IAA8B,EAAA;IAEjC,OAAO;AACN,QAAA,OAAO,EAAE,iBAAiB;AAC1B,QAAA,QAAQ,EAAE,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC;KAC7B,CAAC;AACH;;ACpBA;;AAEG;;;;"}
@@ -25,7 +25,6 @@ function provideTypeControl(type, control, options) {
25
25
  }
26
26
  /**
27
27
  * Returns token for type control based on provided type
28
- *
29
28
  * @param type - type for searched control (e.g. `string`)
30
29
  */
31
30
  function getTokenForType(type) {
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-providers-type-control.mjs","sources":["../../../../libs/app/providers/type-control/provide-type-control.ts","../../../../libs/app/providers/type-control/ng-doc-app-providers-type-control.ts"],"sourcesContent":["import { InjectionToken, Provider } from '@angular/core';\nimport {\n\tNgDocProvidedTypeControl,\n\tNgDocTypeControl,\n\tNgDocTypeControlProviderOptions,\n} from '@ng-doc/app/interfaces';\nimport { Constructor } from '@ng-doc/core';\n\nconst tokenStore: Map<string, InjectionToken<NgDocProvidedTypeControl>> = new Map<\n\tstring,\n\tInjectionToken<NgDocProvidedTypeControl>\n>();\n\n/**\n *\n * @param type\n * @param control\n * @param options\n */\nexport function provideTypeControl(\n\ttype: string,\n\tcontrol: Constructor<NgDocTypeControl>,\n\toptions?: NgDocTypeControlProviderOptions,\n): Provider {\n\tconst token: InjectionToken<NgDocProvidedTypeControl> =\n\t\tnew InjectionToken<NgDocProvidedTypeControl>(`NG_DOC_TYPE_CONTROL_${type}`, {\n\t\t\tprovidedIn: 'root',\n\t\t\tfactory: () => {\n\t\t\t\treturn {\n\t\t\t\t\tcontrol,\n\t\t\t\t\toptions,\n\t\t\t\t};\n\t\t\t},\n\t\t});\n\ttokenStore.set(type, token);\n\n\treturn {\n\t\tprovide: 'nothing',\n\t\tuseValue: null,\n\t};\n}\n\n/**\n * Returns token for type control based on provided type\n *\n * @param type - type for searched control (e.g. `string`)\n */\nexport function getTokenForType(\n\ttype: string,\n): InjectionToken<NgDocProvidedTypeControl> | undefined {\n\treturn tokenStore.get(type);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAQA,MAAM,UAAU,GAA0D,IAAI,GAAG,EAG9E,CAAC;AAEJ;;;;;AAKG;SACa,kBAAkB,CACjC,IAAY,EACZ,OAAsC,EACtC,OAAyC,EAAA;IAEzC,MAAM,KAAK,GACV,IAAI,cAAc,CAA2B,CAAuB,oBAAA,EAAA,IAAI,EAAE,EAAE;AAC3E,QAAA,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,MAAK;YACb,OAAO;gBACN,OAAO;gBACP,OAAO;aACP,CAAC;SACF;AACD,KAAA,CAAC,CAAC;AACJ,IAAA,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE5B,OAAO;AACN,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,QAAQ,EAAE,IAAI;KACd,CAAC;AACH,CAAC;AAED;;;;AAIG;AACG,SAAU,eAAe,CAC9B,IAAY,EAAA;AAEZ,IAAA,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7B;;ACnDA;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-providers-type-control.mjs","sources":["../../../../libs/app/providers/type-control/provide-type-control.ts","../../../../libs/app/providers/type-control/ng-doc-app-providers-type-control.ts"],"sourcesContent":["import { InjectionToken, Provider } from '@angular/core';\nimport {\n\tNgDocProvidedTypeControl,\n\tNgDocTypeControl,\n\tNgDocTypeControlProviderOptions,\n} from '@ng-doc/app/interfaces';\nimport { Constructor } from '@ng-doc/core';\n\nconst tokenStore: Map<string, InjectionToken<NgDocProvidedTypeControl>> = new Map<\n\tstring,\n\tInjectionToken<NgDocProvidedTypeControl>\n>();\n\n/**\n *\n * @param type\n * @param control\n * @param options\n */\nexport function provideTypeControl(\n\ttype: string,\n\tcontrol: Constructor<NgDocTypeControl>,\n\toptions?: NgDocTypeControlProviderOptions,\n): Provider {\n\tconst token: InjectionToken<NgDocProvidedTypeControl> =\n\t\tnew InjectionToken<NgDocProvidedTypeControl>(`NG_DOC_TYPE_CONTROL_${type}`, {\n\t\t\tprovidedIn: 'root',\n\t\t\tfactory: () => {\n\t\t\t\treturn {\n\t\t\t\t\tcontrol,\n\t\t\t\t\toptions,\n\t\t\t\t};\n\t\t\t},\n\t\t});\n\ttokenStore.set(type, token);\n\n\treturn {\n\t\tprovide: 'nothing',\n\t\tuseValue: null,\n\t};\n}\n\n/**\n * Returns token for type control based on provided type\n * @param type - type for searched control (e.g. `string`)\n */\nexport function getTokenForType(\n\ttype: string,\n): InjectionToken<NgDocProvidedTypeControl> | undefined {\n\treturn tokenStore.get(type);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAQA,MAAM,UAAU,GAA0D,IAAI,GAAG,EAG9E,CAAC;AAEJ;;;;;AAKG;SACa,kBAAkB,CACjC,IAAY,EACZ,OAAsC,EACtC,OAAyC,EAAA;IAEzC,MAAM,KAAK,GACV,IAAI,cAAc,CAA2B,CAAuB,oBAAA,EAAA,IAAI,EAAE,EAAE;AAC3E,QAAA,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,MAAK;YACb,OAAO;gBACN,OAAO;gBACP,OAAO;aACP,CAAC;SACF;AACD,KAAA,CAAC,CAAC;AACJ,IAAA,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE5B,OAAO;AACN,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,QAAQ,EAAE,IAAI;KACd,CAAC;AACH,CAAC;AAED;;;AAGG;AACG,SAAU,eAAe,CAC9B,IAAY,EAAA;AAEZ,IAAA,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7B;;AClDA;;AAEG;;;;"}
@@ -43,7 +43,6 @@ let NgDocThemeService = class NgDocThemeService {
43
43
  }
44
44
  /**
45
45
  * Enables automatic theme switching based on the user's operating system settings.
46
- *
47
46
  * @param light - Theme for light mode.
48
47
  * @param dark - Theme for dark mode.
49
48
  */
@@ -60,7 +59,6 @@ let NgDocThemeService = class NgDocThemeService {
60
59
  }
61
60
  /**
62
61
  * Sets the theme by id.
63
- *
64
62
  * @param id - Theme id.
65
63
  * @param save - Whether to save the theme in the store to restore it when the page is reloaded. (`true` by default)
66
64
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-services-theme.mjs","sources":["../../../../libs/app/services/theme/theme.service.ts","../../../../libs/app/services/theme/ng-doc-app-services-theme.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { NG_DOC_STORE_THEME_KEY } from '@ng-doc/app/constants';\nimport { NgDocTheme } from '@ng-doc/app/interfaces';\nimport { NgDocStoreService } from '@ng-doc/app/services/store';\nimport { NG_DOC_THEME } from '@ng-doc/app/tokens';\nimport { WINDOW } from '@ng-web-apis/common';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { fromEvent, Observable, Subject } from 'rxjs';\n\n/**\n * Service for managing themes.\n */\n@Injectable({\n\tprovidedIn: 'root',\n})\n@UntilDestroy()\nexport class NgDocThemeService {\n\tstatic readonly autoThemeId: string = 'ng-doc-auto';\n\n\tprivate linkElement?: HTMLLinkElement;\n\tprivate theme: NgDocTheme | undefined = undefined;\n\tprivate readonly theme$: Subject<NgDocTheme | undefined> = new Subject<NgDocTheme | undefined>();\n\tprivate autoTheme: [NgDocTheme | undefined, NgDocTheme | undefined] | undefined = undefined;\n\n\tconstructor(\n\t\t@Inject(WINDOW)\n\t\tprivate readonly window: Window,\n\t\t@Inject(DOCUMENT)\n\t\tprivate readonly document: Document,\n\t\t@Inject(NG_DOC_THEME)\n\t\tprivate readonly themes: NgDocTheme[],\n\t\tprivate readonly store: NgDocStoreService,\n\t) {\n\t\tfromEvent<MediaQueryList>(this.window.matchMedia('(prefers-color-scheme: dark)'), 'change')\n\t\t\t.pipe(untilDestroyed(this))\n\t\t\t.subscribe(() => this.setAutoTheme());\n\t}\n\n\t/**\n\t * Returns the current theme.\n\t */\n\tget currentTheme(): NgDocTheme | undefined {\n\t\treturn this.theme;\n\t}\n\n\t/**\n\t * Returns whether automatic theme switching based on the user's operating system settings is enabled.\n\t */\n\tget isAutoThemeEnabled(): boolean {\n\t\treturn this.autoTheme !== undefined;\n\t}\n\n\t/**\n\t * Enables automatic theme switching based on the user's operating system settings.\n\t *\n\t * @param light - Theme for light mode.\n\t * @param dark - Theme for dark mode.\n\t */\n\tasync enableAutoTheme(\n\t\tlight: NgDocTheme | undefined,\n\t\tdark: NgDocTheme | undefined,\n\t): Promise<void> {\n\t\tthis.autoTheme = [light, dark];\n\n\t\treturn this.setAutoTheme();\n\t}\n\n\t/**\n\t * Disables automatic theme switching based on the user's operating system settings.\n\t */\n\tasync disableAutoTheme(): Promise<void> {\n\t\tthis.autoTheme = undefined;\n\n\t\treturn this.set(this.store.get(NG_DOC_STORE_THEME_KEY) ?? undefined);\n\t}\n\n\t/**\n\t * Sets the theme by id.\n\t *\n\t * @param id - Theme id.\n\t * @param save - Whether to save the theme in the store to restore it when the page is reloaded. (`true` by default)\n\t */\n\tasync set(id?: string, save: boolean = true): Promise<void> {\n\t\tthis.removeLink();\n\n\t\tif (save) {\n\t\t\tthis.autoTheme = undefined;\n\t\t}\n\n\t\tif (id && id !== 'ng-doc-day') {\n\t\t\tconst theme: NgDocTheme | undefined = this.themes.find(\n\t\t\t\t(theme: NgDocTheme) => theme.id === id,\n\t\t\t);\n\n\t\t\tif (!theme) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`Theme with id \"${id}\" is not registered. Make sure that you registered it in the root of your application.`,\n\t\t\t\t);\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.createLinkIfNoExists();\n\n\t\t\tif (this.linkElement) {\n\t\t\t\tthis.linkElement.href = theme.path;\n\t\t\t\tsave && this.store.set(NG_DOC_STORE_THEME_KEY, theme.id);\n\t\t\t\tthis.theme = theme;\n\n\t\t\t\treturn new Promise<void>((resolve: () => void, reject: (err: Event | string) => void) => {\n\t\t\t\t\tif (this.linkElement) {\n\t\t\t\t\t\tthis.linkElement.onload = () => {\n\t\t\t\t\t\t\tthis.theme$.next(theme);\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t};\n\t\t\t\t\t\tthis.linkElement.onerror = reject;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tsave && this.store.set(NG_DOC_STORE_THEME_KEY, 'ng-doc-day');\n\n\t\tthis.theme$.next(undefined);\n\n\t\treturn Promise.resolve();\n\t}\n\n\t/**\n\t * Returns an observable that emits when the theme changes.\n\t */\n\tthemeChanges(): Observable<NgDocTheme | undefined> {\n\t\treturn this.theme$.asObservable();\n\t}\n\n\tprivate removeLink(): void {\n\t\tthis.theme = undefined;\n\t\tthis.linkElement?.remove();\n\t\tthis.linkElement = undefined;\n\t}\n\n\tprivate createLinkIfNoExists(): void {\n\t\tif (!this.linkElement) {\n\t\t\tthis.linkElement = this.document.createElement('link');\n\t\t\tthis.linkElement.setAttribute('rel', 'stylesheet');\n\t\t\tthis.linkElement.setAttribute('type', 'text/css');\n\t\t\tthis.document.getElementsByTagName('head')[0].appendChild(this.linkElement);\n\t\t}\n\t}\n\n\tprivate async setAutoTheme(): Promise<void> {\n\t\tif (this.autoTheme !== undefined) {\n\t\t\tconst isDark: boolean = this.window.matchMedia('(prefers-color-scheme: dark)').matches;\n\t\t\tconst [light, dark] = this.autoTheme;\n\t\t\tthis.store.set(NG_DOC_STORE_THEME_KEY, NgDocThemeService.autoThemeId);\n\n\t\t\treturn this.set(isDark ? dark?.id : light?.id, false);\n\t\t}\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-doc-app-services-theme.mjs","sources":["../../../../libs/app/services/theme/theme.service.ts","../../../../libs/app/services/theme/ng-doc-app-services-theme.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { NG_DOC_STORE_THEME_KEY } from '@ng-doc/app/constants';\nimport { NgDocTheme } from '@ng-doc/app/interfaces';\nimport { NgDocStoreService } from '@ng-doc/app/services/store';\nimport { NG_DOC_THEME } from '@ng-doc/app/tokens';\nimport { WINDOW } from '@ng-web-apis/common';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { fromEvent, Observable, Subject } from 'rxjs';\n\n/**\n * Service for managing themes.\n */\n@Injectable({\n\tprovidedIn: 'root',\n})\n@UntilDestroy()\nexport class NgDocThemeService {\n\tstatic readonly autoThemeId: string = 'ng-doc-auto';\n\n\tprivate linkElement?: HTMLLinkElement;\n\tprivate theme: NgDocTheme | undefined = undefined;\n\tprivate readonly theme$: Subject<NgDocTheme | undefined> = new Subject<NgDocTheme | undefined>();\n\tprivate autoTheme: [NgDocTheme | undefined, NgDocTheme | undefined] | undefined = undefined;\n\n\tconstructor(\n\t\t@Inject(WINDOW)\n\t\tprivate readonly window: Window,\n\t\t@Inject(DOCUMENT)\n\t\tprivate readonly document: Document,\n\t\t@Inject(NG_DOC_THEME)\n\t\tprivate readonly themes: NgDocTheme[],\n\t\tprivate readonly store: NgDocStoreService,\n\t) {\n\t\tfromEvent<MediaQueryList>(this.window.matchMedia('(prefers-color-scheme: dark)'), 'change')\n\t\t\t.pipe(untilDestroyed(this))\n\t\t\t.subscribe(() => this.setAutoTheme());\n\t}\n\n\t/**\n\t * Returns the current theme.\n\t */\n\tget currentTheme(): NgDocTheme | undefined {\n\t\treturn this.theme;\n\t}\n\n\t/**\n\t * Returns whether automatic theme switching based on the user's operating system settings is enabled.\n\t */\n\tget isAutoThemeEnabled(): boolean {\n\t\treturn this.autoTheme !== undefined;\n\t}\n\n\t/**\n\t * Enables automatic theme switching based on the user's operating system settings.\n\t * @param light - Theme for light mode.\n\t * @param dark - Theme for dark mode.\n\t */\n\tasync enableAutoTheme(\n\t\tlight: NgDocTheme | undefined,\n\t\tdark: NgDocTheme | undefined,\n\t): Promise<void> {\n\t\tthis.autoTheme = [light, dark];\n\n\t\treturn this.setAutoTheme();\n\t}\n\n\t/**\n\t * Disables automatic theme switching based on the user's operating system settings.\n\t */\n\tasync disableAutoTheme(): Promise<void> {\n\t\tthis.autoTheme = undefined;\n\n\t\treturn this.set(this.store.get(NG_DOC_STORE_THEME_KEY) ?? undefined);\n\t}\n\n\t/**\n\t * Sets the theme by id.\n\t * @param id - Theme id.\n\t * @param save - Whether to save the theme in the store to restore it when the page is reloaded. (`true` by default)\n\t */\n\tasync set(id?: string, save: boolean = true): Promise<void> {\n\t\tthis.removeLink();\n\n\t\tif (save) {\n\t\t\tthis.autoTheme = undefined;\n\t\t}\n\n\t\tif (id && id !== 'ng-doc-day') {\n\t\t\tconst theme: NgDocTheme | undefined = this.themes.find(\n\t\t\t\t(theme: NgDocTheme) => theme.id === id,\n\t\t\t);\n\n\t\t\tif (!theme) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`Theme with id \"${id}\" is not registered. Make sure that you registered it in the root of your application.`,\n\t\t\t\t);\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.createLinkIfNoExists();\n\n\t\t\tif (this.linkElement) {\n\t\t\t\tthis.linkElement.href = theme.path;\n\t\t\t\tsave && this.store.set(NG_DOC_STORE_THEME_KEY, theme.id);\n\t\t\t\tthis.theme = theme;\n\n\t\t\t\treturn new Promise<void>((resolve: () => void, reject: (err: Event | string) => void) => {\n\t\t\t\t\tif (this.linkElement) {\n\t\t\t\t\t\tthis.linkElement.onload = () => {\n\t\t\t\t\t\t\tthis.theme$.next(theme);\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t};\n\t\t\t\t\t\tthis.linkElement.onerror = reject;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tsave && this.store.set(NG_DOC_STORE_THEME_KEY, 'ng-doc-day');\n\n\t\tthis.theme$.next(undefined);\n\n\t\treturn Promise.resolve();\n\t}\n\n\t/**\n\t * Returns an observable that emits when the theme changes.\n\t */\n\tthemeChanges(): Observable<NgDocTheme | undefined> {\n\t\treturn this.theme$.asObservable();\n\t}\n\n\tprivate removeLink(): void {\n\t\tthis.theme = undefined;\n\t\tthis.linkElement?.remove();\n\t\tthis.linkElement = undefined;\n\t}\n\n\tprivate createLinkIfNoExists(): void {\n\t\tif (!this.linkElement) {\n\t\t\tthis.linkElement = this.document.createElement('link');\n\t\t\tthis.linkElement.setAttribute('rel', 'stylesheet');\n\t\t\tthis.linkElement.setAttribute('type', 'text/css');\n\t\t\tthis.document.getElementsByTagName('head')[0].appendChild(this.linkElement);\n\t\t}\n\t}\n\n\tprivate async setAutoTheme(): Promise<void> {\n\t\tif (this.autoTheme !== undefined) {\n\t\t\tconst isDark: boolean = this.window.matchMedia('(prefers-color-scheme: dark)').matches;\n\t\t\tconst [light, dark] = this.autoTheme;\n\t\t\tthis.store.set(NG_DOC_STORE_THEME_KEY, NgDocThemeService.autoThemeId);\n\n\t\t\treturn this.set(isDark ? dark?.id : light?.id, false);\n\t\t}\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -10,7 +10,6 @@ const NG_DOC_PAGE_CUSTOM_PROCESSOR = new InjectionToken('NG_DOC_PAGE_CUSTOM_PROC
10
10
  /**
11
11
  * Provide a main processor to replace html nodes with an Angular component.
12
12
  * Main processors are run before custom processors.
13
- *
14
13
  * @param processors - The processor to provide.
15
14
  */
16
15
  function provideMainPageProcessor(processors) {
@@ -22,7 +21,6 @@ function provideMainPageProcessor(processors) {
22
21
  }
23
22
  /**
24
23
  * Provide a processor to replace html nodes with an Angular component.
25
- *
26
24
  * @param processors - The processor to provide.
27
25
  */
28
26
  function providePageProcessor(processors) {
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-tokens.mjs","sources":["../../../../libs/app/tokens/api-list.ts","../../../../libs/app/tokens/context.ts","../../../../libs/app/tokens/page-processor.ts","../../../../libs/app/tokens/page-skeleton.ts","../../../../libs/app/tokens/theme.ts","../../../../libs/app/tokens/type-control.ts","../../../../libs/app/tokens/ng-doc-app-tokens.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { NgDocApiList } from '@ng-doc/core/interfaces';\n\nexport const NG_DOC_API_LIST_TOKEN: InjectionToken<NgDocApiList[]> = new InjectionToken<\n\tNgDocApiList[]\n>('API_LIST_TOKEN');\n","import { InjectionToken } from '@angular/core';\nimport { NgDocContext } from '@ng-doc/app/interfaces';\n\nexport const NG_DOC_CONTEXT: InjectionToken<NgDocContext> = new InjectionToken<NgDocContext>(\n\t'NG_DOC_CONTEXT',\n);\n","import { InjectionToken, Provider } from '@angular/core';\nimport { NgDocPageProcessor } from '@ng-doc/app/interfaces';\nimport { asArray } from '@ng-doc/core';\n\nexport const NG_DOC_PAGE_PROCESSOR: InjectionToken<NgDocPageProcessor<unknown>> =\n\tnew InjectionToken<NgDocPageProcessor<unknown>>('NG_DOC_PAGE_PROCESSOR');\nexport const NG_DOC_PAGE_CUSTOM_PROCESSOR: InjectionToken<NgDocPageProcessor<unknown>> =\n\tnew InjectionToken<NgDocPageProcessor<unknown>>('NG_DOC_PAGE_CUSTOM_PROCESSOR');\n\n/**\n * Provide a main processor to replace html nodes with an Angular component.\n * Main processors are run before custom processors.\n *\n * @param processors - The processor to provide.\n */\nexport function provideMainPageProcessor<T>(\n\tprocessors: NgDocPageProcessor<T> | Array<NgDocPageProcessor<T>>,\n): Provider[] {\n\treturn asArray(processors).map((processor) => ({\n\t\tprovide: NG_DOC_PAGE_PROCESSOR,\n\t\tuseValue: processor,\n\t\tmulti: true,\n\t}));\n}\n\n/**\n * Provide a processor to replace html nodes with an Angular component.\n *\n * @param processors - The processor to provide.\n */\nexport function providePageProcessor<T>(\n\tprocessors: NgDocPageProcessor<T> | Array<NgDocPageProcessor<T>>,\n): Provider[] {\n\treturn asArray(processors).map((processor) => ({\n\t\tprovide: NG_DOC_PAGE_CUSTOM_PROCESSOR,\n\t\tuseValue: processor,\n\t\tmulti: true,\n\t}));\n}\n","import { InjectionToken } from '@angular/core';\nimport { NgDocPageSkeleton } from '@ng-doc/app/interfaces';\n\nexport const NG_DOC_PAGE_SKELETON: InjectionToken<NgDocPageSkeleton> =\n\tnew InjectionToken<NgDocPageSkeleton>('NG_DOC_PAGE_SKELETON');\n","import { InjectionToken } from '@angular/core';\nimport { NgDocTheme } from '@ng-doc/app/interfaces';\n\n/**\n * Token that can be used to provide custom theme.\n * You must compile your theme to CSS and add it to `assets` so that NgDoc can load it dynamically.\n *\n * You always should provide custom themes in root of your application with `multi: true` parameter.\n *\n * For example\n * ```typescript\n * @NgModule({\n * declarations: [AppComponent],\n * imports: [],\n * providers: [\n * {provide: NG_DOC_THEME, useValue: {id: 'CustomTheme', path: '/assets/themes/custom.css'}, multi: true}\n * ],\n * bootstrap: [AppComponent],\n * })\n * export class AppModule {}\n * ```\n */\nexport const NG_DOC_THEME: InjectionToken<NgDocTheme> = new InjectionToken<NgDocTheme>(\n\t`NG_DOC_THEME`,\n);\n\n/**\n * Default theme for application if user didn't change it manually.\n *\n * You can provide this token in the root of you application, to set theme by default.\n */\nexport const NG_DOC_DEFAULT_THEME_ID: InjectionToken<string> = new InjectionToken<string>(\n\t`NG_DOC_DEFAULT_THEME`,\n);\n","import { InjectionToken } from '@angular/core';\nimport { NgDocTypeControl } from '@ng-doc/app/interfaces';\n\nexport const NG_DOC_TYPE_CONTROL: InjectionToken<NgDocTypeControl> =\n\tnew InjectionToken<NgDocTypeControl>('NG_DOC_TYPE_CONTROL');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAGa,qBAAqB,GAAmC,IAAI,cAAc,CAErF,gBAAgB;;MCFL,cAAc,GAAiC,IAAI,cAAc,CAC7E,gBAAgB;;MCAJ,qBAAqB,GACjC,IAAI,cAAc,CAA8B,uBAAuB,EAAE;MAC7D,4BAA4B,GACxC,IAAI,cAAc,CAA8B,8BAA8B,EAAE;AAEjF;;;;;AAKG;AACG,SAAU,wBAAwB,CACvC,UAAgE,EAAA;AAEhE,IAAA,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM;AAC9C,QAAA,OAAO,EAAE,qBAAqB;AAC9B,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,KAAK,EAAE,IAAI;AACX,KAAA,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;AAIG;AACG,SAAU,oBAAoB,CACnC,UAAgE,EAAA;AAEhE,IAAA,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM;AAC9C,QAAA,OAAO,EAAE,4BAA4B;AACrC,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,KAAK,EAAE,IAAI;AACX,KAAA,CAAC,CAAC,CAAC;AACL;;MCnCa,oBAAoB,GAChC,IAAI,cAAc,CAAoB,sBAAsB;;ACD7D;;;;;;;;;;;;;;;;;;AAkBG;MACU,YAAY,GAA+B,IAAI,cAAc,CACzE,CAAc,YAAA,CAAA,EACb;AAEF;;;;AAIG;MACU,uBAAuB,GAA2B,IAAI,cAAc,CAChF,CAAsB,oBAAA,CAAA;;MC7BV,mBAAmB,GAC/B,IAAI,cAAc,CAAmB,qBAAqB;;ACJ3D;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-tokens.mjs","sources":["../../../../libs/app/tokens/api-list.ts","../../../../libs/app/tokens/context.ts","../../../../libs/app/tokens/page-processor.ts","../../../../libs/app/tokens/page-skeleton.ts","../../../../libs/app/tokens/theme.ts","../../../../libs/app/tokens/type-control.ts","../../../../libs/app/tokens/ng-doc-app-tokens.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { NgDocApiList } from '@ng-doc/core/interfaces';\n\nexport const NG_DOC_API_LIST_TOKEN: InjectionToken<NgDocApiList[]> = new InjectionToken<\n\tNgDocApiList[]\n>('API_LIST_TOKEN');\n","import { InjectionToken } from '@angular/core';\nimport { NgDocContext } from '@ng-doc/app/interfaces';\n\nexport const NG_DOC_CONTEXT: InjectionToken<NgDocContext> = new InjectionToken<NgDocContext>(\n\t'NG_DOC_CONTEXT',\n);\n","import { InjectionToken, Provider } from '@angular/core';\nimport { NgDocPageProcessor } from '@ng-doc/app/interfaces';\nimport { asArray } from '@ng-doc/core';\n\nexport const NG_DOC_PAGE_PROCESSOR: InjectionToken<NgDocPageProcessor<unknown>> =\n\tnew InjectionToken<NgDocPageProcessor<unknown>>('NG_DOC_PAGE_PROCESSOR');\nexport const NG_DOC_PAGE_CUSTOM_PROCESSOR: InjectionToken<NgDocPageProcessor<unknown>> =\n\tnew InjectionToken<NgDocPageProcessor<unknown>>('NG_DOC_PAGE_CUSTOM_PROCESSOR');\n\n/**\n * Provide a main processor to replace html nodes with an Angular component.\n * Main processors are run before custom processors.\n * @param processors - The processor to provide.\n */\nexport function provideMainPageProcessor<T>(\n\tprocessors: NgDocPageProcessor<T> | Array<NgDocPageProcessor<T>>,\n): Provider[] {\n\treturn asArray(processors).map((processor) => ({\n\t\tprovide: NG_DOC_PAGE_PROCESSOR,\n\t\tuseValue: processor,\n\t\tmulti: true,\n\t}));\n}\n\n/**\n * Provide a processor to replace html nodes with an Angular component.\n * @param processors - The processor to provide.\n */\nexport function providePageProcessor<T>(\n\tprocessors: NgDocPageProcessor<T> | Array<NgDocPageProcessor<T>>,\n): Provider[] {\n\treturn asArray(processors).map((processor) => ({\n\t\tprovide: NG_DOC_PAGE_CUSTOM_PROCESSOR,\n\t\tuseValue: processor,\n\t\tmulti: true,\n\t}));\n}\n","import { InjectionToken } from '@angular/core';\nimport { NgDocPageSkeleton } from '@ng-doc/app/interfaces';\n\nexport const NG_DOC_PAGE_SKELETON: InjectionToken<NgDocPageSkeleton> =\n\tnew InjectionToken<NgDocPageSkeleton>('NG_DOC_PAGE_SKELETON');\n","import { InjectionToken } from '@angular/core';\nimport { NgDocTheme } from '@ng-doc/app/interfaces';\n\n/**\n * Token that can be used to provide custom theme.\n * You must compile your theme to CSS and add it to `assets` so that NgDoc can load it dynamically.\n *\n * You always should provide custom themes in root of your application with `multi: true` parameter.\n *\n * For example\n * ```typescript\n * @NgModule({\n * declarations: [AppComponent],\n * imports: [],\n * providers: [\n * {provide: NG_DOC_THEME, useValue: {id: 'CustomTheme', path: '/assets/themes/custom.css'}, multi: true}\n * ],\n * bootstrap: [AppComponent],\n * })\n * export class AppModule {}\n * ```\n */\nexport const NG_DOC_THEME: InjectionToken<NgDocTheme> = new InjectionToken<NgDocTheme>(\n\t`NG_DOC_THEME`,\n);\n\n/**\n * Default theme for application if user didn't change it manually.\n *\n * You can provide this token in the root of you application, to set theme by default.\n */\nexport const NG_DOC_DEFAULT_THEME_ID: InjectionToken<string> = new InjectionToken<string>(\n\t`NG_DOC_DEFAULT_THEME`,\n);\n","import { InjectionToken } from '@angular/core';\nimport { NgDocTypeControl } from '@ng-doc/app/interfaces';\n\nexport const NG_DOC_TYPE_CONTROL: InjectionToken<NgDocTypeControl> =\n\tnew InjectionToken<NgDocTypeControl>('NG_DOC_TYPE_CONTROL');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAGa,qBAAqB,GAAmC,IAAI,cAAc,CAErF,gBAAgB;;MCFL,cAAc,GAAiC,IAAI,cAAc,CAC7E,gBAAgB;;MCAJ,qBAAqB,GACjC,IAAI,cAAc,CAA8B,uBAAuB,EAAE;MAC7D,4BAA4B,GACxC,IAAI,cAAc,CAA8B,8BAA8B,EAAE;AAEjF;;;;AAIG;AACG,SAAU,wBAAwB,CACvC,UAAgE,EAAA;AAEhE,IAAA,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM;AAC9C,QAAA,OAAO,EAAE,qBAAqB;AAC9B,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,KAAK,EAAE,IAAI;AACX,KAAA,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;AAGG;AACG,SAAU,oBAAoB,CACnC,UAAgE,EAAA;AAEhE,IAAA,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM;AAC9C,QAAA,OAAO,EAAE,4BAA4B;AACrC,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,KAAK,EAAE,IAAI;AACX,KAAA,CAAC,CAAC,CAAC;AACL;;MCjCa,oBAAoB,GAChC,IAAI,cAAc,CAAoB,sBAAsB;;ACD7D;;;;;;;;;;;;;;;;;;AAkBG;MACU,YAAY,GAA+B,IAAI,cAAc,CACzE,CAAc,YAAA,CAAA,EACb;AAEF;;;;AAIG;MACU,uBAAuB,GAA2B,IAAI,cAAc,CAChF,CAAsB,oBAAA,CAAA;;MC7BV,mBAAmB,GAC/B,IAAI,cAAc,CAAmB,qBAAqB;;ACJ3D;;AAEG;;;;"}
@@ -1,7 +1,6 @@
1
1
  import { NgDocTocItem } from '@ng-doc/app/interfaces';
2
2
  /**
3
3
  * Generate table of contents, only for headings with id
4
- *
5
4
  * @param container
6
5
  * @param headings
7
6
  */
@@ -14,14 +14,12 @@ export interface NgDocPageProcessor<T = unknown> {
14
14
  selector: string;
15
15
  /**
16
16
  * Extract options for Angular component from html node.
17
- *
18
17
  * @param element - Html node to extract options from.
19
18
  * @param root - Root html node.
20
19
  */
21
20
  extractOptions: (element: Element, root: HTMLElement) => NgDocProcessorOptions<T>;
22
21
  /**
23
22
  * Can be used to find a node to replace instead of the node that was found by selector.
24
- *
25
23
  * @param element - Html node to replace.
26
24
  */
27
25
  nodeToReplace?: (element: Element) => Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-doc/app",
3
- "version": "17.0.0-beta.3",
3
+ "version": "17.0.0-beta.5",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=17.0.0",
6
6
  "@angular/core": ">=17.0.0",
@@ -12,8 +12,8 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "tslib": "^2.6.2",
15
- "@ng-doc/core": "17.0.0-beta.3",
16
- "@ng-doc/ui-kit": "17.0.0-beta.3",
15
+ "@ng-doc/core": "17.0.0-beta.5",
16
+ "@ng-doc/ui-kit": "17.0.0-beta.5",
17
17
  "@orama/plugin-match-highlight": "1.0.2",
18
18
  "@orama/stemmers": "1.0.2",
19
19
  "highlight.js": "11.5.1"
@@ -21,7 +21,6 @@ export interface NgDocApplicationConfig {
21
21
  }
22
22
  /**
23
23
  * Provides the NgDoc application configuration.
24
- *
25
24
  * @param config - The optional application configuration.
26
25
  */
27
26
  export declare function provideNgDocApp(config?: NgDocApplicationConfig): Provider[];
@@ -1,7 +1,6 @@
1
1
  import { NgDocPageSkeleton } from '@ng-doc/app/interfaces';
2
2
  /**
3
3
  * Provides the skeleton components for the page.
4
- *
5
4
  * @param skeleton - The skeleton for the page.
6
5
  */
7
6
  export declare function providePageSkeleton(skeleton: NgDocPageSkeleton): {
@@ -12,7 +12,6 @@ import { Constructor } from '@ng-doc/core';
12
12
  export declare function providePlaygroundDemo(playgroundId: string, component: Constructor<unknown>): Provider;
13
13
  /**
14
14
  * Returns the token for the given playground id.
15
- *
16
15
  * @param playgroundId
17
16
  */
18
17
  export declare function getPlaygroundDemoToken<T>(playgroundId: string): InjectionToken<T[]> | undefined;
@@ -5,7 +5,6 @@ import { Constructor } from '@ng-doc/core';
5
5
  * Provides the `NgDocSearchEngine` to enable search in the documentation.
6
6
  *
7
7
  * You can create and provide your own `NgDocSearchEngine` if you want to handle the search yourself.
8
- *
9
8
  * @param engine - The search engine class.
10
9
  * @param args - The arguments for the search engine class.
11
10
  * @returns The provider for the search engine.
@@ -10,7 +10,6 @@ import { Constructor } from '@ng-doc/core';
10
10
  export declare function provideTypeControl(type: string, control: Constructor<NgDocTypeControl>, options?: NgDocTypeControlProviderOptions): Provider;
11
11
  /**
12
12
  * Returns token for type control based on provided type
13
- *
14
13
  * @param type - type for searched control (e.g. `string`)
15
14
  */
16
15
  export declare function getTokenForType(type: string): InjectionToken<NgDocProvidedTypeControl> | undefined;
@@ -26,7 +26,6 @@ export declare class NgDocThemeService {
26
26
  get isAutoThemeEnabled(): boolean;
27
27
  /**
28
28
  * Enables automatic theme switching based on the user's operating system settings.
29
- *
30
29
  * @param light - Theme for light mode.
31
30
  * @param dark - Theme for dark mode.
32
31
  */
@@ -37,7 +36,6 @@ export declare class NgDocThemeService {
37
36
  disableAutoTheme(): Promise<void>;
38
37
  /**
39
38
  * Sets the theme by id.
40
- *
41
39
  * @param id - Theme id.
42
40
  * @param save - Whether to save the theme in the store to restore it when the page is reloaded. (`true` by default)
43
41
  */
@@ -5,13 +5,11 @@ export declare const NG_DOC_PAGE_CUSTOM_PROCESSOR: InjectionToken<NgDocPageProce
5
5
  /**
6
6
  * Provide a main processor to replace html nodes with an Angular component.
7
7
  * Main processors are run before custom processors.
8
- *
9
8
  * @param processors - The processor to provide.
10
9
  */
11
10
  export declare function provideMainPageProcessor<T>(processors: NgDocPageProcessor<T> | Array<NgDocPageProcessor<T>>): Provider[];
12
11
  /**
13
12
  * Provide a processor to replace html nodes with an Angular component.
14
- *
15
13
  * @param processors - The processor to provide.
16
14
  */
17
15
  export declare function providePageProcessor<T>(processors: NgDocPageProcessor<T> | Array<NgDocPageProcessor<T>>): Provider[];