@ng-doc/app 16.14.0 → 16.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/assets/themes/ng-doc-night.css +20 -19
  2. package/components/playground/playground-demo/playground-demo.component.d.ts +1 -0
  3. package/components/playground/playground-properties/playground-properties.component.d.ts +2 -1
  4. package/components/playground/playground.component.d.ts +3 -0
  5. package/components/theme-toggle/theme-toggle.component.d.ts +8 -2
  6. package/constants/themes.d.ts +8 -8
  7. package/esm2022/components/api-list/api-list.component.mjs +7 -5
  8. package/esm2022/components/code/code.component.mjs +3 -3
  9. package/esm2022/components/demo/demo.component.mjs +7 -6
  10. package/esm2022/components/demo-displayer/demo-displayer.component.mjs +3 -3
  11. package/esm2022/components/demo-pane/demo-pane.component.mjs +6 -5
  12. package/esm2022/components/kind-icon/kind-icon.component.mjs +3 -3
  13. package/esm2022/components/link/link.component.mjs +1 -1
  14. package/esm2022/components/navbar/navbar.component.mjs +3 -3
  15. package/esm2022/components/page/page.component.mjs +4 -4
  16. package/esm2022/components/page-link/page-link.component.mjs +4 -4
  17. package/esm2022/components/page-navigation/page-navigation.component.mjs +3 -3
  18. package/esm2022/components/playground/base-playground.mjs +9 -4
  19. package/esm2022/components/playground/playground-demo/playground-demo.component.mjs +20 -2
  20. package/esm2022/components/playground/playground-form.mjs +1 -1
  21. package/esm2022/components/playground/playground-properties/playground-properties.component.mjs +6 -3
  22. package/esm2022/components/playground/playground-property/playground-property.component.mjs +4 -2
  23. package/esm2022/components/playground/playground-property-control.mjs +1 -1
  24. package/esm2022/components/playground/playground.component.mjs +30 -10
  25. package/esm2022/components/search/search.component.mjs +3 -3
  26. package/esm2022/components/search-result/search-result.component.mjs +10 -2
  27. package/esm2022/components/sidebar/sidebar-category/sidebar-category.component.mjs +6 -5
  28. package/esm2022/components/sidebar/sidebar-item/sidebar-item.component.mjs +3 -3
  29. package/esm2022/components/sidebar/sidebar.component.mjs +3 -3
  30. package/esm2022/components/tabs/tabs.component.mjs +3 -3
  31. package/esm2022/components/theme-toggle/theme-toggle.component.mjs +34 -7
  32. package/esm2022/components/toc/toc-element/toc-element.component.mjs +3 -3
  33. package/esm2022/components/toc/toc.component.mjs +5 -2
  34. package/esm2022/constants/themes.mjs +9 -9
  35. package/esm2022/directives/code-highlighter/code-highlighter.directive.mjs +1 -1
  36. package/esm2022/directives/route-active/route-active.directive.mjs +1 -1
  37. package/esm2022/helpers/as-boolean.mjs +6 -2
  38. package/esm2022/helpers/generate-toc.mjs +1 -1
  39. package/esm2022/interfaces/provided-type-control.mjs +1 -1
  40. package/esm2022/pipes/extract-value/extract-value.pipe.mjs +1 -1
  41. package/esm2022/pipes/filter-by-text/filter-by-text.pipe.mjs +1 -1
  42. package/esm2022/pipes/sanitize-html/sanitize-html.pipe.mjs +1 -1
  43. package/esm2022/processors/processors/code.processor.mjs +1 -1
  44. package/esm2022/processors/processors/demo-pane.processor.mjs +1 -1
  45. package/esm2022/processors/processors/demo.processor.mjs +1 -1
  46. package/esm2022/processors/processors/icon.processor.mjs +1 -1
  47. package/esm2022/processors/processors/link.processor.mjs +1 -1
  48. package/esm2022/processors/processors/playground.processor.mjs +3 -2
  49. package/esm2022/processors/processors/tabs.processor.mjs +1 -1
  50. package/esm2022/providers/ng-doc-app/provide-ng-doc-app.mjs +8 -6
  51. package/esm2022/services/store/store.service.mjs +1 -1
  52. package/esm2022/services/theme/theme.service.mjs +62 -33
  53. package/esm2022/tokens/api-list.mjs +1 -1
  54. package/esm2022/tokens/context.mjs +1 -1
  55. package/esm2022/tokens/theme.mjs +7 -7
  56. package/esm2022/tokens/type-control.mjs +1 -1
  57. package/esm2022/type-controls/boolean-control/boolean-control.component.mjs +1 -1
  58. package/esm2022/type-controls/number-control/number-control.component.mjs +1 -1
  59. package/esm2022/type-controls/string-control/string-control.component.mjs +1 -1
  60. package/esm2022/type-controls/type-alias-control/type-alias-control.component.mjs +1 -1
  61. package/esm2022/types/typed-form.mjs +1 -1
  62. package/fesm2022/ng-doc-app-components-api-list.mjs +5 -3
  63. package/fesm2022/ng-doc-app-components-api-list.mjs.map +1 -1
  64. package/fesm2022/ng-doc-app-components-code.mjs +2 -2
  65. package/fesm2022/ng-doc-app-components-code.mjs.map +1 -1
  66. package/fesm2022/ng-doc-app-components-demo-displayer.mjs +2 -2
  67. package/fesm2022/ng-doc-app-components-demo-displayer.mjs.map +1 -1
  68. package/fesm2022/ng-doc-app-components-demo-pane.mjs +4 -3
  69. package/fesm2022/ng-doc-app-components-demo-pane.mjs.map +1 -1
  70. package/fesm2022/ng-doc-app-components-demo.mjs +4 -3
  71. package/fesm2022/ng-doc-app-components-demo.mjs.map +1 -1
  72. package/fesm2022/ng-doc-app-components-kind-icon.mjs +2 -2
  73. package/fesm2022/ng-doc-app-components-kind-icon.mjs.map +1 -1
  74. package/fesm2022/ng-doc-app-components-link.mjs.map +1 -1
  75. package/fesm2022/ng-doc-app-components-navbar.mjs +2 -2
  76. package/fesm2022/ng-doc-app-components-navbar.mjs.map +1 -1
  77. package/fesm2022/ng-doc-app-components-page-link.mjs +2 -2
  78. package/fesm2022/ng-doc-app-components-page-link.mjs.map +1 -1
  79. package/fesm2022/ng-doc-app-components-page-navigation.mjs +2 -2
  80. package/fesm2022/ng-doc-app-components-page-navigation.mjs.map +1 -1
  81. package/fesm2022/ng-doc-app-components-page.mjs +3 -3
  82. package/fesm2022/ng-doc-app-components-page.mjs.map +1 -1
  83. package/fesm2022/ng-doc-app-components-playground.mjs +63 -16
  84. package/fesm2022/ng-doc-app-components-playground.mjs.map +1 -1
  85. package/fesm2022/ng-doc-app-components-search-result.mjs +9 -1
  86. package/fesm2022/ng-doc-app-components-search-result.mjs.map +1 -1
  87. package/fesm2022/ng-doc-app-components-search.mjs +2 -2
  88. package/fesm2022/ng-doc-app-components-search.mjs.map +1 -1
  89. package/fesm2022/ng-doc-app-components-sidebar.mjs +8 -7
  90. package/fesm2022/ng-doc-app-components-sidebar.mjs.map +1 -1
  91. package/fesm2022/ng-doc-app-components-tabs.mjs +2 -2
  92. package/fesm2022/ng-doc-app-components-tabs.mjs.map +1 -1
  93. package/fesm2022/ng-doc-app-components-theme-toggle.mjs +33 -6
  94. package/fesm2022/ng-doc-app-components-theme-toggle.mjs.map +1 -1
  95. package/fesm2022/ng-doc-app-components-toc.mjs +6 -3
  96. package/fesm2022/ng-doc-app-components-toc.mjs.map +1 -1
  97. package/fesm2022/ng-doc-app-constants.mjs +8 -8
  98. package/fesm2022/ng-doc-app-constants.mjs.map +1 -1
  99. package/fesm2022/ng-doc-app-directives-code-highlighter.mjs.map +1 -1
  100. package/fesm2022/ng-doc-app-directives-route-active.mjs.map +1 -1
  101. package/fesm2022/ng-doc-app-helpers.mjs +5 -1
  102. package/fesm2022/ng-doc-app-helpers.mjs.map +1 -1
  103. package/fesm2022/ng-doc-app-pipes-extract-value.mjs.map +1 -1
  104. package/fesm2022/ng-doc-app-pipes-filter-by-text.mjs.map +1 -1
  105. package/fesm2022/ng-doc-app-pipes-sanitize-html.mjs.map +1 -1
  106. package/fesm2022/ng-doc-app-processors-processors.mjs +2 -1
  107. package/fesm2022/ng-doc-app-processors-processors.mjs.map +1 -1
  108. package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs +7 -5
  109. package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs.map +1 -1
  110. package/fesm2022/ng-doc-app-services-store.mjs.map +1 -1
  111. package/fesm2022/ng-doc-app-services-theme.mjs +61 -32
  112. package/fesm2022/ng-doc-app-services-theme.mjs.map +1 -1
  113. package/fesm2022/ng-doc-app-tokens.mjs +6 -6
  114. package/fesm2022/ng-doc-app-tokens.mjs.map +1 -1
  115. package/fesm2022/ng-doc-app-type-controls-boolean-control.mjs.map +1 -1
  116. package/fesm2022/ng-doc-app-type-controls-number-control.mjs.map +1 -1
  117. package/fesm2022/ng-doc-app-type-controls-string-control.mjs.map +1 -1
  118. package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs.map +1 -1
  119. package/package.json +3 -3
  120. package/services/theme/theme.service.d.ts +24 -7
  121. package/styles/global.css +141 -436
  122. package/styles/main.css +138 -433
  123. package/tokens/theme.d.ts +6 -6
