@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 +1 @@
|
|
|
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 { AsyncPipe, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Inject, Input } from '@angular/core';\nimport {\n\tFormBuilder,\n\tFormControl,\n\tFormGroup,\n\tFormsModule,\n\tReactiveFormsModule,\n} from '@angular/forms';\nimport { ActivatedRoute, ParamMap, Router, RouterLink } from '@angular/router';\nimport { NgDocKindIconComponent } from '@ng-doc/app/components/kind-icon';\nimport { NG_DOC_API_LIST_TOKEN } from '@ng-doc/app/tokens';\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\tNgDocAutofocusDirective,\n\tNgDocComboboxComponent,\n\tNgDocDataDirective,\n\tNgDocIconComponent,\n\tNgDocInputStringDirective,\n\tNgDocInputWrapperComponent,\n\tNgDocLabelComponent,\n\tNgDocListComponent,\n\tNgDocOptionComponent,\n\tNgDocTextComponent,\n\tNgDocTextLeftDirective,\n\tNgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\nimport { ngDocMakePure } from '@ng-doc/ui-kit/decorators';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { Observable } from 'rxjs';\nimport { debounceTime, map, startWith } from 'rxjs/operators';\n\ninterface ApiFilterForm {\n\tfilter: FormControl<string | null>;\n\tscope: FormControl<string | null>;\n\ttype: FormControl<string | null>;\n}\n\n@Component({\n\tselector: 'ng-doc-api-list',\n\ttemplateUrl: './api-list.component.html',\n\tstyleUrls: ['./api-list.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgDocTextComponent,\n\t\tNgIf,\n\t\tFormsModule,\n\t\tReactiveFormsModule,\n\t\tNgDocLabelComponent,\n\t\tNgDocInputWrapperComponent,\n\t\tNgDocIconComponent,\n\t\tNgDocInputStringDirective,\n\t\tNgDocAutofocusDirective,\n\t\tNgDocComboboxComponent,\n\t\tNgDocDataDirective,\n\t\tNgDocListComponent,\n\t\tNgFor,\n\t\tNgDocOptionComponent,\n\t\tNgTemplateOutlet,\n\t\tNgDocKindIconComponent,\n\t\tNgDocTextLeftDirective,\n\t\tNgDocTooltipDirective,\n\t\tRouterLink,\n\t\tAsyncPipe,\n\t],\n})\n@UntilDestroy()\nexport class NgDocApiListComponent {\n\t@Input() title: string = 'API Reference';\n\tformGroup: FormGroup<ApiFilterForm>;\n\tapi$: Observable<NgDocApiList[]>;\n\n\tconstructor(\n\t\t@Inject(NG_DOC_API_LIST_TOKEN)\n\t\tprivate readonly apiList: NgDocApiList[],\n\t\tprivate readonly formBuilder: FormBuilder,\n\t\tprivate readonly route: ActivatedRoute,\n\t\tprivate readonly router: Router,\n\t) {\n\t\tthis.formGroup = this.formBuilder.group({\n\t\t\tfilter: [''],\n\t\t\tscope: [''],\n\t\t\ttype: [''],\n\t\t});\n\n\t\tthis.route.queryParamMap.pipe(untilDestroyed(this)).subscribe((paramMap: ParamMap) =>\n\t\t\tthis.formGroup.setValue({\n\t\t\t\tfilter: paramMap.get('filter') || null,\n\t\t\t\tscope: paramMap.get('scope') || null,\n\t\t\t\ttype: paramMap.get('type') || null,\n\t\t\t}),\n\t\t);\n\n\t\tthis.formGroup.valueChanges\n\t\t\t.pipe(untilDestroyed(this))\n\t\t\t.subscribe((formValue: NgDocFormPartialValue<typeof this.formGroup>) =>\n\t\t\t\tthis.router.navigate([], {\n\t\t\t\t\trelativeTo: this.route,\n\t\t\t\t\tqueryParams: formValue,\n\t\t\t\t\tqueryParamsHandling: 'merge',\n\t\t\t\t}),\n\t\t\t);\n\n\t\tthis.api$ = this.formGroup.valueChanges.pipe(\n\t\t\tdebounceTime(100),\n\t\t\tstartWith(null),\n\t\t\tmap(() => this.formGroup.value),\n\t\t\tmap((form: NgDocFormPartialValue<typeof this.formGroup>) =>\n\t\t\t\tthis.apiList\n\t\t\t\t\t.filter((api: NgDocApiList) => !form?.scope || api.title === form?.scope)\n\t\t\t\t\t.map((api: NgDocApiList) => ({\n\t\t\t\t\t\t...api,\n\t\t\t\t\t\titems: api.items\n\t\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t\t(item: NgDocApiListItem) =>\n\t\t\t\t\t\t\t\t\titem.name.toLowerCase().includes(form?.filter?.toLowerCase() ?? '') &&\n\t\t\t\t\t\t\t\t\t(!form?.type || item.type === form?.type),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.sort(\n\t\t\t\t\t\t\t\t(a: NgDocApiListItem, b: NgDocApiListItem) =>\n\t\t\t\t\t\t\t\t\ta.type.localeCompare(b.type) || a.name.localeCompare(b.name),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t}))\n\t\t\t\t\t.filter((api: NgDocApiList) => api.items.length),\n\t\t\t),\n\t\t\tuntilDestroyed(this),\n\t\t);\n\t}\n\n\t@ngDocMakePure\n\tget scopes(): string[] {\n\t\treturn asArray(new Set(this.apiList.flatMap((api: NgDocApiList) => api.title))).sort();\n\t}\n\n\t@ngDocMakePure\n\tget types(): string[] {\n\t\treturn asArray(\n\t\t\tnew Set(\n\t\t\t\tthis.apiList\n\t\t\t\t\t.flatMap((api: NgDocApiList) => api.items)\n\t\t\t\t\t.flatMap((item: NgDocApiListItem) => item.type),\n\t\t\t),\n\t\t).sort();\n\t}\n}\n","<h1 ng-doc-text>{{ title }}</h1>\n<div class=\"ng-doc-api-list-wrapper\" *ngIf=\"api$ | async as api\">\n\t<form class=\"ng-doc-api-filter\" [formGroup]=\"formGroup\">\n\t\t<label class=\"ng-doc-api-filter-item\" ng-doc-label=\"Filter\">\n\t\t\t<ng-doc-input-wrapper [leftContent]=\"leftContent\">\n\t\t\t\t<ng-template #leftContent>\n\t\t\t\t\t<ng-doc-icon icon=\"search\"></ng-doc-icon>\n\t\t\t\t</ng-template>\n\t\t\t\t<input\n\t\t\t\t\tngDocInputString\n\t\t\t\t\t[formControl]=\"formGroup.controls.filter\"\n\t\t\t\t\tplaceholder=\"Type the name\"\n\t\t\t\t\tngDocAutofocus />\n\t\t\t</ng-doc-input-wrapper>\n\t\t</label>\n\n\t\t<label class=\"ng-doc-api-filter-item\" ng-doc-label=\"Scope\" *ngIf=\"scopes.length\">\n\t\t\t<ng-doc-combobox\n\t\t\t\t[formControl]=\"formGroup.controls.scope\"\n\t\t\t\t[valueContent]=\"comboboxScopeItem\"\n\t\t\t\t[readonly]=\"true\"\n\t\t\t\tplaceholder=\"Choose the scope\">\n\t\t\t\t<ng-doc-list *ngDocData>\n\t\t\t\t\t<ng-doc-option *ngFor=\"let scope of scopes\" [value]=\"scope\">\n\t\t\t\t\t\t<ng-container\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"comboboxScopeItem; context: { $implicit: scope }\"></ng-container>\n\t\t\t\t\t</ng-doc-option>\n\t\t\t\t</ng-doc-list>\n\t\t\t\t<ng-template let-value #comboboxScopeItem>\n\t\t\t\t\t{{ value }}\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-combobox>\n\t\t</label>\n\n\t\t<label class=\"ng-doc-api-filter-item\" ng-doc-label=\"Type\">\n\t\t\t<ng-doc-combobox\n\t\t\t\t[formControl]=\"formGroup.controls.type\"\n\t\t\t\t[valueContent]=\"comboboxTypeItem\"\n\t\t\t\t[readonly]=\"true\"\n\t\t\t\tplaceholder=\"Choose the entity type\">\n\t\t\t\t<ng-doc-list *ngDocData>\n\t\t\t\t\t<ng-doc-option *ngFor=\"let type of types\" [value]=\"type\">\n\t\t\t\t\t\t<ng-container\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"comboboxTypeItem; context: { $implicit: type }\"></ng-container>\n\t\t\t\t\t</ng-doc-option>\n\t\t\t\t</ng-doc-list>\n\t\t\t\t<ng-template let-value #comboboxTypeItem>\n\t\t\t\t\t<div ng-doc-text>\n\t\t\t\t\t\t<ng-doc-kind-icon\n\t\t\t\t\t\t\t[kind]=\"value\"\n\t\t\t\t\t\t\t[ngDocTooltip]=\"value\"\n\t\t\t\t\t\t\t[positions]=\"['left-center', 'right-center']\"\n\t\t\t\t\t\t\tngDocTextLeft>\n\t\t\t\t\t\t</ng-doc-kind-icon>\n\t\t\t\t\t\t{{ value }}\n\t\t\t\t\t</div>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-combobox>\n\t\t</label>\n\t</form>\n\t<div class=\"ng-doc-api-list\">\n\t\t<div class=\"ng-doc-api-scope\" *ngFor=\"let scope of api\">\n\t\t\t<h3 class=\"ng-doc-scope-title\" ng-doc-text>{{ scope.title }}</h3>\n\t\t\t<ul class=\"ng-doc-scope-items\" *ngIf=\"scope.items.length\">\n\t\t\t\t<li class=\"ng-doc-scope-item\" *ngFor=\"let apiReference of scope.items\">\n\t\t\t\t\t<a class=\"ng-doc-scope-item-link\" [routerLink]=\"[apiReference.route]\">\n\t\t\t\t\t\t<ng-doc-kind-icon [kind]=\"apiReference.type\" [ngDocTooltip]=\"apiReference.type\">\n\t\t\t\t\t\t</ng-doc-kind-icon>\n\t\t\t\t\t\t{{ apiReference.name }}\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-doc-app-components-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 { AsyncPipe, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, Signal } 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 NgDocButtonComponent,\n NgDocButtonToggleComponent,\n NgDocComboboxComponent,\n NgDocDataDirective,\n NgDocIconComponent,\n NgDocInputStringDirective,\n NgDocInputWrapperComponent,\n NgDocLabelComponent,\n NgDocListComponent,\n NgDocOptionComponent,\n NgDocRadioGroupDirective,\n NgDocTextComponent,\n NgDocTextLeftDirective,\n NgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\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 standalone: true,\n imports: [\n NgDocTextComponent,\n NgIf,\n FormsModule,\n ReactiveFormsModule,\n NgDocLabelComponent,\n NgDocInputWrapperComponent,\n NgDocIconComponent,\n NgDocInputStringDirective,\n NgDocAutofocusDirective,\n NgDocComboboxComponent,\n NgDocDataDirective,\n NgDocListComponent,\n NgFor,\n NgDocOptionComponent,\n NgTemplateOutlet,\n NgDocKindIconComponent,\n NgDocTextLeftDirective,\n NgDocTooltipDirective,\n RouterLink,\n AsyncPipe,\n NgDocButtonComponent,\n NgDocRadioGroupDirective,\n NgDocButtonToggleComponent,\n ],\n})\nexport class NgDocApiListComponent {\n title = input<string>('API References');\n segment = input<string>();\n\n apiList: Signal<NgDocApiList[]>;\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 this.apiList = toSignal(\n this.httpClient.get<NgDocApiList[]>(\n asArray('assets/ng-doc', this.segment(), 'api-list.json').join('/'),\n ),\n { initialValue: [] },\n );\n this.scopes = computed(() =>\n asArray(new Set(this.apiList().flatMap((api: NgDocApiList) => api.title))).sort(),\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","<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 <div class=\"ng-doc-api-scope\" *ngFor=\"let scope of filteredApiList()\">\n <h3 class=\"ng-doc-scope-title\" ng-doc-text>{{ scope.title }}</h3>\n <ul class=\"ng-doc-scope-items\" *ngIf=\"scope.items.length\">\n <li class=\"ng-doc-scope-item\" *ngFor=\"let apiReference of scope.items\">\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 </ul>\n </div>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
import { NgFor } from '@angular/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
|
|
4
4
|
import { RouterLink } from '@angular/router';
|
|
5
|
-
import {
|
|
6
|
-
import { NgDocButtonIconComponent, NgDocIconComponent, NgDocTextComponent } from '@ng-doc/ui-kit';
|
|
5
|
+
import { NgDocIconComponent, NgDocButtonIconComponent } from '@ng-doc/ui-kit';
|
|
7
6
|
|
|
8
7
|
class NgDocBreadcrumbComponent {
|
|
9
8
|
constructor() {
|
|
10
9
|
this.breadcrumbs = [];
|
|
11
|
-
this.home = inject(NgDocRootPage).routePrefix || '';
|
|
12
10
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", 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 }); }
|
|
15
13
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocBreadcrumbComponent, decorators: [{
|
|
17
15
|
type: Component,
|
|
18
|
-
args: [{ selector: 'ng-doc-breadcrumb', standalone: true, imports: [NgDocButtonIconComponent, RouterLink, NgDocIconComponent, NgFor
|
|
16
|
+
args: [{ selector: 'ng-doc-breadcrumb', standalone: true, imports: [NgDocButtonIconComponent, RouterLink, NgDocIconComponent, NgFor], 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"] }]
|
|
19
17
|
}], propDecorators: { breadcrumbs: [{
|
|
20
18
|
type: Input
|
|
21
19
|
}] } });
|
|
@@ -1 +1 @@
|
|
|
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 { NgFor } from '@angular/common';\nimport { ChangeDetectionStrategy, Component,
|
|
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 { NgFor } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { NgDocPageBreadcrumbs } from '@ng-doc/app/interfaces';\nimport { NgDocButtonIconComponent, 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 standalone: true,\n imports: [NgDocButtonIconComponent, RouterLink, NgDocIconComponent, NgFor],\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":";;;;;;MAca,wBAAwB,CAAA;AARrC,IAAA,WAAA,GAAA;QAUE,IAAW,CAAA,WAAA,GAAa,EAAE,CAAC;AAC5B,KAAA;8GAHY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdrC,6IAMA,EAAA,MAAA,EAAA,CAAA,qZAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDKkD,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,EAAA;;2FAGvD,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAGjB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,wBAAwB,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,CAAC,EACzD,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6IAAA,EAAA,MAAA,EAAA,CAAA,qZAAA,CAAA,EAAA,CAAA;8BAI/C,WAAW,EAAA,CAAA;sBADV,KAAK;;;AEfR;;AAEG;;;;"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import * as i1 from '@angular/cdk/clipboard';
|
|
2
1
|
import { NgIf } from '@angular/common';
|
|
3
2
|
import * as i0 from '@angular/core';
|
|
4
3
|
import { Component, ChangeDetectionStrategy, Input, HostBinding } from '@angular/core';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { NgDocCopyButtonComponent } from '@ng-doc/app/components/copy-button';
|
|
5
|
+
import { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes';
|
|
6
|
+
import { NgDocPageProcessorComponent } from '@ng-doc/app/processors/page-processor';
|
|
7
|
+
import { linkProcessor } from '@ng-doc/app/processors/processors/link';
|
|
8
|
+
import { tooltipProcessor } from '@ng-doc/app/processors/processors/tooltip';
|
|
9
|
+
import { provideMainPageProcessor } from '@ng-doc/app/tokens';
|
|
10
|
+
import { NgDocTextComponent, NgDocIconComponent, NgDocButtonIconComponent, NgDocTooltipDirective, NgDocSmoothResizeComponent } from '@ng-doc/ui-kit';
|
|
7
11
|
|
|
8
12
|
class NgDocCodeComponent {
|
|
9
|
-
constructor(elementRef
|
|
13
|
+
constructor(elementRef) {
|
|
10
14
|
this.elementRef = elementRef;
|
|
11
|
-
this.clipboard = clipboard;
|
|
12
15
|
this.html = '';
|
|
13
16
|
this.copyButton = true;
|
|
14
|
-
this.lineNumbers = false;
|
|
15
|
-
this.tooltipText = '';
|
|
16
17
|
}
|
|
17
18
|
get hasHeader() {
|
|
18
19
|
return !!this.name || !!this.icon;
|
|
@@ -20,13 +21,10 @@ class NgDocCodeComponent {
|
|
|
20
21
|
get codeElement() {
|
|
21
22
|
return this.elementRef?.nativeElement.querySelector('code') ?? null;
|
|
22
23
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocCodeComponent, deps: [{ token: i0.ElementRef }, { token: i1.Clipboard }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: NgDocCodeComponent, isStandalone: true, selector: "ng-doc-code", inputs: { html: "html", copyButton: "copyButton", name: "name", icon: "icon", lineNumbers: "lineNumbers" }, host: { properties: { "attr.data-ng-doc-has-header": "this.hasHeader" } }, ngImport: i0, template: "<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>\n\t\t<ng-doc-icon [customIcon]=\"icon\" *ngIf=\"icon\"></ng-doc-icon>\n\t\t{{ name }}\n\t</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t@if (html) {\n\t<div class=\"ng-doc-code-wrapper\" [ngDocPageProcessor]=\"html\"></div>\n\t} @else {\n\t<div class=\"ng-doc-code-wrapper\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t}\n\n\t<button\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\">\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{ tooltipText }}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n", styles: [":host{position:relative;display:block;margin:var(--ng-doc-code-margin)}:host: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-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))}: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);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var( --ng-doc-code-copy-button-hover-background, var(--ng-doc-base-2) );--ng-doc-button-active-background: var( --ng-doc-code-copy-button-active-background, var(--ng-doc-base-3) )}:host .ng-doc-code-wrapper{height:100%}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin);border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));border:var(--ng-doc-code-border, 1px solid var(--ng-doc-border-color));overflow:hidden;height:100%}:host ::ng-deep pre code{display:block;padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto;height:100%}:host ::ng-deep pre code.code-lines{display:grid;padding:calc(var(--ng-doc-base-gutter) * 2) 0}:host ::ng-deep pre code .line{padding:0 calc(var(--ng-doc-base-gutter) * 2)}:host ::ng-deep pre code .line.highlighted{position:relative}:host ::ng-deep pre code .line.highlighted:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--ng-doc-code-highlight-color);opacity:.05;border-radius:inherit;overflow:hidden;pointer-events:none}:host ::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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", 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: NgDocSmoothResizeComponent, selector: "ng-doc-smooth-resize", inputs: ["trigger", "animateOpacity"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "directive", type: NgDocPageProcessorDirective, selector: "[ngDocPageProcessor]", inputs: ["ngDocPageProcessor"], outputs: ["afterRender"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocCodeComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", 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: "<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n <span class=\"ng-doc-code-file-name\" ng-doc-text>\n <ng-doc-icon [customIcon]=\"icon\" *ngIf=\"icon\"></ng-doc-icon>\n {{ name }}\n </span>\n</div>\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 <ng-doc-copy-button\n class=\"ng-doc-copy-button\"\n [text]=\"this.codeElement?.textContent ?? ''\"\n *ngIf=\"copyButton\">\n <ng-doc-icon icon=\"copy\"></ng-doc-icon>\n </ng-doc-copy-button>\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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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 }); }
|
|
28
26
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocCodeComponent, decorators: [{
|
|
30
28
|
type: Component,
|
|
31
29
|
args: [{ selector: 'ng-doc-code', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
32
30
|
NgIf,
|
|
@@ -35,9 +33,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
35
33
|
NgDocTooltipDirective,
|
|
36
34
|
NgDocSmoothResizeComponent,
|
|
37
35
|
NgDocIconComponent,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
NgDocPageProcessorComponent,
|
|
37
|
+
NgDocCopyButtonComponent,
|
|
38
|
+
NgDocSanitizeHtmlPipe,
|
|
39
|
+
], viewProviders: [provideMainPageProcessor([linkProcessor, tooltipProcessor])], template: "<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n <span class=\"ng-doc-code-file-name\" ng-doc-text>\n <ng-doc-icon [customIcon]=\"icon\" *ngIf=\"icon\"></ng-doc-icon>\n {{ name }}\n </span>\n</div>\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 <ng-doc-copy-button\n class=\"ng-doc-copy-button\"\n [text]=\"this.codeElement?.textContent ?? ''\"\n *ngIf=\"copyButton\">\n <ng-doc-icon icon=\"copy\"></ng-doc-icon>\n </ng-doc-copy-button>\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"] }]
|
|
40
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { html: [{
|
|
41
41
|
type: Input
|
|
42
42
|
}], copyButton: [{
|
|
43
43
|
type: Input
|
|
@@ -45,8 +45,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
45
45
|
type: Input
|
|
46
46
|
}], icon: [{
|
|
47
47
|
type: Input
|
|
48
|
-
}], lineNumbers: [{
|
|
49
|
-
type: Input
|
|
50
48
|
}], hasHeader: [{
|
|
51
49
|
type: HostBinding,
|
|
52
50
|
args: ['attr.data-ng-doc-has-header']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-doc-app-components-code.mjs","sources":["../../../../libs/app/components/code/code.component.ts","../../../../libs/app/components/code/code.component.html","../../../../libs/app/components/code/ng-doc-app-components-code.ts"],"sourcesContent":["import {
|
|
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 { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, HostBinding, 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 {\n NgDocButtonIconComponent,\n NgDocIconComponent,\n NgDocSmoothResizeComponent,\n NgDocTextComponent,\n NgDocTooltipDirective,\n} 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 standalone: true,\n imports: [\n NgIf,\n NgDocTextComponent,\n NgDocButtonIconComponent,\n NgDocTooltipDirective,\n NgDocSmoothResizeComponent,\n NgDocIconComponent,\n NgDocPageProcessorComponent,\n NgDocCopyButtonComponent,\n NgDocSanitizeHtmlPipe,\n ],\n viewProviders: [provideMainPageProcessor([linkProcessor, tooltipProcessor])],\n})\nexport class NgDocCodeComponent {\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(private elementRef: ElementRef<HTMLElement>) {}\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","<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n <span class=\"ng-doc-code-file-name\" ng-doc-text>\n <ng-doc-icon [customIcon]=\"icon\" *ngIf=\"icon\"></ng-doc-icon>\n {{ name }}\n </span>\n</div>\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 <ng-doc-copy-button\n class=\"ng-doc-copy-button\"\n [text]=\"this.codeElement?.textContent ?? ''\"\n *ngIf=\"copyButton\">\n <ng-doc-icon icon=\"copy\"></ng-doc-icon>\n </ng-doc-copy-button>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Clipboard } from '@angular/cdk/clipboard';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { inject, Component, ChangeDetectionStrategy, Input, ViewChild } from '@angular/core';
|
|
4
|
+
import { NgDocTooltipDirective, NgDocButtonIconComponent, NgDocSmoothResizeComponent } from '@ng-doc/ui-kit';
|
|
5
|
+
|
|
6
|
+
class NgDocCopyButtonComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.tooltipText = '';
|
|
9
|
+
this.clipboard = inject(Clipboard);
|
|
10
|
+
}
|
|
11
|
+
copy() {
|
|
12
|
+
this.clipboard.copy(this.text);
|
|
13
|
+
this.tooltip.show();
|
|
14
|
+
}
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocCopyButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", 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
|
+
<button
|
|
18
|
+
ng-doc-button-icon
|
|
19
|
+
[rounded]="false"
|
|
20
|
+
(click)="copy(); tooltipText = 'Copied!'"
|
|
21
|
+
[ngDocTooltip]="tooltipContent"
|
|
22
|
+
(mouseenter)="tooltipText = 'Copy to clipboard'">
|
|
23
|
+
<ng-template #tooltipContent>
|
|
24
|
+
<ng-doc-smooth-resize [trigger]="tooltipText">
|
|
25
|
+
{{ tooltipText }}
|
|
26
|
+
</ng-doc-smooth-resize>
|
|
27
|
+
</ng-template>
|
|
28
|
+
<ng-content></ng-content>
|
|
29
|
+
</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"] }, { kind: "component", type: NgDocSmoothResizeComponent, selector: "ng-doc-smooth-resize", inputs: ["trigger", "animateOpacity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocCopyButtonComponent, decorators: [{
|
|
33
|
+
type: Component,
|
|
34
|
+
args: [{
|
|
35
|
+
selector: 'ng-doc-copy-button',
|
|
36
|
+
standalone: true,
|
|
37
|
+
imports: [NgDocButtonIconComponent, NgDocTooltipDirective, NgDocSmoothResizeComponent],
|
|
38
|
+
template: `
|
|
39
|
+
<button
|
|
40
|
+
ng-doc-button-icon
|
|
41
|
+
[rounded]="false"
|
|
42
|
+
(click)="copy(); tooltipText = 'Copied!'"
|
|
43
|
+
[ngDocTooltip]="tooltipContent"
|
|
44
|
+
(mouseenter)="tooltipText = 'Copy to clipboard'">
|
|
45
|
+
<ng-template #tooltipContent>
|
|
46
|
+
<ng-doc-smooth-resize [trigger]="tooltipText">
|
|
47
|
+
{{ tooltipText }}
|
|
48
|
+
</ng-doc-smooth-resize>
|
|
49
|
+
</ng-template>
|
|
50
|
+
<ng-content></ng-content>
|
|
51
|
+
</button>
|
|
52
|
+
`,
|
|
53
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
54
|
+
}]
|
|
55
|
+
}], propDecorators: { text: [{
|
|
56
|
+
type: Input,
|
|
57
|
+
args: [{ required: true }]
|
|
58
|
+
}], tooltip: [{
|
|
59
|
+
type: ViewChild,
|
|
60
|
+
args: [NgDocTooltipDirective, { static: true }]
|
|
61
|
+
}] } });
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Generated bundle index. Do not edit.
|
|
65
|
+
*/
|
|
66
|
+
|
|
67
|
+
export { NgDocCopyButtonComponent };
|
|
68
|
+
//# sourceMappingURL=ng-doc-app-components-copy-button.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-doc-app-components-copy-button.mjs","sources":["../../../../libs/app/components/copy-button/copy-button.component.ts","../../../../libs/app/components/copy-button/ng-doc-app-components-copy-button.ts"],"sourcesContent":["import { Clipboard } from '@angular/cdk/clipboard';\nimport { ChangeDetectionStrategy, Component, inject, Input, ViewChild } from '@angular/core';\nimport {\n NgDocButtonIconComponent,\n NgDocSmoothResizeComponent,\n NgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\n\n@Component({\n selector: 'ng-doc-copy-button',\n standalone: true,\n imports: [NgDocButtonIconComponent, NgDocTooltipDirective, NgDocSmoothResizeComponent],\n template: `\n <button\n ng-doc-button-icon\n [rounded]=\"false\"\n (click)=\"copy(); tooltipText = 'Copied!'\"\n [ngDocTooltip]=\"tooltipContent\"\n (mouseenter)=\"tooltipText = 'Copy to clipboard'\">\n <ng-template #tooltipContent>\n <ng-doc-smooth-resize [trigger]=\"tooltipText\">\n {{ tooltipText }}\n </ng-doc-smooth-resize>\n </ng-template>\n <ng-content></ng-content>\n </button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgDocCopyButtonComponent {\n @Input({ required: true })\n text!: string;\n\n @ViewChild(NgDocTooltipDirective, { static: true })\n tooltip!: NgDocTooltipDirective;\n\n protected tooltipText: string = '';\n protected readonly clipboard = inject(Clipboard);\n\n copy(): void {\n this.clipboard.copy(this.text);\n this.tooltip.show();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MA6Ba,wBAAwB,CAAA;AArBrC,IAAA,WAAA,GAAA;QA4BY,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AAChB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAMlD,KAAA;IAJC,IAAI,GAAA;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACrB;8GAbU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAIxB,qBAAqB,EArBtB,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;AAcT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAfS,wBAAwB,EAAA,QAAA,EAAA,+LAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,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,EAAE,0BAA0B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAkB1E,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBArBpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,wBAAwB,EAAE,qBAAqB,EAAE,0BAA0B,CAAC;AACtF,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;AAcT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;8BAGC,IAAI,EAAA,CAAA;sBADH,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBAIzB,OAAO,EAAA,CAAA;sBADN,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,qBAAqB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;ACjCpD;;AAEG;;;;"}
|
|
@@ -1,32 +1,27 @@
|
|
|
1
|
-
import * as i1 from '@angular/cdk/clipboard';
|
|
2
1
|
import { NgIf, NgTemplateOutlet } from '@angular/common';
|
|
3
2
|
import * as i0 from '@angular/core';
|
|
4
3
|
import { Component, ChangeDetectionStrategy, Input, HostBinding } from '@angular/core';
|
|
5
4
|
import { NgDocCodeComponent } from '@ng-doc/app/components/code';
|
|
5
|
+
import { NgDocCopyButtonComponent } from '@ng-doc/app/components/copy-button';
|
|
6
6
|
import { NgDocCodeHighlighterDirective } from '@ng-doc/app/directives/code-highlighter';
|
|
7
7
|
import { NgDocButtonIconComponent, NgDocTooltipDirective, NgDocSmoothResizeComponent, NgDocIconComponent, NgDocExpanderComponent } from '@ng-doc/ui-kit';
|
|
8
8
|
|
|
9
9
|
class NgDocDemoDisplayerComponent {
|
|
10
|
-
constructor(
|
|
11
|
-
this.clipboard = clipboard;
|
|
10
|
+
constructor() {
|
|
12
11
|
this.codeContent = '';
|
|
13
12
|
this.code = '';
|
|
14
13
|
this.language = 'typescript';
|
|
15
14
|
this.container = true;
|
|
16
15
|
this.border = true;
|
|
17
16
|
this.expanded = false;
|
|
18
|
-
this.copyTooltipText = '';
|
|
19
17
|
}
|
|
20
18
|
get expandTooltipText() {
|
|
21
19
|
return this.expanded ? 'Collapse' : 'Expand';
|
|
22
20
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocDemoDisplayerComponent, deps: [{ token: i1.Clipboard }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: NgDocDemoDisplayerComponent, isStandalone: true, selector: "ng-doc-demo-displayer", inputs: { codeContent: "codeContent", code: "code", language: "language", container: "container", border: "border", expanded: "expanded" }, host: { properties: { "attr.data-ng-doc-border": "this.border" } }, ngImport: i0, template: "<div class=\"ng-doc-demo-wrapper\" *ngIf=\"container; else demoTemplate\">\n\t<div class=\"ng-doc-demo-container\">\n\t\t<div class=\"ng-doc-demo\">\n\t\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t</div>\n\t\t<div class=\"ng-doc-demo-controls\">\n\t\t\t<button\n\t\t\t\tclass=\"ng-doc-copy-button\"\n\t\t\t\t*ngIf=\"!codeContent\"\n\t\t\t\tng-doc-button-icon\n\t\t\t\t(click)=\"copyCode(); copyTooltipText = 'Copied!'\"\n\t\t\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t\t\t(mouseenter)=\"copyTooltipText = 'Copy to clipboard'\">\n\t\t\t\t<ng-template #tooltipContent>\n\t\t\t\t\t<ng-doc-smooth-resize [trigger]=\"copyTooltipText\">\n\t\t\t\t\t\t{{ copyTooltipText }}\n\t\t\t\t\t</ng-doc-smooth-resize>\n\t\t\t\t</ng-template>\n\t\t\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t\t\t</button>\n\t\t\t<button ng-doc-button-icon (click)=\"expanded = !expanded\" [ngDocTooltip]=\"tooltipContent\">\n\t\t\t\t<ng-template #tooltipContent>\n\t\t\t\t\t<ng-doc-smooth-resize [trigger]=\"expandTooltipText\">\n\t\t\t\t\t\t{{ expandTooltipText }}\n\t\t\t\t\t</ng-doc-smooth-resize>\n\t\t\t\t</ng-template>\n\t\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t\t</button>\n\t\t</div>\n\t</div>\n\t<ng-doc-expander [content]=\"codeContent ? codeContent : expanderContent\" [expanded]=\"expanded\">\n\t\t<ng-template #expanderContent>\n\t\t\t<ng-doc-code [copyButton]=\"false\">\n\t\t\t\t<pre class=\"hljs ngde\">\n\t\t\t\t\t<code class=\"ngde\" [ngDocCodeHighlighter]=\"code\" [language]=\"'html'\"></code>\n\t\t\t\t</pre>\n\t\t\t</ng-doc-code>\n\t\t</ng-template>\n\t</ng-doc-expander>\n</div>\n\n<ng-template #demoTemplate>\n\t<ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;overflow:hidden;--ng-doc-code-margin: 0;--ng-doc-code-border-radius: 0;--ng-doc-code-border: none}:host[data-ng-doc-border=true]{border:var(--ng-doc-demo-displayer-border);border-radius:var(--ng-doc-demo-displayer-border-radius)}:host .ng-doc-demo-wrapper{overflow:hidden}:host .ng-doc-demo-wrapper .ng-doc-demo-container{display:flex;justify-content:flex-start;width:100%;padding:calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-demo-displayer-background, var(--ng-doc-base-0))}:host .ng-doc-demo-wrapper .ng-doc-demo-container .ng-doc-demo{overflow:hidden;width:100%}:host .ng-doc-demo-wrapper .ng-doc-demo-container .ng-doc-demo-controls{flex-shrink:0;margin-left:auto}:host ng-doc-code{border-top:1px solid var(--ng-doc-border-color)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", 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: NgDocSmoothResizeComponent, selector: "ng-doc-smooth-resize", inputs: ["trigger", "animateOpacity"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "component", type: NgDocExpanderComponent, selector: "ng-doc-expander", inputs: ["expanded", "content", "from"] }, { kind: "component", type: NgDocCodeComponent, selector: "ng-doc-code", inputs: ["html", "copyButton", "name", "icon", "lineNumbers"] }, { kind: "directive", type: NgDocCodeHighlighterDirective, selector: "code[ngDocCodeHighlighter]", inputs: ["ngDocCodeHighlighter", "html", "language"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocDemoDisplayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: NgDocDemoDisplayerComponent, isStandalone: true, selector: "ng-doc-demo-displayer", inputs: { codeContent: "codeContent", code: "code", language: "language", container: "container", border: "border", expanded: "expanded" }, host: { properties: { "attr.data-ng-doc-border": "this.border" } }, ngImport: i0, template: "<div class=\"ng-doc-demo-wrapper\" *ngIf=\"container; else demoTemplate\">\n <div class=\"ng-doc-demo-container\">\n <div class=\"ng-doc-demo\">\n <ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n </div>\n <div class=\"ng-doc-demo-controls\">\n <ng-doc-copy-button *ngIf=\"!codeContent\" [text]=\"code\">\n <ng-doc-icon icon=\"copy\"></ng-doc-icon>\n </ng-doc-copy-button>\n <button\n ng-doc-button-icon\n [rounded]=\"false\"\n (click)=\"expanded = !expanded\"\n [ngDocTooltip]=\"tooltipContent\">\n <ng-template #tooltipContent>\n <ng-doc-smooth-resize [trigger]=\"expandTooltipText\">\n {{ expandTooltipText }}\n </ng-doc-smooth-resize>\n </ng-template>\n <ng-doc-icon icon=\"code\"></ng-doc-icon>\n </button>\n </div>\n </div>\n <ng-doc-expander [content]=\"codeContent ? codeContent : expanderContent\" [expanded]=\"expanded\">\n <ng-template #expanderContent>\n <ng-doc-code [copyButton]=\"false\">\n <div [ngDocHighlighter]=\"code\"></div>\n </ng-doc-code>\n </ng-template>\n </ng-doc-expander>\n</div>\n\n<ng-template #demoTemplate>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;overflow:hidden;--ng-doc-code-margin: 0;--ng-doc-code-border-radius: 0;--ng-doc-code-border: none}:host[data-ng-doc-border=true]{border:var(--ng-doc-demo-displayer-border);border-radius:var(--ng-doc-demo-displayer-border-radius)}:host .ng-doc-demo-wrapper{overflow:hidden}:host .ng-doc-demo-wrapper .ng-doc-demo-container{display:flex;justify-content:flex-start;width:100%;padding:calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-demo-displayer-background, var(--ng-doc-base-0))}:host .ng-doc-demo-wrapper .ng-doc-demo-container .ng-doc-demo{overflow:hidden;width:100%}:host .ng-doc-demo-wrapper .ng-doc-demo-container .ng-doc-demo-controls{flex-shrink:0;margin-left:auto}:host ng-doc-code{border-top:1px solid var(--ng-doc-border-color)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: NgDocSmoothResizeComponent, selector: "ng-doc-smooth-resize", inputs: ["trigger", "animateOpacity"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "component", type: NgDocExpanderComponent, selector: "ng-doc-expander", inputs: ["expanded", "content", "from"] }, { kind: "component", type: NgDocCodeComponent, selector: "ng-doc-code", inputs: ["html", "copyButton", "name", "icon"] }, { kind: "directive", type: NgDocCodeHighlighterDirective, selector: "[ngDocHighlighter]", inputs: ["ngDocHighlighter"] }, { kind: "component", type: NgDocCopyButtonComponent, selector: "ng-doc-copy-button", inputs: ["text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
28
23
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocDemoDisplayerComponent, decorators: [{
|
|
30
25
|
type: Component,
|
|
31
26
|
args: [{ selector: 'ng-doc-demo-displayer', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
32
27
|
NgIf,
|
|
@@ -38,8 +33,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
38
33
|
NgDocExpanderComponent,
|
|
39
34
|
NgDocCodeComponent,
|
|
40
35
|
NgDocCodeHighlighterDirective,
|
|
41
|
-
|
|
42
|
-
|
|
36
|
+
NgDocCopyButtonComponent,
|
|
37
|
+
], template: "<div class=\"ng-doc-demo-wrapper\" *ngIf=\"container; else demoTemplate\">\n <div class=\"ng-doc-demo-container\">\n <div class=\"ng-doc-demo\">\n <ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n </div>\n <div class=\"ng-doc-demo-controls\">\n <ng-doc-copy-button *ngIf=\"!codeContent\" [text]=\"code\">\n <ng-doc-icon icon=\"copy\"></ng-doc-icon>\n </ng-doc-copy-button>\n <button\n ng-doc-button-icon\n [rounded]=\"false\"\n (click)=\"expanded = !expanded\"\n [ngDocTooltip]=\"tooltipContent\">\n <ng-template #tooltipContent>\n <ng-doc-smooth-resize [trigger]=\"expandTooltipText\">\n {{ expandTooltipText }}\n </ng-doc-smooth-resize>\n </ng-template>\n <ng-doc-icon icon=\"code\"></ng-doc-icon>\n </button>\n </div>\n </div>\n <ng-doc-expander [content]=\"codeContent ? codeContent : expanderContent\" [expanded]=\"expanded\">\n <ng-template #expanderContent>\n <ng-doc-code [copyButton]=\"false\">\n <div [ngDocHighlighter]=\"code\"></div>\n </ng-doc-code>\n </ng-template>\n </ng-doc-expander>\n</div>\n\n<ng-template #demoTemplate>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;overflow:hidden;--ng-doc-code-margin: 0;--ng-doc-code-border-radius: 0;--ng-doc-code-border: none}:host[data-ng-doc-border=true]{border:var(--ng-doc-demo-displayer-border);border-radius:var(--ng-doc-demo-displayer-border-radius)}:host .ng-doc-demo-wrapper{overflow:hidden}:host .ng-doc-demo-wrapper .ng-doc-demo-container{display:flex;justify-content:flex-start;width:100%;padding:calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-demo-displayer-background, var(--ng-doc-base-0))}:host .ng-doc-demo-wrapper .ng-doc-demo-container .ng-doc-demo{overflow:hidden;width:100%}:host .ng-doc-demo-wrapper .ng-doc-demo-container .ng-doc-demo-controls{flex-shrink:0;margin-left:auto}:host ng-doc-code{border-top:1px solid var(--ng-doc-border-color)}\n"] }]
|
|
38
|
+
}], propDecorators: { codeContent: [{
|
|
43
39
|
type: Input
|
|
44
40
|
}], code: [{
|
|
45
41
|
type: Input
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-doc-app-components-demo-displayer.mjs","sources":["../../../../libs/app/components/demo-displayer/demo-displayer.component.ts","../../../../libs/app/components/demo-displayer/demo-displayer.component.html","../../../../libs/app/components/demo-displayer/ng-doc-app-components-demo-displayer.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"ng-doc-app-components-demo-displayer.mjs","sources":["../../../../libs/app/components/demo-displayer/demo-displayer.component.ts","../../../../libs/app/components/demo-displayer/demo-displayer.component.html","../../../../libs/app/components/demo-displayer/ng-doc-app-components-demo-displayer.ts"],"sourcesContent":["import { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { NgDocCodeComponent } from '@ng-doc/app/components/code';\nimport { NgDocCopyButtonComponent } from '@ng-doc/app/components/copy-button';\nimport { NgDocCodeHighlighterDirective } from '@ng-doc/app/directives/code-highlighter';\nimport {\n NgDocButtonIconComponent,\n NgDocContent,\n NgDocExpanderComponent,\n NgDocIconComponent,\n NgDocSmoothResizeComponent,\n NgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\n\n@Component({\n selector: 'ng-doc-demo-displayer',\n templateUrl: './demo-displayer.component.html',\n styleUrls: ['./demo-displayer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgIf,\n NgTemplateOutlet,\n NgDocButtonIconComponent,\n NgDocTooltipDirective,\n NgDocSmoothResizeComponent,\n NgDocIconComponent,\n NgDocExpanderComponent,\n NgDocCodeComponent,\n NgDocCodeHighlighterDirective,\n NgDocCopyButtonComponent,\n ],\n})\nexport class NgDocDemoDisplayerComponent {\n @Input()\n codeContent: NgDocContent = '';\n\n @Input()\n code: string = '';\n\n @Input()\n language: string = 'typescript';\n\n @Input()\n container: boolean = true;\n\n @Input()\n @HostBinding('attr.data-ng-doc-border')\n border: boolean = true;\n\n @Input()\n expanded: boolean = false;\n\n protected get expandTooltipText(): string {\n return this.expanded ? 'Collapse' : 'Expand';\n }\n}\n","<div class=\"ng-doc-demo-wrapper\" *ngIf=\"container; else demoTemplate\">\n <div class=\"ng-doc-demo-container\">\n <div class=\"ng-doc-demo\">\n <ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n </div>\n <div class=\"ng-doc-demo-controls\">\n <ng-doc-copy-button *ngIf=\"!codeContent\" [text]=\"code\">\n <ng-doc-icon icon=\"copy\"></ng-doc-icon>\n </ng-doc-copy-button>\n <button\n ng-doc-button-icon\n [rounded]=\"false\"\n (click)=\"expanded = !expanded\"\n [ngDocTooltip]=\"tooltipContent\">\n <ng-template #tooltipContent>\n <ng-doc-smooth-resize [trigger]=\"expandTooltipText\">\n {{ expandTooltipText }}\n </ng-doc-smooth-resize>\n </ng-template>\n <ng-doc-icon icon=\"code\"></ng-doc-icon>\n </button>\n </div>\n </div>\n <ng-doc-expander [content]=\"codeContent ? codeContent : expanderContent\" [expanded]=\"expanded\">\n <ng-template #expanderContent>\n <ng-doc-code [copyButton]=\"false\">\n <div [ngDocHighlighter]=\"code\"></div>\n </ng-doc-code>\n </ng-template>\n </ng-doc-expander>\n</div>\n\n<ng-template #demoTemplate>\n <ng-content></ng-content>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -33,10 +33,10 @@ class NgDocDemoPaneComponent {
|
|
|
33
33
|
}
|
|
34
34
|
return [];
|
|
35
35
|
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocDemoPaneComponent, deps: [{ token: i1.NgDocRootPage }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: NgDocDemoPaneComponent, isStandalone: true, selector: "ng-doc-demo-pane", inputs: { componentName: "componentName", options: "options" }, host: { properties: { "class": "this.classes" } }, ngImport: i0, template: "<ng-doc-pane [expanded]=\"options.expanded ?? false\">\n <ng-container *ngTemplateOutlet=\"codeContent\" ngDocPaneBack></ng-container>\n <ng-container *ngTemplateOutlet=\"demoTemplate\" ngDocPaneFront></ng-container>\n</ng-doc-pane>\n\n<ng-template #demoTemplate>\n @if (options.fullscreenRoute) {\n <ng-doc-fullscreen-button [route]=\"options.fullscreenRoute!\"></ng-doc-fullscreen-button>\n } @else if (demo) {\n <ng-container *ngComponentOutlet=\"demo; inputs: options.inputs\"></ng-container>\n }\n</ng-template>\n\n<ng-template #codeContent>\n <ng-container *ngIf=\"assets.length === 1\">\n <ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n </ng-container>\n\n <ng-container *ngIf=\"assets.length > 1\">\n <ng-doc-tab-group [openedTab]=\"options.defaultTab\">\n <ng-doc-tab\n *ngFor=\"let asset of assets\"\n [id]=\"asset.title\"\n [label]=\"asset.title\"\n [content]=\"assetContent\">\n <ng-template #assetContent>\n <ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n </ng-template>\n </ng-doc-tab>\n </ng-doc-tab-group>\n </ng-container>\n</ng-template>\n", styles: [":host{display:block;height:var(--ng-doc-demo-pane-height);margin:var(--ng-doc-demo-pane-margin);--ng-doc-code-margin: 0;--ng-doc-code-border-radius: 0;--ng-doc-code-border: none;--ng-doc-smooth-resize-height: var(--ng-doc-demo-pane-height);--ng-doc-smooth-resize-max-height: 100%;--ng-doc-tab-group-tabs-background: var(--ng-doc-base-2);--ng-doc-tab-group-border: none;--ng-doc-tab-group-border-radius: 0}:host ng-doc-tab-group,:host ng-doc-code,:host ng-doc-pane{width:100%;height:100%}\n"], dependencies: [{ kind: "component", type: NgDocPaneComponent, selector: "ng-doc-pane", inputs: ["expanded"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgDocPaneBackDirective, selector: "[ngDocPaneBack]" }, { kind: "directive", type: NgDocPaneFrontDirective, selector: "[ngDocPaneFront]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocCodeComponent, selector: "ng-doc-code", inputs: ["html", "copyButton", "name", "icon"] }, { kind: "component", type: NgDocTabGroupComponent, selector: "ng-doc-tab-group", inputs: ["openedTab"] }, { kind: "component", type: NgDocTabComponent, selector: "ng-doc-tab, a[ng-doc-tab]", inputs: ["label", "id", "content"] }, { kind: "component", type: NgDocFullscreenButtonComponent, selector: "ng-doc-fullscreen-button", inputs: ["route"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocDemoPaneComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
41
41
|
args: [{ selector: 'ng-doc-demo-pane', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
42
42
|
NgDocPaneComponent,
|
|
@@ -50,7 +50,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
50
50
|
NgDocTabComponent,
|
|
51
51
|
NgDocFullscreenButtonComponent,
|
|
52
52
|
NgComponentOutlet,
|
|
53
|
-
], template: "<ng-doc-pane [expanded]=\"options.expanded ?? false\">\n
|
|
53
|
+
], template: "<ng-doc-pane [expanded]=\"options.expanded ?? false\">\n <ng-container *ngTemplateOutlet=\"codeContent\" ngDocPaneBack></ng-container>\n <ng-container *ngTemplateOutlet=\"demoTemplate\" ngDocPaneFront></ng-container>\n</ng-doc-pane>\n\n<ng-template #demoTemplate>\n @if (options.fullscreenRoute) {\n <ng-doc-fullscreen-button [route]=\"options.fullscreenRoute!\"></ng-doc-fullscreen-button>\n } @else if (demo) {\n <ng-container *ngComponentOutlet=\"demo; inputs: options.inputs\"></ng-container>\n }\n</ng-template>\n\n<ng-template #codeContent>\n <ng-container *ngIf=\"assets.length === 1\">\n <ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n </ng-container>\n\n <ng-container *ngIf=\"assets.length > 1\">\n <ng-doc-tab-group [openedTab]=\"options.defaultTab\">\n <ng-doc-tab\n *ngFor=\"let asset of assets\"\n [id]=\"asset.title\"\n [label]=\"asset.title\"\n [content]=\"assetContent\">\n <ng-template #assetContent>\n <ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n </ng-template>\n </ng-doc-tab>\n </ng-doc-tab-group>\n </ng-container>\n</ng-template>\n", styles: [":host{display:block;height:var(--ng-doc-demo-pane-height);margin:var(--ng-doc-demo-pane-margin);--ng-doc-code-margin: 0;--ng-doc-code-border-radius: 0;--ng-doc-code-border: none;--ng-doc-smooth-resize-height: var(--ng-doc-demo-pane-height);--ng-doc-smooth-resize-max-height: 100%;--ng-doc-tab-group-tabs-background: var(--ng-doc-base-2);--ng-doc-tab-group-border: none;--ng-doc-tab-group-border-radius: 0}:host ng-doc-tab-group,:host ng-doc-code,:host ng-doc-pane{width:100%;height:100%}\n"] }]
|
|
54
54
|
}], ctorParameters: () => [{ type: i1.NgDocRootPage }], propDecorators: { componentName: [{
|
|
55
55
|
type: Input
|
|
56
56
|
}], options: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-doc-app-components-demo-pane.mjs","sources":["../../../../libs/app/components/demo-pane/demo-pane.component.ts","../../../../libs/app/components/demo-pane/demo-pane.component.html","../../../../libs/app/components/demo-pane/ng-doc-app-components-demo-pane.ts"],"sourcesContent":["import { NgComponentOutlet, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n
|
|
1
|
+
{"version":3,"file":"ng-doc-app-components-demo-pane.mjs","sources":["../../../../libs/app/components/demo-pane/demo-pane.component.ts","../../../../libs/app/components/demo-pane/demo-pane.component.html","../../../../libs/app/components/demo-pane/ng-doc-app-components-demo-pane.ts"],"sourcesContent":["import { NgComponentOutlet, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n OnInit,\n Type,\n} from '@angular/core';\nimport { NgDocRootPage } from '@ng-doc/app/classes/root-page';\nimport { NgDocCodeComponent } from '@ng-doc/app/components/code';\nimport { NgDocFullscreenButtonComponent } from '@ng-doc/app/components/fullscreen-button';\nimport { NgDocDemoAsset } from '@ng-doc/app/interfaces';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { NgDocDemoPaneActionOptions } from '@ng-doc/core/interfaces';\nimport {\n NgDocPaneBackDirective,\n NgDocPaneComponent,\n NgDocPaneFrontDirective,\n NgDocTabComponent,\n NgDocTabGroupComponent,\n} from '@ng-doc/ui-kit';\n\n@Component({\n selector: 'ng-doc-demo-pane',\n templateUrl: './demo-pane.component.html',\n styleUrls: ['./demo-pane.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgDocPaneComponent,\n NgTemplateOutlet,\n NgDocPaneBackDirective,\n NgDocPaneFrontDirective,\n NgIf,\n NgFor,\n NgDocCodeComponent,\n NgDocTabGroupComponent,\n NgDocTabComponent,\n NgDocFullscreenButtonComponent,\n NgComponentOutlet,\n ],\n})\nexport class NgDocDemoPaneComponent implements OnInit {\n @Input()\n componentName?: string;\n\n @Input()\n options: NgDocDemoPaneActionOptions = {};\n\n demo?: Type<unknown>;\n assets: NgDocDemoAsset[] = [];\n\n constructor(private readonly rootPage: NgDocRootPage) {}\n\n @HostBinding('class')\n protected get classes(): string | string[] {\n return this.options.class ?? '';\n }\n\n ngOnInit(): void {\n this.demo = this.getDemo();\n this.assets = this.getAssets();\n }\n\n private getDemo(): Type<unknown> | undefined {\n if (this.componentName) {\n return this.rootPage.page?.demos && this.rootPage.page.demos[this.componentName];\n }\n\n return undefined;\n }\n\n private getAssets(): NgDocDemoAsset[] {\n if (this.componentName) {\n return (\n (this.rootPage.demoAssets && this.rootPage.demoAssets[this.componentName]) ??\n []\n ).filter(\n (asset: NgDocDemoAsset) =>\n !this.options.tabs?.length || asArray(this.options.tabs).includes(asset.title),\n );\n }\n\n return [];\n }\n}\n","<ng-doc-pane [expanded]=\"options.expanded ?? false\">\n <ng-container *ngTemplateOutlet=\"codeContent\" ngDocPaneBack></ng-container>\n <ng-container *ngTemplateOutlet=\"demoTemplate\" ngDocPaneFront></ng-container>\n</ng-doc-pane>\n\n<ng-template #demoTemplate>\n @if (options.fullscreenRoute) {\n <ng-doc-fullscreen-button [route]=\"options.fullscreenRoute!\"></ng-doc-fullscreen-button>\n } @else if (demo) {\n <ng-container *ngComponentOutlet=\"demo; inputs: options.inputs\"></ng-container>\n }\n</ng-template>\n\n<ng-template #codeContent>\n <ng-container *ngIf=\"assets.length === 1\">\n <ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n </ng-container>\n\n <ng-container *ngIf=\"assets.length > 1\">\n <ng-doc-tab-group [openedTab]=\"options.defaultTab\">\n <ng-doc-tab\n *ngFor=\"let asset of assets\"\n [id]=\"asset.title\"\n [label]=\"asset.title\"\n [content]=\"assetContent\">\n <ng-template #assetContent>\n <ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n </ng-template>\n </ng-doc-tab>\n </ng-doc-tab-group>\n </ng-container>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|