@coreui/angular 2.11.3 → 2.13.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 (140) hide show
  1. package/README.md +4 -4
  2. package/coreui-angular.d.ts +1 -19
  3. package/esm2020/coreui-angular.mjs +5 -0
  4. package/esm2020/lib/aside/app-aside.component.mjs +58 -0
  5. package/esm2020/lib/aside/app-aside.module.mjs +30 -0
  6. package/{esm2015/lib/aside/index.js → esm2020/lib/aside/index.mjs} +0 -0
  7. package/{esm2015/lib/aside/public_api.js → esm2020/lib/aside/public_api.mjs} +0 -0
  8. package/esm2020/lib/breadcrumb/app-breadcrumb.component.mjs +62 -0
  9. package/esm2020/lib/breadcrumb/app-breadcrumb.module.mjs +31 -0
  10. package/esm2020/lib/breadcrumb/app-breadcrumb.service.mjs +46 -0
  11. package/esm2020/lib/breadcrumb/cui-breadcrumb.component.mjs +38 -0
  12. package/{esm2015/lib/breadcrumb/index.js → esm2020/lib/breadcrumb/index.mjs} +0 -0
  13. package/{esm2015/lib/breadcrumb/public_api.js → esm2020/lib/breadcrumb/public_api.mjs} +0 -0
  14. package/esm2020/lib/footer/app-footer.component.mjs +40 -0
  15. package/esm2020/lib/footer/app-footer.module.mjs +18 -0
  16. package/{esm2015/lib/footer/index.js → esm2020/lib/footer/index.mjs} +0 -0
  17. package/{esm2015/lib/footer/public_api.js → esm2020/lib/footer/public_api.mjs} +0 -0
  18. package/esm2020/lib/header/app-header.component.mjs +97 -0
  19. package/esm2020/lib/header/app-header.module.mjs +34 -0
  20. package/{esm2015/lib/header/index.js → esm2020/lib/header/index.mjs} +0 -0
  21. package/{esm2015/lib/header/public_api.js → esm2020/lib/header/public_api.mjs} +0 -0
  22. package/{esm2015/lib/shared/classes.js → esm2020/lib/shared/classes.mjs} +0 -0
  23. package/esm2020/lib/shared/index.mjs +2 -0
  24. package/esm2020/lib/shared/layout/layout.directive.mjs +233 -0
  25. package/esm2020/lib/shared/layout/layout.module.mjs +56 -0
  26. package/esm2020/lib/shared/public_api.mjs +5 -0
  27. package/esm2020/lib/shared/replace.mjs +12 -0
  28. package/esm2020/lib/shared/toggle-classes.mjs +46 -0
  29. package/esm2020/lib/sidebar/app-sidebar-footer.component.mjs +20 -0
  30. package/esm2020/lib/sidebar/app-sidebar-form.component.mjs +20 -0
  31. package/esm2020/lib/sidebar/app-sidebar-header.component.mjs +20 -0
  32. package/esm2020/lib/sidebar/app-sidebar-minimizer.component.mjs +35 -0
  33. package/esm2020/lib/sidebar/app-sidebar-nav/app-sidebar-nav-badge.pipe.mjs +22 -0
  34. package/esm2020/lib/sidebar/app-sidebar-nav/app-sidebar-nav-divider.component.mjs +18 -0
  35. package/esm2020/lib/sidebar/app-sidebar-nav/app-sidebar-nav-icon.pipe.mjs +21 -0
  36. package/esm2020/lib/sidebar/app-sidebar-nav/app-sidebar-nav-item-class.pipe.mjs +31 -0
  37. package/esm2020/lib/sidebar/app-sidebar-nav/app-sidebar-nav-items.component.mjs +181 -0
  38. package/esm2020/lib/sidebar/app-sidebar-nav/app-sidebar-nav-label.component.mjs +44 -0
  39. package/esm2020/lib/sidebar/app-sidebar-nav/app-sidebar-nav-link.component.mjs +97 -0
  40. package/esm2020/lib/sidebar/app-sidebar-nav/app-sidebar-nav-link.pipe.mjs +21 -0
  41. package/esm2020/lib/sidebar/app-sidebar-nav/app-sidebar-nav-title.component.mjs +67 -0
  42. package/esm2020/lib/sidebar/app-sidebar-nav.component.mjs +33 -0
  43. package/esm2020/lib/sidebar/app-sidebar-nav.directive.mjs +42 -0
  44. package/esm2020/lib/sidebar/app-sidebar-nav.mjs +2 -0
  45. package/esm2020/lib/sidebar/app-sidebar-nav.service.mjs +53 -0
  46. package/esm2020/lib/sidebar/app-sidebar.component.mjs +112 -0
  47. package/esm2020/lib/sidebar/app-sidebar.module.mjs +119 -0
  48. package/esm2020/lib/sidebar/app-sidebar.service.mjs +21 -0
  49. package/{esm2015/lib/sidebar/index.js → esm2020/lib/sidebar/index.mjs} +0 -0
  50. package/esm2020/lib/sidebar/public_api.mjs +16 -0
  51. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  52. package/fesm2015/coreui-angular.mjs +1680 -0
  53. package/fesm2015/coreui-angular.mjs.map +1 -0
  54. package/fesm2020/coreui-angular.mjs +1655 -0
  55. package/fesm2020/coreui-angular.mjs.map +1 -0
  56. package/lib/aside/app-aside.component.d.ts +7 -4
  57. package/lib/aside/app-aside.module.d.ts +7 -0
  58. package/lib/breadcrumb/app-breadcrumb.component.d.ts +7 -3
  59. package/lib/breadcrumb/app-breadcrumb.module.d.ts +8 -0
  60. package/lib/breadcrumb/app-breadcrumb.service.d.ts +3 -0
  61. package/lib/breadcrumb/cui-breadcrumb.component.d.ts +7 -3
  62. package/lib/footer/app-footer.component.d.ts +5 -2
  63. package/lib/footer/app-footer.module.d.ts +6 -0
  64. package/lib/header/app-header.component.d.ts +8 -5
  65. package/lib/header/app-header.module.d.ts +8 -0
  66. package/lib/shared/index.d.ts +1 -3
  67. package/lib/shared/layout/layout.directive.d.ts +20 -5
  68. package/lib/shared/layout/layout.module.d.ts +6 -0
  69. package/lib/shared/public_api.d.ts +4 -0
  70. package/lib/shared/toggle-classes.d.ts +6 -3
  71. package/lib/sidebar/app-sidebar-footer.component.d.ts +3 -0
  72. package/lib/sidebar/app-sidebar-form.component.d.ts +3 -0
  73. package/lib/sidebar/app-sidebar-header.component.d.ts +3 -0
  74. package/lib/sidebar/app-sidebar-minimizer.component.d.ts +3 -0
  75. package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-badge.pipe.d.ts +3 -0
  76. package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-divider.component.d.ts +4 -1
  77. package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-icon.pipe.d.ts +3 -0
  78. package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-item-class.pipe.d.ts +3 -0
  79. package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-items.component.d.ts +10 -0
  80. package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-label.component.d.ts +3 -0
  81. package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-link.component.d.ts +7 -2
  82. package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-link.pipe.d.ts +3 -0
  83. package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-title.component.d.ts +3 -0
  84. package/lib/sidebar/app-sidebar-nav.component.d.ts +3 -0
  85. package/lib/sidebar/app-sidebar-nav.d.ts +2 -1
  86. package/lib/sidebar/app-sidebar-nav.directive.d.ts +5 -0
  87. package/lib/sidebar/app-sidebar-nav.service.d.ts +10 -5
  88. package/lib/sidebar/app-sidebar.component.d.ts +9 -6
  89. package/lib/sidebar/app-sidebar.module.d.ts +23 -0
  90. package/lib/sidebar/app-sidebar.service.d.ts +3 -0
  91. package/lib/sidebar/public_api.d.ts +3 -0
  92. package/package.json +24 -12
  93. package/bundles/coreui-angular.umd.js +0 -1820
  94. package/bundles/coreui-angular.umd.js.map +0 -1
  95. package/bundles/coreui-angular.umd.min.js +0 -2
  96. package/bundles/coreui-angular.umd.min.js.map +0 -1
  97. package/coreui-angular.metadata.json +0 -1
  98. package/esm2015/coreui-angular.js +0 -24
  99. package/esm2015/lib/aside/app-aside.component.js +0 -52
  100. package/esm2015/lib/aside/app-aside.module.js +0 -22
  101. package/esm2015/lib/breadcrumb/app-breadcrumb.component.js +0 -51
  102. package/esm2015/lib/breadcrumb/app-breadcrumb.module.js +0 -26
  103. package/esm2015/lib/breadcrumb/app-breadcrumb.service.js +0 -48
  104. package/esm2015/lib/breadcrumb/cui-breadcrumb.component.js +0 -39
  105. package/esm2015/lib/footer/app-footer.component.js +0 -36
  106. package/esm2015/lib/footer/app-footer.module.js +0 -13
  107. package/esm2015/lib/header/app-header.component.js +0 -76
  108. package/esm2015/lib/header/app-header.module.js +0 -24
  109. package/esm2015/lib/shared/index.js +0 -4
  110. package/esm2015/lib/shared/layout/index.js +0 -2
  111. package/esm2015/lib/shared/layout/layout.directive.js +0 -216
  112. package/esm2015/lib/shared/layout/layout.module.js +0 -35
  113. package/esm2015/lib/shared/replace.js +0 -11
  114. package/esm2015/lib/shared/toggle-classes.js +0 -46
  115. package/esm2015/lib/sidebar/app-sidebar-footer.component.js +0 -17
  116. package/esm2015/lib/sidebar/app-sidebar-form.component.js +0 -17
  117. package/esm2015/lib/sidebar/app-sidebar-header.component.js +0 -17
  118. package/esm2015/lib/sidebar/app-sidebar-minimizer.component.js +0 -28
  119. package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-badge.pipe.js +0 -18
  120. package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-divider.component.js +0 -16
  121. package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-dropdown.component.js +0 -35
  122. package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-icon.pipe.js +0 -17
  123. package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-item-class.pipe.js +0 -30
  124. package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-items.component.js +0 -81
  125. package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-label.component.js +0 -40
  126. package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-link.component.js +0 -86
  127. package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-link.pipe.js +0 -17
  128. package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-title.component.js +0 -67
  129. package/esm2015/lib/sidebar/app-sidebar-nav.component.js +0 -29
  130. package/esm2015/lib/sidebar/app-sidebar-nav.directive.js +0 -41
  131. package/esm2015/lib/sidebar/app-sidebar-nav.js +0 -2
  132. package/esm2015/lib/sidebar/app-sidebar-nav.service.js +0 -49
  133. package/esm2015/lib/sidebar/app-sidebar.component.js +0 -104
  134. package/esm2015/lib/sidebar/app-sidebar.module.js +0 -81
  135. package/esm2015/lib/sidebar/app-sidebar.service.js +0 -20
  136. package/esm2015/lib/sidebar/public_api.js +0 -6
  137. package/fesm2015/coreui-angular.js +0 -1428
  138. package/fesm2015/coreui-angular.js.map +0 -1
  139. package/lib/shared/layout/index.d.ts +0 -1
  140. package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-dropdown.component.d.ts +0 -7
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # [@coreui/angular](https://coreui.io/angular)
2
2
 
