@ng-doc/app 17.6.16 → 18.0.0-beta.2
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/classes/root-page/root-page.d.ts +4 -7
- package/components/api-list/api-list.component.d.ts +13 -11
- package/components/breadcrumb/breadcrumb.component.d.ts +0 -1
- package/components/code/code.component.d.ts +2 -7
- package/components/copy-button/copy-button.component.d.ts +12 -0
- package/components/copy-button/index.d.ts +1 -0
- package/components/demo-displayer/demo-displayer.component.d.ts +0 -5
- package/components/heading-anchor/heading-anchor.component.d.ts +9 -0
- package/components/heading-anchor/index.d.ts +1 -0
- package/components/image-viewer/image-viewer.component.d.ts +16 -0
- package/components/image-viewer/index.d.ts +1 -0
- package/components/index.d.ts +7 -0
- package/components/kind-icon/kind-icon.component.d.ts +2 -1
- package/components/mermaid-viewer/index.d.ts +1 -0
- package/components/mermaid-viewer/mermaid-viewer.component.d.ts +17 -0
- package/components/navbar/navbar.component.d.ts +3 -16
- package/components/page/page.component.d.ts +6 -14
- package/components/page-header/index.d.ts +1 -0
- package/components/page-header/page-header.component.d.ts +6 -0
- package/components/page-wrapper/index.d.ts +1 -0
- package/components/page-wrapper/page-wrapper.component.d.ts +22 -0
- package/components/playground/base-playground.d.ts +1 -1
- package/components/playground/playground-demo/playground-demo.component.d.ts +5 -6
- package/components/root/root.component.d.ts +4 -13
- package/components/search/search.component.d.ts +11 -17
- package/components/search-dialog/index.d.ts +1 -0
- package/components/search-dialog/search-dialog.component.d.ts +24 -0
- package/components/sidebar/sidebar-category/sidebar-category.component.d.ts +9 -10
- package/components/sidebar/sidebar-item/sidebar-item.component.d.ts +7 -2
- package/components/sidebar/sidebar.component.d.ts +5 -3
- package/components/theme-toggle/theme-toggle.component.d.ts +4 -5
- package/constants/index.d.ts +0 -1
- package/directives/code-highlighter/code-highlighter.directive.d.ts +11 -10
- package/esm2022/classes/default-search-engine/default-search-engine.mjs +10 -4
- package/esm2022/classes/root-page/root-page.mjs +1 -1
- package/esm2022/components/api-list/api-list.component.mjs +46 -64
- package/esm2022/components/breadcrumb/breadcrumb.component.mjs +7 -9
- package/esm2022/components/code/code.component.mjs +16 -19
- package/esm2022/components/copy-button/copy-button.component.mjs +61 -0
- package/esm2022/components/copy-button/index.mjs +2 -0
- package/esm2022/components/copy-button/ng-doc-app-components-copy-button.mjs +5 -0
- package/esm2022/components/demo/demo.component.mjs +5 -5
- package/esm2022/components/demo-displayer/demo-displayer.component.mjs +9 -14
- package/esm2022/components/demo-pane/demo-pane.component.mjs +5 -5
- package/esm2022/components/fullscreen-button/fullscreen-button.component.mjs +3 -3
- package/esm2022/components/heading-anchor/heading-anchor.component.mjs +38 -0
- package/esm2022/components/heading-anchor/index.mjs +2 -0
- package/esm2022/components/heading-anchor/ng-doc-app-components-heading-anchor.mjs +5 -0
- package/esm2022/components/image-viewer/image-viewer.component.mjs +80 -0
- package/esm2022/components/image-viewer/index.mjs +2 -0
- package/esm2022/components/image-viewer/ng-doc-app-components-image-viewer.mjs +5 -0
- package/esm2022/components/index.mjs +8 -1
- package/esm2022/components/kind-icon/kind-icon.component.mjs +11 -5
- package/esm2022/components/link/link.component.mjs +3 -3
- package/esm2022/components/mermaid-viewer/index.mjs +2 -0
- package/esm2022/components/mermaid-viewer/mermaid-viewer.component.mjs +55 -0
- package/esm2022/components/mermaid-viewer/ng-doc-app-components-mermaid-viewer.mjs +5 -0
- package/esm2022/components/navbar/navbar.component.mjs +12 -32
- package/esm2022/components/page/page.component.mjs +20 -72
- package/esm2022/components/page-header/index.mjs +2 -0
- package/esm2022/components/page-header/ng-doc-app-components-page-header.mjs +5 -0
- package/esm2022/components/page-header/page-header.component.mjs +19 -0
- package/esm2022/components/page-link/page-link.component.mjs +5 -5
- package/esm2022/components/page-navigation/page-navigation.component.mjs +5 -5
- package/esm2022/components/page-wrapper/index.mjs +2 -0
- package/esm2022/components/page-wrapper/ng-doc-app-components-page-wrapper.mjs +5 -0
- package/esm2022/components/page-wrapper/page-wrapper.component.mjs +87 -0
- package/esm2022/components/playground/base-playground.mjs +8 -8
- package/esm2022/components/playground/playground-demo/playground-demo.component.mjs +22 -21
- package/esm2022/components/playground/playground-properties/playground-properties.component.mjs +8 -6
- package/esm2022/components/playground/playground-property/playground-property.component.mjs +4 -4
- package/esm2022/components/playground/playground.component.mjs +6 -6
- package/esm2022/components/root/root.component.mjs +20 -37
- package/esm2022/components/search/search.component.mjs +31 -49
- package/esm2022/components/search-dialog/index.mjs +2 -0
- package/esm2022/components/search-dialog/ng-doc-app-components-search-dialog.mjs +5 -0
- package/esm2022/components/search-dialog/search-dialog.component.mjs +74 -0
- package/esm2022/components/search-result/search-result.component.mjs +4 -4
- package/esm2022/components/sidebar/sidebar-category/sidebar-category.component.mjs +22 -27
- package/esm2022/components/sidebar/sidebar-item/sidebar-item.component.mjs +18 -10
- package/esm2022/components/sidebar/sidebar.component.mjs +14 -13
- package/esm2022/components/tabs/tabs.component.mjs +4 -4
- package/esm2022/components/theme-toggle/theme-toggle.component.mjs +18 -53
- package/esm2022/components/toc/toc-element/toc-element.component.mjs +5 -5
- package/esm2022/components/toc/toc.component.mjs +37 -35
- package/esm2022/constants/index.mjs +1 -2
- package/esm2022/defaults/default-processors/default-processors.mjs +7 -4
- package/esm2022/directives/code-highlighter/code-highlighter.directive.mjs +18 -36
- package/esm2022/directives/route-active/route-active.directive.mjs +3 -3
- package/esm2022/helpers/as-boolean.mjs +1 -1
- package/esm2022/helpers/create-component.mjs +1 -1
- package/esm2022/helpers/generate-toc.mjs +5 -5
- package/esm2022/interfaces/navigation.mjs +1 -1
- package/esm2022/interfaces/processor-options.mjs +1 -1
- package/esm2022/interfaces/toc-item.mjs +1 -1
- package/esm2022/interfaces/type-control.mjs +1 -1
- package/esm2022/pipes/decode-uri-component/decode-uri-component.pipe.mjs +4 -4
- package/esm2022/pipes/extract-value/extract-value.pipe.mjs +3 -3
- package/esm2022/pipes/filter-by-text/filter-by-text.pipe.mjs +3 -3
- package/esm2022/pipes/sanitize-html/sanitize-html.pipe.mjs +3 -3
- package/esm2022/processors/page-processor/index.mjs +2 -2
- package/esm2022/processors/page-processor/page-processor.component.mjs +74 -0
- package/esm2022/processors/processors/blockquote.processor.mjs +2 -1
- package/esm2022/processors/processors/code.processor.mjs +3 -5
- package/esm2022/processors/processors/demo.processor.mjs +2 -2
- package/esm2022/processors/processors/heading-anchor.processor.mjs +12 -0
- package/esm2022/processors/processors/image.processor.mjs +19 -0
- package/esm2022/processors/processors/index.mjs +6 -3
- package/esm2022/processors/processors/link/index.mjs +2 -0
- package/esm2022/processors/processors/link/link.processor.mjs +13 -0
- package/esm2022/processors/processors/link/ng-doc-app-processors-processors-link.mjs +5 -0
- package/esm2022/processors/processors/mermaid.processor.mjs +11 -0
- package/esm2022/processors/processors/playground.processor.mjs +2 -2
- package/esm2022/processors/processors/tooltip/index.mjs +2 -0
- package/esm2022/processors/processors/tooltip/ng-doc-app-processors-processors-tooltip.mjs +5 -0
- package/esm2022/processors/processors/tooltip/tooltip.processor.mjs +56 -0
- package/esm2022/providers/index.mjs +2 -1
- package/esm2022/providers/mermaid/index.mjs +2 -0
- package/esm2022/providers/mermaid/ng-doc-app-providers-mermaid.mjs +5 -0
- package/esm2022/providers/mermaid/provide-mermaid.mjs +16 -0
- package/esm2022/providers/ng-doc-app/provide-ng-doc-app.mjs +12 -35
- package/esm2022/providers/playground-demo/provide-playground-demo.mjs +1 -1
- package/esm2022/providers/search-engine/provide-search-engine.mjs +2 -2
- package/esm2022/providers/type-control/provide-type-control.mjs +1 -1
- package/esm2022/services/highlighter/highlighter.service.mjs +39 -0
- package/esm2022/services/highlighter/index.mjs +2 -0
- package/esm2022/services/highlighter/ng-doc-app-services-highlighter.mjs +5 -0
- package/esm2022/services/index.mjs +2 -2
- package/esm2022/services/sidebar/sidebar.service.mjs +35 -50
- package/esm2022/services/store/store.service.mjs +3 -3
- package/esm2022/services/theme/theme.service.mjs +28 -127
- package/esm2022/tokens/index.mjs +4 -2
- package/esm2022/tokens/mermaid.mjs +3 -0
- package/esm2022/tokens/page-processor.mjs +2 -2
- package/esm2022/tokens/route-prefix.mjs +3 -0
- package/esm2022/tokens/shiki-theme.mjs +3 -0
- package/esm2022/type-controls/boolean-control/boolean-control.component.mjs +3 -3
- package/esm2022/type-controls/number-control/number-control.component.mjs +5 -5
- package/esm2022/type-controls/string-control/string-control.component.mjs +5 -5
- package/esm2022/type-controls/type-alias-control/type-alias-control.component.mjs +5 -5
- package/fesm2022/ng-doc-app-classes-default-search-engine.mjs +10 -4
- 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-components-api-list.mjs +47 -64
- package/fesm2022/ng-doc-app-components-api-list.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-breadcrumb.mjs +6 -8
- package/fesm2022/ng-doc-app-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-code.mjs +16 -18
- package/fesm2022/ng-doc-app-components-code.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-copy-button.mjs +68 -0
- package/fesm2022/ng-doc-app-components-copy-button.mjs.map +1 -0
- package/fesm2022/ng-doc-app-components-demo-displayer.mjs +8 -12
- 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 +4 -4
- 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-heading-anchor.mjs +45 -0
- package/fesm2022/ng-doc-app-components-heading-anchor.mjs.map +1 -0
- package/fesm2022/ng-doc-app-components-image-viewer.mjs +87 -0
- package/fesm2022/ng-doc-app-components-image-viewer.mjs.map +1 -0
- package/fesm2022/ng-doc-app-components-kind-icon.mjs +10 -4
- 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-mermaid-viewer.mjs +62 -0
- package/fesm2022/ng-doc-app-components-mermaid-viewer.mjs.map +1 -0
- package/fesm2022/ng-doc-app-components-navbar.mjs +12 -32
- package/fesm2022/ng-doc-app-components-navbar.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page-header.mjs +26 -0
- package/fesm2022/ng-doc-app-components-page-header.mjs.map +1 -0
- package/fesm2022/ng-doc-app-components-page-link.mjs +4 -4
- package/fesm2022/ng-doc-app-components-page-link.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page-navigation.mjs +4 -4
- package/fesm2022/ng-doc-app-components-page-navigation.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page-wrapper.mjs +94 -0
- package/fesm2022/ng-doc-app-components-page-wrapper.mjs.map +1 -0
- package/fesm2022/ng-doc-app-components-page.mjs +19 -71
- package/fesm2022/ng-doc-app-components-page.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-playground.mjs +43 -38
- package/fesm2022/ng-doc-app-components-playground.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-root.mjs +18 -35
- package/fesm2022/ng-doc-app-components-root.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-search-dialog.mjs +81 -0
- package/fesm2022/ng-doc-app-components-search-dialog.mjs.map +1 -0
- 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 +30 -48
- package/fesm2022/ng-doc-app-components-search.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-sidebar.mjs +49 -44
- package/fesm2022/ng-doc-app-components-sidebar.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-tabs.mjs +3 -3
- package/fesm2022/ng-doc-app-components-tabs.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-theme-toggle.mjs +17 -51
- package/fesm2022/ng-doc-app-components-theme-toggle.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-toc.mjs +40 -38
- package/fesm2022/ng-doc-app-components-toc.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components.mjs +7 -0
- package/fesm2022/ng-doc-app-components.mjs.map +1 -1
- package/fesm2022/ng-doc-app-constants.mjs +1 -37
- package/fesm2022/ng-doc-app-constants.mjs.map +1 -1
- package/fesm2022/ng-doc-app-defaults-default-processors.mjs +6 -3
- package/fesm2022/ng-doc-app-defaults-default-processors.mjs.map +1 -1
- package/fesm2022/ng-doc-app-directives-code-highlighter.mjs +17 -35
- 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-helpers.mjs +4 -4
- package/fesm2022/ng-doc-app-helpers.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-filter-by-text.mjs +3 -3
- package/fesm2022/ng-doc-app-pipes-sanitize-html.mjs +3 -3
- package/fesm2022/ng-doc-app-processors-page-processor.mjs +20 -14
- package/fesm2022/ng-doc-app-processors-page-processor.mjs.map +1 -1
- package/fesm2022/ng-doc-app-processors-processors-link.mjs +20 -0
- package/fesm2022/ng-doc-app-processors-processors-link.mjs.map +1 -0
- package/fesm2022/ng-doc-app-processors-processors-tooltip.mjs +63 -0
- package/fesm2022/ng-doc-app-processors-processors-tooltip.mjs.map +1 -0
- package/fesm2022/ng-doc-app-processors-processors.mjs +45 -70
- package/fesm2022/ng-doc-app-processors-processors.mjs.map +1 -1
- package/fesm2022/ng-doc-app-providers-mermaid.mjs +23 -0
- package/fesm2022/ng-doc-app-providers-mermaid.mjs.map +1 -0
- package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs +11 -34
- package/fesm2022/ng-doc-app-providers-ng-doc-app.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 +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 +1 -0
- package/fesm2022/ng-doc-app-providers.mjs.map +1 -1
- package/fesm2022/ng-doc-app-services-highlighter.mjs +46 -0
- package/fesm2022/ng-doc-app-services-highlighter.mjs.map +1 -0
- package/fesm2022/ng-doc-app-services-sidebar.mjs +35 -50
- package/fesm2022/ng-doc-app-services-sidebar.mjs.map +1 -1
- package/fesm2022/ng-doc-app-services-store.mjs +3 -3
- package/fesm2022/ng-doc-app-services-theme.mjs +27 -126
- package/fesm2022/ng-doc-app-services-theme.mjs.map +1 -1
- package/fesm2022/ng-doc-app-services.mjs +1 -1
- package/fesm2022/ng-doc-app-tokens.mjs +8 -4
- 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-number-control.mjs +4 -4
- package/fesm2022/ng-doc-app-type-controls-number-control.mjs.map +1 -1
- package/fesm2022/ng-doc-app-type-controls-string-control.mjs +4 -4
- package/fesm2022/ng-doc-app-type-controls-string-control.mjs.map +1 -1
- package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs +4 -4
- package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs.map +1 -1
- package/interfaces/navigation.d.ts +7 -1
- package/interfaces/processor-options.d.ts +4 -1
- package/package.json +104 -29
- package/processors/page-processor/index.d.ts +1 -1
- package/processors/page-processor/{page-processor.directive.d.ts → page-processor.component.d.ts} +7 -6
- package/processors/processors/heading-anchor.processor.d.ts +3 -0
- package/processors/processors/image.processor.d.ts +3 -0
- package/processors/processors/index.d.ts +5 -2
- package/processors/processors/link/index.d.ts +1 -0
- package/processors/processors/mermaid.processor.d.ts +3 -0
- package/processors/processors/tooltip/index.d.ts +1 -0
- package/providers/index.d.ts +1 -0
- package/providers/mermaid/index.d.ts +1 -0
- package/providers/mermaid/provide-mermaid.d.ts +7 -0
- package/providers/ng-doc-app/provide-ng-doc-app.d.ts +5 -10
- package/providers/playground-demo/provide-playground-demo.d.ts +1 -1
- package/providers/search-engine/provide-search-engine.d.ts +1 -1
- package/providers/type-control/provide-type-control.d.ts +1 -1
- package/services/highlighter/highlighter.service.d.ts +24 -0
- package/services/highlighter/index.d.ts +1 -0
- package/services/index.d.ts +1 -1
- package/services/sidebar/sidebar.service.d.ts +4 -10
- package/services/theme/theme.service.d.ts +9 -37
- package/styles/global.css +161 -132
- package/styles/main.css +150 -106
- package/styles/themes/dark.css +71 -0
- package/tokens/index.d.ts +3 -1
- package/tokens/mermaid.d.ts +3 -0
- package/tokens/page-processor.d.ts +1 -1
- package/tokens/route-prefix.d.ts +2 -0
- package/tokens/shiki-theme.d.ts +6 -0
- package/assets/themes/ng-doc-night.css +0 -111
- package/constants/themes.d.ts +0 -33
- package/esm2022/constants/themes.mjs +0 -36
- package/esm2022/processors/page-processor/page-processor.directive.mjs +0 -68
- package/esm2022/processors/processors/link.processor.mjs +0 -13
- package/esm2022/processors/processors/tooltip.processor.mjs +0 -56
- package/esm2022/tokens/api-list.mjs +0 -3
- package/tokens/api-list.d.ts +0 -3
- /package/processors/processors/{link.processor.d.ts → link/link.processor.d.ts} +0 -0
- /package/processors/processors/{tooltip.processor.d.ts → tooltip/tooltip.processor.d.ts} +0 -0
|
@@ -1,76 +1,41 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { NG_DOC_NIGHT_THEME } from '@ng-doc/app/constants';
|
|
5
|
-
import { NgDocThemeService } from '@ng-doc/app/services';
|
|
1
|
+
import { DOCUMENT, NgIf } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
|
|
3
|
+
import { NgDocThemeService } from '@ng-doc/app/services/theme';
|
|
6
4
|
import { NgDocButtonIconComponent, NgDocIconComponent, NgDocSmoothResizeComponent, NgDocTooltipDirective, } from '@ng-doc/ui-kit';
|
|
7
5
|
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@ng-doc/app/services";
|
|
9
6
|
export class NgDocThemeToggleComponent {
|
|
10
|
-
constructor(
|
|
11
|
-
this.themeService = themeService;
|
|
7
|
+
constructor() {
|
|
12
8
|
this.themes = [
|
|
13
9
|
{ name: 'Auto', theme: 'auto' },
|
|
14
|
-
{ name: 'Light', theme:
|
|
15
|
-
{ name: 'Dark', theme:
|
|
10
|
+
{ name: 'Light', theme: null },
|
|
11
|
+
{ name: 'Dark', theme: 'dark' },
|
|
16
12
|
];
|
|
13
|
+
this.documentElement = inject(DOCUMENT).documentElement;
|
|
14
|
+
this.themeService = inject(NgDocThemeService);
|
|
17
15
|
}
|
|
18
16
|
get currentTheme() {
|
|
19
|
-
|
|
20
|
-
return this.themes[0];
|
|
21
|
-
}
|
|
22
|
-
const theme = this.themeService.currentTheme;
|
|
17
|
+
const theme = this.documentElement.getAttribute('data-theme');
|
|
23
18
|
return this.themes.find(({ theme: t }) => t === theme) ?? this.themes[0];
|
|
24
19
|
}
|
|
25
20
|
get nextTheme() {
|
|
26
|
-
|
|
27
|
-
return this.themes[1];
|
|
28
|
-
}
|
|
29
|
-
const index = this.themes.findIndex(({ theme }) => theme === this.themeService.currentTheme);
|
|
21
|
+
const index = this.themes.findIndex(({ theme }) => theme === this.currentTheme.theme);
|
|
30
22
|
return this.themes[(index + 1) % this.themes.length];
|
|
31
23
|
}
|
|
32
24
|
toggleTheme() {
|
|
33
25
|
const { theme } = this.nextTheme;
|
|
34
|
-
|
|
35
|
-
this.themeService.enableAutoTheme(undefined, NG_DOC_NIGHT_THEME);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
this.themeService.set(theme?.id);
|
|
39
|
-
}
|
|
26
|
+
this.themeService.set(theme ?? undefined);
|
|
40
27
|
}
|
|
41
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
42
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
43
|
-
trigger('switchIcon', [
|
|
44
|
-
transition(':enter', [
|
|
45
|
-
style({ transform: 'translateX({{from}})', position: 'absolute', opacity: 0 }),
|
|
46
|
-
animate('225ms cubic-bezier(0.4,0.0,0.2,1)', style({ transform: 'translateX(0%)', position: 'absolute', opacity: 1 })),
|
|
47
|
-
], { params: { from: '-100%' } }),
|
|
48
|
-
transition(':leave', [
|
|
49
|
-
style({ transform: 'translateX(0%)', position: 'absolute', opacity: 1 }),
|
|
50
|
-
animate('225ms cubic-bezier(0.4,0.0,0.2,1)', style({ transform: 'translateX({{to}})', position: 'absolute', opacity: 0 })),
|
|
51
|
-
], { params: { to: '-100%' } }),
|
|
52
|
-
]),
|
|
53
|
-
], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocThemeToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: NgDocThemeToggleComponent, isStandalone: true, selector: "ng-doc-theme-toggle", ngImport: i0, template: "<button ng-doc-button-icon size=\"large\" (click)=\"toggleTheme()\" [ngDocTooltip]=\"tooltipContent\">\n <ng-template #tooltipContent>\n <ng-doc-smooth-resize [trigger]=\"currentTheme.name\">\n \"{{ currentTheme.name }}\" theme\n </ng-doc-smooth-resize>\n </ng-template>\n\n @if (currentTheme === themes[0]) {\n <div class=\"letter\">A</div>\n } @else if (currentTheme === themes[1]) {\n <ng-doc-icon icon=\"sun\" size=\"24\"></ng-doc-icon>\n } @else {\n <ng-doc-icon icon=\"moon\" size=\"24\"></ng-doc-icon>\n }\n</button>\n", styles: [":host{display:inline-block;height:40px;width:40px}:host .letter{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);--ng-doc-font-size: 26px;--ng-doc-font-weight: 600}\n"], 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"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "component", type: NgDocSmoothResizeComponent, selector: "ng-doc-smooth-resize", inputs: ["trigger", "animateOpacity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
54
30
|
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocThemeToggleComponent, decorators: [{
|
|
56
32
|
type: Component,
|
|
57
|
-
args: [{
|
|
58
|
-
trigger('switchIcon', [
|
|
59
|
-
transition(':enter', [
|
|
60
|
-
style({ transform: 'translateX({{from}})', position: 'absolute', opacity: 0 }),
|
|
61
|
-
animate('225ms cubic-bezier(0.4,0.0,0.2,1)', style({ transform: 'translateX(0%)', position: 'absolute', opacity: 1 })),
|
|
62
|
-
], { params: { from: '-100%' } }),
|
|
63
|
-
transition(':leave', [
|
|
64
|
-
style({ transform: 'translateX(0%)', position: 'absolute', opacity: 1 }),
|
|
65
|
-
animate('225ms cubic-bezier(0.4,0.0,0.2,1)', style({ transform: 'translateX({{to}})', position: 'absolute', opacity: 0 })),
|
|
66
|
-
], { params: { to: '-100%' } }),
|
|
67
|
-
]),
|
|
68
|
-
], selector: 'ng-doc-theme-toggle', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
33
|
+
args: [{ selector: 'ng-doc-theme-toggle', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
69
34
|
NgDocButtonIconComponent,
|
|
70
35
|
NgDocTooltipDirective,
|
|
71
36
|
NgIf,
|
|
72
37
|
NgDocIconComponent,
|
|
73
38
|
NgDocSmoothResizeComponent,
|
|
74
|
-
], template: "<button ng-doc-button-icon size=\"large\" (click)=\"toggleTheme()\" [ngDocTooltip]=\"tooltipContent\">\n
|
|
75
|
-
}]
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
], template: "<button ng-doc-button-icon size=\"large\" (click)=\"toggleTheme()\" [ngDocTooltip]=\"tooltipContent\">\n <ng-template #tooltipContent>\n <ng-doc-smooth-resize [trigger]=\"currentTheme.name\">\n \"{{ currentTheme.name }}\" theme\n </ng-doc-smooth-resize>\n </ng-template>\n\n @if (currentTheme === themes[0]) {\n <div class=\"letter\">A</div>\n } @else if (currentTheme === themes[1]) {\n <ng-doc-icon icon=\"sun\" size=\"24\"></ng-doc-icon>\n } @else {\n <ng-doc-icon icon=\"moon\" size=\"24\"></ng-doc-icon>\n }\n</button>\n", styles: [":host{display:inline-block;height:40px;width:40px}:host .letter{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);--ng-doc-font-size: 26px;--ng-doc-font-weight: 600}\n"] }]
|
|
40
|
+
}] });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvdGhlbWUtdG9nZ2xlL3RoZW1lLXRvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3RoZW1lLXRvZ2dsZS90aGVtZS10b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLGtCQUFrQixFQUNsQiwwQkFBMEIsRUFDMUIscUJBQXFCLEdBQ3RCLE1BQU0sZ0JBQWdCLENBQUM7O0FBcUJ4QixNQUFNLE9BQU8seUJBQXlCO0lBZHRDO1FBZXFCLFdBQU0sR0FBa0I7WUFDekMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7WUFDL0IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDOUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7U0FDaEMsQ0FBQztRQUNpQixvQkFBZSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxlQUFlLENBQUM7UUFDbkQsaUJBQVksR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztLQW1CN0Q7SUFqQkMsSUFBSSxZQUFZO1FBQ2QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFOUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0RixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsV0FBVztRQUNULE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBRWpDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsQ0FBQztJQUM1QyxDQUFDOzhHQXpCVSx5QkFBeUI7a0dBQXpCLHlCQUF5QiwrRUM3QnRDLHlpQkFlQSx1WERPSSx3QkFBd0IsdVFBQ3hCLHFCQUFxQiwwVUFFckIsa0JBQWtCLGdHQUNsQiwwQkFBMEI7OzJGQUdqQix5QkFBeUI7a0JBZHJDLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3dCQUNyQixJQUFJO3dCQUNKLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3FCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5ULCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdEb2NUaGVtZVNlcnZpY2UgfSBmcm9tICdAbmctZG9jL2FwcC9zZXJ2aWNlcy90aGVtZSc7XG5pbXBvcnQge1xuICBOZ0RvY0J1dHRvbkljb25Db21wb25lbnQsXG4gIE5nRG9jSWNvbkNvbXBvbmVudCxcbiAgTmdEb2NTbW9vdGhSZXNpemVDb21wb25lbnQsXG4gIE5nRG9jVG9vbHRpcERpcmVjdGl2ZSxcbn0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuXG5pbnRlcmZhY2UgVG9nZ2xlVGhlbWUge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRoZW1lOiBzdHJpbmcgfCBudWxsO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1kb2MtdGhlbWUtdG9nZ2xlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RoZW1lLXRvZ2dsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RoZW1lLXRvZ2dsZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nRG9jQnV0dG9uSWNvbkNvbXBvbmVudCxcbiAgICBOZ0RvY1Rvb2x0aXBEaXJlY3RpdmUsXG4gICAgTmdJZixcbiAgICBOZ0RvY0ljb25Db21wb25lbnQsXG4gICAgTmdEb2NTbW9vdGhSZXNpemVDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jVGhlbWVUb2dnbGVDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGhlbWVzOiBUb2dnbGVUaGVtZVtdID0gW1xuICAgIHsgbmFtZTogJ0F1dG8nLCB0aGVtZTogJ2F1dG8nIH0sXG4gICAgeyBuYW1lOiAnTGlnaHQnLCB0aGVtZTogbnVsbCB9LFxuICAgIHsgbmFtZTogJ0RhcmsnLCB0aGVtZTogJ2RhcmsnIH0sXG4gIF07XG4gIHByb3RlY3RlZCByZWFkb25seSBkb2N1bWVudEVsZW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpLmRvY3VtZW50RWxlbWVudDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRoZW1lU2VydmljZSA9IGluamVjdChOZ0RvY1RoZW1lU2VydmljZSk7XG5cbiAgZ2V0IGN1cnJlbnRUaGVtZSgpOiBUb2dnbGVUaGVtZSB7XG4gICAgY29uc3QgdGhlbWUgPSB0aGlzLmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdGhlbWUnKTtcblxuICAgIHJldHVybiB0aGlzLnRoZW1lcy5maW5kKCh7IHRoZW1lOiB0IH0pID0+IHQgPT09IHRoZW1lKSA/PyB0aGlzLnRoZW1lc1swXTtcbiAgfVxuXG4gIGdldCBuZXh0VGhlbWUoKTogVG9nZ2xlVGhlbWUge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy50aGVtZXMuZmluZEluZGV4KCh7IHRoZW1lIH0pID0+IHRoZW1lID09PSB0aGlzLmN1cnJlbnRUaGVtZS50aGVtZSk7XG5cbiAgICByZXR1cm4gdGhpcy50aGVtZXNbKGluZGV4ICsgMSkgJSB0aGlzLnRoZW1lcy5sZW5ndGhdO1xuICB9XG5cbiAgdG9nZ2xlVGhlbWUoKTogdm9pZCB7XG4gICAgY29uc3QgeyB0aGVtZSB9ID0gdGhpcy5uZXh0VGhlbWU7XG5cbiAgICB0aGlzLnRoZW1lU2VydmljZS5zZXQodGhlbWUgPz8gdW5kZWZpbmVkKTtcbiAgfVxufVxuIiwiPGJ1dHRvbiBuZy1kb2MtYnV0dG9uLWljb24gc2l6ZT1cImxhcmdlXCIgKGNsaWNrKT1cInRvZ2dsZVRoZW1lKClcIiBbbmdEb2NUb29sdGlwXT1cInRvb2x0aXBDb250ZW50XCI+XG4gIDxuZy10ZW1wbGF0ZSAjdG9vbHRpcENvbnRlbnQ+XG4gICAgPG5nLWRvYy1zbW9vdGgtcmVzaXplIFt0cmlnZ2VyXT1cImN1cnJlbnRUaGVtZS5uYW1lXCI+XG4gICAgICBcInt7IGN1cnJlbnRUaGVtZS5uYW1lIH19XCIgdGhlbWVcbiAgICA8L25nLWRvYy1zbW9vdGgtcmVzaXplPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIEBpZiAoY3VycmVudFRoZW1lID09PSB0aGVtZXNbMF0pIHtcbiAgICA8ZGl2IGNsYXNzPVwibGV0dGVyXCI+QTwvZGl2PlxuICB9IEBlbHNlIGlmIChjdXJyZW50VGhlbWUgPT09IHRoZW1lc1sxXSkge1xuICAgIDxuZy1kb2MtaWNvbiBpY29uPVwic3VuXCIgc2l6ZT1cIjI0XCI+PC9uZy1kb2MtaWNvbj5cbiAgfSBAZWxzZSB7XG4gICAgPG5nLWRvYy1pY29uIGljb249XCJtb29uXCIgc2l6ZT1cIjI0XCI+PC9uZy1kb2MtaWNvbj5cbiAgfVxuPC9idXR0b24+XG4iXX0=
|
|
@@ -10,12 +10,12 @@ export class NgDocTocElementComponent {
|
|
|
10
10
|
this.level = 1;
|
|
11
11
|
this.elementRef = inject(ElementRef);
|
|
12
12
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocTocElementComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: NgDocTocElementComponent, isStandalone: true, selector: "li[ng-doc-toc-element]", inputs: { path: "path", hash: "hash", selected: "selected", level: "level" }, host: { properties: { "attr.data-ng-doc-selected": "this.selected", "attr.data-ng-doc-level": "this.level" } }, ngImport: i0, template: "<a\n [routerLink]=\"[]\"\n [fragment]=\"hash | decodeUriComponent\"\n [style.padding-left]=\"'calc(var(--ng-doc-toc-indent) * ' + level + ')'\">\n <ng-content></ng-content>\n</a>\n", styles: [":host{display:flex;margin:0;color:var(--ng-doc-text)}:host[data-ng-doc-level=\"1\"] a{padding-left:var(--ng-doc-base-gutter)}:host[data-ng-doc-selected=true]{color:var(--ng-doc-primary)}:host:hover{cursor:pointer;color:var(--ng-doc-primary)}:host a{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);padding:calc(var(--ng-doc-base-gutter) / 2);color:inherit;width:100%;text-decoration:none;word-break:break-word;--ng-doc-font-size: 14px}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: NgDocDecodeUriComponentPipe, name: "decodeUriComponent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocTocElementComponent, decorators: [{
|
|
17
17
|
type: Component,
|
|
18
|
-
args: [{ selector: 'li[ng-doc-toc-element]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [RouterLink, NgDocDecodeUriComponentPipe], template: "<a\n
|
|
18
|
+
args: [{ selector: 'li[ng-doc-toc-element]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [RouterLink, NgDocDecodeUriComponentPipe], template: "<a\n [routerLink]=\"[]\"\n [fragment]=\"hash | decodeUriComponent\"\n [style.padding-left]=\"'calc(var(--ng-doc-toc-indent) * ' + level + ')'\">\n <ng-content></ng-content>\n</a>\n", styles: [":host{display:flex;margin:0;color:var(--ng-doc-text)}:host[data-ng-doc-level=\"1\"] a{padding-left:var(--ng-doc-base-gutter)}:host[data-ng-doc-selected=true]{color:var(--ng-doc-primary)}:host:hover{cursor:pointer;color:var(--ng-doc-primary)}:host a{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);padding:calc(var(--ng-doc-base-gutter) / 2);color:inherit;width:100%;text-decoration:none;word-break:break-word;--ng-doc-font-size: 14px}\n"] }]
|
|
19
19
|
}], propDecorators: { path: [{
|
|
20
20
|
type: Input
|
|
21
21
|
}], hash: [{
|
|
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
31
31
|
type: HostBinding,
|
|
32
32
|
args: ['attr.data-ng-doc-level']
|
|
33
33
|
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9jLWVsZW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY29tcG9uZW50cy90b2MvdG9jLWVsZW1lbnQvdG9jLWVsZW1lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY29tcG9uZW50cy90b2MvdG9jLWVsZW1lbnQvdG9jLWVsZW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7QUFVckYsTUFBTSxPQUFPLHdCQUF3QjtJQVJyQztRQVVFLFNBQUksR0FBVyxFQUFFLENBQUM7UUFHbEIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUlsQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBSTFCLFVBQUssR0FBVyxDQUFDLENBQUM7UUFFVCxlQUFVLEdBQTRCLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUNuRTs4R0FoQlksd0JBQXdCO2tHQUF4Qix3QkFBd0IsZ1JDbkJyQywwTEFNQSxzb0JEV1ksVUFBVSwrTkFBRSwyQkFBMkI7OzJGQUV0Qyx3QkFBd0I7a0JBUnBDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLFVBQVUsRUFBRSwyQkFBMkIsQ0FBQzs4QkFJbEQsSUFBSTtzQkFESCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFLTixRQUFRO3NCQUZQLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsMkJBQTJCO2dCQUt4QyxLQUFLO3NCQUZKLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIGluamVjdCxcbiAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOZ0RvY0RlY29kZVVyaUNvbXBvbmVudFBpcGUgfSBmcm9tICdAbmctZG9jL2FwcC9waXBlcy9kZWNvZGUtdXJpLWNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpW25nLWRvYy10b2MtZWxlbWVudF0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9jLWVsZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b2MtZWxlbWVudC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1JvdXRlckxpbmssIE5nRG9jRGVjb2RlVXJpQ29tcG9uZW50UGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jVG9jRWxlbWVudENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHBhdGg6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGhhc2g6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLW5nLWRvYy1zZWxlY3RlZCcpXG4gIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtbmctZG9jLWxldmVsJylcbiAgbGV2ZWw6IG51bWJlciA9IDE7XG5cbiAgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gPSBpbmplY3QoRWxlbWVudFJlZik7XG59XG4iLCI8YVxuICBbcm91dGVyTGlua109XCJbXVwiXG4gIFtmcmFnbWVudF09XCJoYXNoIHwgZGVjb2RlVXJpQ29tcG9uZW50XCJcbiAgW3N0eWxlLnBhZGRpbmctbGVmdF09XCInY2FsYyh2YXIoLS1uZy1kb2MtdG9jLWluZGVudCkgKiAnICsgbGV2ZWwgKyAnKSdcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9hPlxuIl19
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
2
|
import { DOCUMENT, NgFor } from '@angular/common';
|
|
3
|
-
import { afterNextRender,
|
|
3
|
+
import { afterNextRender, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, inject, Input, NgZone, QueryList, Renderer2, signal, ViewChild, ViewChildren, } from '@angular/core';
|
|
4
4
|
import { Router, Scroll } from '@angular/router';
|
|
5
5
|
import { isPresent } from '@ng-doc/core/helpers/is-present';
|
|
6
|
-
import {
|
|
6
|
+
import { ngDocZoneOptimize } from '@ng-doc/ui-kit';
|
|
7
7
|
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
|
8
8
|
import { fromEvent, merge } from 'rxjs';
|
|
9
9
|
import { debounceTime, distinctUntilChanged, filter, map, startWith } from 'rxjs/operators';
|
|
@@ -19,35 +19,37 @@ let NgDocTocComponent = class NgDocTocComponent {
|
|
|
19
19
|
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
20
20
|
this.renderer = inject(Renderer2);
|
|
21
21
|
this.router = inject(Router);
|
|
22
|
-
afterNextRender(
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
22
|
+
afterNextRender({
|
|
23
|
+
write: () => {
|
|
24
|
+
const scrollSelection = fromEvent(this.document, 'scroll').pipe(filter(() => !!this.tableOfContent.length), map((event) => event.target.scrollingElement), startWith(this.document.scrollingElement), map((target) => {
|
|
25
|
+
const percentage = (target.scrollTop * 100) / (target.scrollHeight - target.offsetHeight);
|
|
26
|
+
const selectionLine = target.scrollTop + (target.offsetHeight * percentage) / 100;
|
|
27
|
+
if (!this.tableOfContent.length) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
return this.tableOfContent.reduce((pTarget, cTarget) => {
|
|
31
|
+
const pTop = pTarget.element.getBoundingClientRect().top + target.scrollTop;
|
|
32
|
+
const cTop = cTarget.element.getBoundingClientRect().top + target.scrollTop;
|
|
33
|
+
return Math.abs(cTop - selectionLine) < Math.abs(pTop - selectionLine)
|
|
34
|
+
? cTarget
|
|
35
|
+
: pTarget;
|
|
36
|
+
});
|
|
37
|
+
}), filter(isPresent));
|
|
38
|
+
const routerSelection = this.router.events.pipe(map((event) => {
|
|
39
|
+
if (event instanceof Scroll) {
|
|
40
|
+
const item = this.tableOfContent.find((item) => item.path.includes(event.routerEvent.url));
|
|
41
|
+
if (item) {
|
|
42
|
+
return item;
|
|
43
|
+
}
|
|
42
44
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
45
|
+
return null;
|
|
46
|
+
}), filter(isPresent), debounceTime(20));
|
|
47
|
+
const elementsChanges = this.elements.changes.pipe(map(() => this.activeItem()), filter(isPresent));
|
|
48
|
+
merge(merge(scrollSelection, routerSelection).pipe(distinctUntilChanged()), elementsChanges)
|
|
49
|
+
.pipe(debounceTime(0), ngDocZoneOptimize(this.ngZone), untilDestroyed(this))
|
|
50
|
+
.subscribe(this.select.bind(this));
|
|
51
|
+
},
|
|
52
|
+
});
|
|
51
53
|
}
|
|
52
54
|
ngOnInit() {
|
|
53
55
|
this.activeItem.set(this.tableOfContent[0]);
|
|
@@ -68,17 +70,17 @@ let NgDocTocComponent = class NgDocTocComponent {
|
|
|
68
70
|
}
|
|
69
71
|
this.activeItem.set(item);
|
|
70
72
|
}
|
|
71
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
72
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.
|
|
73
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocTocComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
74
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: NgDocTocComponent, isStandalone: true, selector: "ng-doc-toc", inputs: { tableOfContent: "tableOfContent" }, viewQueries: [{ propertyName: "selection", first: true, predicate: ["selection"], descendants: true, read: ElementRef }, { propertyName: "elements", predicate: NgDocTocElementComponent, descendants: true }], ngImport: i0, template: "<div class=\"ng-doc-toc-wrapper\">\n <div class=\"ng-doc-toc-container\">\n <div class=\"ng-doc-toc-selection\" #selection></div>\n <ul class=\"ng-doc-toc\">\n @for (item of tableOfContent; track item) {\n <li\n ng-doc-toc-element\n [path]=\"item.path\"\n [hash]=\"item.hash\"\n [level]=\"item.level\"\n [selected]=\"item === activeItem()\">\n {{ item.title }}\n </li>\n }\n </ul>\n </div>\n</div>\n", styles: [":host .ng-doc-toc-wrapper{position:relative;width:var(--ng-doc-toc-width)}:host .ng-doc-toc-wrapper .ng-doc-toc-container{position:fixed;top:calc(var(--ng-doc-navbar-height) + var(--ng-doc-toc-top-padding));overflow-y:auto;height:calc(100% - var(--ng-doc-navbar-height) - var(--ng-doc-base-gutter) * 5);width:var(--ng-doc-toc-width)}:host .ng-doc-toc-wrapper .ng-doc-toc-selection{position:absolute;transform:translate(-50%);width:3px;border-radius:calc(var(--ng-doc-base-gutter) / 2);background-color:var(--ng-doc-primary);left:calc(var(--ng-doc-toc-margin) + 1px);transition:var(--ng-doc-transition)}:host .ng-doc-toc-wrapper .ng-doc-toc{list-style:none;margin:0 0 0 var(--ng-doc-toc-margin);border-left:1px solid var(--ng-doc-base-3);padding:0 0 0 var(--ng-doc-base-gutter)}@media (max-width: 1200px){:host .ng-doc-toc-wrapper{display:none}}\n"], dependencies: [{ kind: "component", type: NgDocTocElementComponent, selector: "li[ng-doc-toc-element]", inputs: ["path", "hash", "selected", "level"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
73
75
|
};
|
|
74
76
|
NgDocTocComponent = __decorate([
|
|
75
77
|
UntilDestroy(),
|
|
76
78
|
__metadata("design:paramtypes", [])
|
|
77
79
|
], NgDocTocComponent);
|
|
78
80
|
export { NgDocTocComponent };
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocTocComponent, decorators: [{
|
|
80
82
|
type: Component,
|
|
81
|
-
args: [{ selector: 'ng-doc-toc', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgFor, NgDocTocElementComponent
|
|
83
|
+
args: [{ selector: 'ng-doc-toc', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgFor, NgDocTocElementComponent], template: "<div class=\"ng-doc-toc-wrapper\">\n <div class=\"ng-doc-toc-container\">\n <div class=\"ng-doc-toc-selection\" #selection></div>\n <ul class=\"ng-doc-toc\">\n @for (item of tableOfContent; track item) {\n <li\n ng-doc-toc-element\n [path]=\"item.path\"\n [hash]=\"item.hash\"\n [level]=\"item.level\"\n [selected]=\"item === activeItem()\">\n {{ item.title }}\n </li>\n }\n </ul>\n </div>\n</div>\n", styles: [":host .ng-doc-toc-wrapper{position:relative;width:var(--ng-doc-toc-width)}:host .ng-doc-toc-wrapper .ng-doc-toc-container{position:fixed;top:calc(var(--ng-doc-navbar-height) + var(--ng-doc-toc-top-padding));overflow-y:auto;height:calc(100% - var(--ng-doc-navbar-height) - var(--ng-doc-base-gutter) * 5);width:var(--ng-doc-toc-width)}:host .ng-doc-toc-wrapper .ng-doc-toc-selection{position:absolute;transform:translate(-50%);width:3px;border-radius:calc(var(--ng-doc-base-gutter) / 2);background-color:var(--ng-doc-primary);left:calc(var(--ng-doc-toc-margin) + 1px);transition:var(--ng-doc-transition)}:host .ng-doc-toc-wrapper .ng-doc-toc{list-style:none;margin:0 0 0 var(--ng-doc-toc-margin);border-left:1px solid var(--ng-doc-base-3);padding:0 0 0 var(--ng-doc-base-gutter)}@media (max-width: 1200px){:host .ng-doc-toc-wrapper{display:none}}\n"] }]
|
|
82
84
|
}], ctorParameters: () => [], propDecorators: { tableOfContent: [{
|
|
83
85
|
type: Input
|
|
84
86
|
}], selection: [{
|
|
@@ -88,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
88
90
|
type: ViewChildren,
|
|
89
91
|
args: [NgDocTocElementComponent]
|
|
90
92
|
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9jLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvdG9jL3RvYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3RvYy90b2MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUNOLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEdBRVosTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFtQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQVd4RSxJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjtJQWtCN0I7UUFoQkEsbUJBQWMsR0FBbUIsRUFB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QUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxHQUFHLE9BQU8sQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO2dCQUN0RixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsR0FBRyxPQUFPLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQztnQkFFNUYsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLENBQUM7UUFDRixDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQzs4R0F0R1csaUJBQWlCO2tHQUFqQixpQkFBaUIsdU1BSUcsVUFBVSwyQ0FHNUIsd0JBQXdCLGdEQzdDdkMsMGVBaUJBLGsyQkRrQmtCLHdCQUF3Qjs7QUFHN0IsaUJBQWlCO0lBRDdCLFlBQVksRUFBRTs7R0FDRixpQkFBaUIsQ0F1RzdCOzsyRkF2R1ksaUJBQWlCO2tCQVQ3QixTQUFTOytCQUNDLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLENBQUM7d0RBS3BFLGNBQWM7c0JBRGIsS0FBSztnQkFJTixTQUFTO3NCQURSLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJNUMsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5ULCBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHRhZnRlck5leHRSZW5kZXIsXG5cdEFmdGVyUmVuZGVyUGhhc2UsXG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDaGFuZ2VEZXRlY3RvclJlZixcblx0Q29tcG9uZW50LFxuXHRFbGVtZW50UmVmLFxuXHRpbmplY3QsXG5cdElucHV0LFxuXHROZ1pvbmUsXG5cdE9uSW5pdCxcblx0UXVlcnlMaXN0LFxuXHRSZW5kZXJlcjIsXG5cdHNpZ25hbCxcblx0Vmlld0NoaWxkLFxuXHRWaWV3Q2hpbGRyZW4sXG5cdFdyaXRhYmxlU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50IGFzIFJFdmVudCwgUm91dGVyLCBTY3JvbGwgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTmdEb2NQYWdlVG9jLCBOZ0RvY1RvY0l0ZW0gfSBmcm9tICdAbmctZG9jL2FwcC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGlzUHJlc2VudCB9IGZyb20gJ0BuZy1kb2MvY29yZS9oZWxwZXJzL2lzLXByZXNlbnQnO1xuaW1wb3J0IHsgTmdEb2NNZWRpYVF1ZXJ5RGlyZWN0aXZlLCBuZ0RvY1pvbmVPcHRpbWl6ZSB9IGZyb20gJ0BuZy1kb2MvdWkta2l0JztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBtZXJnZSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTmdEb2NUb2NFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi90b2MtZWxlbWVudC90b2MtZWxlbWVudC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZy1kb2MtdG9jJyxcblx0dGVtcGxhdGVVcmw6ICcuL3RvYy5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3RvYy5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW05nRm9yLCBOZ0RvY1RvY0VsZW1lbnRDb21wb25lbnQsIE5nRG9jTWVkaWFRdWVyeURpcmVjdGl2ZV0sXG59KVxuQFVudGlsRGVzdHJveSgpXG5leHBvcnQgY2xhc3MgTmdEb2NUb2NDb21wb25lbnQgaW1wbGVtZW50cyBOZ0RvY1BhZ2VUb2MsIE9uSW5pdCB7XG5cdEBJbnB1dCgpXG5cdHRhYmxlT2ZDb250ZW50OiBOZ0RvY1RvY0l0ZW1bXSA9IFtdO1xuXG5cdEBWaWV3Q2hpbGQoJ3NlbGVjdGlvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuXHRzZWxlY3Rpb24/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuXHRAVmlld0NoaWxkcmVuKE5nRG9jVG9jRWxlbWVudENvbXBvbmVudClcblx0ZWxlbWVudHM6IFF1ZXJ5TGlzdDxOZ0RvY1RvY0VsZW1lbnRDb21wb25lbnQ+ID0gbmV3IFF1ZXJ5TGlzdDxOZ0RvY1RvY0VsZW1lbnRDb21wb25lbnQ+KCk7XG5cblx0YWN0aXZlSXRlbTogV3JpdGFibGVTaWduYWw8TmdEb2NUb2NJdGVtIHwgdW5kZWZpbmVkPiA9IHNpZ25hbCh1bmRlZmluZWQpO1xuXG5cdHByb3RlY3RlZCByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cdHByb3RlY3RlZCByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cdHByb3RlY3RlZCByZWFkb25seSByb3V0ZXI6IFJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGFmdGVyTmV4dFJlbmRlcihcblx0XHRcdCgpID0+IHtcblx0XHRcdFx0Y29uc3Qgc2Nyb2xsU2VsZWN0aW9uOiBPYnNlcnZhYmxlPE5nRG9jVG9jSXRlbT4gPSBmcm9tRXZlbnQodGhpcy5kb2N1bWVudCwgJ3Njcm9sbCcpLnBpcGUoXG5cdFx0XHRcdFx0ZmlsdGVyKCgpID0+ICEhdGhpcy50YWJsZU9mQ29udGVudC5sZW5ndGgpLFxuXHRcdFx0XHRcdG1hcCgoZXZlbnQ6IEV2ZW50KSA9PiAoZXZlbnQudGFyZ2V0IGFzIERvY3VtZW50KS5zY3JvbGxpbmdFbGVtZW50IGFzIEhUTUxFbGVtZW50KSxcblx0XHRcdFx0XHRzdGFydFdpdGgodGhpcy5kb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50IGFzIEhUTUxFbGVtZW50KSxcblx0XHRcdFx0XHRtYXAoKHRhcmdldDogSFRNTEVsZW1lbnQpID0+IHtcblx0XHRcdFx0XHRcdGNvbnN0IHBlcmNlbnRhZ2U6IG51bWJlciA9XG5cdFx0XHRcdFx0XHRcdCh0YXJnZXQuc2Nyb2xsVG9wICogMTAwKSAvICh0YXJnZXQuc2Nyb2xsSGVpZ2h0IC0gdGFyZ2V0Lm9mZnNldEhlaWdodCk7XG5cdFx0XHRcdFx0XHRjb25zdCBzZWxlY3Rpb25MaW5lOiBudW1iZXIgPVxuXHRcdFx0XHRcdFx0XHR0YXJnZXQuc2Nyb2xsVG9wICsgKHRhcmdldC5vZmZzZXRIZWlnaHQgKiBwZXJjZW50YWdlKSAvIDEwMDtcblxuXHRcdFx0XHRcdFx0aWYgKCF0aGlzLnRhYmxlT2ZDb250ZW50Lmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gbnVsbDtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMudGFibGVPZkNvbnRlbnQucmVkdWNlKChwVGFyZ2V0OiBOZ0RvY1RvY0l0ZW0sIGNUYXJnZXQ6IE5nRG9jVG9jSXRlbSkgPT4ge1xuXHRcdFx0XHRcdFx0XHRjb25zdCBwVG9wOiBudW1iZXIgPSBwVGFyZ2V0LmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgdGFyZ2V0LnNjcm9sbFRvcDtcblx0XHRcdFx0XHRcdFx0Y29uc3QgY1RvcDogbnVtYmVyID0gY1RhcmdldC5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHRhcmdldC5zY3JvbGxUb3A7XG5cblx0XHRcdFx0XHRcdFx0cmV0dXJuIE1hdGguYWJzKGNUb3AgLSBzZWxlY3Rpb25MaW5lKSA8IE1hdGguYWJzKHBUb3AgLSBzZWxlY3Rpb25MaW5lKVxuXHRcdFx0XHRcdFx0XHRcdD8gY1RhcmdldFxuXHRcdFx0XHRcdFx0XHRcdDogcFRhcmdldDtcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdGZpbHRlcihpc1ByZXNlbnQpLFxuXHRcdFx0XHQpO1xuXG5cdFx0XHRcdGNvbnN0IHJvdXRlclNlbGVjdGlvbjogT2JzZXJ2YWJsZTxOZ0RvY1RvY0l0ZW0+ID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG5cdFx0XHRcdFx0bWFwKChldmVudDogUkV2ZW50KSA9PiB7XG5cdFx0XHRcdFx0XHRpZiAoZXZlbnQgaW5zdGFuY2VvZiBTY3JvbGwpIHtcblx0XHRcdFx0XHRcdFx0Y29uc3QgaXRlbTogTmdEb2NUb2NJdGVtIHwgdW5kZWZpbmVkID0gdGhpcy50YWJsZU9mQ29udGVudC5maW5kKFxuXHRcdFx0XHRcdFx0XHRcdChpdGVtOiBOZ0RvY1RvY0l0ZW0pID0+IGl0ZW0ucGF0aC5pbmNsdWRlcyhldmVudC5yb3V0ZXJFdmVudC51cmwpLFxuXHRcdFx0XHRcdFx0XHQpO1xuXG5cdFx0XHRcdFx0XHRcdGlmIChpdGVtKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGl0ZW07XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0ZmlsdGVyKGlzUHJlc2VudCksXG5cdFx0XHRcdFx0ZGVib3VuY2VUaW1lKDIwKSxcblx0XHRcdFx0KTtcblxuXHRcdFx0XHRjb25zdCBlbGVtZW50c0NoYW5nZXMgPSB0aGlzLmVsZW1lbnRzLmNoYW5nZXMucGlwZShcblx0XHRcdFx0XHRtYXAoKCkgPT4gdGhpcy5hY3RpdmVJdGVtKCkpLFxuXHRcdFx0XHRcdGZpbHRlcihpc1ByZXNlbnQpLFxuXHRcdFx0XHQpO1xuXG5cdFx0XHRcdG1lcmdlKG1lcmdlKHNjcm9sbFNlbGVjdGlvbiwgcm91dGVyU2VsZWN0aW9uKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLCBlbGVtZW50c0NoYW5nZXMpXG5cdFx0XHRcdFx0LnBpcGUoZGVib3VuY2VUaW1lKDApLCBuZ0RvY1pvbmVPcHRpbWl6ZSh0aGlzLm5nWm9uZSksIHVudGlsRGVzdHJveWVkKHRoaXMpKVxuXHRcdFx0XHRcdC5zdWJzY3JpYmUodGhpcy5zZWxlY3QuYmluZCh0aGlzKSk7XG5cdFx0XHR9LFxuXHRcdFx0eyBwaGFzZTogQWZ0ZXJSZW5kZXJQaGFzZS5Xcml0ZSB9LFxuXHRcdCk7XG5cdH1cblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLmFjdGl2ZUl0ZW0uc2V0KHRoaXMudGFibGVPZkNvbnRlbnRbMF0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNlbGVjdHMgdGhlIGl0ZW0gaW4gdGhlIHRhYmxlIG9mIGNvbnRlbnQuXG5cdCAqIEBwYXJhbSBpdGVtIC0gSXRlbSB0byBzZWxlY3QuXG5cdCAqL1xuXHRwcm90ZWN0ZWQgc2VsZWN0KGl0ZW06IE5nRG9jVG9jSXRlbSk6IHZvaWQge1xuXHRcdGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLnRhYmxlT2ZDb250ZW50LmluZGV4T2YoaXRlbSk7XG5cblx0XHRpZiAodGhpcy5zZWxlY3Rpb24pIHtcblx0XHRcdGNvbnN0IGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkID1cblx0XHRcdFx0dGhpcy5lbGVtZW50cy50b0FycmF5KClbaW5kZXhdPy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cblx0XHRcdGlmIChlbGVtZW50KSB7XG5cdFx0XHRcdHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5zZWxlY3Rpb24ubmF0aXZlRWxlbWVudCwgJ3RvcCcsIGAke2VsZW1lbnQub2Zmc2V0VG9wfXB4YCk7XG5cdFx0XHRcdHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5zZWxlY3Rpb24ubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke2VsZW1lbnQub2Zmc2V0SGVpZ2h0fXB4YCk7XG5cblx0XHRcdFx0ZWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0dGhpcy5hY3RpdmVJdGVtLnNldChpdGVtKTtcblx0fVxufVxuIiwiPGRpdiBjbGFzcz1cIm5nLWRvYy10b2Mtd3JhcHBlclwiPlxuXHQ8ZGl2IGNsYXNzPVwibmctZG9jLXRvYy1jb250YWluZXJcIj5cblx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLXRvYy1zZWxlY3Rpb25cIiAjc2VsZWN0aW9uPjwvZGl2PlxuXHRcdDx1bCBjbGFzcz1cIm5nLWRvYy10b2NcIj5cblx0XHRcdEBmb3IgKGl0ZW0gb2YgdGFibGVPZkNvbnRlbnQ7IHRyYWNrIGl0ZW0pIHtcblx0XHRcdFx0PGxpXG5cdFx0XHRcdFx0bmctZG9jLXRvYy1lbGVtZW50XG5cdFx0XHRcdFx0W3BhdGhdPVwiaXRlbS5wYXRoXCJcblx0XHRcdFx0XHRbaGFzaF09XCJpdGVtLmhhc2hcIlxuXHRcdFx0XHRcdFtsZXZlbF09XCJpdGVtLmxldmVsXCJcblx0XHRcdFx0XHRbc2VsZWN0ZWRdPVwiaXRlbSA9PT0gYWN0aXZlSXRlbSgpXCI+XG5cdFx0XHRcdFx0e3sgaXRlbS50aXRsZSB9fVxuXHRcdFx0XHQ8L2xpPlxuXHRcdFx0fVxuXHRcdDwvdWw+XG5cdDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9jLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvdG9jL3RvYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3RvYy90b2MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUNMLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxFQUNULFNBQVMsRUFDVCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksR0FFYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1CLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBV3hFLElBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWlCO0lBa0I1QjtRQWhCQSxtQkFBYyxHQUFtQixFQUFFLENBQUM7UUFNcEMsYUFBUSxHQUF3QyxJ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LE9BQU8sQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO2dCQUN0RixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsR0FBRyxPQUFPLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQztnQkFFNUYsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBQy9DLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQzs4R0E3RlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsdU1BSUksVUFBVSwyQ0FHNUIsd0JBQXdCLGdEQzVDeEMsMGVBaUJBLHc0QkRpQm1CLHdCQUF3Qjs7QUFHOUIsaUJBQWlCO0lBRDdCLFlBQVksRUFBRTs7R0FDRixpQkFBaUIsQ0E4RjdCOzsyRkE5RlksaUJBQWlCO2tCQVQ3QixTQUFTOytCQUNFLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLENBQUM7d0RBSzFDLGNBQWM7c0JBRGIsS0FBSztnQkFJTixTQUFTO3NCQURSLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJNUMsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5ULCBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBhZnRlck5leHRSZW5kZXIsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uSW5pdCxcbiAgUXVlcnlMaXN0LFxuICBSZW5kZXJlcjIsXG4gIHNpZ25hbCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFdyaXRhYmxlU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50IGFzIFJFdmVudCwgUm91dGVyLCBTY3JvbGwgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTmdEb2NQYWdlVG9jLCBOZ0RvY1RvY0l0ZW0gfSBmcm9tICdAbmctZG9jL2FwcC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGlzUHJlc2VudCB9IGZyb20gJ0BuZy1kb2MvY29yZS9oZWxwZXJzL2lzLXByZXNlbnQnO1xuaW1wb3J0IHsgbmdEb2Nab25lT3B0aW1pemUgfSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE5nRG9jVG9jRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vdG9jLWVsZW1lbnQvdG9jLWVsZW1lbnQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctZG9jLXRvYycsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b2MuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0ZvciwgTmdEb2NUb2NFbGVtZW50Q29tcG9uZW50XSxcbn0pXG5AVW50aWxEZXN0cm95KClcbmV4cG9ydCBjbGFzcyBOZ0RvY1RvY0NvbXBvbmVudCBpbXBsZW1lbnRzIE5nRG9jUGFnZVRvYywgT25Jbml0IHtcbiAgQElucHV0KClcbiAgdGFibGVPZkNvbnRlbnQ6IE5nRG9jVG9jSXRlbVtdID0gW107XG5cbiAgQFZpZXdDaGlsZCgnc2VsZWN0aW9uJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHNlbGVjdGlvbj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGRyZW4oTmdEb2NUb2NFbGVtZW50Q29tcG9uZW50KVxuICBlbGVtZW50czogUXVlcnlMaXN0PE5nRG9jVG9jRWxlbWVudENvbXBvbmVudD4gPSBuZXcgUXVlcnlMaXN0PE5nRG9jVG9jRWxlbWVudENvbXBvbmVudD4oKTtcblxuICBhY3RpdmVJdGVtOiBXcml0YWJsZVNpZ25hbDxOZ0RvY1RvY0l0ZW0gfCB1bmRlZmluZWQ+ID0gc2lnbmFsKHVuZGVmaW5lZCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRvY3VtZW50OiBEb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyKHtcbiAgICAgIHdyaXRlOiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHNjcm9sbFNlbGVjdGlvbjogT2JzZXJ2YWJsZTxOZ0RvY1RvY0l0ZW0+ID0gZnJvbUV2ZW50KHRoaXMuZG9jdW1lbnQsICdzY3JvbGwnKS5waXBlKFxuICAgICAgICAgIGZpbHRlcigoKSA9PiAhIXRoaXMudGFibGVPZkNvbnRlbnQubGVuZ3RoKSxcbiAgICAgICAgICBtYXAoKGV2ZW50OiBFdmVudCkgPT4gKGV2ZW50LnRhcmdldCBhcyBEb2N1bWVudCkuc2Nyb2xsaW5nRWxlbWVudCBhcyBIVE1MRWxlbWVudCksXG4gICAgICAgICAgc3RhcnRXaXRoKHRoaXMuZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudCBhcyBIVE1MRWxlbWVudCksXG4gICAgICAgICAgbWFwKCh0YXJnZXQ6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwZXJjZW50YWdlOiBudW1iZXIgPVxuICAgICAgICAgICAgICAodGFyZ2V0LnNjcm9sbFRvcCAqIDEwMCkgLyAodGFyZ2V0LnNjcm9sbEhlaWdodCAtIHRhcmdldC5vZmZzZXRIZWlnaHQpO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0aW9uTGluZTogbnVtYmVyID1cbiAgICAgICAgICAgICAgdGFyZ2V0LnNjcm9sbFRvcCArICh0YXJnZXQub2Zmc2V0SGVpZ2h0ICogcGVyY2VudGFnZSkgLyAxMDA7XG4gICAgICAgICAgICBpZiAoIXRoaXMudGFibGVPZkNvbnRlbnQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudGFibGVPZkNvbnRlbnQucmVkdWNlKChwVGFyZ2V0OiBOZ0RvY1RvY0l0ZW0sIGNUYXJnZXQ6IE5nRG9jVG9jSXRlbSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBwVG9wOiBudW1iZXIgPSBwVGFyZ2V0LmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgdGFyZ2V0LnNjcm9sbFRvcDtcbiAgICAgICAgICAgICAgY29uc3QgY1RvcDogbnVtYmVyID0gY1RhcmdldC5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHRhcmdldC5zY3JvbGxUb3A7XG4gICAgICAgICAgICAgIHJldHVybiBNYXRoLmFicyhjVG9wIC0gc2VsZWN0aW9uTGluZSkgPCBNYXRoLmFicyhwVG9wIC0gc2VsZWN0aW9uTGluZSlcbiAgICAgICAgICAgICAgICA/IGNUYXJnZXRcbiAgICAgICAgICAgICAgICA6IHBUYXJnZXQ7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBmaWx0ZXIoaXNQcmVzZW50KSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3Qgcm91dGVyU2VsZWN0aW9uOiBPYnNlcnZhYmxlPE5nRG9jVG9jSXRlbT4gPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICAgICAgICBtYXAoKGV2ZW50OiBSRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIFNjcm9sbCkge1xuICAgICAgICAgICAgICBjb25zdCBpdGVtOiBOZ0RvY1RvY0l0ZW0gfCB1bmRlZmluZWQgPSB0aGlzLnRhYmxlT2ZDb250ZW50LmZpbmQoXG4gICAgICAgICAgICAgICAgKGl0ZW06IE5nRG9jVG9jSXRlbSkgPT4gaXRlbS5wYXRoLmluY2x1ZGVzKGV2ZW50LnJvdXRlckV2ZW50LnVybCksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGZpbHRlcihpc1ByZXNlbnQpLFxuICAgICAgICAgIGRlYm91bmNlVGltZSgyMCksXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzQ2hhbmdlcyA9IHRoaXMuZWxlbWVudHMuY2hhbmdlcy5waXBlKFxuICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmFjdGl2ZUl0ZW0oKSksXG4gICAgICAgICAgZmlsdGVyKGlzUHJlc2VudCksXG4gICAgICAgICk7XG4gICAgICAgIG1lcmdlKG1lcmdlKHNjcm9sbFNlbGVjdGlvbiwgcm91dGVyU2VsZWN0aW9uKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLCBlbGVtZW50c0NoYW5nZXMpXG4gICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDApLCBuZ0RvY1pvbmVPcHRpbWl6ZSh0aGlzLm5nWm9uZSksIHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy5zZWxlY3QuYmluZCh0aGlzKSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVJdGVtLnNldCh0aGlzLnRhYmxlT2ZDb250ZW50WzBdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIHRoZSBpdGVtIGluIHRoZSB0YWJsZSBvZiBjb250ZW50LlxuICAgKiBAcGFyYW0gaXRlbSAtIEl0ZW0gdG8gc2VsZWN0LlxuICAgKi9cbiAgcHJvdGVjdGVkIHNlbGVjdChpdGVtOiBOZ0RvY1RvY0l0ZW0pOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleDogbnVtYmVyID0gdGhpcy50YWJsZU9mQ29udGVudC5pbmRleE9mKGl0ZW0pO1xuXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICBjb25zdCBlbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCA9XG4gICAgICAgIHRoaXMuZWxlbWVudHMudG9BcnJheSgpW2luZGV4XT8uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuc2VsZWN0aW9uLm5hdGl2ZUVsZW1lbnQsICd0b3AnLCBgJHtlbGVtZW50Lm9mZnNldFRvcH1weGApO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuc2VsZWN0aW9uLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHtlbGVtZW50Lm9mZnNldEhlaWdodH1weGApO1xuXG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ25lYXJlc3QnIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlSXRlbS5zZXQoaXRlbSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJuZy1kb2MtdG9jLXdyYXBwZXJcIj5cbiAgPGRpdiBjbGFzcz1cIm5nLWRvYy10b2MtY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm5nLWRvYy10b2Mtc2VsZWN0aW9uXCIgI3NlbGVjdGlvbj48L2Rpdj5cbiAgICA8dWwgY2xhc3M9XCJuZy1kb2MtdG9jXCI+XG4gICAgICBAZm9yIChpdGVtIG9mIHRhYmxlT2ZDb250ZW50OyB0cmFjayBpdGVtKSB7XG4gICAgICAgIDxsaVxuICAgICAgICAgIG5nLWRvYy10b2MtZWxlbWVudFxuICAgICAgICAgIFtwYXRoXT1cIml0ZW0ucGF0aFwiXG4gICAgICAgICAgW2hhc2hdPVwiaXRlbS5oYXNoXCJcbiAgICAgICAgICBbbGV2ZWxdPVwiaXRlbS5sZXZlbFwiXG4gICAgICAgICAgW3NlbGVjdGVkXT1cIml0ZW0gPT09IGFjdGl2ZUl0ZW0oKVwiPlxuICAgICAgICAgIHt7IGl0ZW0udGl0bGUgfX1cbiAgICAgICAgPC9saT5cbiAgICAgIH1cbiAgICA8L3VsPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
export * from './store-keys';
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb25zdGFudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3N0b3JlLWtleXMnO1xuZXhwb3J0ICogZnJvbSAnLi90aGVtZXMnO1xuIl19
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb25zdGFudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3N0b3JlLWtleXMnO1xuIl19
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import { blockquoteProcessor, codeProcessor, demoPaneProcessor, demoProcessor, iconProcessor, linkProcessor, playgroundProcessor, tabsProcessor, tooltipProcessor, } from '@ng-doc/app/processors/processors';
|
|
1
|
+
import { blockquoteProcessor, codeProcessor, demoPaneProcessor, demoProcessor, headingAnchorProcessor, iconProcessor, imageProcessor, linkProcessor, mermaidProcessor, playgroundProcessor, tabsProcessor, tooltipProcessor, } from '@ng-doc/app/processors/processors';
|
|
2
2
|
export const NG_DOC_DEFAULT_PAGE_PROCESSORS = [
|
|
3
3
|
/**
|
|
4
4
|
* The order of the directives is important.
|
|
5
5
|
* The higher the directive is in the list, the earlier it will be run.
|
|
6
6
|
*/
|
|
7
|
-
|
|
7
|
+
linkProcessor,
|
|
8
8
|
iconProcessor,
|
|
9
|
+
headingAnchorProcessor,
|
|
10
|
+
blockquoteProcessor,
|
|
9
11
|
tooltipProcessor,
|
|
10
|
-
|
|
12
|
+
mermaidProcessor,
|
|
11
13
|
codeProcessor,
|
|
12
14
|
demoProcessor,
|
|
13
15
|
demoPaneProcessor,
|
|
14
16
|
playgroundProcessor,
|
|
15
17
|
tabsProcessor,
|
|
18
|
+
imageProcessor,
|
|
16
19
|
];
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1wcm9jZXNzb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvZGVmYXVsdHMvZGVmYXVsdC1wcm9jZXNzb3JzL2RlZmF1bHQtcHJvY2Vzc29ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsYUFBYSxFQUNiLHNCQUFzQixFQUN0QixhQUFhLEVBQ2IsY0FBYyxFQUNkLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixnQkFBZ0IsR0FDakIsTUFBTSxtQ0FBbUMsQ0FBQztBQUUzQyxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBeUI7SUFDbEU7OztPQUdHO0lBQ0gsYUFBYTtJQUNiLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLGFBQWE7SUFDYixpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixjQUFjO0NBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRG9jUGFnZVByb2Nlc3NvciB9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgYmxvY2txdW90ZVByb2Nlc3NvcixcbiAgY29kZVByb2Nlc3NvcixcbiAgZGVtb1BhbmVQcm9jZXNzb3IsXG4gIGRlbW9Qcm9jZXNzb3IsXG4gIGhlYWRpbmdBbmNob3JQcm9jZXNzb3IsXG4gIGljb25Qcm9jZXNzb3IsXG4gIGltYWdlUHJvY2Vzc29yLFxuICBsaW5rUHJvY2Vzc29yLFxuICBtZXJtYWlkUHJvY2Vzc29yLFxuICBwbGF5Z3JvdW5kUHJvY2Vzc29yLFxuICB0YWJzUHJvY2Vzc29yLFxuICB0b29sdGlwUHJvY2Vzc29yLFxufSBmcm9tICdAbmctZG9jL2FwcC9wcm9jZXNzb3JzL3Byb2Nlc3NvcnMnO1xuXG5leHBvcnQgY29uc3QgTkdfRE9DX0RFRkFVTFRfUEFHRV9QUk9DRVNTT1JTOiBOZ0RvY1BhZ2VQcm9jZXNzb3JbXSA9IFtcbiAgLyoqXG4gICAqIFRoZSBvcmRlciBvZiB0aGUgZGlyZWN0aXZlcyBpcyBpbXBvcnRhbnQuXG4gICAqIFRoZSBoaWdoZXIgdGhlIGRpcmVjdGl2ZSBpcyBpbiB0aGUgbGlzdCwgdGhlIGVhcmxpZXIgaXQgd2lsbCBiZSBydW4uXG4gICAqL1xuICBsaW5rUHJvY2Vzc29yLFxuICBpY29uUHJvY2Vzc29yLFxuICBoZWFkaW5nQW5jaG9yUHJvY2Vzc29yLFxuICBibG9ja3F1b3RlUHJvY2Vzc29yLFxuICB0b29sdGlwUHJvY2Vzc29yLFxuICBtZXJtYWlkUHJvY2Vzc29yLFxuICBjb2RlUHJvY2Vzc29yLFxuICBkZW1vUHJvY2Vzc29yLFxuICBkZW1vUGFuZVByb2Nlc3NvcixcbiAgcGxheWdyb3VuZFByb2Nlc3NvcixcbiAgdGFic1Byb2Nlc3NvcixcbiAgaW1hZ2VQcm9jZXNzb3IsXG5dO1xuIl19
|
|
@@ -1,44 +1,26 @@
|
|
|
1
|
-
import { Directive, ElementRef,
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import { computed, Directive, ElementRef, inject, input } from '@angular/core';
|
|
2
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
3
|
+
import { NgDocHighlighterService } from '@ng-doc/app/services';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
highlight.registerLanguage('html', xml);
|
|
6
|
-
highlight.registerLanguage('xml', xml);
|
|
7
5
|
export class NgDocCodeHighlighterDirective {
|
|
8
|
-
constructor(
|
|
9
|
-
this.
|
|
10
|
-
this.
|
|
11
|
-
this.
|
|
12
|
-
this.
|
|
13
|
-
this.
|
|
6
|
+
constructor() {
|
|
7
|
+
this.code = input.required({ alias: 'ngDocHighlighter' });
|
|
8
|
+
this.element = inject((ElementRef)).nativeElement;
|
|
9
|
+
this.highlighter = inject(NgDocHighlighterService);
|
|
10
|
+
this.sanitizer = inject(DomSanitizer);
|
|
11
|
+
this.highlightedCode = computed(() => this.sanitizer.bypassSecurityTrustHtml(this.highlighter.highlight(this.code())));
|
|
14
12
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const result = highlight.highlight(this.code, { language: this.language });
|
|
18
|
-
this.elementRef.nativeElement.innerHTML = result.value ?? this.html;
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
this.elementRef.nativeElement.innerHTML = this.html;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocCodeHighlighterDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
25
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: NgDocCodeHighlighterDirective, isStandalone: true, selector: "code[ngDocCodeHighlighter]", inputs: { code: ["ngDocCodeHighlighter", "code"], html: "html", language: "language" }, host: { properties: { "class.hljs": "this.highlightJsClass" } }, usesOnChanges: true, ngImport: i0 }); }
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocCodeHighlighterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
14
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgDocCodeHighlighterDirective, isStandalone: true, selector: "[ngDocHighlighter]", inputs: { code: { classPropertyName: "code", publicName: "ngDocHighlighter", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "innerHTML": "highlightedCode()" } }, ngImport: i0 }); }
|
|
26
15
|
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocCodeHighlighterDirective, decorators: [{
|
|
28
17
|
type: Directive,
|
|
29
18
|
args: [{
|
|
30
|
-
selector: '
|
|
19
|
+
selector: '[ngDocHighlighter]',
|
|
31
20
|
standalone: true,
|
|
21
|
+
host: {
|
|
22
|
+
'[innerHTML]': 'highlightedCode()',
|
|
23
|
+
},
|
|
32
24
|
}]
|
|
33
|
-
}], ctorParameters: () => [
|
|
34
|
-
|
|
35
|
-
args: ['ngDocCodeHighlighter']
|
|
36
|
-
}], html: [{
|
|
37
|
-
type: Input
|
|
38
|
-
}], language: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}], highlightJsClass: [{
|
|
41
|
-
type: HostBinding,
|
|
42
|
-
args: ['class.hljs']
|
|
43
|
-
}] } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1oaWdobGlnaHRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9kaXJlY3RpdmVzL2NvZGUtaGlnaGxpZ2h0ZXIvY29kZS1oaWdobGlnaHRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUVyRixPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEdBQUcsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFakQsU0FBUyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztBQUN4QyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBTXZDLE1BQU0sT0FBTyw2QkFBNkI7SUFhekMsWUFBNkIsVUFBbUM7UUFBbkMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFYaEUsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUdsQixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBR2xCLGFBQVEsR0FBVyxZQUFZLENBQUM7UUFHdEIscUJBQWdCLEdBQVksSUFBSSxDQUFDO0lBRXdCLENBQUM7SUFFcEUsV0FBVztRQUNWLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2YsTUFBTSxNQUFNLEdBQW9CLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUU1RixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3JFLENBQUM7YUFBTSxDQUFDO1lBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDckQsQ0FBQztJQUNGLENBQUM7OEdBdkJXLDZCQUE2QjtrR0FBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFVBQVUsRUFBRSxJQUFJO2lCQUNoQjsrRUFHQSxJQUFJO3NCQURILEtBQUs7dUJBQUMsc0JBQXNCO2dCQUk3QixJQUFJO3NCQURILEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlJLGdCQUFnQjtzQkFEekIsV0FBVzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSGlnaGxpZ2h0UmVzdWx0IH0gZnJvbSAnaGlnaGxpZ2h0LmpzJztcbmltcG9ydCBoaWdobGlnaHQgZnJvbSAnaGlnaGxpZ2h0LmpzL2xpYi9jb3JlJztcbmltcG9ydCB4bWwgZnJvbSAnaGlnaGxpZ2h0LmpzL2xpYi9sYW5ndWFnZXMveG1sJztcblxuaGlnaGxpZ2h0LnJlZ2lzdGVyTGFuZ3VhZ2UoJ2h0bWwnLCB4bWwpO1xuaGlnaGxpZ2h0LnJlZ2lzdGVyTGFuZ3VhZ2UoJ3htbCcsIHhtbCk7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ2NvZGVbbmdEb2NDb2RlSGlnaGxpZ2h0ZXJdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTmdEb2NDb2RlSGlnaGxpZ2h0ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXHRASW5wdXQoJ25nRG9jQ29kZUhpZ2hsaWdodGVyJylcblx0Y29kZTogc3RyaW5nID0gJyc7XG5cblx0QElucHV0KClcblx0aHRtbDogc3RyaW5nID0gJyc7XG5cblx0QElucHV0KClcblx0bGFuZ3VhZ2U6IHN0cmluZyA9ICd0eXBlc2NyaXB0JztcblxuXHRASG9zdEJpbmRpbmcoJ2NsYXNzLmhsanMnKVxuXHRwcm90ZWN0ZWQgaGlnaGxpZ2h0SnNDbGFzczogYm9vbGVhbiA9IHRydWU7XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge31cblxuXHRuZ09uQ2hhbmdlcygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5jb2RlKSB7XG5cdFx0XHRjb25zdCByZXN1bHQ6IEhpZ2hsaWdodFJlc3VsdCA9IGhpZ2hsaWdodC5oaWdobGlnaHQodGhpcy5jb2RlLCB7IGxhbmd1YWdlOiB0aGlzLmxhbmd1YWdlIH0pO1xuXG5cdFx0XHR0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSByZXN1bHQudmFsdWUgPz8gdGhpcy5odG1sO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmh0bWw7XG5cdFx0fVxuXHR9XG59XG4iXX0=
|
|
25
|
+
}], ctorParameters: () => [] });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1oaWdobGlnaHRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9kaXJlY3RpdmVzL2NvZGUtaGlnaGxpZ2h0ZXIvY29kZS1oaWdobGlnaHRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQVMvRCxNQUFNLE9BQU8sNkJBQTZCO0lBU3hDO1FBUkEsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQVMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBSTFDLFlBQU8sR0FBRyxNQUFNLENBQUMsQ0FBQSxVQUF1QixDQUFBLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDeEQsZ0JBQVcsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUM5QyxjQUFTLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBR2xELElBQUksQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQ2hGLENBQUM7SUFDSixDQUFDOzhHQWJVLDZCQUE2QjtrR0FBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQVB6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0osYUFBYSxFQUFFLG1CQUFtQjtxQkFDbkM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE5nRG9jSGlnaGxpZ2h0ZXJTZXJ2aWNlIH0gZnJvbSAnQG5nLWRvYy9hcHAvc2VydmljZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbmdEb2NIaWdobGlnaHRlcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1tpbm5lckhUTUxdJzogJ2hpZ2hsaWdodGVkQ29kZSgpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTmdEb2NDb2RlSGlnaGxpZ2h0ZXJEaXJlY3RpdmUge1xuICBjb2RlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPih7IGFsaWFzOiAnbmdEb2NIaWdobGlnaHRlcicgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGhpZ2hsaWdodGVkQ29kZTogU2lnbmFsPFNhZmVIdG1sPjtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50PikubmF0aXZlRWxlbWVudDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGhpZ2hsaWdodGVyID0gaW5qZWN0KE5nRG9jSGlnaGxpZ2h0ZXJTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaGlnaGxpZ2h0ZWRDb2RlID0gY29tcHV0ZWQoKCkgPT5cbiAgICAgIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHRoaXMuaGlnaGxpZ2h0ZXIuaGlnaGxpZ2h0KHRoaXMuY29kZSgpKSksXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -27,8 +27,8 @@ let NgDocRouteActiveDirective = class NgDocRouteActiveDirective {
|
|
|
27
27
|
: asArray(this.activeClass).forEach((cls) => this.renderer.removeClass(this.elementRef.nativeElement, cls));
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
31
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocRouteActiveDirective, deps: [{ token: i0.ElementRef }, { token: i1.Router }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
31
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: NgDocRouteActiveDirective, isStandalone: true, selector: "[ngDocRouteActive]", inputs: { link: ["ngDocRouteActive", "link"], activeClass: "activeClass", matchOptions: "matchOptions" }, ngImport: i0 }); }
|
|
32
32
|
};
|
|
33
33
|
NgDocRouteActiveDirective = __decorate([
|
|
34
34
|
UntilDestroy(),
|
|
@@ -37,7 +37,7 @@ NgDocRouteActiveDirective = __decorate([
|
|
|
37
37
|
Renderer2])
|
|
38
38
|
], NgDocRouteActiveDirective);
|
|
39
39
|
export { NgDocRouteActiveDirective };
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocRouteActiveDirective, decorators: [{
|
|
41
41
|
type: Directive,
|
|
42
42
|
args: [{
|
|
43
43
|
selector: '[ngDocRouteActive]',
|
|
@@ -12,4 +12,4 @@ export function asBoolean(value) {
|
|
|
12
12
|
}
|
|
13
13
|
return !!value;
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXMtYm9vbGVhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2hlbHBlcnMvYXMtYm9vbGVhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQWM7SUFDdEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxNQUFNO1lBQ25DLENBQUMsQ0FBQyxJQUFJO1lBQ04sQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxPQUFPO2dCQUMvQixDQUFDLENBQUMsS0FBSztnQkFDUCxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqXG4gKiBAcGFyYW0gdmFsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzQm9vbGVhbih2YWx1ZTogdW5rbm93bik6IGJvb2xlYW4ge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB2YWx1ZS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZSdcbiAgICAgID8gdHJ1ZVxuICAgICAgOiB2YWx1ZS50b0xvd2VyQ2FzZSgpID09PSAnZmFsc2UnXG4gICAgICAgID8gZmFsc2VcbiAgICAgICAgOiAhIXZhbHVlO1xuICB9XG4gIHJldHVybiAhIXZhbHVlO1xufVxuIl19
|
|
@@ -13,4 +13,4 @@ export function createComponent(viewContainer, component, inputs) {
|
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2hlbHBlcnMvY3JlYXRlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQzdCLGFBQStCLEVBQy9CLFNBQWtCLEVBQ2xCLE1BQWU7SUFFZixhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFFdEIsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUU5RCxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQzlDLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICpcbiAqIEBwYXJhbSB2aWV3Q29udGFpbmVyXG4gKiBAcGFyYW0gY29tcG9uZW50XG4gKiBAcGFyYW0gaW5wdXRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb21wb25lbnQ8VD4oXG4gIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gIGNvbXBvbmVudDogVHlwZTxUPixcbiAgaW5wdXRzPzogb2JqZWN0LFxuKTogdm9pZCB7XG4gIHZpZXdDb250YWluZXIuY2xlYXIoKTtcblxuICBjb25zdCBjb21wb25lbnRSZWYgPSB2aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQpO1xuXG4gIGlmIChpbnB1dHMpIHtcbiAgICBPYmplY3QuZW50cmllcyhpbnB1dHMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgY29tcG9uZW50UmVmLnNldElucHV0KGtleSwgdmFsdWUpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -10,13 +10,13 @@ export function generateToc(container) {
|
|
|
10
10
|
const levels = asArray(new Set(headingElements.map(levelFromTagName).sort()));
|
|
11
11
|
return headingElements.reduce((map, heading) => {
|
|
12
12
|
const headingLevel = levelFromTagName(heading);
|
|
13
|
-
const
|
|
14
|
-
if (
|
|
13
|
+
const isHeadingLink = heading.getAttribute('headingLink') === 'true';
|
|
14
|
+
if (isHeadingLink) {
|
|
15
15
|
map.push({
|
|
16
16
|
title: heading.textContent?.trim() ?? '',
|
|
17
17
|
element: heading,
|
|
18
|
-
path:
|
|
19
|
-
hash:
|
|
18
|
+
path: heading.getAttribute('href') ?? '',
|
|
19
|
+
hash: heading.id,
|
|
20
20
|
level: levels.indexOf(headingLevel) + 1,
|
|
21
21
|
});
|
|
22
22
|
}
|
|
@@ -30,4 +30,4 @@ export function generateToc(container) {
|
|
|
30
30
|
function levelFromTagName(heading) {
|
|
31
31
|
return Number(heading.tagName.toLowerCase().replace(/[a-z]*/g, '') || 1);
|
|
32
32
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtdG9jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvaGVscGVycy9nZW5lcmF0ZS10b2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR3hEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLFNBQXNCO0lBQ2hELE1BQU0sUUFBUSxHQUFtQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFdEUsTUFBTSxlQUFlLEdBQXlCLEtBQUssQ0FBQyxJQUFJLENBQ3RELFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBcUIsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNwRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQTJCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUV0RCxNQUFNLE1BQU0sR0FBYSxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUV4RixPQUFPLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFtQixFQUFFLE9BQTJCLEVBQUUsRUFBRTtRQUNqRixNQUFNLFlBQVksR0FBVyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RCxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxLQUFLLE1BQU0sQ0FBQztRQUVyRSxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2xCLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQ1AsS0FBSyxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTtnQkFDeEMsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLElBQUksRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQ3hDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRTtnQkFDaEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQzthQUN4QyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxnQkFBZ0IsQ0FBQyxPQUEyQjtJQUNuRCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDM0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRG9jVG9jSXRlbSB9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgYXNBcnJheSB9IGZyb20gJ0BuZy1kb2MvY29yZS9oZWxwZXJzL2FzLWFycmF5JztcbmltcG9ydCB7IE5nRG9jSGVhZGluZyB9IGZyb20gJ0BuZy1kb2MvY29yZS90eXBlcyc7XG5cbi8qKlxuICogR2VuZXJhdGUgdGFibGUgb2YgY29udGVudHMsIG9ubHkgZm9yIGhlYWRpbmdzIHdpdGggaWRcbiAqIEBwYXJhbSBjb250YWluZXJcbiAqIEBwYXJhbSBoZWFkaW5nc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVUb2MoY29udGFpbmVyOiBIVE1MRWxlbWVudCk6IE5nRG9jVG9jSXRlbVtdIHtcbiAgY29uc3QgaGVhZGluZ3M6IE5nRG9jSGVhZGluZ1tdID0gWydoMScsICdoMicsICdoMycsICdoNCcsICdoNScsICdoNiddO1xuXG4gIGNvbnN0IGhlYWRpbmdFbGVtZW50czogSFRNTEhlYWRpbmdFbGVtZW50W10gPSBBcnJheS5mcm9tKFxuICAgIGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsPEhUTUxIZWFkaW5nRWxlbWVudD4oaGVhZGluZ3Muam9pbignLCAnKSksXG4gICkuZmlsdGVyKChoZWFkaW5nOiBIVE1MSGVhZGluZ0VsZW1lbnQpID0+IGhlYWRpbmcuaWQpO1xuXG4gIGNvbnN0IGxldmVsczogbnVtYmVyW10gPSBhc0FycmF5KG5ldyBTZXQoaGVhZGluZ0VsZW1lbnRzLm1hcChsZXZlbEZyb21UYWdOYW1lKS5zb3J0KCkpKTtcblxuICByZXR1cm4gaGVhZGluZ0VsZW1lbnRzLnJlZHVjZSgobWFwOiBOZ0RvY1RvY0l0ZW1bXSwgaGVhZGluZzogSFRNTEhlYWRpbmdFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgaGVhZGluZ0xldmVsOiBudW1iZXIgPSBsZXZlbEZyb21UYWdOYW1lKGhlYWRpbmcpO1xuICAgIGNvbnN0IGlzSGVhZGluZ0xpbmsgPSBoZWFkaW5nLmdldEF0dHJpYnV0ZSgnaGVhZGluZ0xpbmsnKSA9PT0gJ3RydWUnO1xuXG4gICAgaWYgKGlzSGVhZGluZ0xpbmspIHtcbiAgICAgIG1hcC5wdXNoKHtcbiAgICAgICAgdGl0bGU6IGhlYWRpbmcudGV4dENvbnRlbnQ/LnRyaW0oKSA/PyAnJyxcbiAgICAgICAgZWxlbWVudDogaGVhZGluZyxcbiAgICAgICAgcGF0aDogaGVhZGluZy5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSA/PyAnJyxcbiAgICAgICAgaGFzaDogaGVhZGluZy5pZCxcbiAgICAgICAgbGV2ZWw6IGxldmVscy5pbmRleE9mKGhlYWRpbmdMZXZlbCkgKyAxLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hcDtcbiAgfSwgW10pO1xufVxuXG4vKipcbiAqXG4gKiBAcGFyYW0gaGVhZGluZ1xuICovXG5mdW5jdGlvbiBsZXZlbEZyb21UYWdOYW1lKGhlYWRpbmc6IEhUTUxIZWFkaW5nRWxlbWVudCk6IG51bWJlciB7XG4gIHJldHVybiBOdW1iZXIoaGVhZGluZy50YWdOYW1lLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvW2Etel0qL2csICcnKSB8fCAxKTtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2ludGVyZmFjZXMvbmF2aWdhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSlNEb2NNZXRhZGF0YSwgTmdEb2NCYXNlRW50aXR5IH0gZnJvbSAnQG5nLWRvYy9jb3JlL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIE5hdmlnYXRpb24gaXRlbSBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ0RvY05hdmlnYXRpb24gZXh0ZW5kcyBOZ0RvY0Jhc2VFbnRpdHkge1xuICBleHBhbmRhYmxlPzogYm9vbGVhbjtcbiAgLyoqIERldGVybWluZXMgd2hldGhlciB0aGUgY2F0ZWdvcnkgc2hvdWxkIGJlIGV4cGFuZGVkIGJ5IGRlZmF1bHQgKi9cbiAgZXhwYW5kZWQ/OiBib29sZWFuO1xuICAvKiogQ2hpbGRyZW4gb2YgdGhlIG5hdmlnYXRpb24gaXRlbSAqL1xuICBjaGlsZHJlbj86IE5nRG9jTmF2aWdhdGlvbltdO1xuICAvKiogVGhlIHJvdXRlIG9mIHRoZSBlbnRpdHkgKGN1cnJlbnQgc291cmNlRmlsZUZvbGRlciBuYW1lIGJ5IGRlZmF1bHQpICovXG4gIHJvdXRlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgaXRlbSBtZXRhZGF0YS5cbiAgICogQ29sbGVjdHMgYWxsIHRhZ3MgYmFzZWQgb24gdGhlIEpTRG9jIHRhZ3MgZm9yIGBOZ0RvY1BhZ2VgIG9yIGBOZ0RvY0NhdGVnb3J5YFxuICAgKiBlbnRpdGllcy5cbiAgICovXG4gIG1ldGFkYXRhPzogSlNEb2NNZXRhZGF0YTtcbn1cbiJdfQ==
|