@delon/abc 18.3.0 → 19.0.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 (264) hide show
  1. package/auto-focus/auto-focus.directive.d.ts +3 -5
  2. package/avatar-list/avatar-list.component.d.ts +3 -0
  3. package/avatar-list/avatar-list.module.d.ts +3 -0
  4. package/exception/exception.component.d.ts +1 -1
  5. package/fesm2022/auto-focus.mjs +19 -28
  6. package/fesm2022/auto-focus.mjs.map +1 -1
  7. package/fesm2022/avatar-list.mjs +35 -27
  8. package/fesm2022/avatar-list.mjs.map +1 -1
  9. package/fesm2022/cell.mjs +104 -107
  10. package/fesm2022/cell.mjs.map +1 -1
  11. package/fesm2022/chart-observer-size.mjs +17 -22
  12. package/fesm2022/chart-observer-size.mjs.map +1 -1
  13. package/fesm2022/count-down.mjs +11 -12
  14. package/fesm2022/count-down.mjs.map +1 -1
  15. package/fesm2022/date-picker.mjs +26 -26
  16. package/fesm2022/date-picker.mjs.map +1 -1
  17. package/fesm2022/down-file.mjs +19 -15
  18. package/fesm2022/down-file.mjs.map +1 -1
  19. package/fesm2022/ellipsis.mjs +29 -25
  20. package/fesm2022/ellipsis.mjs.map +1 -1
  21. package/fesm2022/error-collect.mjs +22 -21
  22. package/fesm2022/error-collect.mjs.map +1 -1
  23. package/fesm2022/exception.mjs +24 -20
  24. package/fesm2022/exception.mjs.map +1 -1
  25. package/fesm2022/footer-toolbar.mjs +13 -14
  26. package/fesm2022/footer-toolbar.mjs.map +1 -1
  27. package/fesm2022/full-content.mjs +31 -38
  28. package/fesm2022/full-content.mjs.map +1 -1
  29. package/fesm2022/global-footer.mjs +24 -23
  30. package/fesm2022/global-footer.mjs.map +1 -1
  31. package/fesm2022/hotkey.mjs +13 -15
  32. package/fesm2022/hotkey.mjs.map +1 -1
  33. package/fesm2022/loading.mjs +23 -21
  34. package/fesm2022/loading.mjs.map +1 -1
  35. package/fesm2022/lodop.mjs +15 -13
  36. package/fesm2022/lodop.mjs.map +1 -1
  37. package/fesm2022/media.mjs +30 -30
  38. package/fesm2022/media.mjs.map +1 -1
  39. package/fesm2022/notice-icon.mjs +48 -84
  40. package/fesm2022/notice-icon.mjs.map +1 -1
  41. package/fesm2022/onboarding.mjs +41 -37
  42. package/fesm2022/onboarding.mjs.map +1 -1
  43. package/fesm2022/page-header.mjs +48 -36
  44. package/fesm2022/page-header.mjs.map +1 -1
  45. package/fesm2022/pdf.mjs +45 -34
  46. package/fesm2022/pdf.mjs.map +1 -1
  47. package/fesm2022/quick-menu.mjs +22 -22
  48. package/fesm2022/quick-menu.mjs.map +1 -1
  49. package/fesm2022/result.mjs +17 -16
  50. package/fesm2022/result.mjs.map +1 -1
  51. package/fesm2022/reuse-tab.mjs +124 -122
  52. package/fesm2022/reuse-tab.mjs.map +1 -1
  53. package/fesm2022/se.mjs +68 -50
  54. package/fesm2022/se.mjs.map +1 -1
  55. package/fesm2022/sg.mjs +22 -21
  56. package/fesm2022/sg.mjs.map +1 -1
  57. package/fesm2022/st.mjs +445 -419
  58. package/fesm2022/st.mjs.map +1 -1
  59. package/fesm2022/sv.mjs +62 -43
  60. package/fesm2022/sv.mjs.map +1 -1
  61. package/fesm2022/tag-select.mjs +18 -20
  62. package/fesm2022/tag-select.mjs.map +1 -1
  63. package/fesm2022/xlsx.mjs +17 -18
  64. package/fesm2022/xlsx.mjs.map +1 -1
  65. package/fesm2022/zip.mjs +7 -6
  66. package/fesm2022/zip.mjs.map +1 -1
  67. package/hotkey/hotkey.directive.d.ts +2 -2
  68. package/notice-icon/notice-icon-tab.component.d.ts +5 -6
  69. package/notice-icon/notice-icon.component.d.ts +17 -22
  70. package/package.json +5 -75
  71. package/reuse-tab/public_api.d.ts +2 -1
  72. package/st/st-column-source.d.ts +1 -0
  73. package/st/st-filter.component.d.ts +4 -4
  74. package/st/st-row.directive.d.ts +1 -1
  75. package/st/st-widget-host.directive.d.ts +1 -1
  76. package/st/st.component.d.ts +33 -24
  77. package/st/st.interfaces.d.ts +26 -4
  78. package/st/st.module.d.ts +1 -22
  79. package/st/st.types.d.ts +2 -3
  80. package/sv/sv-container.component.d.ts +1 -1
  81. package/esm2022/abc.mjs +0 -5
  82. package/esm2022/auto-focus/auto-focus.directive.mjs +0 -40
  83. package/esm2022/auto-focus/auto-focus.mjs +0 -5
  84. package/esm2022/auto-focus/auto-focus.module.mjs +0 -17
  85. package/esm2022/auto-focus/index.mjs +0 -3
  86. package/esm2022/avatar-list/avatar-list-item.component.mjs +0 -27
  87. package/esm2022/avatar-list/avatar-list.component.mjs +0 -79
  88. package/esm2022/avatar-list/avatar-list.mjs +0 -5
  89. package/esm2022/avatar-list/avatar-list.module.mjs +0 -21
  90. package/esm2022/avatar-list/public_api.mjs +0 -4
  91. package/esm2022/cell/cell-host.directive.mjs +0 -35
  92. package/esm2022/cell/cell.component.mjs +0 -289
  93. package/esm2022/cell/cell.mjs +0 -5
  94. package/esm2022/cell/cell.module.mjs +0 -55
  95. package/esm2022/cell/cell.service.mjs +0 -173
  96. package/esm2022/cell/cell.types.mjs +0 -2
  97. package/esm2022/cell/index.mjs +0 -7
  98. package/esm2022/cell/provide.mjs +0 -18
  99. package/esm2022/count-down/count-down.component.mjs +0 -50
  100. package/esm2022/count-down/count-down.mjs +0 -5
  101. package/esm2022/count-down/count-down.module.mjs +0 -19
  102. package/esm2022/count-down/public_api.mjs +0 -3
  103. package/esm2022/date-picker/date-picker.mjs +0 -5
  104. package/esm2022/date-picker/date-picker.module.mjs +0 -21
  105. package/esm2022/date-picker/public_api.mjs +0 -4
  106. package/esm2022/date-picker/range-shortcut.component.mjs +0 -34
  107. package/esm2022/date-picker/range.directive.mjs +0 -168
  108. package/esm2022/down-file/down-file.directive.mjs +0 -113
  109. package/esm2022/down-file/down-file.mjs +0 -5
  110. package/esm2022/down-file/down-file.module.mjs +0 -19
  111. package/esm2022/down-file/public_api.mjs +0 -3
  112. package/esm2022/ellipsis/ellipsis.component.mjs +0 -219
  113. package/esm2022/ellipsis/ellipsis.mjs +0 -5
  114. package/esm2022/ellipsis/ellipsis.module.mjs +0 -20
  115. package/esm2022/ellipsis/public_api.mjs +0 -3
  116. package/esm2022/error-collect/error-collect.component.mjs +0 -110
  117. package/esm2022/error-collect/error-collect.mjs +0 -5
  118. package/esm2022/error-collect/error-collect.module.mjs +0 -19
  119. package/esm2022/error-collect/public_api.mjs +0 -3
  120. package/esm2022/exception/exception.component.mjs +0 -103
  121. package/esm2022/exception/exception.mjs +0 -5
  122. package/esm2022/exception/exception.module.mjs +0 -22
  123. package/esm2022/exception/public_api.mjs +0 -3
  124. package/esm2022/footer-toolbar/footer-toolbar.component.mjs +0 -33
  125. package/esm2022/footer-toolbar/footer-toolbar.mjs +0 -5
  126. package/esm2022/footer-toolbar/footer-toolbar.module.mjs +0 -20
  127. package/esm2022/footer-toolbar/public_api.mjs +0 -3
  128. package/esm2022/full-content/full-content-toggle.directive.mjs +0 -25
  129. package/esm2022/full-content/full-content.component.mjs +0 -125
  130. package/esm2022/full-content/full-content.mjs +0 -5
  131. package/esm2022/full-content/full-content.module.mjs +0 -19
  132. package/esm2022/full-content/full-content.service.mjs +0 -22
  133. package/esm2022/full-content/public_api.mjs +0 -5
  134. package/esm2022/global-footer/global-footer-item.component.mjs +0 -27
  135. package/esm2022/global-footer/global-footer.component.mjs +0 -65
  136. package/esm2022/global-footer/global-footer.mjs +0 -5
  137. package/esm2022/global-footer/global-footer.module.mjs +0 -20
  138. package/esm2022/global-footer/global-footer.types.mjs +0 -2
  139. package/esm2022/global-footer/public_api.mjs +0 -5
  140. package/esm2022/hotkey/hotkey.directive.mjs +0 -36
  141. package/esm2022/hotkey/hotkey.mjs +0 -5
  142. package/esm2022/hotkey/hotkey.module.mjs +0 -17
  143. package/esm2022/hotkey/public_api.mjs +0 -3
  144. package/esm2022/let/index.mjs +0 -3
  145. package/esm2022/let/let.directive.mjs +0 -40
  146. package/esm2022/let/let.mjs +0 -5
  147. package/esm2022/let/let.module.mjs +0 -20
  148. package/esm2022/loading/loading.component.mjs +0 -26
  149. package/esm2022/loading/loading.mjs +0 -5
  150. package/esm2022/loading/loading.module.mjs +0 -22
  151. package/esm2022/loading/loading.service.mjs +0 -88
  152. package/esm2022/loading/loading.types.mjs +0 -2
  153. package/esm2022/loading/public_api.mjs +0 -5
  154. package/esm2022/lodop/lodop.mjs +0 -5
  155. package/esm2022/lodop/lodop.module.mjs +0 -12
  156. package/esm2022/lodop/lodop.service.mjs +0 -224
  157. package/esm2022/lodop/lodop.types.mjs +0 -2
  158. package/esm2022/lodop/public_api.mjs +0 -4
  159. package/esm2022/media/media.component.mjs +0 -114
  160. package/esm2022/media/media.mjs +0 -5
  161. package/esm2022/media/media.module.mjs +0 -18
  162. package/esm2022/media/media.service.mjs +0 -46
  163. package/esm2022/media/public_api.mjs +0 -4
  164. package/esm2022/notice-icon/notice-icon-tab.component.mjs +0 -41
  165. package/esm2022/notice-icon/notice-icon.component.mjs +0 -96
  166. package/esm2022/notice-icon/notice-icon.mjs +0 -5
  167. package/esm2022/notice-icon/notice-icon.module.mjs +0 -59
  168. package/esm2022/notice-icon/notice-icon.types.mjs +0 -2
  169. package/esm2022/notice-icon/public_api.mjs +0 -5
  170. package/esm2022/observers/chart-observer-size.mjs +0 -5
  171. package/esm2022/observers/observer-size.mjs +0 -117
  172. package/esm2022/observers/public-api.mjs +0 -2
  173. package/esm2022/onboarding/onboarding.component.mjs +0 -127
  174. package/esm2022/onboarding/onboarding.mjs +0 -5
  175. package/esm2022/onboarding/onboarding.module.mjs +0 -42
  176. package/esm2022/onboarding/onboarding.service.mjs +0 -192
  177. package/esm2022/onboarding/onboarding.storage.mjs +0 -17
  178. package/esm2022/onboarding/onboarding.types.mjs +0 -2
  179. package/esm2022/onboarding/public_api.mjs +0 -6
  180. package/esm2022/page-header/page-header.component.mjs +0 -220
  181. package/esm2022/page-header/page-header.mjs +0 -5
  182. package/esm2022/page-header/page-header.module.mjs +0 -45
  183. package/esm2022/page-header/public_api.mjs +0 -3
  184. package/esm2022/pdf/pdf.component.mjs +0 -449
  185. package/esm2022/pdf/pdf.config.mjs +0 -10
  186. package/esm2022/pdf/pdf.mjs +0 -5
  187. package/esm2022/pdf/pdf.module.mjs +0 -19
  188. package/esm2022/pdf/pdf.types.mjs +0 -16
  189. package/esm2022/pdf/public_api.mjs +0 -5
  190. package/esm2022/public_api.mjs +0 -3
  191. package/esm2022/quick-menu/public_api.mjs +0 -3
  192. package/esm2022/quick-menu/quick-menu.component.mjs +0 -81
  193. package/esm2022/quick-menu/quick-menu.mjs +0 -5
  194. package/esm2022/quick-menu/quick-menu.module.mjs +0 -20
  195. package/esm2022/result/public_api.mjs +0 -3
  196. package/esm2022/result/result.component.mjs +0 -58
  197. package/esm2022/result/result.mjs +0 -5
  198. package/esm2022/result/result.module.mjs +0 -23
  199. package/esm2022/reuse-tab/lifecycle_hooks.mjs +0 -2
  200. package/esm2022/reuse-tab/provide.mjs +0 -74
  201. package/esm2022/reuse-tab/public_api.mjs +0 -14
  202. package/esm2022/reuse-tab/reuse-tab-context-menu.component.mjs +0 -75
  203. package/esm2022/reuse-tab/reuse-tab-context.component.mjs +0 -30
  204. package/esm2022/reuse-tab/reuse-tab-context.directive.mjs +0 -36
  205. package/esm2022/reuse-tab/reuse-tab-context.service.mjs +0 -54
  206. package/esm2022/reuse-tab/reuse-tab.cache.mjs +0 -13
  207. package/esm2022/reuse-tab/reuse-tab.component.mjs +0 -337
  208. package/esm2022/reuse-tab/reuse-tab.interfaces.mjs +0 -33
  209. package/esm2022/reuse-tab/reuse-tab.mjs +0 -5
  210. package/esm2022/reuse-tab/reuse-tab.module.mjs +0 -79
  211. package/esm2022/reuse-tab/reuse-tab.service.mjs +0 -574
  212. package/esm2022/reuse-tab/reuse-tab.state.mjs +0 -16
  213. package/esm2022/reuse-tab/reuse-tab.strategy.mjs +0 -23
  214. package/esm2022/se/public_api.mjs +0 -5
  215. package/esm2022/se/se-container.component.mjs +0 -158
  216. package/esm2022/se/se.component.mjs +0 -220
  217. package/esm2022/se/se.mjs +0 -5
  218. package/esm2022/se/se.module.mjs +0 -22
  219. package/esm2022/se/se.types.mjs +0 -14
  220. package/esm2022/sg/public_api.mjs +0 -4
  221. package/esm2022/sg/sg-container.component.mjs +0 -44
  222. package/esm2022/sg/sg.component.mjs +0 -62
  223. package/esm2022/sg/sg.mjs +0 -5
  224. package/esm2022/sg/sg.module.mjs +0 -19
  225. package/esm2022/st/provide.mjs +0 -18
  226. package/esm2022/st/public_api.mjs +0 -13
  227. package/esm2022/st/st-column-source.mjs +0 -496
  228. package/esm2022/st/st-data-source.mjs +0 -507
  229. package/esm2022/st/st-export.mjs +0 -87
  230. package/esm2022/st/st-filter.component.mjs +0 -293
  231. package/esm2022/st/st-row.directive.mjs +0 -43
  232. package/esm2022/st/st-widget-host.directive.mjs +0 -31
  233. package/esm2022/st/st-widget.mjs +0 -26
  234. package/esm2022/st/st.component.mjs +0 -966
  235. package/esm2022/st/st.config.mjs +0 -79
  236. package/esm2022/st/st.interfaces.mjs +0 -2
  237. package/esm2022/st/st.mjs +0 -5
  238. package/esm2022/st/st.module.mjs +0 -100
  239. package/esm2022/st/st.types.mjs +0 -2
  240. package/esm2022/sv/public_api.mjs +0 -5
  241. package/esm2022/sv/sv-container.component.mjs +0 -127
  242. package/esm2022/sv/sv-value.component.mjs +0 -53
  243. package/esm2022/sv/sv.component.mjs +0 -109
  244. package/esm2022/sv/sv.mjs +0 -5
  245. package/esm2022/sv/sv.module.mjs +0 -24
  246. package/esm2022/tag-select/public_api.mjs +0 -3
  247. package/esm2022/tag-select/tag-select.component.mjs +0 -53
  248. package/esm2022/tag-select/tag-select.mjs +0 -5
  249. package/esm2022/tag-select/tag-select.module.mjs +0 -20
  250. package/esm2022/xlsx/public_api.mjs +0 -5
  251. package/esm2022/xlsx/xlsx.directive.mjs +0 -28
  252. package/esm2022/xlsx/xlsx.mjs +0 -5
  253. package/esm2022/xlsx/xlsx.module.mjs +0 -17
  254. package/esm2022/xlsx/xlsx.service.mjs +0 -128
  255. package/esm2022/xlsx/xlsx.types.mjs +0 -2
  256. package/esm2022/zip/public_api.mjs +0 -3
  257. package/esm2022/zip/zip.mjs +0 -5
  258. package/esm2022/zip/zip.service.mjs +0 -116
  259. package/esm2022/zip/zip.types.mjs +0 -2
  260. package/fesm2022/let.mjs +0 -64
  261. package/fesm2022/let.mjs.map +0 -1
  262. package/let/index.d.ts +0 -2
  263. package/let/let.directive.d.ts +0 -19
  264. package/let/let.module.d.ts +0 -10