3
- ![angular](https://img.shields.io/badge/angular-^11.2.0-lightgrey.svg?style=flat-square&logo=angular)
3
+ ![angular](https://img.shields.io/badge/angular-^13.3.0-lightgrey.svg?style=flat-square&logo=angular)
4
4
  [![npm package][npm-coreui-angular-badge-v2]][npm-coreui-angular]
5
5
  [![npm package][npm-coreui-angular-badge-latest]][npm-coreui-angular]
6
6
  [![NPM downloads][npm-coreui-angular-download]][npm-coreui-angular]
@@ -29,7 +29,7 @@
29
29
  Before you begin, make sure your development environment includes `Node.js®` and an `npm` package manager.
30
30
 
31
31
  ###### Node.js
32
- Angular 11 requires `Node.js` version 10.19 or later.
32
+ Angular 13 requires `Node.js` version 14.15 or later.
33
33
 
34
34
  - To check your version, run `node -v` in a terminal/console window.
35
35
  - To get `Node.js`, go to [nodejs.org](https://nodejs.org/).
@@ -37,10 +37,10 @@ Angular 11 requires `Node.js` version 10.19 or later.
37
37
  ###### Angular CLI
38
38
  Install the Angular CLI globally using a terminal/console window.
39
39
  ```bash
40
- npm install -g @angular/cli
40
+ npm install -g @angular/cli@13
41
41
  ```
42
42
 
43
- ##### Update to Angular 11
43
+ ##### Update to Angular 13
44
44
  see: [https://update.angular.io](https://update.angular.io)
45
45
 
46
46
  ## CoreUI Installation
@@ -1,23 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
+ /// <amd-module name="@coreui/angular" />
4
5
  export * from './public-api';
5
- export { AppBreadcrumbService as ɵj } from './lib/breadcrumb/app-breadcrumb.service';
6
- export { AsideToggleDirective as ɵg, BrandMinimizeDirective as ɵf, HtmlAttributesDirective as ɵh, MobileSidebarToggleDirective as ɵd, SidebarMinimizeDirective as ɵc, SidebarOffCanvasCloseDirective as ɵe, SidebarToggleDirective as ɵb } from './lib/shared/layout/layout.directive';
7
- export { LayoutModule as ɵa } from './lib/shared/layout/layout.module';
8
- export { ClassToggler as ɵi } from './lib/shared/toggle-classes';
9
- export { AppSidebarFooterComponent as ɵl } from './lib/sidebar/app-sidebar-footer.component';
10
- export { AppSidebarFormComponent as ɵm } from './lib/sidebar/app-sidebar-form.component';
11
- export { AppSidebarHeaderComponent as ɵn } from './lib/sidebar/app-sidebar-header.component';
12
- export { NavDropdownDirective as ɵv, NavDropdownToggleDirective as ɵw } from './lib/sidebar/app-sidebar-nav.directive';
13
- export { AppSidebarNavBadgePipe as ɵy } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-badge.pipe';
14
- export { AppSidebarNavDividerComponent as ɵp } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-divider.component';
15
- export { AppSidebarNavDropdownComponent as ɵq } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-dropdown.component';
16
- export { AppSidebarNavIconPipe as ɵx } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-icon.pipe';
17
- export { AppSidebarNavItemClassPipe as ɵba } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-item-class.pipe';
18
- export { AppSidebarNavItemsComponent as ɵo } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-items.component';
19
- export { AppSidebarNavLabelComponent as ɵr } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-label.component';
20
- export { AppSidebarNavLinkComponent as ɵt, AppSidebarNavLinkContentComponent as ɵs } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-link.component';
21
- export { AppSidebarNavLinkPipe as ɵz } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-link.pipe';
22
- export { AppSidebarNavTitleComponent as ɵu } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-title.component';
23
- export { AppSidebarService as ɵk } from './lib/sidebar/app-sidebar.service';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZXVpLWFuZ3VsYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWkvYW5ndWxhci9zcmMvY29yZXVpLWFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,58 @@
1
+ import { Component, Input, Inject, HostBinding } from '@angular/core';
2
+ import { DOCUMENT } from '@angular/common';
3
+ import { asideMenuCssClasses } from '../shared';
4
+ import * as i0 from "@angular/core";
5
+ export class AppAsideComponent {
6
+ constructor(document, renderer) {
7
+ this.document = document;
8
+ this.renderer = renderer;
9
+ this.fixedClass = 'aside-menu-fixed';
10
+ this.asideMenuClass = true;
11
+ }
12
+ ngOnInit() {
13
+ this.isFixed(this.fixed);
14
+ this.isOffCanvas(this.offCanvas);
15
+ this.displayBreakpoint(this.display);
16
+ }
17
+ ngOnDestroy() {
18
+ this.renderer.removeClass(this.document.body, this.fixedClass);
19
+ }
20
+ isFixed(fixed = this.fixed) {
21
+ if (fixed) {
22
+ this.renderer.addClass(this.document.body, this.fixedClass);
23
+ }
24
+ }
25
+ isOffCanvas(offCanvas = this.offCanvas) {
26
+ if (offCanvas) {
27
+ this.renderer.addClass(this.document.body, 'aside-menu-off-canvas');
28
+ }
29
+ }
30
+ displayBreakpoint(display = this.display) {
31
+ if (display !== false) {
32
+ const cssClass = this.display ? `aside-menu-${this.display}-show` : asideMenuCssClasses[0];
33
+ this.renderer.addClass(this.document.body, cssClass);
34
+ }
35
+ }
36
+ }
37
+ AppAsideComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppAsideComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
38
+ AppAsideComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: AppAsideComponent, selector: "app-aside, cui-aside", inputs: { display: "display", fixed: "fixed", offCanvas: "offCanvas" }, host: { properties: { "class.aside-menu": "this.asideMenuClass" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppAsideComponent, decorators: [{
40
+ type: Component,
41
+ args: [{
42
+ selector: 'app-aside, cui-aside',
43
+ template: `<ng-content></ng-content>`
44
+ }]
45
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
46
+ type: Inject,
47
+ args: [DOCUMENT]
48
+ }] }, { type: i0.Renderer2 }]; }, propDecorators: { display: [{
49
+ type: Input
50
+ }], fixed: [{
51
+ type: Input
52
+ }], offCanvas: [{
53
+ type: Input
54
+ }], asideMenuClass: [{
55
+ type: HostBinding,
56
+ args: ['class.aside-menu']
57
+ }] } });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWFzaWRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS9hbmd1bGFyL3NyYy9saWIvYXNpZGUvYXBwLWFzaWRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFhLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sV0FBVyxDQUFDOztBQU1oRCxNQUFNLE9BQU8saUJBQWlCO0lBUzVCLFlBQzRCLFFBQWEsRUFDL0IsUUFBbUI7UUFERCxhQUFRLEdBQVIsUUFBUSxDQUFLO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFOWixlQUFVLEdBQUcsa0JBQWtCLENBQUM7UUFFaEIsbUJBQWMsR0FBRyxJQUFJLENBQUM7SUFLbkQsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLO1FBQ3hCLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzdEO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVM7UUFDcEMsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1NBQ3JFO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLFVBQWUsSUFBSSxDQUFDLE9BQU87UUFDM0MsSUFBSSxPQUFPLEtBQUssS0FBSyxFQUFHO1lBQ3RCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGNBQWMsSUFBSSxDQUFDLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzRixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztTQUN0RDtJQUNILENBQUM7OzhHQXpDVSxpQkFBaUIsa0JBVWxCLFFBQVE7a0dBVlAsaUJBQWlCLHlNQUZsQiwyQkFBMkI7MkZBRTFCLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsMkJBQTJCO2lCQUN0Qzs7MEJBV0ksTUFBTTsyQkFBQyxRQUFRO29FQVRULE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFJMkIsY0FBYztzQkFBOUMsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95LCBJbmplY3QsIFJlbmRlcmVyMiwgSG9zdEJpbmRpbmd9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgYXNpZGVNZW51Q3NzQ2xhc3NlcyB9IGZyb20gJy4uL3NoYXJlZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hc2lkZSwgY3VpLWFzaWRlJyxcclxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBBc2lkZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBkaXNwbGF5OiBhbnk7XHJcbiAgQElucHV0KCkgZml4ZWQ/OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIG9mZkNhbnZhcz86IGJvb2xlYW47XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZml4ZWRDbGFzcyA9ICdhc2lkZS1tZW51LWZpeGVkJztcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hc2lkZS1tZW51JykgYXNpZGVNZW51Q2xhc3MgPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueSxcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNGaXhlZCh0aGlzLmZpeGVkKTtcclxuICAgIHRoaXMuaXNPZmZDYW52YXModGhpcy5vZmZDYW52YXMpO1xyXG4gICAgdGhpcy5kaXNwbGF5QnJlYWtwb2ludCh0aGlzLmRpc3BsYXkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgdGhpcy5maXhlZENsYXNzKTtcclxuICB9XHJcblxyXG4gIGlzRml4ZWQoZml4ZWQgPSB0aGlzLmZpeGVkKTogdm9pZCB7XHJcbiAgICBpZiAoZml4ZWQpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksIHRoaXMuZml4ZWRDbGFzcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc09mZkNhbnZhcyhvZmZDYW52YXMgPSB0aGlzLm9mZkNhbnZhcyk6IHZvaWQge1xyXG4gICAgaWYgKG9mZkNhbnZhcykge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgJ2FzaWRlLW1lbnUtb2ZmLWNhbnZhcycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGlzcGxheUJyZWFrcG9pbnQoZGlzcGxheTogYW55ID0gdGhpcy5kaXNwbGF5KTogdm9pZCB7XHJcbiAgICBpZiAoZGlzcGxheSAhPT0gZmFsc2UgKSB7XHJcbiAgICAgIGNvbnN0IGNzc0NsYXNzID0gdGhpcy5kaXNwbGF5ID8gYGFzaWRlLW1lbnUtJHt0aGlzLmRpc3BsYXl9LXNob3dgIDogYXNpZGVNZW51Q3NzQ2xhc3Nlc1swXTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksIGNzc0NsYXNzKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,30 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { LayoutModule } from './../shared/layout/layout.module';
4
+ import { AppAsideComponent } from './app-aside.component';
5
+ import * as i0 from "@angular/core";
6
+ export class AppAsideModule {
7
+ }
8
+ AppAsideModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppAsideModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ AppAsideModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppAsideModule, declarations: [AppAsideComponent], imports: [CommonModule,
10
+ LayoutModule], exports: [AppAsideComponent] });
11
+ AppAsideModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppAsideModule, imports: [[
12
+ CommonModule,
13
+ LayoutModule
14
+ ]] });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppAsideModule, decorators: [{
16
+ type: NgModule,
17
+ args: [{
18
+ imports: [
19
+ CommonModule,
20
+ LayoutModule
21
+ ],
22
+ exports: [
23
+ AppAsideComponent
24
+ ],
25
+ declarations: [
26
+ AppAsideComponent
27
+ ]
28
+ }]
29
+ }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWFzaWRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS9hbmd1bGFyL3NyYy9saWIvYXNpZGUvYXBwLWFzaWRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBYzFELE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsaUJBSHZCLGlCQUFpQixhQVBqQixZQUFZO1FBQ1osWUFBWSxhQUdaLGlCQUFpQjs0R0FNUixjQUFjLFlBWGhCO1lBQ1AsWUFBWTtZQUNaLFlBQVk7U0FDYjsyRkFRVSxjQUFjO2tCQVoxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQjtxQkFDbEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLGlCQUFpQjtxQkFDbEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExheW91dE1vZHVsZSB9IGZyb20gJy4vLi4vc2hhcmVkL2xheW91dC9sYXlvdXQubW9kdWxlJztcclxuXHJcbmltcG9ydCB7IEFwcEFzaWRlQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAtYXNpZGUuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTGF5b3V0TW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBBcHBBc2lkZUNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBBcHBBc2lkZUNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcEFzaWRlTW9kdWxlIHt9XHJcbiJdfQ==
@@ -0,0 +1,62 @@
1
+ import { Component, Inject, Input } from '@angular/core';
2
+ import { DOCUMENT } from '@angular/common';
3
+ import { Replace } from '../shared';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./app-breadcrumb.service";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@angular/router";
8
+ export class AppBreadcrumbComponent {
9
+ constructor(document, renderer, service, el) {
10
+ this.document = document;
11
+ this.renderer = renderer;
12
+ this.service = service;
13
+ this.el = el;
14
+ this.fixedClass = 'breadcrumb-fixed';
15
+ }
16
+ ngOnInit() {
17
+ Replace(this.el);
18
+ this.isFixed(this.fixed);
19
+ this.breadcrumbs = this.service.breadcrumbs;
20
+ }
21
+ ngOnDestroy() {
22
+ this.renderer.removeClass(this.document.body, this.fixedClass);
23
+ }
24
+ isFixed(fixed = this.fixed) {
25
+ if (fixed) {
26
+ this.renderer.addClass(this.document.body, this.fixedClass);
27
+ }
28
+ }
29
+ }
30
+ AppBreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppBreadcrumbComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i1.AppBreadcrumbService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
31
+ AppBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: AppBreadcrumbComponent, selector: "app-breadcrumb", inputs: { fixed: "fixed" }, ngImport: i0, template: `
32
+ <ng-template ngFor let-breadcrumb [ngForOf]="breadcrumbs | async" let-last = last>
33
+ <li class="breadcrumb-item"
34
+ *ngIf="breadcrumb.label.title && (breadcrumb.url.slice(-1) == '/' || last)"
35
+ [ngClass]="{active: last}">
36
+ <a *ngIf="!last" [routerLink]="breadcrumb.url">{{breadcrumb.label.title}}</a>
37
+ <span *ngIf="last" [routerLink]="breadcrumb.url">{{breadcrumb.label.title}}</span>
38
+ </li>
39
+ </ng-template>
40
+ `, isInline: true, directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i3.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }], pipes: { "async": i2.AsyncPipe } });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppBreadcrumbComponent, decorators: [{
42
+ type: Component,
43
+ args: [{
44
+ selector: 'app-breadcrumb',
45
+ template: `
46
+ <ng-template ngFor let-breadcrumb [ngForOf]="breadcrumbs | async" let-last = last>
47
+ <li class="breadcrumb-item"
48
+ *ngIf="breadcrumb.label.title && (breadcrumb.url.slice(-1) == '/' || last)"
49
+ [ngClass]="{active: last}">
50
+ <a *ngIf="!last" [routerLink]="breadcrumb.url">{{breadcrumb.label.title}}</a>
51
+ <span *ngIf="last" [routerLink]="breadcrumb.url">{{breadcrumb.label.title}}</span>
52
+ </li>
53
+ </ng-template>
54
+ `
55
+ }]
56
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
57
+ type: Inject,
58
+ args: [DOCUMENT]
59
+ }] }, { type: i0.Renderer2 }, { type: i1.AppBreadcrumbService }, { type: i0.ElementRef }]; }, propDecorators: { fixed: [{
60
+ type: Input
61
+ }] } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWJyZWFkY3J1bWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpL2FuZ3VsYXIvc3JjL2xpYi9icmVhZGNydW1iL2FwcC1icmVhZGNydW1iLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUd6QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sV0FBVyxDQUFDOzs7OztBQWdCbEMsTUFBTSxPQUFPLHNCQUFzQjtJQUtqQyxZQUM0QixRQUFhLEVBQy9CLFFBQW1CLEVBQ3BCLE9BQTZCLEVBQzdCLEVBQWM7UUFISyxhQUFRLEdBQVIsUUFBUSxDQUFLO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDcEIsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFDN0IsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQU5OLGVBQVUsR0FBRyxrQkFBa0IsQ0FBQztJQU83QyxDQUFDO0lBRUUsUUFBUTtRQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztJQUM5QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSztRQUN4QixJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUM3RDtJQUNILENBQUM7O21IQTFCVSxzQkFBc0Isa0JBTXZCLFFBQVE7dUdBTlAsc0JBQXNCLGtGQVh2Qjs7Ozs7Ozs7O0dBU1Q7MkZBRVUsc0JBQXNCO2tCQWJsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRTs7Ozs7Ozs7O0dBU1Q7aUJBQ0Y7OzBCQU9JLE1BQU07MkJBQUMsUUFBUTtnSUFMVCxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFJlbmRlcmVyMn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQge0FwcEJyZWFkY3J1bWJTZXJ2aWNlfSBmcm9tICcuL2FwcC1icmVhZGNydW1iLnNlcnZpY2UnO1xyXG5pbXBvcnQge1JlcGxhY2V9IGZyb20gJy4uL3NoYXJlZCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJyZWFkY3J1bWInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWJyZWFkY3J1bWIgW25nRm9yT2ZdPVwiYnJlYWRjcnVtYnMgfCBhc3luY1wiIGxldC1sYXN0ID0gbGFzdD5cclxuICAgICAgPGxpIGNsYXNzPVwiYnJlYWRjcnVtYi1pdGVtXCJcclxuICAgICAgICAgICpuZ0lmPVwiYnJlYWRjcnVtYi5sYWJlbC50aXRsZSAmJiAoYnJlYWRjcnVtYi51cmwuc2xpY2UoLTEpID09ICcvJyB8fCBsYXN0KVwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7YWN0aXZlOiBsYXN0fVwiPlxyXG4gICAgICAgIDxhICpuZ0lmPVwiIWxhc3RcIiBbcm91dGVyTGlua109XCJicmVhZGNydW1iLnVybFwiPnt7YnJlYWRjcnVtYi5sYWJlbC50aXRsZX19PC9hPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwibGFzdFwiIFtyb3V0ZXJMaW5rXT1cImJyZWFkY3J1bWIudXJsXCI+e3ticmVhZGNydW1iLmxhYmVsLnRpdGxlfX08L3NwYW4+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcEJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgZml4ZWQ/OiBib29sZWFuO1xyXG4gIHB1YmxpYyBicmVhZGNydW1icz86IE9ic2VydmFibGU8YW55PjtcclxuICBwcml2YXRlIHJlYWRvbmx5IGZpeGVkQ2xhc3MgPSAnYnJlYWRjcnVtYi1maXhlZCc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55LFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIHNlcnZpY2U6IEFwcEJyZWFkY3J1bWJTZXJ2aWNlLFxyXG4gICAgcHVibGljIGVsOiBFbGVtZW50UmVmXHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgUmVwbGFjZSh0aGlzLmVsKTtcclxuICAgIHRoaXMuaXNGaXhlZCh0aGlzLmZpeGVkKTtcclxuICAgIHRoaXMuYnJlYWRjcnVtYnMgPSB0aGlzLnNlcnZpY2UuYnJlYWRjcnVtYnM7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCB0aGlzLmZpeGVkQ2xhc3MpO1xyXG4gIH1cclxuXHJcbiAgaXNGaXhlZChmaXhlZCA9IHRoaXMuZml4ZWQpOiB2b2lkIHtcclxuICAgIGlmIChmaXhlZCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgdGhpcy5maXhlZENsYXNzKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,31 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { RouterModule } from '@angular/router';
4
+ // App Breadcrumb Component
5
+ import { AppBreadcrumbService } from './app-breadcrumb.service';
6
+ import { AppBreadcrumbComponent } from './app-breadcrumb.component';
7
+ import { CuiBreadcrumbComponent } from './cui-breadcrumb.component';
8
+ import * as i0 from "@angular/core";
9
+ // @dynamic
10
+ export class AppBreadcrumbModule {
11
+ static forRoot(config) {
12
+ return {
13
+ ngModule: AppBreadcrumbModule,
14
+ providers: [
15
+ AppBreadcrumbService
16
+ ]
17
+ };
18
+ }
19
+ }
20
+ AppBreadcrumbModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppBreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
+ AppBreadcrumbModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppBreadcrumbModule, declarations: [AppBreadcrumbComponent, CuiBreadcrumbComponent], imports: [CommonModule, RouterModule], exports: [AppBreadcrumbComponent, CuiBreadcrumbComponent] });
22
+ AppBreadcrumbModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppBreadcrumbModule, imports: [[CommonModule, RouterModule]] });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppBreadcrumbModule, decorators: [{
24
+ type: NgModule,
25
+ args: [{
26
+ imports: [CommonModule, RouterModule],
27
+ exports: [AppBreadcrumbComponent, CuiBreadcrumbComponent],
28
+ declarations: [AppBreadcrumbComponent, CuiBreadcrumbComponent]
29
+ }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWJyZWFkY3J1bWIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpL2FuZ3VsYXIvc3JjL2xpYi9icmVhZGNydW1iL2FwcC1icmVhZGNydW1iLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLDJCQUEyQjtBQUMzQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFcEUsV0FBVztBQU1YLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFZO1FBQ3pCLE9BQU87WUFDTCxRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLFNBQVMsRUFBRTtnQkFDVCxvQkFBb0I7YUFDckI7U0FDRixDQUFDO0lBQ0osQ0FBQzs7Z0hBUlUsbUJBQW1CO2lIQUFuQixtQkFBbUIsaUJBRmQsc0JBQXNCLEVBQUUsc0JBQXNCLGFBRm5ELFlBQVksRUFBRSxZQUFZLGFBQzFCLHNCQUFzQixFQUFFLHNCQUFzQjtpSEFHOUMsbUJBQW1CLFlBSnJCLENBQUUsWUFBWSxFQUFFLFlBQVksQ0FBRTsyRkFJNUIsbUJBQW1CO2tCQUwvQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFFLFlBQVksRUFBRSxZQUFZLENBQUU7b0JBQ3ZDLE9BQU8sRUFBRSxDQUFFLHNCQUFzQixFQUFFLHNCQUFzQixDQUFFO29CQUMzRCxZQUFZLEVBQUUsQ0FBRSxzQkFBc0IsRUFBRSxzQkFBc0IsQ0FBRTtpQkFDakUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbi8vIEFwcCBCcmVhZGNydW1iIENvbXBvbmVudFxyXG5pbXBvcnQgeyBBcHBCcmVhZGNydW1iU2VydmljZSB9IGZyb20gJy4vYXBwLWJyZWFkY3J1bWIuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2FwcC1icmVhZGNydW1iLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1aUJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2N1aS1icmVhZGNydW1iLmNvbXBvbmVudCc7XHJcblxyXG4vLyBAZHluYW1pY1xyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFsgQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUgXSxcclxuICBleHBvcnRzOiBbIEFwcEJyZWFkY3J1bWJDb21wb25lbnQsIEN1aUJyZWFkY3J1bWJDb21wb25lbnQgXSxcclxuICBkZWNsYXJhdGlvbnM6IFsgQXBwQnJlYWRjcnVtYkNvbXBvbmVudCwgQ3VpQnJlYWRjcnVtYkNvbXBvbmVudCBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBCcmVhZGNydW1iTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBhbnkpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFwcEJyZWFkY3J1bWJNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBBcHBCcmVhZGNydW1iTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBBcHBCcmVhZGNydW1iU2VydmljZVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,46 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { NavigationEnd } from '@angular/router';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { filter } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ export class AppBreadcrumbService {
8
+ constructor(router, route) {
9
+ this.router = router;
10
+ this.route = route;
11
+ this.breadcrumbSubject = new BehaviorSubject(new Array());
12
+ this.breadcrumbs = this.breadcrumbSubject.asObservable();
13
+ this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe((event) => {
14
+ const breadcrumbs = [];
15
+ let currentRoute = this.route.root;
16
+ let url = '';
17
+ do {
18
+ const childrenRoutes = currentRoute.children;
19
+ currentRoute = null;
20
+ // tslint:disable-next-line:no-shadowed-variable
21
+ childrenRoutes.forEach(route => {
22
+ if (route.outlet === 'primary') {
23
+ const routeSnapshot = route.snapshot;
24
+ url += '/' + routeSnapshot.url.map(segment => segment.path).join('/');
25
+ breadcrumbs.push({
26
+ label: route.snapshot.data,
27
+ url
28
+ });
29
+ currentRoute = route;
30
+ }
31
+ });
32
+ } while (currentRoute);
33
+ this.breadcrumbSubject.next(Object.assign([], breadcrumbs));
34
+ return breadcrumbs;
35
+ });
36
+ }
37
+ }
38
+ AppBreadcrumbService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppBreadcrumbService, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
39
+ AppBreadcrumbService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppBreadcrumbService, providedIn: 'root' });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppBreadcrumbService, decorators: [{
41
+ type: Injectable,
42
+ args: [{
43
+ providedIn: 'root'
44
+ }]
45
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }]; } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWJyZWFkY3J1bWIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS9hbmd1bGFyL3NyYy9saWIvYnJlYWRjcnVtYi9hcHAtYnJlYWRjcnVtYi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUEwQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTXhDLE1BQU0sT0FBTyxvQkFBb0I7SUFNL0IsWUFBb0IsTUFBYyxFQUFVLEtBQXFCO1FBQTdDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUUvRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVEsSUFBSSxLQUFLLEVBQU8sQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXpELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMzRixNQUFNLFdBQVcsR0FBVSxFQUFFLENBQUM7WUFDOUIsSUFBSSxZQUFZLEdBQTBCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQzFELElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUNiLEdBQUc7Z0JBQ0QsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztnQkFDN0MsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDcEIsZ0RBQWdEO2dCQUNoRCxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUM3QixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFO3dCQUM5QixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO3dCQUNyQyxHQUFHLElBQUksR0FBRyxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDdEUsV0FBVyxDQUFDLElBQUksQ0FBQzs0QkFDZixLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJOzRCQUMxQixHQUFHO3lCQUNKLENBQUMsQ0FBQzt3QkFDSCxZQUFZLEdBQUcsS0FBSyxDQUFDO3FCQUN0QjtnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKLFFBQVEsWUFBWSxFQUFFO1lBRXZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUU1RCxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2lIQXJDVSxvQkFBb0I7cUhBQXBCLG9CQUFvQixjQUhqQixNQUFNOzJGQUdULG9CQUFvQjtrQkFKaEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbiAgfVxyXG4pXHJcbmV4cG9ydCBjbGFzcyBBcHBCcmVhZGNydW1iU2VydmljZSB7XHJcblxyXG4gIGJyZWFkY3J1bWJzOiBPYnNlcnZhYmxlPEFycmF5PGFueT4+O1xyXG5cclxuICBwcml2YXRlIGJyZWFkY3J1bWJTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8QXJyYXk8YW55Pj47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XHJcblxyXG4gICAgdGhpcy5icmVhZGNydW1iU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KG5ldyBBcnJheTxhbnk+KCkpO1xyXG5cclxuICAgIHRoaXMuYnJlYWRjcnVtYnMgPSB0aGlzLmJyZWFkY3J1bWJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgIGNvbnN0IGJyZWFkY3J1bWJzOiBhbnlbXSA9IFtdO1xyXG4gICAgICBsZXQgY3VycmVudFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSB8IG51bGwgPSB0aGlzLnJvdXRlLnJvb3Q7XHJcbiAgICAgIGxldCB1cmwgPSAnJztcclxuICAgICAgZG8ge1xyXG4gICAgICAgIGNvbnN0IGNoaWxkcmVuUm91dGVzID0gY3VycmVudFJvdXRlLmNoaWxkcmVuO1xyXG4gICAgICAgIGN1cnJlbnRSb3V0ZSA9IG51bGw7XHJcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXNoYWRvd2VkLXZhcmlhYmxlXHJcbiAgICAgICAgY2hpbGRyZW5Sb3V0ZXMuZm9yRWFjaChyb3V0ZSA9PiB7XHJcbiAgICAgICAgICBpZiAocm91dGUub3V0bGV0ID09PSAncHJpbWFyeScpIHtcclxuICAgICAgICAgICAgY29uc3Qgcm91dGVTbmFwc2hvdCA9IHJvdXRlLnNuYXBzaG90O1xyXG4gICAgICAgICAgICB1cmwgKz0gJy8nICsgcm91dGVTbmFwc2hvdC51cmwubWFwKHNlZ21lbnQgPT4gc2VnbWVudC5wYXRoKS5qb2luKCcvJyk7XHJcbiAgICAgICAgICAgIGJyZWFkY3J1bWJzLnB1c2goe1xyXG4gICAgICAgICAgICAgIGxhYmVsOiByb3V0ZS5zbmFwc2hvdC5kYXRhLFxyXG4gICAgICAgICAgICAgIHVybFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgY3VycmVudFJvdXRlID0gcm91dGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gd2hpbGUgKGN1cnJlbnRSb3V0ZSk7XHJcblxyXG4gICAgICB0aGlzLmJyZWFkY3J1bWJTdWJqZWN0Lm5leHQoT2JqZWN0LmFzc2lnbihbXSwgYnJlYWRjcnVtYnMpKTtcclxuXHJcbiAgICAgIHJldHVybiBicmVhZGNydW1icztcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,38 @@
1
+ import { Component, Inject, Input } from '@angular/core';
2
+ import { DOCUMENT } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./app-breadcrumb.service";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/router";
7
+ export class CuiBreadcrumbComponent {
8
+ constructor(document, renderer, service) {
9
+ this.document = document;
10
+ this.renderer = renderer;
11
+ this.service = service;
12
+ this.fixedClass = 'breadcrumb-fixed';
13
+ }
14
+ ngOnInit() {
15
+ this.isFixed(this.fixed);
16
+ this.breadcrumbs = this.service.breadcrumbs;
17
+ }
18
+ ngOnDestroy() {
19
+ this.renderer.removeClass(this.document.body, this.fixedClass);
20
+ }
21
+ isFixed(fixed = this.fixed) {
22
+ if (fixed) {
23
+ this.renderer.addClass(this.document.body, this.fixedClass);
24
+ }
25
+ }
26
+ }
27
+ CuiBreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: CuiBreadcrumbComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i1.AppBreadcrumbService }], target: i0.ɵɵFactoryTarget.Component });
28
+ CuiBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: CuiBreadcrumbComponent, selector: "cui-breadcrumb", inputs: { fixed: "fixed" }, ngImport: i0, template: "<ol class=\"breadcrumb\">\r\n <ng-template ngFor let-breadcrumb [ngForOf]=\"breadcrumbs | async\" let-last = last>\r\n <li class=\"breadcrumb-item\"\r\n *ngIf=\"breadcrumb.label.title && (breadcrumb.url.slice(-1) == '/' || last)\"\r\n [ngClass]=\"{active: last}\">\r\n <a *ngIf=\"!last\" [routerLink]=\"breadcrumb.url\">{{breadcrumb.label.title}}</a>\r\n <span *ngIf=\"last\" [routerLink]=\"breadcrumb.url\">{{breadcrumb.label.title}}</span>\r\n </li>\r\n </ng-template>\r\n <ng-content></ng-content>\r\n</ol>\r\n", directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i3.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }], pipes: { "async": i2.AsyncPipe } });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: CuiBreadcrumbComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'cui-breadcrumb', template: "<ol class=\"breadcrumb\">\r\n <ng-template ngFor let-breadcrumb [ngForOf]=\"breadcrumbs | async\" let-last = last>\r\n <li class=\"breadcrumb-item\"\r\n *ngIf=\"breadcrumb.label.title && (breadcrumb.url.slice(-1) == '/' || last)\"\r\n [ngClass]=\"{active: last}\">\r\n <a *ngIf=\"!last\" [routerLink]=\"breadcrumb.url\">{{breadcrumb.label.title}}</a>\r\n <span *ngIf=\"last\" [routerLink]=\"breadcrumb.url\">{{breadcrumb.label.title}}</span>\r\n </li>\r\n </ng-template>\r\n <ng-content></ng-content>\r\n</ol>\r\n" }]
32
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
33
+ type: Inject,
34
+ args: [DOCUMENT]
35
+ }] }, { type: i0.Renderer2 }, { type: i1.AppBreadcrumbService }]; }, propDecorators: { fixed: [{
36
+ type: Input
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VpLWJyZWFkY3J1bWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpL2FuZ3VsYXIvc3JjL2xpYi9icmVhZGNydW1iL2N1aS1icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS9hbmd1bGFyL3NyYy9saWIvYnJlYWRjcnVtYi9jdWktYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFVekMsTUFBTSxPQUFPLHNCQUFzQjtJQU1qQyxZQUM0QixRQUFhLEVBQy9CLFFBQW1CLEVBQ3BCLE9BQTZCO1FBRlYsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUMvQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ3BCLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBTHJCLGVBQVUsR0FBRyxrQkFBa0IsQ0FBQztJQU03QyxDQUFDO0lBRUUsUUFBUTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDOUMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUs7UUFDeEIsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDN0Q7SUFDSCxDQUFDOzttSEF6QlUsc0JBQXNCLGtCQU92QixRQUFRO3VHQVBQLHNCQUFzQixrRkNYbkMsb2lCQVdBOzJGREFhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFFRSxnQkFBZ0I7OzBCQVV2QixNQUFNOzJCQUFDLFFBQVE7dUdBTlQsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHtBcHBCcmVhZGNydW1iU2VydmljZX0gZnJvbSAnLi9hcHAtYnJlYWRjcnVtYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnY3VpLWJyZWFkY3J1bWInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jdWktYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1aUJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgZml4ZWQ/OiBib29sZWFuO1xyXG5cclxuICBwdWJsaWMgYnJlYWRjcnVtYnM/OiBPYnNlcnZhYmxlPGFueVtdPjtcclxuICBwcml2YXRlIHJlYWRvbmx5IGZpeGVkQ2xhc3MgPSAnYnJlYWRjcnVtYi1maXhlZCc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55LFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIHNlcnZpY2U6IEFwcEJyZWFkY3J1bWJTZXJ2aWNlLFxyXG4gICkgeyB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNGaXhlZCh0aGlzLmZpeGVkKTtcclxuICAgIHRoaXMuYnJlYWRjcnVtYnMgPSB0aGlzLnNlcnZpY2UuYnJlYWRjcnVtYnM7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCB0aGlzLmZpeGVkQ2xhc3MpO1xyXG4gIH1cclxuXHJcbiAgaXNGaXhlZChmaXhlZCA9IHRoaXMuZml4ZWQpOiB2b2lkIHtcclxuICAgIGlmIChmaXhlZCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgdGhpcy5maXhlZENsYXNzKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG9sIGNsYXNzPVwiYnJlYWRjcnVtYlwiPlxyXG4gIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtYnJlYWRjcnVtYiBbbmdGb3JPZl09XCJicmVhZGNydW1icyB8IGFzeW5jXCIgbGV0LWxhc3QgPSBsYXN0PlxyXG4gICAgPGxpIGNsYXNzPVwiYnJlYWRjcnVtYi1pdGVtXCJcclxuICAgICAgICAqbmdJZj1cImJyZWFkY3J1bWIubGFiZWwudGl0bGUgJiYgKGJyZWFkY3J1bWIudXJsLnNsaWNlKC0xKSA9PSAnLycgfHwgbGFzdClcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInthY3RpdmU6IGxhc3R9XCI+XHJcbiAgICAgIDxhICpuZ0lmPVwiIWxhc3RcIiBbcm91dGVyTGlua109XCJicmVhZGNydW1iLnVybFwiPnt7YnJlYWRjcnVtYi5sYWJlbC50aXRsZX19PC9hPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cImxhc3RcIiBbcm91dGVyTGlua109XCJicmVhZGNydW1iLnVybFwiPnt7YnJlYWRjcnVtYi5sYWJlbC50aXRsZX19PC9zcGFuPlxyXG4gICAgPC9saT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9vbD5cclxuIl19
@@ -0,0 +1,40 @@
1
+ import { Component, HostBinding, Inject, Input } from '@angular/core';
2
+ import { DOCUMENT } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ export class AppFooterComponent {
5
+ constructor(document, renderer) {
6
+ this.document = document;
7
+ this.renderer = renderer;
8
+ this.fixedClass = 'footer-fixed';
9
+ this.appFooterClass = true;
10
+ }
11
+ ngOnInit() {
12
+ this.isFixed(this.fixed);
13
+ }
14
+ ngOnDestroy() {
15
+ this.renderer.removeClass(this.document.body, this.fixedClass);
16
+ }
17
+ isFixed(fixed = this.fixed) {
18
+ if (fixed) {
19
+ this.renderer.addClass(this.document.body, this.fixedClass);
20
+ }
21
+ }
22
+ }
23
+ AppFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppFooterComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
24
+ AppFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: AppFooterComponent, selector: "app-footer, cui-footer", inputs: { fixed: "fixed" }, host: { properties: { "class.app-footer": "this.appFooterClass" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppFooterComponent, decorators: [{
26
+ type: Component,
27
+ args: [{
28
+ selector: 'app-footer, cui-footer',
29
+ template: `<ng-content></ng-content>`
30
+ }]
31
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
32
+ type: Inject,
33
+ args: [DOCUMENT]
34
+ }] }, { type: i0.Renderer2 }]; }, propDecorators: { fixed: [{
35
+ type: Input
36
+ }], appFooterClass: [{
37
+ type: HostBinding,
38
+ args: ['class.app-footer']
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZvb3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWkvYW5ndWxhci9zcmMvbGliL2Zvb3Rlci9hcHAtZm9vdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBTXpDLE1BQU0sT0FBTyxrQkFBa0I7SUFPN0IsWUFDNEIsUUFBYSxFQUMvQixRQUFtQjtRQURELGFBQVEsR0FBUixRQUFRLENBQUs7UUFDL0IsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQU5aLGVBQVUsR0FBRyxjQUFjLENBQUM7UUFFWixtQkFBYyxHQUFHLElBQUksQ0FBQztJQUtuRCxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLO1FBQ3hCLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzdEO0lBQ0gsQ0FBQzs7K0dBeEJVLGtCQUFrQixrQkFRbkIsUUFBUTttR0FSUCxrQkFBa0IsK0pBRm5CLDJCQUEyQjsyRkFFMUIsa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDOzswQkFTSSxNQUFNOzJCQUFDLFFBQVE7b0VBUFQsS0FBSztzQkFBYixLQUFLO2dCQUkyQixjQUFjO3NCQUE5QyxXQUFXO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFJlbmRlcmVyMn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mb290ZXIsIGN1aS1mb290ZXInLFxyXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcEZvb3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBmaXhlZD86IGJvb2xlYW47XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZml4ZWRDbGFzcyA9ICdmb290ZXItZml4ZWQnO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFwcC1mb290ZXInKSBhcHBGb290ZXJDbGFzcyA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55LFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0ZpeGVkKHRoaXMuZml4ZWQpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgdGhpcy5maXhlZENsYXNzKTtcclxuICB9XHJcblxyXG4gIGlzRml4ZWQoZml4ZWQgPSB0aGlzLmZpeGVkKTogdm9pZCB7XHJcbiAgICBpZiAoZml4ZWQpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksIHRoaXMuZml4ZWRDbGFzcyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { AppFooterComponent } from './app-footer.component';
4
+ import * as i0 from "@angular/core";
5
+ export class AppFooterModule {
6
+ }
7
+ AppFooterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppFooterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ AppFooterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppFooterModule, declarations: [AppFooterComponent], imports: [CommonModule], exports: [AppFooterComponent] });
9
+ AppFooterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppFooterModule, imports: [[CommonModule]] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppFooterModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ imports: [CommonModule],
14
+ exports: [AppFooterComponent],
15
+ declarations: [AppFooterComponent]
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZvb3Rlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWkvYW5ndWxhci9zcmMvbGliL2Zvb3Rlci9hcHAtZm9vdGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFPNUQsTUFBTSxPQUFPLGVBQWU7OzRHQUFmLGVBQWU7NkdBQWYsZUFBZSxpQkFGVixrQkFBa0IsYUFGdkIsWUFBWSxhQUNaLGtCQUFrQjs2R0FHbEIsZUFBZSxZQUpqQixDQUFFLFlBQVksQ0FBRTsyRkFJZCxlQUFlO2tCQUwzQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFFLFlBQVksQ0FBRTtvQkFDekIsT0FBTyxFQUFFLENBQUUsa0JBQWtCLENBQUU7b0JBQy9CLFlBQVksRUFBRSxDQUFFLGtCQUFrQixDQUFFO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEFwcEZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vYXBwLWZvb3Rlci5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbIENvbW1vbk1vZHVsZSBdLFxyXG4gIGV4cG9ydHM6IFsgQXBwRm9vdGVyQ29tcG9uZW50IF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbIEFwcEZvb3RlckNvbXBvbmVudCBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBGb290ZXJNb2R1bGUge31cclxuIl19
@@ -0,0 +1,97 @@
1
+ import { Component, Input, Inject, HostBinding } from '@angular/core';
2
+ import { DOCUMENT } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../shared/layout/layout.directive";
6
+ import * as i3 from "@angular/router";
7
+ export class AppHeaderComponent {
8
+ constructor(document, renderer) {
9
+ this.document = document;
10
+ this.renderer = renderer;
11
+ this.navbarBrandText = { icon: '🅲', text: '🅲 CoreUI' };
12
+ this.navbarBrandHref = ''; // deprecated, use navbarBrandRouterLink instead
13
+ this.navbarBrandRouterLink = '';
14
+ this.sidebarToggler = 'lg';
15
+ this.mobileSidebarToggler = true;
16
+ this.asideMenuToggler = 'lg';
17
+ this.mobileAsideMenuToggler = true;
18
+ this.fixedClass = 'header-fixed';
19
+ this.appHeaderClass = true;
20
+ this.navbarClass = true;
21
+ this.breakpoints = ['xl', 'lg', 'md', 'sm', 'xs'];
22
+ this.sidebarTogglerClass = 'd-none d-md-block';
23
+ this.sidebarTogglerMobileClass = 'd-lg-none';
24
+ this.asideTogglerClass = 'd-none d-md-block';
25
+ this.asideTogglerMobileClass = 'd-lg-none';
26
+ }
27
+ ngOnInit() {
28
+ this.isFixed(this.fixed);
29
+ this.navbarBrandImg = Boolean(this.navbarBrand || this.navbarBrandFull || this.navbarBrandMinimized);
30
+ this.navbarBrandRouterLink = this.navbarBrandRouterLink[0] ? this.navbarBrandRouterLink : this.navbarBrandHref;
31
+ this.sidebarTogglerClass = this.setTogglerBreakpointClass(this.sidebarToggler);
32
+ this.sidebarTogglerMobileClass = this.setTogglerMobileBreakpointClass(this.sidebarToggler);
33
+ this.asideTogglerClass = this.setTogglerBreakpointClass(this.asideMenuToggler);
34
+ this.asideTogglerMobileClass = this.setTogglerMobileBreakpointClass(this.asideMenuToggler);
35
+ }
36
+ ngOnDestroy() {
37
+ this.renderer.removeClass(this.document.body, this.fixedClass);
38
+ }
39
+ isFixed(fixed = this.fixed) {
40
+ if (fixed) {
41
+ this.renderer.addClass(this.document.body, this.fixedClass);
42
+ }
43
+ }
44
+ setTogglerBreakpointClass(breakpoint = 'md') {
45
+ let togglerClass = 'd-none d-md-block';
46
+ if (this.breakpoints.includes(breakpoint)) {
47
+ const breakpointIndex = this.breakpoints.indexOf(breakpoint);
48
+ togglerClass = `d-none d-${breakpoint}-block`;
49
+ }
50
+ return togglerClass;
51
+ }
52
+ setTogglerMobileBreakpointClass(breakpoint = 'lg') {
53
+ let togglerClass = 'd-lg-none';
54
+ if (this.breakpoints.includes(breakpoint)) {
55
+ togglerClass = `d-${breakpoint}-none`;
56
+ }
57
+ return togglerClass;
58
+ }
59
+ }
60
+ AppHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppHeaderComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
61
+ AppHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: AppHeaderComponent, selector: "app-header, cui-header", inputs: { fixed: "fixed", navbarBrand: "navbarBrand", navbarBrandFull: "navbarBrandFull", navbarBrandMinimized: "navbarBrandMinimized", navbarBrandText: "navbarBrandText", navbarBrandHref: "navbarBrandHref", navbarBrandRouterLink: "navbarBrandRouterLink", sidebarToggler: "sidebarToggler", mobileSidebarToggler: "mobileSidebarToggler", asideMenuToggler: "asideMenuToggler", mobileAsideMenuToggler: "mobileAsideMenuToggler" }, host: { properties: { "class.app-header": "this.appHeaderClass", "class.navbar": "this.navbarClass" } }, ngImport: i0, template: "<ng-template [ngIf]=\"mobileSidebarToggler != false\">\r\n <button class=\"navbar-toggler {{sidebarTogglerMobileClass}}\" type=\"button\" appSidebarToggler>\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n</ng-template>\r\n<a class=\"navbar-brand\" [routerLink]=\"navbarBrandRouterLink\">\r\n <ng-template [ngIf]=\"navbarBrandImg\">\r\n <img *ngIf=\"navbarBrand\"\r\n [appHtmlAttr]=\"navbarBrand\"\r\n [ngClass]=\"'navbar-brand'\">\r\n <img *ngIf=\"navbarBrandFull\"\r\n [appHtmlAttr]=\"navbarBrandFull\"\r\n [ngClass]=\"'navbar-brand-full'\">\r\n <img *ngIf=\"navbarBrandMinimized\"\r\n [appHtmlAttr]=\"navbarBrandMinimized\"\r\n [ngClass]=\"'navbar-brand-minimized'\">\r\n </ng-template>\r\n <ng-template [ngIf]=\"!navbarBrandImg\">\r\n <div class=\"navbar-brand-full\" [innerHTML]=\"navbarBrandText.text\"></div>\r\n <div class=\"navbar-brand-minimized\" [innerHTML]=\"navbarBrandText.icon\"></div>\r\n </ng-template>\r\n</a>\r\n<ng-template [ngIf]=\"sidebarToggler != false\">\r\n <button class=\"navbar-toggler {{sidebarTogglerClass}}\" type=\"button\" [appSidebarToggler]=\"sidebarToggler\">\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n</ng-template>\r\n<ng-content></ng-content>\r\n<ng-template [ngIf]=\"asideMenuToggler != false\">\r\n <button class=\"navbar-toggler {{asideTogglerClass}}\" type=\"button\" [appAsideMenuToggler]=\"asideMenuToggler\">\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n</ng-template>\r\n<ng-template [ngIf]=\"mobileAsideMenuToggler != false\">\r\n <button class=\"navbar-toggler {{asideTogglerMobileClass}}\" type=\"button\" appAsideMenuToggler>\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n</ng-template>\r\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.SidebarToggleDirective, selector: "[appSidebarToggler]", inputs: ["appSidebarToggler"] }, { type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i2.HtmlAttributesDirective, selector: "[appHtmlAttr]", inputs: ["appHtmlAttr"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.AsideToggleDirective, selector: "[appAsideMenuToggler]", inputs: ["appAsideMenuToggler"] }] });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppHeaderComponent, decorators: [{
63
+ type: Component,
64
+ args: [{ selector: 'app-header, cui-header', template: "<ng-template [ngIf]=\"mobileSidebarToggler != false\">\r\n <button class=\"navbar-toggler {{sidebarTogglerMobileClass}}\" type=\"button\" appSidebarToggler>\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n</ng-template>\r\n<a class=\"navbar-brand\" [routerLink]=\"navbarBrandRouterLink\">\r\n <ng-template [ngIf]=\"navbarBrandImg\">\r\n <img *ngIf=\"navbarBrand\"\r\n [appHtmlAttr]=\"navbarBrand\"\r\n [ngClass]=\"'navbar-brand'\">\r\n <img *ngIf=\"navbarBrandFull\"\r\n [appHtmlAttr]=\"navbarBrandFull\"\r\n [ngClass]=\"'navbar-brand-full'\">\r\n <img *ngIf=\"navbarBrandMinimized\"\r\n [appHtmlAttr]=\"navbarBrandMinimized\"\r\n [ngClass]=\"'navbar-brand-minimized'\">\r\n </ng-template>\r\n <ng-template [ngIf]=\"!navbarBrandImg\">\r\n <div class=\"navbar-brand-full\" [innerHTML]=\"navbarBrandText.text\"></div>\r\n <div class=\"navbar-brand-minimized\" [innerHTML]=\"navbarBrandText.icon\"></div>\r\n </ng-template>\r\n</a>\r\n<ng-template [ngIf]=\"sidebarToggler != false\">\r\n <button class=\"navbar-toggler {{sidebarTogglerClass}}\" type=\"button\" [appSidebarToggler]=\"sidebarToggler\">\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n</ng-template>\r\n<ng-content></ng-content>\r\n<ng-template [ngIf]=\"asideMenuToggler != false\">\r\n <button class=\"navbar-toggler {{asideTogglerClass}}\" type=\"button\" [appAsideMenuToggler]=\"asideMenuToggler\">\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n</ng-template>\r\n<ng-template [ngIf]=\"mobileAsideMenuToggler != false\">\r\n <button class=\"navbar-toggler {{asideTogglerMobileClass}}\" type=\"button\" appAsideMenuToggler>\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n</ng-template>\r\n" }]
65
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
66
+ type: Inject,
67
+ args: [DOCUMENT]
68
+ }] }, { type: i0.Renderer2 }]; }, propDecorators: { fixed: [{
69
+ type: Input
70
+ }], navbarBrand: [{
71
+ type: Input
72
+ }], navbarBrandFull: [{
73
+ type: Input
74
+ }], navbarBrandMinimized: [{
75
+ type: Input
76
+ }], navbarBrandText: [{
77
+ type: Input
78
+ }], navbarBrandHref: [{
79
+ type: Input
80
+ }], navbarBrandRouterLink: [{
81
+ type: Input
82
+ }], sidebarToggler: [{
83
+ type: Input
84
+ }], mobileSidebarToggler: [{
85
+ type: Input
86
+ }], asideMenuToggler: [{
87
+ type: Input
88
+ }], mobileAsideMenuToggler: [{
89
+ type: Input
90
+ }], appHeaderClass: [{
91
+ type: HostBinding,
92
+ args: ['class.app-header']
93
+ }], navbarClass: [{
94
+ type: HostBinding,
95
+ args: ['class.navbar']
96
+ }] } });
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWkvYW5ndWxhci9zcmMvbGliL2hlYWRlci9hcHAtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS9hbmd1bGFyL3NyYy9saWIvaGVhZGVyL2FwcC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBYSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQU0zQyxNQUFNLE9BQU8sa0JBQWtCO0lBOEI3QixZQUM0QixRQUFhLEVBQy9CLFFBQW1CO1FBREQsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUMvQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBekJwQixvQkFBZSxHQUFRLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFDLENBQUM7UUFDdkQsb0JBQWUsR0FBRyxFQUFFLENBQUMsQ0FBQyxnREFBZ0Q7UUFDdEUsMEJBQXFCLEdBQW1CLEVBQUUsQ0FBQztRQUUzQyxtQkFBYyxHQUFxQixJQUFJLENBQUM7UUFDeEMseUJBQW9CLEdBQUcsSUFBSSxDQUFDO1FBRTVCLHFCQUFnQixHQUFxQixJQUFJLENBQUM7UUFDMUMsMkJBQXNCLEdBQUcsSUFBSSxDQUFDO1FBRXRCLGVBQVUsR0FBRyxjQUFjLENBQUM7UUFFWixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUMxQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUkvQixnQkFBVyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlELHdCQUFtQixHQUFHLG1CQUFtQixDQUFDO1FBQzFDLDhCQUF5QixHQUFHLFdBQVcsQ0FBQztRQUN4QyxzQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztRQUN4Qyw0QkFBdUIsR0FBRyxXQUFXLENBQUM7SUFLbEMsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDckcsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQy9HLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLGNBQXdCLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxjQUF3QixDQUFDLENBQUM7UUFDckcsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsZ0JBQTBCLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxnQkFBMEIsQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLO1FBQ3hCLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzdEO0lBQ0gsQ0FBQztJQUVELHlCQUF5QixDQUFDLFVBQVUsR0FBRyxJQUFJO1FBQ3pDLElBQUksWUFBWSxHQUFHLG1CQUFtQixDQUFDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDekMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0QsWUFBWSxHQUFHLFlBQVksVUFBVSxRQUFRLENBQUM7U0FDL0M7UUFDRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQsK0JBQStCLENBQUMsVUFBVSxHQUFHLElBQUk7UUFDL0MsSUFBSSxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDekMsWUFBWSxHQUFHLEtBQUssVUFBVSxPQUFPLENBQUM7U0FDdkM7UUFDRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOzsrR0F0RVUsa0JBQWtCLGtCQStCbkIsUUFBUTttR0EvQlAsa0JBQWtCLGlsQkNQL0IsbXhEQXNDQTsyRkQvQmEsa0JBQWtCO2tCQUo5QixTQUFTOytCQUNFLHdCQUF3Qjs7MEJBa0MvQixNQUFNOzJCQUFDLFFBQVE7b0VBN0JULEtBQUs7c0JBQWIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFJMkIsY0FBYztzQkFBOUMsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBQ0YsV0FBVztzQkFBdkMsV0FBVzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE9uRGVzdHJveSwgSW5qZWN0LCBSZW5kZXJlcjIsIEhvc3RCaW5kaW5nfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtaGVhZGVyLCBjdWktaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXBwLWhlYWRlci5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcEhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgQElucHV0KCkgZml4ZWQ/OiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKSBuYXZiYXJCcmFuZDogYW55O1xyXG4gIEBJbnB1dCgpIG5hdmJhckJyYW5kRnVsbDogYW55O1xyXG4gIEBJbnB1dCgpIG5hdmJhckJyYW5kTWluaW1pemVkOiBhbnk7XHJcbiAgQElucHV0KCkgbmF2YmFyQnJhbmRUZXh0OiBhbnkgPSB7aWNvbjogJ/CfhbInLCB0ZXh0OiAn8J+FsiBDb3JlVUknfTtcclxuICBASW5wdXQoKSBuYXZiYXJCcmFuZEhyZWYgPSAnJzsgLy8gZGVwcmVjYXRlZCwgdXNlIG5hdmJhckJyYW5kUm91dGVyTGluayBpbnN0ZWFkXHJcbiAgQElucHV0KCkgbmF2YmFyQnJhbmRSb3V0ZXJMaW5rOiBhbnlbXSB8IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBzaWRlYmFyVG9nZ2xlcjogc3RyaW5nIHwgYm9vbGVhbiA9ICdsZyc7XHJcbiAgQElucHV0KCkgbW9iaWxlU2lkZWJhclRvZ2dsZXIgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSBhc2lkZU1lbnVUb2dnbGVyOiBzdHJpbmcgfCBib29sZWFuID0gJ2xnJztcclxuICBASW5wdXQoKSBtb2JpbGVBc2lkZU1lbnVUb2dnbGVyID0gdHJ1ZTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBmaXhlZENsYXNzID0gJ2hlYWRlci1maXhlZCc7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYXBwLWhlYWRlcicpIGFwcEhlYWRlckNsYXNzID0gdHJ1ZTtcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5hdmJhcicpIG5hdmJhckNsYXNzID0gdHJ1ZTtcclxuXHJcbiAgbmF2YmFyQnJhbmRJbWchOiBib29sZWFuO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGJyZWFrcG9pbnRzID0gWyd4bCcsICdsZycsICdtZCcsICdzbScsICd4cyddO1xyXG4gIHNpZGViYXJUb2dnbGVyQ2xhc3MgPSAnZC1ub25lIGQtbWQtYmxvY2snO1xyXG4gIHNpZGViYXJUb2dnbGVyTW9iaWxlQ2xhc3MgPSAnZC1sZy1ub25lJztcclxuICBhc2lkZVRvZ2dsZXJDbGFzcyA9ICdkLW5vbmUgZC1tZC1ibG9jayc7XHJcbiAgYXNpZGVUb2dnbGVyTW9iaWxlQ2xhc3MgPSAnZC1sZy1ub25lJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnksXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRml4ZWQodGhpcy5maXhlZCk7XHJcbiAgICB0aGlzLm5hdmJhckJyYW5kSW1nID0gQm9vbGVhbih0aGlzLm5hdmJhckJyYW5kIHx8IHRoaXMubmF2YmFyQnJhbmRGdWxsIHx8IHRoaXMubmF2YmFyQnJhbmRNaW5pbWl6ZWQpO1xyXG4gICAgdGhpcy5uYXZiYXJCcmFuZFJvdXRlckxpbmsgPSB0aGlzLm5hdmJhckJyYW5kUm91dGVyTGlua1swXSA/IHRoaXMubmF2YmFyQnJhbmRSb3V0ZXJMaW5rIDogdGhpcy5uYXZiYXJCcmFuZEhyZWY7XHJcbiAgICB0aGlzLnNpZGViYXJUb2dnbGVyQ2xhc3MgPSB0aGlzLnNldFRvZ2dsZXJCcmVha3BvaW50Q2xhc3ModGhpcy5zaWRlYmFyVG9nZ2xlciBhcyBzdHJpbmcpO1xyXG4gICAgdGhpcy5zaWRlYmFyVG9nZ2xlck1vYmlsZUNsYXNzID0gdGhpcy5zZXRUb2dnbGVyTW9iaWxlQnJlYWtwb2ludENsYXNzKHRoaXMuc2lkZWJhclRvZ2dsZXIgYXMgc3RyaW5nKTtcclxuICAgIHRoaXMuYXNpZGVUb2dnbGVyQ2xhc3MgPSB0aGlzLnNldFRvZ2dsZXJCcmVha3BvaW50Q2xhc3ModGhpcy5hc2lkZU1lbnVUb2dnbGVyIGFzIHN0cmluZyk7XHJcbiAgICB0aGlzLmFzaWRlVG9nZ2xlck1vYmlsZUNsYXNzID0gdGhpcy5zZXRUb2dnbGVyTW9iaWxlQnJlYWtwb2ludENsYXNzKHRoaXMuYXNpZGVNZW51VG9nZ2xlciBhcyBzdHJpbmcpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgdGhpcy5maXhlZENsYXNzKTtcclxuICB9XHJcblxyXG4gIGlzRml4ZWQoZml4ZWQgPSB0aGlzLmZpeGVkKTogdm9pZCB7XHJcbiAgICBpZiAoZml4ZWQpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksIHRoaXMuZml4ZWRDbGFzcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRUb2dnbGVyQnJlYWtwb2ludENsYXNzKGJyZWFrcG9pbnQgPSAnbWQnKSB7XHJcbiAgICBsZXQgdG9nZ2xlckNsYXNzID0gJ2Qtbm9uZSBkLW1kLWJsb2NrJztcclxuICAgIGlmICh0aGlzLmJyZWFrcG9pbnRzLmluY2x1ZGVzKGJyZWFrcG9pbnQpKSB7XHJcbiAgICAgIGNvbnN0IGJyZWFrcG9pbnRJbmRleCA9IHRoaXMuYnJlYWtwb2ludHMuaW5kZXhPZihicmVha3BvaW50KTtcclxuICAgICAgdG9nZ2xlckNsYXNzID0gYGQtbm9uZSBkLSR7YnJlYWtwb2ludH0tYmxvY2tgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRvZ2dsZXJDbGFzcztcclxuICB9XHJcblxyXG4gIHNldFRvZ2dsZXJNb2JpbGVCcmVha3BvaW50Q2xhc3MoYnJlYWtwb2ludCA9ICdsZycpIHtcclxuICAgIGxldCB0b2dnbGVyQ2xhc3MgPSAnZC1sZy1ub25lJztcclxuICAgIGlmICh0aGlzLmJyZWFrcG9pbnRzLmluY2x1ZGVzKGJyZWFrcG9pbnQpKSB7XHJcbiAgICAgIHRvZ2dsZXJDbGFzcyA9IGBkLSR7YnJlYWtwb2ludH0tbm9uZWA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdG9nZ2xlckNsYXNzO1xyXG4gIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgW25nSWZdPVwibW9iaWxlU2lkZWJhclRvZ2dsZXIgIT0gZmFsc2VcIj5cclxuICA8YnV0dG9uIGNsYXNzPVwibmF2YmFyLXRvZ2dsZXIge3tzaWRlYmFyVG9nZ2xlck1vYmlsZUNsYXNzfX1cIiB0eXBlPVwiYnV0dG9uXCIgYXBwU2lkZWJhclRvZ2dsZXI+XHJcbiAgICA8c3BhbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyLWljb25cIj48L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxhIGNsYXNzPVwibmF2YmFyLWJyYW5kXCIgW3JvdXRlckxpbmtdPVwibmF2YmFyQnJhbmRSb3V0ZXJMaW5rXCI+XHJcbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIm5hdmJhckJyYW5kSW1nXCI+XHJcbiAgICA8aW1nICpuZ0lmPVwibmF2YmFyQnJhbmRcIlxyXG4gICAgICAgICBbYXBwSHRtbEF0dHJdPVwibmF2YmFyQnJhbmRcIlxyXG4gICAgICAgICBbbmdDbGFzc109XCInbmF2YmFyLWJyYW5kJ1wiPlxyXG4gICAgPGltZyAqbmdJZj1cIm5hdmJhckJyYW5kRnVsbFwiXHJcbiAgICAgICAgIFthcHBIdG1sQXR0cl09XCJuYXZiYXJCcmFuZEZ1bGxcIlxyXG4gICAgICAgICBbbmdDbGFzc109XCInbmF2YmFyLWJyYW5kLWZ1bGwnXCI+XHJcbiAgICA8aW1nICpuZ0lmPVwibmF2YmFyQnJhbmRNaW5pbWl6ZWRcIlxyXG4gICAgICAgICBbYXBwSHRtbEF0dHJdPVwibmF2YmFyQnJhbmRNaW5pbWl6ZWRcIlxyXG4gICAgICAgICBbbmdDbGFzc109XCInbmF2YmFyLWJyYW5kLW1pbmltaXplZCdcIj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCIhbmF2YmFyQnJhbmRJbWdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJuYXZiYXItYnJhbmQtZnVsbFwiIFtpbm5lckhUTUxdPVwibmF2YmFyQnJhbmRUZXh0LnRleHRcIj48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJuYXZiYXItYnJhbmQtbWluaW1pemVkXCIgW2lubmVySFRNTF09XCJuYXZiYXJCcmFuZFRleHQuaWNvblwiPjwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvYT5cclxuPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInNpZGViYXJUb2dnbGVyICE9IGZhbHNlXCI+XHJcbiAgPGJ1dHRvbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyIHt7c2lkZWJhclRvZ2dsZXJDbGFzc319XCIgdHlwZT1cImJ1dHRvblwiIFthcHBTaWRlYmFyVG9nZ2xlcl09XCJzaWRlYmFyVG9nZ2xlclwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJuYXZiYXItdG9nZ2xlci1pY29uXCI+PC9zcGFuPlxyXG4gIDwvYnV0dG9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjxuZy10ZW1wbGF0ZSBbbmdJZl09XCJhc2lkZU1lbnVUb2dnbGVyICE9IGZhbHNlXCI+XHJcbiAgPGJ1dHRvbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyIHt7YXNpZGVUb2dnbGVyQ2xhc3N9fVwiIHR5cGU9XCJidXR0b25cIiBbYXBwQXNpZGVNZW51VG9nZ2xlcl09XCJhc2lkZU1lbnVUb2dnbGVyXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyLWljb25cIj48L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSBbbmdJZl09XCJtb2JpbGVBc2lkZU1lbnVUb2dnbGVyICE9IGZhbHNlXCI+XHJcbiAgPGJ1dHRvbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyIHt7YXNpZGVUb2dnbGVyTW9iaWxlQ2xhc3N9fVwiIHR5cGU9XCJidXR0b25cIiBhcHBBc2lkZU1lbnVUb2dnbGVyPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJuYXZiYXItdG9nZ2xlci1pY29uXCI+PC9zcGFuPlxyXG4gIDwvYnV0dG9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=