@delon/abc 15.0.0 → 15.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 (202) hide show
  1. package/esm2020/auto-focus/auto-focus.directive.mjs +3 -3
  2. package/esm2020/auto-focus/auto-focus.module.mjs +4 -4
  3. package/esm2020/avatar-list/avatar-list-item.component.mjs +3 -3
  4. package/esm2020/avatar-list/avatar-list.component.mjs +17 -17
  5. package/esm2020/avatar-list/avatar-list.module.mjs +4 -4
  6. package/esm2020/count-down/count-down.component.mjs +3 -3
  7. package/esm2020/count-down/count-down.module.mjs +4 -4
  8. package/esm2020/date-picker/date-picker.module.mjs +4 -4
  9. package/esm2020/date-picker/range-shortcut.component.mjs +3 -3
  10. package/esm2020/date-picker/range.directive.mjs +24 -24
  11. package/esm2020/down-file/down-file.directive.mjs +18 -18
  12. package/esm2020/down-file/down-file.module.mjs +4 -4
  13. package/esm2020/ellipsis/ellipsis.component.mjs +12 -12
  14. package/esm2020/ellipsis/ellipsis.module.mjs +4 -4
  15. package/esm2020/error-collect/error-collect.component.mjs +3 -3
  16. package/esm2020/error-collect/error-collect.module.mjs +4 -4
  17. package/esm2020/exception/exception.component.mjs +29 -29
  18. package/esm2020/exception/exception.module.mjs +4 -4
  19. package/esm2020/footer-toolbar/footer-toolbar.component.mjs +3 -3
  20. package/esm2020/footer-toolbar/footer-toolbar.module.mjs +4 -4
  21. package/esm2020/full-content/full-content-toggle.directive.mjs +3 -3
  22. package/esm2020/full-content/full-content.component.mjs +3 -3
  23. package/esm2020/full-content/full-content.module.mjs +4 -4
  24. package/esm2020/full-content/full-content.service.mjs +3 -3
  25. package/esm2020/global-footer/global-footer-item.component.mjs +3 -3
  26. package/esm2020/global-footer/global-footer.component.mjs +11 -11
  27. package/esm2020/global-footer/global-footer.module.mjs +4 -4
  28. package/esm2020/hotkey/hotkey.directive.mjs +9 -9
  29. package/esm2020/hotkey/hotkey.module.mjs +4 -4
  30. package/esm2020/let/let.directive.mjs +3 -3
  31. package/esm2020/let/let.module.mjs +4 -4
  32. package/esm2020/loading/loading.component.mjs +3 -3
  33. package/esm2020/loading/loading.module.mjs +4 -4
  34. package/esm2020/loading/loading.service.mjs +7 -7
  35. package/esm2020/lodop/lodop.module.mjs +4 -4
  36. package/esm2020/lodop/lodop.service.mjs +3 -3
  37. package/esm2020/media/media.component.mjs +7 -7
  38. package/esm2020/media/media.module.mjs +4 -4
  39. package/esm2020/media/media.service.mjs +11 -11
  40. package/esm2020/notice-icon/notice-icon-tab.component.mjs +3 -3
  41. package/esm2020/notice-icon/notice-icon.component.mjs +7 -7
  42. package/esm2020/notice-icon/notice-icon.module.mjs +4 -4
  43. package/esm2020/observers/observer-size.mjs +10 -10
  44. package/esm2020/onboarding/onboarding.component.mjs +15 -15
  45. package/esm2020/onboarding/onboarding.module.mjs +4 -4
  46. package/esm2020/onboarding/onboarding.service.mjs +15 -15
  47. package/esm2020/page-header/page-header.component.mjs +18 -18
  48. package/esm2020/page-header/page-header.module.mjs +4 -4
  49. package/esm2020/pdf/pdf.component.mjs +35 -35
  50. package/esm2020/pdf/pdf.module.mjs +4 -4
  51. package/esm2020/qr/qr.component.mjs +3 -3
  52. package/esm2020/qr/qr.module.mjs +4 -4
  53. package/esm2020/quick-menu/quick-menu.component.mjs +3 -3
  54. package/esm2020/quick-menu/quick-menu.module.mjs +4 -4
  55. package/esm2020/result/result.component.mjs +11 -11
  56. package/esm2020/result/result.module.mjs +4 -4
  57. package/esm2020/reuse-tab/reuse-tab-context-menu.component.mjs +8 -8
  58. package/esm2020/reuse-tab/reuse-tab-context.component.mjs +7 -7
  59. package/esm2020/reuse-tab/reuse-tab-context.directive.mjs +3 -3
  60. package/esm2020/reuse-tab/reuse-tab-context.service.mjs +3 -3
  61. package/esm2020/reuse-tab/reuse-tab.component.mjs +7 -7
  62. package/esm2020/reuse-tab/reuse-tab.module.mjs +4 -4
  63. package/esm2020/reuse-tab/reuse-tab.service.mjs +26 -26
  64. package/esm2020/se/se-container.component.mjs +21 -21
  65. package/esm2020/se/se.component.mjs +24 -24
  66. package/esm2020/se/se.module.mjs +4 -4
  67. package/esm2020/sg/sg-container.component.mjs +7 -7
  68. package/esm2020/sg/sg.component.mjs +7 -7
  69. package/esm2020/sg/sg.module.mjs +4 -4
  70. package/esm2020/st/st-column-source.mjs +3 -3
  71. package/esm2020/st/st-data-source.mjs +3 -3
  72. package/esm2020/st/st-export.mjs +3 -3
  73. package/esm2020/st/st-filter.component.mjs +7 -7
  74. package/esm2020/st/st-row.directive.mjs +6 -6
  75. package/esm2020/st/st-widget-host.directive.mjs +3 -3
  76. package/esm2020/st/st-widget.mjs +3 -3
  77. package/esm2020/st/st.component.mjs +67 -67
  78. package/esm2020/st/st.module.mjs +4 -4
  79. package/esm2020/sv/sv-container.component.mjs +6 -6
  80. package/esm2020/sv/sv-value.component.mjs +3 -3
  81. package/esm2020/sv/sv.component.mjs +12 -12
  82. package/esm2020/sv/sv.module.mjs +4 -4
  83. package/esm2020/tag-select/tag-select.component.mjs +3 -3
  84. package/esm2020/tag-select/tag-select.module.mjs +4 -4
  85. package/esm2020/xlsx/xlsx.directive.mjs +3 -3
  86. package/esm2020/xlsx/xlsx.module.mjs +4 -4
  87. package/esm2020/xlsx/xlsx.service.mjs +3 -3
  88. package/esm2020/zip/zip.module.mjs +4 -4
  89. package/esm2020/zip/zip.service.mjs +3 -3
  90. package/exception/exception.component.d.ts +1 -1
  91. package/fesm2015/auto-focus.mjs +7 -7
  92. package/fesm2015/avatar-list.mjs +23 -23
  93. package/fesm2015/avatar-list.mjs.map +1 -1
  94. package/fesm2015/chart-observer-size.mjs +10 -10
  95. package/fesm2015/count-down.mjs +7 -7
  96. package/fesm2015/date-picker.mjs +31 -31
  97. package/fesm2015/date-picker.mjs.map +1 -1
  98. package/fesm2015/down-file.mjs +21 -21
  99. package/fesm2015/down-file.mjs.map +1 -1
  100. package/fesm2015/ellipsis.mjs +15 -15
  101. package/fesm2015/ellipsis.mjs.map +1 -1
  102. package/fesm2015/error-collect.mjs +7 -7
  103. package/fesm2015/exception.mjs +32 -32
  104. package/fesm2015/exception.mjs.map +1 -1
  105. package/fesm2015/footer-toolbar.mjs +7 -7
  106. package/fesm2015/full-content.mjs +13 -13
  107. package/fesm2015/global-footer.mjs +17 -17
  108. package/fesm2015/global-footer.mjs.map +1 -1
  109. package/fesm2015/hotkey.mjs +12 -12
  110. package/fesm2015/hotkey.mjs.map +1 -1
  111. package/fesm2015/let.mjs +7 -7
  112. package/fesm2015/loading.mjs +13 -13
  113. package/fesm2015/loading.mjs.map +1 -1
  114. package/fesm2015/lodop.mjs +7 -7
  115. package/fesm2015/media.mjs +20 -20
  116. package/fesm2015/media.mjs.map +1 -1
  117. package/fesm2015/notice-icon.mjs +13 -13
  118. package/fesm2015/notice-icon.mjs.map +1 -1
  119. package/fesm2015/onboarding.mjs +32 -32
  120. package/fesm2015/onboarding.mjs.map +1 -1
  121. package/fesm2015/page-header.mjs +21 -21
  122. package/fesm2015/page-header.mjs.map +1 -1
  123. package/fesm2015/pdf.mjs +38 -38
  124. package/fesm2015/pdf.mjs.map +1 -1
  125. package/fesm2015/qr.mjs +7 -7
  126. package/fesm2015/quick-menu.mjs +7 -7
  127. package/fesm2015/result.mjs +14 -14
  128. package/fesm2015/result.mjs.map +1 -1
  129. package/fesm2015/reuse-tab.mjs +54 -54
  130. package/fesm2015/reuse-tab.mjs.map +1 -1
  131. package/fesm2015/se.mjs +48 -48
  132. package/fesm2015/se.mjs.map +1 -1
  133. package/fesm2015/sg.mjs +16 -16
  134. package/fesm2015/sg.mjs.map +1 -1
  135. package/fesm2015/st.mjs +97 -97
  136. package/fesm2015/st.mjs.map +1 -1
  137. package/fesm2015/sv.mjs +24 -24
  138. package/fesm2015/sv.mjs.map +1 -1
  139. package/fesm2015/tag-select.mjs +7 -7
  140. package/fesm2015/xlsx.mjs +10 -10
  141. package/fesm2015/zip.mjs +7 -7
  142. package/fesm2020/auto-focus.mjs +7 -7
  143. package/fesm2020/avatar-list.mjs +23 -23
  144. package/fesm2020/avatar-list.mjs.map +1 -1
  145. package/fesm2020/chart-observer-size.mjs +10 -10
  146. package/fesm2020/count-down.mjs +7 -7
  147. package/fesm2020/date-picker.mjs +31 -31
  148. package/fesm2020/date-picker.mjs.map +1 -1
  149. package/fesm2020/down-file.mjs +21 -21
  150. package/fesm2020/down-file.mjs.map +1 -1
  151. package/fesm2020/ellipsis.mjs +15 -15
  152. package/fesm2020/ellipsis.mjs.map +1 -1
  153. package/fesm2020/error-collect.mjs +7 -7
  154. package/fesm2020/exception.mjs +32 -32
  155. package/fesm2020/exception.mjs.map +1 -1
  156. package/fesm2020/footer-toolbar.mjs +7 -7
  157. package/fesm2020/full-content.mjs +13 -13
  158. package/fesm2020/global-footer.mjs +17 -17
  159. package/fesm2020/global-footer.mjs.map +1 -1
  160. package/fesm2020/hotkey.mjs +12 -12
  161. package/fesm2020/hotkey.mjs.map +1 -1
  162. package/fesm2020/let.mjs +7 -7
  163. package/fesm2020/loading.mjs +13 -13
  164. package/fesm2020/loading.mjs.map +1 -1
  165. package/fesm2020/lodop.mjs +7 -7
  166. package/fesm2020/media.mjs +20 -20
  167. package/fesm2020/media.mjs.map +1 -1
  168. package/fesm2020/notice-icon.mjs +13 -13
  169. package/fesm2020/notice-icon.mjs.map +1 -1
  170. package/fesm2020/onboarding.mjs +32 -32
  171. package/fesm2020/onboarding.mjs.map +1 -1
  172. package/fesm2020/page-header.mjs +21 -21
  173. package/fesm2020/page-header.mjs.map +1 -1
  174. package/fesm2020/pdf.mjs +38 -38
  175. package/fesm2020/pdf.mjs.map +1 -1
  176. package/fesm2020/qr.mjs +7 -7
  177. package/fesm2020/quick-menu.mjs +7 -7
  178. package/fesm2020/result.mjs +14 -14
  179. package/fesm2020/result.mjs.map +1 -1
  180. package/fesm2020/reuse-tab.mjs +54 -54
  181. package/fesm2020/reuse-tab.mjs.map +1 -1
  182. package/fesm2020/se.mjs +48 -48
  183. package/fesm2020/se.mjs.map +1 -1
  184. package/fesm2020/sg.mjs +16 -16
  185. package/fesm2020/sg.mjs.map +1 -1
  186. package/fesm2020/st.mjs +97 -97
  187. package/fesm2020/st.mjs.map +1 -1
  188. package/fesm2020/sv.mjs +24 -24
  189. package/fesm2020/sv.mjs.map +1 -1
  190. package/fesm2020/tag-select.mjs +7 -7
  191. package/fesm2020/xlsx.mjs +10 -10
  192. package/fesm2020/zip.mjs +7 -7
  193. package/loading/loading.types.d.ts +1 -1
  194. package/lodop/lodop.types.d.ts +1 -1
  195. package/media/media.component.d.ts +1 -1
  196. package/onboarding/onboarding.types.d.ts +1 -1
  197. package/package.json +5 -5
  198. package/pdf/pdf.types.d.ts +2 -2
  199. package/reuse-tab/reuse-tab.interfaces.d.ts +5 -5
  200. package/se/se.types.d.ts +3 -3
  201. package/st/st.interfaces.d.ts +8 -8
  202. package/st/st.types.d.ts +1 -1
