@ng-doc/app 16.0.2 → 16.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,7 @@
1
1
  import { NgDocSearchEngine } from '@ng-doc/app/classes/search-engine';
2
2
  import { NgDocSearchResult } from '@ng-doc/app/interfaces';
3
- import { stemmers } from '@orama/orama';
3
+ import * as stemmer from '@orama/stemmers';
4
4
  import { Observable } from 'rxjs';
5
- /**
6
- * Possible languages for the `NgDocSearchEngine`.
7
- */
8
- export type NgDocDefaultSearchEngineLanguage = keyof typeof stemmers;
9
5
  /**
10
6
  * Options for the `NgDocDefaultSearchEngine`.
11
7
  */
@@ -13,7 +9,7 @@ export interface NgDocDefaultSearchEngineOptions {
13
9
  /**
14
10
  * The language to use for the search engine.
15
11
  */
16
- language?: NgDocDefaultSearchEngineLanguage;
12
+ stemmer?: typeof stemmer.stemmer;
17
13
  /**
18
14
  * Specifies the maximum distance (following the Levenshtein algorithm) between the term and the searchable property.
19
15
  * (doesn't work with `exact` option)
@@ -3,8 +3,9 @@ import * as i1 from "./code.component";
3
3
  import * as i2 from "@angular/common";
4
4
  import * as i3 from "@ng-doc/ui-kit";
5
5
  import * as i4 from "@ng-doc/app/processors/link-processor";
6
+ import * as i5 from "@ng-doc/app/pipes";
6
7
  export declare class NgDocCodeModule {
7
8
  static ɵfac: i0.ɵɵFactoryDeclaration<NgDocCodeModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgDocCodeModule, [typeof i1.NgDocCodeComponent], [typeof i2.CommonModule, typeof i3.NgDocTextModule, typeof i3.NgDocButtonIconModule, typeof i3.NgDocIconModule, typeof i3.NgDocTooltipModule, typeof i4.NgDocLinkProcessorModule, typeof i3.NgDocSmoothResizeModule], [typeof i1.NgDocCodeComponent]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgDocCodeModule, [typeof i1.NgDocCodeComponent], [typeof i2.CommonModule, typeof i3.NgDocTextModule, typeof i3.NgDocButtonIconModule, typeof i3.NgDocIconModule, typeof i3.NgDocTooltipModule, typeof i4.NgDocLinkProcessorModule, typeof i3.NgDocSmoothResizeModule, typeof i5.NgDocSanitizeHtmlModule], [typeof i1.NgDocCodeComponent]>;
9
10
  static ɵinj: i0.ɵɵInjectorDeclaration<NgDocCodeModule>;
10
11
  }
@@ -1,7 +1,7 @@
1
1
  import { NgDocSearchEngine } from '@ng-doc/app/classes/search-engine';
2
2
  import { asArray } from '@ng-doc/core/helpers/as-array';
3
3
  import { objectKeys } from '@ng-doc/core/helpers/object-keys';
4
- import { create, insertMultiple, stemmers } from '@orama/orama';
4
+ import { create, insertMultiple } from '@orama/orama';
5
5
  import { afterInsert, searchWithHighlight, } from '@orama/plugin-match-highlight';
6
6
  import { from } from 'rxjs';
7
7
  import { map, shareReplay, switchMap } from 'rxjs/operators';
@@ -21,8 +21,7 @@ export class NgDocDefaultSearchEngine extends NgDocSearchEngine {
21
21
  components: {
22
22
  afterInsert: [afterInsert],
23
23
  tokenizer: {
24
- language: options?.language || 'english',
25
- stemmer: stemmers[options?.language || 'english'],
24
+ stemmer: options?.stemmer
26
25
  },
27
26
  },
28
27
  })).pipe(map((db) => db), switchMap((db) => this.request(`assets/ng-doc/indexes.json`).pipe(switchMap((pages) => insertMultiple(db, pages)), map(() => db))), shareReplay(1));
@@ -57,4 +56,4 @@ export class NgDocDefaultSearchEngine extends NgDocSearchEngine {
57
56
  return from(fetch(url)).pipe(switchMap((response) => response.json()));
58
57
  }
59
58
  }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zZWFyY2gtZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY2xhc3Nlcy9kZWZhdWx0LXNlYXJjaC1lbmdpbmUvZGVmYXVsdC1zZWFyY2gtZW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRXBFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFHNUQsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQVMsUUFBUSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRXJFLE9BQU8sRUFDTixXQUFXLEVBR1gsbUJBQW1CLEdBQ25CLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUFDLElBQUksRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQXFDM0Q7O0dBRUc7QUFDSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsaUJBQWlCO0lBRzlELFlBQW9CLE9BQXlDO1FBQzVELEtBQUssRUFBRSxDQUFDO1FBRFcsWUFBTyxHQUFQLE9BQU8sQ0FBa0M7UUFFNUQsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQ2QsTUFBTSxDQUFDO1lBQ04sTUFBTSxFQUFFO2dCQUNQLEtBQUssRUFBRSxRQUFRO2dCQUNmLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixPQUFPLEVBQUUsUUFBUTthQUNqQjtZQUNELFVBQVUsRUFBRTtnQkFDWCxXQUFXLEVBQUUsQ0FBQyxXQUFXLENBQUM7Z0JBQzFCLFNBQVMsRUFBRTtvQkFDVixRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsSUFBSSxTQUFTO29CQUN4QyxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLElBQUksU0FBUyxDQUFDO2lCQUNqRDthQUNEO1NBQ0QsQ0FBQyxDQUNGLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLEVBQVMsRUFBRSxFQUFFLENBQUMsRUFBd0IsQ0FBQyxFQUM1QyxTQUFTLENBQUMsQ0FBQyxFQUFzQixFQUFFLEVBQUUsQ0FDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBbUIsNEJBQTRCLENBQUMsQ0FBQyxJQUFJLENBQ2hFLFNBQVMsQ0FBQyxDQUFDLEtBQXVCLEVBQUUsRUFBRSxDQUNyQyxjQUFjLENBQUMsRUFBRSxFQUFFLEtBQWtDLENBQUMsQ0FDdEQsRUFDRCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQ2IsQ0FDRCxFQUNELFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDb0IsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxLQUFhO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQ25CLFNBQVMsQ0FBQyxDQUFDLEVBQXNCLEVBQUUsRUFBRSxDQUNwQyxtQkFBbUIsQ0FBQyxFQUFFLEVBQUU7WUFDdkIsSUFBSSxFQUFFLEtBQUs7WUFDWCxLQUFLLEVBQUUsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUM7WUFDN0IsVUFBVSxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQztZQUNsQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTO1lBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUs7WUFDMUIsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxJQUFJLEVBQUU7U0FDaEMsQ0FBQyxDQUNGLEVBQ0QsR0FBRyxDQUFDLENBQUMsTUFBaUMsRUFBRSxFQUFFLENBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBeUMsRUFBRSxFQUFFO1lBQzdELE1BQU0sSUFBSSxHQUFnQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBMkMsQ0FBQztZQUU5RyxPQUFPO2dCQUNOLEtBQUssRUFBRSxHQUFHLENBQUMsUUFBcUM7Z0JBQ2hELFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBMkQsRUFBRSxHQUF5QixFQUFFLEVBQUU7b0JBQ2pILDZEQUE2RDtvQkFDN0QsYUFBYTtvQkFDYixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7b0JBRS9FLE9BQU8sR0FBRyxDQUFDO2dCQUNaLENBQUMsRUFBRSxFQUFTLENBQW9FO2FBQ2hGLENBQUE7UUFDRixDQUFDLENBQUMsQ0FDRixDQUNELENBQUM7SUFDSCxDQUFDO0lBRU8sT0FBTyxDQUFJLEdBQVc7UUFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdEb2NTZWFyY2hFbmdpbmV9IGZyb20gJ0BuZy1kb2MvYXBwL2NsYXNzZXMvc2VhcmNoLWVuZ2luZSc7XG5pbXBvcnQge05nRG9jU2VhcmNoUmVzdWx0fSBmcm9tICdAbmctZG9jL2FwcC9pbnRlcmZhY2VzJztcbmltcG9ydCB7YXNBcnJheX0gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvYXMtYXJyYXknO1xuaW1wb3J0IHtvYmplY3RLZXlzfSBmcm9tICdAbmctZG9jL2NvcmUvaGVscGVycy9vYmplY3Qta2V5cyc7XG5pbXBvcnQge05nRG9jUGFnZUluZGV4fSBmcm9tICdAbmctZG9jL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge05nRG9jSGlnaGxpZ2h0UG9zaXRpb259IGZyb20gJ0BuZy1kb2MvdWkta2l0JztcbmltcG9ydCB7Y3JlYXRlLCBpbnNlcnRNdWx0aXBsZSwgT3JhbWEsIHN0ZW1tZXJzfSBmcm9tICdAb3JhbWEvb3JhbWEnO1xuaW1wb3J0IHtEb2N1bWVudH0gZnJvbSAnQG9yYW1hL29yYW1hL2Rpc3QvdHlwZXMnO1xuaW1wb3J0IHtcblx0YWZ0ZXJJbnNlcnQsXG5cdE9yYW1hV2l0aEhpZ2hsaWdodCxcblx0U2VhcmNoUmVzdWx0V2l0aEhpZ2hsaWdodCxcblx0c2VhcmNoV2l0aEhpZ2hsaWdodCxcbn0gZnJvbSAnQG9yYW1hL3BsdWdpbi1tYXRjaC1oaWdobGlnaHQnO1xuaW1wb3J0IHtmcm9tLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogUG9zc2libGUgbGFuZ3VhZ2VzIGZvciB0aGUgYE5nRG9jU2VhcmNoRW5naW5lYC5cbiAqL1xuZXhwb3J0IHR5cGUgTmdEb2NEZWZhdWx0U2VhcmNoRW5naW5lTGFuZ3VhZ2UgPSBrZXlvZiB0eXBlb2Ygc3RlbW1lcnM7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIGBOZ0RvY0RlZmF1bHRTZWFyY2hFbmdpbmVgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5nRG9jRGVmYXVsdFNlYXJjaEVuZ2luZU9wdGlvbnMge1xuXHQvKipcblx0ICogVGhlIGxhbmd1YWdlIHRvIHVzZSBmb3IgdGhlIHNlYXJjaCBlbmdpbmUuXG5cdCAqL1xuXHRsYW5ndWFnZT86IE5nRG9jRGVmYXVsdFNlYXJjaEVuZ2luZUxhbmd1YWdlO1xuXHQvKipcblx0ICogU3BlY2lmaWVzIHRoZSBtYXhpbXVtIGRpc3RhbmNlIChmb2xsb3dpbmcgdGhlIExldmVuc2h0ZWluIGFsZ29yaXRobSkgYmV0d2VlbiB0aGUgdGVybSBhbmQgdGhlIHNlYXJjaGFibGUgcHJvcGVydHkuXG5cdCAqIChkb2Vzbid0IHdvcmsgd2l0aCBgZXhhY3RgIG9wdGlvbilcblx0ICovXG5cdHRvbGVyYW5jZT86IG51bWJlcjtcblx0LyoqXG5cdCAqIElmIGB0cnVlYCwgZmluZHMgYWxsIHRoZSBkb2N1bWVudCB3aXRoIGFuIGV4YWN0IG1hdGNoIG9mIHRoZSB0ZXJtIHByb3BlcnR5LlxuXHQgKi9cblx0ZXhhY3Q/OiBib29sZWFuO1xuXHQvKipcblx0ICogTnVtYmVyIG9mIHJlc3VsdHMgdG8gcmV0dXJuIChkZWZhdWx0OiAxMCkuXG5cdCAqL1xuXHRsaW1pdD86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIFNlYXJjaFNjaGVtYSBleHRlbmRzIERvY3VtZW50IHtcblx0dGl0bGU6ICdzdHJpbmcnO1xuXHRzZWN0aW9uVGl0bGU6ICdzdHJpbmcnO1xuXHRjb250ZW50OiAnc3RyaW5nJztcbn1cblxuXG4vKipcbiAqIFNlYXJjaCBlbmdpbmUgZm9yIHRoZSBkb2N1bWVudGF0aW9uLCBpdCBsb2FkcyB0aGUgaW5kZXggYW5kIHByb3ZpZGVzIGEgc2VhcmNoIG1ldGhvZC5cbiAqL1xuZXhwb3J0IGNsYXNzIE5nRG9jRGVmYXVsdFNlYXJjaEVuZ2luZSBleHRlbmRzIE5nRG9jU2VhcmNoRW5naW5lIHtcblx0cHJpdmF0ZSBkYiQ6IE9ic2VydmFibGU8T3JhbWFXaXRoSGlnaGxpZ2h0PjtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIG9wdGlvbnM/OiBOZ0RvY0RlZmF1bHRTZWFyY2hFbmdpbmVPcHRpb25zKSB7XG5cdFx0c3VwZXIoKTtcblx0XHR0aGlzLmRiJCA9IGZyb20oXG5cdFx0XHRjcmVhdGUoe1xuXHRcdFx0XHRzY2hlbWE6IHtcblx0XHRcdFx0XHR0aXRsZTogJ3N0cmluZycsXG5cdFx0XHRcdFx0c2VjdGlvbjogJ3N0cmluZycsXG5cdFx0XHRcdFx0Y29udGVudDogJ3N0cmluZycsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGNvbXBvbmVudHM6IHtcblx0XHRcdFx0XHRhZnRlckluc2VydDogW2FmdGVySW5zZXJ0XSxcblx0XHRcdFx0XHR0b2tlbml6ZXI6IHtcblx0XHRcdFx0XHRcdGxhbmd1YWdlOiBvcHRpb25zPy5sYW5ndWFnZSB8fCAnZW5nbGlzaCcsXG5cdFx0XHRcdFx0XHRzdGVtbWVyOiBzdGVtbWVyc1tvcHRpb25zPy5sYW5ndWFnZSB8fCAnZW5nbGlzaCddLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdH0sXG5cdFx0XHR9KSxcblx0XHQpLnBpcGUoXG5cdFx0XHRtYXAoKGRiOiBPcmFtYSkgPT4gZGIgYXMgT3JhbWFXaXRoSGlnaGxpZ2h0KSxcblx0XHRcdHN3aXRjaE1hcCgoZGI6IE9yYW1hV2l0aEhpZ2hsaWdodCkgPT5cblx0XHRcdFx0dGhpcy5yZXF1ZXN0PE5nRG9jUGFnZUluZGV4W10+KGBhc3NldHMvbmctZG9jL2luZGV4ZXMuanNvbmApLnBpcGUoXG5cdFx0XHRcdFx0c3dpdGNoTWFwKChwYWdlczogTmdEb2NQYWdlSW5kZXhbXSkgPT5cblx0XHRcdFx0XHRcdGluc2VydE11bHRpcGxlKGRiLCBwYWdlcyBhcyB1bmtub3duIGFzIFNlYXJjaFNjaGVtYVtdKSxcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdG1hcCgoKSA9PiBkYiksXG5cdFx0XHRcdCksXG5cdFx0XHQpLFxuXHRcdFx0c2hhcmVSZXBsYXkoMSksXG5cdFx0KSBhcyBPYnNlcnZhYmxlPE9yYW1hV2l0aEhpZ2hsaWdodD47XG5cdH1cblxuXHQvKipcblx0ICogU2VhcmNoIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgZ2l2ZW4gcXVlcnkuXG5cdCAqXG5cdCAqIEBwYXJhbSBxdWVyeSBUaGUgcXVlcnkgdG8gc2VhcmNoIGZvci5cblx0ICovXG5cdHNlYXJjaChxdWVyeTogc3RyaW5nKTogT2JzZXJ2YWJsZTxOZ0RvY1NlYXJjaFJlc3VsdFtdPiB7XG5cdFx0cmV0dXJuIHRoaXMuZGIkLnBpcGUoXG5cdFx0XHRzd2l0Y2hNYXAoKGRiOiBPcmFtYVdpdGhIaWdobGlnaHQpID0+XG5cdFx0XHRcdHNlYXJjaFdpdGhIaWdobGlnaHQoZGIsIHtcblx0XHRcdFx0XHR0ZXJtOiBxdWVyeSxcblx0XHRcdFx0XHRib29zdDoge3RpdGxlOiA0LCBzZWN0aW9uOiAyfSxcblx0XHRcdFx0XHRwcm9wZXJ0aWVzOiBbJ3NlY3Rpb24nLCAnY29udGVudCddLFxuXHRcdFx0XHRcdHRvbGVyYW5jZTogdGhpcy5vcHRpb25zPy50b2xlcmFuY2UsXG5cdFx0XHRcdFx0ZXhhY3Q6IHRoaXMub3B0aW9ucz8uZXhhY3QsXG5cdFx0XHRcdFx0bGltaXQ6IHRoaXMub3B0aW9ucz8ubGltaXQgPz8gMTAsXG5cdFx0XHRcdH0pLFxuXHRcdFx0KSxcblx0XHRcdG1hcCgocmVzdWx0OiBTZWFyY2hSZXN1bHRXaXRoSGlnaGxpZ2h0KSA9PlxuXHRcdFx0XHRyZXN1bHQuaGl0cy5tYXAoKGhpdDogU2VhcmNoUmVzdWx0V2l0aEhpZ2hsaWdodFsnaGl0cyddWzBdKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3Qga2V5czogQXJyYXk8a2V5b2YgTmdEb2NQYWdlSW5kZXg+ID0gb2JqZWN0S2V5cyhoaXQucG9zaXRpb25zKSBhcyB1bmtub3duIGFzIEFycmF5PGtleW9mIE5nRG9jUGFnZUluZGV4PjtcblxuXHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHRpbmRleDogaGl0LmRvY3VtZW50IGFzIHVua25vd24gYXMgTmdEb2NQYWdlSW5kZXgsXG5cdFx0XHRcdFx0XHRwb3NpdGlvbnM6IGtleXMucmVkdWNlKChhY2M6IFJlY29yZDxrZXlvZiBOZ0RvY1BhZ2VJbmRleCwgTmdEb2NIaWdobGlnaHRQb3NpdGlvbltdPiwga2V5OiBrZXlvZiBOZ0RvY1BhZ2VJbmRleCkgPT4ge1xuXHRcdFx0XHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG5cdFx0XHRcdFx0XHRcdC8vIEB0cy1pZ25vcmVcblx0XHRcdFx0XHRcdFx0YWNjW2tleV0gPSBbLi4uYXNBcnJheShhY2Nba2V5XSksIC4uLk9iamVjdC52YWx1ZXMoaGl0LnBvc2l0aW9uc1trZXldKS5mbGF0KCldO1xuXG5cdFx0XHRcdFx0XHRcdHJldHVybiBhY2M7XG5cdFx0XHRcdFx0XHR9LCB7fSBhcyBhbnkpIGFzIFBhcnRpYWw8UmVjb3JkPGtleW9mIE5nRG9jUGFnZUluZGV4LCBOZ0RvY0hpZ2hsaWdodFBvc2l0aW9uW10+Pixcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHQpXG5cdFx0KTtcblx0fVxuXG5cdHByaXZhdGUgcmVxdWVzdDxUPih1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuXHRcdHJldHVybiBmcm9tKGZldGNoKHVybCkpLnBpcGUoc3dpdGNoTWFwKChyZXNwb25zZTogUmVzcG9uc2UpID0+IHJlc3BvbnNlLmpzb24oKSBhcyBQcm9taXNlPFQ+KSk7XG5cdH1cbn1cbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zZWFyY2gtZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY2xhc3Nlcy9kZWZhdWx0LXNlYXJjaC1lbmdpbmUvZGVmYXVsdC1zZWFyY2gtZW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRXBFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFHNUQsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQVEsTUFBTSxjQUFjLENBQUM7QUFFM0QsT0FBTyxFQUNOLFdBQVcsRUFHWCxtQkFBbUIsR0FDbkIsTUFBTSwrQkFBK0IsQ0FBQztBQUV2QyxPQUFPLEVBQUMsSUFBSSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBZ0MzRDs7R0FFRztBQUNILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxpQkFBaUI7SUFHOUQsWUFBb0IsT0FBeUM7UUFDNUQsS0FBSyxFQUFFLENBQUM7UUFEVyxZQUFPLEdBQVAsT0FBTyxDQUFrQztRQUU1RCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FDZCxNQUFNLENBQUM7WUFDTixNQUFNLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLE9BQU8sRUFBRSxRQUFRO2FBQ2pCO1lBQ0QsVUFBVSxFQUFFO2dCQUNYLFdBQVcsRUFBRSxDQUFDLFdBQVcsQ0FBQztnQkFDMUIsU0FBUyxFQUFFO29CQUNWLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTztpQkFDekI7YUFDRDtTQUNELENBQUMsQ0FDRixDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxFQUFTLEVBQUUsRUFBRSxDQUFDLEVBQXdCLENBQUMsRUFDNUMsU0FBUyxDQUFDLENBQUMsRUFBc0IsRUFBRSxFQUFFLENBQ3BDLElBQUksQ0FBQyxPQUFPLENBQW1CLDRCQUE0QixDQUFDLENBQUMsSUFBSSxDQUNoRSxTQUFTLENBQUMsQ0FBQyxLQUF1QixFQUFFLEVBQUUsQ0FDckMsY0FBYyxDQUFDLEVBQUUsRUFBRSxLQUFrQyxDQUFDLENBQ3RELEVBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUNiLENBQ0QsRUFDRCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ29CLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsS0FBYTtRQUNuQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUNuQixTQUFTLENBQUMsQ0FBQyxFQUFzQixFQUFFLEVBQUUsQ0FDcEMsbUJBQW1CLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLElBQUksRUFBRSxLQUFLO1lBQ1gsS0FBSyxFQUFFLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFDO1lBQzdCLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7WUFDbEMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUztZQUNsQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLO1lBQzFCLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFO1NBQ2hDLENBQUMsQ0FDRixFQUNELEdBQUcsQ0FBQyxDQUFDLE1BQWlDLEVBQUUsRUFBRSxDQUN6QyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQXlDLEVBQUUsRUFBRTtZQUM3RCxNQUFNLElBQUksR0FBZ0MsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQTJDLENBQUM7WUFFOUcsT0FBTztnQkFDTixLQUFLLEVBQUUsR0FBRyxDQUFDLFFBQXFDO2dCQUNoRCxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQTJELEVBQUUsR0FBeUIsRUFBRSxFQUFFO29CQUNqSCw2REFBNkQ7b0JBQzdELGFBQWE7b0JBQ2IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO29CQUUvRSxPQUFPLEdBQUcsQ0FBQztnQkFDWixDQUFDLEVBQUUsRUFBUyxDQUFvRTthQUNoRixDQUFBO1FBQ0YsQ0FBQyxDQUFDLENBQ0YsQ0FDRCxDQUFDO0lBQ0gsQ0FBQztJQUVPLE9BQU8sQ0FBSSxHQUFXO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFnQixDQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDO0NBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nRG9jU2VhcmNoRW5naW5lfSBmcm9tICdAbmctZG9jL2FwcC9jbGFzc2VzL3NlYXJjaC1lbmdpbmUnO1xuaW1wb3J0IHtOZ0RvY1NlYXJjaFJlc3VsdH0gZnJvbSAnQG5nLWRvYy9hcHAvaW50ZXJmYWNlcyc7XG5pbXBvcnQge2FzQXJyYXl9IGZyb20gJ0BuZy1kb2MvY29yZS9oZWxwZXJzL2FzLWFycmF5JztcbmltcG9ydCB7b2JqZWN0S2V5c30gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvb2JqZWN0LWtleXMnO1xuaW1wb3J0IHtOZ0RvY1BhZ2VJbmRleH0gZnJvbSAnQG5nLWRvYy9jb3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtOZ0RvY0hpZ2hsaWdodFBvc2l0aW9ufSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5pbXBvcnQge2NyZWF0ZSwgaW5zZXJ0TXVsdGlwbGUsIE9yYW1hfSBmcm9tICdAb3JhbWEvb3JhbWEnO1xuaW1wb3J0IHtEb2N1bWVudH0gZnJvbSAnQG9yYW1hL29yYW1hL2Rpc3QvdHlwZXMnO1xuaW1wb3J0IHtcblx0YWZ0ZXJJbnNlcnQsXG5cdE9yYW1hV2l0aEhpZ2hsaWdodCxcblx0U2VhcmNoUmVzdWx0V2l0aEhpZ2hsaWdodCxcblx0c2VhcmNoV2l0aEhpZ2hsaWdodCxcbn0gZnJvbSAnQG9yYW1hL3BsdWdpbi1tYXRjaC1oaWdobGlnaHQnO1xuaW1wb3J0ICogYXMgc3RlbW1lciBmcm9tICdAb3JhbWEvc3RlbW1lcnMnO1xuaW1wb3J0IHtmcm9tLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIGBOZ0RvY0RlZmF1bHRTZWFyY2hFbmdpbmVgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5nRG9jRGVmYXVsdFNlYXJjaEVuZ2luZU9wdGlvbnMge1xuXHQvKipcblx0ICogVGhlIGxhbmd1YWdlIHRvIHVzZSBmb3IgdGhlIHNlYXJjaCBlbmdpbmUuXG5cdCAqL1xuXHRzdGVtbWVyPzogdHlwZW9mIHN0ZW1tZXIuc3RlbW1lcjtcblx0LyoqXG5cdCAqIFNwZWNpZmllcyB0aGUgbWF4aW11bSBkaXN0YW5jZSAoZm9sbG93aW5nIHRoZSBMZXZlbnNodGVpbiBhbGdvcml0aG0pIGJldHdlZW4gdGhlIHRlcm0gYW5kIHRoZSBzZWFyY2hhYmxlIHByb3BlcnR5LlxuXHQgKiAoZG9lc24ndCB3b3JrIHdpdGggYGV4YWN0YCBvcHRpb24pXG5cdCAqL1xuXHR0b2xlcmFuY2U/OiBudW1iZXI7XG5cdC8qKlxuXHQgKiBJZiBgdHJ1ZWAsIGZpbmRzIGFsbCB0aGUgZG9jdW1lbnQgd2l0aCBhbiBleGFjdCBtYXRjaCBvZiB0aGUgdGVybSBwcm9wZXJ0eS5cblx0ICovXG5cdGV4YWN0PzogYm9vbGVhbjtcblx0LyoqXG5cdCAqIE51bWJlciBvZiByZXN1bHRzIHRvIHJldHVybiAoZGVmYXVsdDogMTApLlxuXHQgKi9cblx0bGltaXQ/OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBTZWFyY2hTY2hlbWEgZXh0ZW5kcyBEb2N1bWVudCB7XG5cdHRpdGxlOiAnc3RyaW5nJztcblx0c2VjdGlvblRpdGxlOiAnc3RyaW5nJztcblx0Y29udGVudDogJ3N0cmluZyc7XG59XG5cblxuLyoqXG4gKiBTZWFyY2ggZW5naW5lIGZvciB0aGUgZG9jdW1lbnRhdGlvbiwgaXQgbG9hZHMgdGhlIGluZGV4IGFuZCBwcm92aWRlcyBhIHNlYXJjaCBtZXRob2QuXG4gKi9cbmV4cG9ydCBjbGFzcyBOZ0RvY0RlZmF1bHRTZWFyY2hFbmdpbmUgZXh0ZW5kcyBOZ0RvY1NlYXJjaEVuZ2luZSB7XG5cdHByaXZhdGUgZGIkOiBPYnNlcnZhYmxlPE9yYW1hV2l0aEhpZ2hsaWdodD47XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSBvcHRpb25zPzogTmdEb2NEZWZhdWx0U2VhcmNoRW5naW5lT3B0aW9ucykge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5kYiQgPSBmcm9tKFxuXHRcdFx0Y3JlYXRlKHtcblx0XHRcdFx0c2NoZW1hOiB7XG5cdFx0XHRcdFx0dGl0bGU6ICdzdHJpbmcnLFxuXHRcdFx0XHRcdHNlY3Rpb246ICdzdHJpbmcnLFxuXHRcdFx0XHRcdGNvbnRlbnQ6ICdzdHJpbmcnLFxuXHRcdFx0XHR9LFxuXHRcdFx0XHRjb21wb25lbnRzOiB7XG5cdFx0XHRcdFx0YWZ0ZXJJbnNlcnQ6IFthZnRlckluc2VydF0sXG5cdFx0XHRcdFx0dG9rZW5pemVyOiB7XG5cdFx0XHRcdFx0XHRzdGVtbWVyOiBvcHRpb25zPy5zdGVtbWVyXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0fSxcblx0XHRcdH0pLFxuXHRcdCkucGlwZShcblx0XHRcdG1hcCgoZGI6IE9yYW1hKSA9PiBkYiBhcyBPcmFtYVdpdGhIaWdobGlnaHQpLFxuXHRcdFx0c3dpdGNoTWFwKChkYjogT3JhbWFXaXRoSGlnaGxpZ2h0KSA9PlxuXHRcdFx0XHR0aGlzLnJlcXVlc3Q8TmdEb2NQYWdlSW5kZXhbXT4oYGFzc2V0cy9uZy1kb2MvaW5kZXhlcy5qc29uYCkucGlwZShcblx0XHRcdFx0XHRzd2l0Y2hNYXAoKHBhZ2VzOiBOZ0RvY1BhZ2VJbmRleFtdKSA9PlxuXHRcdFx0XHRcdFx0aW5zZXJ0TXVsdGlwbGUoZGIsIHBhZ2VzIGFzIHVua25vd24gYXMgU2VhcmNoU2NoZW1hW10pLFxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0bWFwKCgpID0+IGRiKSxcblx0XHRcdFx0KSxcblx0XHRcdCksXG5cdFx0XHRzaGFyZVJlcGxheSgxKSxcblx0XHQpIGFzIE9ic2VydmFibGU8T3JhbWFXaXRoSGlnaGxpZ2h0Pjtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZWFyY2ggdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBnaXZlbiBxdWVyeS5cblx0ICpcblx0ICogQHBhcmFtIHF1ZXJ5IFRoZSBxdWVyeSB0byBzZWFyY2ggZm9yLlxuXHQgKi9cblx0c2VhcmNoKHF1ZXJ5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPE5nRG9jU2VhcmNoUmVzdWx0W10+IHtcblx0XHRyZXR1cm4gdGhpcy5kYiQucGlwZShcblx0XHRcdHN3aXRjaE1hcCgoZGI6IE9yYW1hV2l0aEhpZ2hsaWdodCkgPT5cblx0XHRcdFx0c2VhcmNoV2l0aEhpZ2hsaWdodChkYiwge1xuXHRcdFx0XHRcdHRlcm06IHF1ZXJ5LFxuXHRcdFx0XHRcdGJvb3N0OiB7dGl0bGU6IDQsIHNlY3Rpb246IDJ9LFxuXHRcdFx0XHRcdHByb3BlcnRpZXM6IFsnc2VjdGlvbicsICdjb250ZW50J10sXG5cdFx0XHRcdFx0dG9sZXJhbmNlOiB0aGlzLm9wdGlvbnM/LnRvbGVyYW5jZSxcblx0XHRcdFx0XHRleGFjdDogdGhpcy5vcHRpb25zPy5leGFjdCxcblx0XHRcdFx0XHRsaW1pdDogdGhpcy5vcHRpb25zPy5saW1pdCA/PyAxMCxcblx0XHRcdFx0fSksXG5cdFx0XHQpLFxuXHRcdFx0bWFwKChyZXN1bHQ6IFNlYXJjaFJlc3VsdFdpdGhIaWdobGlnaHQpID0+XG5cdFx0XHRcdHJlc3VsdC5oaXRzLm1hcCgoaGl0OiBTZWFyY2hSZXN1bHRXaXRoSGlnaGxpZ2h0WydoaXRzJ11bMF0pID0+IHtcblx0XHRcdFx0XHRjb25zdCBrZXlzOiBBcnJheTxrZXlvZiBOZ0RvY1BhZ2VJbmRleD4gPSBvYmplY3RLZXlzKGhpdC5wb3NpdGlvbnMpIGFzIHVua25vd24gYXMgQXJyYXk8a2V5b2YgTmdEb2NQYWdlSW5kZXg+O1xuXG5cdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdGluZGV4OiBoaXQuZG9jdW1lbnQgYXMgdW5rbm93biBhcyBOZ0RvY1BhZ2VJbmRleCxcblx0XHRcdFx0XHRcdHBvc2l0aW9uczoga2V5cy5yZWR1Y2UoKGFjYzogUmVjb3JkPGtleW9mIE5nRG9jUGFnZUluZGV4LCBOZ0RvY0hpZ2hsaWdodFBvc2l0aW9uW10+LCBrZXk6IGtleW9mIE5nRG9jUGFnZUluZGV4KSA9PiB7XG5cdFx0XHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHRcdFx0XHRcdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdFx0XHRcdFx0XHRhY2Nba2V5XSA9IFsuLi5hc0FycmF5KGFjY1trZXldKSwgLi4uT2JqZWN0LnZhbHVlcyhoaXQucG9zaXRpb25zW2tleV0pLmZsYXQoKV07XG5cblx0XHRcdFx0XHRcdFx0cmV0dXJuIGFjYztcblx0XHRcdFx0XHRcdH0sIHt9IGFzIGFueSkgYXMgUGFydGlhbDxSZWNvcmQ8a2V5b2YgTmdEb2NQYWdlSW5kZXgsIE5nRG9jSGlnaGxpZ2h0UG9zaXRpb25bXT4+LFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdClcblx0XHQpO1xuXHR9XG5cblx0cHJpdmF0ZSByZXF1ZXN0PFQ+KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG5cdFx0cmV0dXJuIGZyb20oZmV0Y2godXJsKSkucGlwZShzd2l0Y2hNYXAoKHJlc3BvbnNlOiBSZXNwb25zZSkgPT4gcmVzcG9uc2UuanNvbigpIGFzIFByb21pc2U8VD4pKTtcblx0fVxufVxuIl19
@@ -5,6 +5,7 @@ import * as i1 from "@angular/cdk/clipboard";
5
5
  import * as i2 from "@angular/common";
6
6
  import * as i3 from "@ng-doc/ui-kit";
7
7
  import * as i4 from "@ng-doc/app/processors/link-processor";
8
+ import * as i5 from "@ng-doc/app/pipes";
8
9
  class NgDocCodeComponent {
9
10
  constructor(elementRef, clipboard) {
10
11
  this.elementRef = elementRef;
@@ -24,12 +25,12 @@ class NgDocCodeComponent {
24
25
  this.clipboard.copy(this.codeElement?.textContent ?? '');
25
26
  }
26
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocCodeComponent, deps: [{ token: i0.ElementRef }, { token: i1.Clipboard }], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocCodeComponent, selector: "ng-doc-code", inputs: { html: "html", copyButton: "copyButton", fileName: "fileName", lineNumbers: "lineNumbers" }, host: { properties: { "attr.data-ng-doc-has-header": "this.hasHeader" } }, ngImport: i0, template: "<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ fileName }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div class=\"ng-doc-code-wrapper\" [innerHTML]=\"html\" ngDocLinkProcessor *ngIf=\"html\"></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\"\n\t>\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{tooltipText}}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n", styles: [":host{position:relative;display:block;margin:var(--ng-doc-code-margin)}:host[data-ng-doc-has-header=true]{--ng-doc-code-border-radius: 0 0 var(--ng-doc-base-gutter) var(--ng-doc-base-gutter);--ng-doc-code-shadow: none}:host .ng-doc-code-wrapper{--ng-doc-code-margin: 0}:host .ng-doc-code-header{display:flex;align-items:center;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-code-header-background, var(--ng-doc-base-2));border-radius:var(--ng-doc-base-gutter) var(--ng-doc-base-gutter) 0 0}:host .ng-doc-code-header .ng-doc-code-file-name{--ng-doc-text: var(--ng-doc-code-header-color);--ng-doc-font-weight: 600;--ng-doc-font-size: 14px}:host .ng-doc-code-body{position:relative;height:100%}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var(--ng-doc-code-copy-button-hover-background, var(--ng-doc-base-2));--ng-doc-button-active-background: var(--ng-doc-code-copy-button-active-background, var(--ng-doc-base-3))}:host .ng-doc-code-wrapper{height:100%}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin);border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));overflow:hidden;height:100%}:host ::ng-deep pre code{padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto;height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "component", type: i3.NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "component", type: i3.NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "directive", type: i3.NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "directive", type: i4.NgDocLinkProcessorDirective, selector: "[ngDocLinkProcessor]" }, { kind: "component", type: i3.NgDocSmoothResizeComponent, selector: "ng-doc-smooth-resize", inputs: ["trigger", "animateOpacity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocCodeComponent, selector: "ng-doc-code", inputs: { html: "html", copyButton: "copyButton", fileName: "fileName", lineNumbers: "lineNumbers" }, host: { properties: { "attr.data-ng-doc-has-header": "this.hasHeader" } }, ngImport: i0, template: "<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ fileName }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div class=\"ng-doc-code-wrapper\" [innerHTML]=\"html | ngDocSanitizeHtml\" ngDocLinkProcessor *ngIf=\"html\"></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\"\n\t>\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{tooltipText}}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n", styles: [":host{position:relative;display:block;margin:var(--ng-doc-code-margin)}:host[data-ng-doc-has-header=true]{--ng-doc-code-border-radius: 0 0 var(--ng-doc-base-gutter) var(--ng-doc-base-gutter);--ng-doc-code-shadow: none}:host .ng-doc-code-wrapper{--ng-doc-code-margin: 0}:host .ng-doc-code-header{display:flex;align-items:center;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-code-header-background, var(--ng-doc-base-2));border-radius:var(--ng-doc-base-gutter) var(--ng-doc-base-gutter) 0 0}:host .ng-doc-code-header .ng-doc-code-file-name{--ng-doc-text: var(--ng-doc-code-header-color);--ng-doc-font-weight: 600;--ng-doc-font-size: 14px}:host .ng-doc-code-body{position:relative;height:100%}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var(--ng-doc-code-copy-button-hover-background, var(--ng-doc-base-2));--ng-doc-button-active-background: var(--ng-doc-code-copy-button-active-background, var(--ng-doc-base-3))}:host .ng-doc-code-wrapper{height:100%}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin);border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));overflow:hidden;height:100%}:host ::ng-deep pre code{padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto;height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "component", type: i3.NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "component", type: i3.NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "directive", type: i3.NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "directive", type: i4.NgDocLinkProcessorDirective, selector: "[ngDocLinkProcessor]" }, { kind: "component", type: i3.NgDocSmoothResizeComponent, selector: "ng-doc-smooth-resize", inputs: ["trigger", "animateOpacity"] }, { kind: "pipe", type: i5.NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
29
  }
29
30
  export { NgDocCodeComponent };
30
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocCodeComponent, decorators: [{
31
32
  type: Component,
32
- args: [{ selector: 'ng-doc-code', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ fileName }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div class=\"ng-doc-code-wrapper\" [innerHTML]=\"html\" ngDocLinkProcessor *ngIf=\"html\"></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\"\n\t>\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{tooltipText}}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n", styles: [":host{position:relative;display:block;margin:var(--ng-doc-code-margin)}:host[data-ng-doc-has-header=true]{--ng-doc-code-border-radius: 0 0 var(--ng-doc-base-gutter) var(--ng-doc-base-gutter);--ng-doc-code-shadow: none}:host .ng-doc-code-wrapper{--ng-doc-code-margin: 0}:host .ng-doc-code-header{display:flex;align-items:center;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-code-header-background, var(--ng-doc-base-2));border-radius:var(--ng-doc-base-gutter) var(--ng-doc-base-gutter) 0 0}:host .ng-doc-code-header .ng-doc-code-file-name{--ng-doc-text: var(--ng-doc-code-header-color);--ng-doc-font-weight: 600;--ng-doc-font-size: 14px}:host .ng-doc-code-body{position:relative;height:100%}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var(--ng-doc-code-copy-button-hover-background, var(--ng-doc-base-2));--ng-doc-button-active-background: var(--ng-doc-code-copy-button-active-background, var(--ng-doc-base-3))}:host .ng-doc-code-wrapper{height:100%}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin);border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));overflow:hidden;height:100%}:host ::ng-deep pre code{padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto;height:100%}\n"] }]
33
+ args: [{ selector: 'ng-doc-code', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ fileName }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div class=\"ng-doc-code-wrapper\" [innerHTML]=\"html | ngDocSanitizeHtml\" ngDocLinkProcessor *ngIf=\"html\"></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\"\n\t>\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{tooltipText}}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n", styles: [":host{position:relative;display:block;margin:var(--ng-doc-code-margin)}:host[data-ng-doc-has-header=true]{--ng-doc-code-border-radius: 0 0 var(--ng-doc-base-gutter) var(--ng-doc-base-gutter);--ng-doc-code-shadow: none}:host .ng-doc-code-wrapper{--ng-doc-code-margin: 0}:host .ng-doc-code-header{display:flex;align-items:center;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-code-header-background, var(--ng-doc-base-2));border-radius:var(--ng-doc-base-gutter) var(--ng-doc-base-gutter) 0 0}:host .ng-doc-code-header .ng-doc-code-file-name{--ng-doc-text: var(--ng-doc-code-header-color);--ng-doc-font-weight: 600;--ng-doc-font-size: 14px}:host .ng-doc-code-body{position:relative;height:100%}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var(--ng-doc-code-copy-button-hover-background, var(--ng-doc-base-2));--ng-doc-button-active-background: var(--ng-doc-code-copy-button-active-background, var(--ng-doc-base-3))}:host .ng-doc-code-wrapper{height:100%}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin);border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));overflow:hidden;height:100%}:host ::ng-deep pre code{padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto;height:100%}\n"] }]
33
34
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Clipboard }]; }, propDecorators: { html: [{
34
35
  type: Input
35
36
  }], copyButton: [{
@@ -42,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
42
43
  type: HostBinding,
43
44
  args: ['attr.data-ng-doc-has-header']
44
45
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2NvZGUvY29kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2NvZGUvY29kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBRWpHLE1BTWEsa0JBQWtCO0lBZTlCLFlBQW9CLFVBQW1DLEVBQW1CLFNBQW9CO1FBQTFFLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQW1CLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFiOUYsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUdsQixlQUFVLEdBQVksSUFBSSxDQUFDO1FBTTNCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTdCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO0lBRXdFLENBQUM7SUFFbEcsSUFDSSxTQUFTO1FBQ1osT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2QsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3JFLENBQUM7SUFFRCxRQUFRO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQzs4R0E1Qlcsa0JBQWtCO2tHQUFsQixrQkFBa0Isb09DVC9CLDAxQkEwQkE7O1NEakJhLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQU45QixTQUFTOytCQUNDLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTTt5SEFJL0MsSUFBSTtzQkFESCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQVFGLFNBQVM7c0JBRFosV0FBVzt1QkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsaXBib2FyZH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25nLWRvYy1jb2RlJyxcblx0dGVtcGxhdGVVcmw6ICcuL2NvZGUuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9jb2RlLmNvbXBvbmVudC5zY3NzJ10sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0RvY0NvZGVDb21wb25lbnQge1xuXHRASW5wdXQoKVxuXHRodG1sOiBzdHJpbmcgPSAnJztcblxuXHRASW5wdXQoKVxuXHRjb3B5QnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuXHRASW5wdXQoKVxuXHRmaWxlTmFtZT86IHN0cmluZztcblxuXHRASW5wdXQoKVxuXHRsaW5lTnVtYmVyczogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdHRvb2x0aXBUZXh0OiBzdHJpbmcgPSAnJztcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwcml2YXRlIHJlYWRvbmx5IGNsaXBib2FyZDogQ2xpcGJvYXJkKSB7fVxuXG5cdEBIb3N0QmluZGluZygnYXR0ci5kYXRhLW5nLWRvYy1oYXMtaGVhZGVyJylcblx0Z2V0IGhhc0hlYWRlcigpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gISF0aGlzLmZpbGVOYW1lO1xuXHR9XG5cblx0Z2V0IGNvZGVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG5cdFx0cmV0dXJuIHRoaXMuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdjb2RlJykgPz8gbnVsbDtcblx0fVxuXG5cdGNvcHlDb2RlKCk6IHZvaWQge1xuXHRcdHRoaXMuY2xpcGJvYXJkLmNvcHkodGhpcy5jb2RlRWxlbWVudD8udGV4dENvbnRlbnQgPz8gJycpO1xuXHR9XG59XG4iLCI8ZGl2IGNsYXNzPVwibmctZG9jLWNvZGUtaGVhZGVyXCIgKm5nSWY9XCJoYXNIZWFkZXJcIj5cblx0PHNwYW4gY2xhc3M9XCJuZy1kb2MtY29kZS1maWxlLW5hbWVcIiBuZy1kb2MtdGV4dD57eyBmaWxlTmFtZSB9fTwvc3Bhbj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cIm5nLWRvYy1jb2RlLWJvZHlcIj5cblx0PGRpdiBjbGFzcz1cIm5nLWRvYy1jb2RlLXdyYXBwZXJcIiBbaW5uZXJIVE1MXT1cImh0bWxcIiBuZ0RvY0xpbmtQcm9jZXNzb3IgKm5nSWY9XCJodG1sXCI+PC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJuZy1kb2MtY29kZS13cmFwcGVyXCIgKm5nSWY9XCIhaHRtbFwiPlxuXHRcdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblx0PC9kaXY+XG5cblx0PGJ1dHRvblxuXG5cdFx0Y2xhc3M9XCJuZy1kb2MtY29weS1idXR0b25cIlxuXHRcdG5nLWRvYy1idXR0b24taWNvblxuXHRcdCpuZ0lmPVwiY29weUJ1dHRvblwiXG5cdFx0KGNsaWNrKT1cImNvcHlDb2RlKCk7IHRvb2x0aXBUZXh0ID0gJ0NvcGllZCEnXCJcblx0XHRbbmdEb2NUb29sdGlwXT1cInRvb2x0aXBDb250ZW50XCJcblx0XHQobW91c2VlbnRlcik9XCJ0b29sdGlwVGV4dCA9ICdDb3B5IHRvIGNsaXBib2FyZCdcIlxuXHQ+XG5cdFx0PG5nLXRlbXBsYXRlICN0b29sdGlwQ29udGVudD5cblx0XHRcdDxuZy1kb2Mtc21vb3RoLXJlc2l6ZSBbdHJpZ2dlcl09XCJ0b29sdGlwVGV4dFwiPlxuXHRcdFx0XHR7e3Rvb2x0aXBUZXh0fX1cblx0XHRcdDwvbmctZG9jLXNtb290aC1yZXNpemU+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHQ8bmctZG9jLWljb24gaWNvbj1cImNvcHlcIj48L25nLWRvYy1pY29uPlxuXHQ8L2J1dHRvbj5cbjwvZGl2PlxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2NvZGUvY29kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2NvZGUvY29kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQUVqRyxNQU1hLGtCQUFrQjtJQWU5QixZQUFvQixVQUFtQyxFQUFtQixTQUFvQjtRQUExRSxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUFtQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBYjlGLFNBQUksR0FBVyxFQUFFLENBQUM7UUFHbEIsZUFBVSxHQUFZLElBQUksQ0FBQztRQU0zQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUU3QixnQkFBVyxHQUFXLEVBQUUsQ0FBQztJQUV3RSxDQUFDO0lBRWxHLElBQ0ksU0FBUztRQUNaLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksV0FBVztRQUNkLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQztJQUNyRSxDQUFDO0lBRUQsUUFBUTtRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7OEdBNUJXLGtCQUFrQjtrR0FBbEIsa0JBQWtCLG9PQ1QvQiw4MkJBMEJBOztTRGpCYSxrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDQyxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU07eUhBSS9DLElBQUk7c0JBREgsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFRRixTQUFTO3NCQURaLFdBQVc7dUJBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGlwYm9hcmR9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZy1kb2MtY29kZScsXG5cdHRlbXBsYXRlVXJsOiAnLi9jb2RlLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vY29kZS5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmdEb2NDb2RlQ29tcG9uZW50IHtcblx0QElucHV0KClcblx0aHRtbDogc3RyaW5nID0gJyc7XG5cblx0QElucHV0KClcblx0Y29weUJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG5cblx0QElucHV0KClcblx0ZmlsZU5hbWU/OiBzdHJpbmc7XG5cblx0QElucHV0KClcblx0bGluZU51bWJlcnM6IGJvb2xlYW4gPSBmYWxzZTtcblxuXHR0b29sdGlwVGV4dDogc3RyaW5nID0gJyc7XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHJpdmF0ZSByZWFkb25seSBjbGlwYm9hcmQ6IENsaXBib2FyZCkge31cblxuXHRASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1uZy1kb2MtaGFzLWhlYWRlcicpXG5cdGdldCBoYXNIZWFkZXIoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuICEhdGhpcy5maWxlTmFtZTtcblx0fVxuXG5cdGdldCBjb2RlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuXHRcdHJldHVybiB0aGlzLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignY29kZScpID8/IG51bGw7XG5cdH1cblxuXHRjb3B5Q29kZSgpOiB2b2lkIHtcblx0XHR0aGlzLmNsaXBib2FyZC5jb3B5KHRoaXMuY29kZUVsZW1lbnQ/LnRleHRDb250ZW50ID8/ICcnKTtcblx0fVxufVxuIiwiPGRpdiBjbGFzcz1cIm5nLWRvYy1jb2RlLWhlYWRlclwiICpuZ0lmPVwiaGFzSGVhZGVyXCI+XG5cdDxzcGFuIGNsYXNzPVwibmctZG9jLWNvZGUtZmlsZS1uYW1lXCIgbmctZG9jLXRleHQ+e3sgZmlsZU5hbWUgfX08L3NwYW4+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJuZy1kb2MtY29kZS1ib2R5XCI+XG5cdDxkaXYgY2xhc3M9XCJuZy1kb2MtY29kZS13cmFwcGVyXCIgW2lubmVySFRNTF09XCJodG1sIHwgbmdEb2NTYW5pdGl6ZUh0bWxcIiBuZ0RvY0xpbmtQcm9jZXNzb3IgKm5nSWY9XCJodG1sXCI+PC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJuZy1kb2MtY29kZS13cmFwcGVyXCIgKm5nSWY9XCIhaHRtbFwiPlxuXHRcdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblx0PC9kaXY+XG5cblx0PGJ1dHRvblxuXG5cdFx0Y2xhc3M9XCJuZy1kb2MtY29weS1idXR0b25cIlxuXHRcdG5nLWRvYy1idXR0b24taWNvblxuXHRcdCpuZ0lmPVwiY29weUJ1dHRvblwiXG5cdFx0KGNsaWNrKT1cImNvcHlDb2RlKCk7IHRvb2x0aXBUZXh0ID0gJ0NvcGllZCEnXCJcblx0XHRbbmdEb2NUb29sdGlwXT1cInRvb2x0aXBDb250ZW50XCJcblx0XHQobW91c2VlbnRlcik9XCJ0b29sdGlwVGV4dCA9ICdDb3B5IHRvIGNsaXBib2FyZCdcIlxuXHQ+XG5cdFx0PG5nLXRlbXBsYXRlICN0b29sdGlwQ29udGVudD5cblx0XHRcdDxuZy1kb2Mtc21vb3RoLXJlc2l6ZSBbdHJpZ2dlcl09XCJ0b29sdGlwVGV4dFwiPlxuXHRcdFx0XHR7e3Rvb2x0aXBUZXh0fX1cblx0XHRcdDwvbmctZG9jLXNtb290aC1yZXNpemU+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHQ8bmctZG9jLWljb24gaWNvbj1cImNvcHlcIj48L25nLWRvYy1pY29uPlxuXHQ8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -1,5 +1,6 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
+ import { NgDocSanitizeHtmlModule } from "@ng-doc/app/pipes";
3
4
  import { NgDocLinkProcessorModule } from '@ng-doc/app/processors/link-processor';
4
5
  import { NgDocButtonIconModule, NgDocIconModule, NgDocSmoothResizeModule, NgDocTextModule, NgDocTooltipModule, } from '@ng-doc/ui-kit';
5
6
  import { NgDocCodeComponent } from './code.component';
@@ -12,14 +13,16 @@ class NgDocCodeModule {
12
13
  NgDocIconModule,
13
14
  NgDocTooltipModule,
14
15
  NgDocLinkProcessorModule,
15
- NgDocSmoothResizeModule], exports: [NgDocCodeComponent] }); }
16
+ NgDocSmoothResizeModule,
17
+ NgDocSanitizeHtmlModule], exports: [NgDocCodeComponent] }); }
16
18
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocCodeModule, imports: [CommonModule,
17
19
  NgDocTextModule,
18
20
  NgDocButtonIconModule,
19
21
  NgDocIconModule,
20
22
  NgDocTooltipModule,
21
23
  NgDocLinkProcessorModule,
22
- NgDocSmoothResizeModule] }); }
24
+ NgDocSmoothResizeModule,
25
+ NgDocSanitizeHtmlModule] }); }
23
26
  }
24
27
  export { NgDocCodeModule };
25
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocCodeModule, decorators: [{
@@ -34,8 +37,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
34
37
  NgDocTooltipModule,
35
38
  NgDocLinkProcessorModule,
36
39
  NgDocSmoothResizeModule,
40
+ NgDocSanitizeHtmlModule,
37
41
  ],
38
42
  exports: [NgDocCodeComponent],
39
43
  }]
40
44
  }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2NvZGUvY29kZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUNOLHFCQUFxQixFQUNyQixlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLGVBQWUsRUFDZixrQkFBa0IsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFcEQsTUFhYSxlQUFlOzhHQUFmLGVBQWU7K0dBQWYsZUFBZSxpQkFaWixrQkFBa0IsYUFFaEMsWUFBWTtZQUNaLGVBQWU7WUFDZixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQix3QkFBd0I7WUFDeEIsdUJBQXVCLGFBRWQsa0JBQWtCOytHQUVoQixlQUFlLFlBVjFCLFlBQVk7WUFDWixlQUFlO1lBQ2YscUJBQXFCO1lBQ3JCLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsd0JBQXdCO1lBQ3hCLHVCQUF1Qjs7U0FJWixlQUFlOzJGQUFmLGVBQWU7a0JBYjNCLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQ2xDLE9BQU8sRUFBRTt3QkFDUixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsd0JBQXdCO3dCQUN4Qix1QkFBdUI7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nRG9jTGlua1Byb2Nlc3Nvck1vZHVsZX0gZnJvbSAnQG5nLWRvYy9hcHAvcHJvY2Vzc29ycy9saW5rLXByb2Nlc3Nvcic7XG5pbXBvcnQge1xuXHROZ0RvY0J1dHRvbkljb25Nb2R1bGUsXG5cdE5nRG9jSWNvbk1vZHVsZSxcblx0TmdEb2NTbW9vdGhSZXNpemVNb2R1bGUsXG5cdE5nRG9jVGV4dE1vZHVsZSxcblx0TmdEb2NUb29sdGlwTW9kdWxlLFxufSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5cbmltcG9ydCB7TmdEb2NDb2RlQ29tcG9uZW50fSBmcm9tICcuL2NvZGUuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcblx0ZGVjbGFyYXRpb25zOiBbTmdEb2NDb2RlQ29tcG9uZW50XSxcblx0aW1wb3J0czogW1xuXHRcdENvbW1vbk1vZHVsZSxcblx0XHROZ0RvY1RleHRNb2R1bGUsXG5cdFx0TmdEb2NCdXR0b25JY29uTW9kdWxlLFxuXHRcdE5nRG9jSWNvbk1vZHVsZSxcblx0XHROZ0RvY1Rvb2x0aXBNb2R1bGUsXG5cdFx0TmdEb2NMaW5rUHJvY2Vzc29yTW9kdWxlLFxuXHRcdE5nRG9jU21vb3RoUmVzaXplTW9kdWxlLFxuXHRdLFxuXHRleHBvcnRzOiBbTmdEb2NDb2RlQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTmdEb2NDb2RlTW9kdWxlIHt9XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2NvZGUvY29kZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUNOLHFCQUFxQixFQUNyQixlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLGVBQWUsRUFDZixrQkFBa0IsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFcEQsTUFjYSxlQUFlOzhHQUFmLGVBQWU7K0dBQWYsZUFBZSxpQkFiWixrQkFBa0IsYUFFaEMsWUFBWTtZQUNaLGVBQWU7WUFDZixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQix3QkFBd0I7WUFDeEIsdUJBQXVCO1lBQ3ZCLHVCQUF1QixhQUVkLGtCQUFrQjsrR0FFaEIsZUFBZSxZQVgxQixZQUFZO1lBQ1osZUFBZTtZQUNmLHFCQUFxQjtZQUNyQixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLHdCQUF3QjtZQUN4Qix1QkFBdUI7WUFDdkIsdUJBQXVCOztTQUlaLGVBQWU7MkZBQWYsZUFBZTtrQkFkM0IsUUFBUTttQkFBQztvQkFDVCxZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFO3dCQUNSLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0RvY1Nhbml0aXplSHRtbE1vZHVsZX0gZnJvbSBcIkBuZy1kb2MvYXBwL3BpcGVzXCI7XG5pbXBvcnQge05nRG9jTGlua1Byb2Nlc3Nvck1vZHVsZX0gZnJvbSAnQG5nLWRvYy9hcHAvcHJvY2Vzc29ycy9saW5rLXByb2Nlc3Nvcic7XG5pbXBvcnQge1xuXHROZ0RvY0J1dHRvbkljb25Nb2R1bGUsXG5cdE5nRG9jSWNvbk1vZHVsZSxcblx0TmdEb2NTbW9vdGhSZXNpemVNb2R1bGUsXG5cdE5nRG9jVGV4dE1vZHVsZSxcblx0TmdEb2NUb29sdGlwTW9kdWxlLFxufSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5cbmltcG9ydCB7TmdEb2NDb2RlQ29tcG9uZW50fSBmcm9tICcuL2NvZGUuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcblx0ZGVjbGFyYXRpb25zOiBbTmdEb2NDb2RlQ29tcG9uZW50XSxcblx0aW1wb3J0czogW1xuXHRcdENvbW1vbk1vZHVsZSxcblx0XHROZ0RvY1RleHRNb2R1bGUsXG5cdFx0TmdEb2NCdXR0b25JY29uTW9kdWxlLFxuXHRcdE5nRG9jSWNvbk1vZHVsZSxcblx0XHROZ0RvY1Rvb2x0aXBNb2R1bGUsXG5cdFx0TmdEb2NMaW5rUHJvY2Vzc29yTW9kdWxlLFxuXHRcdE5nRG9jU21vb3RoUmVzaXplTW9kdWxlLFxuXHRcdE5nRG9jU2FuaXRpemVIdG1sTW9kdWxlLFxuXHRdLFxuXHRleHBvcnRzOiBbTmdEb2NDb2RlQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTmdEb2NDb2RlTW9kdWxlIHt9XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  var NgDocSearchComponent_1;
2
2
  import { __decorate, __metadata } from "tslib";
3
- import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, Optional, ViewChild } from '@angular/core';
3
+ import { ChangeDetectionStrategy, Component, ElementRef, forwardRef, HostBinding, Input, Optional, ViewChild } from '@angular/core';
4
4
  import { NgDocSearchEngine } from '@ng-doc/app/classes/search-engine';
5
5
  import { observableState } from '@ng-doc/ui-kit';
6
6
  import { NgDocListHost } from '@ng-doc/ui-kit/classes';
@@ -38,7 +38,7 @@ let NgDocSearchComponent = NgDocSearchComponent_1 = class NgDocSearchComponent {
38
38
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocSearchComponent, selector: "ng-doc-search", inputs: { mod: "mod" }, host: { properties: { "attr.data-ng-doc-mod": "this.mod" } }, providers: [
39
39
  {
40
40
  provide: NgDocListHost,
41
- useExisting: NgDocSearchComponent_1,
41
+ useExisting: forwardRef(() => NgDocSearchComponent_1),
42
42
  },
43
43
  ], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<ng-container *ngDocLet=\"search$ | async as state\">\n\t<ng-container *ngIf=\"mod === 'icon'; else searchInput\">\n\t\t<button ng-doc-button-icon size=\"large\" (click)=\"inputDropdown.toggle()\" ngDocDropdownOrigin>\n\t\t\t<ng-doc-icon icon=\"search\" [size]=\"24\"></ng-doc-icon>\n\n\t\t\t<ng-doc-dropdown\n\t\t\t\t[content]=\"dropdownContent\"\n\t\t\t\tpanelClass=\"ng-doc-search-dropdown\"\n\t\t\t\twidth=\"100%\"\n\t\t\t\theight=\"80vh\"\n\t\t\t\t#inputDropdown\n\t\t\t>\n\t\t\t\t<ng-template #dropdownContent>\n\t\t\t\t\t<div class=\"ng-doc-search-wrapper\">\n\t\t\t\t\t\t<ng-doc-input-wrapper [leftContent]=\"leftContent\" ngDocDropdownOrigin>\n\t\t\t\t\t\t\t<ng-template #leftContent>\n\t\t\t\t\t\t\t\t<ng-doc-icon icon=\"search\"></ng-doc-icon>\n\t\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tngDocInputString\n\t\t\t\t\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t\t\t\t\t(ngModelChange)=\"query$.next($event)\"\n\t\t\t\t\t\t\t\tplaceholder=\"Search...\"\n\t\t\t\t\t\t\t\tngDocAutofocus\n\t\t\t\t\t\t\t\t[selectAll]=\"true\"\n\t\t\t\t\t\t\t\t#inputElement\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ng-doc-input-wrapper>\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"searchResults\"></ng-container>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-dropdown>\n\t\t</button>\n\t</ng-container>\n\n\t<ng-template #searchInput>\n\t\t<ng-doc-input-wrapper\n\t\t\t[leftContent]=\"leftContent\"\n\t\t\t[rightContent]=\"rightContent\"\n\t\t\tngDocDropdownOrigin\n\t\t\tngDocFocusCatcher\n\t\t\t(focusEvent)=\"inputElement.value ? dropdown.open() : null\"\n\t\t\t(click)=\"inputElement.value ? dropdown.open() : null\"\n\t\t\t#input\n\t\t>\n\t\t\t<ng-template #leftContent>\n\t\t\t\t<ng-doc-icon icon=\"search\"></ng-doc-icon>\n\t\t\t</ng-template>\n\t\t\t<input\n\t\t\t\tngDocInputString\n\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t(ngModelChange)=\"query$.next($event); dropdown.open()\"\n\t\t\t\tplaceholder=\"Search...\"\n\t\t\t\t[ngDocHotkey]=\"{ctrlKey: false, altKey: false, shiftKey: false, code: 'Slash'}\"\n\t\t\t\t(ngDocHotkey)=\"inputElement.focus(); inputElement.select()\"\n\t\t\t\t#inputElement\n\t\t\t/>\n\t\t\t<ng-template #rightContent>\n\t\t\t\t<ng-doc-tag class=\"search-hotkey\">/</ng-doc-tag>\n\t\t\t</ng-template>\n\t\t\t<ng-doc-dropdown\n\t\t\t\t[content]=\"searchResults\"\n\t\t\t\tpositions=\"bottom-right\"\n\t\t\t\t[width]=\"input.elementRef.nativeElement.offsetWidth\"\n\t\t\t\tmaxHeight=\"calc(95vh - var(--ng-doc-navbar-height)\"\n\t\t\t\t#dropdown\n\t\t\t>\n\t\t\t\t<\n\t\t\t</ng-doc-dropdown>\n\t\t</ng-doc-input-wrapper>\n\t</ng-template>\n\n\t<ng-template #searchResults>\n\t\t<div class=\"ng-doc-search-result-content\" [attr.data-ng-doc-mod]=\"mod\">\n\t\t\t<ng-doc-data-list [items]=\"state?.result ?? []\" [itemContent]=\"itemContent\" [emptyContent]=\"emptyContent\">\n\t\t\t\t<ng-template let-item #itemContent>\n\t\t\t\t\t<a class=\"ng-doc-search-option\" [routerLink]=\"item.index.route\" [fragment]=\"item.index.fragment\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-option-header\">\n\t\t\t\t\t\t\t<ng-doc-tag size=\"small\" [attr.data-ng-doc-page-type]=\"item.index.pageType\">\n\t\t\t\t\t\t\t\t{{ item.index.pageType }}\n\t\t\t\t\t\t\t</ng-doc-tag>\n\t\t\t\t\t\t\t<span class=\"ng-doc-search-option-breadcrumbs\" ng-doc-text>\n\t\t\t\t\t\t\t\t<ng-container *ngFor=\"let breadcrum of item.index.breadcrumbs; let i = index\">\n\t\t\t\t\t\t\t\t\t<span>{{ breadcrum }}</span>\n\t\t\t\t\t\t\t\t\t<span class=\"ng-doc-search-option-breadcrumb-divider\" *ngIf=\"i !== item.index.breadcrumbs.length - 1\"\n\t\t\t\t\t\t\t\t\t\t>/</span\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<h5\n\t\t\t\t\t\t\tclass=\"ng-doc-search-section-title\"\n\t\t\t\t\t\t\tng-doc-text\n\t\t\t\t\t\t\t[innerHTML]=\"\n\t\t\t\t\t\t\t\t(item.index.section\n\t\t\t\t\t\t\t\t\t| ngDocHighlighterPipe: (getPositions | ngDocRun: 'section':item)\n\t\t\t\t\t\t\t\t\t| ngDocSanitizeHtml) || item.index.title\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t></h5>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t*ngIf=\"item.index.content\"\n\t\t\t\t\t\t\tclass=\"ng-doc-search-content\"\n\t\t\t\t\t\t\t[innerHTML]=\"\n\t\t\t\t\t\t\t\titem.index.content | ngDocHighlighterPipe: (getPositions | ngDocRun: 'content':item) | ngDocSanitizeHtml\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\tng-doc-text\n\t\t\t\t\t\t></div>\n\t\t\t\t\t</a>\n\t\t\t\t</ng-template>\n\t\t\t\t<ng-template #emptyContent>\n\t\t\t\t\t<ng-container *ngIf=\"!state?.pending\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-empty\">\n\t\t\t\t\t\t\t<ng-container *ngIf=\"query$.value.length\">Nothing found</ng-container>\n\t\t\t\t\t\t\t<ng-container *ngIf=\"!query$.value.length\">Please enter your search query</ng-container>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-container *ngIf=\"state?.pending\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-progress\">\n\t\t\t\t\t\t\t<ng-doc-spinner size=\"small\"></ng-doc-spinner>\n\t\t\t\t\t\t\tSearching...\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-data-list>\n\t\t</div>\n\t</ng-template>\n</ng-container>\n", styles: [":host{max-width:500px;--ng-doc-floated-border-radius: var(--ng-doc-base-gutter);--ng-doc-input-background-color: var(--ng-doc-base-1);--ng-doc-input-border: none;--ng-doc-input-border-hover: none;--ng-doc-icon-color: var(--ng-doc-base-8)}:host[data-ng-doc-mod=input]{width:480px}.ng-doc-search-result-content{height:100%;overflow:auto;--ng-doc-option-padding: 0}.ng-doc-search-result-content[data-ng-doc-mod=icon] .ng-doc-search-wrapper{padding:calc(var(--ng-doc-base-gutter) * 2) 0}.ng-doc-search-result-content[data-ng-doc-mod=icon] .ng-doc-search-option{padding:12px 16px}.ng-doc-search-wrapper{display:flex;flex-direction:column;height:100%;padding:calc(var(--ng-doc-base-gutter) * 2) 0}.ng-doc-search-wrapper ng-doc-input-wrapper{padding:0 calc(var(--ng-doc-base-gutter) * 2)}.ng-doc-search-wrapper .ng-doc-search-result-content{padding:0;margin-top:calc(var(--ng-doc-base-gutter) * 3)}.search-hotkey{display:flex;align-items:center;justify-content:center;width:calc(var(--ng-doc-base-gutter) * 3);height:calc(var(--ng-doc-base-gutter) * 3);margin-right:var(--ng-doc-base-gutter);--ng-doc-tag-border: 1px solid var(--ng-doc-base-7);--ng-doc-tag-color: var(--ng-doc-base-7);--ng-doc-tag-background: transparent}::ng-deep .ng-doc-search-dropdown{--ng-doc-overlay-border-radius: 0px !important}.ng-doc-search-option{display:block;padding:12px 36px;text-decoration:none}.ng-doc-search-option .ng-doc-search-option-header{display:flex;align-items:center}.ng-doc-search-option .ng-doc-search-option-header ng-doc-tag{text-transform:uppercase;margin-right:calc(var(--ng-doc-base-gutter) / 2);--ng-doc-font-weight: 900}.ng-doc-search-option .ng-doc-search-option-header ng-doc-tag[data-ng-doc-page-type=guide]{--ng-doc-tag-color: var(--ng-doc-guide-tag-color);--ng-doc-tag-background: var(--ng-doc-guide-tag-background)}.ng-doc-search-option .ng-doc-search-option-header ng-doc-tag[data-ng-doc-page-type=api]{--ng-doc-tag-color: var(--ng-doc-api-tag-color);--ng-doc-tag-background: var(--ng-doc-api-tag-background)}.ng-doc-search-option .ng-doc-search-option-header .ng-doc-search-option-breadcrumbs{--ng-doc-text: var(--ng-doc-text-muted);--ng-doc-font-size: 12px;--ng-doc-line-height: 16px;--ng-doc-font-weight: 600}.ng-doc-search-option .ng-doc-search-option-header .ng-doc-search-option-breadcrumbs .ng-doc-search-option-breadcrumb-divider{margin:0 6px}.ng-doc-search-option .ng-doc-search-section-title{display:block;color:var(--ng-doc-search-result-header-color, var(--ng-doc-text));--ng-doc-line-height: 20px;margin:4px 0}.ng-doc-search-option .ng-doc-search-content{display:block;color:var(--ng-doc-search-result-color, var(--ng-doc-text));--ng-doc-font-size: 14px;--ng-doc-line-height: 19px;--ng-doc-font-weight: 600}.ng-doc-search-empty{padding:0 22px}.ng-doc-search-progress{display:flex;align-items:center}.ng-doc-search-progress ng-doc-spinner{margin-right:var(--ng-doc-base-gutter)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i5.NgDocInputWrapperComponent, selector: "ng-doc-input-wrapper", inputs: ["blurContent", "blurContext", "leftContent", "rightContent", "align"] }, { kind: "directive", type: i5.NgDocInputStringDirective, selector: "input[ngDocInputString]" }, { kind: "component", type: i5.NgDocDropdownComponent, selector: "ng-doc-dropdown", inputs: ["content", "origin", "closeIfOutsideClick", "closeIfInnerClick", "withArrow", "borderOffset", "panelClass", "contactBorder", "hasBackdrop", "positions", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"] }, { kind: "directive", type: i5.NgDocDropdownOriginDirective, selector: "[ngDocDropdownOrigin]", exportAs: ["ngDocDropdownOrigin"] }, { kind: "directive", type: i5.NgDocFocusCatcherDirective, selector: "[ngDocFocusCatcher]", outputs: ["focusEvent", "blurEvent"], exportAs: ["ngDocFocusCatcher"] }, { kind: "component", type: i5.NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "component", type: i5.NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "directive", type: i5.NgDocAutofocusDirective, selector: "[ngDocAutofocus]", inputs: ["selectAll"] }, { kind: "component", type: i5.NgDocTagComponent, selector: "ng-doc-tag", inputs: ["color", "size", "mod"] }, { kind: "directive", type: i5.NgDocHotkeyDirective, selector: "[ngDocHotkey]", inputs: ["ngDocHotkey"], outputs: ["ngDocHotkey"] }, { kind: "component", type: i5.NgDocDataListComponent, selector: "ng-doc-data-list", inputs: ["autofocus", "items", "itemContent", "emptyContent", "itemDisabledFn", "defineValueFn", "trackByFn"] }, { kind: "component", type: i5.NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: i5.NgDocLetDirective, selector: "[ngDocLet]", inputs: ["ngDocLet"] }, { kind: "component", type: i5.NgDocSpinnerComponent, selector: "ng-doc-spinner", inputs: ["size"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.NgDocHighlighterPipe, name: "ngDocHighlighterPipe" }, { kind: "pipe", type: i5.NgDocRunPipe, name: "ngDocRun" }, { kind: "pipe", type: i6.NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
44
44
  };
@@ -53,7 +53,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
53
53
  args: [{ selector: 'ng-doc-search', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
54
54
  {
55
55
  provide: NgDocListHost,
56
- useExisting: NgDocSearchComponent,
56
+ useExisting: forwardRef(() => NgDocSearchComponent),
57
57
  },
58
58
  ], template: "<ng-container *ngDocLet=\"search$ | async as state\">\n\t<ng-container *ngIf=\"mod === 'icon'; else searchInput\">\n\t\t<button ng-doc-button-icon size=\"large\" (click)=\"inputDropdown.toggle()\" ngDocDropdownOrigin>\n\t\t\t<ng-doc-icon icon=\"search\" [size]=\"24\"></ng-doc-icon>\n\n\t\t\t<ng-doc-dropdown\n\t\t\t\t[content]=\"dropdownContent\"\n\t\t\t\tpanelClass=\"ng-doc-search-dropdown\"\n\t\t\t\twidth=\"100%\"\n\t\t\t\theight=\"80vh\"\n\t\t\t\t#inputDropdown\n\t\t\t>\n\t\t\t\t<ng-template #dropdownContent>\n\t\t\t\t\t<div class=\"ng-doc-search-wrapper\">\n\t\t\t\t\t\t<ng-doc-input-wrapper [leftContent]=\"leftContent\" ngDocDropdownOrigin>\n\t\t\t\t\t\t\t<ng-template #leftContent>\n\t\t\t\t\t\t\t\t<ng-doc-icon icon=\"search\"></ng-doc-icon>\n\t\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tngDocInputString\n\t\t\t\t\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t\t\t\t\t(ngModelChange)=\"query$.next($event)\"\n\t\t\t\t\t\t\t\tplaceholder=\"Search...\"\n\t\t\t\t\t\t\t\tngDocAutofocus\n\t\t\t\t\t\t\t\t[selectAll]=\"true\"\n\t\t\t\t\t\t\t\t#inputElement\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ng-doc-input-wrapper>\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"searchResults\"></ng-container>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-dropdown>\n\t\t</button>\n\t</ng-container>\n\n\t<ng-template #searchInput>\n\t\t<ng-doc-input-wrapper\n\t\t\t[leftContent]=\"leftContent\"\n\t\t\t[rightContent]=\"rightContent\"\n\t\t\tngDocDropdownOrigin\n\t\t\tngDocFocusCatcher\n\t\t\t(focusEvent)=\"inputElement.value ? dropdown.open() : null\"\n\t\t\t(click)=\"inputElement.value ? dropdown.open() : null\"\n\t\t\t#input\n\t\t>\n\t\t\t<ng-template #leftContent>\n\t\t\t\t<ng-doc-icon icon=\"search\"></ng-doc-icon>\n\t\t\t</ng-template>\n\t\t\t<input\n\t\t\t\tngDocInputString\n\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t(ngModelChange)=\"query$.next($event); dropdown.open()\"\n\t\t\t\tplaceholder=\"Search...\"\n\t\t\t\t[ngDocHotkey]=\"{ctrlKey: false, altKey: false, shiftKey: false, code: 'Slash'}\"\n\t\t\t\t(ngDocHotkey)=\"inputElement.focus(); inputElement.select()\"\n\t\t\t\t#inputElement\n\t\t\t/>\n\t\t\t<ng-template #rightContent>\n\t\t\t\t<ng-doc-tag class=\"search-hotkey\">/</ng-doc-tag>\n\t\t\t</ng-template>\n\t\t\t<ng-doc-dropdown\n\t\t\t\t[content]=\"searchResults\"\n\t\t\t\tpositions=\"bottom-right\"\n\t\t\t\t[width]=\"input.elementRef.nativeElement.offsetWidth\"\n\t\t\t\tmaxHeight=\"calc(95vh - var(--ng-doc-navbar-height)\"\n\t\t\t\t#dropdown\n\t\t\t>\n\t\t\t\t<\n\t\t\t</ng-doc-dropdown>\n\t\t</ng-doc-input-wrapper>\n\t</ng-template>\n\n\t<ng-template #searchResults>\n\t\t<div class=\"ng-doc-search-result-content\" [attr.data-ng-doc-mod]=\"mod\">\n\t\t\t<ng-doc-data-list [items]=\"state?.result ?? []\" [itemContent]=\"itemContent\" [emptyContent]=\"emptyContent\">\n\t\t\t\t<ng-template let-item #itemContent>\n\t\t\t\t\t<a class=\"ng-doc-search-option\" [routerLink]=\"item.index.route\" [fragment]=\"item.index.fragment\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-option-header\">\n\t\t\t\t\t\t\t<ng-doc-tag size=\"small\" [attr.data-ng-doc-page-type]=\"item.index.pageType\">\n\t\t\t\t\t\t\t\t{{ item.index.pageType }}\n\t\t\t\t\t\t\t</ng-doc-tag>\n\t\t\t\t\t\t\t<span class=\"ng-doc-search-option-breadcrumbs\" ng-doc-text>\n\t\t\t\t\t\t\t\t<ng-container *ngFor=\"let breadcrum of item.index.breadcrumbs; let i = index\">\n\t\t\t\t\t\t\t\t\t<span>{{ breadcrum }}</span>\n\t\t\t\t\t\t\t\t\t<span class=\"ng-doc-search-option-breadcrumb-divider\" *ngIf=\"i !== item.index.breadcrumbs.length - 1\"\n\t\t\t\t\t\t\t\t\t\t>/</span\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<h5\n\t\t\t\t\t\t\tclass=\"ng-doc-search-section-title\"\n\t\t\t\t\t\t\tng-doc-text\n\t\t\t\t\t\t\t[innerHTML]=\"\n\t\t\t\t\t\t\t\t(item.index.section\n\t\t\t\t\t\t\t\t\t| ngDocHighlighterPipe: (getPositions | ngDocRun: 'section':item)\n\t\t\t\t\t\t\t\t\t| ngDocSanitizeHtml) || item.index.title\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t></h5>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t*ngIf=\"item.index.content\"\n\t\t\t\t\t\t\tclass=\"ng-doc-search-content\"\n\t\t\t\t\t\t\t[innerHTML]=\"\n\t\t\t\t\t\t\t\titem.index.content | ngDocHighlighterPipe: (getPositions | ngDocRun: 'content':item) | ngDocSanitizeHtml\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\tng-doc-text\n\t\t\t\t\t\t></div>\n\t\t\t\t\t</a>\n\t\t\t\t</ng-template>\n\t\t\t\t<ng-template #emptyContent>\n\t\t\t\t\t<ng-container *ngIf=\"!state?.pending\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-empty\">\n\t\t\t\t\t\t\t<ng-container *ngIf=\"query$.value.length\">Nothing found</ng-container>\n\t\t\t\t\t\t\t<ng-container *ngIf=\"!query$.value.length\">Please enter your search query</ng-container>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-container *ngIf=\"state?.pending\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-progress\">\n\t\t\t\t\t\t\t<ng-doc-spinner size=\"small\"></ng-doc-spinner>\n\t\t\t\t\t\t\tSearching...\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-data-list>\n\t\t</div>\n\t</ng-template>\n</ng-container>\n", styles: [":host{max-width:500px;--ng-doc-floated-border-radius: var(--ng-doc-base-gutter);--ng-doc-input-background-color: var(--ng-doc-base-1);--ng-doc-input-border: none;--ng-doc-input-border-hover: none;--ng-doc-icon-color: var(--ng-doc-base-8)}:host[data-ng-doc-mod=input]{width:480px}.ng-doc-search-result-content{height:100%;overflow:auto;--ng-doc-option-padding: 0}.ng-doc-search-result-content[data-ng-doc-mod=icon] .ng-doc-search-wrapper{padding:calc(var(--ng-doc-base-gutter) * 2) 0}.ng-doc-search-result-content[data-ng-doc-mod=icon] .ng-doc-search-option{padding:12px 16px}.ng-doc-search-wrapper{display:flex;flex-direction:column;height:100%;padding:calc(var(--ng-doc-base-gutter) * 2) 0}.ng-doc-search-wrapper ng-doc-input-wrapper{padding:0 calc(var(--ng-doc-base-gutter) * 2)}.ng-doc-search-wrapper .ng-doc-search-result-content{padding:0;margin-top:calc(var(--ng-doc-base-gutter) * 3)}.search-hotkey{display:flex;align-items:center;justify-content:center;width:calc(var(--ng-doc-base-gutter) * 3);height:calc(var(--ng-doc-base-gutter) * 3);margin-right:var(--ng-doc-base-gutter);--ng-doc-tag-border: 1px solid var(--ng-doc-base-7);--ng-doc-tag-color: var(--ng-doc-base-7);--ng-doc-tag-background: transparent}::ng-deep .ng-doc-search-dropdown{--ng-doc-overlay-border-radius: 0px !important}.ng-doc-search-option{display:block;padding:12px 36px;text-decoration:none}.ng-doc-search-option .ng-doc-search-option-header{display:flex;align-items:center}.ng-doc-search-option .ng-doc-search-option-header ng-doc-tag{text-transform:uppercase;margin-right:calc(var(--ng-doc-base-gutter) / 2);--ng-doc-font-weight: 900}.ng-doc-search-option .ng-doc-search-option-header ng-doc-tag[data-ng-doc-page-type=guide]{--ng-doc-tag-color: var(--ng-doc-guide-tag-color);--ng-doc-tag-background: var(--ng-doc-guide-tag-background)}.ng-doc-search-option .ng-doc-search-option-header ng-doc-tag[data-ng-doc-page-type=api]{--ng-doc-tag-color: var(--ng-doc-api-tag-color);--ng-doc-tag-background: var(--ng-doc-api-tag-background)}.ng-doc-search-option .ng-doc-search-option-header .ng-doc-search-option-breadcrumbs{--ng-doc-text: var(--ng-doc-text-muted);--ng-doc-font-size: 12px;--ng-doc-line-height: 16px;--ng-doc-font-weight: 600}.ng-doc-search-option .ng-doc-search-option-header .ng-doc-search-option-breadcrumbs .ng-doc-search-option-breadcrumb-divider{margin:0 6px}.ng-doc-search-option .ng-doc-search-section-title{display:block;color:var(--ng-doc-search-result-header-color, var(--ng-doc-text));--ng-doc-line-height: 20px;margin:4px 0}.ng-doc-search-option .ng-doc-search-content{display:block;color:var(--ng-doc-search-result-color, var(--ng-doc-text));--ng-doc-font-size: 14px;--ng-doc-line-height: 19px;--ng-doc-font-weight: 600}.ng-doc-search-empty{padding:0 22px}.ng-doc-search-progress{display:flex;align-items:center}.ng-doc-search-progress ng-doc-spinner{margin-right:var(--ng-doc-base-gutter)}\n"] }]
59
59
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.NgDocSearchEngine, decorators: [{
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
67
67
  type: ViewChild,
68
68
  args: ['inputElement']
69
69
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFcEUsT0FBTyxFQUF5QixlQUFlLEVBQW1CLE1BQU0sZ0JBQWdCLENBQUM7QUFDekYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFDLGVBQWUsRUFBRSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFDLElBQUksRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFFL0MsSUFhYSxvQkFBb0IsNEJBYmpDLE1BYWEsb0JBQW9CO0lBYWhDLFlBQ2tCLFVBQW1DLEVBRW5DLFlBQWdDO1FBRmhDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBRW5DLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQWJsRCxRQUFHLEdBQXFCLE9BQU8sQ0FBQztRQUtoQyxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBRWYsV0FBTSxHQUE0QixJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQVExRSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDOzsrQkFFWSxDQUFDLENBQUM7U0FDOUI7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUM5QixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsU0FBUyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsRUFDN0YsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUNwQixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksY0FBYztRQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFBWSxDQUE4RCxHQUFNLEVBQUUsSUFBTztRQUN4RixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7OEdBckNXLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDhIQVJyQjtZQUNWO2dCQUNDLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsc0JBQW9CO2FBQ2pDO1NBQ0Qsd0lDbkJGLHNnS0ErSEE7O0FEekdhLG9CQUFvQjtJQURoQyxZQUFZLEVBQUU7cUNBZWdCLFVBQVU7UUFFUCxpQkFBaUI7R0FoQnRDLG9CQUFvQixDQXNDaEM7U0F0Q1ksb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBYmhDLFNBQVM7K0JBQ0MsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNWOzRCQUNDLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLHNCQUFzQjt5QkFDakM7cUJBQ0Q7OzBCQWtCQyxRQUFROzRDQVpWLEdBQUc7c0JBRkYsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBSW5DLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9wdGlvbmFsLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0RvY1NlYXJjaEVuZ2luZX0gZnJvbSAnQG5nLWRvYy9hcHAvY2xhc3Nlcy9zZWFyY2gtZW5naW5lJztcbmltcG9ydCB7TmdEb2NTZWFyY2hSZXN1bHR9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtOZ0RvY0hpZ2hsaWdodFBvc2l0aW9uLCBvYnNlcnZhYmxlU3RhdGUsIFN0YXRlZE9ic2VydmFibGV9IGZyb20gJ0BuZy1kb2MvdWkta2l0JztcbmltcG9ydCB7TmdEb2NMaXN0SG9zdH0gZnJvbSAnQG5nLWRvYy91aS1raXQvY2xhc3Nlcyc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgTkVWRVJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtza2lwLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLXNlYXJjaCcsXG5cdHRlbXBsYXRlVXJsOiAnLi9zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9zZWFyY2guY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHByb3ZpZGVyczogW1xuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE5nRG9jTGlzdEhvc3QsXG5cdFx0XHR1c2VFeGlzdGluZzogTmdEb2NTZWFyY2hDb21wb25lbnQsXG5cdFx0fSxcblx0XSxcbn0pXG5AVW50aWxEZXN0cm95KClcbmV4cG9ydCBjbGFzcyBOZ0RvY1NlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE5nRG9jTGlzdEhvc3Qge1xuXHRASW5wdXQoKVxuXHRASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1uZy1kb2MtbW9kJylcblx0bW9kOiAnaW5wdXQnIHwgJ2ljb24nID0gJ2lucHV0JztcblxuXHRAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnKVxuXHRpbnB1dEVsZW1lbnQ/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuXHRzZWFyY2hUZXJtOiBzdHJpbmcgPSAnJztcblxuXHRyZWFkb25seSBxdWVyeSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblx0cmVhZG9ubHkgc2VhcmNoJDogU3RhdGVkT2JzZXJ2YWJsZTxOZ0RvY1NlYXJjaFJlc3VsdFtdPjtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuXHRcdEBPcHRpb25hbCgpXG5cdFx0cHJpdmF0ZSByZWFkb25seSBzZWFyY2hFbmdpbmU/OiBOZ0RvY1NlYXJjaEVuZ2luZSxcblx0KSB7XG5cdFx0aWYgKCF0aGlzLnNlYXJjaEVuZ2luZSkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBOZ0RvYzogU2VhcmNoIGVuZ2luZSBpcyBub3QgcHJvdmlkZWQsXG5cdFx0XHRwbGVhc2UgY2hlY2sgdGhpcyBhcnRpY2xlOiBodHRwczovL25nLWRvYy5jb20vZ2V0dGluZy1zdGFydGVkL2luc3RhbGxhdGlvbiNpbXBvcnRpbmctZ2xvYmFsLW1vZHVsZXNcblx0XHRcdHRvIGxlYXJuIGhvdyB0byBwcm92aWRlIGl0LmApO1xuXHRcdH1cblxuXHRcdHRoaXMuc2VhcmNoJCA9IHRoaXMucXVlcnkkLnBpcGUoXG5cdFx0XHRza2lwKDEpLFxuXHRcdFx0c3dpdGNoTWFwKCh0ZXJtOiBzdHJpbmcpID0+IHRoaXMuc2VhcmNoRW5naW5lPy5zZWFyY2godGVybSkucGlwZShvYnNlcnZhYmxlU3RhdGUoKSkgPz8gTkVWRVIpLFxuXHRcdFx0dW50aWxEZXN0cm95ZWQodGhpcyksXG5cdFx0KTtcblx0fVxuXG5cdGdldCBsaXN0SG9zdE9yaWdpbigpOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB7XG5cdFx0cmV0dXJuIHRoaXMuaW5wdXRFbGVtZW50ID8/IHRoaXMuZWxlbWVudFJlZjtcblx0fVxuXG5cdGdldFBvc2l0aW9uczxUIGV4dGVuZHMgTmdEb2NTZWFyY2hSZXN1bHQsIEsgZXh0ZW5kcyBrZXlvZiBUWydwb3NpdGlvbnMnXT4oa2V5OiBLLCBpdGVtOiBUKTogTmdEb2NIaWdobGlnaHRQb3NpdGlvbltdIHtcblx0XHRyZXR1cm4gaXRlbS5wb3NpdGlvbnNba2V5XSA/PyBbXTtcblx0fVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdEb2NMZXQ9XCJzZWFyY2gkIHwgYXN5bmMgYXMgc3RhdGVcIj5cblx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZCA9PT0gJ2ljb24nOyBlbHNlIHNlYXJjaElucHV0XCI+XG5cdFx0PGJ1dHRvbiBuZy1kb2MtYnV0dG9uLWljb24gc2l6ZT1cImxhcmdlXCIgKGNsaWNrKT1cImlucHV0RHJvcGRvd24udG9nZ2xlKClcIiBuZ0RvY0Ryb3Bkb3duT3JpZ2luPlxuXHRcdFx0PG5nLWRvYy1pY29uIGljb249XCJzZWFyY2hcIiBbc2l6ZV09XCIyNFwiPjwvbmctZG9jLWljb24+XG5cblx0XHRcdDxuZy1kb2MtZHJvcGRvd25cblx0XHRcdFx0W2NvbnRlbnRdPVwiZHJvcGRvd25Db250ZW50XCJcblx0XHRcdFx0cGFuZWxDbGFzcz1cIm5nLWRvYy1zZWFyY2gtZHJvcGRvd25cIlxuXHRcdFx0XHR3aWR0aD1cIjEwMCVcIlxuXHRcdFx0XHRoZWlnaHQ9XCI4MHZoXCJcblx0XHRcdFx0I2lucHV0RHJvcGRvd25cblx0XHRcdD5cblx0XHRcdFx0PG5nLXRlbXBsYXRlICNkcm9wZG93bkNvbnRlbnQ+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm5nLWRvYy1zZWFyY2gtd3JhcHBlclwiPlxuXHRcdFx0XHRcdFx0PG5nLWRvYy1pbnB1dC13cmFwcGVyIFtsZWZ0Q29udGVudF09XCJsZWZ0Q29udGVudFwiIG5nRG9jRHJvcGRvd25PcmlnaW4+XG5cdFx0XHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSAjbGVmdENvbnRlbnQ+XG5cdFx0XHRcdFx0XHRcdFx0PG5nLWRvYy1pY29uIGljb249XCJzZWFyY2hcIj48L25nLWRvYy1pY29uPlxuXHRcdFx0XHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0XHRcdFx0XHQ8aW5wdXRcblx0XHRcdFx0XHRcdFx0XHRuZ0RvY0lucHV0U3RyaW5nXG5cdFx0XHRcdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCJcblx0XHRcdFx0XHRcdFx0XHQobmdNb2RlbENoYW5nZSk9XCJxdWVyeSQubmV4dCgkZXZlbnQpXCJcblx0XHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIlNlYXJjaC4uLlwiXG5cdFx0XHRcdFx0XHRcdFx0bmdEb2NBdXRvZm9jdXNcblx0XHRcdFx0XHRcdFx0XHRbc2VsZWN0QWxsXT1cInRydWVcIlxuXHRcdFx0XHRcdFx0XHRcdCNpbnB1dEVsZW1lbnRcblx0XHRcdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHRcdDwvbmctZG9jLWlucHV0LXdyYXBwZXI+XG5cdFx0XHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VhcmNoUmVzdWx0c1wiPjwvbmctY29udGFpbmVyPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0PC9uZy1kb2MtZHJvcGRvd24+XG5cdFx0PC9idXR0b24+XG5cdDwvbmctY29udGFpbmVyPlxuXG5cdDxuZy10ZW1wbGF0ZSAjc2VhcmNoSW5wdXQ+XG5cdFx0PG5nLWRvYy1pbnB1dC13cmFwcGVyXG5cdFx0XHRbbGVmdENvbnRlbnRdPVwibGVmdENvbnRlbnRcIlxuXHRcdFx0W3JpZ2h0Q29udGVudF09XCJyaWdodENvbnRlbnRcIlxuXHRcdFx0bmdEb2NEcm9wZG93bk9yaWdpblxuXHRcdFx0bmdEb2NGb2N1c0NhdGNoZXJcblx0XHRcdChmb2N1c0V2ZW50KT1cImlucHV0RWxlbWVudC52YWx1ZSA/IGRyb3Bkb3duLm9wZW4oKSA6IG51bGxcIlxuXHRcdFx0KGNsaWNrKT1cImlucHV0RWxlbWVudC52YWx1ZSA/IGRyb3Bkb3duLm9wZW4oKSA6IG51bGxcIlxuXHRcdFx0I2lucHV0XG5cdFx0PlxuXHRcdFx0PG5nLXRlbXBsYXRlICNsZWZ0Q29udGVudD5cblx0XHRcdFx0PG5nLWRvYy1pY29uIGljb249XCJzZWFyY2hcIj48L25nLWRvYy1pY29uPlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDxpbnB1dFxuXHRcdFx0XHRuZ0RvY0lucHV0U3RyaW5nXG5cdFx0XHRcdFsobmdNb2RlbCldPVwic2VhcmNoVGVybVwiXG5cdFx0XHRcdChuZ01vZGVsQ2hhbmdlKT1cInF1ZXJ5JC5uZXh0KCRldmVudCk7IGRyb3Bkb3duLm9wZW4oKVwiXG5cdFx0XHRcdHBsYWNlaG9sZGVyPVwiU2VhcmNoLi4uXCJcblx0XHRcdFx0W25nRG9jSG90a2V5XT1cIntjdHJsS2V5OiBmYWxzZSwgYWx0S2V5OiBmYWxzZSwgc2hpZnRLZXk6IGZhbHNlLCBjb2RlOiAnU2xhc2gnfVwiXG5cdFx0XHRcdChuZ0RvY0hvdGtleSk9XCJpbnB1dEVsZW1lbnQuZm9jdXMoKTsgaW5wdXRFbGVtZW50LnNlbGVjdCgpXCJcblx0XHRcdFx0I2lucHV0RWxlbWVudFxuXHRcdFx0Lz5cblx0XHRcdDxuZy10ZW1wbGF0ZSAjcmlnaHRDb250ZW50PlxuXHRcdFx0XHQ8bmctZG9jLXRhZyBjbGFzcz1cInNlYXJjaC1ob3RrZXlcIj4vPC9uZy1kb2MtdGFnPlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDxuZy1kb2MtZHJvcGRvd25cblx0XHRcdFx0W2NvbnRlbnRdPVwic2VhcmNoUmVzdWx0c1wiXG5cdFx0XHRcdHBvc2l0aW9ucz1cImJvdHRvbS1yaWdodFwiXG5cdFx0XHRcdFt3aWR0aF09XCJpbnB1dC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGhcIlxuXHRcdFx0XHRtYXhIZWlnaHQ9XCJjYWxjKDk1dmggLSB2YXIoLS1uZy1kb2MtbmF2YmFyLWhlaWdodClcIlxuXHRcdFx0XHQjZHJvcGRvd25cblx0XHRcdD5cblx0XHRcdFx0PFxuXHRcdFx0PC9uZy1kb2MtZHJvcGRvd24+XG5cdFx0PC9uZy1kb2MtaW5wdXQtd3JhcHBlcj5cblx0PC9uZy10ZW1wbGF0ZT5cblxuXHQ8bmctdGVtcGxhdGUgI3NlYXJjaFJlc3VsdHM+XG5cdFx0PGRpdiBjbGFzcz1cIm5nLWRvYy1zZWFyY2gtcmVzdWx0LWNvbnRlbnRcIiBbYXR0ci5kYXRhLW5nLWRvYy1tb2RdPVwibW9kXCI+XG5cdFx0XHQ8bmctZG9jLWRhdGEtbGlzdCBbaXRlbXNdPVwic3RhdGU/LnJlc3VsdCA/PyBbXVwiIFtpdGVtQ29udGVudF09XCJpdGVtQ29udGVudFwiIFtlbXB0eUNvbnRlbnRdPVwiZW1wdHlDb250ZW50XCI+XG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSAjaXRlbUNvbnRlbnQ+XG5cdFx0XHRcdFx0PGEgY2xhc3M9XCJuZy1kb2Mtc2VhcmNoLW9wdGlvblwiIFtyb3V0ZXJMaW5rXT1cIml0ZW0uaW5kZXgucm91dGVcIiBbZnJhZ21lbnRdPVwiaXRlbS5pbmRleC5mcmFnbWVudFwiPlxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm5nLWRvYy1zZWFyY2gtb3B0aW9uLWhlYWRlclwiPlxuXHRcdFx0XHRcdFx0XHQ8bmctZG9jLXRhZyBzaXplPVwic21hbGxcIiBbYXR0ci5kYXRhLW5nLWRvYy1wYWdlLXR5cGVdPVwiaXRlbS5pbmRleC5wYWdlVHlwZVwiPlxuXHRcdFx0XHRcdFx0XHRcdHt7IGl0ZW0uaW5kZXgucGFnZVR5cGUgfX1cblx0XHRcdFx0XHRcdFx0PC9uZy1kb2MtdGFnPlxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cIm5nLWRvYy1zZWFyY2gtb3B0aW9uLWJyZWFkY3J1bWJzXCIgbmctZG9jLXRleHQ+XG5cdFx0XHRcdFx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYnJlYWRjcnVtIG9mIGl0ZW0uaW5kZXguYnJlYWRjcnVtYnM7IGxldCBpID0gaW5kZXhcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxzcGFuPnt7IGJyZWFkY3J1bSB9fTwvc3Bhbj5cblx0XHRcdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwibmctZG9jLXNlYXJjaC1vcHRpb24tYnJlYWRjcnVtYi1kaXZpZGVyXCIgKm5nSWY9XCJpICE9PSBpdGVtLmluZGV4LmJyZWFkY3J1bWJzLmxlbmd0aCAtIDFcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ+Lzwvc3BhblxuXHRcdFx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdDwvbmctY29udGFpbmVyPlxuXHRcdFx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdDxoNVxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cIm5nLWRvYy1zZWFyY2gtc2VjdGlvbi10aXRsZVwiXG5cdFx0XHRcdFx0XHRcdG5nLWRvYy10ZXh0XG5cdFx0XHRcdFx0XHRcdFtpbm5lckhUTUxdPVwiXG5cdFx0XHRcdFx0XHRcdFx0KGl0ZW0uaW5kZXguc2VjdGlvblxuXHRcdFx0XHRcdFx0XHRcdFx0fCBuZ0RvY0hpZ2hsaWdodGVyUGlwZTogKGdldFBvc2l0aW9ucyB8IG5nRG9jUnVuOiAnc2VjdGlvbic6aXRlbSlcblx0XHRcdFx0XHRcdFx0XHRcdHwgbmdEb2NTYW5pdGl6ZUh0bWwpIHx8IGl0ZW0uaW5kZXgudGl0bGVcblx0XHRcdFx0XHRcdFx0XCJcblx0XHRcdFx0XHRcdD48L2g1PlxuXHRcdFx0XHRcdFx0PGRpdlxuXHRcdFx0XHRcdFx0XHQqbmdJZj1cIml0ZW0uaW5kZXguY29udGVudFwiXG5cdFx0XHRcdFx0XHRcdGNsYXNzPVwibmctZG9jLXNlYXJjaC1jb250ZW50XCJcblx0XHRcdFx0XHRcdFx0W2lubmVySFRNTF09XCJcblx0XHRcdFx0XHRcdFx0XHRpdGVtLmluZGV4LmNvbnRlbnQgfCBuZ0RvY0hpZ2hsaWdodGVyUGlwZTogKGdldFBvc2l0aW9ucyB8IG5nRG9jUnVuOiAnY29udGVudCc6aXRlbSkgfCBuZ0RvY1Nhbml0aXplSHRtbFxuXHRcdFx0XHRcdFx0XHRcIlxuXHRcdFx0XHRcdFx0XHRuZy1kb2MtdGV4dFxuXHRcdFx0XHRcdFx0PjwvZGl2PlxuXHRcdFx0XHRcdDwvYT5cblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdFx0PG5nLXRlbXBsYXRlICNlbXB0eUNvbnRlbnQ+XG5cdFx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdGF0ZT8ucGVuZGluZ1wiPlxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm5nLWRvYy1zZWFyY2gtZW1wdHlcIj5cblx0XHRcdFx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cInF1ZXJ5JC52YWx1ZS5sZW5ndGhcIj5Ob3RoaW5nIGZvdW5kPC9uZy1jb250YWluZXI+XG5cdFx0XHRcdFx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCIhcXVlcnkkLnZhbHVlLmxlbmd0aFwiPlBsZWFzZSBlbnRlciB5b3VyIHNlYXJjaCBxdWVyeTwvbmctY29udGFpbmVyPlxuXHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXRlPy5wZW5kaW5nXCI+XG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLXNlYXJjaC1wcm9ncmVzc1wiPlxuXHRcdFx0XHRcdFx0XHQ8bmctZG9jLXNwaW5uZXIgc2l6ZT1cInNtYWxsXCI+PC9uZy1kb2Mtc3Bpbm5lcj5cblx0XHRcdFx0XHRcdFx0U2VhcmNoaW5nLi4uXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDwvbmctZG9jLWRhdGEtbGlzdD5cblx0XHQ8L2Rpdj5cblx0PC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUVwRSxPQUFPLEVBQXlCLGVBQWUsRUFBbUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsZUFBZSxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQUUvQyxJQWFhLG9CQUFvQiw0QkFiakMsTUFhYSxvQkFBb0I7SUFhaEMsWUFDa0IsVUFBbUMsRUFFbkMsWUFBZ0M7UUFGaEMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFFbkMsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBYmxELFFBQUcsR0FBcUIsT0FBTyxDQUFDO1FBS2hDLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFFZixXQUFNLEdBQTRCLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBUTFFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUM7OytCQUVZLENBQUMsQ0FBQztTQUM5QjtRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzlCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxTQUFTLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUM3RixjQUFjLENBQUMsSUFBSSxDQUFDLENBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzdDLENBQUM7SUFFRCxZQUFZLENBQThELEdBQU0sRUFBRSxJQUFPO1FBQ3hGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEMsQ0FBQzs4R0FyQ1csb0JBQW9CO2tHQUFwQixvQkFBb0IsOEhBUnJCO1lBQ1Y7Z0JBQ0MsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQW9CLENBQUM7YUFDbkQ7U0FDRCx3SUM1QkYsc2dLQStIQTs7QURoR2Esb0JBQW9CO0lBRGhDLFlBQVksRUFBRTtxQ0FlZ0IsVUFBVTtRQUVQLGlCQUFpQjtHQWhCdEMsb0JBQW9CLENBc0NoQztTQXRDWSxvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFiaEMsU0FBUzsrQkFDQyxlQUFlLG1CQUdSLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Y7NEJBQ0MsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDO3lCQUNuRDtxQkFDRDs7MEJBa0JDLFFBQVE7NENBWlYsR0FBRztzQkFGRixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLHNCQUFzQjtnQkFJbkMsWUFBWTtzQkFEWCxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRFbGVtZW50UmVmLFxuXHRmb3J3YXJkUmVmLFxuXHRIb3N0QmluZGluZyxcblx0SW5wdXQsXG5cdE9wdGlvbmFsLFxuXHRWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nRG9jU2VhcmNoRW5naW5lfSBmcm9tICdAbmctZG9jL2FwcC9jbGFzc2VzL3NlYXJjaC1lbmdpbmUnO1xuaW1wb3J0IHtOZ0RvY1NlYXJjaFJlc3VsdH0gZnJvbSAnQG5nLWRvYy9hcHAvaW50ZXJmYWNlcyc7XG5pbXBvcnQge05nRG9jSGlnaGxpZ2h0UG9zaXRpb24sIG9ic2VydmFibGVTdGF0ZSwgU3RhdGVkT2JzZXJ2YWJsZX0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuaW1wb3J0IHtOZ0RvY0xpc3RIb3N0fSBmcm9tICdAbmctZG9jL3VpLWtpdC9jbGFzc2VzJztcbmltcG9ydCB7VW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBORVZFUn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3NraXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZy1kb2Mtc2VhcmNoJyxcblx0dGVtcGxhdGVVcmw6ICcuL3NlYXJjaC5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3NlYXJjaC5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0cHJvdmlkZXJzOiBbXG5cdFx0e1xuXHRcdFx0cHJvdmlkZTogTmdEb2NMaXN0SG9zdCxcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE5nRG9jU2VhcmNoQ29tcG9uZW50KSxcblx0XHR9LFxuXHRdLFxufSlcbkBVbnRpbERlc3Ryb3koKVxuZXhwb3J0IGNsYXNzIE5nRG9jU2VhcmNoQ29tcG9uZW50IGltcGxlbWVudHMgTmdEb2NMaXN0SG9zdCB7XG5cdEBJbnB1dCgpXG5cdEBIb3N0QmluZGluZygnYXR0ci5kYXRhLW5nLWRvYy1tb2QnKVxuXHRtb2Q6ICdpbnB1dCcgfCAnaWNvbicgPSAnaW5wdXQnO1xuXG5cdEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcpXG5cdGlucHV0RWxlbWVudD86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG5cdHNlYXJjaFRlcm06IHN0cmluZyA9ICcnO1xuXG5cdHJlYWRvbmx5IHF1ZXJ5JDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXHRyZWFkb25seSBzZWFyY2gkOiBTdGF0ZWRPYnNlcnZhYmxlPE5nRG9jU2VhcmNoUmVzdWx0W10+O1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG5cdFx0QE9wdGlvbmFsKClcblx0XHRwcml2YXRlIHJlYWRvbmx5IHNlYXJjaEVuZ2luZT86IE5nRG9jU2VhcmNoRW5naW5lLFxuXHQpIHtcblx0XHRpZiAoIXRoaXMuc2VhcmNoRW5naW5lKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYE5nRG9jOiBTZWFyY2ggZW5naW5lIGlzIG5vdCBwcm92aWRlZCxcblx0XHRcdHBsZWFzZSBjaGVjayB0aGlzIGFydGljbGU6IGh0dHBzOi8vbmctZG9jLmNvbS9nZXR0aW5nLXN0YXJ0ZWQvaW5zdGFsbGF0aW9uI2ltcG9ydGluZy1nbG9iYWwtbW9kdWxlc1xuXHRcdFx0dG8gbGVhcm4gaG93IHRvIHByb3ZpZGUgaXQuYCk7XG5cdFx0fVxuXG5cdFx0dGhpcy5zZWFyY2gkID0gdGhpcy5xdWVyeSQucGlwZShcblx0XHRcdHNraXAoMSksXG5cdFx0XHRzd2l0Y2hNYXAoKHRlcm06IHN0cmluZykgPT4gdGhpcy5zZWFyY2hFbmdpbmU/LnNlYXJjaCh0ZXJtKS5waXBlKG9ic2VydmFibGVTdGF0ZSgpKSA/PyBORVZFUiksXG5cdFx0XHR1bnRpbERlc3Ryb3llZCh0aGlzKSxcblx0XHQpO1xuXHR9XG5cblx0Z2V0IGxpc3RIb3N0T3JpZ2luKCk6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHtcblx0XHRyZXR1cm4gdGhpcy5pbnB1dEVsZW1lbnQgPz8gdGhpcy5lbGVtZW50UmVmO1xuXHR9XG5cblx0Z2V0UG9zaXRpb25zPFQgZXh0ZW5kcyBOZ0RvY1NlYXJjaFJlc3VsdCwgSyBleHRlbmRzIGtleW9mIFRbJ3Bvc2l0aW9ucyddPihrZXk6IEssIGl0ZW06IFQpOiBOZ0RvY0hpZ2hsaWdodFBvc2l0aW9uW10ge1xuXHRcdHJldHVybiBpdGVtLnBvc2l0aW9uc1trZXldID8/IFtdO1xuXHR9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0RvY0xldD1cInNlYXJjaCQgfCBhc3luYyBhcyBzdGF0ZVwiPlxuXHQ8bmctY29udGFpbmVyICpuZ0lmPVwibW9kID09PSAnaWNvbic7IGVsc2Ugc2VhcmNoSW5wdXRcIj5cblx0XHQ8YnV0dG9uIG5nLWRvYy1idXR0b24taWNvbiBzaXplPVwibGFyZ2VcIiAoY2xpY2spPVwiaW5wdXREcm9wZG93bi50b2dnbGUoKVwiIG5nRG9jRHJvcGRvd25PcmlnaW4+XG5cdFx0XHQ8bmctZG9jLWljb24gaWNvbj1cInNlYXJjaFwiIFtzaXplXT1cIjI0XCI+PC9uZy1kb2MtaWNvbj5cblxuXHRcdFx0PG5nLWRvYy1kcm9wZG93blxuXHRcdFx0XHRbY29udGVudF09XCJkcm9wZG93bkNvbnRlbnRcIlxuXHRcdFx0XHRwYW5lbENsYXNzPVwibmctZG9jLXNlYXJjaC1kcm9wZG93blwiXG5cdFx0XHRcdHdpZHRoPVwiMTAwJVwiXG5cdFx0XHRcdGhlaWdodD1cIjgwdmhcIlxuXHRcdFx0XHQjaW5wdXREcm9wZG93blxuXHRcdFx0PlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgI2Ryb3Bkb3duQ29udGVudD5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLXNlYXJjaC13cmFwcGVyXCI+XG5cdFx0XHRcdFx0XHQ8bmctZG9jLWlucHV0LXdyYXBwZXIgW2xlZnRDb250ZW50XT1cImxlZnRDb250ZW50XCIgbmdEb2NEcm9wZG93bk9yaWdpbj5cblx0XHRcdFx0XHRcdFx0PG5nLXRlbXBsYXRlICNsZWZ0Q29udGVudD5cblx0XHRcdFx0XHRcdFx0XHQ8bmctZG9jLWljb24gaWNvbj1cInNlYXJjaFwiPjwvbmctZG9jLWljb24+XG5cdFx0XHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdFx0XHRcdDxpbnB1dFxuXHRcdFx0XHRcdFx0XHRcdG5nRG9jSW5wdXRTdHJpbmdcblx0XHRcdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInNlYXJjaFRlcm1cIlxuXHRcdFx0XHRcdFx0XHRcdChuZ01vZGVsQ2hhbmdlKT1cInF1ZXJ5JC5uZXh0KCRldmVudClcIlxuXHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiU2VhcmNoLi4uXCJcblx0XHRcdFx0XHRcdFx0XHRuZ0RvY0F1dG9mb2N1c1xuXHRcdFx0XHRcdFx0XHRcdFtzZWxlY3RBbGxdPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRcdFx0I2lucHV0RWxlbWVudFxuXHRcdFx0XHRcdFx0XHQvPlxuXHRcdFx0XHRcdFx0PC9uZy1kb2MtaW5wdXQtd3JhcHBlcj5cblx0XHRcdFx0XHRcdDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hSZXN1bHRzXCI+PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHQ8L25nLWRvYy1kcm9wZG93bj5cblx0XHQ8L2J1dHRvbj5cblx0PC9uZy1jb250YWluZXI+XG5cblx0PG5nLXRlbXBsYXRlICNzZWFyY2hJbnB1dD5cblx0XHQ8bmctZG9jLWlucHV0LXdyYXBwZXJcblx0XHRcdFtsZWZ0Q29udGVudF09XCJsZWZ0Q29udGVudFwiXG5cdFx0XHRbcmlnaHRDb250ZW50XT1cInJpZ2h0Q29udGVudFwiXG5cdFx0XHRuZ0RvY0Ryb3Bkb3duT3JpZ2luXG5cdFx0XHRuZ0RvY0ZvY3VzQ2F0Y2hlclxuXHRcdFx0KGZvY3VzRXZlbnQpPVwiaW5wdXRFbGVtZW50LnZhbHVlID8gZHJvcGRvd24ub3BlbigpIDogbnVsbFwiXG5cdFx0XHQoY2xpY2spPVwiaW5wdXRFbGVtZW50LnZhbHVlID8gZHJvcGRvd24ub3BlbigpIDogbnVsbFwiXG5cdFx0XHQjaW5wdXRcblx0XHQ+XG5cdFx0XHQ8bmctdGVtcGxhdGUgI2xlZnRDb250ZW50PlxuXHRcdFx0XHQ8bmctZG9jLWljb24gaWNvbj1cInNlYXJjaFwiPjwvbmctZG9jLWljb24+XG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0PGlucHV0XG5cdFx0XHRcdG5nRG9jSW5wdXRTdHJpbmdcblx0XHRcdFx0WyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCJcblx0XHRcdFx0KG5nTW9kZWxDaGFuZ2UpPVwicXVlcnkkLm5leHQoJGV2ZW50KTsgZHJvcGRvd24ub3BlbigpXCJcblx0XHRcdFx0cGxhY2Vob2xkZXI9XCJTZWFyY2guLi5cIlxuXHRcdFx0XHRbbmdEb2NIb3RrZXldPVwie2N0cmxLZXk6IGZhbHNlLCBhbHRLZXk6IGZhbHNlLCBzaGlmdEtleTogZmFsc2UsIGNvZGU6ICdTbGFzaCd9XCJcblx0XHRcdFx0KG5nRG9jSG90a2V5KT1cImlucHV0RWxlbWVudC5mb2N1cygpOyBpbnB1dEVsZW1lbnQuc2VsZWN0KClcIlxuXHRcdFx0XHQjaW5wdXRFbGVtZW50XG5cdFx0XHQvPlxuXHRcdFx0PG5nLXRlbXBsYXRlICNyaWdodENvbnRlbnQ+XG5cdFx0XHRcdDxuZy1kb2MtdGFnIGNsYXNzPVwic2VhcmNoLWhvdGtleVwiPi88L25nLWRvYy10YWc+XG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0PG5nLWRvYy1kcm9wZG93blxuXHRcdFx0XHRbY29udGVudF09XCJzZWFyY2hSZXN1bHRzXCJcblx0XHRcdFx0cG9zaXRpb25zPVwiYm90dG9tLXJpZ2h0XCJcblx0XHRcdFx0W3dpZHRoXT1cImlucHV0LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aFwiXG5cdFx0XHRcdG1heEhlaWdodD1cImNhbGMoOTV2aCAtIHZhcigtLW5nLWRvYy1uYXZiYXItaGVpZ2h0KVwiXG5cdFx0XHRcdCNkcm9wZG93blxuXHRcdFx0PlxuXHRcdFx0XHQ8XG5cdFx0XHQ8L25nLWRvYy1kcm9wZG93bj5cblx0XHQ8L25nLWRvYy1pbnB1dC13cmFwcGVyPlxuXHQ8L25nLXRlbXBsYXRlPlxuXG5cdDxuZy10ZW1wbGF0ZSAjc2VhcmNoUmVzdWx0cz5cblx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLXNlYXJjaC1yZXN1bHQtY29udGVudFwiIFthdHRyLmRhdGEtbmctZG9jLW1vZF09XCJtb2RcIj5cblx0XHRcdDxuZy1kb2MtZGF0YS1saXN0IFtpdGVtc109XCJzdGF0ZT8ucmVzdWx0ID8/IFtdXCIgW2l0ZW1Db250ZW50XT1cIml0ZW1Db250ZW50XCIgW2VtcHR5Q29udGVudF09XCJlbXB0eUNvbnRlbnRcIj5cblx0XHRcdFx0PG5nLXRlbXBsYXRlIGxldC1pdGVtICNpdGVtQ29udGVudD5cblx0XHRcdFx0XHQ8YSBjbGFzcz1cIm5nLWRvYy1zZWFyY2gtb3B0aW9uXCIgW3JvdXRlckxpbmtdPVwiaXRlbS5pbmRleC5yb3V0ZVwiIFtmcmFnbWVudF09XCJpdGVtLmluZGV4LmZyYWdtZW50XCI+XG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLXNlYXJjaC1vcHRpb24taGVhZGVyXCI+XG5cdFx0XHRcdFx0XHRcdDxuZy1kb2MtdGFnIHNpemU9XCJzbWFsbFwiIFthdHRyLmRhdGEtbmctZG9jLXBhZ2UtdHlwZV09XCJpdGVtLmluZGV4LnBhZ2VUeXBlXCI+XG5cdFx0XHRcdFx0XHRcdFx0e3sgaXRlbS5pbmRleC5wYWdlVHlwZSB9fVxuXHRcdFx0XHRcdFx0XHQ8L25nLWRvYy10YWc+XG5cdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwibmctZG9jLXNlYXJjaC1vcHRpb24tYnJlYWRjcnVtYnNcIiBuZy1kb2MtdGV4dD5cblx0XHRcdFx0XHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBicmVhZGNydW0gb2YgaXRlbS5pbmRleC5icmVhZGNydW1iczsgbGV0IGkgPSBpbmRleFwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHNwYW4+e3sgYnJlYWRjcnVtIH19PC9zcGFuPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJuZy1kb2Mtc2VhcmNoLW9wdGlvbi1icmVhZGNydW1iLWRpdmlkZXJcIiAqbmdJZj1cImkgIT09IGl0ZW0uaW5kZXguYnJlYWRjcnVtYnMubGVuZ3RoIC0gMVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdD4vPC9zcGFuXG5cdFx0XHRcdFx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0XHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0PGg1XG5cdFx0XHRcdFx0XHRcdGNsYXNzPVwibmctZG9jLXNlYXJjaC1zZWN0aW9uLXRpdGxlXCJcblx0XHRcdFx0XHRcdFx0bmctZG9jLXRleHRcblx0XHRcdFx0XHRcdFx0W2lubmVySFRNTF09XCJcblx0XHRcdFx0XHRcdFx0XHQoaXRlbS5pbmRleC5zZWN0aW9uXG5cdFx0XHRcdFx0XHRcdFx0XHR8IG5nRG9jSGlnaGxpZ2h0ZXJQaXBlOiAoZ2V0UG9zaXRpb25zIHwgbmdEb2NSdW46ICdzZWN0aW9uJzppdGVtKVxuXHRcdFx0XHRcdFx0XHRcdFx0fCBuZ0RvY1Nhbml0aXplSHRtbCkgfHwgaXRlbS5pbmRleC50aXRsZVxuXHRcdFx0XHRcdFx0XHRcIlxuXHRcdFx0XHRcdFx0PjwvaDU+XG5cdFx0XHRcdFx0XHQ8ZGl2XG5cdFx0XHRcdFx0XHRcdCpuZ0lmPVwiaXRlbS5pbmRleC5jb250ZW50XCJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJuZy1kb2Mtc2VhcmNoLWNvbnRlbnRcIlxuXHRcdFx0XHRcdFx0XHRbaW5uZXJIVE1MXT1cIlxuXHRcdFx0XHRcdFx0XHRcdGl0ZW0uaW5kZXguY29udGVudCB8IG5nRG9jSGlnaGxpZ2h0ZXJQaXBlOiAoZ2V0UG9zaXRpb25zIHwgbmdEb2NSdW46ICdjb250ZW50JzppdGVtKSB8IG5nRG9jU2FuaXRpemVIdG1sXG5cdFx0XHRcdFx0XHRcdFwiXG5cdFx0XHRcdFx0XHRcdG5nLWRvYy10ZXh0XG5cdFx0XHRcdFx0XHQ+PC9kaXY+XG5cdFx0XHRcdFx0PC9hPlxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgI2VtcHR5Q29udGVudD5cblx0XHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIXN0YXRlPy5wZW5kaW5nXCI+XG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLXNlYXJjaC1lbXB0eVwiPlxuXHRcdFx0XHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwicXVlcnkkLnZhbHVlLmxlbmd0aFwiPk5vdGhpbmcgZm91bmQ8L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIiFxdWVyeSQudmFsdWUubGVuZ3RoXCI+UGxlYXNlIGVudGVyIHlvdXIgc2VhcmNoIHF1ZXJ5PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGU/LnBlbmRpbmdcIj5cblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJuZy1kb2Mtc2VhcmNoLXByb2dyZXNzXCI+XG5cdFx0XHRcdFx0XHRcdDxuZy1kb2Mtc3Bpbm5lciBzaXplPVwic21hbGxcIj48L25nLWRvYy1zcGlubmVyPlxuXHRcdFx0XHRcdFx0XHRTZWFyY2hpbmcuLi5cblx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDwvbmctY29udGFpbmVyPlxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0PC9uZy1kb2MtZGF0YS1saXN0PlxuXHRcdDwvZGl2PlxuXHQ8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -14,7 +14,7 @@ class NgDocCodeHighlighterDirective {
14
14
  }
15
15
  ngOnChanges() {
16
16
  if (this.code) {
17
- const result = highlight.highlight(this.language, this.code);
17
+ const result = highlight.highlight(this.code, { language: this.language });
18
18
  this.elementRef.nativeElement.innerHTML = result.value ?? this.html;
19
19
  }
20
20
  else {
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
41
41
  type: HostBinding,
42
42
  args: ['class.hljs']
43
43
  }] } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1oaWdobGlnaHRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9kaXJlY3RpdmVzL2NvZGUtaGlnaGxpZ2h0ZXIvY29kZS1oaWdobGlnaHRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUVuRixPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEdBQUcsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFakQsU0FBUyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztBQUN4QyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBRXZDLE1BR2EsNkJBQTZCO0lBYXpDLFlBQTZCLFVBQW1DO1FBQW5DLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBWGhFLFNBQUksR0FBVyxFQUFFLENBQUM7UUFHbEIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUdsQixhQUFRLEdBQVcsWUFBWSxDQUFDO1FBR3RCLHFCQUFnQixHQUFZLElBQUksQ0FBQztJQUV3QixDQUFDO0lBRXBFLFdBQVc7UUFDVixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxNQUFNLE1BQU0sR0FBb0IsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU5RSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3BFO2FBQU07WUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztTQUNwRDtJQUNGLENBQUM7OEdBdkJXLDZCQUE2QjtrR0FBN0IsNkJBQTZCOztTQUE3Qiw2QkFBNkI7MkZBQTdCLDZCQUE2QjtrQkFIekMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsNEJBQTRCO2lCQUN0QztpR0FHQSxJQUFJO3NCQURILEtBQUs7dUJBQUMsc0JBQXNCO2dCQUk3QixJQUFJO3NCQURILEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlJLGdCQUFnQjtzQkFEekIsV0FBVzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SGlnaGxpZ2h0UmVzdWx0fSBmcm9tICdoaWdobGlnaHQuanMnO1xuaW1wb3J0IGhpZ2hsaWdodCBmcm9tICdoaWdobGlnaHQuanMvbGliL2NvcmUnO1xuaW1wb3J0IHhtbCBmcm9tICdoaWdobGlnaHQuanMvbGliL2xhbmd1YWdlcy94bWwnO1xuXG5oaWdobGlnaHQucmVnaXN0ZXJMYW5ndWFnZSgnaHRtbCcsIHhtbCk7XG5oaWdobGlnaHQucmVnaXN0ZXJMYW5ndWFnZSgneG1sJywgeG1sKTtcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnY29kZVtuZ0RvY0NvZGVIaWdobGlnaHRlcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0RvY0NvZGVIaWdobGlnaHRlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cdEBJbnB1dCgnbmdEb2NDb2RlSGlnaGxpZ2h0ZXInKVxuXHRjb2RlOiBzdHJpbmcgPSAnJztcblxuXHRASW5wdXQoKVxuXHRodG1sOiBzdHJpbmcgPSAnJztcblxuXHRASW5wdXQoKVxuXHRsYW5ndWFnZTogc3RyaW5nID0gJ3R5cGVzY3JpcHQnO1xuXG5cdEBIb3N0QmluZGluZygnY2xhc3MuaGxqcycpXG5cdHByb3RlY3RlZCBoaWdobGlnaHRKc0NsYXNzOiBib29sZWFuID0gdHJ1ZTtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7fVxuXG5cdG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmNvZGUpIHtcblx0XHRcdGNvbnN0IHJlc3VsdDogSGlnaGxpZ2h0UmVzdWx0ID0gaGlnaGxpZ2h0LmhpZ2hsaWdodCh0aGlzLmxhbmd1YWdlLCB0aGlzLmNvZGUpO1xuXG5cdFx0XHR0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSByZXN1bHQudmFsdWUgPz8gdGhpcy5odG1sO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmh0bWw7XG5cdFx0fVxuXHR9XG59XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1oaWdobGlnaHRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9kaXJlY3RpdmVzL2NvZGUtaGlnaGxpZ2h0ZXIvY29kZS1oaWdobGlnaHRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUVuRixPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEdBQUcsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFakQsU0FBUyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztBQUN4QyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBRXZDLE1BR2EsNkJBQTZCO0lBYXpDLFlBQTZCLFVBQW1DO1FBQW5DLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBWGhFLFNBQUksR0FBVyxFQUFFLENBQUM7UUFHbEIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUdsQixhQUFRLEdBQVcsWUFBWSxDQUFDO1FBR3RCLHFCQUFnQixHQUFZLElBQUksQ0FBQztJQUV3QixDQUFDO0lBRXBFLFdBQVc7UUFDVixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxNQUFNLE1BQU0sR0FBb0IsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDO1lBRTFGLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDcEU7YUFBTTtZQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3BEO0lBQ0YsQ0FBQzs4R0F2QlcsNkJBQTZCO2tHQUE3Qiw2QkFBNkI7O1NBQTdCLDZCQUE2QjsyRkFBN0IsNkJBQTZCO2tCQUh6QyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSw0QkFBNEI7aUJBQ3RDO2lHQUdBLElBQUk7c0JBREgsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBSTdCLElBQUk7c0JBREgsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSUksZ0JBQWdCO3NCQUR6QixXQUFXO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIaWdobGlnaHRSZXN1bHR9IGZyb20gJ2hpZ2hsaWdodC5qcyc7XG5pbXBvcnQgaGlnaGxpZ2h0IGZyb20gJ2hpZ2hsaWdodC5qcy9saWIvY29yZSc7XG5pbXBvcnQgeG1sIGZyb20gJ2hpZ2hsaWdodC5qcy9saWIvbGFuZ3VhZ2VzL3htbCc7XG5cbmhpZ2hsaWdodC5yZWdpc3Rlckxhbmd1YWdlKCdodG1sJywgeG1sKTtcbmhpZ2hsaWdodC5yZWdpc3Rlckxhbmd1YWdlKCd4bWwnLCB4bWwpO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdjb2RlW25nRG9jQ29kZUhpZ2hsaWdodGVyXScsXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jQ29kZUhpZ2hsaWdodGVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblx0QElucHV0KCduZ0RvY0NvZGVIaWdobGlnaHRlcicpXG5cdGNvZGU6IHN0cmluZyA9ICcnO1xuXG5cdEBJbnB1dCgpXG5cdGh0bWw6IHN0cmluZyA9ICcnO1xuXG5cdEBJbnB1dCgpXG5cdGxhbmd1YWdlOiBzdHJpbmcgPSAndHlwZXNjcmlwdCc7XG5cblx0QEhvc3RCaW5kaW5nKCdjbGFzcy5obGpzJylcblx0cHJvdGVjdGVkIGhpZ2hsaWdodEpzQ2xhc3M6IGJvb2xlYW4gPSB0cnVlO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cblx0bmdPbkNoYW5nZXMoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuY29kZSkge1xuXHRcdFx0Y29uc3QgcmVzdWx0OiBIaWdobGlnaHRSZXN1bHQgPSBoaWdobGlnaHQuaGlnaGxpZ2h0KHRoaXMuY29kZSwge2xhbmd1YWdlOiB0aGlzLmxhbmd1YWdlfSk7XG5cblx0XHRcdHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IHJlc3VsdC52YWx1ZSA/PyB0aGlzLmh0bWw7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IHRoaXMuaHRtbDtcblx0XHR9XG5cdH1cbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { NgDocSearchEngine } from '@ng-doc/app/classes/search-engine';
2
2
  import { asArray } from '@ng-doc/core/helpers/as-array';
3
3
  import { objectKeys } from '@ng-doc/core/helpers/object-keys';
4
- import { create, stemmers, insertMultiple } from '@orama/orama';
4
+ import { create, insertMultiple } from '@orama/orama';
5
5
  import { afterInsert, searchWithHighlight } from '@orama/plugin-match-highlight';
6
6
  import { from } from 'rxjs';
7
7
  import { map, switchMap, shareReplay } from 'rxjs/operators';
@@ -22,8 +22,7 @@ class NgDocDefaultSearchEngine extends NgDocSearchEngine {
22
22
  components: {
23
23
  afterInsert: [afterInsert],
24
24
  tokenizer: {
25
- language: options?.language || 'english',
26
- stemmer: stemmers[options?.language || 'english'],
25
+ stemmer: options?.stemmer
27
26
  },
28
27
  },
29
28
  })).pipe(map((db) => db), switchMap((db) => this.request(`assets/ng-doc/indexes.json`).pipe(switchMap((pages) => insertMultiple(db, pages)), map(() => db))), shareReplay(1));
@@ -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, stemmers} 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 {from, Observable} from 'rxjs';\nimport {map, shareReplay, switchMap} from 'rxjs/operators';\n\n/**\n * Possible languages for the `NgDocSearchEngine`.\n */\nexport type NgDocDefaultSearchEngineLanguage = keyof typeof stemmers;\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\tlanguage?: NgDocDefaultSearchEngineLanguage;\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/**\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\tlanguage: options?.language || 'english',\n\t\t\t\t\t\tstemmer: stemmers[options?.language || 'english'],\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<keyof NgDocPageIndex>;\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((acc: Record<keyof NgDocPageIndex, NgDocHighlightPosition[]>, key: keyof NgDocPageIndex) => {\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t// @ts-ignore\n\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\treturn acc;\n\t\t\t\t\t\t}, {} as any) 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":";;;;;;;;AAoDA;;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;AACV,oBAAA,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,SAAS;oBACxC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,IAAI,SAAS,CAAC;AACjD,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,EAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAC;AAC7B,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,CAA2C,CAAC;YAE9G,OAAO;gBACN,KAAK,EAAE,GAAG,CAAC,QAAqC;gBAChD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAA2D,EAAE,GAAyB,KAAI;;;AAGjH,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,EAAE,EAAS,CAAoE;aAChF,CAAA;SACD,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;;AChID;;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/**\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<keyof NgDocPageIndex>;\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((acc: Record<keyof NgDocPageIndex, NgDocHighlightPosition[]>, key: keyof NgDocPageIndex) => {\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t// @ts-ignore\n\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\treturn acc;\n\t\t\t\t\t\t}, {} as any) 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":";;;;;;;;AAgDA;;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,EAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAC;AAC7B,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,CAA2C,CAAC;YAE9G,OAAO;gBACN,KAAK,EAAE,GAAG,CAAC,QAAqC;gBAChD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAA2D,EAAE,GAAyB,KAAI;;;AAGjH,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,EAAE,EAAS,CAAoE;aAChF,CAAA;SACD,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;;AC3HD;;AAEG;;;;"}
@@ -7,6 +7,8 @@ import * as i3 from '@ng-doc/ui-kit';
7
7
  import { NgDocTextModule, NgDocButtonIconModule, NgDocIconModule, NgDocTooltipModule, NgDocSmoothResizeModule } from '@ng-doc/ui-kit';
8
8
  import * as i4 from '@ng-doc/app/processors/link-processor';
9
9
  import { NgDocLinkProcessorModule } from '@ng-doc/app/processors/link-processor';
10
+ import * as i5 from '@ng-doc/app/pipes';
11
+ import { NgDocSanitizeHtmlModule } from '@ng-doc/app/pipes';
10
12
 
11
13
  class NgDocCodeComponent {
12
14
  constructor(elementRef, clipboard) {
@@ -27,11 +29,11 @@ class NgDocCodeComponent {
27
29
  this.clipboard.copy(this.codeElement?.textContent ?? '');
28
30
  }
29
31
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocCodeComponent, deps: [{ token: i0.ElementRef }, { token: i1.Clipboard }], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocCodeComponent, selector: "ng-doc-code", inputs: { html: "html", copyButton: "copyButton", fileName: "fileName", lineNumbers: "lineNumbers" }, host: { properties: { "attr.data-ng-doc-has-header": "this.hasHeader" } }, ngImport: i0, template: "<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ fileName }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div class=\"ng-doc-code-wrapper\" [innerHTML]=\"html\" ngDocLinkProcessor *ngIf=\"html\"></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\"\n\t>\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{tooltipText}}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n", styles: [":host{position:relative;display:block;margin:var(--ng-doc-code-margin)}:host[data-ng-doc-has-header=true]{--ng-doc-code-border-radius: 0 0 var(--ng-doc-base-gutter) var(--ng-doc-base-gutter);--ng-doc-code-shadow: none}:host .ng-doc-code-wrapper{--ng-doc-code-margin: 0}:host .ng-doc-code-header{display:flex;align-items:center;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-code-header-background, var(--ng-doc-base-2));border-radius:var(--ng-doc-base-gutter) var(--ng-doc-base-gutter) 0 0}:host .ng-doc-code-header .ng-doc-code-file-name{--ng-doc-text: var(--ng-doc-code-header-color);--ng-doc-font-weight: 600;--ng-doc-font-size: 14px}:host .ng-doc-code-body{position:relative;height:100%}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var(--ng-doc-code-copy-button-hover-background, var(--ng-doc-base-2));--ng-doc-button-active-background: var(--ng-doc-code-copy-button-active-background, var(--ng-doc-base-3))}:host .ng-doc-code-wrapper{height:100%}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin);border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));overflow:hidden;height:100%}:host ::ng-deep pre code{padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto;height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "component", type: i3.NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "component", type: i3.NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "directive", type: i3.NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "directive", type: i4.NgDocLinkProcessorDirective, selector: "[ngDocLinkProcessor]" }, { kind: "component", type: i3.NgDocSmoothResizeComponent, selector: "ng-doc-smooth-resize", inputs: ["trigger", "animateOpacity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocCodeComponent, selector: "ng-doc-code", inputs: { html: "html", copyButton: "copyButton", fileName: "fileName", lineNumbers: "lineNumbers" }, host: { properties: { "attr.data-ng-doc-has-header": "this.hasHeader" } }, ngImport: i0, template: "<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ fileName }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div class=\"ng-doc-code-wrapper\" [innerHTML]=\"html | ngDocSanitizeHtml\" ngDocLinkProcessor *ngIf=\"html\"></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\"\n\t>\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{tooltipText}}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n", styles: [":host{position:relative;display:block;margin:var(--ng-doc-code-margin)}:host[data-ng-doc-has-header=true]{--ng-doc-code-border-radius: 0 0 var(--ng-doc-base-gutter) var(--ng-doc-base-gutter);--ng-doc-code-shadow: none}:host .ng-doc-code-wrapper{--ng-doc-code-margin: 0}:host .ng-doc-code-header{display:flex;align-items:center;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-code-header-background, var(--ng-doc-base-2));border-radius:var(--ng-doc-base-gutter) var(--ng-doc-base-gutter) 0 0}:host .ng-doc-code-header .ng-doc-code-file-name{--ng-doc-text: var(--ng-doc-code-header-color);--ng-doc-font-weight: 600;--ng-doc-font-size: 14px}:host .ng-doc-code-body{position:relative;height:100%}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var(--ng-doc-code-copy-button-hover-background, var(--ng-doc-base-2));--ng-doc-button-active-background: var(--ng-doc-code-copy-button-active-background, var(--ng-doc-base-3))}:host .ng-doc-code-wrapper{height:100%}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin);border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));overflow:hidden;height:100%}:host ::ng-deep pre code{padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto;height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "component", type: i3.NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "component", type: i3.NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "directive", type: i3.NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "directive", type: i4.NgDocLinkProcessorDirective, selector: "[ngDocLinkProcessor]" }, { kind: "component", type: i3.NgDocSmoothResizeComponent, selector: "ng-doc-smooth-resize", inputs: ["trigger", "animateOpacity"] }, { kind: "pipe", type: i5.NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
33
  }
32
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocCodeComponent, decorators: [{
33
35
  type: Component,
34
- args: [{ selector: 'ng-doc-code', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ fileName }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div class=\"ng-doc-code-wrapper\" [innerHTML]=\"html\" ngDocLinkProcessor *ngIf=\"html\"></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\"\n\t>\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{tooltipText}}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n", styles: [":host{position:relative;display:block;margin:var(--ng-doc-code-margin)}:host[data-ng-doc-has-header=true]{--ng-doc-code-border-radius: 0 0 var(--ng-doc-base-gutter) var(--ng-doc-base-gutter);--ng-doc-code-shadow: none}:host .ng-doc-code-wrapper{--ng-doc-code-margin: 0}:host .ng-doc-code-header{display:flex;align-items:center;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-code-header-background, var(--ng-doc-base-2));border-radius:var(--ng-doc-base-gutter) var(--ng-doc-base-gutter) 0 0}:host .ng-doc-code-header .ng-doc-code-file-name{--ng-doc-text: var(--ng-doc-code-header-color);--ng-doc-font-weight: 600;--ng-doc-font-size: 14px}:host .ng-doc-code-body{position:relative;height:100%}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var(--ng-doc-code-copy-button-hover-background, var(--ng-doc-base-2));--ng-doc-button-active-background: var(--ng-doc-code-copy-button-active-background, var(--ng-doc-base-3))}:host .ng-doc-code-wrapper{height:100%}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin);border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));overflow:hidden;height:100%}:host ::ng-deep pre code{padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto;height:100%}\n"] }]
36
+ args: [{ selector: 'ng-doc-code', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ fileName }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div class=\"ng-doc-code-wrapper\" [innerHTML]=\"html | ngDocSanitizeHtml\" ngDocLinkProcessor *ngIf=\"html\"></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\"\n\t>\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{tooltipText}}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n", styles: [":host{position:relative;display:block;margin:var(--ng-doc-code-margin)}:host[data-ng-doc-has-header=true]{--ng-doc-code-border-radius: 0 0 var(--ng-doc-base-gutter) var(--ng-doc-base-gutter);--ng-doc-code-shadow: none}:host .ng-doc-code-wrapper{--ng-doc-code-margin: 0}:host .ng-doc-code-header{display:flex;align-items:center;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-code-header-background, var(--ng-doc-base-2));border-radius:var(--ng-doc-base-gutter) var(--ng-doc-base-gutter) 0 0}:host .ng-doc-code-header .ng-doc-code-file-name{--ng-doc-text: var(--ng-doc-code-header-color);--ng-doc-font-weight: 600;--ng-doc-font-size: 14px}:host .ng-doc-code-body{position:relative;height:100%}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var(--ng-doc-code-copy-button-hover-background, var(--ng-doc-base-2));--ng-doc-button-active-background: var(--ng-doc-code-copy-button-active-background, var(--ng-doc-base-3))}:host .ng-doc-code-wrapper{height:100%}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin);border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));overflow:hidden;height:100%}:host ::ng-deep pre code{padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto;height:100%}\n"] }]
35
37
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Clipboard }]; }, propDecorators: { html: [{
36
38
  type: Input
37
39
  }], copyButton: [{
@@ -53,14 +55,16 @@ class NgDocCodeModule {
53
55
  NgDocIconModule,
54
56
  NgDocTooltipModule,
55
57
  NgDocLinkProcessorModule,
56
- NgDocSmoothResizeModule], exports: [NgDocCodeComponent] }); }
58
+ NgDocSmoothResizeModule,
59
+ NgDocSanitizeHtmlModule], exports: [NgDocCodeComponent] }); }
57
60
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocCodeModule, imports: [CommonModule,
58
61
  NgDocTextModule,
59
62
  NgDocButtonIconModule,
60
63
  NgDocIconModule,
61
64
  NgDocTooltipModule,
62
65
  NgDocLinkProcessorModule,
63
- NgDocSmoothResizeModule] }); }
66
+ NgDocSmoothResizeModule,
67
+ NgDocSanitizeHtmlModule] }); }
64
68
  }
65
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocCodeModule, decorators: [{
66
70
  type: NgModule,
@@ -74,6 +78,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
74
78
  NgDocTooltipModule,
75
79
  NgDocLinkProcessorModule,
76
80
  NgDocSmoothResizeModule,
81
+ NgDocSanitizeHtmlModule,
77
82
  ],
78
83
  exports: [NgDocCodeComponent],
79
84
  }]
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-components-code.mjs","sources":["../../../../libs/app/components/code/code.component.ts","../../../../libs/app/components/code/code.component.html","../../../../libs/app/components/code/code.module.ts","../../../../libs/app/components/code/ng-doc-app-components-code.ts"],"sourcesContent":["import {Clipboard} from '@angular/cdk/clipboard';\nimport {ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input} from '@angular/core';\n\n@Component({\n\tselector: 'ng-doc-code',\n\ttemplateUrl: './code.component.html',\n\tstyleUrls: ['./code.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgDocCodeComponent {\n\t@Input()\n\thtml: string = '';\n\n\t@Input()\n\tcopyButton: boolean = true;\n\n\t@Input()\n\tfileName?: string;\n\n\t@Input()\n\tlineNumbers: boolean = false;\n\n\ttooltipText: string = '';\n\n\tconstructor(private elementRef: ElementRef<HTMLElement>, private readonly clipboard: Clipboard) {}\n\n\t@HostBinding('attr.data-ng-doc-has-header')\n\tget hasHeader(): boolean {\n\t\treturn !!this.fileName;\n\t}\n\n\tget codeElement(): HTMLElement | null {\n\t\treturn this.elementRef?.nativeElement.querySelector('code') ?? null;\n\t}\n\n\tcopyCode(): void {\n\t\tthis.clipboard.copy(this.codeElement?.textContent ?? '');\n\t}\n}\n","<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ fileName }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div class=\"ng-doc-code-wrapper\" [innerHTML]=\"html\" ngDocLinkProcessor *ngIf=\"html\"></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\"\n\t>\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{tooltipText}}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {NgDocLinkProcessorModule} from '@ng-doc/app/processors/link-processor';\nimport {\n\tNgDocButtonIconModule,\n\tNgDocIconModule,\n\tNgDocSmoothResizeModule,\n\tNgDocTextModule,\n\tNgDocTooltipModule,\n} from '@ng-doc/ui-kit';\n\nimport {NgDocCodeComponent} from './code.component';\n\n@NgModule({\n\tdeclarations: [NgDocCodeComponent],\n\timports: [\n\t\tCommonModule,\n\t\tNgDocTextModule,\n\t\tNgDocButtonIconModule,\n\t\tNgDocIconModule,\n\t\tNgDocTooltipModule,\n\t\tNgDocLinkProcessorModule,\n\t\tNgDocSmoothResizeModule,\n\t],\n\texports: [NgDocCodeComponent],\n})\nexport class NgDocCodeModule {}\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-components-code.mjs","sources":["../../../../libs/app/components/code/code.component.ts","../../../../libs/app/components/code/code.component.html","../../../../libs/app/components/code/code.module.ts","../../../../libs/app/components/code/ng-doc-app-components-code.ts"],"sourcesContent":["import {Clipboard} from '@angular/cdk/clipboard';\nimport {ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input} from '@angular/core';\n\n@Component({\n\tselector: 'ng-doc-code',\n\ttemplateUrl: './code.component.html',\n\tstyleUrls: ['./code.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgDocCodeComponent {\n\t@Input()\n\thtml: string = '';\n\n\t@Input()\n\tcopyButton: boolean = true;\n\n\t@Input()\n\tfileName?: string;\n\n\t@Input()\n\tlineNumbers: boolean = false;\n\n\ttooltipText: string = '';\n\n\tconstructor(private elementRef: ElementRef<HTMLElement>, private readonly clipboard: Clipboard) {}\n\n\t@HostBinding('attr.data-ng-doc-has-header')\n\tget hasHeader(): boolean {\n\t\treturn !!this.fileName;\n\t}\n\n\tget codeElement(): HTMLElement | null {\n\t\treturn this.elementRef?.nativeElement.querySelector('code') ?? null;\n\t}\n\n\tcopyCode(): void {\n\t\tthis.clipboard.copy(this.codeElement?.textContent ?? '');\n\t}\n}\n","<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ fileName }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div class=\"ng-doc-code-wrapper\" [innerHTML]=\"html | ngDocSanitizeHtml\" ngDocLinkProcessor *ngIf=\"html\"></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\"\n\t>\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{tooltipText}}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {NgDocSanitizeHtmlModule} from \"@ng-doc/app/pipes\";\nimport {NgDocLinkProcessorModule} from '@ng-doc/app/processors/link-processor';\nimport {\n\tNgDocButtonIconModule,\n\tNgDocIconModule,\n\tNgDocSmoothResizeModule,\n\tNgDocTextModule,\n\tNgDocTooltipModule,\n} from '@ng-doc/ui-kit';\n\nimport {NgDocCodeComponent} from './code.component';\n\n@NgModule({\n\tdeclarations: [NgDocCodeComponent],\n\timports: [\n\t\tCommonModule,\n\t\tNgDocTextModule,\n\t\tNgDocButtonIconModule,\n\t\tNgDocIconModule,\n\t\tNgDocTooltipModule,\n\t\tNgDocLinkProcessorModule,\n\t\tNgDocSmoothResizeModule,\n\t\tNgDocSanitizeHtmlModule,\n\t],\n\texports: [NgDocCodeComponent],\n})\nexport class NgDocCodeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;AAGA,MAMa,kBAAkB,CAAA;IAe9B,WAAoB,CAAA,UAAmC,EAAmB,SAAoB,EAAA;QAA1E,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QAAmB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QAb9F,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;QAGlB,IAAU,CAAA,UAAA,GAAY,IAAI,CAAC;QAM3B,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;QAE7B,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;KAEyE;AAElG,IAAA,IACI,SAAS,GAAA;AACZ,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;KACvB;AAED,IAAA,IAAI,WAAW,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;KACpE;IAED,QAAQ,GAAA;AACP,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;KACzD;8GA5BW,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,oOCT/B,82BA0BA,EAAA,MAAA,EAAA,CAAA,onDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,mDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,OAAA,EAAA,eAAA,EAAA,eAAA,EAAA,WAAA,EAAA,SAAA,EAAA,YAAA,EAAA,WAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,IAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FDjBa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;+BACC,aAAa,EAAA,eAAA,EAGN,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,82BAAA,EAAA,MAAA,EAAA,CAAA,onDAAA,CAAA,EAAA,CAAA;yHAI/C,IAAI,EAAA,CAAA;sBADH,KAAK;gBAIN,UAAU,EAAA,CAAA;sBADT,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAIN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAQF,SAAS,EAAA,CAAA;sBADZ,WAAW;uBAAC,6BAA6B,CAAA;;;AEZ3C,MAca,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAf,eAAe,EAAA,YAAA,EAAA,CAbZ,kBAAkB,CAAA,EAAA,OAAA,EAAA,CAEhC,YAAY;YACZ,eAAe;YACf,qBAAqB;YACrB,eAAe;YACf,kBAAkB;YAClB,wBAAwB;YACxB,uBAAuB;AACvB,YAAA,uBAAuB,aAEd,kBAAkB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAX1B,YAAY;YACZ,eAAe;YACf,qBAAqB;YACrB,eAAe;YACf,kBAAkB;YAClB,wBAAwB;YACxB,uBAAuB;YACvB,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIZ,eAAe,EAAA,UAAA,EAAA,CAAA;kBAd3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,YAAY,EAAE,CAAC,kBAAkB,CAAC;AAClC,oBAAA,OAAO,EAAE;wBACR,YAAY;wBACZ,eAAe;wBACf,qBAAqB;wBACrB,eAAe;wBACf,kBAAkB;wBAClB,wBAAwB;wBACxB,uBAAuB;wBACvB,uBAAuB;AACvB,qBAAA;oBACD,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC7B,iBAAA,CAAA;;;AC3BD;;AAEG;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __metadata } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { ElementRef, Component, ChangeDetectionStrategy, Optional, Input, HostBinding, ViewChild, NgModule } from '@angular/core';
3
+ import { forwardRef, ElementRef, Component, ChangeDetectionStrategy, Optional, Input, HostBinding, ViewChild, NgModule } from '@angular/core';
4
4
  import * as i1 from '@ng-doc/app/classes/search-engine';
5
5
  import { NgDocSearchEngine } from '@ng-doc/app/classes/search-engine';
6
6
  import * as i5 from '@ng-doc/ui-kit';
@@ -43,7 +43,7 @@ let NgDocSearchComponent = NgDocSearchComponent_1 = class NgDocSearchComponent {
43
43
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocSearchComponent, selector: "ng-doc-search", inputs: { mod: "mod" }, host: { properties: { "attr.data-ng-doc-mod": "this.mod" } }, providers: [
44
44
  {
45
45
  provide: NgDocListHost,
46
- useExisting: NgDocSearchComponent_1,
46
+ useExisting: forwardRef(() => NgDocSearchComponent_1),
47
47
  },
48
48
  ], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<ng-container *ngDocLet=\"search$ | async as state\">\n\t<ng-container *ngIf=\"mod === 'icon'; else searchInput\">\n\t\t<button ng-doc-button-icon size=\"large\" (click)=\"inputDropdown.toggle()\" ngDocDropdownOrigin>\n\t\t\t<ng-doc-icon icon=\"search\" [size]=\"24\"></ng-doc-icon>\n\n\t\t\t<ng-doc-dropdown\n\t\t\t\t[content]=\"dropdownContent\"\n\t\t\t\tpanelClass=\"ng-doc-search-dropdown\"\n\t\t\t\twidth=\"100%\"\n\t\t\t\theight=\"80vh\"\n\t\t\t\t#inputDropdown\n\t\t\t>\n\t\t\t\t<ng-template #dropdownContent>\n\t\t\t\t\t<div class=\"ng-doc-search-wrapper\">\n\t\t\t\t\t\t<ng-doc-input-wrapper [leftContent]=\"leftContent\" ngDocDropdownOrigin>\n\t\t\t\t\t\t\t<ng-template #leftContent>\n\t\t\t\t\t\t\t\t<ng-doc-icon icon=\"search\"></ng-doc-icon>\n\t\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tngDocInputString\n\t\t\t\t\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t\t\t\t\t(ngModelChange)=\"query$.next($event)\"\n\t\t\t\t\t\t\t\tplaceholder=\"Search...\"\n\t\t\t\t\t\t\t\tngDocAutofocus\n\t\t\t\t\t\t\t\t[selectAll]=\"true\"\n\t\t\t\t\t\t\t\t#inputElement\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ng-doc-input-wrapper>\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"searchResults\"></ng-container>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-dropdown>\n\t\t</button>\n\t</ng-container>\n\n\t<ng-template #searchInput>\n\t\t<ng-doc-input-wrapper\n\t\t\t[leftContent]=\"leftContent\"\n\t\t\t[rightContent]=\"rightContent\"\n\t\t\tngDocDropdownOrigin\n\t\t\tngDocFocusCatcher\n\t\t\t(focusEvent)=\"inputElement.value ? dropdown.open() : null\"\n\t\t\t(click)=\"inputElement.value ? dropdown.open() : null\"\n\t\t\t#input\n\t\t>\n\t\t\t<ng-template #leftContent>\n\t\t\t\t<ng-doc-icon icon=\"search\"></ng-doc-icon>\n\t\t\t</ng-template>\n\t\t\t<input\n\t\t\t\tngDocInputString\n\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t(ngModelChange)=\"query$.next($event); dropdown.open()\"\n\t\t\t\tplaceholder=\"Search...\"\n\t\t\t\t[ngDocHotkey]=\"{ctrlKey: false, altKey: false, shiftKey: false, code: 'Slash'}\"\n\t\t\t\t(ngDocHotkey)=\"inputElement.focus(); inputElement.select()\"\n\t\t\t\t#inputElement\n\t\t\t/>\n\t\t\t<ng-template #rightContent>\n\t\t\t\t<ng-doc-tag class=\"search-hotkey\">/</ng-doc-tag>\n\t\t\t</ng-template>\n\t\t\t<ng-doc-dropdown\n\t\t\t\t[content]=\"searchResults\"\n\t\t\t\tpositions=\"bottom-right\"\n\t\t\t\t[width]=\"input.elementRef.nativeElement.offsetWidth\"\n\t\t\t\tmaxHeight=\"calc(95vh - var(--ng-doc-navbar-height)\"\n\t\t\t\t#dropdown\n\t\t\t>\n\t\t\t\t<\n\t\t\t</ng-doc-dropdown>\n\t\t</ng-doc-input-wrapper>\n\t</ng-template>\n\n\t<ng-template #searchResults>\n\t\t<div class=\"ng-doc-search-result-content\" [attr.data-ng-doc-mod]=\"mod\">\n\t\t\t<ng-doc-data-list [items]=\"state?.result ?? []\" [itemContent]=\"itemContent\" [emptyContent]=\"emptyContent\">\n\t\t\t\t<ng-template let-item #itemContent>\n\t\t\t\t\t<a class=\"ng-doc-search-option\" [routerLink]=\"item.index.route\" [fragment]=\"item.index.fragment\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-option-header\">\n\t\t\t\t\t\t\t<ng-doc-tag size=\"small\" [attr.data-ng-doc-page-type]=\"item.index.pageType\">\n\t\t\t\t\t\t\t\t{{ item.index.pageType }}\n\t\t\t\t\t\t\t</ng-doc-tag>\n\t\t\t\t\t\t\t<span class=\"ng-doc-search-option-breadcrumbs\" ng-doc-text>\n\t\t\t\t\t\t\t\t<ng-container *ngFor=\"let breadcrum of item.index.breadcrumbs; let i = index\">\n\t\t\t\t\t\t\t\t\t<span>{{ breadcrum }}</span>\n\t\t\t\t\t\t\t\t\t<span class=\"ng-doc-search-option-breadcrumb-divider\" *ngIf=\"i !== item.index.breadcrumbs.length - 1\"\n\t\t\t\t\t\t\t\t\t\t>/</span\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<h5\n\t\t\t\t\t\t\tclass=\"ng-doc-search-section-title\"\n\t\t\t\t\t\t\tng-doc-text\n\t\t\t\t\t\t\t[innerHTML]=\"\n\t\t\t\t\t\t\t\t(item.index.section\n\t\t\t\t\t\t\t\t\t| ngDocHighlighterPipe: (getPositions | ngDocRun: 'section':item)\n\t\t\t\t\t\t\t\t\t| ngDocSanitizeHtml) || item.index.title\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t></h5>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t*ngIf=\"item.index.content\"\n\t\t\t\t\t\t\tclass=\"ng-doc-search-content\"\n\t\t\t\t\t\t\t[innerHTML]=\"\n\t\t\t\t\t\t\t\titem.index.content | ngDocHighlighterPipe: (getPositions | ngDocRun: 'content':item) | ngDocSanitizeHtml\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\tng-doc-text\n\t\t\t\t\t\t></div>\n\t\t\t\t\t</a>\n\t\t\t\t</ng-template>\n\t\t\t\t<ng-template #emptyContent>\n\t\t\t\t\t<ng-container *ngIf=\"!state?.pending\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-empty\">\n\t\t\t\t\t\t\t<ng-container *ngIf=\"query$.value.length\">Nothing found</ng-container>\n\t\t\t\t\t\t\t<ng-container *ngIf=\"!query$.value.length\">Please enter your search query</ng-container>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-container *ngIf=\"state?.pending\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-progress\">\n\t\t\t\t\t\t\t<ng-doc-spinner size=\"small\"></ng-doc-spinner>\n\t\t\t\t\t\t\tSearching...\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-data-list>\n\t\t</div>\n\t</ng-template>\n</ng-container>\n", styles: [":host{max-width:500px;--ng-doc-floated-border-radius: var(--ng-doc-base-gutter);--ng-doc-input-background-color: var(--ng-doc-base-1);--ng-doc-input-border: none;--ng-doc-input-border-hover: none;--ng-doc-icon-color: var(--ng-doc-base-8)}:host[data-ng-doc-mod=input]{width:480px}.ng-doc-search-result-content{height:100%;overflow:auto;--ng-doc-option-padding: 0}.ng-doc-search-result-content[data-ng-doc-mod=icon] .ng-doc-search-wrapper{padding:calc(var(--ng-doc-base-gutter) * 2) 0}.ng-doc-search-result-content[data-ng-doc-mod=icon] .ng-doc-search-option{padding:12px 16px}.ng-doc-search-wrapper{display:flex;flex-direction:column;height:100%;padding:calc(var(--ng-doc-base-gutter) * 2) 0}.ng-doc-search-wrapper ng-doc-input-wrapper{padding:0 calc(var(--ng-doc-base-gutter) * 2)}.ng-doc-search-wrapper .ng-doc-search-result-content{padding:0;margin-top:calc(var(--ng-doc-base-gutter) * 3)}.search-hotkey{display:flex;align-items:center;justify-content:center;width:calc(var(--ng-doc-base-gutter) * 3);height:calc(var(--ng-doc-base-gutter) * 3);margin-right:var(--ng-doc-base-gutter);--ng-doc-tag-border: 1px solid var(--ng-doc-base-7);--ng-doc-tag-color: var(--ng-doc-base-7);--ng-doc-tag-background: transparent}::ng-deep .ng-doc-search-dropdown{--ng-doc-overlay-border-radius: 0px !important}.ng-doc-search-option{display:block;padding:12px 36px;text-decoration:none}.ng-doc-search-option .ng-doc-search-option-header{display:flex;align-items:center}.ng-doc-search-option .ng-doc-search-option-header ng-doc-tag{text-transform:uppercase;margin-right:calc(var(--ng-doc-base-gutter) / 2);--ng-doc-font-weight: 900}.ng-doc-search-option .ng-doc-search-option-header ng-doc-tag[data-ng-doc-page-type=guide]{--ng-doc-tag-color: var(--ng-doc-guide-tag-color);--ng-doc-tag-background: var(--ng-doc-guide-tag-background)}.ng-doc-search-option .ng-doc-search-option-header ng-doc-tag[data-ng-doc-page-type=api]{--ng-doc-tag-color: var(--ng-doc-api-tag-color);--ng-doc-tag-background: var(--ng-doc-api-tag-background)}.ng-doc-search-option .ng-doc-search-option-header .ng-doc-search-option-breadcrumbs{--ng-doc-text: var(--ng-doc-text-muted);--ng-doc-font-size: 12px;--ng-doc-line-height: 16px;--ng-doc-font-weight: 600}.ng-doc-search-option .ng-doc-search-option-header .ng-doc-search-option-breadcrumbs .ng-doc-search-option-breadcrumb-divider{margin:0 6px}.ng-doc-search-option .ng-doc-search-section-title{display:block;color:var(--ng-doc-search-result-header-color, var(--ng-doc-text));--ng-doc-line-height: 20px;margin:4px 0}.ng-doc-search-option .ng-doc-search-content{display:block;color:var(--ng-doc-search-result-color, var(--ng-doc-text));--ng-doc-font-size: 14px;--ng-doc-line-height: 19px;--ng-doc-font-weight: 600}.ng-doc-search-empty{padding:0 22px}.ng-doc-search-progress{display:flex;align-items:center}.ng-doc-search-progress ng-doc-spinner{margin-right:var(--ng-doc-base-gutter)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i5.NgDocInputWrapperComponent, selector: "ng-doc-input-wrapper", inputs: ["blurContent", "blurContext", "leftContent", "rightContent", "align"] }, { kind: "directive", type: i5.NgDocInputStringDirective, selector: "input[ngDocInputString]" }, { kind: "component", type: i5.NgDocDropdownComponent, selector: "ng-doc-dropdown", inputs: ["content", "origin", "closeIfOutsideClick", "closeIfInnerClick", "withArrow", "borderOffset", "panelClass", "contactBorder", "hasBackdrop", "positions", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"] }, { kind: "directive", type: i5.NgDocDropdownOriginDirective, selector: "[ngDocDropdownOrigin]", exportAs: ["ngDocDropdownOrigin"] }, { kind: "directive", type: i5.NgDocFocusCatcherDirective, selector: "[ngDocFocusCatcher]", outputs: ["focusEvent", "blurEvent"], exportAs: ["ngDocFocusCatcher"] }, { kind: "component", type: i5.NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "component", type: i5.NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "directive", type: i5.NgDocAutofocusDirective, selector: "[ngDocAutofocus]", inputs: ["selectAll"] }, { kind: "component", type: i5.NgDocTagComponent, selector: "ng-doc-tag", inputs: ["color", "size", "mod"] }, { kind: "directive", type: i5.NgDocHotkeyDirective, selector: "[ngDocHotkey]", inputs: ["ngDocHotkey"], outputs: ["ngDocHotkey"] }, { kind: "component", type: i5.NgDocDataListComponent, selector: "ng-doc-data-list", inputs: ["autofocus", "items", "itemContent", "emptyContent", "itemDisabledFn", "defineValueFn", "trackByFn"] }, { kind: "component", type: i5.NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: i5.NgDocLetDirective, selector: "[ngDocLet]", inputs: ["ngDocLet"] }, { kind: "component", type: i5.NgDocSpinnerComponent, selector: "ng-doc-spinner", inputs: ["size"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.NgDocHighlighterPipe, name: "ngDocHighlighterPipe" }, { kind: "pipe", type: i5.NgDocRunPipe, name: "ngDocRun" }, { kind: "pipe", type: i6.NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
49
49
  };
@@ -57,7 +57,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
57
57
  args: [{ selector: 'ng-doc-search', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
58
58
  {
59
59
  provide: NgDocListHost,
60
- useExisting: NgDocSearchComponent,
60
+ useExisting: forwardRef(() => NgDocSearchComponent),
61
61
  },
62
62
  ], template: "<ng-container *ngDocLet=\"search$ | async as state\">\n\t<ng-container *ngIf=\"mod === 'icon'; else searchInput\">\n\t\t<button ng-doc-button-icon size=\"large\" (click)=\"inputDropdown.toggle()\" ngDocDropdownOrigin>\n\t\t\t<ng-doc-icon icon=\"search\" [size]=\"24\"></ng-doc-icon>\n\n\t\t\t<ng-doc-dropdown\n\t\t\t\t[content]=\"dropdownContent\"\n\t\t\t\tpanelClass=\"ng-doc-search-dropdown\"\n\t\t\t\twidth=\"100%\"\n\t\t\t\theight=\"80vh\"\n\t\t\t\t#inputDropdown\n\t\t\t>\n\t\t\t\t<ng-template #dropdownContent>\n\t\t\t\t\t<div class=\"ng-doc-search-wrapper\">\n\t\t\t\t\t\t<ng-doc-input-wrapper [leftContent]=\"leftContent\" ngDocDropdownOrigin>\n\t\t\t\t\t\t\t<ng-template #leftContent>\n\t\t\t\t\t\t\t\t<ng-doc-icon icon=\"search\"></ng-doc-icon>\n\t\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tngDocInputString\n\t\t\t\t\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t\t\t\t\t(ngModelChange)=\"query$.next($event)\"\n\t\t\t\t\t\t\t\tplaceholder=\"Search...\"\n\t\t\t\t\t\t\t\tngDocAutofocus\n\t\t\t\t\t\t\t\t[selectAll]=\"true\"\n\t\t\t\t\t\t\t\t#inputElement\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ng-doc-input-wrapper>\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"searchResults\"></ng-container>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-dropdown>\n\t\t</button>\n\t</ng-container>\n\n\t<ng-template #searchInput>\n\t\t<ng-doc-input-wrapper\n\t\t\t[leftContent]=\"leftContent\"\n\t\t\t[rightContent]=\"rightContent\"\n\t\t\tngDocDropdownOrigin\n\t\t\tngDocFocusCatcher\n\t\t\t(focusEvent)=\"inputElement.value ? dropdown.open() : null\"\n\t\t\t(click)=\"inputElement.value ? dropdown.open() : null\"\n\t\t\t#input\n\t\t>\n\t\t\t<ng-template #leftContent>\n\t\t\t\t<ng-doc-icon icon=\"search\"></ng-doc-icon>\n\t\t\t</ng-template>\n\t\t\t<input\n\t\t\t\tngDocInputString\n\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t(ngModelChange)=\"query$.next($event); dropdown.open()\"\n\t\t\t\tplaceholder=\"Search...\"\n\t\t\t\t[ngDocHotkey]=\"{ctrlKey: false, altKey: false, shiftKey: false, code: 'Slash'}\"\n\t\t\t\t(ngDocHotkey)=\"inputElement.focus(); inputElement.select()\"\n\t\t\t\t#inputElement\n\t\t\t/>\n\t\t\t<ng-template #rightContent>\n\t\t\t\t<ng-doc-tag class=\"search-hotkey\">/</ng-doc-tag>\n\t\t\t</ng-template>\n\t\t\t<ng-doc-dropdown\n\t\t\t\t[content]=\"searchResults\"\n\t\t\t\tpositions=\"bottom-right\"\n\t\t\t\t[width]=\"input.elementRef.nativeElement.offsetWidth\"\n\t\t\t\tmaxHeight=\"calc(95vh - var(--ng-doc-navbar-height)\"\n\t\t\t\t#dropdown\n\t\t\t>\n\t\t\t\t<\n\t\t\t</ng-doc-dropdown>\n\t\t</ng-doc-input-wrapper>\n\t</ng-template>\n\n\t<ng-template #searchResults>\n\t\t<div class=\"ng-doc-search-result-content\" [attr.data-ng-doc-mod]=\"mod\">\n\t\t\t<ng-doc-data-list [items]=\"state?.result ?? []\" [itemContent]=\"itemContent\" [emptyContent]=\"emptyContent\">\n\t\t\t\t<ng-template let-item #itemContent>\n\t\t\t\t\t<a class=\"ng-doc-search-option\" [routerLink]=\"item.index.route\" [fragment]=\"item.index.fragment\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-option-header\">\n\t\t\t\t\t\t\t<ng-doc-tag size=\"small\" [attr.data-ng-doc-page-type]=\"item.index.pageType\">\n\t\t\t\t\t\t\t\t{{ item.index.pageType }}\n\t\t\t\t\t\t\t</ng-doc-tag>\n\t\t\t\t\t\t\t<span class=\"ng-doc-search-option-breadcrumbs\" ng-doc-text>\n\t\t\t\t\t\t\t\t<ng-container *ngFor=\"let breadcrum of item.index.breadcrumbs; let i = index\">\n\t\t\t\t\t\t\t\t\t<span>{{ breadcrum }}</span>\n\t\t\t\t\t\t\t\t\t<span class=\"ng-doc-search-option-breadcrumb-divider\" *ngIf=\"i !== item.index.breadcrumbs.length - 1\"\n\t\t\t\t\t\t\t\t\t\t>/</span\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<h5\n\t\t\t\t\t\t\tclass=\"ng-doc-search-section-title\"\n\t\t\t\t\t\t\tng-doc-text\n\t\t\t\t\t\t\t[innerHTML]=\"\n\t\t\t\t\t\t\t\t(item.index.section\n\t\t\t\t\t\t\t\t\t| ngDocHighlighterPipe: (getPositions | ngDocRun: 'section':item)\n\t\t\t\t\t\t\t\t\t| ngDocSanitizeHtml) || item.index.title\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t></h5>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t*ngIf=\"item.index.content\"\n\t\t\t\t\t\t\tclass=\"ng-doc-search-content\"\n\t\t\t\t\t\t\t[innerHTML]=\"\n\t\t\t\t\t\t\t\titem.index.content | ngDocHighlighterPipe: (getPositions | ngDocRun: 'content':item) | ngDocSanitizeHtml\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\tng-doc-text\n\t\t\t\t\t\t></div>\n\t\t\t\t\t</a>\n\t\t\t\t</ng-template>\n\t\t\t\t<ng-template #emptyContent>\n\t\t\t\t\t<ng-container *ngIf=\"!state?.pending\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-empty\">\n\t\t\t\t\t\t\t<ng-container *ngIf=\"query$.value.length\">Nothing found</ng-container>\n\t\t\t\t\t\t\t<ng-container *ngIf=\"!query$.value.length\">Please enter your search query</ng-container>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-container *ngIf=\"state?.pending\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-progress\">\n\t\t\t\t\t\t\t<ng-doc-spinner size=\"small\"></ng-doc-spinner>\n\t\t\t\t\t\t\tSearching...\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-data-list>\n\t\t</div>\n\t</ng-template>\n</ng-container>\n", styles: [":host{max-width:500px;--ng-doc-floated-border-radius: var(--ng-doc-base-gutter);--ng-doc-input-background-color: var(--ng-doc-base-1);--ng-doc-input-border: none;--ng-doc-input-border-hover: none;--ng-doc-icon-color: var(--ng-doc-base-8)}:host[data-ng-doc-mod=input]{width:480px}.ng-doc-search-result-content{height:100%;overflow:auto;--ng-doc-option-padding: 0}.ng-doc-search-result-content[data-ng-doc-mod=icon] .ng-doc-search-wrapper{padding:calc(var(--ng-doc-base-gutter) * 2) 0}.ng-doc-search-result-content[data-ng-doc-mod=icon] .ng-doc-search-option{padding:12px 16px}.ng-doc-search-wrapper{display:flex;flex-direction:column;height:100%;padding:calc(var(--ng-doc-base-gutter) * 2) 0}.ng-doc-search-wrapper ng-doc-input-wrapper{padding:0 calc(var(--ng-doc-base-gutter) * 2)}.ng-doc-search-wrapper .ng-doc-search-result-content{padding:0;margin-top:calc(var(--ng-doc-base-gutter) * 3)}.search-hotkey{display:flex;align-items:center;justify-content:center;width:calc(var(--ng-doc-base-gutter) * 3);height:calc(var(--ng-doc-base-gutter) * 3);margin-right:var(--ng-doc-base-gutter);--ng-doc-tag-border: 1px solid var(--ng-doc-base-7);--ng-doc-tag-color: var(--ng-doc-base-7);--ng-doc-tag-background: transparent}::ng-deep .ng-doc-search-dropdown{--ng-doc-overlay-border-radius: 0px !important}.ng-doc-search-option{display:block;padding:12px 36px;text-decoration:none}.ng-doc-search-option .ng-doc-search-option-header{display:flex;align-items:center}.ng-doc-search-option .ng-doc-search-option-header ng-doc-tag{text-transform:uppercase;margin-right:calc(var(--ng-doc-base-gutter) / 2);--ng-doc-font-weight: 900}.ng-doc-search-option .ng-doc-search-option-header ng-doc-tag[data-ng-doc-page-type=guide]{--ng-doc-tag-color: var(--ng-doc-guide-tag-color);--ng-doc-tag-background: var(--ng-doc-guide-tag-background)}.ng-doc-search-option .ng-doc-search-option-header ng-doc-tag[data-ng-doc-page-type=api]{--ng-doc-tag-color: var(--ng-doc-api-tag-color);--ng-doc-tag-background: var(--ng-doc-api-tag-background)}.ng-doc-search-option .ng-doc-search-option-header .ng-doc-search-option-breadcrumbs{--ng-doc-text: var(--ng-doc-text-muted);--ng-doc-font-size: 12px;--ng-doc-line-height: 16px;--ng-doc-font-weight: 600}.ng-doc-search-option .ng-doc-search-option-header .ng-doc-search-option-breadcrumbs .ng-doc-search-option-breadcrumb-divider{margin:0 6px}.ng-doc-search-option .ng-doc-search-section-title{display:block;color:var(--ng-doc-search-result-header-color, var(--ng-doc-text));--ng-doc-line-height: 20px;margin:4px 0}.ng-doc-search-option .ng-doc-search-content{display:block;color:var(--ng-doc-search-result-color, var(--ng-doc-text));--ng-doc-font-size: 14px;--ng-doc-line-height: 19px;--ng-doc-font-weight: 600}.ng-doc-search-empty{padding:0 22px}.ng-doc-search-progress{display:flex;align-items:center}.ng-doc-search-progress ng-doc-spinner{margin-right:var(--ng-doc-base-gutter)}\n"] }]
63
63
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.NgDocSearchEngine, decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-components-search.mjs","sources":["../../../../libs/app/components/search/search.component.ts","../../../../libs/app/components/search/search.component.html","../../../../libs/app/components/search/search.module.ts","../../../../libs/app/components/search/ng-doc-app-components-search.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, Optional, ViewChild} from '@angular/core';\nimport {NgDocSearchEngine} from '@ng-doc/app/classes/search-engine';\nimport {NgDocSearchResult} from '@ng-doc/app/interfaces';\nimport {NgDocHighlightPosition, observableState, StatedObservable} from '@ng-doc/ui-kit';\nimport {NgDocListHost} from '@ng-doc/ui-kit/classes';\nimport {UntilDestroy, untilDestroyed} from '@ngneat/until-destroy';\nimport {BehaviorSubject, NEVER} from 'rxjs';\nimport {skip, switchMap} from 'rxjs/operators';\n\n@Component({\n\tselector: 'ng-doc-search',\n\ttemplateUrl: './search.component.html',\n\tstyleUrls: ['./search.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NgDocListHost,\n\t\t\tuseExisting: NgDocSearchComponent,\n\t\t},\n\t],\n})\n@UntilDestroy()\nexport class NgDocSearchComponent implements NgDocListHost {\n\t@Input()\n\t@HostBinding('attr.data-ng-doc-mod')\n\tmod: 'input' | 'icon' = 'input';\n\n\t@ViewChild('inputElement')\n\tinputElement?: ElementRef<HTMLElement>;\n\n\tsearchTerm: string = '';\n\n\treadonly query$: BehaviorSubject<string> = new BehaviorSubject<string>('');\n\treadonly search$: StatedObservable<NgDocSearchResult[]>;\n\n\tconstructor(\n\t\tprivate readonly elementRef: ElementRef<HTMLElement>,\n\t\t@Optional()\n\t\tprivate readonly searchEngine?: NgDocSearchEngine,\n\t) {\n\t\tif (!this.searchEngine) {\n\t\t\tthrow new Error(`NgDoc: Search engine is not provided,\n\t\t\tplease check this article: https://ng-doc.com/getting-started/installation#importing-global-modules\n\t\t\tto learn how to provide it.`);\n\t\t}\n\n\t\tthis.search$ = this.query$.pipe(\n\t\t\tskip(1),\n\t\t\tswitchMap((term: string) => this.searchEngine?.search(term).pipe(observableState()) ?? NEVER),\n\t\t\tuntilDestroyed(this),\n\t\t);\n\t}\n\n\tget listHostOrigin(): ElementRef<HTMLElement> {\n\t\treturn this.inputElement ?? this.elementRef;\n\t}\n\n\tgetPositions<T extends NgDocSearchResult, K extends keyof T['positions']>(key: K, item: T): NgDocHighlightPosition[] {\n\t\treturn item.positions[key] ?? [];\n\t}\n}\n","<ng-container *ngDocLet=\"search$ | async as state\">\n\t<ng-container *ngIf=\"mod === 'icon'; else searchInput\">\n\t\t<button ng-doc-button-icon size=\"large\" (click)=\"inputDropdown.toggle()\" ngDocDropdownOrigin>\n\t\t\t<ng-doc-icon icon=\"search\" [size]=\"24\"></ng-doc-icon>\n\n\t\t\t<ng-doc-dropdown\n\t\t\t\t[content]=\"dropdownContent\"\n\t\t\t\tpanelClass=\"ng-doc-search-dropdown\"\n\t\t\t\twidth=\"100%\"\n\t\t\t\theight=\"80vh\"\n\t\t\t\t#inputDropdown\n\t\t\t>\n\t\t\t\t<ng-template #dropdownContent>\n\t\t\t\t\t<div class=\"ng-doc-search-wrapper\">\n\t\t\t\t\t\t<ng-doc-input-wrapper [leftContent]=\"leftContent\" ngDocDropdownOrigin>\n\t\t\t\t\t\t\t<ng-template #leftContent>\n\t\t\t\t\t\t\t\t<ng-doc-icon icon=\"search\"></ng-doc-icon>\n\t\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tngDocInputString\n\t\t\t\t\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t\t\t\t\t(ngModelChange)=\"query$.next($event)\"\n\t\t\t\t\t\t\t\tplaceholder=\"Search...\"\n\t\t\t\t\t\t\t\tngDocAutofocus\n\t\t\t\t\t\t\t\t[selectAll]=\"true\"\n\t\t\t\t\t\t\t\t#inputElement\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ng-doc-input-wrapper>\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"searchResults\"></ng-container>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-dropdown>\n\t\t</button>\n\t</ng-container>\n\n\t<ng-template #searchInput>\n\t\t<ng-doc-input-wrapper\n\t\t\t[leftContent]=\"leftContent\"\n\t\t\t[rightContent]=\"rightContent\"\n\t\t\tngDocDropdownOrigin\n\t\t\tngDocFocusCatcher\n\t\t\t(focusEvent)=\"inputElement.value ? dropdown.open() : null\"\n\t\t\t(click)=\"inputElement.value ? dropdown.open() : null\"\n\t\t\t#input\n\t\t>\n\t\t\t<ng-template #leftContent>\n\t\t\t\t<ng-doc-icon icon=\"search\"></ng-doc-icon>\n\t\t\t</ng-template>\n\t\t\t<input\n\t\t\t\tngDocInputString\n\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t(ngModelChange)=\"query$.next($event); dropdown.open()\"\n\t\t\t\tplaceholder=\"Search...\"\n\t\t\t\t[ngDocHotkey]=\"{ctrlKey: false, altKey: false, shiftKey: false, code: 'Slash'}\"\n\t\t\t\t(ngDocHotkey)=\"inputElement.focus(); inputElement.select()\"\n\t\t\t\t#inputElement\n\t\t\t/>\n\t\t\t<ng-template #rightContent>\n\t\t\t\t<ng-doc-tag class=\"search-hotkey\">/</ng-doc-tag>\n\t\t\t</ng-template>\n\t\t\t<ng-doc-dropdown\n\t\t\t\t[content]=\"searchResults\"\n\t\t\t\tpositions=\"bottom-right\"\n\t\t\t\t[width]=\"input.elementRef.nativeElement.offsetWidth\"\n\t\t\t\tmaxHeight=\"calc(95vh - var(--ng-doc-navbar-height)\"\n\t\t\t\t#dropdown\n\t\t\t>\n\t\t\t\t<\n\t\t\t</ng-doc-dropdown>\n\t\t</ng-doc-input-wrapper>\n\t</ng-template>\n\n\t<ng-template #searchResults>\n\t\t<div class=\"ng-doc-search-result-content\" [attr.data-ng-doc-mod]=\"mod\">\n\t\t\t<ng-doc-data-list [items]=\"state?.result ?? []\" [itemContent]=\"itemContent\" [emptyContent]=\"emptyContent\">\n\t\t\t\t<ng-template let-item #itemContent>\n\t\t\t\t\t<a class=\"ng-doc-search-option\" [routerLink]=\"item.index.route\" [fragment]=\"item.index.fragment\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-option-header\">\n\t\t\t\t\t\t\t<ng-doc-tag size=\"small\" [attr.data-ng-doc-page-type]=\"item.index.pageType\">\n\t\t\t\t\t\t\t\t{{ item.index.pageType }}\n\t\t\t\t\t\t\t</ng-doc-tag>\n\t\t\t\t\t\t\t<span class=\"ng-doc-search-option-breadcrumbs\" ng-doc-text>\n\t\t\t\t\t\t\t\t<ng-container *ngFor=\"let breadcrum of item.index.breadcrumbs; let i = index\">\n\t\t\t\t\t\t\t\t\t<span>{{ breadcrum }}</span>\n\t\t\t\t\t\t\t\t\t<span class=\"ng-doc-search-option-breadcrumb-divider\" *ngIf=\"i !== item.index.breadcrumbs.length - 1\"\n\t\t\t\t\t\t\t\t\t\t>/</span\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<h5\n\t\t\t\t\t\t\tclass=\"ng-doc-search-section-title\"\n\t\t\t\t\t\t\tng-doc-text\n\t\t\t\t\t\t\t[innerHTML]=\"\n\t\t\t\t\t\t\t\t(item.index.section\n\t\t\t\t\t\t\t\t\t| ngDocHighlighterPipe: (getPositions | ngDocRun: 'section':item)\n\t\t\t\t\t\t\t\t\t| ngDocSanitizeHtml) || item.index.title\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t></h5>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t*ngIf=\"item.index.content\"\n\t\t\t\t\t\t\tclass=\"ng-doc-search-content\"\n\t\t\t\t\t\t\t[innerHTML]=\"\n\t\t\t\t\t\t\t\titem.index.content | ngDocHighlighterPipe: (getPositions | ngDocRun: 'content':item) | ngDocSanitizeHtml\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\tng-doc-text\n\t\t\t\t\t\t></div>\n\t\t\t\t\t</a>\n\t\t\t\t</ng-template>\n\t\t\t\t<ng-template #emptyContent>\n\t\t\t\t\t<ng-container *ngIf=\"!state?.pending\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-empty\">\n\t\t\t\t\t\t\t<ng-container *ngIf=\"query$.value.length\">Nothing found</ng-container>\n\t\t\t\t\t\t\t<ng-container *ngIf=\"!query$.value.length\">Please enter your search query</ng-container>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-container *ngIf=\"state?.pending\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-progress\">\n\t\t\t\t\t\t\t<ng-doc-spinner size=\"small\"></ng-doc-spinner>\n\t\t\t\t\t\t\tSearching...\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-data-list>\n\t\t</div>\n\t</ng-template>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {NgDocSanitizeHtmlModule} from '@ng-doc/app/pipes';\nimport {\n\tNgDocAutofocusModule,\n\tNgDocBindModule,\n\tNgDocButtonIconModule,\n\tNgDocDataListModule,\n\tNgDocDropdownModule,\n\tNgDocDropdownOriginModule,\n\tNgDocFocusCatcherModule,\n\tNgDocHighlighterModule,\n\tNgDocHotkeyModule,\n\tNgDocIconModule,\n\tNgDocInputStringModule,\n\tNgDocInputWrapperModule,\n\tNgDocLetModule,\n\tNgDocRunModule,\n\tNgDocSpinnerModule,\n\tNgDocTagModule,\n\tNgDocTextModule,\n} from '@ng-doc/ui-kit';\n\nimport {NgDocSearchComponent} from './search.component';\n\n@NgModule({\n\tdeclarations: [NgDocSearchComponent],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tRouterModule,\n\t\tNgDocInputWrapperModule,\n\t\tNgDocInputStringModule,\n\t\tNgDocDropdownModule,\n\t\tNgDocDropdownOriginModule,\n\t\tNgDocFocusCatcherModule,\n\t\tNgDocIconModule,\n\t\tNgDocButtonIconModule,\n\t\tNgDocAutofocusModule,\n\t\tNgDocTagModule,\n\t\tNgDocHotkeyModule,\n\t\tNgDocDataListModule,\n\t\tNgDocHighlighterModule,\n\t\tNgDocTextModule,\n\t\tNgDocLetModule,\n\t\tNgDocRunModule,\n\t\tNgDocBindModule,\n\t\tNgDocSanitizeHtmlModule,\n\t\tNgDocSpinnerModule,\n\t],\n\texports: [NgDocSearchComponent],\n})\nexport class NgDocSearchModule {}\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-components-search.mjs","sources":["../../../../libs/app/components/search/search.component.ts","../../../../libs/app/components/search/search.component.html","../../../../libs/app/components/search/search.module.ts","../../../../libs/app/components/search/ng-doc-app-components-search.ts"],"sourcesContent":["import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tElementRef,\n\tforwardRef,\n\tHostBinding,\n\tInput,\n\tOptional,\n\tViewChild\n} from '@angular/core';\nimport {NgDocSearchEngine} from '@ng-doc/app/classes/search-engine';\nimport {NgDocSearchResult} from '@ng-doc/app/interfaces';\nimport {NgDocHighlightPosition, observableState, StatedObservable} from '@ng-doc/ui-kit';\nimport {NgDocListHost} from '@ng-doc/ui-kit/classes';\nimport {UntilDestroy, untilDestroyed} from '@ngneat/until-destroy';\nimport {BehaviorSubject, NEVER} from 'rxjs';\nimport {skip, switchMap} from 'rxjs/operators';\n\n@Component({\n\tselector: 'ng-doc-search',\n\ttemplateUrl: './search.component.html',\n\tstyleUrls: ['./search.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NgDocListHost,\n\t\t\tuseExisting: forwardRef(() => NgDocSearchComponent),\n\t\t},\n\t],\n})\n@UntilDestroy()\nexport class NgDocSearchComponent implements NgDocListHost {\n\t@Input()\n\t@HostBinding('attr.data-ng-doc-mod')\n\tmod: 'input' | 'icon' = 'input';\n\n\t@ViewChild('inputElement')\n\tinputElement?: ElementRef<HTMLElement>;\n\n\tsearchTerm: string = '';\n\n\treadonly query$: BehaviorSubject<string> = new BehaviorSubject<string>('');\n\treadonly search$: StatedObservable<NgDocSearchResult[]>;\n\n\tconstructor(\n\t\tprivate readonly elementRef: ElementRef<HTMLElement>,\n\t\t@Optional()\n\t\tprivate readonly searchEngine?: NgDocSearchEngine,\n\t) {\n\t\tif (!this.searchEngine) {\n\t\t\tthrow new Error(`NgDoc: Search engine is not provided,\n\t\t\tplease check this article: https://ng-doc.com/getting-started/installation#importing-global-modules\n\t\t\tto learn how to provide it.`);\n\t\t}\n\n\t\tthis.search$ = this.query$.pipe(\n\t\t\tskip(1),\n\t\t\tswitchMap((term: string) => this.searchEngine?.search(term).pipe(observableState()) ?? NEVER),\n\t\t\tuntilDestroyed(this),\n\t\t);\n\t}\n\n\tget listHostOrigin(): ElementRef<HTMLElement> {\n\t\treturn this.inputElement ?? this.elementRef;\n\t}\n\n\tgetPositions<T extends NgDocSearchResult, K extends keyof T['positions']>(key: K, item: T): NgDocHighlightPosition[] {\n\t\treturn item.positions[key] ?? [];\n\t}\n}\n","<ng-container *ngDocLet=\"search$ | async as state\">\n\t<ng-container *ngIf=\"mod === 'icon'; else searchInput\">\n\t\t<button ng-doc-button-icon size=\"large\" (click)=\"inputDropdown.toggle()\" ngDocDropdownOrigin>\n\t\t\t<ng-doc-icon icon=\"search\" [size]=\"24\"></ng-doc-icon>\n\n\t\t\t<ng-doc-dropdown\n\t\t\t\t[content]=\"dropdownContent\"\n\t\t\t\tpanelClass=\"ng-doc-search-dropdown\"\n\t\t\t\twidth=\"100%\"\n\t\t\t\theight=\"80vh\"\n\t\t\t\t#inputDropdown\n\t\t\t>\n\t\t\t\t<ng-template #dropdownContent>\n\t\t\t\t\t<div class=\"ng-doc-search-wrapper\">\n\t\t\t\t\t\t<ng-doc-input-wrapper [leftContent]=\"leftContent\" ngDocDropdownOrigin>\n\t\t\t\t\t\t\t<ng-template #leftContent>\n\t\t\t\t\t\t\t\t<ng-doc-icon icon=\"search\"></ng-doc-icon>\n\t\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tngDocInputString\n\t\t\t\t\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t\t\t\t\t(ngModelChange)=\"query$.next($event)\"\n\t\t\t\t\t\t\t\tplaceholder=\"Search...\"\n\t\t\t\t\t\t\t\tngDocAutofocus\n\t\t\t\t\t\t\t\t[selectAll]=\"true\"\n\t\t\t\t\t\t\t\t#inputElement\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ng-doc-input-wrapper>\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"searchResults\"></ng-container>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-dropdown>\n\t\t</button>\n\t</ng-container>\n\n\t<ng-template #searchInput>\n\t\t<ng-doc-input-wrapper\n\t\t\t[leftContent]=\"leftContent\"\n\t\t\t[rightContent]=\"rightContent\"\n\t\t\tngDocDropdownOrigin\n\t\t\tngDocFocusCatcher\n\t\t\t(focusEvent)=\"inputElement.value ? dropdown.open() : null\"\n\t\t\t(click)=\"inputElement.value ? dropdown.open() : null\"\n\t\t\t#input\n\t\t>\n\t\t\t<ng-template #leftContent>\n\t\t\t\t<ng-doc-icon icon=\"search\"></ng-doc-icon>\n\t\t\t</ng-template>\n\t\t\t<input\n\t\t\t\tngDocInputString\n\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t(ngModelChange)=\"query$.next($event); dropdown.open()\"\n\t\t\t\tplaceholder=\"Search...\"\n\t\t\t\t[ngDocHotkey]=\"{ctrlKey: false, altKey: false, shiftKey: false, code: 'Slash'}\"\n\t\t\t\t(ngDocHotkey)=\"inputElement.focus(); inputElement.select()\"\n\t\t\t\t#inputElement\n\t\t\t/>\n\t\t\t<ng-template #rightContent>\n\t\t\t\t<ng-doc-tag class=\"search-hotkey\">/</ng-doc-tag>\n\t\t\t</ng-template>\n\t\t\t<ng-doc-dropdown\n\t\t\t\t[content]=\"searchResults\"\n\t\t\t\tpositions=\"bottom-right\"\n\t\t\t\t[width]=\"input.elementRef.nativeElement.offsetWidth\"\n\t\t\t\tmaxHeight=\"calc(95vh - var(--ng-doc-navbar-height)\"\n\t\t\t\t#dropdown\n\t\t\t>\n\t\t\t\t<\n\t\t\t</ng-doc-dropdown>\n\t\t</ng-doc-input-wrapper>\n\t</ng-template>\n\n\t<ng-template #searchResults>\n\t\t<div class=\"ng-doc-search-result-content\" [attr.data-ng-doc-mod]=\"mod\">\n\t\t\t<ng-doc-data-list [items]=\"state?.result ?? []\" [itemContent]=\"itemContent\" [emptyContent]=\"emptyContent\">\n\t\t\t\t<ng-template let-item #itemContent>\n\t\t\t\t\t<a class=\"ng-doc-search-option\" [routerLink]=\"item.index.route\" [fragment]=\"item.index.fragment\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-option-header\">\n\t\t\t\t\t\t\t<ng-doc-tag size=\"small\" [attr.data-ng-doc-page-type]=\"item.index.pageType\">\n\t\t\t\t\t\t\t\t{{ item.index.pageType }}\n\t\t\t\t\t\t\t</ng-doc-tag>\n\t\t\t\t\t\t\t<span class=\"ng-doc-search-option-breadcrumbs\" ng-doc-text>\n\t\t\t\t\t\t\t\t<ng-container *ngFor=\"let breadcrum of item.index.breadcrumbs; let i = index\">\n\t\t\t\t\t\t\t\t\t<span>{{ breadcrum }}</span>\n\t\t\t\t\t\t\t\t\t<span class=\"ng-doc-search-option-breadcrumb-divider\" *ngIf=\"i !== item.index.breadcrumbs.length - 1\"\n\t\t\t\t\t\t\t\t\t\t>/</span\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<h5\n\t\t\t\t\t\t\tclass=\"ng-doc-search-section-title\"\n\t\t\t\t\t\t\tng-doc-text\n\t\t\t\t\t\t\t[innerHTML]=\"\n\t\t\t\t\t\t\t\t(item.index.section\n\t\t\t\t\t\t\t\t\t| ngDocHighlighterPipe: (getPositions | ngDocRun: 'section':item)\n\t\t\t\t\t\t\t\t\t| ngDocSanitizeHtml) || item.index.title\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t></h5>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t*ngIf=\"item.index.content\"\n\t\t\t\t\t\t\tclass=\"ng-doc-search-content\"\n\t\t\t\t\t\t\t[innerHTML]=\"\n\t\t\t\t\t\t\t\titem.index.content | ngDocHighlighterPipe: (getPositions | ngDocRun: 'content':item) | ngDocSanitizeHtml\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\tng-doc-text\n\t\t\t\t\t\t></div>\n\t\t\t\t\t</a>\n\t\t\t\t</ng-template>\n\t\t\t\t<ng-template #emptyContent>\n\t\t\t\t\t<ng-container *ngIf=\"!state?.pending\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-empty\">\n\t\t\t\t\t\t\t<ng-container *ngIf=\"query$.value.length\">Nothing found</ng-container>\n\t\t\t\t\t\t\t<ng-container *ngIf=\"!query$.value.length\">Please enter your search query</ng-container>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\t\t\t\t\t<ng-container *ngIf=\"state?.pending\">\n\t\t\t\t\t\t<div class=\"ng-doc-search-progress\">\n\t\t\t\t\t\t\t<ng-doc-spinner size=\"small\"></ng-doc-spinner>\n\t\t\t\t\t\t\tSearching...\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ng-container>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-data-list>\n\t\t</div>\n\t</ng-template>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {NgDocSanitizeHtmlModule} from '@ng-doc/app/pipes';\nimport {\n\tNgDocAutofocusModule,\n\tNgDocBindModule,\n\tNgDocButtonIconModule,\n\tNgDocDataListModule,\n\tNgDocDropdownModule,\n\tNgDocDropdownOriginModule,\n\tNgDocFocusCatcherModule,\n\tNgDocHighlighterModule,\n\tNgDocHotkeyModule,\n\tNgDocIconModule,\n\tNgDocInputStringModule,\n\tNgDocInputWrapperModule,\n\tNgDocLetModule,\n\tNgDocRunModule,\n\tNgDocSpinnerModule,\n\tNgDocTagModule,\n\tNgDocTextModule,\n} from '@ng-doc/ui-kit';\n\nimport {NgDocSearchComponent} from './search.component';\n\n@NgModule({\n\tdeclarations: [NgDocSearchComponent],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tRouterModule,\n\t\tNgDocInputWrapperModule,\n\t\tNgDocInputStringModule,\n\t\tNgDocDropdownModule,\n\t\tNgDocDropdownOriginModule,\n\t\tNgDocFocusCatcherModule,\n\t\tNgDocIconModule,\n\t\tNgDocButtonIconModule,\n\t\tNgDocAutofocusModule,\n\t\tNgDocTagModule,\n\t\tNgDocHotkeyModule,\n\t\tNgDocDataListModule,\n\t\tNgDocHighlighterModule,\n\t\tNgDocTextModule,\n\t\tNgDocLetModule,\n\t\tNgDocRunModule,\n\t\tNgDocBindModule,\n\t\tNgDocSanitizeHtmlModule,\n\t\tNgDocSpinnerModule,\n\t],\n\texports: [NgDocSearchComponent],\n})\nexport class NgDocSearchModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ class NgDocCodeHighlighterDirective {
15
15
  }
16
16
  ngOnChanges() {
17
17
  if (this.code) {
18
- const result = highlight.highlight(this.language, this.code);
18
+ const result = highlight.highlight(this.code, { language: this.language });
19
19
  this.elementRef.nativeElement.innerHTML = result.value ?? this.html;
20
20
  }
21
21
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-directives-code-highlighter.mjs","sources":["../../../../libs/app/directives/code-highlighter/code-highlighter.directive.ts","../../../../libs/app/directives/code-highlighter/code-highlighter.module.ts","../../../../libs/app/directives/code-highlighter/ng-doc-app-directives-code-highlighter.ts"],"sourcesContent":["import {Directive, ElementRef, HostBinding, Input, OnChanges} from '@angular/core';\nimport {HighlightResult} from 'highlight.js';\nimport highlight from 'highlight.js/lib/core';\nimport xml from 'highlight.js/lib/languages/xml';\n\nhighlight.registerLanguage('html', xml);\nhighlight.registerLanguage('xml', xml);\n\n@Directive({\n\tselector: 'code[ngDocCodeHighlighter]',\n})\nexport class NgDocCodeHighlighterDirective implements OnChanges {\n\t@Input('ngDocCodeHighlighter')\n\tcode: string = '';\n\n\t@Input()\n\thtml: string = '';\n\n\t@Input()\n\tlanguage: string = 'typescript';\n\n\t@HostBinding('class.hljs')\n\tprotected highlightJsClass: boolean = true;\n\n\tconstructor(private readonly elementRef: ElementRef<HTMLElement>) {}\n\n\tngOnChanges(): void {\n\t\tif (this.code) {\n\t\t\tconst result: HighlightResult = highlight.highlight(this.language, this.code);\n\n\t\t\tthis.elementRef.nativeElement.innerHTML = result.value ?? this.html;\n\t\t} else {\n\t\t\tthis.elementRef.nativeElement.innerHTML = this.html;\n\t\t}\n\t}\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgDocCodeHighlighterDirective} from './code-highlighter.directive';\n\n@NgModule({\n\tdeclarations: [NgDocCodeHighlighterDirective],\n\texports: [NgDocCodeHighlighterDirective],\n})\nexport class NgDocCodeHighlighterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAKA,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACxC,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAEvC,MAGa,6BAA6B,CAAA;AAazC,IAAA,WAAA,CAA6B,UAAmC,EAAA;QAAnC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QAXhE,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;QAGlB,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;QAGlB,IAAQ,CAAA,QAAA,GAAW,YAAY,CAAC;QAGtB,IAAgB,CAAA,gBAAA,GAAY,IAAI,CAAC;KAEyB;IAEpE,WAAW,GAAA;QACV,IAAI,IAAI,CAAC,IAAI,EAAE;AACd,YAAA,MAAM,MAAM,GAAoB,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAE9E,YAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC;AACpE,SAAA;AAAM,aAAA;YACN,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;AACpD,SAAA;KACD;8GAvBW,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA7B,6BAA6B,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,CAAA,sBAAA,EAAA,MAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,iBAAA,CAAA;iGAGA,IAAI,EAAA,CAAA;sBADH,KAAK;uBAAC,sBAAsB,CAAA;gBAI7B,IAAI,EAAA,CAAA;sBADH,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAII,gBAAgB,EAAA,CAAA;sBADzB,WAAW;uBAAC,YAAY,CAAA;;;ACjB1B,MAIa,0BAA0B,CAAA;8GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAA1B,0BAA0B,EAAA,YAAA,EAAA,CAHvB,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAClC,6BAA6B,CAAA,EAAA,CAAA,CAAA,EAAA;+GAE3B,0BAA0B,EAAA,CAAA,CAAA,EAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,YAAY,EAAE,CAAC,6BAA6B,CAAC;oBAC7C,OAAO,EAAE,CAAC,6BAA6B,CAAC;AACxC,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-directives-code-highlighter.mjs","sources":["../../../../libs/app/directives/code-highlighter/code-highlighter.directive.ts","../../../../libs/app/directives/code-highlighter/code-highlighter.module.ts","../../../../libs/app/directives/code-highlighter/ng-doc-app-directives-code-highlighter.ts"],"sourcesContent":["import {Directive, ElementRef, HostBinding, Input, OnChanges} from '@angular/core';\nimport {HighlightResult} from 'highlight.js';\nimport highlight from 'highlight.js/lib/core';\nimport xml from 'highlight.js/lib/languages/xml';\n\nhighlight.registerLanguage('html', xml);\nhighlight.registerLanguage('xml', xml);\n\n@Directive({\n\tselector: 'code[ngDocCodeHighlighter]',\n})\nexport class NgDocCodeHighlighterDirective implements OnChanges {\n\t@Input('ngDocCodeHighlighter')\n\tcode: string = '';\n\n\t@Input()\n\thtml: string = '';\n\n\t@Input()\n\tlanguage: string = 'typescript';\n\n\t@HostBinding('class.hljs')\n\tprotected highlightJsClass: boolean = true;\n\n\tconstructor(private readonly elementRef: ElementRef<HTMLElement>) {}\n\n\tngOnChanges(): void {\n\t\tif (this.code) {\n\t\t\tconst result: HighlightResult = highlight.highlight(this.code, {language: this.language});\n\n\t\t\tthis.elementRef.nativeElement.innerHTML = result.value ?? this.html;\n\t\t} else {\n\t\t\tthis.elementRef.nativeElement.innerHTML = this.html;\n\t\t}\n\t}\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgDocCodeHighlighterDirective} from './code-highlighter.directive';\n\n@NgModule({\n\tdeclarations: [NgDocCodeHighlighterDirective],\n\texports: [NgDocCodeHighlighterDirective],\n})\nexport class NgDocCodeHighlighterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAKA,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACxC,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAEvC,MAGa,6BAA6B,CAAA;AAazC,IAAA,WAAA,CAA6B,UAAmC,EAAA;QAAnC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QAXhE,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;QAGlB,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;QAGlB,IAAQ,CAAA,QAAA,GAAW,YAAY,CAAC;QAGtB,IAAgB,CAAA,gBAAA,GAAY,IAAI,CAAC;KAEyB;IAEpE,WAAW,GAAA;QACV,IAAI,IAAI,CAAC,IAAI,EAAE;AACd,YAAA,MAAM,MAAM,GAAoB,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC,CAAC,CAAC;AAE1F,YAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC;AACpE,SAAA;AAAM,aAAA;YACN,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;AACpD,SAAA;KACD;8GAvBW,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA7B,6BAA6B,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,CAAA,sBAAA,EAAA,MAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,iBAAA,CAAA;iGAGA,IAAI,EAAA,CAAA;sBADH,KAAK;uBAAC,sBAAsB,CAAA;gBAI7B,IAAI,EAAA,CAAA;sBADH,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAII,gBAAgB,EAAA,CAAA;sBADzB,WAAW;uBAAC,YAAY,CAAA;;;ACjB1B,MAIa,0BAA0B,CAAA;8GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAA1B,0BAA0B,EAAA,YAAA,EAAA,CAHvB,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAClC,6BAA6B,CAAA,EAAA,CAAA,CAAA,EAAA;+GAE3B,0BAA0B,EAAA,CAAA,CAAA,EAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,YAAY,EAAE,CAAC,6BAA6B,CAAC;oBAC7C,OAAO,EAAE,CAAC,6BAA6B,CAAC;AACxC,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-doc/app",
3
- "version": "16.0.2",
3
+ "version": "16.1.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=16.0.0",
6
6
  "@angular/core": ">=16.0.0",
@@ -12,9 +12,10 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "tslib": "^2.3.0",
15
- "@ng-doc/core": "16.0.2",
16
- "@ng-doc/ui-kit": "16.0.2",
17
- "@orama/plugin-match-highlight": "1.0.0-beta.7",
15
+ "@ng-doc/core": "16.1.0",
16
+ "@ng-doc/ui-kit": "16.1.0",
17
+ "@orama/plugin-match-highlight": "1.0.0-beta.16",
18
+ "@orama/stemmers": "^1.0.0-beta.16",
18
19
  "highlight.js": "11.5.1",
19
20
  "js-beautify": "1.14.7"
20
21
  },
package/styles/global.css CHANGED
@@ -1,4 +1,4 @@
1
- @import '~@angular/cdk/overlay-prebuilt.css';
1
+ @import '@angular/cdk/overlay-prebuilt.css';
2
2
  @import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700;1,800;1,900&family=Nunito:ital,wght@0,700;0,800;0,900;1,700;1,800;1,900&display=swap");
3
3
  @import url("https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@300;400;500;600&display=swap");
4
4
  @import 'highlight.js/styles/github.css';
package/styles/main.css CHANGED
@@ -1,4 +1,4 @@
1
- @import '~@angular/cdk/overlay-prebuilt.css';
1
+ @import '@angular/cdk/overlay-prebuilt.css';
2
2
  @import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700;1,800;1,900&family=Nunito:ital,wght@0,700;0,800;0,900;1,700;1,800;1,900&display=swap");
3
3
  @import url("https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@300;400;500;600&display=swap");
4
4
  @import 'highlight.js/styles/github.css';