@ng-doc/app 20.0.0-beta.1 → 20.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ng-doc-app-classes-default-search-engine.mjs.map +1 -1
- package/fesm2022/ng-doc-app-classes-root-page.mjs.map +1 -1
- package/fesm2022/ng-doc-app-classes-search-engine.mjs.map +1 -1
- package/fesm2022/ng-doc-app-classes.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-api-list.mjs +14 -12
- package/fesm2022/ng-doc-app-components-api-list.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-breadcrumb.mjs +3 -3
- package/fesm2022/ng-doc-app-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-code.mjs +3 -3
- package/fesm2022/ng-doc-app-components-code.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-copy-button.mjs +8 -12
- package/fesm2022/ng-doc-app-components-copy-button.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-demo-displayer.mjs +5 -6
- package/fesm2022/ng-doc-app-components-demo-displayer.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-demo-pane.mjs +4 -4
- package/fesm2022/ng-doc-app-components-demo-pane.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-demo.mjs +3 -3
- package/fesm2022/ng-doc-app-components-demo.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-fullscreen-button.mjs +3 -3
- package/fesm2022/ng-doc-app-components-fullscreen-button.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-heading-anchor.mjs +5 -5
- package/fesm2022/ng-doc-app-components-heading-anchor.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-image-viewer.mjs +69 -32
- package/fesm2022/ng-doc-app-components-image-viewer.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-kind-icon.mjs +3 -3
- package/fesm2022/ng-doc-app-components-kind-icon.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-link.mjs +3 -3
- package/fesm2022/ng-doc-app-components-link.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-mermaid-viewer.mjs +8 -8
- package/fesm2022/ng-doc-app-components-mermaid-viewer.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-navbar.mjs +6 -6
- package/fesm2022/ng-doc-app-components-navbar.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page-header.mjs +3 -3
- package/fesm2022/ng-doc-app-components-page-header.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page-link.mjs +5 -5
- package/fesm2022/ng-doc-app-components-page-link.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page-navigation.mjs +3 -3
- package/fesm2022/ng-doc-app-components-page-navigation.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page-wrapper.mjs +4 -4
- package/fesm2022/ng-doc-app-components-page-wrapper.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page.mjs +3 -3
- package/fesm2022/ng-doc-app-components-page.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-playground.mjs +17 -17
- package/fesm2022/ng-doc-app-components-playground.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-root.mjs +9 -9
- package/fesm2022/ng-doc-app-components-root.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-search-dialog.mjs +11 -11
- package/fesm2022/ng-doc-app-components-search-dialog.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-search-result.mjs +3 -3
- package/fesm2022/ng-doc-app-components-search-result.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-search.mjs +4 -4
- package/fesm2022/ng-doc-app-components-search.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-sidebar.mjs +13 -13
- package/fesm2022/ng-doc-app-components-sidebar.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-tabs.mjs +4 -4
- package/fesm2022/ng-doc-app-components-tabs.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-theme-toggle.mjs +5 -10
- package/fesm2022/ng-doc-app-components-theme-toggle.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-toc.mjs +8 -8
- package/fesm2022/ng-doc-app-components-toc.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components.mjs.map +1 -1
- package/fesm2022/ng-doc-app-constants.mjs.map +1 -1
- package/fesm2022/ng-doc-app-defaults-default-processors.mjs.map +1 -1
- package/fesm2022/ng-doc-app-defaults-default-skeleton.mjs.map +1 -1
- package/fesm2022/ng-doc-app-defaults.mjs.map +1 -1
- package/fesm2022/ng-doc-app-directives-code-highlighter.mjs +6 -6
- package/fesm2022/ng-doc-app-directives-code-highlighter.mjs.map +1 -1
- package/fesm2022/ng-doc-app-directives-route-active.mjs +3 -3
- package/fesm2022/ng-doc-app-directives-route-active.mjs.map +1 -1
- package/fesm2022/ng-doc-app-directives.mjs.map +1 -1
- package/fesm2022/ng-doc-app-helpers.mjs.map +1 -1
- package/fesm2022/ng-doc-app-interfaces.mjs.map +1 -1
- package/fesm2022/ng-doc-app-pipes-decode-uri-component.mjs +3 -3
- package/fesm2022/ng-doc-app-pipes-decode-uri-component.mjs.map +1 -1
- package/fesm2022/ng-doc-app-pipes-extract-value.mjs +3 -3
- package/fesm2022/ng-doc-app-pipes-extract-value.mjs.map +1 -1
- package/fesm2022/ng-doc-app-pipes-filter-by-text.mjs +3 -3
- package/fesm2022/ng-doc-app-pipes-filter-by-text.mjs.map +1 -1
- package/fesm2022/ng-doc-app-pipes-sanitize-html.mjs +3 -3
- package/fesm2022/ng-doc-app-pipes-sanitize-html.mjs.map +1 -1
- package/fesm2022/ng-doc-app-pipes.mjs.map +1 -1
- package/fesm2022/ng-doc-app-processors-page-processor.mjs +3 -3
- package/fesm2022/ng-doc-app-processors-page-processor.mjs.map +1 -1
- package/fesm2022/ng-doc-app-processors-processors-link.mjs.map +1 -1
- package/fesm2022/ng-doc-app-processors-processors-tooltip.mjs +3 -3
- package/fesm2022/ng-doc-app-processors-processors-tooltip.mjs.map +1 -1
- package/fesm2022/ng-doc-app-processors-processors.mjs.map +1 -1
- package/fesm2022/ng-doc-app-processors.mjs.map +1 -1
- package/fesm2022/ng-doc-app-providers-mermaid.mjs.map +1 -1
- package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs.map +1 -1
- package/fesm2022/ng-doc-app-providers-page-skeleton.mjs.map +1 -1
- package/fesm2022/ng-doc-app-providers-playground-demo.mjs.map +1 -1
- package/fesm2022/ng-doc-app-providers-search-engine.mjs.map +1 -1
- package/fesm2022/ng-doc-app-providers-type-control.mjs.map +1 -1
- package/fesm2022/ng-doc-app-providers.mjs.map +1 -1
- package/fesm2022/ng-doc-app-services-highlighter.mjs +9 -6
- package/fesm2022/ng-doc-app-services-highlighter.mjs.map +1 -1
- package/fesm2022/ng-doc-app-services-sidebar.mjs +5 -5
- package/fesm2022/ng-doc-app-services-sidebar.mjs.map +1 -1
- package/fesm2022/ng-doc-app-services-store.mjs +5 -5
- package/fesm2022/ng-doc-app-services-store.mjs.map +1 -1
- package/fesm2022/ng-doc-app-services-theme.mjs +3 -3
- package/fesm2022/ng-doc-app-services-theme.mjs.map +1 -1
- package/fesm2022/ng-doc-app-services.mjs.map +1 -1
- package/fesm2022/ng-doc-app-tokens.mjs.map +1 -1
- package/fesm2022/ng-doc-app-type-controls-boolean-control.mjs +3 -3
- package/fesm2022/ng-doc-app-type-controls-boolean-control.mjs.map +1 -1
- package/fesm2022/ng-doc-app-type-controls-number-control.mjs +3 -3
- package/fesm2022/ng-doc-app-type-controls-number-control.mjs.map +1 -1
- package/fesm2022/ng-doc-app-type-controls-string-control.mjs +3 -3
- package/fesm2022/ng-doc-app-type-controls-string-control.mjs.map +1 -1
- package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs +3 -3
- package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs.map +1 -1
- package/fesm2022/ng-doc-app-type-controls.mjs.map +1 -1
- package/fesm2022/ng-doc-app-types.mjs.map +1 -1
- package/fesm2022/ng-doc-app.mjs.map +1 -1
- package/package.json +135 -135
- package/{classes/default-search-engine/index.d.ts → types/ng-doc-app-classes-default-search-engine.d.ts} +3 -3
- package/{components/api-list/index.d.ts → types/ng-doc-app-components-api-list.d.ts} +1 -0
- package/{components/image-viewer/index.d.ts → types/ng-doc-app-components-image-viewer.d.ts} +1 -0
- package/{services/highlighter/index.d.ts → types/ng-doc-app-services-highlighter.d.ts} +1 -2
- /package/{classes/root-page/index.d.ts → types/ng-doc-app-classes-root-page.d.ts} +0 -0
- /package/{classes/search-engine/index.d.ts → types/ng-doc-app-classes-search-engine.d.ts} +0 -0
- /package/{classes/index.d.ts → types/ng-doc-app-classes.d.ts} +0 -0
- /package/{components/breadcrumb/index.d.ts → types/ng-doc-app-components-breadcrumb.d.ts} +0 -0
- /package/{components/code/index.d.ts → types/ng-doc-app-components-code.d.ts} +0 -0
- /package/{components/copy-button/index.d.ts → types/ng-doc-app-components-copy-button.d.ts} +0 -0
- /package/{components/demo-displayer/index.d.ts → types/ng-doc-app-components-demo-displayer.d.ts} +0 -0
- /package/{components/demo-pane/index.d.ts → types/ng-doc-app-components-demo-pane.d.ts} +0 -0
- /package/{components/demo/index.d.ts → types/ng-doc-app-components-demo.d.ts} +0 -0
- /package/{components/fullscreen-button/index.d.ts → types/ng-doc-app-components-fullscreen-button.d.ts} +0 -0
- /package/{components/heading-anchor/index.d.ts → types/ng-doc-app-components-heading-anchor.d.ts} +0 -0
- /package/{components/kind-icon/index.d.ts → types/ng-doc-app-components-kind-icon.d.ts} +0 -0
- /package/{components/link/index.d.ts → types/ng-doc-app-components-link.d.ts} +0 -0
- /package/{components/mermaid-viewer/index.d.ts → types/ng-doc-app-components-mermaid-viewer.d.ts} +0 -0
- /package/{components/navbar/index.d.ts → types/ng-doc-app-components-navbar.d.ts} +0 -0
- /package/{components/page-header/index.d.ts → types/ng-doc-app-components-page-header.d.ts} +0 -0
- /package/{components/page-link/index.d.ts → types/ng-doc-app-components-page-link.d.ts} +0 -0
- /package/{components/page-navigation/index.d.ts → types/ng-doc-app-components-page-navigation.d.ts} +0 -0
- /package/{components/page-wrapper/index.d.ts → types/ng-doc-app-components-page-wrapper.d.ts} +0 -0
- /package/{components/page/index.d.ts → types/ng-doc-app-components-page.d.ts} +0 -0
- /package/{components/playground/index.d.ts → types/ng-doc-app-components-playground.d.ts} +0 -0
- /package/{components/root/index.d.ts → types/ng-doc-app-components-root.d.ts} +0 -0
- /package/{components/search-dialog/index.d.ts → types/ng-doc-app-components-search-dialog.d.ts} +0 -0
- /package/{components/search-result/index.d.ts → types/ng-doc-app-components-search-result.d.ts} +0 -0
- /package/{components/search/index.d.ts → types/ng-doc-app-components-search.d.ts} +0 -0
- /package/{components/sidebar/index.d.ts → types/ng-doc-app-components-sidebar.d.ts} +0 -0
- /package/{components/tabs/index.d.ts → types/ng-doc-app-components-tabs.d.ts} +0 -0
- /package/{components/theme-toggle/index.d.ts → types/ng-doc-app-components-theme-toggle.d.ts} +0 -0
- /package/{components/toc/index.d.ts → types/ng-doc-app-components-toc.d.ts} +0 -0
- /package/{components/index.d.ts → types/ng-doc-app-components.d.ts} +0 -0
- /package/{constants/index.d.ts → types/ng-doc-app-constants.d.ts} +0 -0
- /package/{defaults/default-processors/index.d.ts → types/ng-doc-app-defaults-default-processors.d.ts} +0 -0
- /package/{defaults/default-skeleton/index.d.ts → types/ng-doc-app-defaults-default-skeleton.d.ts} +0 -0
- /package/{defaults/index.d.ts → types/ng-doc-app-defaults.d.ts} +0 -0
- /package/{directives/code-highlighter/index.d.ts → types/ng-doc-app-directives-code-highlighter.d.ts} +0 -0
- /package/{directives/route-active/index.d.ts → types/ng-doc-app-directives-route-active.d.ts} +0 -0
- /package/{directives/index.d.ts → types/ng-doc-app-directives.d.ts} +0 -0
- /package/{helpers/index.d.ts → types/ng-doc-app-helpers.d.ts} +0 -0
- /package/{interfaces/index.d.ts → types/ng-doc-app-interfaces.d.ts} +0 -0
- /package/{pipes/decode-uri-component/index.d.ts → types/ng-doc-app-pipes-decode-uri-component.d.ts} +0 -0
- /package/{pipes/extract-value/index.d.ts → types/ng-doc-app-pipes-extract-value.d.ts} +0 -0
- /package/{pipes/filter-by-text/index.d.ts → types/ng-doc-app-pipes-filter-by-text.d.ts} +0 -0
- /package/{pipes/sanitize-html/index.d.ts → types/ng-doc-app-pipes-sanitize-html.d.ts} +0 -0
- /package/{pipes/index.d.ts → types/ng-doc-app-pipes.d.ts} +0 -0
- /package/{processors/page-processor/index.d.ts → types/ng-doc-app-processors-page-processor.d.ts} +0 -0
- /package/{processors/processors/link/index.d.ts → types/ng-doc-app-processors-processors-link.d.ts} +0 -0
- /package/{processors/processors/tooltip/index.d.ts → types/ng-doc-app-processors-processors-tooltip.d.ts} +0 -0
- /package/{processors/processors/index.d.ts → types/ng-doc-app-processors-processors.d.ts} +0 -0
- /package/{processors/index.d.ts → types/ng-doc-app-processors.d.ts} +0 -0
- /package/{providers/mermaid/index.d.ts → types/ng-doc-app-providers-mermaid.d.ts} +0 -0
- /package/{providers/ng-doc-app/index.d.ts → types/ng-doc-app-providers-ng-doc-app.d.ts} +0 -0
- /package/{providers/page-skeleton/index.d.ts → types/ng-doc-app-providers-page-skeleton.d.ts} +0 -0
- /package/{providers/playground-demo/index.d.ts → types/ng-doc-app-providers-playground-demo.d.ts} +0 -0
- /package/{providers/search-engine/index.d.ts → types/ng-doc-app-providers-search-engine.d.ts} +0 -0
- /package/{providers/type-control/index.d.ts → types/ng-doc-app-providers-type-control.d.ts} +0 -0
- /package/{providers/index.d.ts → types/ng-doc-app-providers.d.ts} +0 -0
- /package/{services/sidebar/index.d.ts → types/ng-doc-app-services-sidebar.d.ts} +0 -0
- /package/{services/store/index.d.ts → types/ng-doc-app-services-store.d.ts} +0 -0
- /package/{services/theme/index.d.ts → types/ng-doc-app-services-theme.d.ts} +0 -0
- /package/{services/index.d.ts → types/ng-doc-app-services.d.ts} +0 -0
- /package/{tokens/index.d.ts → types/ng-doc-app-tokens.d.ts} +0 -0
- /package/{type-controls/boolean-control/index.d.ts → types/ng-doc-app-type-controls-boolean-control.d.ts} +0 -0
- /package/{type-controls/number-control/index.d.ts → types/ng-doc-app-type-controls-number-control.d.ts} +0 -0
- /package/{type-controls/string-control/index.d.ts → types/ng-doc-app-type-controls-string-control.d.ts} +0 -0
- /package/{type-controls/type-alias-control/index.d.ts → types/ng-doc-app-type-controls-type-alias-control.d.ts} +0 -0
- /package/{type-controls/index.d.ts → types/ng-doc-app-type-controls.d.ts} +0 -0
- /package/types/{index.d.ts → ng-doc-app-types.d.ts} +0 -0
- /package/{index.d.ts → types/ng-doc-app.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-doc-app-classes-default-search-engine.mjs","sources":["../tmp-esm2022/classes/default-search-engine/default-search-engine.js","../tmp-esm2022/classes/default-search-engine/ng-doc-app-classes-default-search-engine.js"],"sourcesContent":["import { NgDocSearchEngine } from '@ng-doc/app/classes/search-engine';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { objectKeys } from '@ng-doc/core/helpers/object-keys';\nimport { create, insertMultiple } from '@orama/orama';\nimport { afterInsert, searchWithHighlight, } from '@orama/plugin-match-highlight';\nimport { from } from 'rxjs';\nimport { map, shareReplay, switchMap } from 'rxjs/operators';\n/**\n * Search engine for the documentation, it loads the index and provides a search method.\n */\nexport class NgDocDefaultSearchEngine extends NgDocSearchEngine {\n constructor(options) {\n super();\n this.options = options;\n this.db$ = from(create({\n schema: {\n title: 'string',\n section: 'string',\n content: 'string',\n },\n plugins: [\n {\n name: 'highlight',\n afterInsert,\n },\n ],\n components: {\n tokenizer: {\n stemmer: options?.stemmer,\n },\n },\n })).pipe(switchMap((db) => this.request(`assets/ng-doc/indexes.json`).pipe(switchMap((pages) => insertMultiple(db, pages)), map(() => db))), shareReplay(1));\n }\n /**\n * Search the documentation for the given query.\n * @param query The query to search for.\n */\n search(query) {\n return this.db$.pipe(switchMap((db) => searchWithHighlight(db, {\n term: query,\n boost: { title: 4, section: 2 },\n threshold: 0.3,\n properties: ['title', 'section', 'content'],\n tolerance: this.options?.tolerance,\n exact: this.options?.exact,\n limit: this.options?.limit ?? 10,\n })), map((result) => result.hits.map((hit) => {\n const keys = objectKeys(hit.positions);\n return {\n index: hit.document,\n positions: keys.reduce((acc, key) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n acc[key] = [...asArray(acc[key]), ...Object.values(hit.positions[key]).flat()];\n return acc;\n }, {}),\n };\n })));\n }\n request(url) {\n return from(fetch(url)).pipe(switchMap((response) => response.json()));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zZWFyY2gtZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY2xhc3Nlcy9kZWZhdWx0LXNlYXJjaC1lbmdpbmUvZGVmYXVsdC1zZWFyY2gtZW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQVMsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUNMLFdBQVcsRUFFWCxtQkFBbUIsR0FDcEIsTUFBTSwrQkFBK0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBaUM3RDs7R0FFRztBQUNILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxpQkFBaUI7SUFHN0QsWUFBb0IsT0FBeUM7UUFDM0QsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFrQztRQUczRCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FDYixNQUFNLENBQUM7WUFDTCxNQUFNLEVBQUU7Z0JBQ04sS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLE9BQU8sRUFBRSxRQUFRO2FBQ2xCO1lBQ0QsT0FBTyxFQUFFO2dCQUNQO29CQUNFLElBQUksRUFBRSxXQUFXO29CQUNqQixXQUFXO2lCQUNaO2FBQ0Y7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsU0FBUyxFQUFFO29CQUNULE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTztpQkFDMUI7YUFDRjtTQUNGLENBQUMsQ0FDSCxDQUFDLElBQUksQ0FDSixTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUNmLElBQUksQ0FBQyxPQUFPLENBQW1CLDRCQUE0QixDQUFDLENBQUMsSUFBSSxDQUMvRCxTQUFTLENBQUMsQ0FBQyxLQUF1QixFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLEtBQVksQ0FBQyxDQUFDLEVBQ3hFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUF3QixDQUFDLENBQ3BDLENBQ0YsRUFDRCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ1EsQ0FBQztJQUMzQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEtBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FDbEIsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FDZixtQkFBbUIsQ0FBQyxFQUFFLEVBQUU7WUFDdEIsSUFBSSxFQUFFLEtBQUs7WUFDWCxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7WUFDL0IsU0FBUyxFQUFFLEdBQUc7WUFDZCxVQUFVLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQztZQUMzQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTO1lBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUs7WUFDMUIsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxJQUFJLEVBQUU7U0FDakMsQ0FBQyxDQUNILEVBQ0QsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDYixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3RCLE1BQU0sSUFBSSxHQUFnQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FFakUsQ0FBQztZQUVGLE9BQU87Z0JBQ0wsS0FBSyxFQUFFLEdBQUcsQ0FBQyxRQUFxQztnQkFDaEQsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQ3BCLENBQ0UsR0FBMkQsRUFDM0QsR0FBeUIsRUFDekIsRUFBRTtvQkFDRiw2REFBNkQ7b0JBQzdELGFBQWE7b0JBQ2IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO29CQUUvRSxPQUFPLEdBQUcsQ0FBQztnQkFDYixDQUFDLEVBQ0QsRUFBUyxDQUN5RDthQUNyRSxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLE9BQU8sQ0FBSSxHQUFXO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFnQixDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0RvY1NlYXJjaEVuZ2luZSB9IGZyb20gJ0BuZy1kb2MvYXBwL2NsYXNzZXMvc2VhcmNoLWVuZ2luZSc7XG5pbXBvcnQgeyBOZ0RvY1NlYXJjaFJlc3VsdCB9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgYXNBcnJheSB9IGZyb20gJ0BuZy1kb2MvY29yZS9oZWxwZXJzL2FzLWFycmF5JztcbmltcG9ydCB7IG9iamVjdEtleXMgfSBmcm9tICdAbmctZG9jL2NvcmUvaGVscGVycy9vYmplY3Qta2V5cyc7XG5pbXBvcnQgeyBOZ0RvY1BhZ2VJbmRleCB9IGZyb20gJ0BuZy1kb2MvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5nRG9jSGlnaGxpZ2h0UG9zaXRpb24gfSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5pbXBvcnQgeyBjcmVhdGUsIGluc2VydE11bHRpcGxlLCBPcmFtYSB9IGZyb20gJ0BvcmFtYS9vcmFtYSc7XG5pbXBvcnQge1xuICBhZnRlckluc2VydCxcbiAgT3JhbWFXaXRoSGlnaGxpZ2h0LFxuICBzZWFyY2hXaXRoSGlnaGxpZ2h0LFxufSBmcm9tICdAb3JhbWEvcGx1Z2luLW1hdGNoLWhpZ2hsaWdodCc7XG5pbXBvcnQgKiBhcyBzdGVtbWVyIGZyb20gJ0BvcmFtYS9zdGVtbWVycyc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbnR5cGUgT3JhbWFEYiA9IE9yYW1hV2l0aEhpZ2hsaWdodDxcbiAgT3JhbWE8e1xuICAgIHRpdGxlOiAnc3RyaW5nJztcbiAgICBzZWN0aW9uOiAnc3RyaW5nJztcbiAgICBjb250ZW50OiAnc3RyaW5nJztcbiAgfT5cbj47XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIGBOZ0RvY0RlZmF1bHRTZWFyY2hFbmdpbmVgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5nRG9jRGVmYXVsdFNlYXJjaEVuZ2luZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGxhbmd1YWdlIHRvIHVzZSBmb3IgdGhlIHNlYXJjaCBlbmdpbmUuXG4gICAqL1xuICBzdGVtbWVyPzogdHlwZW9mIHN0ZW1tZXIuc3RlbW1lcjtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbWF4aW11bSBkaXN0YW5jZSAoZm9sbG93aW5nIHRoZSBMZXZlbnNodGVpbiBhbGdvcml0aG0pIGJldHdlZW4gdGhlIHRlcm0gYW5kIHRoZSBzZWFyY2hhYmxlIHByb3BlcnR5LlxuICAgKiAoZG9lc24ndCB3b3JrIHdpdGggYGV4YWN0YCBvcHRpb24pXG4gICAqL1xuICB0b2xlcmFuY2U/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIGZpbmRzIGFsbCB0aGUgZG9jdW1lbnQgd2l0aCBhbiBleGFjdCBtYXRjaCBvZiB0aGUgdGVybSBwcm9wZXJ0eS5cbiAgICovXG4gIGV4YWN0PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE51bWJlciBvZiByZXN1bHRzIHRvIHJldHVybiAoZGVmYXVsdDogMTApLlxuICAgKi9cbiAgbGltaXQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogU2VhcmNoIGVuZ2luZSBmb3IgdGhlIGRvY3VtZW50YXRpb24sIGl0IGxvYWRzIHRoZSBpbmRleCBhbmQgcHJvdmlkZXMgYSBzZWFyY2ggbWV0aG9kLlxuICovXG5leHBvcnQgY2xhc3MgTmdEb2NEZWZhdWx0U2VhcmNoRW5naW5lIGV4dGVuZHMgTmdEb2NTZWFyY2hFbmdpbmUge1xuICBwcml2YXRlIGRiJDogT2JzZXJ2YWJsZTxPcmFtYURiPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG9wdGlvbnM/OiBOZ0RvY0RlZmF1bHRTZWFyY2hFbmdpbmVPcHRpb25zKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuZGIkID0gZnJvbShcbiAgICAgIGNyZWF0ZSh7XG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIHRpdGxlOiAnc3RyaW5nJyxcbiAgICAgICAgICBzZWN0aW9uOiAnc3RyaW5nJyxcbiAgICAgICAgICBjb250ZW50OiAnc3RyaW5nJyxcbiAgICAgICAgfSxcbiAgICAgICAgcGx1Z2luczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdoaWdobGlnaHQnLFxuICAgICAgICAgICAgYWZ0ZXJJbnNlcnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgIHRva2VuaXplcjoge1xuICAgICAgICAgICAgc3RlbW1lcjogb3B0aW9ucz8uc3RlbW1lcixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChkYikgPT5cbiAgICAgICAgdGhpcy5yZXF1ZXN0PE5nRG9jUGFnZUluZGV4W10+KGBhc3NldHMvbmctZG9jL2luZGV4ZXMuanNvbmApLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKChwYWdlczogTmdEb2NQYWdlSW5kZXhbXSkgPT4gaW5zZXJ0TXVsdGlwbGUoZGIsIHBhZ2VzIGFzIGFueSkpLFxuICAgICAgICAgIG1hcCgoKSA9PiBkYiBhcyB1bmtub3duIGFzIE9yYW1hRGIpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICkgYXMgT2JzZXJ2YWJsZTxPcmFtYURiPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2ggdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBnaXZlbiBxdWVyeS5cbiAgICogQHBhcmFtIHF1ZXJ5IFRoZSBxdWVyeSB0byBzZWFyY2ggZm9yLlxuICAgKi9cbiAgc2VhcmNoKHF1ZXJ5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPE5nRG9jU2VhcmNoUmVzdWx0W10+IHtcbiAgICByZXR1cm4gdGhpcy5kYiQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoZGIpID0+XG4gICAgICAgIHNlYXJjaFdpdGhIaWdobGlnaHQoZGIsIHtcbiAgICAgICAgICB0ZXJtOiBxdWVyeSxcbiAgICAgICAgICBib29zdDogeyB0aXRsZTogNCwgc2VjdGlvbjogMiB9LFxuICAgICAgICAgIHRocmVzaG9sZDogMC4zLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFsndGl0bGUnLCAnc2VjdGlvbicsICdjb250ZW50J10sXG4gICAgICAgICAgdG9sZXJhbmNlOiB0aGlzLm9wdGlvbnM/LnRvbGVyYW5jZSxcbiAgICAgICAgICBleGFjdDogdGhpcy5vcHRpb25zPy5leGFjdCxcbiAgICAgICAgICBsaW1pdDogdGhpcy5vcHRpb25zPy5saW1pdCA/PyAxMCxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICAgbWFwKChyZXN1bHQpID0+XG4gICAgICAgIHJlc3VsdC5oaXRzLm1hcCgoaGl0KSA9PiB7XG4gICAgICAgICAgY29uc3Qga2V5czogQXJyYXk8a2V5b2YgTmdEb2NQYWdlSW5kZXg+ID0gb2JqZWN0S2V5cyhoaXQucG9zaXRpb25zKSBhcyB1bmtub3duIGFzIEFycmF5PFxuICAgICAgICAgICAga2V5b2YgTmdEb2NQYWdlSW5kZXhcbiAgICAgICAgICA+O1xuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGluZGV4OiBoaXQuZG9jdW1lbnQgYXMgdW5rbm93biBhcyBOZ0RvY1BhZ2VJbmRleCxcbiAgICAgICAgICAgIHBvc2l0aW9uczoga2V5cy5yZWR1Y2UoXG4gICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICBhY2M6IFJlY29yZDxrZXlvZiBOZ0RvY1BhZ2VJbmRleCwgTmdEb2NIaWdobGlnaHRQb3NpdGlvbltdPixcbiAgICAgICAgICAgICAgICBrZXk6IGtleW9mIE5nRG9jUGFnZUluZGV4LFxuICAgICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIGFjY1trZXldID0gWy4uLmFzQXJyYXkoYWNjW2tleV0pLCAuLi5PYmplY3QudmFsdWVzKGhpdC5wb3NpdGlvbnNba2V5XSkuZmxhdCgpXTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHt9IGFzIGFueSxcbiAgICAgICAgICAgICkgYXMgUGFydGlhbDxSZWNvcmQ8a2V5b2YgTmdEb2NQYWdlSW5kZXgsIE5nRG9jSGlnaGxpZ2h0UG9zaXRpb25bXT4+LFxuICAgICAgICAgIH07XG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZXF1ZXN0PFQ+KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIGZyb20oZmV0Y2godXJsKSkucGlwZShzd2l0Y2hNYXAoKHJlc3BvbnNlOiBSZXNwb25zZSkgPT4gcmVzcG9uc2UuanNvbigpIGFzIFByb21pc2U8VD4pKTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZG9jLWFwcC1jbGFzc2VzLWRlZmF1bHQtc2VhcmNoLWVuZ2luZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NsYXNzZXMvZGVmYXVsdC1zZWFyY2gtZW5naW5lL25nLWRvYy1hcHAtY2xhc3Nlcy1kZWZhdWx0LXNlYXJjaC1lbmdpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":";;;;;;;;AAOA;AACA;AACA;AACO,MAAM,wBAAwB,SAAS,iBAAiB,CAAC;AAChE,IAAI,WAAW,CAAC,OAAO,EAAE;AACzB,QAAQ,KAAK,EAAE;AACf,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO;AAC9B,QAAQ,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AAC/B,YAAY,MAAM,EAAE;AACpB,gBAAgB,KAAK,EAAE,QAAQ;AAC/B,gBAAgB,OAAO,EAAE,QAAQ;AACjC,gBAAgB,OAAO,EAAE,QAAQ;AACjC,aAAa;AACb,YAAY,OAAO,EAAE;AACrB,gBAAgB;AAChB,oBAAoB,IAAI,EAAE,WAAW;AACrC,oBAAoB,WAAW;AAC/B,iBAAiB;AACjB,aAAa;AACb,YAAY,UAAU,EAAE;AACxB,gBAAgB,SAAS,EAAE;AAC3B,oBAAoB,OAAO,EAAE,OAAO,EAAE,OAAO;AAC7C,iBAAiB;AACjB,aAAa;AACb,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;AACpK;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,KAAK,EAAE;AAClB,QAAQ,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,mBAAmB,CAAC,EAAE,EAAE;AACvE,YAAY,IAAI,EAAE,KAAK;AACvB,YAAY,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;AAC3C,YAAY,SAAS,EAAE,GAAG;AAC1B,YAAY,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;AACvD,YAAY,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS;AAC9C,YAAY,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK;AACtC,YAAY,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;AAC5C,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK;AACtD,YAAY,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;AAClD,YAAY,OAAO;AACnB,gBAAgB,KAAK,EAAE,GAAG,CAAC,QAAQ;AACnC,gBAAgB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AACrD;AACA;AACA,oBAAoB,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;AAClG,oBAAoB,OAAO,GAAG;AAC9B,iBAAiB,EAAE,EAAE,CAAC;AACtB,aAAa;AACb,SAAS,CAAC,CAAC,CAAC;AACZ;AACA,IAAI,OAAO,CAAC,GAAG,EAAE;AACjB,QAAQ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9E;AACA;;AC9DA;AACA;AACA;;;;"}
|
|
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 {\n afterInsert,\n OramaWithHighlight,\n searchWithHighlight,\n} from '@orama/plugin-match-highlight';\nimport { stemmer } from '@orama/stemmers/english';\nimport { from, Observable } from 'rxjs';\nimport { map, shareReplay, switchMap } from 'rxjs/operators';\n\ntype OramaDb = OramaWithHighlight<\n Orama<{\n title: 'string';\n section: 'string';\n content: 'string';\n }>\n>;\n\n/**\n * Options for the `NgDocDefaultSearchEngine`.\n */\nexport interface NgDocDefaultSearchEngineOptions {\n /**\n * The language to use for the search engine. See https://www.npmjs.com/package/@orama/stemmers for available languages\n */\n stemmer?: typeof stemmer;\n /**\n * Specifies the maximum distance (following the Levenshtein algorithm) between the term and the searchable property.\n * (doesn't work with `exact` option)\n */\n tolerance?: number;\n /**\n * If `true`, finds all the document with an exact match of the term property.\n */\n exact?: boolean;\n /**\n * Number of results to return (default: 10).\n */\n limit?: number;\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 private db$: Observable<OramaDb>;\n\n constructor(private options?: NgDocDefaultSearchEngineOptions) {\n super();\n\n this.db$ = from(\n create({\n schema: {\n title: 'string',\n section: 'string',\n content: 'string',\n },\n plugins: [\n {\n name: 'highlight',\n afterInsert,\n },\n ],\n components: {\n tokenizer: {\n stemmer: options?.stemmer,\n },\n },\n }),\n ).pipe(\n switchMap((db) =>\n this.request<NgDocPageIndex[]>(`assets/ng-doc/indexes.json`).pipe(\n switchMap((pages: NgDocPageIndex[]) => insertMultiple(db, pages as any)),\n map(() => db as unknown as OramaDb),\n ),\n ),\n shareReplay(1),\n ) as Observable<OramaDb>;\n }\n\n /**\n * Search the documentation for the given query.\n * @param query The query to search for.\n */\n search(query: string): Observable<NgDocSearchResult[]> {\n return this.db$.pipe(\n switchMap((db) =>\n searchWithHighlight(db, {\n term: query,\n boost: { title: 4, section: 2 },\n threshold: 0.3,\n properties: ['title', 'section', 'content'],\n tolerance: this.options?.tolerance,\n exact: this.options?.exact,\n limit: this.options?.limit ?? 10,\n }),\n ),\n map((result) =>\n result.hits.map((hit) => {\n const keys: Array<keyof NgDocPageIndex> = objectKeys(hit.positions) as unknown as Array<\n keyof NgDocPageIndex\n >;\n\n return {\n index: hit.document as unknown as NgDocPageIndex,\n positions: keys.reduce(\n (\n acc: Record<keyof NgDocPageIndex, NgDocHighlightPosition[]>,\n key: keyof NgDocPageIndex,\n ) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n acc[key] = [...asArray(acc[key]), ...Object.values(hit.positions[key]).flat()];\n\n return acc;\n },\n {} as any,\n ) as Partial<Record<keyof NgDocPageIndex, NgDocHighlightPosition[]>>,\n };\n }),\n ),\n );\n }\n\n private request<T>(url: string): Observable<T> {\n return from(fetch(url)).pipe(switchMap((response: Response) => response.json() as Promise<T>));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AA+CA;;AAEG;AACG,MAAO,wBAAyB,SAAQ,iBAAiB,CAAA;AAG7D,IAAA,WAAA,CAAoB,OAAyC,EAAA;AAC3D,QAAA,KAAK,EAAE;QADW,IAAA,CAAA,OAAO,GAAP,OAAO;AAGzB,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CACb,MAAM,CAAC;AACL,YAAA,MAAM,EAAE;AACN,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,OAAO,EAAE,QAAQ;AAClB,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA;AACE,oBAAA,IAAI,EAAE,WAAW;oBACjB,WAAW;AACZ,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,SAAS,EAAE;oBACT,OAAO,EAAE,OAAO,EAAE,OAAO;AAC1B,iBAAA;AACF,aAAA;SACF,CAAC,CACH,CAAC,IAAI,CACJ,SAAS,CAAC,CAAC,EAAE,KACX,IAAI,CAAC,OAAO,CAAmB,CAAA,0BAAA,CAA4B,CAAC,CAAC,IAAI,CAC/D,SAAS,CAAC,CAAC,KAAuB,KAAK,cAAc,CAAC,EAAE,EAAE,KAAY,CAAC,CAAC,EACxE,GAAG,CAAC,MAAM,EAAwB,CAAC,CACpC,CACF,EACD,WAAW,CAAC,CAAC,CAAC,CACQ;IAC1B;AAEA;;;AAGG;AACH,IAAA,MAAM,CAAC,KAAa,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAClB,SAAS,CAAC,CAAC,EAAE,KACX,mBAAmB,CAAC,EAAE,EAAE;AACtB,YAAA,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;AAC/B,YAAA,SAAS,EAAE,GAAG;AACd,YAAA,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;AAC3C,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;AACjC,SAAA,CAAC,CACH,EACD,GAAG,CAAC,CAAC,MAAM,KACT,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAI;YACtB,MAAM,IAAI,GAAgC,UAAU,CAAC,GAAG,CAAC,SAAS,CAEjE;YAED,OAAO;gBACL,KAAK,EAAE,GAAG,CAAC,QAAqC;gBAChD,SAAS,EAAE,IAAI,CAAC,MAAM,CACpB,CACE,GAA2D,EAC3D,GAAyB,KACvB;;;AAGF,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;AAE9E,oBAAA,OAAO,GAAG;gBACZ,CAAC,EACD,EAAS,CACyD;aACrE;QACH,CAAC,CAAC,CACH,CACF;IACH;AAEQ,IAAA,OAAO,CAAI,GAAW,EAAA;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAkB,KAAK,QAAQ,CAAC,IAAI,EAAgB,CAAC,CAAC;IAChG;AACD;;ACrID;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-doc-app-classes-root-page.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"ng-doc-app-classes-root-page.mjs","sources":["../../../../libs/app/classes/root-page/root-page.ts","../../../../libs/app/classes/root-page/ng-doc-app-classes-root-page.ts"],"sourcesContent":["import { NgDocDemoAssets } from '@ng-doc/app/interfaces';\nimport { NgDocPage } from '@ng-doc/core/interfaces';\nimport { NgDocPageType } from '@ng-doc/core/types';\n\n/**\n * Base class for NgDoc page\n */\nexport abstract class NgDocRootPage {\n /**\n * The type of the page\n */\n abstract readonly pageType: NgDocPageType;\n /**\n * Html content of the page\n */\n abstract readonly pageContent: string;\n\n /**\n * Edit URL that can be used to edit the page source file in the repository\n */\n abstract readonly editSourceFileUrl?: string;\n\n /**\n * View URL that can be used to view the page source file in the repository\n */\n abstract readonly viewSourceFileUrl?: string;\n\n /**\n * The page dependencies file\n */\n readonly page?: NgDocPage;\n\n /**\n * The page demo assets that have code examples of the demo components\n */\n readonly demoAssets?: NgDocDemoAssets;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAIA;;AAEG;MACmB,aAAa,CAAA;AA6BlC;;ACpCD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-doc-app-classes-search-engine.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"ng-doc-app-classes-search-engine.mjs","sources":["../../../../libs/app/classes/search-engine/search-engine.ts","../../../../libs/app/classes/search-engine/ng-doc-app-classes-search-engine.ts"],"sourcesContent":["import { NgDocSearchResult } from '@ng-doc/app/interfaces';\nimport { Observable } from 'rxjs';\n\n/**\n * Abstract search engine class, that can be used to implement a custom search engine.\n */\nexport abstract class NgDocSearchEngine {\n abstract search(query: string): Observable<NgDocSearchResult[]>;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAGA;;AAEG;MACmB,iBAAiB,CAAA;AAEtC;;ACRD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-doc-app-classes.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"ng-doc-app-classes.mjs","sources":["../../../../libs/app/classes/ng-doc-app-classes.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;AAEG"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { input, signal,
|
|
3
|
+
import { inject, input, signal, computed, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
4
4
|
import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
5
|
import * as i1 from '@angular/forms';
|
|
6
6
|
import { FormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
@@ -8,13 +8,15 @@ import { ActivatedRoute, Router, RouterLink } from '@angular/router';
|
|
|
8
8
|
import { NgDocKindIconComponent } from '@ng-doc/app/components/kind-icon';
|
|
9
9
|
import { asArray } from '@ng-doc/core/helpers/as-array';
|
|
10
10
|
import { NgDocTextComponent, NgDocInputWrapperComponent, NgDocIconComponent, NgDocInputStringDirective, NgDocAutofocusDirective, NgDocTooltipDirective, NgDocRadioGroupDirective, NgDocButtonToggleComponent } from '@ng-doc/ui-kit';
|
|
11
|
+
import { NG_REQUEST_BASE_PATH } from '@ng-doc/ui-kit/tokens';
|
|
11
12
|
import { startWith } from 'rxjs/operators';
|
|
12
13
|
|
|
13
14
|
class NgDocApiListComponent {
|
|
14
15
|
constructor() {
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
16
|
+
this.baseUrl = inject(NG_REQUEST_BASE_PATH);
|
|
17
|
+
this.title = input('API References', ...(ngDevMode ? [{ debugName: "title" }] : []));
|
|
18
|
+
this.segment = input(...(ngDevMode ? [undefined, { debugName: "segment" }] : []));
|
|
19
|
+
this.apiList = signal([], ...(ngDevMode ? [{ debugName: "apiList" }] : []));
|
|
18
20
|
this.formBuilder = inject(FormBuilder);
|
|
19
21
|
this.route = inject(ActivatedRoute);
|
|
20
22
|
this.router = inject(Router);
|
|
@@ -27,10 +29,10 @@ class NgDocApiListComponent {
|
|
|
27
29
|
this.filter = toSignal(this.formGroup.valueChanges.pipe(startWith(this.formGroup.value)), {
|
|
28
30
|
initialValue: this.formGroup.value,
|
|
29
31
|
});
|
|
30
|
-
this.scopes = computed(() => asArray(new Set(this.apiList().flatMap((api) => api.title))).sort());
|
|
32
|
+
this.scopes = computed(() => asArray(new Set(this.apiList().flatMap((api) => api.title))).sort(), ...(ngDevMode ? [{ debugName: "scopes" }] : []));
|
|
31
33
|
this.types = computed(() => asArray(new Set(this.apiList()
|
|
32
34
|
.flatMap((api) => api.items)
|
|
33
|
-
.flatMap((item) => item.type))).sort());
|
|
35
|
+
.flatMap((item) => item.type))).sort(), ...(ngDevMode ? [{ debugName: "types" }] : []));
|
|
34
36
|
this.route.queryParamMap.pipe(takeUntilDestroyed()).subscribe((paramMap) => this.formGroup.setValue({
|
|
35
37
|
filter: paramMap.get('filter') || null,
|
|
36
38
|
scope: paramMap.get('scope') || null,
|
|
@@ -55,17 +57,17 @@ class NgDocApiListComponent {
|
|
|
55
57
|
.sort((a, b) => a.type.localeCompare(b.type) || a.name.localeCompare(b.name)),
|
|
56
58
|
}))
|
|
57
59
|
.filter((api) => api.items.length);
|
|
58
|
-
});
|
|
60
|
+
}, ...(ngDevMode ? [{ debugName: "filteredApiList" }] : []));
|
|
59
61
|
}
|
|
60
62
|
ngOnInit() {
|
|
61
63
|
this.httpClient
|
|
62
|
-
.get(asArray('assets/ng-doc', this.segment(), 'api-list.json').join('/'))
|
|
64
|
+
.get(this.baseUrl + asArray('assets/ng-doc', this.segment(), 'api-list.json').join('/'))
|
|
63
65
|
.subscribe((apiList) => this.apiList.set(apiList));
|
|
64
66
|
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
67
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocApiListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
68
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: NgDocApiListComponent, isStandalone: true, selector: "ng-doc-api-list", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, segment: { classPropertyName: "segment", publicName: "segment", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<h1 ng-doc-text>{{ title() }}</h1>\n<div class=\"ng-doc-api-list-wrapper\">\n <form [formGroup]=\"formGroup\">\n @if (types().length) {\n <h3>Declaration types</h3>\n <ul class=\"ng-doc-filter-list\" ngDocRadioGroup formControlName=\"type\">\n @for (type of types(); track type) {\n <li>\n <button class=\"ng-doc-filter-button\" ng-doc-button-toggle [value]=\"type\">\n <ng-doc-kind-icon [kind]=\"type\" size=\"medium\"></ng-doc-kind-icon>\n {{ type }}\n </button>\n </li>\n }\n </ul>\n }\n\n @if (scopes().length) {\n <h3>Scopes</h3>\n <ul class=\"ng-doc-filter-list\" ngDocRadioGroup formControlName=\"scope\">\n @for (scope of scopes(); track scope) {\n <li>\n <button class=\"ng-doc-filter-button\" ng-doc-button-toggle [value]=\"scope\">\n {{ scope }}\n </button>\n </li>\n }\n </ul>\n }\n\n <h3>Filter</h3>\n <ng-doc-input-wrapper class=\"ng-doc-api-list-filter-input\">\n <ng-doc-icon icon=\"search\" ngDocInputWrapperLeft></ng-doc-icon>\n <input\n ngDocInputString\n formControlName=\"filter\"\n placeholder=\"Declaration name...\"\n ngDocAutofocus />\n </ng-doc-input-wrapper>\n </form>\n\n <div class=\"ng-doc-api-list\">\n @for (scope of filteredApiList(); track scope) {\n <div class=\"ng-doc-api-scope\">\n <h3 class=\"ng-doc-scope-title\" ng-doc-text>{{ scope.title }}</h3>\n @if (scope.items.length) {\n <ul class=\"ng-doc-scope-items\">\n @for (apiReference of scope.items; track apiReference) {\n <li class=\"ng-doc-scope-item\">\n <a class=\"ng-doc-scope-item-link\" [routerLink]=\"[apiReference.route]\">\n <ng-doc-kind-icon\n [kind]=\"apiReference.type\"\n size=\"medium\"\n [ngDocTooltip]=\"apiReference.type\">\n </ng-doc-kind-icon>\n {{ apiReference.name }}\n </a>\n </li>\n }\n </ul>\n }\n </div>\n }\n </div>\n</div>\n", styles: [":host h1{margin-top:0}:host .ng-doc-filter-list{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--ng-doc-base-gutter);list-style:none;padding:0}@container api-list-wrapper (max-width: 775px){:host .ng-doc-filter-list{grid-template-columns:repeat(4,1fr)}}@container api-list-wrapper (max-width: 600px){:host .ng-doc-filter-list{grid-template-columns:repeat(3,1fr)}}@container api-list-wrapper (max-width: 500px){:host .ng-doc-filter-list{grid-template-columns:repeat(2,1fr)}}@container api-list-wrapper (max-width: 350px){:host .ng-doc-filter-list{grid-template-columns:repeat(1,1fr)}}:host .ng-doc-filter-list .ng-doc-filter-button{justify-content:flex-start;text-wrap:nowrap;width:100%}:host .ng-doc-filter-list .ng-doc-filter-button ng-doc-kind-icon{margin-right:var(--ng-doc-base-gutter)}:host .ng-doc-api-list-filter-input{max-width:450px}:host .ng-doc-api-list-wrapper{container:api-list-wrapper/inline-size}:host .ng-doc-api-list-wrapper .ng-doc-api-filter{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 3);flex-wrap:wrap;gap:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-filter .ng-doc-api-filter-item{width:200px}:host .ng-doc-api-list-wrapper .ng-doc-api-list{margin-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope{display:flex;flex-direction:column}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items{margin-top:calc(var(--ng-doc-base-gutter) * 3);list-style:none;padding:0}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item{float:left;width:33%;overflow:hidden;min-width:330px;text-overflow:ellipsis;white-space:nowrap}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link{display:flex;align-items:center;border-left:1px solid var(--ng-doc-border-color);padding:var(--ng-doc-base-gutter);color:var(--ng-doc-text);background:color-mix(in srgb,var(--ng-doc-scope-item-link-background),transparent 90%);text-decoration:none}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link:hover{color:var(--ng-doc-heading-color);border-left-color:var(--ng-doc-primary);--ng-doc-scope-item-link-background: var(--ng-doc-primary)}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link ng-doc-kind-icon{margin-right:var(--ng-doc-base-gutter);text-decoration:none!important}:host ng-doc-input-wrapper ng-doc-icon{--ng-doc-icon-color: var(--ng-doc-text-muted)}\n"], dependencies: [{ kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: NgDocInputWrapperComponent, selector: "ng-doc-input-wrapper", inputs: ["blurContent", "blurContext", "align"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "directive", type: NgDocInputStringDirective, selector: "input[ngDocInputString]" }, { kind: "directive", type: NgDocAutofocusDirective, selector: "[ngDocAutofocus]", inputs: ["selectAll"] }, { kind: "component", type: NgDocKindIconComponent, selector: "ng-doc-kind-icon", inputs: ["kind", "type", "size"] }, { kind: "directive", type: 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: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgDocRadioGroupDirective, selector: "[ngDocRadioGroup]" }, { kind: "component", type: NgDocButtonToggleComponent, selector: "[ng-doc-button-toggle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
67
69
|
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocApiListComponent, decorators: [{
|
|
69
71
|
type: Component,
|
|
70
72
|
args: [{ selector: 'ng-doc-api-list', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
71
73
|
NgDocTextComponent,
|
|
@@ -81,7 +83,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImpor
|
|
|
81
83
|
NgDocRadioGroupDirective,
|
|
82
84
|
NgDocButtonToggleComponent,
|
|
83
85
|
], template: "<h1 ng-doc-text>{{ title() }}</h1>\n<div class=\"ng-doc-api-list-wrapper\">\n <form [formGroup]=\"formGroup\">\n @if (types().length) {\n <h3>Declaration types</h3>\n <ul class=\"ng-doc-filter-list\" ngDocRadioGroup formControlName=\"type\">\n @for (type of types(); track type) {\n <li>\n <button class=\"ng-doc-filter-button\" ng-doc-button-toggle [value]=\"type\">\n <ng-doc-kind-icon [kind]=\"type\" size=\"medium\"></ng-doc-kind-icon>\n {{ type }}\n </button>\n </li>\n }\n </ul>\n }\n\n @if (scopes().length) {\n <h3>Scopes</h3>\n <ul class=\"ng-doc-filter-list\" ngDocRadioGroup formControlName=\"scope\">\n @for (scope of scopes(); track scope) {\n <li>\n <button class=\"ng-doc-filter-button\" ng-doc-button-toggle [value]=\"scope\">\n {{ scope }}\n </button>\n </li>\n }\n </ul>\n }\n\n <h3>Filter</h3>\n <ng-doc-input-wrapper class=\"ng-doc-api-list-filter-input\">\n <ng-doc-icon icon=\"search\" ngDocInputWrapperLeft></ng-doc-icon>\n <input\n ngDocInputString\n formControlName=\"filter\"\n placeholder=\"Declaration name...\"\n ngDocAutofocus />\n </ng-doc-input-wrapper>\n </form>\n\n <div class=\"ng-doc-api-list\">\n @for (scope of filteredApiList(); track scope) {\n <div class=\"ng-doc-api-scope\">\n <h3 class=\"ng-doc-scope-title\" ng-doc-text>{{ scope.title }}</h3>\n @if (scope.items.length) {\n <ul class=\"ng-doc-scope-items\">\n @for (apiReference of scope.items; track apiReference) {\n <li class=\"ng-doc-scope-item\">\n <a class=\"ng-doc-scope-item-link\" [routerLink]=\"[apiReference.route]\">\n <ng-doc-kind-icon\n [kind]=\"apiReference.type\"\n size=\"medium\"\n [ngDocTooltip]=\"apiReference.type\">\n </ng-doc-kind-icon>\n {{ apiReference.name }}\n </a>\n </li>\n }\n </ul>\n }\n </div>\n }\n </div>\n</div>\n", styles: [":host h1{margin-top:0}:host .ng-doc-filter-list{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--ng-doc-base-gutter);list-style:none;padding:0}@container api-list-wrapper (max-width: 775px){:host .ng-doc-filter-list{grid-template-columns:repeat(4,1fr)}}@container api-list-wrapper (max-width: 600px){:host .ng-doc-filter-list{grid-template-columns:repeat(3,1fr)}}@container api-list-wrapper (max-width: 500px){:host .ng-doc-filter-list{grid-template-columns:repeat(2,1fr)}}@container api-list-wrapper (max-width: 350px){:host .ng-doc-filter-list{grid-template-columns:repeat(1,1fr)}}:host .ng-doc-filter-list .ng-doc-filter-button{justify-content:flex-start;text-wrap:nowrap;width:100%}:host .ng-doc-filter-list .ng-doc-filter-button ng-doc-kind-icon{margin-right:var(--ng-doc-base-gutter)}:host .ng-doc-api-list-filter-input{max-width:450px}:host .ng-doc-api-list-wrapper{container:api-list-wrapper/inline-size}:host .ng-doc-api-list-wrapper .ng-doc-api-filter{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 3);flex-wrap:wrap;gap:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-filter .ng-doc-api-filter-item{width:200px}:host .ng-doc-api-list-wrapper .ng-doc-api-list{margin-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope{display:flex;flex-direction:column}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items{margin-top:calc(var(--ng-doc-base-gutter) * 3);list-style:none;padding:0}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item{float:left;width:33%;overflow:hidden;min-width:330px;text-overflow:ellipsis;white-space:nowrap}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link{display:flex;align-items:center;border-left:1px solid var(--ng-doc-border-color);padding:var(--ng-doc-base-gutter);color:var(--ng-doc-text);background:color-mix(in srgb,var(--ng-doc-scope-item-link-background),transparent 90%);text-decoration:none}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link:hover{color:var(--ng-doc-heading-color);border-left-color:var(--ng-doc-primary);--ng-doc-scope-item-link-background: var(--ng-doc-primary)}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link ng-doc-kind-icon{margin-right:var(--ng-doc-base-gutter);text-decoration:none!important}:host ng-doc-input-wrapper ng-doc-icon{--ng-doc-icon-color: var(--ng-doc-text-muted)}\n"] }]
|
|
84
|
-
}], ctorParameters: () => [] });
|
|
86
|
+
}], ctorParameters: () => [], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], segment: [{ type: i0.Input, args: [{ isSignal: true, alias: "segment", required: false }] }] } });
|
|
85
87
|
|
|
86
88
|
/**
|
|
87
89
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-doc-app-components-api-list.mjs","sources":["../tmp-esm2022/components/api-list/api-list.component.js","../tmp-esm2022/components/api-list/ng-doc-app-components-api-list.js"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, signal, } from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { FormBuilder, FormsModule, ReactiveFormsModule, } from '@angular/forms';\nimport { ActivatedRoute, Router, RouterLink } from '@angular/router';\nimport { NgDocKindIconComponent } from '@ng-doc/app/components/kind-icon';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { NgDocAutofocusDirective, NgDocButtonToggleComponent, NgDocIconComponent, NgDocInputStringDirective, NgDocInputWrapperComponent, NgDocRadioGroupDirective, NgDocTextComponent, NgDocTooltipDirective, } from '@ng-doc/ui-kit';\nimport { startWith } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nexport class NgDocApiListComponent {\n constructor() {\n this.title = input('API References');\n this.segment = input();\n this.apiList = signal([]);\n this.formBuilder = inject(FormBuilder);\n this.route = inject(ActivatedRoute);\n this.router = inject(Router);\n this.httpClient = inject(HttpClient);\n this.formGroup = this.formBuilder.group({\n filter: [''],\n scope: [''],\n type: [''],\n });\n this.filter = toSignal(this.formGroup.valueChanges.pipe(startWith(this.formGroup.value)), {\n initialValue: this.formGroup.value,\n });\n this.scopes = computed(() => asArray(new Set(this.apiList().flatMap((api) => api.title))).sort());\n this.types = computed(() => asArray(new Set(this.apiList()\n .flatMap((api) => api.items)\n .flatMap((item) => item.type))).sort());\n this.route.queryParamMap.pipe(takeUntilDestroyed()).subscribe((paramMap) => this.formGroup.setValue({\n filter: paramMap.get('filter') || null,\n scope: paramMap.get('scope') || null,\n type: paramMap.get('type') || null,\n }));\n this.formGroup.valueChanges\n .pipe(takeUntilDestroyed())\n .subscribe((formValue) => this.router.navigate([], {\n relativeTo: this.route,\n queryParams: formValue,\n queryParamsHandling: 'merge',\n }));\n this.filteredApiList = computed(() => {\n const { filter, scope, type } = this.filter();\n return this.apiList()\n .filter((api) => !scope || api.title === scope)\n .map((api) => ({\n ...api,\n items: api.items\n .filter((item) => item.name.toLowerCase().includes(filter?.toLowerCase() ?? '') &&\n (!type || item.type === type))\n .sort((a, b) => a.type.localeCompare(b.type) || a.name.localeCompare(b.name)),\n }))\n .filter((api) => api.items.length);\n });\n }\n ngOnInit() {\n this.httpClient\n .get(asArray('assets/ng-doc', this.segment(), 'api-list.json').join('/'))\n .subscribe((apiList) => this.apiList.set(apiList));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: NgDocApiListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: NgDocApiListComponent, isStandalone: true, selector: \"ng-doc-api-list\", inputs: { title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: false, transformFunction: null }, segment: { classPropertyName: \"segment\", publicName: \"segment\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"<h1 ng-doc-text>{{ title() }}</h1>\\n<div class=\\\"ng-doc-api-list-wrapper\\\">\\n <form [formGroup]=\\\"formGroup\\\">\\n @if (types().length) {\\n <h3>Declaration types</h3>\\n <ul class=\\\"ng-doc-filter-list\\\" ngDocRadioGroup formControlName=\\\"type\\\">\\n @for (type of types(); track type) {\\n <li>\\n <button class=\\\"ng-doc-filter-button\\\" ng-doc-button-toggle [value]=\\\"type\\\">\\n <ng-doc-kind-icon [kind]=\\\"type\\\" size=\\\"medium\\\"></ng-doc-kind-icon>\\n {{ type }}\\n </button>\\n </li>\\n }\\n </ul>\\n }\\n\\n @if (scopes().length) {\\n <h3>Scopes</h3>\\n <ul class=\\\"ng-doc-filter-list\\\" ngDocRadioGroup formControlName=\\\"scope\\\">\\n @for (scope of scopes(); track scope) {\\n <li>\\n <button class=\\\"ng-doc-filter-button\\\" ng-doc-button-toggle [value]=\\\"scope\\\">\\n {{ scope }}\\n </button>\\n </li>\\n }\\n </ul>\\n }\\n\\n <h3>Filter</h3>\\n <ng-doc-input-wrapper class=\\\"ng-doc-api-list-filter-input\\\">\\n <ng-doc-icon icon=\\\"search\\\" ngDocInputWrapperLeft></ng-doc-icon>\\n <input\\n ngDocInputString\\n formControlName=\\\"filter\\\"\\n placeholder=\\\"Declaration name...\\\"\\n ngDocAutofocus />\\n </ng-doc-input-wrapper>\\n </form>\\n\\n <div class=\\\"ng-doc-api-list\\\">\\n @for (scope of filteredApiList(); track scope) {\\n <div class=\\\"ng-doc-api-scope\\\">\\n <h3 class=\\\"ng-doc-scope-title\\\" ng-doc-text>{{ scope.title }}</h3>\\n @if (scope.items.length) {\\n <ul class=\\\"ng-doc-scope-items\\\">\\n @for (apiReference of scope.items; track apiReference) {\\n <li class=\\\"ng-doc-scope-item\\\">\\n <a class=\\\"ng-doc-scope-item-link\\\" [routerLink]=\\\"[apiReference.route]\\\">\\n <ng-doc-kind-icon\\n [kind]=\\\"apiReference.type\\\"\\n size=\\\"medium\\\"\\n [ngDocTooltip]=\\\"apiReference.type\\\">\\n </ng-doc-kind-icon>\\n {{ apiReference.name }}\\n </a>\\n </li>\\n }\\n </ul>\\n }\\n </div>\\n }\\n </div>\\n</div>\\n\", styles: [\":host h1{margin-top:0}:host .ng-doc-filter-list{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--ng-doc-base-gutter);list-style:none;padding:0}@container api-list-wrapper (max-width: 775px){:host .ng-doc-filter-list{grid-template-columns:repeat(4,1fr)}}@container api-list-wrapper (max-width: 600px){:host .ng-doc-filter-list{grid-template-columns:repeat(3,1fr)}}@container api-list-wrapper (max-width: 500px){:host .ng-doc-filter-list{grid-template-columns:repeat(2,1fr)}}@container api-list-wrapper (max-width: 350px){:host .ng-doc-filter-list{grid-template-columns:repeat(1,1fr)}}:host .ng-doc-filter-list .ng-doc-filter-button{justify-content:flex-start;text-wrap:nowrap;width:100%}:host .ng-doc-filter-list .ng-doc-filter-button ng-doc-kind-icon{margin-right:var(--ng-doc-base-gutter)}:host .ng-doc-api-list-filter-input{max-width:450px}:host .ng-doc-api-list-wrapper{container:api-list-wrapper/inline-size}:host .ng-doc-api-list-wrapper .ng-doc-api-filter{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 3);flex-wrap:wrap;gap:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-filter .ng-doc-api-filter-item{width:200px}:host .ng-doc-api-list-wrapper .ng-doc-api-list{margin-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope{display:flex;flex-direction:column}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items{margin-top:calc(var(--ng-doc-base-gutter) * 3);list-style:none;padding:0}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item{float:left;width:33%;overflow:hidden;min-width:330px;text-overflow:ellipsis;white-space:nowrap}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link{display:flex;align-items:center;border-left:1px solid var(--ng-doc-border-color);padding:var(--ng-doc-base-gutter);color:var(--ng-doc-text);background:color-mix(in srgb,var(--ng-doc-scope-item-link-background),transparent 90%);text-decoration:none}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link:hover{color:var(--ng-doc-heading-color);border-left-color:var(--ng-doc-primary);--ng-doc-scope-item-link-background: var(--ng-doc-primary)}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link ng-doc-kind-icon{margin-right:var(--ng-doc-base-gutter);text-decoration:none!important}:host ng-doc-input-wrapper ng-doc-icon{--ng-doc-icon-color: var(--ng-doc-text-muted)}\\n\"], dependencies: [{ kind: \"component\", type: NgDocTextComponent, selector: \"[ng-doc-text]\", inputs: [\"size\", \"color\", \"align\", \"absoluteContent\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { kind: \"directive\", type: i1.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: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { kind: \"ngmodule\", type: ReactiveFormsModule }, { kind: \"directive\", type: i1.FormGroupDirective, selector: \"[formGroup]\", inputs: [\"formGroup\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { kind: \"directive\", type: i1.FormControlName, selector: \"[formControlName]\", inputs: [\"formControlName\", \"disabled\", \"ngModel\"], outputs: [\"ngModelChange\"] }, { kind: \"component\", type: NgDocInputWrapperComponent, selector: \"ng-doc-input-wrapper\", inputs: [\"blurContent\", \"blurContext\", \"align\"] }, { kind: \"component\", type: NgDocIconComponent, selector: \"ng-doc-icon\", inputs: [\"icon\", \"customIcon\", \"size\"] }, { kind: \"directive\", type: NgDocInputStringDirective, selector: \"input[ngDocInputString]\" }, { kind: \"directive\", type: NgDocAutofocusDirective, selector: \"[ngDocAutofocus]\", inputs: [\"selectAll\"] }, { kind: \"component\", type: NgDocKindIconComponent, selector: \"ng-doc-kind-icon\", inputs: [\"kind\", \"type\", \"size\"] }, { kind: \"directive\", type: 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: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"directive\", type: NgDocRadioGroupDirective, selector: \"[ngDocRadioGroup]\" }, { kind: \"component\", type: NgDocButtonToggleComponent, selector: \"[ng-doc-button-toggle]\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: NgDocApiListComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ng-doc-api-list', changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n NgDocTextComponent,\n FormsModule,\n ReactiveFormsModule,\n NgDocInputWrapperComponent,\n NgDocIconComponent,\n NgDocInputStringDirective,\n NgDocAutofocusDirective,\n NgDocKindIconComponent,\n NgDocTooltipDirective,\n RouterLink,\n NgDocRadioGroupDirective,\n NgDocButtonToggleComponent,\n ], template: \"<h1 ng-doc-text>{{ title() }}</h1>\\n<div class=\\\"ng-doc-api-list-wrapper\\\">\\n <form [formGroup]=\\\"formGroup\\\">\\n @if (types().length) {\\n <h3>Declaration types</h3>\\n <ul class=\\\"ng-doc-filter-list\\\" ngDocRadioGroup formControlName=\\\"type\\\">\\n @for (type of types(); track type) {\\n <li>\\n <button class=\\\"ng-doc-filter-button\\\" ng-doc-button-toggle [value]=\\\"type\\\">\\n <ng-doc-kind-icon [kind]=\\\"type\\\" size=\\\"medium\\\"></ng-doc-kind-icon>\\n {{ type }}\\n </button>\\n </li>\\n }\\n </ul>\\n }\\n\\n @if (scopes().length) {\\n <h3>Scopes</h3>\\n <ul class=\\\"ng-doc-filter-list\\\" ngDocRadioGroup formControlName=\\\"scope\\\">\\n @for (scope of scopes(); track scope) {\\n <li>\\n <button class=\\\"ng-doc-filter-button\\\" ng-doc-button-toggle [value]=\\\"scope\\\">\\n {{ scope }}\\n </button>\\n </li>\\n }\\n </ul>\\n }\\n\\n <h3>Filter</h3>\\n <ng-doc-input-wrapper class=\\\"ng-doc-api-list-filter-input\\\">\\n <ng-doc-icon icon=\\\"search\\\" ngDocInputWrapperLeft></ng-doc-icon>\\n <input\\n ngDocInputString\\n formControlName=\\\"filter\\\"\\n placeholder=\\\"Declaration name...\\\"\\n ngDocAutofocus />\\n </ng-doc-input-wrapper>\\n </form>\\n\\n <div class=\\\"ng-doc-api-list\\\">\\n @for (scope of filteredApiList(); track scope) {\\n <div class=\\\"ng-doc-api-scope\\\">\\n <h3 class=\\\"ng-doc-scope-title\\\" ng-doc-text>{{ scope.title }}</h3>\\n @if (scope.items.length) {\\n <ul class=\\\"ng-doc-scope-items\\\">\\n @for (apiReference of scope.items; track apiReference) {\\n <li class=\\\"ng-doc-scope-item\\\">\\n <a class=\\\"ng-doc-scope-item-link\\\" [routerLink]=\\\"[apiReference.route]\\\">\\n <ng-doc-kind-icon\\n [kind]=\\\"apiReference.type\\\"\\n size=\\\"medium\\\"\\n [ngDocTooltip]=\\\"apiReference.type\\\">\\n </ng-doc-kind-icon>\\n {{ apiReference.name }}\\n </a>\\n </li>\\n }\\n </ul>\\n }\\n </div>\\n }\\n </div>\\n</div>\\n\", styles: [\":host h1{margin-top:0}:host .ng-doc-filter-list{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--ng-doc-base-gutter);list-style:none;padding:0}@container api-list-wrapper (max-width: 775px){:host .ng-doc-filter-list{grid-template-columns:repeat(4,1fr)}}@container api-list-wrapper (max-width: 600px){:host .ng-doc-filter-list{grid-template-columns:repeat(3,1fr)}}@container api-list-wrapper (max-width: 500px){:host .ng-doc-filter-list{grid-template-columns:repeat(2,1fr)}}@container api-list-wrapper (max-width: 350px){:host .ng-doc-filter-list{grid-template-columns:repeat(1,1fr)}}:host .ng-doc-filter-list .ng-doc-filter-button{justify-content:flex-start;text-wrap:nowrap;width:100%}:host .ng-doc-filter-list .ng-doc-filter-button ng-doc-kind-icon{margin-right:var(--ng-doc-base-gutter)}:host .ng-doc-api-list-filter-input{max-width:450px}:host .ng-doc-api-list-wrapper{container:api-list-wrapper/inline-size}:host .ng-doc-api-list-wrapper .ng-doc-api-filter{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 3);flex-wrap:wrap;gap:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-filter .ng-doc-api-filter-item{width:200px}:host .ng-doc-api-list-wrapper .ng-doc-api-list{margin-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope{display:flex;flex-direction:column}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items{margin-top:calc(var(--ng-doc-base-gutter) * 3);list-style:none;padding:0}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item{float:left;width:33%;overflow:hidden;min-width:330px;text-overflow:ellipsis;white-space:nowrap}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link{display:flex;align-items:center;border-left:1px solid var(--ng-doc-border-color);padding:var(--ng-doc-base-gutter);color:var(--ng-doc-text);background:color-mix(in srgb,var(--ng-doc-scope-item-link-background),transparent 90%);text-decoration:none}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link:hover{color:var(--ng-doc-heading-color);border-left-color:var(--ng-doc-primary);--ng-doc-scope-item-link-background: var(--ng-doc-primary)}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link ng-doc-kind-icon{margin-right:var(--ng-doc-base-gutter);text-decoration:none!important}:host ng-doc-input-wrapper ng-doc-icon{--ng-doc-icon-color: var(--ng-doc-text-muted)}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY29tcG9uZW50cy9hcGktbGlzdC9hcGktbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2FwaS1saXN0L2FwaS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFFLE9BQU8sRUFDTCxXQUFXLEVBR1gsV0FBVyxFQUNYLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxjQUFjLEVBQVksTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV4RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUMxQixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQix3QkFBd0IsRUFDeEIsa0JBQWtCLEVBQ2xCLHFCQUFxQixHQUN0QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBNEIzQyxNQUFNLE9BQU8scUJBQXFCO0lBaUJoQztRQWhCQSxVQUFLLEdBQUcsS0FBSyxDQUFTLGdCQUFnQixDQUFDLENB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Z0hBQ2xCLFdBQVcsMnBCQUNYLG1CQUFtQixnVkFDbkIsMEJBQTBCLGtIQUMxQixrQkFBa0IsZ0dBQ2xCLHlCQUF5QixvRUFDekIsdUJBQXVCLG9GQUN2QixzQkFBc0IsK0ZBQ3RCLHFCQUFxQiwwVUFDckIsVUFBVSxvT0FDVix3QkFBd0IsOERBQ3hCLDBCQUEwQjs7MkZBR2pCLHFCQUFxQjtrQkFwQmpDLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1Asa0JBQWtCO3dCQUNsQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsMEJBQTBCO3dCQUMxQixrQkFBa0I7d0JBQ2xCLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2QixzQkFBc0I7d0JBQ3RCLHFCQUFxQjt3QkFDckIsVUFBVTt3QkFDVix3QkFBd0I7d0JBQ3hCLDBCQUEwQjtxQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIE9uSW5pdCxcbiAgU2lnbmFsLFxuICBzaWduYWwsXG4gIFdyaXRhYmxlU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBGb3JtQnVpbGRlcixcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Hcm91cCxcbiAgRm9ybXNNb2R1bGUsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbU1hcCwgUm91dGVyLCBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5nRG9jS2luZEljb25Db21wb25lbnQgfSBmcm9tICdAbmctZG9jL2FwcC9jb21wb25lbnRzL2tpbmQtaWNvbic7XG5pbXBvcnQgeyBOZ0RvY0Zvcm1QYXJ0aWFsVmFsdWUgfSBmcm9tICdAbmctZG9jL2FwcC90eXBlcyc7XG5pbXBvcnQgeyBhc0FycmF5IH0gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvYXMtYXJyYXknO1xuaW1wb3J0IHsgTmdEb2NBcGlMaXN0LCBOZ0RvY0FwaUxpc3RJdGVtIH0gZnJvbSAnQG5nLWRvYy9jb3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgTmdEb2NBdXRvZm9jdXNEaXJlY3RpdmUsXG4gIE5nRG9jQnV0dG9uVG9nZ2xlQ29tcG9uZW50LFxuICBOZ0RvY0ljb25Db21wb25lbnQsXG4gIE5nRG9jSW5wdXRTdHJpbmdEaXJlY3RpdmUsXG4gIE5nRG9jSW5wdXRXcmFwcGVyQ29tcG9uZW50LFxuICBOZ0RvY1JhZGlvR3JvdXBEaXJlY3RpdmUsXG4gIE5nRG9jVGV4dENvbXBvbmVudCxcbiAgTmdEb2NUb29sdGlwRGlyZWN0aXZlLFxufSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5pbXBvcnQgeyBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmludGVyZmFjZSBBcGlGaWx0ZXJGb3JtIHtcbiAgZmlsdGVyOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcbiAgc2NvcGU6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICB0eXBlOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctZG9jLWFwaS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FwaS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXBpLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0RvY1RleHRDb21wb25lbnQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBOZ0RvY0lucHV0V3JhcHBlckNvbXBvbmVudCxcbiAgICBOZ0RvY0ljb25Db21wb25lbnQsXG4gICAgTmdEb2NJbnB1dFN0cmluZ0RpcmVjdGl2ZSxcbiAgICBOZ0RvY0F1dG9mb2N1c0RpcmVjdGl2ZSxcbiAgICBOZ0RvY0tpbmRJY29uQ29tcG9uZW50LFxuICAgIE5nRG9jVG9vbHRpcERpcmVjdGl2ZSxcbiAgICBSb3V0ZXJMaW5rLFxuICAgIE5nRG9jUmFkaW9Hcm91cERpcmVjdGl2ZSxcbiAgICBOZ0RvY0J1dHRvblRvZ2dsZUNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTmdEb2NBcGlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgdGl0bGUgPSBpbnB1dDxzdHJpbmc+KCdBUEkgUmVmZXJlbmNlcycpO1xuICBzZWdtZW50ID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gIGFwaUxpc3Q6IFdyaXRhYmxlU2lnbmFsPE5nRG9jQXBpTGlzdFtdPiA9IHNpZ25hbChbXSk7XG4gIGZpbHRlcmVkQXBpTGlzdDogU2lnbmFsPE5nRG9jQXBpTGlzdFtdPjtcbiAgZmlsdGVyOiBTaWduYWw8YW55PjtcbiAgc2NvcGVzOiBTaWduYWw8c3RyaW5nW10+O1xuICB0eXBlczogU2lnbmFsPHN0cmluZ1tdPjtcblxuICBwcm90ZWN0ZWQgZm9ybUdyb3VwOiBGb3JtR3JvdXA8QXBpRmlsdGVyRm9ybT47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBmb3JtQnVpbGRlciA9IGluamVjdChGb3JtQnVpbGRlcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGh0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGZpbHRlcjogWycnXSxcbiAgICAgIHNjb3BlOiBbJyddLFxuICAgICAgdHlwZTogWycnXSxcbiAgICB9KTtcblxuICAgIHRoaXMuZmlsdGVyID0gdG9TaWduYWwodGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuZm9ybUdyb3VwLnZhbHVlKSksIHtcbiAgICAgIGluaXRpYWxWYWx1ZTogdGhpcy5mb3JtR3JvdXAudmFsdWUsXG4gICAgfSk7XG5cbiAgICB0aGlzLnNjb3BlcyA9IGNvbXB1dGVkKCgpID0+XG4gICAgICBhc0FycmF5KG5ldyBTZXQodGhpcy5hcGlMaXN0KCkuZmxhdE1hcCgoYXBpOiBOZ0RvY0FwaUxpc3QpID0+IGFwaS50aXRsZSkpKS5zb3J0KCksXG4gICAgKTtcblxuICAgIHRoaXMudHlwZXMgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgYXNBcnJheShcbiAgICAgICAgbmV3IFNldChcbiAgICAgICAgICB0aGlzLmFwaUxpc3QoKVxuICAgICAgICAgICAgLmZsYXRNYXAoKGFwaTogTmdEb2NBcGlMaXN0KSA9PiBhcGkuaXRlbXMpXG4gICAgICAgICAgICAuZmxhdE1hcCgoaXRlbTogTmdEb2NBcGlMaXN0SXRlbSkgPT4gaXRlbS50eXBlKSxcbiAgICAgICAgKSxcbiAgICAgICkuc29ydCgpLFxuICAgICk7XG5cbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1NYXAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKChwYXJhbU1hcDogUGFyYW1NYXApID0+XG4gICAgICB0aGlzLmZvcm1Hcm91cC5zZXRWYWx1ZSh7XG4gICAgICAgIGZpbHRlcjogcGFyYW1NYXAuZ2V0KCdmaWx0ZXInKSB8fCBudWxsLFxuICAgICAgICBzY29wZTogcGFyYW1NYXAuZ2V0KCdzY29wZScpIHx8IG51bGwsXG4gICAgICAgIHR5cGU6IHBhcmFtTWFwLmdldCgndHlwZScpIHx8IG51bGwsXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKGZvcm1WYWx1ZTogTmdEb2NGb3JtUGFydGlhbFZhbHVlPHR5cGVvZiB0aGlzLmZvcm1Hcm91cD4pID0+XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgICAgICBxdWVyeVBhcmFtczogZm9ybVZhbHVlLFxuICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXG4gICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgIHRoaXMuZmlsdGVyZWRBcGlMaXN0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWx0ZXIsIHNjb3BlLCB0eXBlIH0gPSB0aGlzLmZpbHRlcigpO1xuXG4gICAgICByZXR1cm4gdGhpcy5hcGlMaXN0KClcbiAgICAgICAgLmZpbHRlcigoYXBpOiBOZ0RvY0FwaUxpc3QpID0+ICFzY29wZSB8fCBhcGkudGl0bGUgPT09IHNjb3BlKVxuICAgICAgICAubWFwKChhcGk6IE5nRG9jQXBpTGlzdCkgPT4gKHtcbiAgICAgICAgICAuLi5hcGksXG4gICAgICAgICAgaXRlbXM6IGFwaS5pdGVtc1xuICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgKGl0ZW06IE5nRG9jQXBpTGlzdEl0ZW0pID0+XG4gICAgICAgICAgICAgICAgaXRlbS5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyPy50b0xvd2VyQ2FzZSgpID8/ICcnKSAmJlxuICAgICAgICAgICAgICAgICghdHlwZSB8fCBpdGVtLnR5cGUgPT09IHR5cGUpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnNvcnQoXG4gICAgICAgICAgICAgIChhOiBOZ0RvY0FwaUxpc3RJdGVtLCBiOiBOZ0RvY0FwaUxpc3RJdGVtKSA9PlxuICAgICAgICAgICAgICAgIGEudHlwZS5sb2NhbGVDb21wYXJlKGIudHlwZSkgfHwgYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKSxcbiAgICAgICAgICAgICksXG4gICAgICAgIH0pKVxuICAgICAgICAuZmlsdGVyKChhcGk6IE5nRG9jQXBpTGlzdCkgPT4gYXBpLml0ZW1zLmxlbmd0aCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5nZXQ8TmdEb2NBcGlMaXN0W10+KGFzQXJyYXkoJ2Fzc2V0cy9uZy1kb2MnLCB0aGlzLnNlZ21lbnQoKSwgJ2FwaS1saXN0Lmpzb24nKS5qb2luKCcvJykpXG4gICAgICAuc3Vic2NyaWJlKChhcGlMaXN0KSA9PiB0aGlzLmFwaUxpc3Quc2V0KGFwaUxpc3QpKTtcbiAgfVxufVxuIiwiPGgxIG5nLWRvYy10ZXh0Pnt7IHRpdGxlKCkgfX08L2gxPlxuPGRpdiBjbGFzcz1cIm5nLWRvYy1hcGktbGlzdC13cmFwcGVyXCI+XG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgQGlmICh0eXBlcygpLmxlbmd0aCkge1xuICAgICAgPGgzPkRlY2xhcmF0aW9uIHR5cGVzPC9oMz5cbiAgICAgIDx1bCBjbGFzcz1cIm5nLWRvYy1maWx0ZXItbGlzdFwiIG5nRG9jUmFkaW9Hcm91cCBmb3JtQ29udHJvbE5hbWU9XCJ0eXBlXCI+XG4gICAgICAgIEBmb3IgKHR5cGUgb2YgdHlwZXMoKTsgdHJhY2sgdHlwZSkge1xuICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJuZy1kb2MtZmlsdGVyLWJ1dHRvblwiIG5nLWRvYy1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJ0eXBlXCI+XG4gICAgICAgICAgICAgIDxuZy1kb2Mta2luZC1pY29uIFtraW5kXT1cInR5cGVcIiBzaXplPVwibWVkaXVtXCI+PC9uZy1kb2Mta2luZC1pY29uPlxuICAgICAgICAgICAgICB7eyB0eXBlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgICA8L3VsPlxuICAgIH1cblxuICAgIEBpZiAoc2NvcGVzKCkubGVuZ3RoKSB7XG4gICAgICA8aDM+U2NvcGVzPC9oMz5cbiAgICAgIDx1bCBjbGFzcz1cIm5nLWRvYy1maWx0ZXItbGlzdFwiIG5nRG9jUmFkaW9Hcm91cCBmb3JtQ29udHJvbE5hbWU9XCJzY29wZVwiPlxuICAgICAgICBAZm9yIChzY29wZSBvZiBzY29wZXMoKTsgdHJhY2sgc2NvcGUpIHtcbiAgICAgICAgICA8bGk+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibmctZG9jLWZpbHRlci1idXR0b25cIiBuZy1kb2MtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwic2NvcGVcIj5cbiAgICAgICAgICAgICAge3sgc2NvcGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICAgIDwvdWw+XG4gICAgfVxuXG4gICAgPGgzPkZpbHRlcjwvaDM+XG4gICAgPG5nLWRvYy1pbnB1dC13cmFwcGVyIGNsYXNzPVwibmctZG9jLWFwaS1saXN0LWZpbHRlci1pbnB1dFwiPlxuICAgICAgPG5nLWRvYy1pY29uIGljb249XCJzZWFyY2hcIiBuZ0RvY0lucHV0V3JhcHBlckxlZnQ+PC9uZy1kb2MtaWNvbj5cbiAgICAgIDxpbnB1dFxuICAgICAgICBuZ0RvY0lucHV0U3RyaW5nXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImZpbHRlclwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiRGVjbGFyYXRpb24gbmFtZS4uLlwiXG4gICAgICAgIG5nRG9jQXV0b2ZvY3VzIC8+XG4gICAgPC9uZy1kb2MtaW5wdXQtd3JhcHBlcj5cbiAgPC9mb3JtPlxuXG4gIDxkaXYgY2xhc3M9XCJuZy1kb2MtYXBpLWxpc3RcIj5cbiAgICBAZm9yIChzY29wZSBvZiBmaWx0ZXJlZEFwaUxpc3QoKTsgdHJhY2sgc2NvcGUpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJuZy1kb2MtYXBpLXNjb3BlXCI+XG4gICAgICAgIDxoMyBjbGFzcz1cIm5nLWRvYy1zY29wZS10aXRsZVwiIG5nLWRvYy10ZXh0Pnt7IHNjb3BlLnRpdGxlIH19PC9oMz5cbiAgICAgICAgQGlmIChzY29wZS5pdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICA8dWwgY2xhc3M9XCJuZy1kb2Mtc2NvcGUtaXRlbXNcIj5cbiAgICAgICAgICAgIEBmb3IgKGFwaVJlZmVyZW5jZSBvZiBzY29wZS5pdGVtczsgdHJhY2sgYXBpUmVmZXJlbmNlKSB7XG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5nLWRvYy1zY29wZS1pdGVtXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJuZy1kb2Mtc2NvcGUtaXRlbS1saW5rXCIgW3JvdXRlckxpbmtdPVwiW2FwaVJlZmVyZW5jZS5yb3V0ZV1cIj5cbiAgICAgICAgICAgICAgICAgIDxuZy1kb2Mta2luZC1pY29uXG4gICAgICAgICAgICAgICAgICAgIFtraW5kXT1cImFwaVJlZmVyZW5jZS50eXBlXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1lZGl1bVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0RvY1Rvb2x0aXBdPVwiYXBpUmVmZXJlbmNlLnR5cGVcIj5cbiAgICAgICAgICAgICAgICAgIDwvbmctZG9jLWtpbmQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIHt7IGFwaVJlZmVyZW5jZS5uYW1lIH19XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZG9jLWFwcC1jb21wb25lbnRzLWFwaS1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY29tcG9uZW50cy9hcGktbGlzdC9uZy1kb2MtYXBwLWNvbXBvbmVudHMtYXBpLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-doc-app-components-api-list.mjs","sources":["../../../../libs/app/components/api-list/api-list.component.ts","../../../../libs/app/components/api-list/api-list.component.html","../../../../libs/app/components/api-list/ng-doc-app-components-api-list.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n OnInit,\n Signal,\n signal,\n WritableSignal,\n} from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n FormsModule,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { ActivatedRoute, ParamMap, Router, RouterLink } from '@angular/router';\nimport { NgDocKindIconComponent } from '@ng-doc/app/components/kind-icon';\nimport { NgDocFormPartialValue } from '@ng-doc/app/types';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { NgDocApiList, NgDocApiListItem } from '@ng-doc/core/interfaces';\nimport {\n NgDocAutofocusDirective,\n NgDocButtonToggleComponent,\n NgDocIconComponent,\n NgDocInputStringDirective,\n NgDocInputWrapperComponent,\n NgDocRadioGroupDirective,\n NgDocTextComponent,\n NgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\nimport { NG_REQUEST_BASE_PATH } from '@ng-doc/ui-kit/tokens';\nimport { startWith } from 'rxjs/operators';\n\ninterface ApiFilterForm {\n filter: FormControl<string | null>;\n scope: FormControl<string | null>;\n type: FormControl<string | null>;\n}\n\n@Component({\n selector: 'ng-doc-api-list',\n templateUrl: './api-list.component.html',\n styleUrls: ['./api-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgDocTextComponent,\n FormsModule,\n ReactiveFormsModule,\n NgDocInputWrapperComponent,\n NgDocIconComponent,\n NgDocInputStringDirective,\n NgDocAutofocusDirective,\n NgDocKindIconComponent,\n NgDocTooltipDirective,\n RouterLink,\n NgDocRadioGroupDirective,\n NgDocButtonToggleComponent,\n ],\n})\nexport class NgDocApiListComponent implements OnInit {\n private readonly baseUrl = inject(NG_REQUEST_BASE_PATH);\n\n title = input<string>('API References');\n segment = input<string>();\n\n apiList: WritableSignal<NgDocApiList[]> = signal([]);\n filteredApiList: Signal<NgDocApiList[]>;\n filter: Signal<any>;\n scopes: Signal<string[]>;\n types: Signal<string[]>;\n\n protected formGroup: FormGroup<ApiFilterForm>;\n\n private readonly formBuilder = inject(FormBuilder);\n private readonly route = inject(ActivatedRoute);\n private readonly router = inject(Router);\n private readonly httpClient = inject(HttpClient);\n\n constructor() {\n this.formGroup = this.formBuilder.group({\n filter: [''],\n scope: [''],\n type: [''],\n });\n\n this.filter = toSignal(this.formGroup.valueChanges.pipe(startWith(this.formGroup.value)), {\n initialValue: this.formGroup.value,\n });\n\n this.scopes = computed(() =>\n asArray(new Set(this.apiList().flatMap((api: NgDocApiList) => api.title))).sort(),\n );\n\n this.types = computed(() =>\n asArray(\n new Set(\n this.apiList()\n .flatMap((api: NgDocApiList) => api.items)\n .flatMap((item: NgDocApiListItem) => item.type),\n ),\n ).sort(),\n );\n\n this.route.queryParamMap.pipe(takeUntilDestroyed()).subscribe((paramMap: ParamMap) =>\n this.formGroup.setValue({\n filter: paramMap.get('filter') || null,\n scope: paramMap.get('scope') || null,\n type: paramMap.get('type') || null,\n }),\n );\n\n this.formGroup.valueChanges\n .pipe(takeUntilDestroyed())\n .subscribe((formValue: NgDocFormPartialValue<typeof this.formGroup>) =>\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: formValue,\n queryParamsHandling: 'merge',\n }),\n );\n\n this.filteredApiList = computed(() => {\n const { filter, scope, type } = this.filter();\n\n return this.apiList()\n .filter((api: NgDocApiList) => !scope || api.title === scope)\n .map((api: NgDocApiList) => ({\n ...api,\n items: api.items\n .filter(\n (item: NgDocApiListItem) =>\n item.name.toLowerCase().includes(filter?.toLowerCase() ?? '') &&\n (!type || item.type === type),\n )\n .sort(\n (a: NgDocApiListItem, b: NgDocApiListItem) =>\n a.type.localeCompare(b.type) || a.name.localeCompare(b.name),\n ),\n }))\n .filter((api: NgDocApiList) => api.items.length);\n });\n }\n\n ngOnInit(): void {\n this.httpClient\n .get<\n NgDocApiList[]\n >(this.baseUrl + asArray('assets/ng-doc', this.segment(), 'api-list.json').join('/'))\n .subscribe((apiList) => this.apiList.set(apiList));\n }\n}\n","<h1 ng-doc-text>{{ title() }}</h1>\n<div class=\"ng-doc-api-list-wrapper\">\n <form [formGroup]=\"formGroup\">\n @if (types().length) {\n <h3>Declaration types</h3>\n <ul class=\"ng-doc-filter-list\" ngDocRadioGroup formControlName=\"type\">\n @for (type of types(); track type) {\n <li>\n <button class=\"ng-doc-filter-button\" ng-doc-button-toggle [value]=\"type\">\n <ng-doc-kind-icon [kind]=\"type\" size=\"medium\"></ng-doc-kind-icon>\n {{ type }}\n </button>\n </li>\n }\n </ul>\n }\n\n @if (scopes().length) {\n <h3>Scopes</h3>\n <ul class=\"ng-doc-filter-list\" ngDocRadioGroup formControlName=\"scope\">\n @for (scope of scopes(); track scope) {\n <li>\n <button class=\"ng-doc-filter-button\" ng-doc-button-toggle [value]=\"scope\">\n {{ scope }}\n </button>\n </li>\n }\n </ul>\n }\n\n <h3>Filter</h3>\n <ng-doc-input-wrapper class=\"ng-doc-api-list-filter-input\">\n <ng-doc-icon icon=\"search\" ngDocInputWrapperLeft></ng-doc-icon>\n <input\n ngDocInputString\n formControlName=\"filter\"\n placeholder=\"Declaration name...\"\n ngDocAutofocus />\n </ng-doc-input-wrapper>\n </form>\n\n <div class=\"ng-doc-api-list\">\n @for (scope of filteredApiList(); track scope) {\n <div class=\"ng-doc-api-scope\">\n <h3 class=\"ng-doc-scope-title\" ng-doc-text>{{ scope.title }}</h3>\n @if (scope.items.length) {\n <ul class=\"ng-doc-scope-items\">\n @for (apiReference of scope.items; track apiReference) {\n <li class=\"ng-doc-scope-item\">\n <a class=\"ng-doc-scope-item-link\" [routerLink]=\"[apiReference.route]\">\n <ng-doc-kind-icon\n [kind]=\"apiReference.type\"\n size=\"medium\"\n [ngDocTooltip]=\"apiReference.type\">\n </ng-doc-kind-icon>\n {{ apiReference.name }}\n </a>\n </li>\n }\n </ul>\n }\n </div>\n }\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;MAgEa,qBAAqB,CAAA;AAmBhC,IAAA,WAAA,GAAA;AAlBiB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAEvD,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,gBAAgB,iDAAC;QACvC,IAAA,CAAA,OAAO,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AAEzB,QAAA,IAAA,CAAA,OAAO,GAAmC,MAAM,CAAC,EAAE,mDAAC;AAQnC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACjC,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;AAC9B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAG9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACtC,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,KAAK,EAAE,CAAC,EAAE,CAAC;YACX,IAAI,EAAE,CAAC,EAAE,CAAC;AACX,SAAA,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;AACxF,YAAA,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;AACnC,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MACrB,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,GAAiB,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,kDAClF;AAED,QAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,MACpB,OAAO,CACL,IAAI,GAAG,CACL,IAAI,CAAC,OAAO;aACT,OAAO,CAAC,CAAC,GAAiB,KAAK,GAAG,CAAC,KAAK;AACxC,aAAA,OAAO,CAAC,CAAC,IAAsB,KAAK,IAAI,CAAC,IAAI,CAAC,CAClD,CACF,CAAC,IAAI,EAAE,iDACT;QAED,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,QAAkB,KAC/E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YACtB,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI;YACtC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI;YACpC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI;AACnC,SAAA,CAAC,CACH;QAED,IAAI,CAAC,SAAS,CAAC;aACZ,IAAI,CAAC,kBAAkB,EAAE;AACzB,aAAA,SAAS,CAAC,CAAC,SAAuD,KACjE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE;YACvB,UAAU,EAAE,IAAI,CAAC,KAAK;AACtB,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,mBAAmB,EAAE,OAAO;AAC7B,SAAA,CAAC,CACH;AAEH,QAAA,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,MAAK;AACnC,YAAA,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE;YAE7C,OAAO,IAAI,CAAC,OAAO;AAChB,iBAAA,MAAM,CAAC,CAAC,GAAiB,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK;AAC3D,iBAAA,GAAG,CAAC,CAAC,GAAiB,MAAM;AAC3B,gBAAA,GAAG,GAAG;gBACN,KAAK,EAAE,GAAG,CAAC;qBACR,MAAM,CACL,CAAC,IAAsB,KACrB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;qBAC5D,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;AAEhC,qBAAA,IAAI,CACH,CAAC,CAAmB,EAAE,CAAmB,KACvC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAC/D;AACJ,aAAA,CAAC;AACD,iBAAA,MAAM,CAAC,CAAC,GAAiB,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;AACpD,QAAA,CAAC,2DAAC;IACJ;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC;aACF,GAAG,CAEF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACnF,aAAA,SAAS,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtD;8GA1FW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChElC,krEAiEA,EAAA,MAAA,EAAA,CAAA,snFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDfI,kBAAkB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAClB,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,sGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,0BAA0B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC1B,kBAAkB,gGAClB,yBAAyB,EAAA,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACzB,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,sBAAsB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,qBAAqB,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,EACrB,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACV,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACxB,0BAA0B,EAAA,QAAA,EAAA,wBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGjB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBApBjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,eAAA,EAGV,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC;wBACP,kBAAkB;wBAClB,WAAW;wBACX,mBAAmB;wBACnB,0BAA0B;wBAC1B,kBAAkB;wBAClB,yBAAyB;wBACzB,uBAAuB;wBACvB,sBAAsB;wBACtB,qBAAqB;wBACrB,UAAU;wBACV,wBAAwB;wBACxB,0BAA0B;AAC3B,qBAAA,EAAA,QAAA,EAAA,krEAAA,EAAA,MAAA,EAAA,CAAA,snFAAA,CAAA,EAAA;;;AE9DH;;AAEG;;;;"}
|
|
@@ -6,10 +6,10 @@ class NgDocBreadcrumbComponent {
|
|
|
6
6
|
constructor() {
|
|
7
7
|
this.breadcrumbs = [];
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: NgDocBreadcrumbComponent, isStandalone: true, selector: "ng-doc-breadcrumb", inputs: { breadcrumbs: "breadcrumbs" }, ngImport: i0, template: "@for (item of breadcrumbs; track item) {\n @if (!$first) {\n <ng-doc-icon icon=\"chevron-right\"></ng-doc-icon>\n }\n {{ item }}\n}\n", styles: [":host{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ng-doc-base-gutter);margin-bottom:calc(var(--ng-doc-base-gutter) * 2);opacity:.9}:host .ng-doc-breadcrumb{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);display:flex;align-items:center}\n"], dependencies: [{ kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocBreadcrumbComponent, decorators: [{
|
|
13
13
|
type: Component,
|
|
14
14
|
args: [{ selector: 'ng-doc-breadcrumb', imports: [NgDocIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (item of breadcrumbs; track item) {\n @if (!$first) {\n <ng-doc-icon icon=\"chevron-right\"></ng-doc-icon>\n }\n {{ item }}\n}\n", styles: [":host{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ng-doc-base-gutter);margin-bottom:calc(var(--ng-doc-base-gutter) * 2);opacity:.9}:host .ng-doc-breadcrumb{font-family:var(--ng-doc-font-family);font-variant:no-contextual;color:var(--ng-doc-text);line-height:var(--ng-doc-line-height);font-size:var(--ng-doc-font-size);font-weight:var(--ng-doc-font-weight);display:flex;align-items:center}\n"] }]
|
|
15
15
|
}], propDecorators: { breadcrumbs: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-doc-app-components-breadcrumb.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"ng-doc-app-components-breadcrumb.mjs","sources":["../../../../libs/app/components/breadcrumb/breadcrumb.component.ts","../../../../libs/app/components/breadcrumb/breadcrumb.component.html","../../../../libs/app/components/breadcrumb/ng-doc-app-components-breadcrumb.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NgDocPageBreadcrumbs } from '@ng-doc/app/interfaces';\nimport { NgDocIconComponent } from '@ng-doc/ui-kit';\n\n@Component({\n selector: 'ng-doc-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n styleUrls: ['./breadcrumb.component.scss'],\n imports: [NgDocIconComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgDocBreadcrumbComponent implements NgDocPageBreadcrumbs {\n @Input()\n breadcrumbs: string[] = [];\n}\n","@for (item of breadcrumbs; track item) {\n @if (!$first) {\n <ng-doc-icon icon=\"chevron-right\"></ng-doc-icon>\n }\n {{ item }}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAWa,wBAAwB,CAAA;AAPrC,IAAA,WAAA,GAAA;QASE,IAAA,CAAA,WAAW,GAAa,EAAE;AAC3B,IAAA;8GAHY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXrC,6IAMA,EAAA,MAAA,EAAA,CAAA,qZAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDEY,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGjB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,WAGpB,CAAC,kBAAkB,CAAC,EAAA,eAAA,EACZ,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6IAAA,EAAA,MAAA,EAAA,CAAA,qZAAA,CAAA,EAAA;;sBAG9C;;;AEZH;;AAEG;;;;"}
|
|
@@ -20,10 +20,10 @@ class NgDocCodeComponent {
|
|
|
20
20
|
get codeElement() {
|
|
21
21
|
return this.elementRef?.nativeElement.querySelector('code') ?? null;
|
|
22
22
|
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocCodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: NgDocCodeComponent, isStandalone: true, selector: "ng-doc-code", inputs: { html: "html", copyButton: "copyButton", name: "name", icon: "icon" }, host: { properties: { "attr.data-ng-doc-has-header": "this.hasHeader" } }, ngImport: i0, template: "@if (hasHeader) {\n <div class=\"ng-doc-code-header\">\n <span class=\"ng-doc-code-file-name\" ng-doc-text>\n @if (icon) {\n <ng-doc-icon [customIcon]=\"icon\"></ng-doc-icon>\n }\n {{ name }}\n </span>\n </div>\n}\n<div class=\"ng-doc-code-body\">\n @if (html) {\n <div class=\"ng-doc-code-wrapper\" [ngDocPageProcessor]=\"html | ngDocSanitizeHtml\"></div>\n } @else {\n <div class=\"ng-doc-code-wrapper\">\n <ng-content></ng-content>\n </div>\n }\n\n @if (copyButton) {\n <ng-doc-copy-button class=\"ng-doc-copy-button\" [text]=\"this.codeElement?.textContent ?? ''\">\n <ng-doc-icon icon=\"copy\"></ng-doc-icon>\n </ng-doc-copy-button>\n }\n</div>\n", styles: [":host{position:relative;display:block;margin:var(--ng-doc-code-margin)}:host:hover .ng-doc-copy-button{opacity:1}: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;--ng-doc-code-border: none}: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;border-top:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color));border-left:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color));border-right:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color))}: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: 13px}:host .ng-doc-code-header .ng-doc-code-file-name ng-doc-icon{margin-right:calc(var(--ng-doc-base-gutter) / 2)}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);opacity:0;--ng-doc-icon-color: var(--ng-doc-text-muted)}:host .ng-doc-code-wrapper{height:100%}:host .ng-doc-code-body{position:relative;height:100%;border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));border:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color));overflow:hidden}:host .ng-doc-code-body ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin);height:100%}:host .ng-doc-code-body ::ng-deep pre code{display:block;padding:calc(var(--ng-doc-base-gutter) * 2) 0;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%}:host .ng-doc-code-body ::ng-deep pre code.code-lines{display:grid;padding:calc(var(--ng-doc-base-gutter) * 2) 0}:host .ng-doc-code-body ::ng-deep pre code .line{display:inline-block;width:100%;padding:0 calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-code-body ::ng-deep pre code .line.highlighted{position:relative;background:color-mix(in srgb,var(--ng-doc-code-highlight-color),transparent 90%)!important}:host .ng-doc-code-body ::ng-deep pre code .line.highlighted span{background:transparent!important}:host .ng-doc-code-body ::ng-deep pre code .line.highlighted:after{content:\"\";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--ng-doc-code-highlight-color);opacity:.8}\n"], dependencies: [{ kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "component", type: NgDocPageProcessorComponent, selector: "[ngDocPageProcessor]", inputs: ["ngDocPageProcessor"], outputs: ["afterRender"] }, { kind: "component", type: NgDocCopyButtonComponent, selector: "ng-doc-copy-button", inputs: ["text"] }, { kind: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }], viewProviders: [provideMainPageProcessor([linkProcessor, tooltipProcessor])], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25
25
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocCodeComponent, decorators: [{
|
|
27
27
|
type: Component,
|
|
28
28
|
args: [{ selector: 'ng-doc-code', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
29
29
|
NgDocTextComponent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-doc-app-components-code.mjs","sources":["../tmp-esm2022/components/code/code.component.js","../tmp-esm2022/components/code/ng-doc-app-components-code.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, inject, Input, } from '@angular/core';\nimport { NgDocCopyButtonComponent } from '@ng-doc/app/components/copy-button';\nimport { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes';\nimport { NgDocPageProcessorComponent } from '@ng-doc/app/processors/page-processor';\nimport { linkProcessor } from '@ng-doc/app/processors/processors/link';\nimport { tooltipProcessor } from '@ng-doc/app/processors/processors/tooltip';\nimport { provideMainPageProcessor } from '@ng-doc/app/tokens';\nimport { NgDocIconComponent, NgDocTextComponent } from '@ng-doc/ui-kit';\nimport * as i0 from \"@angular/core\";\nexport class NgDocCodeComponent {\n constructor() {\n this.elementRef = inject(ElementRef);\n this.html = '';\n this.copyButton = true;\n }\n get hasHeader() {\n return !!this.name || !!this.icon;\n }\n get codeElement() {\n return this.elementRef?.nativeElement.querySelector('code') ?? null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: NgDocCodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: NgDocCodeComponent, isStandalone: true, selector: \"ng-doc-code\", inputs: { html: \"html\", copyButton: \"copyButton\", name: \"name\", icon: \"icon\" }, host: { properties: { \"attr.data-ng-doc-has-header\": \"this.hasHeader\" } }, ngImport: i0, template: \"@if (hasHeader) {\\n <div class=\\\"ng-doc-code-header\\\">\\n <span class=\\\"ng-doc-code-file-name\\\" ng-doc-text>\\n @if (icon) {\\n <ng-doc-icon [customIcon]=\\\"icon\\\"></ng-doc-icon>\\n }\\n {{ name }}\\n </span>\\n </div>\\n}\\n<div class=\\\"ng-doc-code-body\\\">\\n @if (html) {\\n <div class=\\\"ng-doc-code-wrapper\\\" [ngDocPageProcessor]=\\\"html | ngDocSanitizeHtml\\\"></div>\\n } @else {\\n <div class=\\\"ng-doc-code-wrapper\\\">\\n <ng-content></ng-content>\\n </div>\\n }\\n\\n @if (copyButton) {\\n <ng-doc-copy-button class=\\\"ng-doc-copy-button\\\" [text]=\\\"this.codeElement?.textContent ?? ''\\\">\\n <ng-doc-icon icon=\\\"copy\\\"></ng-doc-icon>\\n </ng-doc-copy-button>\\n }\\n</div>\\n\", styles: [\":host{position:relative;display:block;margin:var(--ng-doc-code-margin)}:host:hover .ng-doc-copy-button{opacity:1}: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;--ng-doc-code-border: none}: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;border-top:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color));border-left:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color));border-right:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color))}: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: 13px}:host .ng-doc-code-header .ng-doc-code-file-name ng-doc-icon{margin-right:calc(var(--ng-doc-base-gutter) / 2)}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);opacity:0;--ng-doc-icon-color: var(--ng-doc-text-muted)}:host .ng-doc-code-wrapper{height:100%}:host .ng-doc-code-body{position:relative;height:100%;border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));border:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color));overflow:hidden}:host .ng-doc-code-body ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin);height:100%}:host .ng-doc-code-body ::ng-deep pre code{display:block;padding:calc(var(--ng-doc-base-gutter) * 2) 0;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%}:host .ng-doc-code-body ::ng-deep pre code.code-lines{display:grid;padding:calc(var(--ng-doc-base-gutter) * 2) 0}:host .ng-doc-code-body ::ng-deep pre code .line{display:inline-block;width:100%;padding:0 calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-code-body ::ng-deep pre code .line.highlighted{position:relative;background:color-mix(in srgb,var(--ng-doc-code-highlight-color),transparent 90%)!important}:host .ng-doc-code-body ::ng-deep pre code .line.highlighted span{background:transparent!important}:host .ng-doc-code-body ::ng-deep pre code .line.highlighted:after{content:\\\"\\\";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--ng-doc-code-highlight-color);opacity:.8}\\n\"], dependencies: [{ kind: \"component\", type: NgDocTextComponent, selector: \"[ng-doc-text]\", inputs: [\"size\", \"color\", \"align\", \"absoluteContent\"] }, { kind: \"component\", type: NgDocIconComponent, selector: \"ng-doc-icon\", inputs: [\"icon\", \"customIcon\", \"size\"] }, { kind: \"component\", type: NgDocPageProcessorComponent, selector: \"[ngDocPageProcessor]\", inputs: [\"ngDocPageProcessor\"], outputs: [\"afterRender\"] }, { kind: \"component\", type: NgDocCopyButtonComponent, selector: \"ng-doc-copy-button\", inputs: [\"text\"] }, { kind: \"pipe\", type: NgDocSanitizeHtmlPipe, name: \"ngDocSanitizeHtml\" }], viewProviders: [provideMainPageProcessor([linkProcessor, tooltipProcessor])], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: NgDocCodeComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ng-doc-code', changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n NgDocTextComponent,\n NgDocIconComponent,\n NgDocPageProcessorComponent,\n NgDocCopyButtonComponent,\n NgDocSanitizeHtmlPipe,\n ], viewProviders: [provideMainPageProcessor([linkProcessor, tooltipProcessor])], template: \"@if (hasHeader) {\\n <div class=\\\"ng-doc-code-header\\\">\\n <span class=\\\"ng-doc-code-file-name\\\" ng-doc-text>\\n @if (icon) {\\n <ng-doc-icon [customIcon]=\\\"icon\\\"></ng-doc-icon>\\n }\\n {{ name }}\\n </span>\\n </div>\\n}\\n<div class=\\\"ng-doc-code-body\\\">\\n @if (html) {\\n <div class=\\\"ng-doc-code-wrapper\\\" [ngDocPageProcessor]=\\\"html | ngDocSanitizeHtml\\\"></div>\\n } @else {\\n <div class=\\\"ng-doc-code-wrapper\\\">\\n <ng-content></ng-content>\\n </div>\\n }\\n\\n @if (copyButton) {\\n <ng-doc-copy-button class=\\\"ng-doc-copy-button\\\" [text]=\\\"this.codeElement?.textContent ?? ''\\\">\\n <ng-doc-icon icon=\\\"copy\\\"></ng-doc-icon>\\n </ng-doc-copy-button>\\n }\\n</div>\\n\", styles: [\":host{position:relative;display:block;margin:var(--ng-doc-code-margin)}:host:hover .ng-doc-copy-button{opacity:1}: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;--ng-doc-code-border: none}: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;border-top:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color));border-left:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color));border-right:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color))}: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: 13px}:host .ng-doc-code-header .ng-doc-code-file-name ng-doc-icon{margin-right:calc(var(--ng-doc-base-gutter) / 2)}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);opacity:0;--ng-doc-icon-color: var(--ng-doc-text-muted)}:host .ng-doc-code-wrapper{height:100%}:host .ng-doc-code-body{position:relative;height:100%;border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));border:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color));overflow:hidden}:host .ng-doc-code-body ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin);height:100%}:host .ng-doc-code-body ::ng-deep pre code{display:block;padding:calc(var(--ng-doc-base-gutter) * 2) 0;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%}:host .ng-doc-code-body ::ng-deep pre code.code-lines{display:grid;padding:calc(var(--ng-doc-base-gutter) * 2) 0}:host .ng-doc-code-body ::ng-deep pre code .line{display:inline-block;width:100%;padding:0 calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-code-body ::ng-deep pre code .line.highlighted{position:relative;background:color-mix(in srgb,var(--ng-doc-code-highlight-color),transparent 90%)!important}:host .ng-doc-code-body ::ng-deep pre code .line.highlighted span{background:transparent!important}:host .ng-doc-code-body ::ng-deep pre code .line.highlighted:after{content:\\\"\\\";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--ng-doc-code-highlight-color);opacity:.8}\\n\"] }]\n }], ctorParameters: () => [], propDecorators: { html: [{\n type: Input\n }], copyButton: [{\n type: Input\n }], name: [{\n type: Input\n }], icon: [{\n type: Input\n }], hasHeader: [{\n type: HostBinding,\n args: ['attr.data-ng-doc-has-header']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2NvZGUvY29kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2NvZGUvY29kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQWdCeEUsTUFBTSxPQUFPLGtCQUFrQjtJQWU3QjtRQWRRLGVBQVUsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO1FBR2pFLFNBQUksR0FBVyxFQUFFLENBQUM7UUFHbEIsZUFBVSxHQUFZLElBQUksQ0FBQztJQVFaLENBQUM7SUFFaEIsSUFDSSxTQUFTO1FBQ1gsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3RFLENBQUM7OEdBeEJVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLGtPQzlCL0IseXNCQXlCQSx5b0ZESEksa0JBQWtCLGlIQUNsQixrQkFBa0IsZ0dBQ2xCLDJCQUEyQiwySEFDM0Isd0JBQXdCLDRFQUN4QixxQkFBcUIsK0NBRVIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7OzJGQUVqRSxrQkFBa0I7a0JBZDlCLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQiwyQkFBMkI7d0JBQzNCLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3FCQUN0QixpQkFDYyxDQUFDLHdCQUF3QixDQUFDLENBQUMsYUFBYSxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQzt3REFNNUUsSUFBSTtzQkFESCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQU1GLFNBQVM7c0JBRFosV0FBVzt1QkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0LFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0RvY0NvcHlCdXR0b25Db21wb25lbnQgfSBmcm9tICdAbmctZG9jL2FwcC9jb21wb25lbnRzL2NvcHktYnV0dG9uJztcbmltcG9ydCB7IE5nRG9jU2FuaXRpemVIdG1sUGlwZSB9IGZyb20gJ0BuZy1kb2MvYXBwL3BpcGVzJztcbmltcG9ydCB7IE5nRG9jUGFnZVByb2Nlc3NvckNvbXBvbmVudCB9IGZyb20gJ0BuZy1kb2MvYXBwL3Byb2Nlc3NvcnMvcGFnZS1wcm9jZXNzb3InO1xuaW1wb3J0IHsgbGlua1Byb2Nlc3NvciB9IGZyb20gJ0BuZy1kb2MvYXBwL3Byb2Nlc3NvcnMvcHJvY2Vzc29ycy9saW5rJztcbmltcG9ydCB7IHRvb2x0aXBQcm9jZXNzb3IgfSBmcm9tICdAbmctZG9jL2FwcC9wcm9jZXNzb3JzL3Byb2Nlc3NvcnMvdG9vbHRpcCc7XG5pbXBvcnQgeyBwcm92aWRlTWFpblBhZ2VQcm9jZXNzb3IgfSBmcm9tICdAbmctZG9jL2FwcC90b2tlbnMnO1xuaW1wb3J0IHsgTmdEb2NJY29uQ29tcG9uZW50LCBOZ0RvY1RleHRDb21wb25lbnQgfSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLWRvYy1jb2RlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvZGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb2RlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgTmdEb2NUZXh0Q29tcG9uZW50LFxuICAgIE5nRG9jSWNvbkNvbXBvbmVudCxcbiAgICBOZ0RvY1BhZ2VQcm9jZXNzb3JDb21wb25lbnQsXG4gICAgTmdEb2NDb3B5QnV0dG9uQ29tcG9uZW50LFxuICAgIE5nRG9jU2FuaXRpemVIdG1sUGlwZSxcbiAgXSxcbiAgdmlld1Byb3ZpZGVyczogW3Byb3ZpZGVNYWluUGFnZVByb2Nlc3NvcihbbGlua1Byb2Nlc3NvciwgdG9vbHRpcFByb2Nlc3Nvcl0pXSxcbn0pXG5leHBvcnQgY2xhc3MgTmdEb2NDb2RlQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcblxuICBASW5wdXQoKVxuICBodG1sOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKVxuICBjb3B5QnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBuYW1lPzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGljb24/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLW5nLWRvYy1oYXMtaGVhZGVyJylcbiAgZ2V0IGhhc0hlYWRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLm5hbWUgfHwgISF0aGlzLmljb247XG4gIH1cblxuICBnZXQgY29kZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2NvZGUnKSA/PyBudWxsO1xuICB9XG59XG4iLCJAaWYgKGhhc0hlYWRlcikge1xuICA8ZGl2IGNsYXNzPVwibmctZG9jLWNvZGUtaGVhZGVyXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJuZy1kb2MtY29kZS1maWxlLW5hbWVcIiBuZy1kb2MtdGV4dD5cbiAgICAgIEBpZiAoaWNvbikge1xuICAgICAgICA8bmctZG9jLWljb24gW2N1c3RvbUljb25dPVwiaWNvblwiPjwvbmctZG9jLWljb24+XG4gICAgICB9XG4gICAgICB7eyBuYW1lIH19XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbn1cbjxkaXYgY2xhc3M9XCJuZy1kb2MtY29kZS1ib2R5XCI+XG4gIEBpZiAoaHRtbCkge1xuICAgIDxkaXYgY2xhc3M9XCJuZy1kb2MtY29kZS13cmFwcGVyXCIgW25nRG9jUGFnZVByb2Nlc3Nvcl09XCJodG1sIHwgbmdEb2NTYW5pdGl6ZUh0bWxcIj48L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cIm5nLWRvYy1jb2RlLXdyYXBwZXJcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIEBpZiAoY29weUJ1dHRvbikge1xuICAgIDxuZy1kb2MtY29weS1idXR0b24gY2xhc3M9XCJuZy1kb2MtY29weS1idXR0b25cIiBbdGV4dF09XCJ0aGlzLmNvZGVFbGVtZW50Py50ZXh0Q29udGVudCA/PyAnJ1wiPlxuICAgICAgPG5nLWRvYy1pY29uIGljb249XCJjb3B5XCI+PC9uZy1kb2MtaWNvbj5cbiAgICA8L25nLWRvYy1jb3B5LWJ1dHRvbj5cbiAgfVxuPC9kaXY+XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZG9jLWFwcC1jb21wb25lbnRzLWNvZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2NvZGUvbmctZG9jLWFwcC1jb21wb25lbnRzLWNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"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/ng-doc-app-components-code.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n inject,\n Input,\n} from '@angular/core';\nimport { NgDocCopyButtonComponent } from '@ng-doc/app/components/copy-button';\nimport { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes';\nimport { NgDocPageProcessorComponent } from '@ng-doc/app/processors/page-processor';\nimport { linkProcessor } from '@ng-doc/app/processors/processors/link';\nimport { tooltipProcessor } from '@ng-doc/app/processors/processors/tooltip';\nimport { provideMainPageProcessor } from '@ng-doc/app/tokens';\nimport { NgDocIconComponent, NgDocTextComponent } from '@ng-doc/ui-kit';\n\n@Component({\n selector: 'ng-doc-code',\n templateUrl: './code.component.html',\n styleUrls: ['./code.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgDocTextComponent,\n NgDocIconComponent,\n NgDocPageProcessorComponent,\n NgDocCopyButtonComponent,\n NgDocSanitizeHtmlPipe,\n ],\n viewProviders: [provideMainPageProcessor([linkProcessor, tooltipProcessor])],\n})\nexport class NgDocCodeComponent {\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n @Input()\n html: string = '';\n\n @Input()\n copyButton: boolean = true;\n\n @Input()\n name?: string;\n\n @Input()\n icon?: string;\n\n constructor() {}\n\n @HostBinding('attr.data-ng-doc-has-header')\n get hasHeader(): boolean {\n return !!this.name || !!this.icon;\n }\n\n get codeElement(): HTMLElement | null {\n return this.elementRef?.nativeElement.querySelector('code') ?? null;\n }\n}\n","@if (hasHeader) {\n <div class=\"ng-doc-code-header\">\n <span class=\"ng-doc-code-file-name\" ng-doc-text>\n @if (icon) {\n <ng-doc-icon [customIcon]=\"icon\"></ng-doc-icon>\n }\n {{ name }}\n </span>\n </div>\n}\n<div class=\"ng-doc-code-body\">\n @if (html) {\n <div class=\"ng-doc-code-wrapper\" [ngDocPageProcessor]=\"html | ngDocSanitizeHtml\"></div>\n } @else {\n <div class=\"ng-doc-code-wrapper\">\n <ng-content></ng-content>\n </div>\n }\n\n @if (copyButton) {\n <ng-doc-copy-button class=\"ng-doc-copy-button\" [text]=\"this.codeElement?.textContent ?? ''\">\n <ng-doc-icon icon=\"copy\"></ng-doc-icon>\n </ng-doc-copy-button>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;MA8Ba,kBAAkB,CAAA;AAe7B,IAAA,WAAA,GAAA;AAdQ,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAA0B,UAAU,CAAC;QAGhE,IAAA,CAAA,IAAI,GAAW,EAAE;QAGjB,IAAA,CAAA,UAAU,GAAY,IAAI;IAQX;AAEf,IAAA,IACI,SAAS,GAAA;QACX,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI;IACnC;AAEA,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI;IACrE;8GAxBW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,6BAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9B/B,ysBAyBA,EAAA,MAAA,EAAA,CAAA,ilFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDHI,kBAAkB,iHAClB,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,2BAA2B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC3B,wBAAwB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EACxB,qBAAqB,EAAA,IAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,aAAA,EAER,CAAC,wBAAwB,CAAC,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAEjE,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAd9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAAA,eAAA,EAGN,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC;wBACP,kBAAkB;wBAClB,kBAAkB;wBAClB,2BAA2B;wBAC3B,wBAAwB;wBACxB,qBAAqB;qBACtB,EAAA,aAAA,EACc,CAAC,wBAAwB,CAAC,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAA,QAAA,EAAA,ysBAAA,EAAA,MAAA,EAAA,CAAA,ilFAAA,CAAA,EAAA;;sBAK3E;;sBAGA;;sBAGA;;sBAGA;;sBAKA,WAAW;uBAAC,6BAA6B;;;AE/C5C;;AAEG;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Clipboard } from '@angular/cdk/clipboard';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { inject, ViewChild, Input, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
4
|
-
import { NgDocButtonIconComponent, NgDocTooltipDirective
|
|
4
|
+
import { NgDocButtonIconComponent, NgDocTooltipDirective } from '@ng-doc/ui-kit';
|
|
5
5
|
|
|
6
6
|
class NgDocCopyButtonComponent {
|
|
7
7
|
constructor() {
|
|
@@ -12,8 +12,8 @@ class NgDocCopyButtonComponent {
|
|
|
12
12
|
this.clipboard.copy(this.text);
|
|
13
13
|
this.tooltip.show();
|
|
14
14
|
}
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocCopyButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: NgDocCopyButtonComponent, isStandalone: true, selector: "ng-doc-copy-button", inputs: { text: "text" }, viewQueries: [{ propertyName: "tooltip", first: true, predicate: NgDocTooltipDirective, descendants: true, static: true }], ngImport: i0, template: `
|
|
17
17
|
<button
|
|
18
18
|
ng-doc-button-icon
|
|
19
19
|
[rounded]="false"
|
|
@@ -21,19 +21,17 @@ class NgDocCopyButtonComponent {
|
|
|
21
21
|
[ngDocTooltip]="tooltipContent"
|
|
22
22
|
(mouseenter)="tooltipText = 'Copy to clipboard'">
|
|
23
23
|
<ng-template #tooltipContent>
|
|
24
|
-
|
|
25
|
-
{{ tooltipText }}
|
|
26
|
-
</ng-doc-smooth-resize>
|
|
24
|
+
{{ tooltipText }}
|
|
27
25
|
</ng-template>
|
|
28
26
|
<ng-content></ng-content>
|
|
29
27
|
</button>
|
|
30
|
-
`, isInline: true, dependencies: [{ kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon], button[ng-doc-button-icon-raised], a[ng-doc-button-icon-raised], button[ng-doc-button-icon-transparent], a[ng-doc-button-icon-transparent]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }
|
|
28
|
+
`, isInline: true, dependencies: [{ kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon], button[ng-doc-button-icon-raised], a[ng-doc-button-icon-raised], button[ng-doc-button-icon-transparent], a[ng-doc-button-icon-transparent]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
29
|
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocCopyButtonComponent, decorators: [{
|
|
33
31
|
type: Component,
|
|
34
32
|
args: [{
|
|
35
33
|
selector: 'ng-doc-copy-button',
|
|
36
|
-
imports: [NgDocButtonIconComponent, NgDocTooltipDirective
|
|
34
|
+
imports: [NgDocButtonIconComponent, NgDocTooltipDirective],
|
|
37
35
|
template: `
|
|
38
36
|
<button
|
|
39
37
|
ng-doc-button-icon
|
|
@@ -42,9 +40,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImpor
|
|
|
42
40
|
[ngDocTooltip]="tooltipContent"
|
|
43
41
|
(mouseenter)="tooltipText = 'Copy to clipboard'">
|
|
44
42
|
<ng-template #tooltipContent>
|
|
45
|
-
|
|
46
|
-
{{ tooltipText }}
|
|
47
|
-
</ng-doc-smooth-resize>
|
|
43
|
+
{{ tooltipText }}
|
|
48
44
|
</ng-template>
|
|
49
45
|
<ng-content></ng-content>
|
|
50
46
|
</button>
|