@@ -20,17 +20,6 @@ import * as i3$1 from '@delon/util/config';
20
20
  import * as i4$1 from '@angular/cdk/bidi';
21
21
 
22
22
  class OnboardingComponent {
23
- constructor(el, doc, platform, cdr) {
24
- this.el = el;
25
- this.doc = doc;
26
- this.platform = platform;
27
- this.cdr = cdr;
28
- this.active = 0;
29
- this.max = 0;
30
- this.op = new EventEmitter();
31
- this.running = false;
32
- this.dir = 'ltr';
33
- }
34
23
  get first() {
35
24
  return this.active === 0;
36
25
  }
@@ -43,6 +32,17 @@ class OnboardingComponent {
43
32
  _getWin() {
44
33
  return this._getDoc().defaultView || window;
45
34
  }
35
+ constructor(el, doc, platform, cdr) {
36
+ this.el = el;
37
+ this.doc = doc;
38
+ this.platform = platform;
39
+ this.cdr = cdr;
40
+ this.active = 0;
41
+ this.max = 0;
42
+ this.op = new EventEmitter();
43
+ this.running = false;
44
+ this.dir = 'ltr';
45
+ }
46
46
  getLightData() {
47
47
  const doc = this._getDoc();
48
48
  const win = this._getWin();
@@ -124,9 +124,9 @@ class OnboardingComponent {
124
124
  this.updatePrevElStatus(false);
125
125
  }
126
126
  }
127
- OnboardingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: OnboardingComponent, deps: [{ token: i0.ElementRef }, { token: DOCUMENT, optional: true }, { token: i1.Platform }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
128
- OnboardingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: OnboardingComponent, selector: "onboarding", host: { properties: { "class.onboarding": "true", "class.onboarding-rtl": "dir === 'rtl'", "attr.data-onboarding-active": "active" } }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"!running && config.mask\" class=\"onboarding__mask\" (click)=\"handleMask()\"></div>\n<div\n *ngIf=\"item\"\n class=\"onboarding__light\"\n [class.onboarding__light-hide]=\"running\"\n [attr.style]=\"item.lightStyle\"\n nz-popover\n #popover=\"nzPopover\"\n [nzPopoverTitle]=\"item.title\"\n [nzPopoverContent]=\"content\"\n [nzPopoverVisible]=\"!running\"\n [nzPopoverTrigger]=\"null\"\n [nzPopoverPlacement]=\"item.position\"\n [nzPopoverOverlayClassName]=\"item.className\"\n [nzPopoverOverlayStyle]=\"{ 'max-width.px': item.width, direction: dir }\"\n [nzNoAnimation]=\"true\"\n></div>\n<ng-template #content>\n <ng-container *nzStringTemplateOutlet=\"item.content\">\n <div [innerHTML]=\"item.content\"></div>\n </ng-container>\n <div class=\"flex-center-between onboarding__footer\">\n <span class=\"onboarding__total\">\n <ng-container *ngIf=\"config.showTotal\">{{ active + 1 }}/{{ max }}</ng-container>\n </span>\n <div class=\"onboarding__btns\">\n <a\n *ngIf=\"!last && item.skip !== null && item.skip !== undefined\"\n nz-button\n nzType=\"link\"\n (click)=\"to('skip')\"\n nzSize=\"small\"\n data-btnType=\"skip\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.skip\">{{ item.skip }}</ng-container>\n </a>\n <a *ngIf=\"!first && item.prev !== null\" nz-button (click)=\"to('prev')\" nzSize=\"small\" data-btnType=\"prev\">\n <ng-container *nzStringTemplateOutlet=\"item.prev\">{{ item.prev }}</ng-container>\n </a>\n <a\n *ngIf=\"!last && item.next !== null && item.next !== undefined\"\n nz-button\n (click)=\"to('next')\"\n nzType=\"primary\"\n nzSize=\"small\"\n data-btnType=\"next\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.next\">{{ item.next }}</ng-container>\n </a>\n <a\n *ngIf=\"last && item.done !== null && item.done !== undefined\"\n nz-button\n (click)=\"to('done')\"\n nzType=\"primary\"\n nzSize=\"small\"\n data-btnType=\"done\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.done\">{{ item.done }}</ng-container>\n </a>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NzPopoverDirective, selector: "[nz-popover]", inputs: ["nzPopoverArrowPointAtCenter", "nzPopoverTitle", "nzPopoverContent", "nz-popover", "nzPopoverTrigger", "nzPopoverPlacement", "nzPopoverOrigin", "nzPopoverVisible", "nzPopoverMouseEnterDelay", "nzPopoverMouseLeaveDelay", "nzPopoverOverlayClassName", "nzPopoverOverlayStyle", "nzPopoverBackdrop"], outputs: ["nzPopoverVisibleChange"], exportAs: ["nzPopover"] }, { kind: "directive", type: i4.NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { kind: "component", type: i5.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i6.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i7.NzNoAnimationDirective, selector: "[nzNoAnimation]", inputs: ["nzNoAnimation"], exportAs: ["nzNoAnimation"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: OnboardingComponent, decorators: [{
127
+ OnboardingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: OnboardingComponent, deps: [{ token: i0.ElementRef }, { token: DOCUMENT, optional: true }, { token: i1.Platform }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
128
+ OnboardingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: OnboardingComponent, selector: "onboarding", host: { properties: { "class.onboarding": "true", "class.onboarding-rtl": "dir === 'rtl'", "attr.data-onboarding-active": "active" } }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"!running && config.mask\" class=\"onboarding__mask\" (click)=\"handleMask()\"></div>\n<div\n *ngIf=\"item\"\n class=\"onboarding__light\"\n [class.onboarding__light-hide]=\"running\"\n [attr.style]=\"item.lightStyle\"\n nz-popover\n #popover=\"nzPopover\"\n [nzPopoverTitle]=\"item.title\"\n [nzPopoverContent]=\"content\"\n [nzPopoverVisible]=\"!running\"\n [nzPopoverTrigger]=\"null\"\n [nzPopoverPlacement]=\"item.position\"\n [nzPopoverOverlayClassName]=\"item.className\"\n [nzPopoverOverlayStyle]=\"{ 'max-width.px': item.width, direction: dir }\"\n [nzNoAnimation]=\"true\"\n></div>\n<ng-template #content>\n <ng-container *nzStringTemplateOutlet=\"item.content\">\n <div [innerHTML]=\"item.content\"></div>\n </ng-container>\n <div class=\"flex-center-between onboarding__footer\">\n <span class=\"onboarding__total\">\n <ng-container *ngIf=\"config.showTotal\">{{ active + 1 }}/{{ max }}</ng-container>\n </span>\n <div class=\"onboarding__btns\">\n <a\n *ngIf=\"!last && item.skip !== null && item.skip !== undefined\"\n nz-button\n nzType=\"link\"\n (click)=\"to('skip')\"\n nzSize=\"small\"\n data-btnType=\"skip\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.skip\">{{ item.skip }}</ng-container>\n </a>\n <a *ngIf=\"!first && item.prev !== null\" nz-button (click)=\"to('prev')\" nzSize=\"small\" data-btnType=\"prev\">\n <ng-container *nzStringTemplateOutlet=\"item.prev\">{{ item.prev }}</ng-container>\n </a>\n <a\n *ngIf=\"!last && item.next !== null && item.next !== undefined\"\n nz-button\n (click)=\"to('next')\"\n nzType=\"primary\"\n nzSize=\"small\"\n data-btnType=\"next\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.next\">{{ item.next }}</ng-container>\n </a>\n <a\n *ngIf=\"last && item.done !== null && item.done !== undefined\"\n nz-button\n (click)=\"to('done')\"\n nzType=\"primary\"\n nzSize=\"small\"\n data-btnType=\"done\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.done\">{{ item.done }}</ng-container>\n </a>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NzPopoverDirective, selector: "[nz-popover]", inputs: ["nzPopoverArrowPointAtCenter", "nzPopoverTitle", "nzPopoverContent", "nz-popover", "nzPopoverTrigger", "nzPopoverPlacement", "nzPopoverOrigin", "nzPopoverVisible", "nzPopoverMouseEnterDelay", "nzPopoverMouseLeaveDelay", "nzPopoverOverlayClassName", "nzPopoverOverlayStyle", "nzPopoverBackdrop"], outputs: ["nzPopoverVisibleChange"], exportAs: ["nzPopover"] }, { kind: "directive", type: i4.NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { kind: "component", type: i5.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i6.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i7.NzNoAnimationDirective, selector: "[nzNoAnimation]", inputs: ["nzNoAnimation"], exportAs: ["nzNoAnimation"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: OnboardingComponent, decorators: [{
130
130
  type: Component,
131
131
  args: [{ selector: 'onboarding', host: {
132
132
  '[class.onboarding]': `true`,
@@ -144,6 +144,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
144
144
  }] } });
145
145
 
146
146
  class OnboardingService {
147
+ _getDoc() {
148
+ return this.doc;
149
+ }
150
+ /**
151
+ * Get whether it is booting
152
+ *
153
+ * 获取是否正在引导中
154
+ */
155
+ get running() {
156
+ return this._running;
157
+ }
147
158
  constructor(i18n, appRef,
148
159
  // TODO: Tracking https://github.com/angular/angular/issues/45263
149
160
  resolver, router, injector, doc, configSrv, directionality) {
@@ -160,17 +171,6 @@ class OnboardingService {
160
171
  this._running = false;
161
172
  this.type = null;
162
173
  }
163
- _getDoc() {
164
- return this.doc;
165
- }
166
- /**
167
- * Get whether it is booting
168
- *
169
- * 获取是否正在引导中
170
- */
171
- get running() {
172
- return this._running;
173
- }
174
174
  attach() {
175
175
  const compRef = (this.compRef = this.resolver.resolveComponentFactory(OnboardingComponent).create(this.injector));
176
176
  this.appRef.attachView(compRef.hostView);
@@ -308,9 +308,9 @@ class OnboardingService {
308
308
  this.destroy();
309
309
  }
310
310
  }
311
- OnboardingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: OnboardingService, deps: [{ token: i1$1.DelonLocaleService }, { token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }, { token: i2$1.Router }, { token: i0.Injector }, { token: DOCUMENT }, { token: i3$1.AlainConfigService }, { token: i4$1.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
312
- OnboardingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: OnboardingService });
313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: OnboardingService, decorators: [{
311
+ OnboardingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: OnboardingService, deps: [{ token: i1$1.DelonLocaleService }, { token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }, { token: i2$1.Router }, { token: i0.Injector }, { token: DOCUMENT }, { token: i3$1.AlainConfigService }, { token: i4$1.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
312
+ OnboardingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: OnboardingService });
313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: OnboardingService, decorators: [{
314
314
  type: Injectable
315
315
  }], ctorParameters: function () { return [{ type: i1$1.DelonLocaleService }, { type: i0.ApplicationRef }, { type: i0.ComponentFactoryResolver }, { type: i2$1.Router }, { type: i0.Injector }, { type: undefined, decorators: [{
316
316
  type: Inject,
@@ -322,10 +322,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
322
322
  const COMPONENTS = [OnboardingComponent];
323
323
  class OnboardingModule {
324
324
  }
325
- OnboardingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: OnboardingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
326
- OnboardingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: OnboardingModule, declarations: [OnboardingComponent], imports: [CommonModule, DelonLocaleModule, NzPopoverModule, NzOutletModule, NzButtonModule, NzNoAnimationModule], exports: [OnboardingComponent] });
327
- OnboardingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: OnboardingModule, providers: [OnboardingService], imports: [CommonModule, DelonLocaleModule, NzPopoverModule, NzOutletModule, NzButtonModule, NzNoAnimationModule] });
328
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: OnboardingModule, decorators: [{
325
+ OnboardingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: OnboardingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
326
+ OnboardingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: OnboardingModule, declarations: [OnboardingComponent], imports: [CommonModule, DelonLocaleModule, NzPopoverModule, NzOutletModule, NzButtonModule, NzNoAnimationModule], exports: [OnboardingComponent] });
327
+ OnboardingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: OnboardingModule, providers: [OnboardingService], imports: [CommonModule, DelonLocaleModule, NzPopoverModule, NzOutletModule, NzButtonModule, NzNoAnimationModule] });
328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: OnboardingModule, decorators: [{
329
329
  type: NgModule,
330
330
  args: [{
331
331
  imports: [CommonModule, DelonLocaleModule, NzPopoverModule, NzOutletModule, NzButtonModule, NzNoAnimationModule],
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.mjs","sources":["../../../../packages/abc/onboarding/onboarding.component.ts","../../../../packages/abc/onboarding/onboarding.component.html","../../../../packages/abc/onboarding/onboarding.service.ts","../../../../packages/abc/onboarding/onboarding.module.ts","../../../../packages/abc/onboarding/onboarding.ts"],"sourcesContent":["import { Direction } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n OnDestroy,\n Optional,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzPopoverDirective } from 'ng-zorro-antd/popover';\n\nimport { OnboardingConfig, OnboardingItem, OnboardingOpType } from './onboarding.types';\n\ninterface OnboardingLightData {\n el: HTMLElement;\n top: number;\n left: number;\n width: number;\n height: number;\n clientHeight: number;\n clientWidth: number;\n}\n\n@Component({\n selector: 'onboarding',\n templateUrl: './onboarding.component.html',\n host: {\n '[class.onboarding]': `true`,\n '[class.onboarding-rtl]': `dir === 'rtl'`,\n '[attr.data-onboarding-active]': `active`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class OnboardingComponent implements OnDestroy, AfterViewInit {\n private time: NzSafeAny;\n private prevSelectorEl?: HTMLElement;\n config!: OnboardingConfig;\n item!: OnboardingItem;\n active = 0;\n max = 0;\n readonly op = new EventEmitter<OnboardingOpType>();\n running = false;\n dir: Direction = 'ltr';\n @ViewChild('popover', { static: false }) private popover!: NzPopoverDirective;\n\n get first(): boolean {\n return this.active === 0;\n }\n\n get last(): boolean {\n return this.active === this.max - 1;\n }\n\n private _getDoc(): Document {\n return this.doc;\n }\n\n private _getWin(): Window {\n return this._getDoc().defaultView || window;\n }\n\n constructor(\n private el: ElementRef<HTMLElement>,\n @Optional() @Inject(DOCUMENT) private doc: NzSafeAny,\n private platform: Platform,\n private cdr: ChangeDetectorRef\n ) {}\n\n private getLightData(): OnboardingLightData | null {\n const doc = this._getDoc();\n const win = this._getWin();\n const el = doc.querySelector(this.item.selectors) as HTMLElement;\n if (!el) {\n return null;\n }\n\n const scrollTop = win.scrollY || doc.documentElement.scrollTop || doc.body.scrollTop;\n const scrollLeft = win.scrollX || doc.documentElement.scrollLeft || doc.body.scrollLeft;\n const rect = el.getBoundingClientRect();\n const top = rect.top + scrollTop;\n const left = rect.left + scrollLeft;\n const padding = 8;\n const needPadding = top > padding && left > padding;\n const offsetPos = needPadding ? padding : 0;\n const offsetWH = needPadding ? padding * 2 : 0;\n return {\n top: top - offsetPos,\n left: left - offsetPos,\n width: rect.width + offsetWH,\n height: rect.height + offsetWH,\n el,\n clientWidth: doc.body.clientWidth,\n clientHeight: doc.body.clientHeight\n };\n }\n\n ngAfterViewInit(): void {\n // Waiting https://github.com/NG-ZORRO/ng-zorro-antd/issues/6491\n this.popover.component!.onClickOutside = () => {};\n }\n\n private scroll(pos: OnboardingLightData): void {\n this.prevSelectorEl = pos.el;\n const scrollY = pos.top - (pos.clientHeight - pos.height) / 2;\n this._getWin().scrollTo({ top: scrollY });\n this.updatePrevElStatus(true);\n }\n\n updateRunning(status: boolean): void {\n this.running = status;\n this.cdr.detectChanges();\n if (!status) {\n this.updatePosition();\n }\n }\n\n private updatePosition(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n\n const pos = this.getLightData();\n if (pos == null) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n console.warn(`Did not matches selectors [${this.item.selectors}]`);\n }\n return;\n }\n\n const lightStyle = (this.el.nativeElement.querySelector('.onboarding__light') as HTMLElement).style;\n lightStyle.top = `${pos.top}px`;\n lightStyle.left = `${pos.left}px`;\n lightStyle.width = `${pos.width}px`;\n lightStyle.height = `${pos.height}px`;\n\n this.updatePrevElStatus(false);\n this.scroll(pos);\n }\n\n private updatePrevElStatus(status: boolean): void {\n if (this.prevSelectorEl) {\n this.prevSelectorEl.classList[status ? 'add' : 'remove']('onboarding__light-el');\n }\n }\n\n to(type: OnboardingOpType): void {\n this.op.emit(type);\n }\n\n handleMask(): void {\n if (this.config.maskClosable === true) {\n this.popover.component!.hide();\n this.to('done');\n }\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.time);\n this.updatePrevElStatus(false);\n }\n}\n","<div *ngIf=\"!running && config.mask\" class=\"onboarding__mask\" (click)=\"handleMask()\"></div>\n<div\n *ngIf=\"item\"\n class=\"onboarding__light\"\n [class.onboarding__light-hide]=\"running\"\n [attr.style]=\"item.lightStyle\"\n nz-popover\n #popover=\"nzPopover\"\n [nzPopoverTitle]=\"item.title\"\n [nzPopoverContent]=\"content\"\n [nzPopoverVisible]=\"!running\"\n [nzPopoverTrigger]=\"null\"\n [nzPopoverPlacement]=\"item.position\"\n [nzPopoverOverlayClassName]=\"item.className\"\n [nzPopoverOverlayStyle]=\"{ 'max-width.px': item.width, direction: dir }\"\n [nzNoAnimation]=\"true\"\n></div>\n<ng-template #content>\n <ng-container *nzStringTemplateOutlet=\"item.content\">\n <div [innerHTML]=\"item.content\"></div>\n </ng-container>\n <div class=\"flex-center-between onboarding__footer\">\n <span class=\"onboarding__total\">\n <ng-container *ngIf=\"config.showTotal\">{{ active + 1 }}/{{ max }}</ng-container>\n </span>\n <div class=\"onboarding__btns\">\n <a\n *ngIf=\"!last && item.skip !== null && item.skip !== undefined\"\n nz-button\n nzType=\"link\"\n (click)=\"to('skip')\"\n nzSize=\"small\"\n data-btnType=\"skip\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.skip\">{{ item.skip }}</ng-container>\n </a>\n <a *ngIf=\"!first && item.prev !== null\" nz-button (click)=\"to('prev')\" nzSize=\"small\" data-btnType=\"prev\">\n <ng-container *nzStringTemplateOutlet=\"item.prev\">{{ item.prev }}</ng-container>\n </a>\n <a\n *ngIf=\"!last && item.next !== null && item.next !== undefined\"\n nz-button\n (click)=\"to('next')\"\n nzType=\"primary\"\n nzSize=\"small\"\n data-btnType=\"next\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.next\">{{ item.next }}</ng-container>\n </a>\n <a\n *ngIf=\"last && item.done !== null && item.done !== undefined\"\n nz-button\n (click)=\"to('done')\"\n nzType=\"primary\"\n nzSize=\"small\"\n data-btnType=\"done\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.done\">{{ item.done }}</ng-container>\n </a>\n </div>\n </div>\n</ng-template>\n","import { Directionality } from '@angular/cdk/bidi';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n Inject,\n Injectable,\n Injector,\n OnDestroy,\n Optional\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { of, pipe, Subscription, delay, switchMap } from 'rxjs';\n\nimport { DelonLocaleService } from '@delon/theme';\nimport { AlainConfigService } from '@delon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { OnboardingComponent } from './onboarding.component';\nimport { OnboardingConfig, OnboardingItem, OnboardingOpType } from './onboarding.types';\n\n@Injectable()\nexport class OnboardingService implements OnDestroy {\n private compRef!: ComponentRef<OnboardingComponent>;\n private op$!: Subscription;\n private config!: OnboardingConfig;\n private active = 0;\n private running$: Subscription | null = null;\n private _running = false;\n private type: OnboardingOpType | null = null;\n\n private _getDoc(): Document {\n return this.doc;\n }\n\n /**\n * Get whether it is booting\n *\n * 获取是否正在引导中\n */\n get running(): boolean {\n return this._running;\n }\n\n constructor(\n private i18n: DelonLocaleService,\n private appRef: ApplicationRef,\n // TODO: Tracking https://github.com/angular/angular/issues/45263\n private resolver: ComponentFactoryResolver,\n private router: Router,\n private injector: Injector,\n @Inject(DOCUMENT) private doc: NzSafeAny,\n private configSrv: AlainConfigService,\n @Optional() private directionality: Directionality\n ) {}\n\n private attach(): void {\n const compRef = (this.compRef = this.resolver.resolveComponentFactory(OnboardingComponent).create(this.injector));\n this.appRef.attachView(compRef.hostView);\n const compNode = (compRef.hostView as EmbeddedViewRef<NzSafeAny>).rootNodes[0];\n const doc = this._getDoc();\n const cdk = doc.querySelector('.cdk-overlay-container') as HTMLElement;\n if (cdk) {\n doc.body.insertBefore(compNode, cdk);\n } else {\n doc.body.appendChild(compNode);\n }\n this.op$ = this.compRef.instance.op.subscribe((type: OnboardingOpType) => {\n switch (type) {\n case 'next':\n this.next();\n break;\n case 'prev':\n this.prev();\n break;\n default:\n this.done();\n break;\n }\n });\n }\n\n private cancelRunning(): this {\n if (this.running$) {\n this.running$.unsubscribe();\n this.running$ = null;\n }\n return this;\n }\n\n private updateRunning(status: boolean): this {\n this._running = status;\n this.compRef!.instance.updateRunning(status);\n return this;\n }\n\n private destroy(): void {\n this.cancelRunning();\n if (this.compRef) {\n this.appRef.detachView(this.compRef.hostView);\n this.compRef.destroy();\n this.op$.unsubscribe();\n }\n }\n\n private showItem(isStart: boolean = false): void {\n const items = this.config.items!;\n const item = {\n position: 'bottomLeft',\n before: of(true),\n after: of(true),\n ...this.i18n.getData('onboarding'),\n ...items[this.active]\n } as OnboardingItem;\n const dir = this.configSrv.get('onboarding')!.direction || this.directionality.value;\n Object.assign(this.compRef.instance, { item, config: this.config, active: this.active, max: items.length, dir });\n const pipes = [\n switchMap(() => (item.url ? this.router.navigateByUrl(item.url) : of(true))),\n switchMap(() => {\n const obs = this.type === 'prev' ? item.after! : item.before!;\n return typeof obs === 'number' ? of(true).pipe(delay(obs)) : obs;\n })\n ];\n if (!isStart) {\n pipes.push(delay(1));\n }\n\n this.updateRunning(true);\n\n this.running$ = of(true)\n .pipe(pipe.apply(this, pipes as NzSafeAny) as NzSafeAny)\n .subscribe({\n next: () => this.cancelRunning().updateRunning(false),\n error: () => this.done()\n });\n }\n\n /**\n * Start a new user guidance\n *\n * 开启新的用户引导流程\n */\n start(config: OnboardingConfig): void {\n if (this.running) {\n return;\n }\n this.destroy();\n this.config = {\n items: [],\n mask: true,\n maskClosable: true,\n showTotal: false,\n ...config\n };\n this.active = 0;\n this.type = null;\n this.attach();\n this.showItem(true);\n }\n\n /**\n * Next\n *\n * 下一步\n */\n next(): void {\n if (this._running || this.active + 1 >= this.config.items!.length) {\n this.done();\n return;\n }\n this.type = 'next';\n ++this.active;\n this.showItem();\n }\n\n /**\n * Prev\n *\n * 上一步\n */\n prev(): void {\n if (this._running || this.active - 1 < 0) {\n return;\n }\n this.type = 'prev';\n --this.active;\n this.showItem();\n }\n\n /**\n * Done\n *\n * 完成\n */\n done(): void {\n this.type = 'done';\n this.destroy();\n }\n\n ngOnDestroy(): void {\n this.destroy();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DelonLocaleModule } from '@delon/theme';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzNoAnimationModule } from 'ng-zorro-antd/core/no-animation';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzPopoverModule } from 'ng-zorro-antd/popover';\n\nimport { OnboardingComponent } from './onboarding.component';\nimport { OnboardingService } from './onboarding.service';\n\nconst COMPONENTS = [OnboardingComponent];\n\n@NgModule({\n imports: [CommonModule, DelonLocaleModule, NzPopoverModule, NzOutletModule, NzButtonModule, NzNoAnimationModule],\n declarations: COMPONENTS,\n providers: [OnboardingService],\n entryComponents: COMPONENTS,\n exports: COMPONENTS\n})\nexport class OnboardingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i3","i4"],"mappings":"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"}
1
+ {"version":3,"file":"onboarding.mjs","sources":["../../../../packages/abc/onboarding/onboarding.component.ts","../../../../packages/abc/onboarding/onboarding.component.html","../../../../packages/abc/onboarding/onboarding.service.ts","../../../../packages/abc/onboarding/onboarding.module.ts","../../../../packages/abc/onboarding/onboarding.ts"],"sourcesContent":["import { Direction } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n OnDestroy,\n Optional,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzPopoverDirective } from 'ng-zorro-antd/popover';\n\nimport { OnboardingConfig, OnboardingItem, OnboardingOpType } from './onboarding.types';\n\ninterface OnboardingLightData {\n el: HTMLElement;\n top: number;\n left: number;\n width: number;\n height: number;\n clientHeight: number;\n clientWidth: number;\n}\n\n@Component({\n selector: 'onboarding',\n templateUrl: './onboarding.component.html',\n host: {\n '[class.onboarding]': `true`,\n '[class.onboarding-rtl]': `dir === 'rtl'`,\n '[attr.data-onboarding-active]': `active`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class OnboardingComponent implements OnDestroy, AfterViewInit {\n private time: NzSafeAny;\n private prevSelectorEl?: HTMLElement;\n config!: OnboardingConfig;\n item!: OnboardingItem;\n active = 0;\n max = 0;\n readonly op = new EventEmitter<OnboardingOpType>();\n running = false;\n dir: Direction = 'ltr';\n @ViewChild('popover', { static: false }) private popover!: NzPopoverDirective;\n\n get first(): boolean {\n return this.active === 0;\n }\n\n get last(): boolean {\n return this.active === this.max - 1;\n }\n\n private _getDoc(): Document {\n return this.doc;\n }\n\n private _getWin(): Window {\n return this._getDoc().defaultView || window;\n }\n\n constructor(\n private el: ElementRef<HTMLElement>,\n @Optional() @Inject(DOCUMENT) private doc: NzSafeAny,\n private platform: Platform,\n private cdr: ChangeDetectorRef\n ) {}\n\n private getLightData(): OnboardingLightData | null {\n const doc = this._getDoc();\n const win = this._getWin();\n const el = doc.querySelector(this.item.selectors) as HTMLElement;\n if (!el) {\n return null;\n }\n\n const scrollTop = win.scrollY || doc.documentElement.scrollTop || doc.body.scrollTop;\n const scrollLeft = win.scrollX || doc.documentElement.scrollLeft || doc.body.scrollLeft;\n const rect = el.getBoundingClientRect();\n const top = rect.top + scrollTop;\n const left = rect.left + scrollLeft;\n const padding = 8;\n const needPadding = top > padding && left > padding;\n const offsetPos = needPadding ? padding : 0;\n const offsetWH = needPadding ? padding * 2 : 0;\n return {\n top: top - offsetPos,\n left: left - offsetPos,\n width: rect.width + offsetWH,\n height: rect.height + offsetWH,\n el,\n clientWidth: doc.body.clientWidth,\n clientHeight: doc.body.clientHeight\n };\n }\n\n ngAfterViewInit(): void {\n // Waiting https://github.com/NG-ZORRO/ng-zorro-antd/issues/6491\n this.popover.component!.onClickOutside = () => {};\n }\n\n private scroll(pos: OnboardingLightData): void {\n this.prevSelectorEl = pos.el;\n const scrollY = pos.top - (pos.clientHeight - pos.height) / 2;\n this._getWin().scrollTo({ top: scrollY });\n this.updatePrevElStatus(true);\n }\n\n updateRunning(status: boolean): void {\n this.running = status;\n this.cdr.detectChanges();\n if (!status) {\n this.updatePosition();\n }\n }\n\n private updatePosition(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n\n const pos = this.getLightData();\n if (pos == null) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n console.warn(`Did not matches selectors [${this.item.selectors}]`);\n }\n return;\n }\n\n const lightStyle = (this.el.nativeElement.querySelector('.onboarding__light') as HTMLElement).style;\n lightStyle.top = `${pos.top}px`;\n lightStyle.left = `${pos.left}px`;\n lightStyle.width = `${pos.width}px`;\n lightStyle.height = `${pos.height}px`;\n\n this.updatePrevElStatus(false);\n this.scroll(pos);\n }\n\n private updatePrevElStatus(status: boolean): void {\n if (this.prevSelectorEl) {\n this.prevSelectorEl.classList[status ? 'add' : 'remove']('onboarding__light-el');\n }\n }\n\n to(type: OnboardingOpType): void {\n this.op.emit(type);\n }\n\n handleMask(): void {\n if (this.config.maskClosable === true) {\n this.popover.component!.hide();\n this.to('done');\n }\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.time);\n this.updatePrevElStatus(false);\n }\n}\n","<div *ngIf=\"!running && config.mask\" class=\"onboarding__mask\" (click)=\"handleMask()\"></div>\n<div\n *ngIf=\"item\"\n class=\"onboarding__light\"\n [class.onboarding__light-hide]=\"running\"\n [attr.style]=\"item.lightStyle\"\n nz-popover\n #popover=\"nzPopover\"\n [nzPopoverTitle]=\"item.title\"\n [nzPopoverContent]=\"content\"\n [nzPopoverVisible]=\"!running\"\n [nzPopoverTrigger]=\"null\"\n [nzPopoverPlacement]=\"item.position\"\n [nzPopoverOverlayClassName]=\"item.className\"\n [nzPopoverOverlayStyle]=\"{ 'max-width.px': item.width, direction: dir }\"\n [nzNoAnimation]=\"true\"\n></div>\n<ng-template #content>\n <ng-container *nzStringTemplateOutlet=\"item.content\">\n <div [innerHTML]=\"item.content\"></div>\n </ng-container>\n <div class=\"flex-center-between onboarding__footer\">\n <span class=\"onboarding__total\">\n <ng-container *ngIf=\"config.showTotal\">{{ active + 1 }}/{{ max }}</ng-container>\n </span>\n <div class=\"onboarding__btns\">\n <a\n *ngIf=\"!last && item.skip !== null && item.skip !== undefined\"\n nz-button\n nzType=\"link\"\n (click)=\"to('skip')\"\n nzSize=\"small\"\n data-btnType=\"skip\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.skip\">{{ item.skip }}</ng-container>\n </a>\n <a *ngIf=\"!first && item.prev !== null\" nz-button (click)=\"to('prev')\" nzSize=\"small\" data-btnType=\"prev\">\n <ng-container *nzStringTemplateOutlet=\"item.prev\">{{ item.prev }}</ng-container>\n </a>\n <a\n *ngIf=\"!last && item.next !== null && item.next !== undefined\"\n nz-button\n (click)=\"to('next')\"\n nzType=\"primary\"\n nzSize=\"small\"\n data-btnType=\"next\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.next\">{{ item.next }}</ng-container>\n </a>\n <a\n *ngIf=\"last && item.done !== null && item.done !== undefined\"\n nz-button\n (click)=\"to('done')\"\n nzType=\"primary\"\n nzSize=\"small\"\n data-btnType=\"done\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.done\">{{ item.done }}</ng-container>\n </a>\n </div>\n </div>\n</ng-template>\n","import { Directionality } from '@angular/cdk/bidi';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n Inject,\n Injectable,\n Injector,\n OnDestroy,\n Optional\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { of, pipe, Subscription, delay, switchMap } from 'rxjs';\n\nimport { DelonLocaleService } from '@delon/theme';\nimport { AlainConfigService } from '@delon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { OnboardingComponent } from './onboarding.component';\nimport { OnboardingConfig, OnboardingItem, OnboardingOpType } from './onboarding.types';\n\n@Injectable()\nexport class OnboardingService implements OnDestroy {\n private compRef!: ComponentRef<OnboardingComponent>;\n private op$!: Subscription;\n private config!: OnboardingConfig;\n private active = 0;\n private running$: Subscription | null = null;\n private _running = false;\n private type: OnboardingOpType | null = null;\n\n private _getDoc(): Document {\n return this.doc;\n }\n\n /**\n * Get whether it is booting\n *\n * 获取是否正在引导中\n */\n get running(): boolean {\n return this._running;\n }\n\n constructor(\n private i18n: DelonLocaleService,\n private appRef: ApplicationRef,\n // TODO: Tracking https://github.com/angular/angular/issues/45263\n private resolver: ComponentFactoryResolver,\n private router: Router,\n private injector: Injector,\n @Inject(DOCUMENT) private doc: NzSafeAny,\n private configSrv: AlainConfigService,\n @Optional() private directionality: Directionality\n ) {}\n\n private attach(): void {\n const compRef = (this.compRef = this.resolver.resolveComponentFactory(OnboardingComponent).create(this.injector));\n this.appRef.attachView(compRef.hostView);\n const compNode = (compRef.hostView as EmbeddedViewRef<NzSafeAny>).rootNodes[0];\n const doc = this._getDoc();\n const cdk = doc.querySelector('.cdk-overlay-container') as HTMLElement;\n if (cdk) {\n doc.body.insertBefore(compNode, cdk);\n } else {\n doc.body.appendChild(compNode);\n }\n this.op$ = this.compRef.instance.op.subscribe((type: OnboardingOpType) => {\n switch (type) {\n case 'next':\n this.next();\n break;\n case 'prev':\n this.prev();\n break;\n default:\n this.done();\n break;\n }\n });\n }\n\n private cancelRunning(): this {\n if (this.running$) {\n this.running$.unsubscribe();\n this.running$ = null;\n }\n return this;\n }\n\n private updateRunning(status: boolean): this {\n this._running = status;\n this.compRef!.instance.updateRunning(status);\n return this;\n }\n\n private destroy(): void {\n this.cancelRunning();\n if (this.compRef) {\n this.appRef.detachView(this.compRef.hostView);\n this.compRef.destroy();\n this.op$.unsubscribe();\n }\n }\n\n private showItem(isStart: boolean = false): void {\n const items = this.config.items!;\n const item = {\n position: 'bottomLeft',\n before: of(true),\n after: of(true),\n ...this.i18n.getData('onboarding'),\n ...items[this.active]\n } as OnboardingItem;\n const dir = this.configSrv.get('onboarding')!.direction || this.directionality.value;\n Object.assign(this.compRef.instance, { item, config: this.config, active: this.active, max: items.length, dir });\n const pipes = [\n switchMap(() => (item.url ? this.router.navigateByUrl(item.url) : of(true))),\n switchMap(() => {\n const obs = this.type === 'prev' ? item.after! : item.before!;\n return typeof obs === 'number' ? of(true).pipe(delay(obs)) : obs;\n })\n ];\n if (!isStart) {\n pipes.push(delay(1));\n }\n\n this.updateRunning(true);\n\n this.running$ = of(true)\n .pipe(pipe.apply(this, pipes as NzSafeAny) as NzSafeAny)\n .subscribe({\n next: () => this.cancelRunning().updateRunning(false),\n error: () => this.done()\n });\n }\n\n /**\n * Start a new user guidance\n *\n * 开启新的用户引导流程\n */\n start(config: OnboardingConfig): void {\n if (this.running) {\n return;\n }\n this.destroy();\n this.config = {\n items: [],\n mask: true,\n maskClosable: true,\n showTotal: false,\n ...config\n };\n this.active = 0;\n this.type = null;\n this.attach();\n this.showItem(true);\n }\n\n /**\n * Next\n *\n * 下一步\n */\n next(): void {\n if (this._running || this.active + 1 >= this.config.items!.length) {\n this.done();\n return;\n }\n this.type = 'next';\n ++this.active;\n this.showItem();\n }\n\n /**\n * Prev\n *\n * 上一步\n */\n prev(): void {\n if (this._running || this.active - 1 < 0) {\n return;\n }\n this.type = 'prev';\n --this.active;\n this.showItem();\n }\n\n /**\n * Done\n *\n * 完成\n */\n done(): void {\n this.type = 'done';\n this.destroy();\n }\n\n ngOnDestroy(): void {\n this.destroy();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DelonLocaleModule } from '@delon/theme';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzNoAnimationModule } from 'ng-zorro-antd/core/no-animation';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzPopoverModule } from 'ng-zorro-antd/popover';\n\nimport { OnboardingComponent } from './onboarding.component';\nimport { OnboardingService } from './onboarding.service';\n\nconst COMPONENTS = [OnboardingComponent];\n\n@NgModule({\n imports: [CommonModule, DelonLocaleModule, NzPopoverModule, NzOutletModule, NzButtonModule, NzNoAnimationModule],\n declarations: COMPONENTS,\n providers: [OnboardingService],\n entryComponents: COMPONENTS,\n exports: COMPONENTS\n})\nexport class OnboardingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i3","i4"],"mappings":"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"}
@@ -25,6 +25,20 @@ import * as i10 from 'ng-zorro-antd/breadcrumb';
25
25
  import { NzBreadCrumbModule } from 'ng-zorro-antd/breadcrumb';
26
26
 
27
27
  class PageHeaderComponent {
28
+ get menus() {
29
+ return this.menuSrv.getPathByUrl(this.router.url, this.recursiveBreadcrumb);
30
+ }
31
+ set title(value) {
32
+ if (value instanceof TemplateRef) {
33
+ this._title = null;
34
+ this._titleTpl = value;
35
+ this._titleVal = '';
36
+ }
37
+ else {
38
+ this._title = value;
39
+ this._titleVal = this._title;
40
+ }
41
+ }
28
42
  // #endregion
29
43
  constructor(settings, renderer, router, menuSrv, i18nSrv, titleSrv, reuseSrv, cdr, configSrv, platform, directionality) {
30
44
  this.renderer = renderer;
@@ -70,20 +84,6 @@ class PageHeaderComponent {
70
84
  .pipe(filter(() => this.inited), takeUntil(this.destroy$))
71
85
  .subscribe(() => this.refresh());
72
86
  }
73
- get menus() {
74
- return this.menuSrv.getPathByUrl(this.router.url, this.recursiveBreadcrumb);
75
- }
76
- set title(value) {
77
- if (value instanceof TemplateRef) {
78
- this._title = null;
79
- this._titleTpl = value;
80
- this._titleVal = '';
81
- }
82
- else {
83
- this._title = value;
84
- this._titleVal = this._title;
85
- }
86
- }
87
87
  refresh() {
88
88
  this.setTitle().genBreadcrumb();
89
89
  this.cdr.detectChanges();
@@ -160,8 +160,8 @@ class PageHeaderComponent {
160
160
  this.destroy$.complete();
161
161
  }
162
162
  }
163
- PageHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PageHeaderComponent, deps: [{ token: i1.SettingsService }, { token: i0.Renderer2 }, { token: i2.Router }, { token: i1.MenuService }, { token: ALAIN_I18N_TOKEN, optional: true }, { token: TitleService, optional: true }, { token: ReuseTabService, optional: true }, { token: i0.ChangeDetectorRef }, { token: i3.AlainConfigService }, { token: i4.Platform }, { token: i5.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Component });
164
- PageHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: PageHeaderComponent, selector: "page-header", inputs: { title: "title", loading: "loading", wide: "wide", home: "home", homeLink: "homeLink", homeI18n: "homeI18n", autoBreadcrumb: "autoBreadcrumb", autoTitle: "autoTitle", syncTitle: "syncTitle", fixed: "fixed", fixedOffsetTop: "fixedOffsetTop", breadcrumb: "breadcrumb", recursiveBreadcrumb: "recursiveBreadcrumb", 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: "<nz-affix #affix *ngIf=\"isBrowser && fixed; else phTpl\" [nzOffsetTop]=\"fixedOffsetTop\">\n <ng-template [ngTemplateOutlet]=\"phTpl\"></ng-template>\n</nz-affix>\n<ng-template #phTpl>\n <div class=\"page-header\" [class.page-header-rtl]=\"dir === 'rtl'\">\n <div [ngClass]=\"{ '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 <ng-container *ngIf=\"!breadcrumb; else breadcrumb!\">\n <nz-breadcrumb *ngIf=\"paths && paths.length > 0\">\n <nz-breadcrumb-item *ngFor=\"let i of paths\">\n <ng-container *ngIf=\"i.link\">\n <a [routerLink]=\"i.link\">{{ i.title }}</a>\n </ng-container>\n <ng-container *ngIf=\"!i.link\">{{ i.title }}</ng-container>\n </nz-breadcrumb-item>\n </nz-breadcrumb>\n </ng-container>\n <div class=\"page-header__detail\">\n <div *ngIf=\"logo\" class=\"page-header__logo\">\n <ng-template [ngTemplateOutlet]=\"logo\"></ng-template>\n </div>\n <div class=\"page-header__main\">\n <div class=\"page-header__row\">\n <h1 *ngIf=\"_titleVal || _titleTpl\" class=\"page-header__title\">\n <ng-container *ngIf=\"_titleVal; else _titleTpl\">{{ _titleVal }}</ng-container>\n </h1>\n <div *ngIf=\"action\" class=\"page-header__action\">\n <ng-template [ngTemplateOutlet]=\"action\"></ng-template>\n </div>\n </div>\n <div class=\"page-header__row\">\n <div class=\"page-header__desc\" (cdkObserveContent)=\"checkContent()\" #conTpl>\n <ng-content></ng-content>\n <ng-template [ngTemplateOutlet]=\"content!\"></ng-template>\n </div>\n <div *ngIf=\"extra\" class=\"page-header__extra\">\n <ng-template [ngTemplateOutlet]=\"extra\"></ng-template>\n </div>\n </div>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"tab!\"></ng-template>\n </nz-skeleton>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i7.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "component", type: i8.NzAffixComponent, selector: "nz-affix", inputs: ["nzTarget", "nzOffsetTop", "nzOffsetBottom"], outputs: ["nzChange"], exportAs: ["nzAffix"] }, { kind: "component", type: i9.NzSkeletonComponent, selector: "nz-skeleton", inputs: ["nzActive", "nzLoading", "nzRound", "nzTitle", "nzAvatar", "nzParagraph"], exportAs: ["nzSkeleton"] }, { kind: "component", type: i10.NzBreadCrumbComponent, selector: "nz-breadcrumb", inputs: ["nzAutoGenerate", "nzSeparator", "nzRouteLabel", "nzRouteLabelFn"], exportAs: ["nzBreadcrumb"] }, { kind: "component", type: i10.NzBreadCrumbItemComponent, selector: "nz-breadcrumb-item", inputs: ["nzOverlay"], exportAs: ["nzBreadcrumbItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
163
+ PageHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PageHeaderComponent, deps: [{ token: i1.SettingsService }, { token: i0.Renderer2 }, { token: i2.Router }, { token: i1.MenuService }, { token: ALAIN_I18N_TOKEN, optional: true }, { token: TitleService, optional: true }, { token: ReuseTabService, optional: true }, { token: i0.ChangeDetectorRef }, { token: i3.AlainConfigService }, { token: i4.Platform }, { token: i5.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Component });
164
+ PageHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: PageHeaderComponent, selector: "page-header", inputs: { title: "title", loading: "loading", wide: "wide", home: "home", homeLink: "homeLink", homeI18n: "homeI18n", autoBreadcrumb: "autoBreadcrumb", autoTitle: "autoTitle", syncTitle: "syncTitle", fixed: "fixed", fixedOffsetTop: "fixedOffsetTop", breadcrumb: "breadcrumb", recursiveBreadcrumb: "recursiveBreadcrumb", 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: "<nz-affix #affix *ngIf=\"isBrowser && fixed; else phTpl\" [nzOffsetTop]=\"fixedOffsetTop\">\n <ng-template [ngTemplateOutlet]=\"phTpl\"></ng-template>\n</nz-affix>\n<ng-template #phTpl>\n <div class=\"page-header\" [class.page-header-rtl]=\"dir === 'rtl'\">\n <div [ngClass]=\"{ '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 <ng-container *ngIf=\"!breadcrumb; else breadcrumb!\">\n <nz-breadcrumb *ngIf=\"paths && paths.length > 0\">\n <nz-breadcrumb-item *ngFor=\"let i of paths\">\n <ng-container *ngIf=\"i.link\">\n <a [routerLink]=\"i.link\">{{ i.title }}</a>\n </ng-container>\n <ng-container *ngIf=\"!i.link\">{{ i.title }}</ng-container>\n </nz-breadcrumb-item>\n </nz-breadcrumb>\n </ng-container>\n <div class=\"page-header__detail\">\n <div *ngIf=\"logo\" class=\"page-header__logo\">\n <ng-template [ngTemplateOutlet]=\"logo\"></ng-template>\n </div>\n <div class=\"page-header__main\">\n <div class=\"page-header__row\">\n <h1 *ngIf=\"_titleVal || _titleTpl\" class=\"page-header__title\">\n <ng-container *ngIf=\"_titleVal; else _titleTpl\">{{ _titleVal }}</ng-container>\n </h1>\n <div *ngIf=\"action\" class=\"page-header__action\">\n <ng-template [ngTemplateOutlet]=\"action\"></ng-template>\n </div>\n </div>\n <div class=\"page-header__row\">\n <div class=\"page-header__desc\" (cdkObserveContent)=\"checkContent()\" #conTpl>\n <ng-content></ng-content>\n <ng-template [ngTemplateOutlet]=\"content!\"></ng-template>\n </div>\n <div *ngIf=\"extra\" class=\"page-header__extra\">\n <ng-template [ngTemplateOutlet]=\"extra\"></ng-template>\n </div>\n </div>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"tab!\"></ng-template>\n </nz-skeleton>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i7.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "component", type: i8.NzAffixComponent, selector: "nz-affix", inputs: ["nzTarget", "nzOffsetTop", "nzOffsetBottom"], outputs: ["nzChange"], exportAs: ["nzAffix"] }, { kind: "component", type: i9.NzSkeletonComponent, selector: "nz-skeleton", inputs: ["nzActive", "nzLoading", "nzRound", "nzTitle", "nzAvatar", "nzParagraph"], exportAs: ["nzSkeleton"] }, { kind: "component", type: i10.NzBreadCrumbComponent, selector: "nz-breadcrumb", inputs: ["nzAutoGenerate", "nzSeparator", "nzRouteLabel", "nzRouteLabelFn"], exportAs: ["nzBreadcrumb"] }, { kind: "component", type: i10.NzBreadCrumbItemComponent, selector: "nz-breadcrumb-item", inputs: ["nzOverlay"], exportAs: ["nzBreadcrumbItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
165
165
  __decorate([
166
166
  InputBoolean()
167
167
  ], PageHeaderComponent.prototype, "loading", void 0);
@@ -186,7 +186,7 @@ __decorate([
186
186
  __decorate([
187
187
  InputBoolean()
188
188
  ], PageHeaderComponent.prototype, "recursiveBreadcrumb", void 0);
189
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PageHeaderComponent, decorators: [{
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PageHeaderComponent, decorators: [{
190
190
  type: Component,
191
191
  args: [{ selector: 'page-header', exportAs: 'pageHeader', preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<nz-affix #affix *ngIf=\"isBrowser && fixed; else phTpl\" [nzOffsetTop]=\"fixedOffsetTop\">\n <ng-template [ngTemplateOutlet]=\"phTpl\"></ng-template>\n</nz-affix>\n<ng-template #phTpl>\n <div class=\"page-header\" [class.page-header-rtl]=\"dir === 'rtl'\">\n <div [ngClass]=\"{ '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 <ng-container *ngIf=\"!breadcrumb; else breadcrumb!\">\n <nz-breadcrumb *ngIf=\"paths && paths.length > 0\">\n <nz-breadcrumb-item *ngFor=\"let i of paths\">\n <ng-container *ngIf=\"i.link\">\n <a [routerLink]=\"i.link\">{{ i.title }}</a>\n </ng-container>\n <ng-container *ngIf=\"!i.link\">{{ i.title }}</ng-container>\n </nz-breadcrumb-item>\n </nz-breadcrumb>\n </ng-container>\n <div class=\"page-header__detail\">\n <div *ngIf=\"logo\" class=\"page-header__logo\">\n <ng-template [ngTemplateOutlet]=\"logo\"></ng-template>\n </div>\n <div class=\"page-header__main\">\n <div class=\"page-header__row\">\n <h1 *ngIf=\"_titleVal || _titleTpl\" class=\"page-header__title\">\n <ng-container *ngIf=\"_titleVal; else _titleTpl\">{{ _titleVal }}</ng-container>\n </h1>\n <div *ngIf=\"action\" class=\"page-header__action\">\n <ng-template [ngTemplateOutlet]=\"action\"></ng-template>\n </div>\n </div>\n <div class=\"page-header__row\">\n <div class=\"page-header__desc\" (cdkObserveContent)=\"checkContent()\" #conTpl>\n <ng-content></ng-content>\n <ng-template [ngTemplateOutlet]=\"content!\"></ng-template>\n </div>\n <div *ngIf=\"extra\" class=\"page-header__extra\">\n <ng-template [ngTemplateOutlet]=\"extra\"></ng-template>\n </div>\n </div>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"tab!\"></ng-template>\n </nz-skeleton>\n </div>\n </div>\n</ng-template>\n" }]
192
192
  }], ctorParameters: function () { return [{ type: i1.SettingsService }, { type: i0.Renderer2 }, { type: i2.Router }, { type: i1.MenuService }, { type: undefined, decorators: [{
@@ -253,10 +253,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
253
253
  const COMPONENTS = [PageHeaderComponent];
254
254
  class PageHeaderModule {
255
255
  }
256
- PageHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PageHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
257
- PageHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: PageHeaderModule, declarations: [PageHeaderComponent], imports: [CommonModule, RouterModule, ObserversModule, NzAffixModule, NzSkeletonModule, NzBreadCrumbModule], exports: [PageHeaderComponent] });
258
- PageHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PageHeaderModule, imports: [CommonModule, RouterModule, ObserversModule, NzAffixModule, NzSkeletonModule, NzBreadCrumbModule] });
259
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PageHeaderModule, decorators: [{
256
+ PageHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PageHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
257
+ PageHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: PageHeaderModule, declarations: [PageHeaderComponent], imports: [CommonModule, RouterModule, ObserversModule, NzAffixModule, NzSkeletonModule, NzBreadCrumbModule], exports: [PageHeaderComponent] });
258
+ PageHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PageHeaderModule, imports: [CommonModule, RouterModule, ObserversModule, NzAffixModule, NzSkeletonModule, NzBreadCrumbModule] });
259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PageHeaderModule, decorators: [{
260
260
  type: NgModule,
261
261
  args: [{
262
262
  imports: [CommonModule, RouterModule, ObserversModule, NzAffixModule, NzSkeletonModule, NzBreadCrumbModule],
@@ -1 +1 @@
1
- {"version":3,"file":"page-header.mjs","sources":["../../../../packages/abc/page-header/page-header.component.ts","../../../../packages/abc/page-header/page-header.component.html","../../../../packages/abc/page-header/page-header.module.ts","../../../../packages/abc/page-header/page-header.ts"],"sourcesContent":["import { Direction, Directionality } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { merge, Subject, filter, takeUntil } from 'rxjs';\n\nimport { ReuseTabService } from '@delon/abc/reuse-tab';\nimport { AlainI18NService, ALAIN_I18N_TOKEN, Menu, MenuService, SettingsService, TitleService } from '@delon/theme';\nimport { isEmpty } from '@delon/util/browser';\nimport { AlainConfigService } from '@delon/util/config';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport { NzAffixComponent } from 'ng-zorro-antd/affix';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\ninterface PageHeaderPath {\n title?: string;\n link?: string[];\n}\n\n@Component({\n selector: 'page-header',\n exportAs: 'pageHeader',\n templateUrl: './page-header.component.html',\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class PageHeaderComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n static ngAcceptInputType_loading: BooleanInput;\n static ngAcceptInputType_wide: BooleanInput;\n static ngAcceptInputType_autoBreadcrumb: BooleanInput;\n static ngAcceptInputType_autoTitle: BooleanInput;\n static ngAcceptInputType_syncTitle: BooleanInput;\n static ngAcceptInputType_fixed: BooleanInput;\n static ngAcceptInputType_fixedOffsetTop: NumberInput;\n static ngAcceptInputType_recursiveBreadcrumb: BooleanInput;\n\n private destroy$ = new Subject<void>();\n @ViewChild('conTpl', { static: false }) private conTpl!: ElementRef;\n @ViewChild('affix', { static: false }) private affix!: NzAffixComponent;\n inited = false;\n isBrowser = true;\n dir: Direction = 'ltr';\n\n private get menus(): Menu[] {\n return this.menuSrv.getPathByUrl(this.router.url, this.recursiveBreadcrumb);\n }\n\n _titleVal: string | null = '';\n paths: PageHeaderPath[] = [];\n\n // #region fields\n\n _title: string | null = null;\n _titleTpl: TemplateRef<NzSafeAny> | null = null;\n @Input()\n set title(value: string | TemplateRef<void> | null) {\n if (value instanceof TemplateRef) {\n this._title = null;\n this._titleTpl = value;\n this._titleVal = '';\n } else {\n this._title = value;\n this._titleVal = this._title;\n }\n }\n\n @Input() @InputBoolean() loading = false;\n @Input() @InputBoolean() wide = false;\n @Input() home?: string;\n @Input() homeLink?: string;\n @Input() homeI18n?: string;\n @Input() @InputBoolean() autoBreadcrumb!: boolean;\n @Input() @InputBoolean() autoTitle!: boolean;\n @Input() @InputBoolean() syncTitle!: boolean;\n @Input() @InputBoolean() fixed!: boolean;\n @Input() @InputNumber() fixedOffsetTop!: number;\n @Input() breadcrumb?: TemplateRef<NzSafeAny> | null = null;\n @Input() @InputBoolean() recursiveBreadcrumb!: boolean;\n @Input() logo?: TemplateRef<void> | null = null;\n @Input() action?: TemplateRef<void> | null = null;\n @Input() content?: TemplateRef<void> | null = null;\n @Input() extra?: TemplateRef<void> | null = null;\n @Input() tab?: TemplateRef<void> | null = null;\n\n // #endregion\n\n constructor(\n settings: SettingsService,\n private renderer: Renderer2,\n private router: Router,\n private menuSrv: MenuService,\n @Optional() @Inject(ALAIN_I18N_TOKEN) private i18nSrv: AlainI18NService,\n @Optional() @Inject(TitleService) private titleSrv: TitleService,\n @Optional() @Inject(ReuseTabService) private reuseSrv: ReuseTabService,\n private cdr: ChangeDetectorRef,\n configSrv: AlainConfigService,\n platform: Platform,\n @Optional() private directionality: Directionality\n ) {\n this.isBrowser = platform.isBrowser;\n configSrv.attach(this, 'pageHeader', {\n home: '首页',\n homeLink: '/',\n autoBreadcrumb: true,\n recursiveBreadcrumb: false,\n autoTitle: true,\n syncTitle: true,\n fixed: false,\n fixedOffsetTop: 64\n });\n settings.notify\n .pipe(\n takeUntil(this.destroy$),\n filter(w => this.affix && w.type === 'layout' && w.name === 'collapsed')\n )\n .subscribe(() => this.affix.updatePosition({} as NzSafeAny));\n\n merge(menuSrv.change, router.events.pipe(filter(ev => ev instanceof NavigationEnd)), i18nSrv.change)\n .pipe(\n filter(() => this.inited),\n takeUntil(this.destroy$)\n )\n .subscribe(() => this.refresh());\n }\n\n refresh(): void {\n this.setTitle().genBreadcrumb();\n this.cdr.detectChanges();\n }\n\n private genBreadcrumb(): void {\n if (this.breadcrumb || !this.autoBreadcrumb || this.menus.length <= 0) {\n this.paths = [];\n return;\n }\n const paths: PageHeaderPath[] = [];\n this.menus.forEach(item => {\n if (typeof item.hideInBreadcrumb !== 'undefined' && item.hideInBreadcrumb) return;\n let title = item.text;\n if (item.i18n && this.i18nSrv) title = this.i18nSrv.fanyi(item.i18n);\n paths.push({ title, link: (item.link && [item.link]) as string[] });\n });\n // add home\n if (this.home) {\n paths.splice(0, 0, {\n title: (this.homeI18n && this.i18nSrv && this.i18nSrv.fanyi(this.homeI18n)) || this.home,\n link: [this.homeLink!]\n });\n }\n this.paths = paths;\n }\n\n private setTitle(): this {\n if (this._title == null && this._titleTpl == null && this.autoTitle && this.menus.length > 0) {\n const item = this.menus[this.menus.length - 1];\n let title = item.text;\n if (item.i18n && this.i18nSrv) {\n title = this.i18nSrv.fanyi(item.i18n);\n }\n this._titleVal = title!;\n }\n\n if (this._titleVal && this.syncTitle) {\n if (this.titleSrv) {\n this.titleSrv.setTitle(this._titleVal);\n }\n if (!this.inited && this.reuseSrv) {\n this.reuseSrv.title = this._titleVal;\n }\n }\n\n return this;\n }\n\n checkContent(): void {\n if (isEmpty(this.conTpl.nativeElement)) {\n this.renderer.setAttribute(this.conTpl.nativeElement, 'hidden', '');\n } else {\n this.renderer.removeAttribute(this.conTpl.nativeElement, 'hidden');\n }\n }\n\n ngOnInit(): void {\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n this.refresh();\n this.inited = true;\n }\n\n ngAfterViewInit(): void {\n this.checkContent();\n }\n\n ngOnChanges(): void {\n if (this.inited) {\n this.refresh();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","<nz-affix #affix *ngIf=\"isBrowser && fixed; else phTpl\" [nzOffsetTop]=\"fixedOffsetTop\">\n <ng-template [ngTemplateOutlet]=\"phTpl\"></ng-template>\n</nz-affix>\n<ng-template #phTpl>\n <div class=\"page-header\" [class.page-header-rtl]=\"dir === 'rtl'\">\n <div [ngClass]=\"{ '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 <ng-container *ngIf=\"!breadcrumb; else breadcrumb!\">\n <nz-breadcrumb *ngIf=\"paths && paths.length > 0\">\n <nz-breadcrumb-item *ngFor=\"let i of paths\">\n <ng-container *ngIf=\"i.link\">\n <a [routerLink]=\"i.link\">{{ i.title }}</a>\n </ng-container>\n <ng-container *ngIf=\"!i.link\">{{ i.title }}</ng-container>\n </nz-breadcrumb-item>\n </nz-breadcrumb>\n </ng-container>\n <div class=\"page-header__detail\">\n <div *ngIf=\"logo\" class=\"page-header__logo\">\n <ng-template [ngTemplateOutlet]=\"logo\"></ng-template>\n </div>\n <div class=\"page-header__main\">\n <div class=\"page-header__row\">\n <h1 *ngIf=\"_titleVal || _titleTpl\" class=\"page-header__title\">\n <ng-container *ngIf=\"_titleVal; else _titleTpl\">{{ _titleVal }}</ng-container>\n </h1>\n <div *ngIf=\"action\" class=\"page-header__action\">\n <ng-template [ngTemplateOutlet]=\"action\"></ng-template>\n </div>\n </div>\n <div class=\"page-header__row\">\n <div class=\"page-header__desc\" (cdkObserveContent)=\"checkContent()\" #conTpl>\n <ng-content></ng-content>\n <ng-template [ngTemplateOutlet]=\"content!\"></ng-template>\n </div>\n <div *ngIf=\"extra\" class=\"page-header__extra\">\n <ng-template [ngTemplateOutlet]=\"extra\"></ng-template>\n </div>\n </div>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"tab!\"></ng-template>\n </nz-skeleton>\n </div>\n </div>\n</ng-template>\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { NzAffixModule } from 'ng-zorro-antd/affix';\nimport { NzBreadCrumbModule } from 'ng-zorro-antd/breadcrumb';\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { PageHeaderComponent } from './page-header.component';\n\nconst COMPONENTS = [PageHeaderComponent];\n\n@NgModule({\n imports: [CommonModule, RouterModule, ObserversModule, NzAffixModule, NzSkeletonModule, NzBreadCrumbModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class PageHeaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-header.mjs","sources":["../../../../packages/abc/page-header/page-header.component.ts","../../../../packages/abc/page-header/page-header.component.html","../../../../packages/abc/page-header/page-header.module.ts","../../../../packages/abc/page-header/page-header.ts"],"sourcesContent":["import { Direction, Directionality } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { merge, Subject, filter, takeUntil } from 'rxjs';\n\nimport { ReuseTabService } from '@delon/abc/reuse-tab';\nimport { AlainI18NService, ALAIN_I18N_TOKEN, Menu, MenuService, SettingsService, TitleService } from '@delon/theme';\nimport { isEmpty } from '@delon/util/browser';\nimport { AlainConfigService } from '@delon/util/config';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport { NzAffixComponent } from 'ng-zorro-antd/affix';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\ninterface PageHeaderPath {\n title?: string;\n link?: string[];\n}\n\n@Component({\n selector: 'page-header',\n exportAs: 'pageHeader',\n templateUrl: './page-header.component.html',\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class PageHeaderComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n static ngAcceptInputType_loading: BooleanInput;\n static ngAcceptInputType_wide: BooleanInput;\n static ngAcceptInputType_autoBreadcrumb: BooleanInput;\n static ngAcceptInputType_autoTitle: BooleanInput;\n static ngAcceptInputType_syncTitle: BooleanInput;\n static ngAcceptInputType_fixed: BooleanInput;\n static ngAcceptInputType_fixedOffsetTop: NumberInput;\n static ngAcceptInputType_recursiveBreadcrumb: BooleanInput;\n\n private destroy$ = new Subject<void>();\n @ViewChild('conTpl', { static: false }) private conTpl!: ElementRef;\n @ViewChild('affix', { static: false }) private affix!: NzAffixComponent;\n inited = false;\n isBrowser = true;\n dir: Direction = 'ltr';\n\n private get menus(): Menu[] {\n return this.menuSrv.getPathByUrl(this.router.url, this.recursiveBreadcrumb);\n }\n\n _titleVal: string | null = '';\n paths: PageHeaderPath[] = [];\n\n // #region fields\n\n _title: string | null = null;\n _titleTpl: TemplateRef<NzSafeAny> | null = null;\n @Input()\n set title(value: string | TemplateRef<void> | null) {\n if (value instanceof TemplateRef) {\n this._title = null;\n this._titleTpl = value;\n this._titleVal = '';\n } else {\n this._title = value;\n this._titleVal = this._title;\n }\n }\n\n @Input() @InputBoolean() loading = false;\n @Input() @InputBoolean() wide = false;\n @Input() home?: string;\n @Input() homeLink?: string;\n @Input() homeI18n?: string;\n @Input() @InputBoolean() autoBreadcrumb!: boolean;\n @Input() @InputBoolean() autoTitle!: boolean;\n @Input() @InputBoolean() syncTitle!: boolean;\n @Input() @InputBoolean() fixed!: boolean;\n @Input() @InputNumber() fixedOffsetTop!: number;\n @Input() breadcrumb?: TemplateRef<NzSafeAny> | null = null;\n @Input() @InputBoolean() recursiveBreadcrumb!: boolean;\n @Input() logo?: TemplateRef<void> | null = null;\n @Input() action?: TemplateRef<void> | null = null;\n @Input() content?: TemplateRef<void> | null = null;\n @Input() extra?: TemplateRef<void> | null = null;\n @Input() tab?: TemplateRef<void> | null = null;\n\n // #endregion\n\n constructor(\n settings: SettingsService,\n private renderer: Renderer2,\n private router: Router,\n private menuSrv: MenuService,\n @Optional() @Inject(ALAIN_I18N_TOKEN) private i18nSrv: AlainI18NService,\n @Optional() @Inject(TitleService) private titleSrv: TitleService,\n @Optional() @Inject(ReuseTabService) private reuseSrv: ReuseTabService,\n private cdr: ChangeDetectorRef,\n configSrv: AlainConfigService,\n platform: Platform,\n @Optional() private directionality: Directionality\n ) {\n this.isBrowser = platform.isBrowser;\n configSrv.attach(this, 'pageHeader', {\n home: '首页',\n homeLink: '/',\n autoBreadcrumb: true,\n recursiveBreadcrumb: false,\n autoTitle: true,\n syncTitle: true,\n fixed: false,\n fixedOffsetTop: 64\n });\n settings.notify\n .pipe(\n takeUntil(this.destroy$),\n filter(w => this.affix && w.type === 'layout' && w.name === 'collapsed')\n )\n .subscribe(() => this.affix.updatePosition({} as NzSafeAny));\n\n merge(menuSrv.change, router.events.pipe(filter(ev => ev instanceof NavigationEnd)), i18nSrv.change)\n .pipe(\n filter(() => this.inited),\n takeUntil(this.destroy$)\n )\n .subscribe(() => this.refresh());\n }\n\n refresh(): void {\n this.setTitle().genBreadcrumb();\n this.cdr.detectChanges();\n }\n\n private genBreadcrumb(): void {\n if (this.breadcrumb || !this.autoBreadcrumb || this.menus.length <= 0) {\n this.paths = [];\n return;\n }\n const paths: PageHeaderPath[] = [];\n this.menus.forEach(item => {\n if (typeof item.hideInBreadcrumb !== 'undefined' && item.hideInBreadcrumb) return;\n let title = item.text;\n if (item.i18n && this.i18nSrv) title = this.i18nSrv.fanyi(item.i18n);\n paths.push({ title, link: (item.link && [item.link]) as string[] });\n });\n // add home\n if (this.home) {\n paths.splice(0, 0, {\n title: (this.homeI18n && this.i18nSrv && this.i18nSrv.fanyi(this.homeI18n)) || this.home,\n link: [this.homeLink!]\n });\n }\n this.paths = paths;\n }\n\n private setTitle(): this {\n if (this._title == null && this._titleTpl == null && this.autoTitle && this.menus.length > 0) {\n const item = this.menus[this.menus.length - 1];\n let title = item.text;\n if (item.i18n && this.i18nSrv) {\n title = this.i18nSrv.fanyi(item.i18n);\n }\n this._titleVal = title!;\n }\n\n if (this._titleVal && this.syncTitle) {\n if (this.titleSrv) {\n this.titleSrv.setTitle(this._titleVal);\n }\n if (!this.inited && this.reuseSrv) {\n this.reuseSrv.title = this._titleVal;\n }\n }\n\n return this;\n }\n\n checkContent(): void {\n if (isEmpty(this.conTpl.nativeElement)) {\n this.renderer.setAttribute(this.conTpl.nativeElement, 'hidden', '');\n } else {\n this.renderer.removeAttribute(this.conTpl.nativeElement, 'hidden');\n }\n }\n\n ngOnInit(): void {\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n this.refresh();\n this.inited = true;\n }\n\n ngAfterViewInit(): void {\n this.checkContent();\n }\n\n ngOnChanges(): void {\n if (this.inited) {\n this.refresh();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","<nz-affix #affix *ngIf=\"isBrowser && fixed; else phTpl\" [nzOffsetTop]=\"fixedOffsetTop\">\n <ng-template [ngTemplateOutlet]=\"phTpl\"></ng-template>\n</nz-affix>\n<ng-template #phTpl>\n <div class=\"page-header\" [class.page-header-rtl]=\"dir === 'rtl'\">\n <div [ngClass]=\"{ '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 <ng-container *ngIf=\"!breadcrumb; else breadcrumb!\">\n <nz-breadcrumb *ngIf=\"paths && paths.length > 0\">\n <nz-breadcrumb-item *ngFor=\"let i of paths\">\n <ng-container *ngIf=\"i.link\">\n <a [routerLink]=\"i.link\">{{ i.title }}</a>\n </ng-container>\n <ng-container *ngIf=\"!i.link\">{{ i.title }}</ng-container>\n </nz-breadcrumb-item>\n </nz-breadcrumb>\n </ng-container>\n <div class=\"page-header__detail\">\n <div *ngIf=\"logo\" class=\"page-header__logo\">\n <ng-template [ngTemplateOutlet]=\"logo\"></ng-template>\n </div>\n <div class=\"page-header__main\">\n <div class=\"page-header__row\">\n <h1 *ngIf=\"_titleVal || _titleTpl\" class=\"page-header__title\">\n <ng-container *ngIf=\"_titleVal; else _titleTpl\">{{ _titleVal }}</ng-container>\n </h1>\n <div *ngIf=\"action\" class=\"page-header__action\">\n <ng-template [ngTemplateOutlet]=\"action\"></ng-template>\n </div>\n </div>\n <div class=\"page-header__row\">\n <div class=\"page-header__desc\" (cdkObserveContent)=\"checkContent()\" #conTpl>\n <ng-content></ng-content>\n <ng-template [ngTemplateOutlet]=\"content!\"></ng-template>\n </div>\n <div *ngIf=\"extra\" class=\"page-header__extra\">\n <ng-template [ngTemplateOutlet]=\"extra\"></ng-template>\n </div>\n </div>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"tab!\"></ng-template>\n </nz-skeleton>\n </div>\n </div>\n</ng-template>\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { NzAffixModule } from 'ng-zorro-antd/affix';\nimport { NzBreadCrumbModule } from 'ng-zorro-antd/breadcrumb';\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { PageHeaderComponent } from './page-header.component';\n\nconst COMPONENTS = [PageHeaderComponent];\n\n@NgModule({\n imports: [CommonModule, RouterModule, ObserversModule, NzAffixModule, NzSkeletonModule, NzBreadCrumbModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class PageHeaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;MA2Ca,mBAAmB,CAAA;AAiB9B,IAAA,IAAY,KAAK,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;KAC7E;IASD,IACI,KAAK,CAAC,KAAwC,EAAA;QAChD,IAAI,KAAK,YAAY,WAAW,EAAE;AAChC,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACrB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;AAC9B,SAAA;KACF;;IAsBD,WACE,CAAA,QAAyB,EACjB,QAAmB,EACnB,MAAc,EACd,OAAoB,EACkB,OAAyB,EAC7B,QAAsB,EACnB,QAAyB,EAC9D,GAAsB,EAC9B,SAA6B,EAC7B,QAAkB,EACE,cAA8B,EAAA;QAT1C,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACnB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAO,CAAA,OAAA,GAAP,OAAO,CAAa;QACkB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;QAC7B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAc;QACnB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;QAC9D,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QAGV,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AA7D5C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;QAGvC,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;QACf,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;QACjB,IAAG,CAAA,GAAA,GAAc,KAAK,CAAC;QAMvB,IAAS,CAAA,SAAA,GAAkB,EAAE,CAAC;QAC9B,IAAK,CAAA,KAAA,GAAqB,EAAE,CAAC;;QAI7B,IAAM,CAAA,MAAA,GAAkB,IAAI,CAAC;QAC7B,IAAS,CAAA,SAAA,GAAkC,IAAI,CAAC;QAavB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;QAChB,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;QAS7B,IAAU,CAAA,UAAA,GAAmC,IAAI,CAAC;QAElD,IAAI,CAAA,IAAA,GAA8B,IAAI,CAAC;QACvC,IAAM,CAAA,MAAA,GAA8B,IAAI,CAAC;QACzC,IAAO,CAAA,OAAA,GAA8B,IAAI,CAAC;QAC1C,IAAK,CAAA,KAAA,GAA8B,IAAI,CAAC;QACxC,IAAG,CAAA,GAAA,GAA8B,IAAI,CAAC;AAiB7C,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;AACpC,QAAA,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE;AACnC,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,mBAAmB,EAAE,KAAK;AAC1B,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,cAAc,EAAE,EAAE;AACnB,SAAA,CAAC,CAAC;AACH,QAAA,QAAQ,CAAC,MAAM;AACZ,aAAA,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxB,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CACzE;AACA,aAAA,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAe,CAAC,CAAC,CAAC;QAE/D,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC;AACjG,aAAA,IAAI,CACH,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EACzB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACzB;aACA,SAAS,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;KACpC;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,CAAC;AAChC,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAEO,aAAa,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;AACrE,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,OAAO;AACR,SAAA;QACD,MAAM,KAAK,GAAqB,EAAE,CAAC;AACnC,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;YACxB,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,IAAI,IAAI,CAAC,gBAAgB;gBAAE,OAAO;AAClF,YAAA,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;AACtB,YAAA,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO;gBAAE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAa,EAAE,CAAC,CAAC;AACtE,SAAC,CAAC,CAAC;;QAEH,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;gBACjB,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI;AACxF,gBAAA,IAAI,EAAE,CAAC,IAAI,CAAC,QAAS,CAAC;AACvB,aAAA,CAAC,CAAC;AACJ,SAAA;AACD,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACpB;IAEO,QAAQ,GAAA;QACd,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5F,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC/C,YAAA,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;AACtB,YAAA,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC7B,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvC,aAAA;AACD,YAAA,IAAI,CAAC,SAAS,GAAG,KAAM,CAAC;AACzB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE;YACpC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACxC,aAAA;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;AACtC,aAAA;AACF,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACb;IAED,YAAY,GAAA;QACV,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;AACtC,YAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AACrE,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AACpE,SAAA;KACF;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAoB,KAAI;AAC5F,YAAA,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;AACrB,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;AAC3B,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;AACf,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACpB;IAED,eAAe,GAAA;QACb,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,SAAA;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B;;AAnLU,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAiER,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,gBAAgB,EAChB,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,YAAY,6BACZ,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAnE1B,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,uqBC3ChC,4yEAqDA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AD8B2B,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAiB,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAChB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAc,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIb,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAA0B,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACzB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAqB,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACpB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAqB,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACpB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAiB,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACjB,UAAA,CAAA;AAAd,IAAA,WAAW,EAAE;AAAyB,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEvB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAA+B,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,qBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAnD5C,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAR/B,SAAS;+BACE,aAAa,EAAA,QAAA,EACb,YAAY,EAAA,mBAAA,EAED,KAAK,EAAA,eAAA,EACT,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,4yEAAA,EAAA,CAAA;;0BAmElC,QAAQ;;0BAAI,MAAM;2BAAC,gBAAgB,CAAA;;0BACnC,QAAQ;;0BAAI,MAAM;2BAAC,YAAY,CAAA;;0BAC/B,QAAQ;;0BAAI,MAAM;2BAAC,eAAe,CAAA;;0BAIlC,QAAQ;4CA5DqC,MAAM,EAAA,CAAA;sBAArD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBACS,KAAK,EAAA,CAAA;sBAAnD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBAiBjC,KAAK,EAAA,CAAA;sBADR,KAAK;gBAYmB,OAAO,EAAA,CAAA;sBAA/B,KAAK;gBACmB,IAAI,EAAA,CAAA;sBAA5B,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACmB,cAAc,EAAA,CAAA;sBAAtC,KAAK;gBACmB,SAAS,EAAA,CAAA;sBAAjC,KAAK;gBACmB,SAAS,EAAA,CAAA;sBAAjC,KAAK;gBACmB,KAAK,EAAA,CAAA;sBAA7B,KAAK;gBACkB,cAAc,EAAA,CAAA;sBAArC,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACmB,mBAAmB,EAAA,CAAA;sBAA3C,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;;;AExFR,MAAM,UAAU,GAAG,CAAC,mBAAmB,CAAC,CAAC;MAO5B,gBAAgB,CAAA;;6GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,EAPT,YAAA,EAAA,CAAA,mBAAmB,CAG3B,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,aAHxF,mBAAmB,CAAA,EAAA,CAAA,CAAA;8GAO1B,gBAAgB,EAAA,OAAA,EAAA,CAJjB,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,CAAA,EAAA,CAAA,CAAA;2FAI/F,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,CAAC;AAC3G,oBAAA,YAAY,EAAE,UAAU;AACxB,oBAAA,OAAO,EAAE,UAAU;AACpB,iBAAA,CAAA;;;ACjBD;;AAEG;;;;"}
package/fesm2020/pdf.mjs CHANGED
@@ -39,37 +39,6 @@ var PdfExternalLinkTarget;
39
39
  const CSS_UNITS = 96.0 / 72.0;
40
40
  const BORDER_WIDTH = 9;
41
41
  class PdfComponent {
42
- constructor(ngZone, configSrv, lazySrv, platform, _el, doc, cdr) {
43
- this.ngZone = ngZone;
44
- this.lazySrv = lazySrv;
45
- this.platform = platform;
46
- this._el = _el;
47
- this.doc = doc;
48
- this.cdr = cdr;
49
- this.inited = false;
50
- this.destroy$ = new Subject();
51
- this.lib = '';
52
- this._pi = 1;
53
- this._total = 0;
54
- this._showAll = true;
55
- this._rotation = 0;
56
- this._zoom = 1;
57
- this._renderText = true;
58
- this._loading = false;
59
- this.textLayerMode = PdfTextLayerMode.ENABLE;
60
- this.showBorders = false;
61
- this.stickToPage = false;
62
- this.originalSize = true;
63
- this.fitToPage = false;
64
- this.zoomScale = 'page-width';
65
- this.autoReSize = true;
66
- this.externalLinkTarget = PdfExternalLinkTarget.BLANK;
67
- this.change = new EventEmitter();
68
- const cog = configSrv.merge('pdf', PDF_DEFULAT_CONFIG);
69
- Object.assign(this, cog);
70
- const lib = cog.lib;
71
- this.lib = lib.endsWith('/') ? lib : `${lib}/`;
72
- }
73
42
  set src(dataOrBuffer) {
74
43
  this._src = dataOrBuffer;
75
44
  this.load();
@@ -130,6 +99,37 @@ class PdfComponent {
130
99
  get el() {
131
100
  return this._el.nativeElement.querySelector('.pdf-container');
132
101
  }
102
+ constructor(ngZone, configSrv, lazySrv, platform, _el, doc, cdr) {
103
+ this.ngZone = ngZone;
104
+ this.lazySrv = lazySrv;
105
+ this.platform = platform;
106
+ this._el = _el;
107
+ this.doc = doc;
108
+ this.cdr = cdr;
109
+ this.inited = false;
110
+ this.destroy$ = new Subject();
111
+ this.lib = '';
112
+ this._pi = 1;
113
+ this._total = 0;
114
+ this._showAll = true;
115
+ this._rotation = 0;
116
+ this._zoom = 1;
117
+ this._renderText = true;
118
+ this._loading = false;
119
+ this.textLayerMode = PdfTextLayerMode.ENABLE;
120
+ this.showBorders = false;
121
+ this.stickToPage = false;
122
+ this.originalSize = true;
123
+ this.fitToPage = false;
124
+ this.zoomScale = 'page-width';
125
+ this.autoReSize = true;
126
+ this.externalLinkTarget = PdfExternalLinkTarget.BLANK;
127
+ this.change = new EventEmitter();
128
+ const cog = configSrv.merge('pdf', PDF_DEFULAT_CONFIG);
129
+ Object.assign(this, cog);
130
+ const lib = cog.lib;
131
+ this.lib = lib.endsWith('/') ? lib : `${lib}/`;
132
+ }
133
133
  getValidPi(pi) {
134
134
  if (pi < 1)
135
135
  return 1;
@@ -390,8 +390,8 @@ class PdfComponent {
390
390
  this.destroy();
391
391
  }
392
392
  }
393
- PdfComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PdfComponent, deps: [{ token: i0.NgZone }, { token: i1.AlainConfigService }, { token: i2.LazyService }, { token: i3.Platform }, { token: i0.ElementRef }, { token: DOCUMENT, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
394
- PdfComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: PdfComponent, selector: "pdf", inputs: { src: "src", pi: "pi", showAll: "showAll", renderText: "renderText", textLayerMode: "textLayerMode", showBorders: "showBorders", stickToPage: "stickToPage", originalSize: "originalSize", fitToPage: "fitToPage", zoom: "zoom", zoomScale: "zoomScale", rotation: "rotation", autoReSize: "autoReSize", externalLinkTarget: "externalLinkTarget", delay: "delay" }, outputs: { change: "change" }, host: { properties: { "class.d-block": "true" } }, exportAs: ["pdf"], usesOnChanges: true, ngImport: i0, template: `
393
+ PdfComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PdfComponent, deps: [{ token: i0.NgZone }, { token: i1.AlainConfigService }, { token: i2.LazyService }, { token: i3.Platform }, { token: i0.ElementRef }, { token: DOCUMENT, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
394
+ PdfComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: PdfComponent, selector: "pdf", inputs: { src: "src", pi: "pi", showAll: "showAll", renderText: "renderText", textLayerMode: "textLayerMode", showBorders: "showBorders", stickToPage: "stickToPage", originalSize: "originalSize", fitToPage: "fitToPage", zoom: "zoom", zoomScale: "zoomScale", rotation: "rotation", autoReSize: "autoReSize", externalLinkTarget: "externalLinkTarget", delay: "delay" }, outputs: { change: "change" }, host: { properties: { "class.d-block": "true" } }, exportAs: ["pdf"], usesOnChanges: true, ngImport: i0, template: `
395
395
  <nz-skeleton *ngIf="!inited || loading"></nz-skeleton>
396
396
  <div class="pdf-container">
397
397
  <div class="pdfViewer"></div>
@@ -442,7 +442,7 @@ __decorate([
442
442
  __decorate([
443
443
  ZoneOutside()
444
444
  ], PdfComponent.prototype, "destroy", null);
445
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PdfComponent, decorators: [{
445
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PdfComponent, decorators: [{
446
446
  type: Component,
447
447
  args: [{
448
448
  selector: 'pdf',
@@ -502,10 +502,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
502
502
  const COMPONENTS = [PdfComponent];
503
503
  class PdfModule {
504
504
  }
505
- PdfModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PdfModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
506
- PdfModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: PdfModule, declarations: [PdfComponent], imports: [CommonModule, NzSkeletonModule], exports: [PdfComponent] });
507
- PdfModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PdfModule, imports: [CommonModule, NzSkeletonModule] });
508
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PdfModule, decorators: [{
505
+ PdfModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PdfModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
506
+ PdfModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: PdfModule, declarations: [PdfComponent], imports: [CommonModule, NzSkeletonModule], exports: [PdfComponent] });
507
+ PdfModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PdfModule, imports: [CommonModule, NzSkeletonModule] });
508
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: PdfModule, decorators: [{
509
509
  type: NgModule,
510
510
  args: [{
511
511
  imports: [CommonModule, NzSkeletonModule],