@@ -1,220 +0,0 @@
1
- import { Directionality } from '@angular/cdk/bidi';
2
- import { CdkObserveContent } from '@angular/cdk/observers';
3
- import { NgTemplateOutlet } from '@angular/common';
4
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, Input, Renderer2, TemplateRef, ViewChild, ViewEncapsulation, booleanAttribute, inject, numberAttribute } from '@angular/core';
5
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
- import { NavigationEnd, Router, RouterLink } from '@angular/router';
7
- import { merge, filter } from 'rxjs';
8
- import { ReuseTabService } from '@delon/abc/reuse-tab';
9
- import { ALAIN_I18N_TOKEN, MenuService, TitleService } from '@delon/theme';
10
- import { isEmpty } from '@delon/util/browser';
11
- import { NzAffixComponent } from 'ng-zorro-antd/affix';
12
- import { NzBreadCrumbComponent, NzBreadCrumbItemComponent } from 'ng-zorro-antd/breadcrumb';
13
- import { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';
14
- import { NzSkeletonComponent } from 'ng-zorro-antd/skeleton';
15
- import * as i0 from "@angular/core";
16
- import * as i1 from "@delon/theme";
17
- import * as i2 from "@delon/util/config";
18
- import * as i3 from "@angular/cdk/platform";
19
- export class PageHeaderComponent {
20
- get menus() {
21
- return this.menuSrv.getPathByUrl(this.router.url, this.recursiveBreadcrumb);
22
- }
23
- set title(value) {
24
- if (value instanceof TemplateRef) {
25
- this._title = null;
26
- this._titleTpl = value;
27
- this._titleVal = '';
28
- }
29
- else {
30
- this._title = value;
31
- this._titleVal = this._title;
32
- }
33
- }
34
- // #endregion
35
- constructor(settings, configSrv, platform) {
36
- this.renderer = inject(Renderer2);
37
- this.router = inject(Router);
38
- this.cdr = inject(ChangeDetectorRef);
39
- this.menuSrv = inject(MenuService);
40
- this.i18nSrv = inject(ALAIN_I18N_TOKEN);
41
- this.titleSrv = inject(TitleService);
42
- this.reuseSrv = inject(ReuseTabService, { optional: true });
43
- this.directionality = inject(Directionality);
44
- this.destroy$ = inject(DestroyRef);
45
- this.inited = false;
46
- this.isBrowser = true;
47
- this.dir = 'ltr';
48
- this._titleVal = '';
49
- this.paths = [];
50
- // #region fields
51
- this._title = null;
52
- this._titleTpl = null;
53
- this.loading = false;
54
- this.wide = false;
55
- this.breadcrumb = null;
56
- this.logo = null;
57
- this.action = null;
58
- this.content = null;
59
- this.extra = null;
60
- this.tab = null;
61
- this.isBrowser = platform.isBrowser;
62
- configSrv.attach(this, 'pageHeader', {
63
- home: '首页',
64
- homeLink: '/',
65
- autoBreadcrumb: true,
66
- recursiveBreadcrumb: false,
67
- autoTitle: true,
68
- syncTitle: true,
69
- fixed: false,
70
- fixedOffsetTop: 64
71
- });
72
- settings.notify
73
- .pipe(takeUntilDestroyed(), filter(w => this.affix && w.type === 'layout' && w.name === 'collapsed'))
74
- .subscribe(() => this.affix.updatePosition({}));
75
- const obsList = [this.router.events.pipe(filter(ev => ev instanceof NavigationEnd))];
76
- if (this.menuSrv != null)
77
- obsList.push(this.menuSrv.change);
78
- obsList.push(this.i18nSrv.change);
79
- merge(...obsList)
80
- .pipe(takeUntilDestroyed(), filter(() => this.inited))
81
- .subscribe(() => this.refresh());
82
- }
83
- refresh() {
84
- this.setTitle().genBreadcrumb();
85
- this.cdr.detectChanges();
86
- }
87
- genBreadcrumb() {
88
- if (this.breadcrumb || !this.autoBreadcrumb || this.menus.length <= 0) {
89
- this.paths = [];
90
- return;
91
- }
92
- const paths = [];
93
- this.menus.forEach(item => {
94
- if (typeof item.hideInBreadcrumb !== 'undefined' && item.hideInBreadcrumb)
95
- return;
96
- let title = item.text;
97
- if (item.i18n)
98
- title = this.i18nSrv.fanyi(item.i18n);
99
- paths.push({ title, link: (item.link && [item.link]) });
100
- });
101
- // add home
102
- if (this.home) {
103
- paths.splice(0, 0, {
104
- title: (this.homeI18n && this.i18nSrv.fanyi(this.homeI18n)) || this.home,
105
- link: [this.homeLink]
106
- });
107
- }
108
- this.paths = paths;
109
- }
110
- setTitle() {
111
- if (this._title == null && this._titleTpl == null && this.autoTitle && this.menus.length > 0) {
112
- const item = this.menus[this.menus.length - 1];
113
- let title = item.text;
114
- if (item.i18n) {
115
- title = this.i18nSrv.fanyi(item.i18n);
116
- }
117
- this._titleVal = title;
118
- }
119
- if (this._titleVal && this.syncTitle) {
120
- this.titleSrv.setTitle(this._titleVal);
121
- if (!this.inited && this.reuseSrv) {
122
- this.reuseSrv.title = this._titleVal;
123
- }
124
- }
125
- return this;
126
- }
127
- checkContent() {
128
- if (isEmpty(this.conTpl.nativeElement)) {
129
- this.renderer.setAttribute(this.conTpl.nativeElement, 'hidden', '');
130
- }
131
- else {
132
- this.renderer.removeAttribute(this.conTpl.nativeElement, 'hidden');
133
- }
134
- }
135
- ngOnInit() {
136
- this.dir = this.directionality.value;
137
- this.directionality.change.pipe(takeUntilDestroyed(this.destroy$)).subscribe(direction => {
138
- this.dir = direction;
139
- this.cdr.detectChanges();
140
- });
141
- this.refresh();
142
- this.inited = true;
143
- }
144
- ngAfterViewInit() {
145
- this.checkContent();
146
- }
147
- ngOnChanges() {
148
- if (this.inited) {
149
- this.refresh();
150
- }
151
- }
152
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PageHeaderComponent, deps: [{ token: i1.SettingsService }, { token: i2.AlainConfigService }, { token: i3.Platform }], target: i0.ɵɵFactoryTarget.Component }); }
153
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PageHeaderComponent, isStandalone: true, selector: "page-header", inputs: { title: "title", titleSub: "titleSub", loading: ["loading", "loading", booleanAttribute], wide: ["wide", "wide", booleanAttribute], home: "home", homeLink: "homeLink", homeI18n: "homeI18n", autoBreadcrumb: ["autoBreadcrumb", "autoBreadcrumb", booleanAttribute], autoTitle: ["autoTitle", "autoTitle", booleanAttribute], syncTitle: ["syncTitle", "syncTitle", booleanAttribute], fixed: ["fixed", "fixed", booleanAttribute], fixedOffsetTop: ["fixedOffsetTop", "fixedOffsetTop", numberAttribute], breadcrumb: "breadcrumb", recursiveBreadcrumb: ["recursiveBreadcrumb", "recursiveBreadcrumb", booleanAttribute], logo: "logo", action: "action", content: "content", extra: "extra", tab: "tab" }, viewQueries: [{ propertyName: "conTpl", first: true, predicate: ["conTpl"], descendants: true }, { propertyName: "affix", first: true, predicate: ["affix"], descendants: true }], exportAs: ["pageHeader"], usesOnChanges: true, ngImport: i0, template: "@if (isBrowser && fixed) {\n <nz-affix #affix [nzOffsetTop]=\"fixedOffsetTop\">\n <ng-template [ngTemplateOutlet]=\"phTpl\" />\n </nz-affix>\n} @else {\n <ng-template [ngTemplateOutlet]=\"phTpl\" />\n}\n<ng-template #phTpl>\n <div class=\"page-header\" [class.page-header-rtl]=\"dir === 'rtl'\">\n <div [class.page-header__wide]=\"wide\">\n <nz-skeleton\n [nzLoading]=\"loading\"\n [nzTitle]=\"false\"\n [nzActive]=\"true\"\n [nzParagraph]=\"{ rows: 3 }\"\n [nzAvatar]=\"{ size: 'large', shape: 'circle' }\"\n class=\"d-block\"\n >\n @if (breadcrumb) {\n <ng-template [ngTemplateOutlet]=\"breadcrumb\" />\n } @else {\n @if (paths && paths.length > 0) {\n <nz-breadcrumb>\n @for (i of paths; track $index) {\n <nz-breadcrumb-item>\n @if (i.link) {\n <a [routerLink]=\"i.link\">{{ i.title }}</a>\n } @else {\n {{ i.title }}\n }\n </nz-breadcrumb-item>\n }\n </nz-breadcrumb>\n }\n }\n <div class=\"page-header__detail\">\n @if (logo) {\n <div class=\"page-header__logo\">\n <ng-template [ngTemplateOutlet]=\"logo\" />\n </div>\n }\n <div class=\"page-header__main\">\n <div class=\"page-header__row\">\n @if (_titleVal || _titleTpl) {\n <h1 class=\"page-header__title\">\n @if (_titleTpl) {\n <ng-template [ngTemplateOutlet]=\"_titleTpl\" />\n } @else {\n {{ _titleVal }}\n @if (titleSub) {\n <small>\n <ng-container *nzStringTemplateOutlet=\"titleSub\">{{ titleSub }}</ng-container>\n </small>\n }\n }\n </h1>\n }\n @if (action) {\n <div class=\"page-header__action\">\n <ng-template [ngTemplateOutlet]=\"action\" />\n </div>\n }\n </div>\n <div class=\"page-header__row\">\n <div class=\"page-header__desc\" (cdkObserveContent)=\"checkContent()\" #conTpl>\n <ng-content />\n <ng-template [ngTemplateOutlet]=\"content!\" />\n </div>\n @if (extra) {\n <div class=\"page-header__extra\">\n <ng-template [ngTemplateOutlet]=\"extra\" />\n </div>\n }\n </div>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"tab!\" />\n </nz-skeleton>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: NzAffixComponent, selector: "nz-affix", inputs: ["nzTarget", "nzOffsetTop", "nzOffsetBottom"], outputs: ["nzChange"], exportAs: ["nzAffix"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NzSkeletonComponent, selector: "nz-skeleton", inputs: ["nzActive", "nzLoading", "nzRound", "nzTitle", "nzAvatar", "nzParagraph"], exportAs: ["nzSkeleton"] }, { kind: "component", type: NzBreadCrumbComponent, selector: "nz-breadcrumb", inputs: ["nzAutoGenerate", "nzSeparator", "nzRouteLabel", "nzRouteLabelFn", "nzRouteFn"], exportAs: ["nzBreadcrumb"] }, { kind: "component", type: NzBreadCrumbItemComponent, selector: "nz-breadcrumb-item", inputs: ["nzOverlay"], exportAs: ["nzBreadcrumbItem"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
154
- }
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PageHeaderComponent, decorators: [{
156
- type: Component,
157
- args: [{ selector: 'page-header', exportAs: 'pageHeader', preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [
158
- NzAffixComponent,
159
- NgTemplateOutlet,
160
- NzSkeletonComponent,
161
- NzBreadCrumbComponent,
162
- NzBreadCrumbItemComponent,
163
- RouterLink,
164
- NzStringTemplateOutletDirective,
165
- CdkObserveContent
166
- ], template: "@if (isBrowser && fixed) {\n <nz-affix #affix [nzOffsetTop]=\"fixedOffsetTop\">\n <ng-template [ngTemplateOutlet]=\"phTpl\" />\n </nz-affix>\n} @else {\n <ng-template [ngTemplateOutlet]=\"phTpl\" />\n}\n<ng-template #phTpl>\n <div class=\"page-header\" [class.page-header-rtl]=\"dir === 'rtl'\">\n <div [class.page-header__wide]=\"wide\">\n <nz-skeleton\n [nzLoading]=\"loading\"\n [nzTitle]=\"false\"\n [nzActive]=\"true\"\n [nzParagraph]=\"{ rows: 3 }\"\n [nzAvatar]=\"{ size: 'large', shape: 'circle' }\"\n class=\"d-block\"\n >\n @if (breadcrumb) {\n <ng-template [ngTemplateOutlet]=\"breadcrumb\" />\n } @else {\n @if (paths && paths.length > 0) {\n <nz-breadcrumb>\n @for (i of paths; track $index) {\n <nz-breadcrumb-item>\n @if (i.link) {\n <a [routerLink]=\"i.link\">{{ i.title }}</a>\n } @else {\n {{ i.title }}\n }\n </nz-breadcrumb-item>\n }\n </nz-breadcrumb>\n }\n }\n <div class=\"page-header__detail\">\n @if (logo) {\n <div class=\"page-header__logo\">\n <ng-template [ngTemplateOutlet]=\"logo\" />\n </div>\n }\n <div class=\"page-header__main\">\n <div class=\"page-header__row\">\n @if (_titleVal || _titleTpl) {\n <h1 class=\"page-header__title\">\n @if (_titleTpl) {\n <ng-template [ngTemplateOutlet]=\"_titleTpl\" />\n } @else {\n {{ _titleVal }}\n @if (titleSub) {\n <small>\n <ng-container *nzStringTemplateOutlet=\"titleSub\">{{ titleSub }}</ng-container>\n </small>\n }\n }\n </h1>\n }\n @if (action) {\n <div class=\"page-header__action\">\n <ng-template [ngTemplateOutlet]=\"action\" />\n </div>\n }\n </div>\n <div class=\"page-header__row\">\n <div class=\"page-header__desc\" (cdkObserveContent)=\"checkContent()\" #conTpl>\n <ng-content />\n <ng-template [ngTemplateOutlet]=\"content!\" />\n </div>\n @if (extra) {\n <div class=\"page-header__extra\">\n <ng-template [ngTemplateOutlet]=\"extra\" />\n </div>\n }\n </div>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"tab!\" />\n </nz-skeleton>\n </div>\n </div>\n</ng-template>\n" }]
167
- }], ctorParameters: () => [{ type: i1.SettingsService }, { type: i2.AlainConfigService }, { type: i3.Platform }], propDecorators: { conTpl: [{
168
- type: ViewChild,
169
- args: ['conTpl', { static: false }]
170
- }], affix: [{
171
- type: ViewChild,
172
- args: ['affix', { static: false }]
173
- }], title: [{
174
- type: Input
175
- }], titleSub: [{
176
- type: Input
177
- }], loading: [{
178
- type: Input,
179
- args: [{ transform: booleanAttribute }]
180
- }], wide: [{
181
- type: Input,
182
- args: [{ transform: booleanAttribute }]
183
- }], home: [{
184
- type: Input
185
- }], homeLink: [{
186
- type: Input
187
- }], homeI18n: [{
188
- type: Input
189
- }], autoBreadcrumb: [{
190
- type: Input,
191
- args: [{ transform: booleanAttribute }]
192
- }], autoTitle: [{
193
- type: Input,
194
- args: [{ transform: booleanAttribute }]
195
- }], syncTitle: [{
196
- type: Input,
197
- args: [{ transform: booleanAttribute }]
198
- }], fixed: [{
199
- type: Input,
200
- args: [{ transform: booleanAttribute }]
201
- }], fixedOffsetTop: [{
202
- type: Input,
203
- args: [{ transform: numberAttribute }]
204
- }], breadcrumb: [{
205
- type: Input
206
- }], recursiveBreadcrumb: [{
207
- type: Input,
208
- args: [{ transform: booleanAttribute }]
209
- }], logo: [{
210
- type: Input
211
- }], action: [{
212
- type: Input
213
- }], content: [{
214
- type: Input
215
- }], extra: [{
216
- type: Input
217
- }], tab: [{
218
- type: Input
219
- }] } });
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWJjL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FiYy9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFFVixLQUFLLEVBR0wsU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixNQUFNLEVBQ04sZUFBZSxFQUNoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFRLFdBQVcsRUFBbUIsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUs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QUcsQ0FBQyxFQUFFLENBQUM7WUFDN0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3RCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNkLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEMsQ0FBQztZQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBTSxDQUFDO1FBQzFCLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDdkMsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0RSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FB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WCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uLCBEaXJlY3Rpb25hbGl0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IENka09ic2VydmVDb250ZW50IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL29ic2VydmVycyc7XG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGluamVjdCxcbiAgbnVtYmVyQXR0cmlidXRlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IG1lcmdlLCBmaWx0ZXIsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUmV1c2VUYWJTZXJ2aWNlIH0gZnJvbSAnQGRlbG9uL2FiYy9yZXVzZS10YWInO1xuaW1wb3J0IHsgQUxBSU5fSTE4Tl9UT0tFTiwgTWVudSwgTWVudVNlcnZpY2UsIFNldHRpbmdzU2VydmljZSwgVGl0bGVTZXJ2aWNlIH0gZnJvbSAnQGRlbG9uL3RoZW1lJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICdAZGVsb24vdXRpbC9icm93c2VyJztcbmltcG9ydCB7IEFsYWluQ29uZmlnU2VydmljZSB9IGZyb20gJ0BkZWxvbi91dGlsL2NvbmZpZyc7XG5pbXBvcnQgeyBOekFmZml4Q29tcG9uZW50IH0gZnJvbSAnbmctem9ycm8tYW50ZC9hZmZpeCc7XG5pbXBvcnQgeyBOekJyZWFkQ3J1bWJDb21wb25lbnQsIE56QnJlYWRDcnVtYkl0ZW1Db21wb25lbnQgfSBmcm9tICduZy16b3Jyby1hbnRkL2JyZWFkY3J1bWInO1xuaW1wb3J0IHsgTnpTdHJpbmdUZW1wbGF0ZU91dGxldERpcmVjdGl2ZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS9vdXRsZXQnO1xuaW1wb3J0IHR5cGUgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgTnpTa2VsZXRvbkNvbXBvbmVudCB9IGZyb20gJ25nLXpvcnJvLWFudGQvc2tlbGV0b24nO1xuXG5pbnRlcmZhY2UgUGFnZUhlYWRlclBhdGgge1xuICB0aXRsZT86IHN0cmluZztcbiAgbGluaz86IHN0cmluZ1tdO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwYWdlLWhlYWRlcicsXG4gIGV4cG9ydEFzOiAncGFnZUhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdlLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE56QWZmaXhDb21wb25lbnQsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBOelNrZWxldG9uQ29tcG9uZW50LFxuICAgIE56QnJlYWRDcnVtYkNvbXBvbmVudCxcbiAgICBOekJyZWFkQ3J1bWJJdGVtQ29tcG9uZW50LFxuICAgIFJvdXRlckxpbmssXG4gICAgTnpTdHJpbmdUZW1wbGF0ZU91dGxldERpcmVjdGl2ZSxcbiAgICBDZGtPYnNlcnZlQ29udGVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IG1lbnVTcnYgPSBpbmplY3QoTWVudVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGkxOG5TcnYgPSBpbmplY3QoQUxBSU5fSTE4Tl9UT0tFTik7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGl0bGVTcnYgPSBpbmplY3QoVGl0bGVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZXVzZVNydiA9IGluamVjdChSZXVzZVRhYlNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGlyZWN0aW9uYWxpdHkgPSBpbmplY3QoRGlyZWN0aW9uYWxpdHkpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvblRwbCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwcml2YXRlIGNvblRwbCE6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2FmZml4JywgeyBzdGF0aWM6IGZhbHNlIH0pIHByaXZhdGUgYWZmaXghOiBOekFmZml4Q29tcG9uZW50O1xuICBpbml0ZWQgPSBmYWxzZTtcbiAgaXNCcm93c2VyID0gdHJ1ZTtcbiAgZGlyPzogRGlyZWN0aW9uID0gJ2x0cic7XG5cbiAgcHJpdmF0ZSBnZXQgbWVudXMoKTogTWVudVtdIHtcbiAgICByZXR1cm4gdGhpcy5tZW51U3J2LmdldFBhdGhCeVVybCh0aGlzLnJvdXRlci51cmwsIHRoaXMucmVjdXJzaXZlQnJlYWRjcnVtYik7XG4gIH1cblxuICBfdGl0bGVWYWw6IHN0cmluZyB8IG51bGwgPSAnJztcbiAgcGF0aHM6IFBhZ2VIZWFkZXJQYXRoW10gPSBbXTtcblxuICAvLyAjcmVnaW9uIGZpZWxkc1xuXG4gIF90aXRsZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIF90aXRsZVRwbDogVGVtcGxhdGVSZWY8TnpTYWZlQW55PiB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKVxuICBzZXQgdGl0bGUodmFsdWU6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+IHwgbnVsbCkge1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICB0aGlzLl90aXRsZSA9IG51bGw7XG4gICAgICB0aGlzLl90aXRsZVRwbCA9IHZhbHVlO1xuICAgICAgdGhpcy5fdGl0bGVWYWwgPSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fdGl0bGUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuX3RpdGxlVmFsID0gdGhpcy5fdGl0bGU7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIHRpdGxlU3ViPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD4gfCBudWxsO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBsb2FkaW5nID0gZmFsc2U7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB3aWRlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhvbWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhvbWVMaW5rPzogc3RyaW5nO1xuICBASW5wdXQoKSBob21lSTE4bj86IHN0cmluZztcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGF1dG9CcmVhZGNydW1iITogYm9vbGVhbjtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGF1dG9UaXRsZSE6IGJvb2xlYW47XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzeW5jVGl0bGUhOiBib29sZWFuO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZml4ZWQhOiBib29sZWFuO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBmaXhlZE9mZnNldFRvcCE6IG51bWJlcjtcbiAgQElucHV0KCkgYnJlYWRjcnVtYj86IFRlbXBsYXRlUmVmPE56U2FmZUFueT4gfCBudWxsID0gbnVsbDtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHJlY3Vyc2l2ZUJyZWFkY3J1bWIhOiBib29sZWFuO1xuICBASW5wdXQoKSBsb2dvPzogVGVtcGxhdGVSZWY8dm9pZD4gfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgYWN0aW9uPzogVGVtcGxhdGVSZWY8dm9pZD4gfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgY29udGVudD86IFRlbXBsYXRlUmVmPHZvaWQ+IHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGV4dHJhPzogVGVtcGxhdGVSZWY8dm9pZD4gfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgdGFiPzogVGVtcGxhdGVSZWY8dm9pZD4gfCBudWxsID0gbnVsbDtcblxuICAvLyAjZW5kcmVnaW9uXG5cbiAgY29uc3RydWN0b3Ioc2V0dGluZ3M6IFNldHRpbmdzU2VydmljZSwgY29uZmlnU3J2OiBBbGFpbkNvbmZpZ1NlcnZpY2UsIHBsYXRmb3JtOiBQbGF0Zm9ybSkge1xuICAgIHRoaXMuaXNCcm93c2VyID0gcGxhdGZvcm0uaXNCcm93c2VyO1xuICAgIGNvbmZpZ1Nydi5hdHRhY2godGhpcywgJ3BhZ2VIZWFkZXInLCB7XG4gICAgICBob21lOiAn6aaW6aG1JyxcbiAgICAgIGhvbWVMaW5rOiAnLycsXG4gICAgICBhdXRvQnJlYWRjcnVtYjogdHJ1ZSxcbiAgICAgIHJlY3Vyc2l2ZUJyZWFkY3J1bWI6IGZhbHNlLFxuICAgICAgYXV0b1RpdGxlOiB0cnVlLFxuICAgICAgc3luY1RpdGxlOiB0cnVlLFxuICAgICAgZml4ZWQ6IGZhbHNlLFxuICAgICAgZml4ZWRPZmZzZXRUb3A6IDY0XG4gICAgfSk7XG4gICAgc2V0dGluZ3Mubm90aWZ5XG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgIGZpbHRlcih3ID0+IHRoaXMuYWZmaXggJiYgdy50eXBlID09PSAnbGF5b3V0JyAmJiB3Lm5hbWUgPT09ICdjb2xsYXBzZWQnKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmFmZml4LnVwZGF0ZVBvc2l0aW9uKHt9IGFzIE56U2FmZUFueSkpO1xuXG4gICAgY29uc3Qgb2JzTGlzdDogQXJyYXk8T2JzZXJ2YWJsZTxOelNhZmVBbnk+PiA9IFt0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZXYgPT4gZXYgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSldO1xuICAgIGlmICh0aGlzLm1lbnVTcnYgIT0gbnVsbCkgb2JzTGlzdC5wdXNoKHRoaXMubWVudVNydi5jaGFuZ2UpO1xuICAgIG9ic0xpc3QucHVzaCh0aGlzLmkxOG5TcnYuY2hhbmdlKTtcbiAgICBtZXJnZSguLi5vYnNMaXN0KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5pbml0ZWQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVmcmVzaCgpKTtcbiAgfVxuXG4gIHJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5zZXRUaXRsZSgpLmdlbkJyZWFkY3J1bWIoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGdlbkJyZWFkY3J1bWIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYnJlYWRjcnVtYiB8fCAhdGhpcy5hdXRvQnJlYWRjcnVtYiB8fCB0aGlzLm1lbnVzLmxlbmd0aCA8PSAwKSB7XG4gICAgICB0aGlzLnBhdGhzID0gW107XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHBhdGhzOiBQYWdlSGVhZGVyUGF0aFtdID0gW107XG4gICAgdGhpcy5tZW51cy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgaWYgKHR5cGVvZiBpdGVtLmhpZGVJbkJyZWFkY3J1bWIgIT09ICd1bmRlZmluZWQnICYmIGl0ZW0uaGlkZUluQnJlYWRjcnVtYikgcmV0dXJuO1xuICAgICAgbGV0IHRpdGxlID0gaXRlbS50ZXh0O1xuICAgICAgaWYgKGl0ZW0uaTE4bikgdGl0bGUgPSB0aGlzLmkxOG5TcnYuZmFueWkoaXRlbS5pMThuKTtcbiAgICAgIHBhdGhzLnB1c2goeyB0aXRsZSwgbGluazogKGl0ZW0ubGluayAmJiBbaXRlbS5saW5rXSkgYXMgc3RyaW5nW10gfSk7XG4gICAgfSk7XG4gICAgLy8gYWRkIGhvbWVcbiAgICBpZiAodGhpcy5ob21lKSB7XG4gICAgICBwYXRocy5zcGxpY2UoMCwgMCwge1xuICAgICAgICB0aXRsZTogKHRoaXMuaG9tZUkxOG4gJiYgdGhpcy5pMThuU3J2LmZhbnlpKHRoaXMuaG9tZUkxOG4pKSB8fCB0aGlzLmhvbWUsXG4gICAgICAgIGxpbms6IFt0aGlzLmhvbWVMaW5rIV1cbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnBhdGhzID0gcGF0aHM7XG4gIH1cblxuICBwcml2YXRlIHNldFRpdGxlKCk6IHRoaXMge1xuICAgIGlmICh0aGlzLl90aXRsZSA9PSBudWxsICYmIHRoaXMuX3RpdGxlVHBsID09IG51bGwgJiYgdGhpcy5hdXRvVGl0bGUgJiYgdGhpcy5tZW51cy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5tZW51c1t0aGlzLm1lbnVzLmxlbmd0aCAtIDFdO1xuICAgICAgbGV0IHRpdGxlID0gaXRlbS50ZXh0O1xuICAgICAgaWYgKGl0ZW0uaTE4bikge1xuICAgICAgICB0aXRsZSA9IHRoaXMuaTE4blNydi5mYW55aShpdGVtLmkxOG4pO1xuICAgICAgfVxuICAgICAgdGhpcy5fdGl0bGVWYWwgPSB0aXRsZSE7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3RpdGxlVmFsICYmIHRoaXMuc3luY1RpdGxlKSB7XG4gICAgICB0aGlzLnRpdGxlU3J2LnNldFRpdGxlKHRoaXMuX3RpdGxlVmFsKTtcbiAgICAgIGlmICghdGhpcy5pbml0ZWQgJiYgdGhpcy5yZXVzZVNydikge1xuICAgICAgICB0aGlzLnJldXNlU3J2LnRpdGxlID0gdGhpcy5fdGl0bGVWYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBjaGVja0NvbnRlbnQoKTogdm9pZCB7XG4gICAgaWYgKGlzRW1wdHkodGhpcy5jb25UcGwubmF0aXZlRWxlbWVudCkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuY29uVHBsLm5hdGl2ZUVsZW1lbnQsICdoaWRkZW4nLCAnJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuY29uVHBsLm5hdGl2ZUVsZW1lbnQsICdoaWRkZW4nKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpciA9IHRoaXMuZGlyZWN0aW9uYWxpdHkudmFsdWU7XG4gICAgdGhpcy5kaXJlY3Rpb25hbGl0eS5jaGFuZ2UucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShkaXJlY3Rpb24gPT4ge1xuICAgICAgdGhpcy5kaXIgPSBkaXJlY3Rpb247XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgdGhpcy5pbml0ZWQgPSB0cnVlO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tDb250ZW50KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbml0ZWQpIHtcbiAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmIChpc0Jyb3dzZXIgJiYgZml4ZWQpIHtcbiAgPG56LWFmZml4ICNhZmZpeCBbbnpPZmZzZXRUb3BdPVwiZml4ZWRPZmZzZXRUb3BcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicGhUcGxcIiAvPlxuICA8L256LWFmZml4PlxufSBAZWxzZSB7XG4gIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJwaFRwbFwiIC8+XG59XG48bmctdGVtcGxhdGUgI3BoVHBsPlxuICA8ZGl2IGNsYXNzPVwicGFnZS1oZWFkZXJcIiBbY2xhc3MucGFnZS1oZWFkZXItcnRsXT1cImRpciA9PT0gJ3J0bCdcIj5cbiAgICA8ZGl2IFtjbGFzcy5wYWdlLWhlYWRlcl9fd2lkZV09XCJ3aWRlXCI+XG4gICAgICA8bnotc2tlbGV0b25cbiAgICAgICAgW256TG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgICAgW256VGl0bGVdPVwiZmFsc2VcIlxuICAgICAgICBbbnpBY3RpdmVdPVwidHJ1ZVwiXG4gICAgICAgIFtuelBhcmFncmFwaF09XCJ7IHJvd3M6IDMgfVwiXG4gICAgICAgIFtuekF2YXRhcl09XCJ7IHNpemU6ICdsYXJnZScsIHNoYXBlOiAnY2lyY2xlJyB9XCJcbiAgICAgICAgY2xhc3M9XCJkLWJsb2NrXCJcbiAgICAgID5cbiAgICAgICAgQGlmIChicmVhZGNydW1iKSB7XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJyZWFkY3J1bWJcIiAvPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBAaWYgKHBhdGhzICYmIHBhdGhzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIDxuei1icmVhZGNydW1iPlxuICAgICAgICAgICAgICBAZm9yIChpIG9mIHBhdGhzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8bnotYnJlYWRjcnVtYi1pdGVtPlxuICAgICAgICAgICAgICAgICAgQGlmIChpLmxpbmspIHtcbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiaS5saW5rXCI+e3sgaS50aXRsZSB9fTwvYT5cbiAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB7eyBpLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9uei1icmVhZGNydW1iLWl0ZW0+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbnotYnJlYWRjcnVtYj5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBjbGFzcz1cInBhZ2UtaGVhZGVyX19kZXRhaWxcIj5cbiAgICAgICAgICBAaWYgKGxvZ28pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWdlLWhlYWRlcl9fbG9nb1wiPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibG9nb1wiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBhZ2UtaGVhZGVyX19tYWluXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZS1oZWFkZXJfX3Jvd1wiPlxuICAgICAgICAgICAgICBAaWYgKF90aXRsZVZhbCB8fCBfdGl0bGVUcGwpIHtcbiAgICAgICAgICAgICAgICA8aDEgY2xhc3M9XCJwYWdlLWhlYWRlcl9fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIEBpZiAoX3RpdGxlVHBsKSB7XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJfdGl0bGVUcGxcIiAvPlxuICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHt7IF90aXRsZVZhbCB9fVxuICAgICAgICAgICAgICAgICAgICBAaWYgKHRpdGxlU3ViKSB7XG4gICAgICAgICAgICAgICAgICAgICAgPHNtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbnpTdHJpbmdUZW1wbGF0ZU91dGxldD1cInRpdGxlU3ViXCI+e3sgdGl0bGVTdWIgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9oMT5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaWYgKGFjdGlvbikge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWdlLWhlYWRlcl9fYWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWN0aW9uXCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZS1oZWFkZXJfX3Jvd1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZS1oZWFkZXJfX2Rlc2NcIiAoY2RrT2JzZXJ2ZUNvbnRlbnQpPVwiY2hlY2tDb250ZW50KClcIiAjY29uVHBsPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnQhXCIgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIEBpZiAoZXh0cmEpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZS1oZWFkZXJfX2V4dHJhXCI+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZXh0cmFcIiAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWIhXCIgLz5cbiAgICAgIDwvbnotc2tlbGV0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hYmMvcGFnZS1oZWFkZXIvcGFnZS1oZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -1,45 +0,0 @@
1
- import { ObserversModule } from '@angular/cdk/observers';
2
- import { CommonModule } from '@angular/common';
3
- import { NgModule } from '@angular/core';
4
- import { RouterModule } from '@angular/router';
5
- import { NzAffixModule } from 'ng-zorro-antd/affix';
6
- import { NzBreadCrumbModule } from 'ng-zorro-antd/breadcrumb';
7
- import { NzOutletModule } from 'ng-zorro-antd/core/outlet';
8
- import { NzSkeletonModule } from 'ng-zorro-antd/skeleton';
9
- import { PageHeaderComponent } from './page-header.component';
10
- import * as i0 from "@angular/core";
11
- const COMPONENTS = [PageHeaderComponent];
12
- export class PageHeaderModule {
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PageHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: PageHeaderModule, imports: [CommonModule,
15
- RouterModule,
16
- ObserversModule,
17
- NzAffixModule,
18
- NzSkeletonModule,
19
- NzBreadCrumbModule,
20
- NzOutletModule, PageHeaderComponent], exports: [PageHeaderComponent] }); }
21
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PageHeaderModule, imports: [CommonModule,
22
- RouterModule,
23
- ObserversModule,
24
- NzAffixModule,
25
- NzSkeletonModule,
26
- NzBreadCrumbModule,
27
- NzOutletModule, COMPONENTS] }); }
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PageHeaderModule, decorators: [{
30
- type: NgModule,
31
- args: [{
32
- imports: [
33
- CommonModule,
34
- RouterModule,
35
- ObserversModule,
36
- NzAffixModule,
37
- NzSkeletonModule,
38
- NzBreadCrumbModule,
39
- NzOutletModule,
40
- ...COMPONENTS
41
- ],
42
- exports: COMPONENTS
43
- }]
44
- }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWJjL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRTlELE1BQU0sVUFBVSxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQWV6QyxNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixZQVh6QixZQUFZO1lBQ1osWUFBWTtZQUNaLGVBQWU7WUFDZixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGtCQUFrQjtZQUNsQixjQUFjLEVBVkUsbUJBQW1CLGFBQW5CLG1CQUFtQjsrR0FlMUIsZ0JBQWdCLFlBWHpCLFlBQVk7WUFDWixZQUFZO1lBQ1osZUFBZTtZQUNmLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsa0JBQWtCO1lBQ2xCLGNBQWMsRUFDWCxVQUFVOzsyRkFJSixnQkFBZ0I7a0JBYjVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsR0FBRyxVQUFVO3FCQUNkO29CQUNELE9BQU8sRUFBRSxVQUFVO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmVyc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vYnNlcnZlcnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBOekFmZml4TW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9hZmZpeCc7XG5pbXBvcnQgeyBOekJyZWFkQ3J1bWJNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2JyZWFkY3J1bWInO1xuaW1wb3J0IHsgTnpPdXRsZXRNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvb3V0bGV0JztcbmltcG9ydCB7IE56U2tlbGV0b25Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3NrZWxldG9uJztcblxuaW1wb3J0IHsgUGFnZUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vcGFnZS1oZWFkZXIuY29tcG9uZW50JztcblxuY29uc3QgQ09NUE9ORU5UUyA9IFtQYWdlSGVhZGVyQ29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgT2JzZXJ2ZXJzTW9kdWxlLFxuICAgIE56QWZmaXhNb2R1bGUsXG4gICAgTnpTa2VsZXRvbk1vZHVsZSxcbiAgICBOekJyZWFkQ3J1bWJNb2R1bGUsXG4gICAgTnpPdXRsZXRNb2R1bGUsXG4gICAgLi4uQ09NUE9ORU5UU1xuICBdLFxuICBleHBvcnRzOiBDT01QT05FTlRTXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VIZWFkZXJNb2R1bGUge31cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export { PageHeaderComponent } from './page-header.component';
2
- export { PageHeaderModule } from './page-header.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FiYy9wYWdlLWhlYWRlci9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgUGFnZUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vcGFnZS1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IFBhZ2VIZWFkZXJNb2R1bGUgfSBmcm9tICcuL3BhZ2UtaGVhZGVyLm1vZHVsZSc7XG4iXX0=