@@ -52,10 +52,12 @@ let NgDocApiListComponent = class NgDocApiListComponent {
52
52
  return asArray(new Set(this.apiList.flatMap((api) => api.title))).sort();
53
53
  }
54
54
  get types() {
55
- return asArray(new Set(this.apiList.flatMap((api) => api.items).flatMap((item) => item.type))).sort();
55
+ return asArray(new Set(this.apiList
56
+ .flatMap((api) => api.items)
57
+ .flatMap((item) => item.type))).sort();
56
58
  }
57
59
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocApiListComponent, deps: [{ token: NG_DOC_API_LIST_TOKEN }, { token: i1.FormBuilder }, { token: i2.ActivatedRoute }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
58
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocApiListComponent, isStandalone: true, selector: "ng-doc-api-list", ngImport: i0, template: "<h1 ng-doc-text>API List</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", styles: [":host h1{margin-top:0}:host .ng-doc-api-list-wrapper .ng-doc-api-filter{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 3);flex-wrap:wrap;grid-gap:calc(var(--ng-doc-base-gutter) * 2);gap:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-filter .ng-doc-api-filter-item{width:200px}:host .ng-doc-api-list-wrapper .ng-doc-api-list{margin-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope{display:flex;flex-direction:column}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items{margin-top:calc(var(--ng-doc-base-gutter) * 3);list-style:none;padding:0}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item{margin:var(--ng-doc-base-gutter) 0;float:left;width:33%;overflow:hidden;min-width:330px;text-overflow:ellipsis;white-space:nowrap}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link{display:flex;align-items:center;color:var(--ng-doc-text);text-decoration:none}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link:hover{text-decoration:underline}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link ng-doc-kind-icon{margin-right:var(--ng-doc-base-gutter);text-decoration:none!important}\n"], dependencies: [{ kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: NgDocLabelComponent, selector: "label[ng-doc-label]", inputs: ["ng-doc-label", "align"] }, { kind: "component", type: NgDocInputWrapperComponent, selector: "ng-doc-input-wrapper", inputs: ["blurContent", "blurContext", "leftContent", "rightContent", "align"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "directive", type: NgDocInputStringDirective, selector: "input[ngDocInputString]" }, { kind: "directive", type: NgDocAutofocusDirective, selector: "[ngDocAutofocus]", inputs: ["selectAll"] }, { kind: "component", type: NgDocComboboxComponent, selector: "ng-doc-combobox", inputs: ["readonly", "placeholder", "clearButton", "rightContent", "valueContent"] }, { kind: "directive", type: NgDocDataDirective, selector: "[ngDocData]" }, { kind: "component", type: NgDocListComponent, selector: "ng-doc-list" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocOptionComponent, selector: "ng-doc-option" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgDocKindIconComponent, selector: "ng-doc-kind-icon", inputs: ["kind", "type"] }, { kind: "directive", type: NgDocTextLeftDirective, selector: "[ngDocTextLeft]" }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocApiListComponent, isStandalone: true, selector: "ng-doc-api-list", ngImport: i0, template: "<h1 ng-doc-text>API List</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", styles: [":host h1{margin-top:0}:host .ng-doc-api-list-wrapper .ng-doc-api-filter{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 3);flex-wrap:wrap;grid-gap:calc(var(--ng-doc-base-gutter) * 2);gap:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-filter .ng-doc-api-filter-item{width:200px}:host .ng-doc-api-list-wrapper .ng-doc-api-list{margin-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope{display:flex;flex-direction:column}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items{margin-top:calc(var(--ng-doc-base-gutter) * 3);list-style:none;padding:0}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item{margin:var(--ng-doc-base-gutter) 0;float:left;width:33%;overflow:hidden;min-width:330px;text-overflow:ellipsis;white-space:nowrap}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link{display:flex;align-items:center;color:var(--ng-doc-text);text-decoration:none}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link:hover{text-decoration:underline}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link ng-doc-kind-icon{margin-right:var(--ng-doc-base-gutter);text-decoration:none!important}:host ng-doc-input-wrapper ng-doc-icon{--ng-doc-icon-color: var(--ng-doc-text-muted)}\n"], dependencies: [{ kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: NgDocLabelComponent, selector: "label[ng-doc-label]", inputs: ["ng-doc-label", "align"] }, { kind: "component", type: NgDocInputWrapperComponent, selector: "ng-doc-input-wrapper", inputs: ["blurContent", "blurContext", "leftContent", "rightContent", "align"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "directive", type: NgDocInputStringDirective, selector: "input[ngDocInputString]" }, { kind: "directive", type: NgDocAutofocusDirective, selector: "[ngDocAutofocus]", inputs: ["selectAll"] }, { kind: "component", type: NgDocComboboxComponent, selector: "ng-doc-combobox", inputs: ["readonly", "placeholder", "clearButton", "rightContent", "valueContent"] }, { kind: "directive", type: NgDocDataDirective, selector: "[ngDocData]" }, { kind: "component", type: NgDocListComponent, selector: "ng-doc-list" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocOptionComponent, selector: "ng-doc-option" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgDocKindIconComponent, selector: "ng-doc-kind-icon", inputs: ["kind", "type"] }, { kind: "directive", type: NgDocTextLeftDirective, selector: "[ngDocTextLeft]" }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
59
61
  };
60
62
  __decorate([
61
63
  ngDocMakePure,
@@ -96,7 +98,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
96
98
  NgDocTooltipDirective,
97
99
  RouterLink,
98
100
  AsyncPipe,
99
- ], template: "<h1 ng-doc-text>API List</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", styles: [":host h1{margin-top:0}:host .ng-doc-api-list-wrapper .ng-doc-api-filter{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 3);flex-wrap:wrap;grid-gap:calc(var(--ng-doc-base-gutter) * 2);gap:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-filter .ng-doc-api-filter-item{width:200px}:host .ng-doc-api-list-wrapper .ng-doc-api-list{margin-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope{display:flex;flex-direction:column}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items{margin-top:calc(var(--ng-doc-base-gutter) * 3);list-style:none;padding:0}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item{margin:var(--ng-doc-base-gutter) 0;float:left;width:33%;overflow:hidden;min-width:330px;text-overflow:ellipsis;white-space:nowrap}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link{display:flex;align-items:center;color:var(--ng-doc-text);text-decoration:none}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link:hover{text-decoration:underline}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link ng-doc-kind-icon{margin-right:var(--ng-doc-base-gutter);text-decoration:none!important}\n"] }]
101
+ ], template: "<h1 ng-doc-text>API List</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", styles: [":host h1{margin-top:0}:host .ng-doc-api-list-wrapper .ng-doc-api-filter{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 3);flex-wrap:wrap;grid-gap:calc(var(--ng-doc-base-gutter) * 2);gap:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-filter .ng-doc-api-filter-item{width:200px}:host .ng-doc-api-list-wrapper .ng-doc-api-list{margin-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope{display:flex;flex-direction:column}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items{margin-top:calc(var(--ng-doc-base-gutter) * 3);list-style:none;padding:0}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item{margin:var(--ng-doc-base-gutter) 0;float:left;width:33%;overflow:hidden;min-width:330px;text-overflow:ellipsis;white-space:nowrap}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link{display:flex;align-items:center;color:var(--ng-doc-text);text-decoration:none}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link:hover{text-decoration:underline}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link ng-doc-kind-icon{margin-right:var(--ng-doc-base-gutter);text-decoration:none!important}:host ng-doc-input-wrapper ng-doc-icon{--ng-doc-icon-color: var(--ng-doc-text-muted)}\n"] }]
100
102
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
101
103
  type: Inject,
102
104
  args: [NG_DOC_API_LIST_TOKEN]
@@ -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} from '@angular/core';\nimport {FormBuilder, FormControl, FormGroup, FormsModule, ReactiveFormsModule} 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\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(this.apiList.flatMap((api: NgDocApiList) => api.items).flatMap((item: NgDocApiListItem) => item.type)),\n\t\t).sort();\n\t}\n}\n","<h1 ng-doc-text>API List</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 { ChangeDetectionStrategy, Component, Inject } 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\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>API List</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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"}
@@ -25,7 +25,7 @@ class NgDocCodeComponent {
25
25
  this.clipboard.copy(this.codeElement?.textContent ?? '');
26
26
  }
27
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocCodeComponent, deps: [{ token: i0.ElementRef }, { token: i1.Clipboard }], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.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<div\n\t\tclass=\"ng-doc-code-wrapper\"\n\t\t[innerHTML]=\"html | ngDocSanitizeHtml\"\n\t\tngDocPageProcessor\n\t\t*ngIf=\"html\"></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\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}:host .ng-doc-code-header{display:flex;align-items:center;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-code-header-background, var(--ng-doc-base-2));border-radius:var(--ng-doc-base-gutter) var(--ng-doc-base-gutter) 0 0}:host .ng-doc-code-header .ng-doc-code-file-name{--ng-doc-text: var(--ng-doc-code-header-color);--ng-doc-font-weight: 600;--ng-doc-font-size: 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%}: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));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{position:relative;padding:0 calc(var(--ng-doc-base-gutter) * 2)}:host ::ng-deep pre code .line.highlighted{background:var(--ng-doc-code-highlight-background, rgba(var(--ng-doc-primary-rgb), .15))}:host ::ng-deep pre code .line.highlighted:before{content:\"\";position:absolute;top:0;left:0;width:2px;height:100%;background:var(--ng-doc-code-highlight-border, var(--ng-doc-primary))}\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: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }, { kind: "directive", type: NgDocPageProcessorDirective, selector: "[ngDocPageProcessor]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.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<div\n\t\tclass=\"ng-doc-code-wrapper\"\n\t\t[innerHTML]=\"html | ngDocSanitizeHtml\"\n\t\tngDocPageProcessor\n\t\t*ngIf=\"html\"></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\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: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }, { kind: "directive", type: NgDocPageProcessorDirective, selector: "[ngDocPageProcessor]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
29
  }
30
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocCodeComponent, decorators: [{
31
31
  type: Component,
@@ -38,7 +38,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
38
38
  NgDocIconComponent,
39
39
  NgDocSanitizeHtmlPipe,
40
40
  NgDocPageProcessorDirective,
41
- ], 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<div\n\t\tclass=\"ng-doc-code-wrapper\"\n\t\t[innerHTML]=\"html | ngDocSanitizeHtml\"\n\t\tngDocPageProcessor\n\t\t*ngIf=\"html\"></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\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}:host .ng-doc-code-header{display:flex;align-items:center;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-code-header-background, var(--ng-doc-base-2));border-radius:var(--ng-doc-base-gutter) var(--ng-doc-base-gutter) 0 0}:host .ng-doc-code-header .ng-doc-code-file-name{--ng-doc-text: var(--ng-doc-code-header-color);--ng-doc-font-weight: 600;--ng-doc-font-size: 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%}: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));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{position:relative;padding:0 calc(var(--ng-doc-base-gutter) * 2)}:host ::ng-deep pre code .line.highlighted{background:var(--ng-doc-code-highlight-background, rgba(var(--ng-doc-primary-rgb), .15))}:host ::ng-deep pre code .line.highlighted:before{content:\"\";position:absolute;top:0;left:0;width:2px;height:100%;background:var(--ng-doc-code-highlight-border, var(--ng-doc-primary))}\n"] }]
41
+ ], 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<div\n\t\tclass=\"ng-doc-code-wrapper\"\n\t\t[innerHTML]=\"html | ngDocSanitizeHtml\"\n\t\tngDocPageProcessor\n\t\t*ngIf=\"html\"></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\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"] }]
42
42
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Clipboard }]; }, propDecorators: { html: [{
43
43
  type: Input
44
44
  }], copyButton: [{
@@ -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 {Clipboard} from '@angular/cdk/clipboard';\nimport {NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input} from '@angular/core';\nimport {NgDocSanitizeHtmlPipe} from '@ng-doc/app/pipes/sanitize-html';\nimport {NgDocPageProcessorDirective} from '@ng-doc/app/processors/page-processor';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocIconComponent,\n\tNgDocSmoothResizeComponent,\n\tNgDocTextComponent,\n\tNgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\n\n@Component({\n\tselector: 'ng-doc-code',\n\ttemplateUrl: './code.component.html',\n\tstyleUrls: ['./code.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgIf,\n\t\tNgDocTextComponent,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocTooltipDirective,\n\t\tNgDocSmoothResizeComponent,\n\t\tNgDocIconComponent,\n\t\tNgDocSanitizeHtmlPipe,\n\t\tNgDocPageProcessorDirective,\n\t],\n})\nexport class NgDocCodeComponent {\n\t@Input()\n\thtml: string = '';\n\n\t@Input()\n\tcopyButton: boolean = true;\n\n\t@Input()\n\tname?: string;\n\n\t@Input()\n\ticon?: string;\n\n\t@Input()\n\tlineNumbers: boolean = false;\n\n\ttooltipText: string = '';\n\n\tconstructor(private elementRef: ElementRef<HTMLElement>, private readonly clipboard: Clipboard) {}\n\n\t@HostBinding('attr.data-ng-doc-has-header')\n\tget hasHeader(): boolean {\n\t\treturn !!this.name || !!this.icon;\n\t}\n\n\tget codeElement(): HTMLElement | null {\n\t\treturn this.elementRef?.nativeElement.querySelector('code') ?? null;\n\t}\n\n\tcopyCode(): void {\n\t\tthis.clipboard.copy(this.codeElement?.textContent ?? '');\n\t}\n}\n","<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>\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<div\n\t\tclass=\"ng-doc-code-wrapper\"\n\t\t[innerHTML]=\"html | ngDocSanitizeHtml\"\n\t\tngDocPageProcessor\n\t\t*ngIf=\"html\"></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-doc-app-components-code.mjs","sources":["../../../../libs/app/components/code/code.component.ts","../../../../libs/app/components/code/code.component.html","../../../../libs/app/components/code/ng-doc-app-components-code.ts"],"sourcesContent":["import { Clipboard } from '@angular/cdk/clipboard';\nimport { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input } from '@angular/core';\nimport { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes/sanitize-html';\nimport { NgDocPageProcessorDirective } from '@ng-doc/app/processors/page-processor';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocIconComponent,\n\tNgDocSmoothResizeComponent,\n\tNgDocTextComponent,\n\tNgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\n\n@Component({\n\tselector: 'ng-doc-code',\n\ttemplateUrl: './code.component.html',\n\tstyleUrls: ['./code.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgIf,\n\t\tNgDocTextComponent,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocTooltipDirective,\n\t\tNgDocSmoothResizeComponent,\n\t\tNgDocIconComponent,\n\t\tNgDocSanitizeHtmlPipe,\n\t\tNgDocPageProcessorDirective,\n\t],\n})\nexport class NgDocCodeComponent {\n\t@Input()\n\thtml: string = '';\n\n\t@Input()\n\tcopyButton: boolean = true;\n\n\t@Input()\n\tname?: string;\n\n\t@Input()\n\ticon?: string;\n\n\t@Input()\n\tlineNumbers: boolean = false;\n\n\ttooltipText: string = '';\n\n\tconstructor(private elementRef: ElementRef<HTMLElement>, private readonly clipboard: Clipboard) {}\n\n\t@HostBinding('attr.data-ng-doc-has-header')\n\tget hasHeader(): boolean {\n\t\treturn !!this.name || !!this.icon;\n\t}\n\n\tget codeElement(): HTMLElement | null {\n\t\treturn this.elementRef?.nativeElement.querySelector('code') ?? null;\n\t}\n\n\tcopyCode(): void {\n\t\tthis.clipboard.copy(this.codeElement?.textContent ?? '');\n\t}\n}\n","<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>\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<div\n\t\tclass=\"ng-doc-code-wrapper\"\n\t\t[innerHTML]=\"html | ngDocSanitizeHtml\"\n\t\tngDocPageProcessor\n\t\t*ngIf=\"html\"></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ class NgDocDemoDisplayerComponent {
24
24
  this.clipboard.copy(this.code);
25
25
  }
26
26
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocDemoDisplayerComponent, deps: [{ token: i1.Clipboard }], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.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}: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}\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 }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.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 }); }
28
28
  }
29
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocDemoDisplayerComponent, decorators: [{
30
30
  type: Component,
@@ -38,7 +38,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
38
38
  NgDocExpanderComponent,
39
39
  NgDocCodeComponent,
40
40
  NgDocCodeHighlighterDirective,
41
- ], 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}: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}\n"] }]
41
+ ], 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"] }]
42
42
  }], ctorParameters: function () { return [{ type: i1.Clipboard }]; }, propDecorators: { codeContent: [{
43
43
  type: Input
44
44
  }], code: [{
@@ -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 {Clipboard} from '@angular/cdk/clipboard';\nimport {NgIf, NgTemplateOutlet} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\nimport {NgDocCodeComponent} from '@ng-doc/app/components/code';\nimport {NgDocCodeHighlighterDirective} from '@ng-doc/app/directives/code-highlighter';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocContent,\n\tNgDocExpanderComponent,\n\tNgDocIconComponent,\n\tNgDocSmoothResizeComponent,\n\tNgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\n\n@Component({\n\tselector: 'ng-doc-demo-displayer',\n\ttemplateUrl: './demo-displayer.component.html',\n\tstyleUrls: ['./demo-displayer.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgIf,\n\t\tNgTemplateOutlet,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocTooltipDirective,\n\t\tNgDocSmoothResizeComponent,\n\t\tNgDocIconComponent,\n\t\tNgDocExpanderComponent,\n\t\tNgDocCodeComponent,\n\t\tNgDocCodeHighlighterDirective,\n\t],\n})\nexport class NgDocDemoDisplayerComponent {\n\t@Input()\n\tcodeContent: NgDocContent = '';\n\n\t@Input()\n\tcode: string = '';\n\n\t@Input()\n\tlanguage: string = 'typescript';\n\n\t@Input()\n\tcontainer: boolean = true;\n\n\t@Input()\n\t@HostBinding('attr.data-ng-doc-border')\n\tborder: boolean = true;\n\n\t@Input()\n\texpanded: boolean = false;\n\n\tcopyTooltipText: string = '';\n\n\tconstructor(private readonly clipboard: Clipboard) {}\n\n\tprotected get expandTooltipText(): string {\n\t\treturn this.expanded ? 'Collapse' : 'Expand';\n\t}\n\n\tcopyCode(): void {\n\t\tthis.clipboard.copy(this.code);\n\t}\n}\n","<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","/**\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-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 { Clipboard } from '@angular/cdk/clipboard';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { NgDocCodeComponent } from '@ng-doc/app/components/code';\nimport { NgDocCodeHighlighterDirective } from '@ng-doc/app/directives/code-highlighter';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocContent,\n\tNgDocExpanderComponent,\n\tNgDocIconComponent,\n\tNgDocSmoothResizeComponent,\n\tNgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\n\n@Component({\n\tselector: 'ng-doc-demo-displayer',\n\ttemplateUrl: './demo-displayer.component.html',\n\tstyleUrls: ['./demo-displayer.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgIf,\n\t\tNgTemplateOutlet,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocTooltipDirective,\n\t\tNgDocSmoothResizeComponent,\n\t\tNgDocIconComponent,\n\t\tNgDocExpanderComponent,\n\t\tNgDocCodeComponent,\n\t\tNgDocCodeHighlighterDirective,\n\t],\n})\nexport class NgDocDemoDisplayerComponent {\n\t@Input()\n\tcodeContent: NgDocContent = '';\n\n\t@Input()\n\tcode: string = '';\n\n\t@Input()\n\tlanguage: string = 'typescript';\n\n\t@Input()\n\tcontainer: boolean = true;\n\n\t@Input()\n\t@HostBinding('attr.data-ng-doc-border')\n\tborder: boolean = true;\n\n\t@Input()\n\texpanded: boolean = false;\n\n\tcopyTooltipText: string = '';\n\n\tconstructor(private readonly clipboard: Clipboard) {}\n\n\tprotected get expandTooltipText(): string {\n\t\treturn this.expanded ? 'Collapse' : 'Expand';\n\t}\n\n\tcopyCode(): void {\n\t\tthis.clipboard.copy(this.code);\n\t}\n}\n","<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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -30,12 +30,13 @@ class NgDocDemoPaneComponent {
30
30
  }
31
31
  getAssets() {
32
32
  if (this.componentName) {
33
- return ((this.rootPage.demoAssets && this.rootPage.demoAssets[this.componentName]) ?? []).filter((asset) => !this.options.tabs?.length || asArray(this.options.tabs).includes(asset.title));
33
+ return ((this.rootPage.demoAssets && this.rootPage.demoAssets[this.componentName]) ??
34
+ []).filter((asset) => !this.options.tabs?.length || asArray(this.options.tabs).includes(asset.title));
34
35
  }
35
36
  return [];
36
37
  }
37
38
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocDemoPaneComponent, deps: [{ token: i1.NgDocRootPage }], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", 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\t<ng-container *ngTemplateOutlet=\"codeContent\" ngDocPaneBack></ng-container>\n\t<ng-container *ngTemplateOutlet=\"demoTemplate\" ngDocPaneFront></ng-container>\n</ng-doc-pane>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></ng-container>\n</ng-template>\n\n<ng-template #codeContent>\n\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t</ng-container>\n\n\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t<ng-doc-tab-group [openedTab]=\"options.defaultTab\">\n\t\t\t<ng-doc-tab *ngFor=\"let asset of assets\" [id]=\"asset.title\" [label]=\"asset.title\" [content]=\"assetContent\">\n\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-tab>\n\t\t</ng-doc-tab-group>\n\t</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-smooth-resize-height: var(--ng-doc-demo-pane-height);--ng-doc-smooth-resize-max-height: 100%}: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: "ngmodule", type: PolymorpheusModule }, { kind: "directive", type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { 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", "lineNumbers"] }, { kind: "component", type: NgDocTabGroupComponent, selector: "ng-doc-tab-group", inputs: ["openedTab"] }, { kind: "component", type: NgDocTabComponent, selector: "ng-doc-tab", inputs: ["label", "id", "content"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", 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\t<ng-container *ngTemplateOutlet=\"codeContent\" ngDocPaneBack></ng-container>\n\t<ng-container *ngTemplateOutlet=\"demoTemplate\" ngDocPaneFront></ng-container>\n</ng-doc-pane>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></ng-container>\n</ng-template>\n\n<ng-template #codeContent>\n\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t</ng-container>\n\n\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t<ng-doc-tab-group [openedTab]=\"options.defaultTab\">\n\t\t\t<ng-doc-tab\n\t\t\t\t*ngFor=\"let asset of assets\"\n\t\t\t\t[id]=\"asset.title\"\n\t\t\t\t[label]=\"asset.title\"\n\t\t\t\t[content]=\"assetContent\">\n\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-tab>\n\t\t</ng-doc-tab-group>\n\t</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: "ngmodule", type: PolymorpheusModule }, { kind: "directive", type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { 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", "lineNumbers"] }, { kind: "component", type: NgDocTabGroupComponent, selector: "ng-doc-tab-group", inputs: ["openedTab"] }, { kind: "component", type: NgDocTabComponent, selector: "ng-doc-tab", inputs: ["label", "id", "content"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
39
40
  }
40
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocDemoPaneComponent, decorators: [{
41
42
  type: Component,
@@ -50,7 +51,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
50
51
  NgDocCodeComponent,
51
52
  NgDocTabGroupComponent,
52
53
  NgDocTabComponent,
53
- ], template: "<ng-doc-pane [expanded]=\"options.expanded ?? false\">\n\t<ng-container *ngTemplateOutlet=\"codeContent\" ngDocPaneBack></ng-container>\n\t<ng-container *ngTemplateOutlet=\"demoTemplate\" ngDocPaneFront></ng-container>\n</ng-doc-pane>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></ng-container>\n</ng-template>\n\n<ng-template #codeContent>\n\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t</ng-container>\n\n\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t<ng-doc-tab-group [openedTab]=\"options.defaultTab\">\n\t\t\t<ng-doc-tab *ngFor=\"let asset of assets\" [id]=\"asset.title\" [label]=\"asset.title\" [content]=\"assetContent\">\n\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-tab>\n\t\t</ng-doc-tab-group>\n\t</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-smooth-resize-height: var(--ng-doc-demo-pane-height);--ng-doc-smooth-resize-max-height: 100%}:host ng-doc-tab-group,:host ng-doc-code,:host ng-doc-pane{width:100%;height:100%}\n"] }]
54
+ ], template: "<ng-doc-pane [expanded]=\"options.expanded ?? false\">\n\t<ng-container *ngTemplateOutlet=\"codeContent\" ngDocPaneBack></ng-container>\n\t<ng-container *ngTemplateOutlet=\"demoTemplate\" ngDocPaneFront></ng-container>\n</ng-doc-pane>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></ng-container>\n</ng-template>\n\n<ng-template #codeContent>\n\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t</ng-container>\n\n\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t<ng-doc-tab-group [openedTab]=\"options.defaultTab\">\n\t\t\t<ng-doc-tab\n\t\t\t\t*ngFor=\"let asset of assets\"\n\t\t\t\t[id]=\"asset.title\"\n\t\t\t\t[label]=\"asset.title\"\n\t\t\t\t[content]=\"assetContent\">\n\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-tab>\n\t\t</ng-doc-tab-group>\n\t</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
55
  }], ctorParameters: function () { return [{ type: i1.NgDocRootPage }]; }, propDecorators: { componentName: [{
55
56
  type: Input
56
57
  }], 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 {NgFor, NgIf, NgTemplateOutlet} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, HostBinding, Input, OnInit, Type} from '@angular/core';\nimport {NgDocRootPage} from '@ng-doc/app/classes/root-page';\nimport {NgDocCodeComponent} from '@ng-doc/app/components/code';\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\tNgDocPaneBackDirective,\n\tNgDocPaneComponent,\n\tNgDocPaneFrontDirective,\n\tNgDocTabComponent,\n\tNgDocTabGroupComponent,\n} from '@ng-doc/ui-kit';\nimport {NgDocContent} from '@ng-doc/ui-kit/types';\nimport {PolymorpheusComponent, PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\n@Component({\n\tselector: 'ng-doc-demo-pane',\n\ttemplateUrl: './demo-pane.component.html',\n\tstyleUrls: ['./demo-pane.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgDocPaneComponent,\n\t\tNgTemplateOutlet,\n\t\tNgDocPaneBackDirective,\n\t\tNgDocPaneFrontDirective,\n\t\tPolymorpheusModule,\n\t\tNgIf,\n\t\tNgFor,\n\t\tNgDocCodeComponent,\n\t\tNgDocTabGroupComponent,\n\t\tNgDocTabComponent,\n\t],\n})\nexport class NgDocDemoPaneComponent implements OnInit {\n\t@Input()\n\tcomponentName?: string;\n\n\t@Input()\n\toptions: NgDocDemoPaneActionOptions = {};\n\n\tdemo?: NgDocContent<object>;\n\tassets: NgDocDemoAsset[] = [];\n\n\tconstructor(private readonly rootPage: NgDocRootPage) {}\n\n\t@HostBinding('class')\n\tprotected get classes(): string | string[] {\n\t\treturn this.options.class ?? '';\n\t}\n\n\tngOnInit(): void {\n\t\tthis.demo = this.getDemo();\n\t\tthis.assets = this.getAssets();\n\t}\n\n\tprivate getDemo(): NgDocContent<object> | undefined {\n\t\tif (this.componentName) {\n\t\t\tconst component: Type<unknown> | undefined =\n\t\t\t\tthis.rootPage.page?.demos && this.rootPage.page.demos[this.componentName];\n\n\t\t\treturn component ? new PolymorpheusComponent(component as Type<object>) : undefined;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tprivate getAssets(): NgDocDemoAsset[] {\n\t\tif (this.componentName) {\n\t\t\treturn ((this.rootPage.demoAssets && this.rootPage.demoAssets[this.componentName]) ?? []).filter(\n\t\t\t\t(asset: NgDocDemoAsset) => !this.options.tabs?.length || asArray(this.options.tabs).includes(asset.title),\n\t\t\t);\n\t\t}\n\n\t\treturn [];\n\t}\n}\n","<ng-doc-pane [expanded]=\"options.expanded ?? false\">\n\t<ng-container *ngTemplateOutlet=\"codeContent\" ngDocPaneBack></ng-container>\n\t<ng-container *ngTemplateOutlet=\"demoTemplate\" ngDocPaneFront></ng-container>\n</ng-doc-pane>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></ng-container>\n</ng-template>\n\n<ng-template #codeContent>\n\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t</ng-container>\n\n\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t<ng-doc-tab-group [openedTab]=\"options.defaultTab\">\n\t\t\t<ng-doc-tab *ngFor=\"let asset of assets\" [id]=\"asset.title\" [label]=\"asset.title\" [content]=\"assetContent\">\n\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-tab>\n\t\t</ng-doc-tab-group>\n\t</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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"}
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 { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tHostBinding,\n\tInput,\n\tOnInit,\n\tType,\n} from '@angular/core';\nimport { NgDocRootPage } from '@ng-doc/app/classes/root-page';\nimport { NgDocCodeComponent } from '@ng-doc/app/components/code';\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\tNgDocPaneBackDirective,\n\tNgDocPaneComponent,\n\tNgDocPaneFrontDirective,\n\tNgDocTabComponent,\n\tNgDocTabGroupComponent,\n} from '@ng-doc/ui-kit';\nimport { NgDocContent } from '@ng-doc/ui-kit/types';\nimport { PolymorpheusComponent, PolymorpheusModule } from '@tinkoff/ng-polymorpheus';\n\n@Component({\n\tselector: 'ng-doc-demo-pane',\n\ttemplateUrl: './demo-pane.component.html',\n\tstyleUrls: ['./demo-pane.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgDocPaneComponent,\n\t\tNgTemplateOutlet,\n\t\tNgDocPaneBackDirective,\n\t\tNgDocPaneFrontDirective,\n\t\tPolymorpheusModule,\n\t\tNgIf,\n\t\tNgFor,\n\t\tNgDocCodeComponent,\n\t\tNgDocTabGroupComponent,\n\t\tNgDocTabComponent,\n\t],\n})\nexport class NgDocDemoPaneComponent implements OnInit {\n\t@Input()\n\tcomponentName?: string;\n\n\t@Input()\n\toptions: NgDocDemoPaneActionOptions = {};\n\n\tdemo?: NgDocContent<object>;\n\tassets: NgDocDemoAsset[] = [];\n\n\tconstructor(private readonly rootPage: NgDocRootPage) {}\n\n\t@HostBinding('class')\n\tprotected get classes(): string | string[] {\n\t\treturn this.options.class ?? '';\n\t}\n\n\tngOnInit(): void {\n\t\tthis.demo = this.getDemo();\n\t\tthis.assets = this.getAssets();\n\t}\n\n\tprivate getDemo(): NgDocContent<object> | undefined {\n\t\tif (this.componentName) {\n\t\t\tconst component: Type<unknown> | undefined =\n\t\t\t\tthis.rootPage.page?.demos && this.rootPage.page.demos[this.componentName];\n\n\t\t\treturn component ? new PolymorpheusComponent(component as Type<object>) : undefined;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tprivate getAssets(): NgDocDemoAsset[] {\n\t\tif (this.componentName) {\n\t\t\treturn (\n\t\t\t\t(this.rootPage.demoAssets && this.rootPage.demoAssets[this.componentName]) ??\n\t\t\t\t[]\n\t\t\t).filter(\n\t\t\t\t(asset: NgDocDemoAsset) =>\n\t\t\t\t\t!this.options.tabs?.length || asArray(this.options.tabs).includes(asset.title),\n\t\t\t);\n\t\t}\n\n\t\treturn [];\n\t}\n}\n","<ng-doc-pane [expanded]=\"options.expanded ?? false\">\n\t<ng-container *ngTemplateOutlet=\"codeContent\" ngDocPaneBack></ng-container>\n\t<ng-container *ngTemplateOutlet=\"demoTemplate\" ngDocPaneFront></ng-container>\n</ng-doc-pane>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></ng-container>\n</ng-template>\n\n<ng-template #codeContent>\n\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t</ng-container>\n\n\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t<ng-doc-tab-group [openedTab]=\"options.defaultTab\">\n\t\t\t<ng-doc-tab\n\t\t\t\t*ngFor=\"let asset of assets\"\n\t\t\t\t[id]=\"asset.title\"\n\t\t\t\t[label]=\"asset.title\"\n\t\t\t\t[content]=\"assetContent\">\n\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-tab>\n\t\t</ng-doc-tab-group>\n\t</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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"}
@@ -34,12 +34,13 @@ class NgDocDemoComponent {
34
34
  }
35
35
  getAssets() {
36
36
  if (this.componentName) {
37
- return ((this.rootPage.demoAssets && this.rootPage.demoAssets[this.componentName]) ?? []).filter((asset) => !this.options.tabs?.length || asArray(this.options.tabs).includes(asset.title));
37
+ return ((this.rootPage.demoAssets && this.rootPage.demoAssets[this.componentName]) ??
38
+ []).filter((asset) => !this.options.tabs?.length || asArray(this.options.tabs).includes(asset.title));
38
39
  }
39
40
  return [];
40
41
  }
41
42
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocDemoComponent, deps: [{ token: i1.NgDocRootPage }], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocDemoComponent, isStandalone: true, selector: "ng-doc-demo", inputs: { componentName: "componentName", options: "options" }, host: { properties: { "class": "this.classes" } }, ngImport: i0, template: "<ng-container *ngIf=\"options.container ?? true; else demoTemplate\">\n\t<ng-doc-demo-displayer [codeContent]=\"codeContent\" [expanded]=\"!!options.expanded\">\n\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t<ng-template #codeContent>\n\t\t\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t\t\t</ng-container>\n\n\t\t\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t\t\t<ng-doc-tab-group [openedTab]=\"(getOpenedAssetId | execute: assets) ?? options.defaultTab\">\n\t\t\t\t\t<ng-doc-tab\n\t\t\t\t\t\t*ngFor=\"let asset of assets\"\n\t\t\t\t\t\t[id]=\"asset.title\"\n\t\t\t\t\t\t[label]=\"label\"\n\t\t\t\t\t\t[content]=\"assetContent\">\n\t\t\t\t\t\t<ng-template #label>\n\t\t\t\t\t\t\t<ng-doc-icon [customIcon]=\"asset.icon\" *ngIf=\"asset.icon\"></ng-doc-icon>\n\t\t\t\t\t\t\t{{ asset.title }}\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</ng-doc-tab>\n\t\t\t\t</ng-doc-tab-group>\n\t\t\t</ng-container>\n\t\t</ng-template>\n\t</ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></ng-container>\n</ng-template>\n", styles: [":host{display:block;margin:var(--ng-doc-demo-margin);--ng-doc-tab-group-background: var(--ng-doc-code-background)}:host .ng-doc-example{padding:calc(var(--ng-doc-base-gutter) * 3)}:host ng-doc-icon{margin-right:calc(var(--ng-doc-base-gutter) / 2)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocDemoDisplayerComponent, selector: "ng-doc-demo-displayer", inputs: ["codeContent", "code", "language", "container", "border", "expanded"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocCodeComponent, selector: "ng-doc-code", inputs: ["html", "copyButton", "name", "icon", "lineNumbers"] }, { kind: "component", type: NgDocTabGroupComponent, selector: "ng-doc-tab-group", inputs: ["openedTab"] }, { kind: "component", type: NgDocTabComponent, selector: "ng-doc-tab", inputs: ["label", "id", "content"] }, { kind: "ngmodule", type: PolymorpheusModule }, { kind: "directive", type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "pipe", type: NgDocExecutePipe, name: "execute" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocDemoComponent, isStandalone: true, selector: "ng-doc-demo", inputs: { componentName: "componentName", options: "options" }, host: { properties: { "class": "this.classes" } }, ngImport: i0, template: "<ng-container *ngIf=\"options.container ?? true; else demoTemplate\">\n\t<ng-doc-demo-displayer [codeContent]=\"codeContent\" [expanded]=\"!!options.expanded\">\n\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t<ng-template #codeContent>\n\t\t\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t\t\t</ng-container>\n\n\t\t\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t\t\t<ng-doc-tab-group [openedTab]=\"(getOpenedAssetId | execute: assets) ?? options.defaultTab\">\n\t\t\t\t\t<ng-doc-tab\n\t\t\t\t\t\t*ngFor=\"let asset of assets\"\n\t\t\t\t\t\t[id]=\"asset.title\"\n\t\t\t\t\t\t[label]=\"label\"\n\t\t\t\t\t\t[content]=\"assetContent\">\n\t\t\t\t\t\t<ng-template #label>\n\t\t\t\t\t\t\t<ng-doc-icon [customIcon]=\"asset.icon\" *ngIf=\"asset.icon\"></ng-doc-icon>\n\t\t\t\t\t\t\t{{ asset.title }}\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</ng-doc-tab>\n\t\t\t\t</ng-doc-tab-group>\n\t\t\t</ng-container>\n\t\t</ng-template>\n\t</ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></ng-container>\n</ng-template>\n", styles: [":host{display:block;margin:var(--ng-doc-demo-margin);--ng-doc-tab-group-background: var(--ng-doc-code-background);--ng-doc-tab-group-tabs-background: var(--ng-doc-base-2);--ng-doc-tab-group-border-radius: 0;--ng-doc-tab-group-border: none;--ng-doc-code-border-radius: 0;--ng-doc-code-border: none}:host .ng-doc-example{padding:calc(var(--ng-doc-base-gutter) * 3)}:host ng-doc-icon{margin-right:calc(var(--ng-doc-base-gutter) / 2)}:host ng-doc-tab-group{border-top:1px solid var(--ng-doc-border-color)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocDemoDisplayerComponent, selector: "ng-doc-demo-displayer", inputs: ["codeContent", "code", "language", "container", "border", "expanded"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocCodeComponent, selector: "ng-doc-code", inputs: ["html", "copyButton", "name", "icon", "lineNumbers"] }, { kind: "component", type: NgDocTabGroupComponent, selector: "ng-doc-tab-group", inputs: ["openedTab"] }, { kind: "component", type: NgDocTabComponent, selector: "ng-doc-tab", inputs: ["label", "id", "content"] }, { kind: "ngmodule", type: PolymorpheusModule }, { kind: "directive", type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "pipe", type: NgDocExecutePipe, name: "execute" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43
44
  }
44
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocDemoComponent, decorators: [{
45
46
  type: Component,
@@ -54,7 +55,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
54
55
  PolymorpheusModule,
55
56
  NgDocIconComponent,
56
57
  NgDocExecutePipe,
57
- ], template: "<ng-container *ngIf=\"options.container ?? true; else demoTemplate\">\n\t<ng-doc-demo-displayer [codeContent]=\"codeContent\" [expanded]=\"!!options.expanded\">\n\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t<ng-template #codeContent>\n\t\t\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t\t\t</ng-container>\n\n\t\t\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t\t\t<ng-doc-tab-group [openedTab]=\"(getOpenedAssetId | execute: assets) ?? options.defaultTab\">\n\t\t\t\t\t<ng-doc-tab\n\t\t\t\t\t\t*ngFor=\"let asset of assets\"\n\t\t\t\t\t\t[id]=\"asset.title\"\n\t\t\t\t\t\t[label]=\"label\"\n\t\t\t\t\t\t[content]=\"assetContent\">\n\t\t\t\t\t\t<ng-template #label>\n\t\t\t\t\t\t\t<ng-doc-icon [customIcon]=\"asset.icon\" *ngIf=\"asset.icon\"></ng-doc-icon>\n\t\t\t\t\t\t\t{{ asset.title }}\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</ng-doc-tab>\n\t\t\t\t</ng-doc-tab-group>\n\t\t\t</ng-container>\n\t\t</ng-template>\n\t</ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></ng-container>\n</ng-template>\n", styles: [":host{display:block;margin:var(--ng-doc-demo-margin);--ng-doc-tab-group-background: var(--ng-doc-code-background)}:host .ng-doc-example{padding:calc(var(--ng-doc-base-gutter) * 3)}:host ng-doc-icon{margin-right:calc(var(--ng-doc-base-gutter) / 2)}\n"] }]
58
+ ], template: "<ng-container *ngIf=\"options.container ?? true; else demoTemplate\">\n\t<ng-doc-demo-displayer [codeContent]=\"codeContent\" [expanded]=\"!!options.expanded\">\n\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t<ng-template #codeContent>\n\t\t\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t\t\t</ng-container>\n\n\t\t\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t\t\t<ng-doc-tab-group [openedTab]=\"(getOpenedAssetId | execute: assets) ?? options.defaultTab\">\n\t\t\t\t\t<ng-doc-tab\n\t\t\t\t\t\t*ngFor=\"let asset of assets\"\n\t\t\t\t\t\t[id]=\"asset.title\"\n\t\t\t\t\t\t[label]=\"label\"\n\t\t\t\t\t\t[content]=\"assetContent\">\n\t\t\t\t\t\t<ng-template #label>\n\t\t\t\t\t\t\t<ng-doc-icon [customIcon]=\"asset.icon\" *ngIf=\"asset.icon\"></ng-doc-icon>\n\t\t\t\t\t\t\t{{ asset.title }}\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</ng-doc-tab>\n\t\t\t\t</ng-doc-tab-group>\n\t\t\t</ng-container>\n\t\t</ng-template>\n\t</ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></ng-container>\n</ng-template>\n", styles: [":host{display:block;margin:var(--ng-doc-demo-margin);--ng-doc-tab-group-background: var(--ng-doc-code-background);--ng-doc-tab-group-tabs-background: var(--ng-doc-base-2);--ng-doc-tab-group-border-radius: 0;--ng-doc-tab-group-border: none;--ng-doc-code-border-radius: 0;--ng-doc-code-border: none}:host .ng-doc-example{padding:calc(var(--ng-doc-base-gutter) * 3)}:host ng-doc-icon{margin-right:calc(var(--ng-doc-base-gutter) / 2)}:host ng-doc-tab-group{border-top:1px solid var(--ng-doc-border-color)}\n"] }]
58
59
  }], ctorParameters: function () { return [{ type: i1.NgDocRootPage }]; }, propDecorators: { componentName: [{
59
60
  type: Input
60
61
  }], options: [{
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-components-demo.mjs","sources":["../../../../libs/app/components/demo/demo.component.ts","../../../../libs/app/components/demo/demo.component.html","../../../../libs/app/components/demo/ng-doc-app-components-demo.ts"],"sourcesContent":["import {NgFor, NgIf, NgTemplateOutlet} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, HostBinding, Input, OnInit, Type} from '@angular/core';\nimport {NgDocRootPage} from '@ng-doc/app/classes/root-page';\nimport {NgDocCodeComponent} from '@ng-doc/app/components/code';\nimport {NgDocDemoDisplayerComponent} from '@ng-doc/app/components/demo-displayer';\nimport {NgDocDemoAsset} from '@ng-doc/app/interfaces';\nimport {asArray} from '@ng-doc/core/helpers/as-array';\nimport {NgDocDemoActionOptions} from '@ng-doc/core/interfaces';\nimport {NgDocExecutePipe, NgDocIconComponent, NgDocTabComponent, NgDocTabGroupComponent} from '@ng-doc/ui-kit';\nimport {NgDocContent} from '@ng-doc/ui-kit/types';\nimport {PolymorpheusComponent, PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\n@Component({\n\tselector: 'ng-doc-demo',\n\ttemplateUrl: './demo.component.html',\n\tstyleUrls: ['./demo.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgIf,\n\t\tNgDocDemoDisplayerComponent,\n\t\tNgTemplateOutlet,\n\t\tNgFor,\n\t\tNgDocCodeComponent,\n\t\tNgDocTabGroupComponent,\n\t\tNgDocTabComponent,\n\t\tPolymorpheusModule,\n\t\tNgDocIconComponent,\n\t\tNgDocExecutePipe,\n\t],\n})\nexport class NgDocDemoComponent implements OnInit {\n\t@Input()\n\tcomponentName?: string;\n\n\t@Input()\n\toptions: NgDocDemoActionOptions = {};\n\n\tdemo?: NgDocContent<object>;\n\tassets: NgDocDemoAsset[] = [];\n\n\tconstructor(private readonly rootPage: NgDocRootPage) {}\n\n\t@HostBinding('class')\n\tprotected get classes(): string | string[] {\n\t\treturn this.options.class ?? '';\n\t}\n\n\tngOnInit(): void {\n\t\tthis.demo = this.getDemo();\n\t\tthis.assets = this.getAssets();\n\t}\n\n\tgetOpenedAssetId(assets: NgDocDemoAsset[]): string | undefined {\n\t\treturn assets.find((asset: NgDocDemoAsset) => asset.opened)?.title;\n\t}\n\n\tprivate getDemo(): NgDocContent<object> | undefined {\n\t\tif (this.componentName) {\n\t\t\tconst component: Type<unknown> | undefined =\n\t\t\t\tthis.rootPage.page?.demos && this.rootPage.page.demos[this.componentName];\n\n\t\t\treturn component ? new PolymorpheusComponent(component as Type<object>) : undefined;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tprivate getAssets(): NgDocDemoAsset[] {\n\t\tif (this.componentName) {\n\t\t\treturn ((this.rootPage.demoAssets && this.rootPage.demoAssets[this.componentName]) ?? []).filter(\n\t\t\t\t(asset: NgDocDemoAsset) => !this.options.tabs?.length || asArray(this.options.tabs).includes(asset.title),\n\t\t\t);\n\t\t}\n\n\t\treturn [];\n\t}\n}\n","<ng-container *ngIf=\"options.container ?? true; else demoTemplate\">\n\t<ng-doc-demo-displayer [codeContent]=\"codeContent\" [expanded]=\"!!options.expanded\">\n\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t<ng-template #codeContent>\n\t\t\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t\t\t</ng-container>\n\n\t\t\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t\t\t<ng-doc-tab-group [openedTab]=\"(getOpenedAssetId | execute: assets) ?? options.defaultTab\">\n\t\t\t\t\t<ng-doc-tab\n\t\t\t\t\t\t*ngFor=\"let asset of assets\"\n\t\t\t\t\t\t[id]=\"asset.title\"\n\t\t\t\t\t\t[label]=\"label\"\n\t\t\t\t\t\t[content]=\"assetContent\">\n\t\t\t\t\t\t<ng-template #label>\n\t\t\t\t\t\t\t<ng-doc-icon [customIcon]=\"asset.icon\" *ngIf=\"asset.icon\"></ng-doc-icon>\n\t\t\t\t\t\t\t{{ asset.title }}\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</ng-doc-tab>\n\t\t\t\t</ng-doc-tab-group>\n\t\t\t</ng-container>\n\t\t</ng-template>\n\t</ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></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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"}
1
+ {"version":3,"file":"ng-doc-app-components-demo.mjs","sources":["../../../../libs/app/components/demo/demo.component.ts","../../../../libs/app/components/demo/demo.component.html","../../../../libs/app/components/demo/ng-doc-app-components-demo.ts"],"sourcesContent":["import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tHostBinding,\n\tInput,\n\tOnInit,\n\tType,\n} from '@angular/core';\nimport { NgDocRootPage } from '@ng-doc/app/classes/root-page';\nimport { NgDocCodeComponent } from '@ng-doc/app/components/code';\nimport { NgDocDemoDisplayerComponent } from '@ng-doc/app/components/demo-displayer';\nimport { NgDocDemoAsset } from '@ng-doc/app/interfaces';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { NgDocDemoActionOptions } from '@ng-doc/core/interfaces';\nimport {\n\tNgDocExecutePipe,\n\tNgDocIconComponent,\n\tNgDocTabComponent,\n\tNgDocTabGroupComponent,\n} from '@ng-doc/ui-kit';\nimport { NgDocContent } from '@ng-doc/ui-kit/types';\nimport { PolymorpheusComponent, PolymorpheusModule } from '@tinkoff/ng-polymorpheus';\n\n@Component({\n\tselector: 'ng-doc-demo',\n\ttemplateUrl: './demo.component.html',\n\tstyleUrls: ['./demo.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgIf,\n\t\tNgDocDemoDisplayerComponent,\n\t\tNgTemplateOutlet,\n\t\tNgFor,\n\t\tNgDocCodeComponent,\n\t\tNgDocTabGroupComponent,\n\t\tNgDocTabComponent,\n\t\tPolymorpheusModule,\n\t\tNgDocIconComponent,\n\t\tNgDocExecutePipe,\n\t],\n})\nexport class NgDocDemoComponent implements OnInit {\n\t@Input()\n\tcomponentName?: string;\n\n\t@Input()\n\toptions: NgDocDemoActionOptions = {};\n\n\tdemo?: NgDocContent<object>;\n\tassets: NgDocDemoAsset[] = [];\n\n\tconstructor(private readonly rootPage: NgDocRootPage) {}\n\n\t@HostBinding('class')\n\tprotected get classes(): string | string[] {\n\t\treturn this.options.class ?? '';\n\t}\n\n\tngOnInit(): void {\n\t\tthis.demo = this.getDemo();\n\t\tthis.assets = this.getAssets();\n\t}\n\n\tgetOpenedAssetId(assets: NgDocDemoAsset[]): string | undefined {\n\t\treturn assets.find((asset: NgDocDemoAsset) => asset.opened)?.title;\n\t}\n\n\tprivate getDemo(): NgDocContent<object> | undefined {\n\t\tif (this.componentName) {\n\t\t\tconst component: Type<unknown> | undefined =\n\t\t\t\tthis.rootPage.page?.demos && this.rootPage.page.demos[this.componentName];\n\n\t\t\treturn component ? new PolymorpheusComponent(component as Type<object>) : undefined;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tprivate getAssets(): NgDocDemoAsset[] {\n\t\tif (this.componentName) {\n\t\t\treturn (\n\t\t\t\t(this.rootPage.demoAssets && this.rootPage.demoAssets[this.componentName]) ??\n\t\t\t\t[]\n\t\t\t).filter(\n\t\t\t\t(asset: NgDocDemoAsset) =>\n\t\t\t\t\t!this.options.tabs?.length || asArray(this.options.tabs).includes(asset.title),\n\t\t\t);\n\t\t}\n\n\t\treturn [];\n\t}\n}\n","<ng-container *ngIf=\"options.container ?? true; else demoTemplate\">\n\t<ng-doc-demo-displayer [codeContent]=\"codeContent\" [expanded]=\"!!options.expanded\">\n\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t<ng-template #codeContent>\n\t\t\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t\t\t</ng-container>\n\n\t\t\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t\t\t<ng-doc-tab-group [openedTab]=\"(getOpenedAssetId | execute: assets) ?? options.defaultTab\">\n\t\t\t\t\t<ng-doc-tab\n\t\t\t\t\t\t*ngFor=\"let asset of assets\"\n\t\t\t\t\t\t[id]=\"asset.title\"\n\t\t\t\t\t\t[label]=\"label\"\n\t\t\t\t\t\t[content]=\"assetContent\">\n\t\t\t\t\t\t<ng-template #label>\n\t\t\t\t\t\t\t<ng-doc-icon [customIcon]=\"asset.icon\" *ngIf=\"asset.icon\"></ng-doc-icon>\n\t\t\t\t\t\t\t{{ asset.title }}\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</ng-doc-tab>\n\t\t\t\t</ng-doc-tab-group>\n\t\t\t</ng-container>\n\t\t</ng-template>\n\t</ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></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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"}