@delon/abc 17.3.1 → 18.0.0-beta.0

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 (174) hide show
  1. package/avatar-list/style/index.less +0 -1
  2. package/cell/style/index.less +0 -1
  3. package/down-file/style/index.less +0 -1
  4. package/ellipsis/style/index.less +0 -1
  5. package/error-collect/style/index.less +0 -1
  6. package/esm2022/auto-focus/auto-focus.directive.mjs +3 -3
  7. package/esm2022/auto-focus/auto-focus.module.mjs +4 -4
  8. package/esm2022/avatar-list/avatar-list-item.component.mjs +3 -3
  9. package/esm2022/avatar-list/avatar-list.component.mjs +7 -7
  10. package/esm2022/avatar-list/avatar-list.module.mjs +4 -4
  11. package/esm2022/cell/cell-host.directive.mjs +3 -3
  12. package/esm2022/cell/cell.component.mjs +3 -3
  13. package/esm2022/cell/cell.module.mjs +4 -4
  14. package/esm2022/cell/cell.service.mjs +3 -3
  15. package/esm2022/count-down/count-down.component.mjs +3 -3
  16. package/esm2022/count-down/count-down.module.mjs +4 -4
  17. package/esm2022/date-picker/date-picker.module.mjs +4 -4
  18. package/esm2022/date-picker/range-shortcut.component.mjs +3 -3
  19. package/esm2022/date-picker/range.directive.mjs +3 -3
  20. package/esm2022/down-file/down-file.directive.mjs +3 -3
  21. package/esm2022/down-file/down-file.module.mjs +4 -4
  22. package/esm2022/ellipsis/ellipsis.component.mjs +3 -3
  23. package/esm2022/ellipsis/ellipsis.module.mjs +4 -4
  24. package/esm2022/error-collect/error-collect.component.mjs +7 -7
  25. package/esm2022/error-collect/error-collect.module.mjs +4 -4
  26. package/esm2022/exception/exception.component.mjs +7 -7
  27. package/esm2022/exception/exception.module.mjs +4 -4
  28. package/esm2022/footer-toolbar/footer-toolbar.component.mjs +3 -3
  29. package/esm2022/footer-toolbar/footer-toolbar.module.mjs +4 -4
  30. package/esm2022/full-content/full-content-toggle.directive.mjs +3 -3
  31. package/esm2022/full-content/full-content.component.mjs +3 -3
  32. package/esm2022/full-content/full-content.module.mjs +4 -4
  33. package/esm2022/full-content/full-content.service.mjs +3 -3
  34. package/esm2022/global-footer/global-footer-item.component.mjs +3 -3
  35. package/esm2022/global-footer/global-footer.component.mjs +7 -7
  36. package/esm2022/global-footer/global-footer.module.mjs +4 -4
  37. package/esm2022/hotkey/hotkey.directive.mjs +3 -3
  38. package/esm2022/hotkey/hotkey.module.mjs +4 -4
  39. package/esm2022/let/let.directive.mjs +3 -3
  40. package/esm2022/let/let.module.mjs +4 -4
  41. package/esm2022/loading/loading.component.mjs +3 -3
  42. package/esm2022/loading/loading.module.mjs +4 -4
  43. package/esm2022/loading/loading.service.mjs +6 -6
  44. package/esm2022/lodop/lodop.module.mjs +4 -4
  45. package/esm2022/lodop/lodop.service.mjs +3 -3
  46. package/esm2022/media/media.component.mjs +3 -3
  47. package/esm2022/media/media.module.mjs +4 -4
  48. package/esm2022/media/media.service.mjs +3 -3
  49. package/esm2022/notice-icon/notice-icon-tab.component.mjs +3 -3
  50. package/esm2022/notice-icon/notice-icon.component.mjs +12 -6
  51. package/esm2022/notice-icon/notice-icon.module.mjs +4 -4
  52. package/esm2022/observers/observer-size.mjs +10 -10
  53. package/esm2022/onboarding/onboarding.component.mjs +3 -3
  54. package/esm2022/onboarding/onboarding.module.mjs +4 -4
  55. package/esm2022/onboarding/onboarding.service.mjs +6 -6
  56. package/esm2022/page-header/page-header.component.mjs +14 -17
  57. package/esm2022/page-header/page-header.module.mjs +4 -4
  58. package/esm2022/pdf/pdf.component.mjs +3 -3
  59. package/esm2022/pdf/pdf.module.mjs +4 -4
  60. package/esm2022/quick-menu/quick-menu.component.mjs +3 -3
  61. package/esm2022/quick-menu/quick-menu.module.mjs +4 -4
  62. package/esm2022/result/result.component.mjs +7 -7
  63. package/esm2022/result/result.module.mjs +4 -4
  64. package/esm2022/reuse-tab/reuse-tab-context-menu.component.mjs +3 -3
  65. package/esm2022/reuse-tab/reuse-tab-context.component.mjs +3 -3
  66. package/esm2022/reuse-tab/reuse-tab-context.directive.mjs +3 -3
  67. package/esm2022/reuse-tab/reuse-tab-context.service.mjs +3 -3
  68. package/esm2022/reuse-tab/reuse-tab.component.mjs +10 -10
  69. package/esm2022/reuse-tab/reuse-tab.module.mjs +4 -4
  70. package/esm2022/reuse-tab/reuse-tab.service.mjs +3 -3
  71. package/esm2022/se/se-container.component.mjs +6 -6
  72. package/esm2022/se/se.component.mjs +3 -3
  73. package/esm2022/se/se.module.mjs +4 -4
  74. package/esm2022/sg/sg-container.component.mjs +3 -3
  75. package/esm2022/sg/sg.component.mjs +3 -3
  76. package/esm2022/sg/sg.module.mjs +4 -4
  77. package/esm2022/st/st-column-source.mjs +3 -3
  78. package/esm2022/st/st-data-source.mjs +3 -3
  79. package/esm2022/st/st-export.mjs +5 -11
  80. package/esm2022/st/st-filter.component.mjs +9 -9
  81. package/esm2022/st/st-row.directive.mjs +6 -6
  82. package/esm2022/st/st-widget-host.directive.mjs +3 -3
  83. package/esm2022/st/st-widget.mjs +3 -3
  84. package/esm2022/st/st.component.mjs +11 -11
  85. package/esm2022/st/st.module.mjs +4 -4
  86. package/esm2022/sv/sv-container.component.mjs +6 -6
  87. package/esm2022/sv/sv-value.component.mjs +3 -3
  88. package/esm2022/sv/sv.component.mjs +3 -3
  89. package/esm2022/sv/sv.module.mjs +4 -4
  90. package/esm2022/tag-select/tag-select.component.mjs +7 -7
  91. package/esm2022/tag-select/tag-select.module.mjs +4 -4
  92. package/esm2022/xlsx/xlsx.directive.mjs +3 -3
  93. package/esm2022/xlsx/xlsx.module.mjs +4 -4
  94. package/esm2022/xlsx/xlsx.service.mjs +3 -3
  95. package/esm2022/zip/zip.service.mjs +3 -3
  96. package/exception/style/index.less +0 -1
  97. package/fesm2022/auto-focus.mjs +7 -7
  98. package/fesm2022/avatar-list.mjs +13 -13
  99. package/fesm2022/avatar-list.mjs.map +1 -1
  100. package/fesm2022/cell.mjs +13 -13
  101. package/fesm2022/chart-observer-size.mjs +10 -10
  102. package/fesm2022/count-down.mjs +7 -7
  103. package/fesm2022/date-picker.mjs +10 -10
  104. package/fesm2022/down-file.mjs +7 -7
  105. package/fesm2022/ellipsis.mjs +7 -7
  106. package/fesm2022/error-collect.mjs +10 -10
  107. package/fesm2022/error-collect.mjs.map +1 -1
  108. package/fesm2022/exception.mjs +10 -10
  109. package/fesm2022/exception.mjs.map +1 -1
  110. package/fesm2022/footer-toolbar.mjs +7 -7
  111. package/fesm2022/full-content.mjs +13 -13
  112. package/fesm2022/global-footer.mjs +13 -13
  113. package/fesm2022/global-footer.mjs.map +1 -1
  114. package/fesm2022/hotkey.mjs +7 -7
  115. package/fesm2022/let.mjs +7 -7
  116. package/fesm2022/loading.mjs +12 -12
  117. package/fesm2022/loading.mjs.map +1 -1
  118. package/fesm2022/lodop.mjs +7 -7
  119. package/fesm2022/media.mjs +10 -10
  120. package/fesm2022/notice-icon.mjs +18 -12
  121. package/fesm2022/notice-icon.mjs.map +1 -1
  122. package/fesm2022/onboarding.mjs +12 -12
  123. package/fesm2022/onboarding.mjs.map +1 -1
  124. package/fesm2022/page-header.mjs +17 -20
  125. package/fesm2022/page-header.mjs.map +1 -1
  126. package/fesm2022/pdf.mjs +7 -7
  127. package/fesm2022/quick-menu.mjs +7 -7
  128. package/fesm2022/result.mjs +10 -10
  129. package/fesm2022/result.mjs.map +1 -1
  130. package/fesm2022/reuse-tab.mjs +28 -28
  131. package/fesm2022/reuse-tab.mjs.map +1 -1
  132. package/fesm2022/se.mjs +13 -13
  133. package/fesm2022/sg.mjs +10 -10
  134. package/fesm2022/st.mjs +44 -50
  135. package/fesm2022/st.mjs.map +1 -1
  136. package/fesm2022/sv.mjs +16 -16
  137. package/fesm2022/tag-select.mjs +10 -10
  138. package/fesm2022/tag-select.mjs.map +1 -1
  139. package/fesm2022/xlsx.mjs +10 -10
  140. package/fesm2022/zip.mjs +3 -3
  141. package/footer-toolbar/style/index.less +0 -1
  142. package/full-content/style/index.less +0 -1
  143. package/global-footer/style/index.less +0 -1
  144. package/loading/style/index.less +0 -1
  145. package/notice-icon/notice-icon.component.d.ts +2 -1
  146. package/notice-icon/style/index.less +0 -1
  147. package/onboarding/style/index.less +0 -3
  148. package/package.json +6 -12
  149. package/page-header/style/index.less +7 -3
  150. package/pdf/style/index.less +0 -1
  151. package/quick-menu/style/index.less +0 -1
  152. package/result/style/index.less +0 -1
  153. package/reuse-tab/style/index.less +0 -1
  154. package/se/style/index.less +15 -13
  155. package/st/style/index.less +0 -1
  156. package/sv/style/index.less +11 -10
  157. package/tag-select/style/index.less +0 -1
  158. package/theme-dark.less +0 -1
  159. package/theme-default.less +9 -10
  160. package/theme-variable.less +1 -0
  161. package/esm2022/qr/public_api.mjs +0 -5
  162. package/esm2022/qr/qr.component.mjs +0 -134
  163. package/esm2022/qr/qr.config.mjs +0 -13
  164. package/esm2022/qr/qr.mjs +0 -5
  165. package/esm2022/qr/qr.module.mjs +0 -22
  166. package/esm2022/qr/qr.types.mjs +0 -2
  167. package/fesm2022/qr.mjs +0 -172
  168. package/fesm2022/qr.mjs.map +0 -1
  169. package/qr/index.d.ts +0 -5
  170. package/qr/public_api.d.ts +0 -4
  171. package/qr/qr.component.d.ts +0 -42
  172. package/qr/qr.config.d.ts +0 -2
  173. package/qr/qr.module.d.ts +0 -11
  174. package/qr/qr.types.d.ts +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"notice-icon.mjs","sources":["../../../../packages/abc/notice-icon/notice-icon-tab.component.ts","../../../../packages/abc/notice-icon/notice-icon-tab.component.html","../../../../packages/abc/notice-icon/notice-icon.component.ts","../../../../packages/abc/notice-icon/notice-icon.component.html","../../../../packages/abc/notice-icon/notice-icon.module.ts","../../../../packages/abc/notice-icon/notice-icon.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\nimport { LocaleData } from '@delon/theme';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport { NzListComponent, NzListItemComponent, NzListItemMetaComponent } from 'ng-zorro-antd/list';\nimport { NzTagComponent } from 'ng-zorro-antd/tag';\n\nimport { NoticeIconSelect, NoticeItem } from './notice-icon.types';\n\n@Component({\n selector: 'notice-icon-tab',\n exportAs: 'noticeIconTab',\n templateUrl: './notice-icon-tab.component.html',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [\n NgTemplateOutlet,\n NzStringTemplateOutletDirective,\n NzListComponent,\n NzListItemComponent,\n NzListItemMetaComponent,\n NzTagComponent\n ]\n})\nexport class NoticeIconTabComponent {\n @Input() locale: LocaleData = {};\n @Input() data!: NoticeItem;\n @Output() readonly select = new EventEmitter<NoticeIconSelect>();\n @Output() readonly clear = new EventEmitter<string>();\n\n onClick(item: NoticeItem): void {\n this.select.emit({ title: this.data.title, item });\n }\n\n onClear(): void {\n this.clear.emit(this.data.title);\n }\n}\n","@if (data.list && data.list.length > 0) {\n <ng-template [ngTemplateOutlet]=\"listTpl\" />\n} @else {\n <div class=\"notice-icon__notfound\">\n @if (data.emptyImage) {\n <img class=\"notice-icon__notfound-img\" [attr.src]=\"data.emptyImage\" alt=\"not found\" />\n }\n <p>\n <ng-container *nzStringTemplateOutlet=\"data.emptyText\">\n {{ data.emptyText || locale.emptyText }}\n </ng-container>\n </p>\n </div>\n}\n<ng-template #listTpl>\n <nz-list [nzDataSource]=\"data.list\" [nzRenderItem]=\"item\">\n <ng-template #item let-item>\n <nz-list-item (click)=\"onClick(item)\" [class.notice-icon__item-read]=\"item.read\">\n <nz-list-item-meta [nzTitle]=\"nzTitle\" [nzDescription]=\"nzDescription\" [nzAvatar]=\"item.avatar\">\n <ng-template #nzTitle>\n <ng-container *nzStringTemplateOutlet=\"item.title; context: { $implicit: item }\">\n {{ item.title }}\n </ng-container>\n @if (item.extra) {\n <div class=\"notice-icon__item-extra\">\n <nz-tag [nzColor]=\"item.color\">{{ item.extra }}</nz-tag>\n </div>\n }\n </ng-template>\n <ng-template #nzDescription>\n @if (item.description) {\n <div class=\"notice-icon__item-desc\">\n <ng-container *nzStringTemplateOutlet=\"item.description; context: { $implicit: item }\">\n {{ item.description }}\n </ng-container>\n </div>\n }\n @if (item.datetime) {\n <div class=\"notice-icon__item-time\">{{ item.datetime }}</div>\n }\n </ng-template>\n </nz-list-item-meta>\n </nz-list-item>\n </ng-template>\n </nz-list>\n <div class=\"notice-icon__clear\" (click)=\"onClear()\">{{ data.clearText || locale.clearText }}</div>\n</ng-template>\n","import { NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DelonLocaleService, LocaleData } from '@delon/theme';\nimport { NzBadgeComponent } from 'ng-zorro-antd/badge';\nimport type { NgClassType } from 'ng-zorro-antd/core/types';\nimport { NzDropDownDirective, NzDropdownMenuComponent } from 'ng-zorro-antd/dropdown';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\nimport { NzSpinComponent } from 'ng-zorro-antd/spin';\nimport { NzTabComponent, NzTabSetComponent } from 'ng-zorro-antd/tabs';\n\nimport { NoticeIconTabComponent } from './notice-icon-tab.component';\nimport { NoticeIconSelect, NoticeItem } from './notice-icon.types';\n\n@Component({\n selector: 'notice-icon',\n exportAs: 'noticeIcon',\n templateUrl: './notice-icon.component.html',\n host: { '[class.notice-icon__btn]': 'true' },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [\n NgClass,\n NgTemplateOutlet,\n NzBadgeComponent,\n NzIconDirective,\n NzDropDownDirective,\n NzDropdownMenuComponent,\n NzSpinComponent,\n NzTabSetComponent,\n NzTabComponent,\n NoticeIconTabComponent\n ]\n})\nexport class NoticeIconComponent implements OnInit, OnChanges, OnDestroy {\n private readonly i18n = inject(DelonLocaleService);\n private readonly cdr = inject(ChangeDetectorRef);\n private i18n$!: Subscription;\n locale: LocaleData = {};\n\n @Input() data: NoticeItem[] = [];\n @Input({ transform: numberAttribute }) count?: number;\n @Input({ transform: booleanAttribute }) loading = false;\n @Input({ transform: booleanAttribute }) popoverVisible = false;\n @Input() btnClass?: NgClassType;\n @Input() btnIconClass?: NgClassType;\n @Input({ transform: booleanAttribute }) centered = false;\n @Output() readonly select = new EventEmitter<NoticeIconSelect>();\n @Output() readonly clear = new EventEmitter<string>();\n @Output() readonly popoverVisibleChange = new EventEmitter<boolean>();\n\n get overlayCls(): string {\n return `header-dropdown notice-icon${!this.centered ? ' notice-icon__tab-left' : ''}`;\n }\n\n onVisibleChange(result: boolean): void {\n this.popoverVisibleChange.emit(result);\n }\n\n onSelect(i: NoticeIconSelect): void {\n this.select.emit(i);\n }\n\n onClear(title: string): void {\n this.clear.emit(title);\n }\n\n ngOnInit(): void {\n this.i18n$ = this.i18n.change.subscribe(() => {\n this.locale = this.i18n.getData('noticeIcon');\n this.cdr.markForCheck();\n });\n }\n\n ngOnChanges(): void {\n this.cdr.markForCheck();\n }\n\n ngOnDestroy(): void {\n this.i18n$.unsubscribe();\n }\n}\n","<ng-template #badgeTpl>\n <nz-badge [nzCount]=\"count\" [ngClass]=\"btnClass!\" [nzStyle]=\"{ 'box-shadow': 'none' }\">\n <i nz-icon nzType=\"bell\" [ngClass]=\"btnIconClass!\"></i>\n </nz-badge>\n</ng-template>\n@if (data!.length <= 0) {\n <ng-template [ngTemplateOutlet]=\"badgeTpl\" />\n} @else {\n <div\n nz-dropdown\n [nzVisible]=\"popoverVisible\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n [nzOverlayClassName]=\"overlayCls\"\n [nzDropdownMenu]=\"noticeMenu\"\n >\n <ng-template [ngTemplateOutlet]=\"badgeTpl\" />\n </div>\n <nz-dropdown-menu #noticeMenu=\"nzDropdownMenu\">\n <nz-spin [nzSpinning]=\"loading\" [nzDelay]=\"0\">\n <nz-tabset nzSelectedIndex=\"0\" [nzCentered]=\"centered\">\n @for (i of data; track $index) {\n <nz-tab [nzTitle]=\"i.title\">\n <notice-icon-tab [locale]=\"locale\" [data]=\"i\" (select)=\"onSelect($event)\" (clear)=\"onClear($event)\" />\n </nz-tab>\n }\n </nz-tabset>\n </nz-spin>\n </nz-dropdown-menu>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DelonLocaleModule } from '@delon/theme';\nimport { NzBadgeModule } from 'ng-zorro-antd/badge';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzListModule } from 'ng-zorro-antd/list';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\nimport { NzTagModule } from 'ng-zorro-antd/tag';\n\nimport { NoticeIconTabComponent } from './notice-icon-tab.component';\nimport { NoticeIconComponent } from './notice-icon.component';\n\nconst COMPONENTS = [NoticeIconComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n DelonLocaleModule,\n NzBadgeModule,\n NzDropDownModule,\n NzIconModule,\n NzListModule,\n NzSpinModule,\n NzTabsModule,\n NzTagModule,\n NzOutletModule,\n ...COMPONENTS,\n NoticeIconTabComponent\n ],\n exports: COMPONENTS\n})\nexport class NoticeIconModule {}\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":"notice-icon.mjs","sources":["../../../../packages/abc/notice-icon/notice-icon-tab.component.ts","../../../../packages/abc/notice-icon/notice-icon-tab.component.html","../../../../packages/abc/notice-icon/notice-icon.component.ts","../../../../packages/abc/notice-icon/notice-icon.component.html","../../../../packages/abc/notice-icon/notice-icon.module.ts","../../../../packages/abc/notice-icon/notice-icon.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\nimport { LocaleData } from '@delon/theme';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport { NzListComponent, NzListItemComponent, NzListItemMetaComponent } from 'ng-zorro-antd/list';\nimport { NzTagComponent } from 'ng-zorro-antd/tag';\n\nimport { NoticeIconSelect, NoticeItem } from './notice-icon.types';\n\n@Component({\n selector: 'notice-icon-tab',\n exportAs: 'noticeIconTab',\n templateUrl: './notice-icon-tab.component.html',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [\n NgTemplateOutlet,\n NzStringTemplateOutletDirective,\n NzListComponent,\n NzListItemComponent,\n NzListItemMetaComponent,\n NzTagComponent\n ]\n})\nexport class NoticeIconTabComponent {\n @Input() locale: LocaleData = {};\n @Input() data!: NoticeItem;\n @Output() readonly select = new EventEmitter<NoticeIconSelect>();\n @Output() readonly clear = new EventEmitter<string>();\n\n onClick(item: NoticeItem): void {\n this.select.emit({ title: this.data.title, item });\n }\n\n onClear(): void {\n this.clear.emit(this.data.title);\n }\n}\n","@if (data.list && data.list.length > 0) {\n <ng-template [ngTemplateOutlet]=\"listTpl\" />\n} @else {\n <div class=\"notice-icon__notfound\">\n @if (data.emptyImage) {\n <img class=\"notice-icon__notfound-img\" [attr.src]=\"data.emptyImage\" alt=\"not found\" />\n }\n <p>\n <ng-container *nzStringTemplateOutlet=\"data.emptyText\">\n {{ data.emptyText || locale.emptyText }}\n </ng-container>\n </p>\n </div>\n}\n<ng-template #listTpl>\n <nz-list [nzDataSource]=\"data.list\" [nzRenderItem]=\"item\">\n <ng-template #item let-item>\n <nz-list-item (click)=\"onClick(item)\" [class.notice-icon__item-read]=\"item.read\">\n <nz-list-item-meta [nzTitle]=\"nzTitle\" [nzDescription]=\"nzDescription\" [nzAvatar]=\"item.avatar\">\n <ng-template #nzTitle>\n <ng-container *nzStringTemplateOutlet=\"item.title; context: { $implicit: item }\">\n {{ item.title }}\n </ng-container>\n @if (item.extra) {\n <div class=\"notice-icon__item-extra\">\n <nz-tag [nzColor]=\"item.color\">{{ item.extra }}</nz-tag>\n </div>\n }\n </ng-template>\n <ng-template #nzDescription>\n @if (item.description) {\n <div class=\"notice-icon__item-desc\">\n <ng-container *nzStringTemplateOutlet=\"item.description; context: { $implicit: item }\">\n {{ item.description }}\n </ng-container>\n </div>\n }\n @if (item.datetime) {\n <div class=\"notice-icon__item-time\">{{ item.datetime }}</div>\n }\n </ng-template>\n </nz-list-item-meta>\n </nz-list-item>\n </ng-template>\n </nz-list>\n <div class=\"notice-icon__clear\" (click)=\"onClear()\">{{ data.clearText || locale.clearText }}</div>\n</ng-template>\n","import { NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DelonLocaleService, LocaleData } from '@delon/theme';\nimport { NzBadgeComponent } from 'ng-zorro-antd/badge';\nimport type { NgClassType } from 'ng-zorro-antd/core/types';\nimport { NzDropDownDirective, NzDropdownMenuComponent } from 'ng-zorro-antd/dropdown';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\nimport { NzSpinComponent } from 'ng-zorro-antd/spin';\nimport { NzTabComponent, NzTabSetComponent } from 'ng-zorro-antd/tabs';\n\nimport { NoticeIconTabComponent } from './notice-icon-tab.component';\nimport { NoticeIconSelect, NoticeItem } from './notice-icon.types';\n\n@Component({\n selector: 'notice-icon',\n exportAs: 'noticeIcon',\n templateUrl: './notice-icon.component.html',\n host: { '[class.notice-icon__btn]': 'true' },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [\n NgClass,\n NgTemplateOutlet,\n NzBadgeComponent,\n NzIconDirective,\n NzDropDownDirective,\n NzDropdownMenuComponent,\n NzSpinComponent,\n NzTabSetComponent,\n NzTabComponent,\n NoticeIconTabComponent\n ]\n})\nexport class NoticeIconComponent implements OnInit, OnChanges, OnDestroy {\n private readonly i18n = inject(DelonLocaleService);\n private readonly cdr = inject(ChangeDetectorRef);\n private i18n$?: Subscription;\n locale: LocaleData = {};\n\n @Input() data: NoticeItem[] = [];\n @Input({ transform: numberAttribute }) count?: number;\n @Input({ transform: booleanAttribute }) loading = false;\n @Input({ transform: booleanAttribute }) popoverVisible = false;\n @Input() btnClass?: NgClassType;\n @Input() btnIconClass?: NgClassType;\n @Input({ transform: booleanAttribute }) centered = false;\n @Output() readonly select = new EventEmitter<NoticeIconSelect>();\n @Output() readonly clear = new EventEmitter<string>();\n @Output() readonly popoverVisibleChange = new EventEmitter<boolean>();\n\n get overlayCls(): string {\n return `header-dropdown notice-icon${!this.centered ? ' notice-icon__tab-left' : ''}`;\n }\n\n delayShow = false;\n onVisibleChange(result: boolean): void {\n this.delayShow = result;\n this.popoverVisibleChange.emit(result);\n if (result) {\n // Next tick run\n Promise.resolve().then(() => this.cdr.detectChanges());\n }\n }\n\n onSelect(i: NoticeIconSelect): void {\n this.select.emit(i);\n }\n\n onClear(title: string): void {\n this.clear.emit(title);\n }\n\n ngOnInit(): void {\n this.i18n$ = this.i18n.change.subscribe(() => {\n this.locale = this.i18n.getData('noticeIcon');\n this.cdr.markForCheck();\n });\n }\n\n ngOnChanges(): void {\n this.cdr.markForCheck();\n }\n\n ngOnDestroy(): void {\n this.i18n$?.unsubscribe();\n }\n}\n","<ng-template #badgeTpl>\n <nz-badge [nzCount]=\"count\" [ngClass]=\"btnClass!\" [nzStyle]=\"{ 'box-shadow': 'none' }\">\n <i nz-icon nzType=\"bell\" [ngClass]=\"btnIconClass!\"></i>\n </nz-badge>\n</ng-template>\n@if (data!.length <= 0) {\n <ng-template [ngTemplateOutlet]=\"badgeTpl\" />\n} @else {\n <div\n nz-dropdown\n [nzVisible]=\"popoverVisible\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n [nzOverlayClassName]=\"overlayCls\"\n [nzDropdownMenu]=\"noticeMenu\"\n >\n <ng-template [ngTemplateOutlet]=\"badgeTpl\" />\n </div>\n <nz-dropdown-menu #noticeMenu=\"nzDropdownMenu\">\n <nz-spin [nzSpinning]=\"loading\" [nzDelay]=\"0\">\n @if (delayShow) {\n <nz-tabset [nzSelectedIndex]=\"0\" [nzCentered]=\"centered\">\n @for (i of data; track $index) {\n <nz-tab [nzTitle]=\"i.title\">\n <notice-icon-tab [locale]=\"locale\" [data]=\"i\" (select)=\"onSelect($event)\" (clear)=\"onClear($event)\" />\n </nz-tab>\n }\n </nz-tabset>\n }\n </nz-spin>\n </nz-dropdown-menu>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DelonLocaleModule } from '@delon/theme';\nimport { NzBadgeModule } from 'ng-zorro-antd/badge';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzListModule } from 'ng-zorro-antd/list';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\nimport { NzTagModule } from 'ng-zorro-antd/tag';\n\nimport { NoticeIconTabComponent } from './notice-icon-tab.component';\nimport { NoticeIconComponent } from './notice-icon.component';\n\nconst COMPONENTS = [NoticeIconComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n DelonLocaleModule,\n NzBadgeModule,\n NzDropDownModule,\n NzIconModule,\n NzListModule,\n NzSpinModule,\n NzTabsModule,\n NzTagModule,\n NzOutletModule,\n ...COMPONENTS,\n NoticeIconTabComponent\n ],\n exports: COMPONENTS\n})\nexport class NoticeIconModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -116,10 +116,10 @@ class OnboardingComponent {
116
116
  clearTimeout(this.time);
117
117
  this.updatePrevElStatus(false);
118
118
  }
119
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OnboardingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
120
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: OnboardingComponent, isStandalone: true, 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: "@if (!running && config.mask) {\n <div class=\"onboarding__mask\" (click)=\"handleMask()\"></div>\n}\n@if (item) {\n <div\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 @if (config.showTotal) {\n {{ active + 1 }}/{{ max }}\n }\n </span>\n <div class=\"onboarding__btns\">\n @if (!last && item.skip !== null && item.skip !== undefined) {\n <a nz-button nzType=\"link\" (click)=\"to('skip')\" nzSize=\"small\" data-btnType=\"skip\">\n <ng-container *nzStringTemplateOutlet=\"item.skip\">{{ item.skip }}</ng-container>\n </a>\n }\n @if (!first && item.prev !== null) {\n <a nz-button (click)=\"to('prev')\" nzSize=\"small\" data-btnType=\"prev\">\n <ng-container *nzStringTemplateOutlet=\"item.prev\">{{ item.prev }}</ng-container>\n </a>\n }\n @if (!last && item.next !== null && item.next !== undefined) {\n <a nz-button (click)=\"to('next')\" nzType=\"primary\" nzSize=\"small\" data-btnType=\"next\">\n <ng-container *nzStringTemplateOutlet=\"item.next\">{{ item.next }}</ng-container>\n </a>\n }\n @if (last && item.done !== null && item.done !== undefined) {\n <a nz-button (click)=\"to('done')\" nzType=\"primary\" nzSize=\"small\" data-btnType=\"done\">\n <ng-container *nzStringTemplateOutlet=\"item.done\">{{ item.done }}</ng-container>\n </a>\n }\n </div>\n </div>\n </ng-template>\n}\n", dependencies: [{ kind: "directive", type: 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: NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { kind: "component", type: NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: NzNoAnimationDirective, selector: "[nzNoAnimation]", inputs: ["nzNoAnimation"], exportAs: ["nzNoAnimation"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
119
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: OnboardingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
120
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: OnboardingComponent, isStandalone: true, 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: "@if (!running && config.mask) {\n <div class=\"onboarding__mask\" (click)=\"handleMask()\"></div>\n}\n@if (item) {\n <div\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 @if (config.showTotal) {\n {{ active + 1 }}/{{ max }}\n }\n </span>\n <div class=\"onboarding__btns\">\n @if (!last && item.skip !== null && item.skip !== undefined) {\n <a nz-button nzType=\"link\" (click)=\"to('skip')\" nzSize=\"small\" data-btnType=\"skip\">\n <ng-container *nzStringTemplateOutlet=\"item.skip\">{{ item.skip }}</ng-container>\n </a>\n }\n @if (!first && item.prev !== null) {\n <a nz-button (click)=\"to('prev')\" nzSize=\"small\" data-btnType=\"prev\">\n <ng-container *nzStringTemplateOutlet=\"item.prev\">{{ item.prev }}</ng-container>\n </a>\n }\n @if (!last && item.next !== null && item.next !== undefined) {\n <a nz-button (click)=\"to('next')\" nzType=\"primary\" nzSize=\"small\" data-btnType=\"next\">\n <ng-container *nzStringTemplateOutlet=\"item.next\">{{ item.next }}</ng-container>\n </a>\n }\n @if (last && item.done !== null && item.done !== undefined) {\n <a nz-button (click)=\"to('done')\" nzType=\"primary\" nzSize=\"small\" data-btnType=\"done\">\n <ng-container *nzStringTemplateOutlet=\"item.done\">{{ item.done }}</ng-container>\n </a>\n }\n </div>\n </div>\n </ng-template>\n}\n", dependencies: [{ kind: "directive", type: 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: NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { kind: "component", type: NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: NzNoAnimationDirective, selector: "[nzNoAnimation]", inputs: ["nzNoAnimation"], exportAs: ["nzNoAnimation"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
121
121
  }
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OnboardingComponent, decorators: [{
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: OnboardingComponent, decorators: [{
123
123
  type: Component,
124
124
  args: [{ selector: 'onboarding', host: {
125
125
  '[class.onboarding]': `true`,
@@ -155,7 +155,7 @@ class OnboardingService {
155
155
  this.doc = inject(DOCUMENT);
156
156
  this.configSrv = inject(AlainConfigService);
157
157
  this.keyStoreSrv = inject(ONBOARDING_STORE_TOKEN);
158
- this.directionality = inject(Directionality, { optional: true });
158
+ this.directionality = inject(Directionality);
159
159
  this.active = 0;
160
160
  this.running$ = null;
161
161
  this._running = false;
@@ -234,7 +234,7 @@ class OnboardingService {
234
234
  ...this.i18n.getData('onboarding'),
235
235
  ...items[this.active]
236
236
  };
237
- const dir = this.configSrv.get('onboarding').direction || this.directionality?.value;
237
+ const dir = this.configSrv.get('onboarding').direction || this.directionality.value;
238
238
  Object.assign(this.compRef.instance, { item, config: this.config, active: this.active, max: items.length, dir });
239
239
  const pipes = [
240
240
  switchMap(() => (item.url ? this.router.navigateByUrl(item.url) : of(true))),
@@ -321,24 +321,24 @@ class OnboardingService {
321
321
  ngOnDestroy() {
322
322
  this.destroy();
323
323
  }
324
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OnboardingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
325
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OnboardingService, providedIn: 'root' }); }
324
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: OnboardingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
325
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: OnboardingService, providedIn: 'root' }); }
326
326
  }
327
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OnboardingService, decorators: [{
327
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: OnboardingService, decorators: [{
328
328
  type: Injectable,
329
329
  args: [{ providedIn: 'root' }]
330
330
  }] });
331
331
 
332
332
  const COMPONENTS = [OnboardingComponent];
333
333
  class OnboardingModule {
334
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OnboardingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
335
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: OnboardingModule, imports: [CommonModule,
334
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: OnboardingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
335
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.5", ngImport: i0, type: OnboardingModule, imports: [CommonModule,
336
336
  DelonLocaleModule,
337
337
  NzPopoverModule,
338
338
  NzOutletModule,
339
339
  NzButtonModule,
340
340
  NzNoAnimationModule, OnboardingComponent], exports: [OnboardingComponent] }); }
341
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OnboardingModule, imports: [CommonModule,
341
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: OnboardingModule, imports: [CommonModule,
342
342
  DelonLocaleModule,
343
343
  NzPopoverModule,
344
344
  NzOutletModule,
@@ -346,7 +346,7 @@ class OnboardingModule {
346
346
  NzNoAnimationModule,
347
347
  COMPONENTS] }); }
348
348
  }
349
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: OnboardingModule, decorators: [{
349
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: OnboardingModule, decorators: [{
350
350
  type: NgModule,
351
351
  args: [{
352
352
  imports: [
@@ -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.storage.ts","../../../../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 OnDestroy,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\n\nimport { NzButtonComponent } from 'ng-zorro-antd/button';\nimport { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\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 standalone: true,\n imports: [NzPopoverDirective, NzStringTemplateOutletDirective, NzButtonComponent, NzNoAnimationDirective]\n})\nexport class OnboardingComponent implements OnDestroy, AfterViewInit {\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly platform = inject(Platform);\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly doc = inject(DOCUMENT);\n\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 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.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","@if (!running && config.mask) {\n <div class=\"onboarding__mask\" (click)=\"handleMask()\"></div>\n}\n@if (item) {\n <div\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 @if (config.showTotal) {\n {{ active + 1 }}/{{ max }}\n }\n </span>\n <div class=\"onboarding__btns\">\n @if (!last && item.skip !== null && item.skip !== undefined) {\n <a nz-button nzType=\"link\" (click)=\"to('skip')\" nzSize=\"small\" data-btnType=\"skip\">\n <ng-container *nzStringTemplateOutlet=\"item.skip\">{{ item.skip }}</ng-container>\n </a>\n }\n @if (!first && item.prev !== null) {\n <a nz-button (click)=\"to('prev')\" nzSize=\"small\" data-btnType=\"prev\">\n <ng-container *nzStringTemplateOutlet=\"item.prev\">{{ item.prev }}</ng-container>\n </a>\n }\n @if (!last && item.next !== null && item.next !== undefined) {\n <a nz-button (click)=\"to('next')\" nzType=\"primary\" nzSize=\"small\" data-btnType=\"next\">\n <ng-container *nzStringTemplateOutlet=\"item.next\">{{ item.next }}</ng-container>\n </a>\n }\n @if (last && item.done !== null && item.done !== undefined) {\n <a nz-button (click)=\"to('done')\" nzType=\"primary\" nzSize=\"small\" data-btnType=\"done\">\n <ng-container *nzStringTemplateOutlet=\"item.done\">{{ item.done }}</ng-container>\n </a>\n }\n </div>\n </div>\n </ng-template>\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface OnBoardingKeyStore {\n get(key: string): unknown;\n\n set(key: string, version: unknown): void;\n}\n\nexport const ONBOARDING_STORE_TOKEN = new InjectionToken<OnBoardingKeyStore>('ONBOARDING_STORE_TOKEN', {\n providedIn: 'root',\n factory: ONBOARDING_STORE_TOKEN_FACTORY\n});\n\nexport function ONBOARDING_STORE_TOKEN_FACTORY(): OnBoardingKeyStore {\n return new LocalStorageStore();\n}\n\nexport class LocalStorageStore implements OnBoardingKeyStore {\n get(key: string): unknown {\n return localStorage.getItem(key);\n }\n\n set(key: string, version: unknown): void {\n localStorage.setItem(key, `${version}`);\n }\n}\n","import { Directionality } from '@angular/cdk/bidi';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentRef,\n EmbeddedViewRef,\n Injectable,\n OnDestroy,\n createComponent,\n inject\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 { ONBOARDING_STORE_TOKEN } from './onboarding.storage';\nimport { OnboardingConfig, OnboardingItem, OnboardingOpType } from './onboarding.types';\n\n@Injectable({ providedIn: 'root' })\nexport class OnboardingService implements OnDestroy {\n private readonly i18n = inject(DelonLocaleService);\n private readonly appRef = inject(ApplicationRef);\n private readonly router = inject(Router);\n private readonly doc = inject(DOCUMENT);\n private readonly configSrv = inject(AlainConfigService);\n private readonly keyStoreSrv = inject(ONBOARDING_STORE_TOKEN);\n private readonly directionality = inject(Directionality, { optional: true });\n\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 private attach(): void {\n const compRef = createComponent(OnboardingComponent, {\n environmentInjector: this.appRef.injector\n });\n this.compRef = compRef;\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 const storeKey = this.config?.key;\n if (storeKey != null) {\n this.keyStoreSrv.set(storeKey, this.config?.keyVersion);\n }\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 const cog: OnboardingConfig = {\n keyVersion: '',\n items: [],\n mask: true,\n maskClosable: true,\n showTotal: false,\n ...config\n };\n const storeKey = cog?.key;\n if (storeKey != null && this.keyStoreSrv.get(storeKey) === cog.keyVersion) {\n return;\n }\n if (this.running) {\n return;\n }\n this.destroy();\n this.config = cog;\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';\n\nconst COMPONENTS = [OnboardingComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n DelonLocaleModule,\n NzPopoverModule,\n NzOutletModule,\n NzButtonModule,\n NzNoAnimationModule,\n COMPONENTS\n ],\n exports: COMPONENTS\n})\nexport class OnboardingModule {}\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":"onboarding.mjs","sources":["../../../../packages/abc/onboarding/onboarding.component.ts","../../../../packages/abc/onboarding/onboarding.component.html","../../../../packages/abc/onboarding/onboarding.storage.ts","../../../../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 OnDestroy,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\n\nimport { NzButtonComponent } from 'ng-zorro-antd/button';\nimport { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\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 standalone: true,\n imports: [NzPopoverDirective, NzStringTemplateOutletDirective, NzButtonComponent, NzNoAnimationDirective]\n})\nexport class OnboardingComponent implements OnDestroy, AfterViewInit {\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly platform = inject(Platform);\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly doc = inject(DOCUMENT);\n\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 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.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","@if (!running && config.mask) {\n <div class=\"onboarding__mask\" (click)=\"handleMask()\"></div>\n}\n@if (item) {\n <div\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 @if (config.showTotal) {\n {{ active + 1 }}/{{ max }}\n }\n </span>\n <div class=\"onboarding__btns\">\n @if (!last && item.skip !== null && item.skip !== undefined) {\n <a nz-button nzType=\"link\" (click)=\"to('skip')\" nzSize=\"small\" data-btnType=\"skip\">\n <ng-container *nzStringTemplateOutlet=\"item.skip\">{{ item.skip }}</ng-container>\n </a>\n }\n @if (!first && item.prev !== null) {\n <a nz-button (click)=\"to('prev')\" nzSize=\"small\" data-btnType=\"prev\">\n <ng-container *nzStringTemplateOutlet=\"item.prev\">{{ item.prev }}</ng-container>\n </a>\n }\n @if (!last && item.next !== null && item.next !== undefined) {\n <a nz-button (click)=\"to('next')\" nzType=\"primary\" nzSize=\"small\" data-btnType=\"next\">\n <ng-container *nzStringTemplateOutlet=\"item.next\">{{ item.next }}</ng-container>\n </a>\n }\n @if (last && item.done !== null && item.done !== undefined) {\n <a nz-button (click)=\"to('done')\" nzType=\"primary\" nzSize=\"small\" data-btnType=\"done\">\n <ng-container *nzStringTemplateOutlet=\"item.done\">{{ item.done }}</ng-container>\n </a>\n }\n </div>\n </div>\n </ng-template>\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface OnBoardingKeyStore {\n get(key: string): unknown;\n\n set(key: string, version: unknown): void;\n}\n\nexport const ONBOARDING_STORE_TOKEN = new InjectionToken<OnBoardingKeyStore>('ONBOARDING_STORE_TOKEN', {\n providedIn: 'root',\n factory: ONBOARDING_STORE_TOKEN_FACTORY\n});\n\nexport function ONBOARDING_STORE_TOKEN_FACTORY(): OnBoardingKeyStore {\n return new LocalStorageStore();\n}\n\nexport class LocalStorageStore implements OnBoardingKeyStore {\n get(key: string): unknown {\n return localStorage.getItem(key);\n }\n\n set(key: string, version: unknown): void {\n localStorage.setItem(key, `${version}`);\n }\n}\n","import { Directionality } from '@angular/cdk/bidi';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentRef,\n EmbeddedViewRef,\n Injectable,\n OnDestroy,\n createComponent,\n inject\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 { ONBOARDING_STORE_TOKEN } from './onboarding.storage';\nimport { OnboardingConfig, OnboardingItem, OnboardingOpType } from './onboarding.types';\n\n@Injectable({ providedIn: 'root' })\nexport class OnboardingService implements OnDestroy {\n private readonly i18n = inject(DelonLocaleService);\n private readonly appRef = inject(ApplicationRef);\n private readonly router = inject(Router);\n private readonly doc = inject(DOCUMENT);\n private readonly configSrv = inject(AlainConfigService);\n private readonly keyStoreSrv = inject(ONBOARDING_STORE_TOKEN);\n private readonly directionality = inject(Directionality);\n\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 private attach(): void {\n const compRef = createComponent(OnboardingComponent, {\n environmentInjector: this.appRef.injector\n });\n this.compRef = compRef;\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 const storeKey = this.config?.key;\n if (storeKey != null) {\n this.keyStoreSrv.set(storeKey, this.config?.keyVersion);\n }\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 const cog: OnboardingConfig = {\n keyVersion: '',\n items: [],\n mask: true,\n maskClosable: true,\n showTotal: false,\n ...config\n };\n const storeKey = cog?.key;\n if (storeKey != null && this.keyStoreSrv.get(storeKey) === cog.keyVersion) {\n return;\n }\n if (this.running) {\n return;\n }\n this.destroy();\n this.config = cog;\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';\n\nconst COMPONENTS = [OnboardingComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n DelonLocaleModule,\n NzPopoverModule,\n NzOutletModule,\n NzButtonModule,\n NzNoAnimationModule,\n COMPONENTS\n ],\n exports: COMPONENTS\n})\nexport class OnboardingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -38,10 +38,10 @@ class PageHeaderComponent {
38
38
  this.router = inject(Router);
39
39
  this.cdr = inject(ChangeDetectorRef);
40
40
  this.menuSrv = inject(MenuService);
41
- this.i18nSrv = inject(ALAIN_I18N_TOKEN, { optional: true });
42
- this.titleSrv = inject(TitleService, { optional: true });
41
+ this.i18nSrv = inject(ALAIN_I18N_TOKEN);
42
+ this.titleSrv = inject(TitleService);
43
43
  this.reuseSrv = inject(ReuseTabService, { optional: true });
44
- this.directionality = inject(Directionality, { optional: true });
44
+ this.directionality = inject(Directionality);
45
45
  this.destroy$ = inject(DestroyRef);
46
46
  this.inited = false;
47
47
  this.isBrowser = true;
@@ -76,8 +76,7 @@ class PageHeaderComponent {
76
76
  const obsList = [this.router.events.pipe(filter(ev => ev instanceof NavigationEnd))];
77
77
  if (this.menuSrv != null)
78
78
  obsList.push(this.menuSrv.change);
79
- if (this.i18nSrv != null)
80
- obsList.push(this.i18nSrv.change);
79
+ obsList.push(this.i18nSrv.change);
81
80
  merge(...obsList)
82
81
  .pipe(takeUntilDestroyed(), filter(() => this.inited))
83
82
  .subscribe(() => this.refresh());
@@ -96,14 +95,14 @@ class PageHeaderComponent {
96
95
  if (typeof item.hideInBreadcrumb !== 'undefined' && item.hideInBreadcrumb)
97
96
  return;
98
97
  let title = item.text;
99
- if (item.i18n && this.i18nSrv)
98
+ if (item.i18n)
100
99
  title = this.i18nSrv.fanyi(item.i18n);
101
100
  paths.push({ title, link: (item.link && [item.link]) });
102
101
  });
103
102
  // add home
104
103
  if (this.home) {
105
104
  paths.splice(0, 0, {
106
- title: (this.homeI18n && this.i18nSrv && this.i18nSrv.fanyi(this.homeI18n)) || this.home,
105
+ title: (this.homeI18n && this.i18nSrv.fanyi(this.homeI18n)) || this.home,
107
106
  link: [this.homeLink]
108
107
  });
109
108
  }
@@ -113,15 +112,13 @@ class PageHeaderComponent {
113
112
  if (this._title == null && this._titleTpl == null && this.autoTitle && this.menus.length > 0) {
114
113
  const item = this.menus[this.menus.length - 1];
115
114
  let title = item.text;
116
- if (item.i18n && this.i18nSrv) {
115
+ if (item.i18n) {
117
116
  title = this.i18nSrv.fanyi(item.i18n);
118
117
  }
119
118
  this._titleVal = title;
120
119
  }
121
120
  if (this._titleVal && this.syncTitle) {
122
- if (this.titleSrv) {
123
- this.titleSrv.setTitle(this._titleVal);
124
- }
121
+ this.titleSrv.setTitle(this._titleVal);
125
122
  if (!this.inited && this.reuseSrv) {
126
123
  this.reuseSrv.title = this._titleVal;
127
124
  }
@@ -137,8 +134,8 @@ class PageHeaderComponent {
137
134
  }
138
135
  }
139
136
  ngOnInit() {
140
- this.dir = this.directionality?.value;
141
- this.directionality?.change.pipe(takeUntilDestroyed(this.destroy$)).subscribe(direction => {
137
+ this.dir = this.directionality.value;
138
+ this.directionality.change.pipe(takeUntilDestroyed(this.destroy$)).subscribe(direction => {
142
139
  this.dir = direction;
143
140
  this.cdr.detectChanges();
144
141
  });
@@ -153,10 +150,10 @@ class PageHeaderComponent {
153
150
  this.refresh();
154
151
  }
155
152
  }
156
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PageHeaderComponent, deps: [{ token: i1.SettingsService }, { token: i2.AlainConfigService }, { token: i3.Platform }], target: i0.ɵɵFactoryTarget.Component }); }
157
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: PageHeaderComponent, isStandalone: true, selector: "page-header", inputs: { title: "title", titleSub: "titleSub", loading: ["loading", "loading", booleanAttribute], wide: ["wide", "wide", booleanAttribute], home: "home", homeLink: "homeLink", homeI18n: "homeI18n", autoBreadcrumb: ["autoBreadcrumb", "autoBreadcrumb", booleanAttribute], autoTitle: ["autoTitle", "autoTitle", booleanAttribute], syncTitle: ["syncTitle", "syncTitle", booleanAttribute], fixed: ["fixed", "fixed", booleanAttribute], fixedOffsetTop: ["fixedOffsetTop", "fixedOffsetTop", numberAttribute], breadcrumb: "breadcrumb", recursiveBreadcrumb: ["recursiveBreadcrumb", "recursiveBreadcrumb", booleanAttribute], logo: "logo", action: "action", content: "content", extra: "extra", tab: "tab" }, viewQueries: [{ propertyName: "conTpl", first: true, predicate: ["conTpl"], descendants: true }, { propertyName: "affix", first: true, predicate: ["affix"], descendants: true }], exportAs: ["pageHeader"], usesOnChanges: true, ngImport: i0, template: "@if (isBrowser && fixed) {\n <nz-affix #affix [nzOffsetTop]=\"fixedOffsetTop\">\n <ng-template [ngTemplateOutlet]=\"phTpl\" />\n </nz-affix>\n} @else {\n <ng-template [ngTemplateOutlet]=\"phTpl\" />\n}\n<ng-template #phTpl>\n <div class=\"page-header\" [class.page-header-rtl]=\"dir === 'rtl'\">\n <div [class.page-header__wide]=\"wide\">\n <nz-skeleton\n [nzLoading]=\"loading\"\n [nzTitle]=\"false\"\n [nzActive]=\"true\"\n [nzParagraph]=\"{ rows: 3 }\"\n [nzAvatar]=\"{ size: 'large', shape: 'circle' }\"\n class=\"d-block\"\n >\n @if (breadcrumb) {\n <ng-template [ngTemplateOutlet]=\"breadcrumb\" />\n } @else {\n @if (paths && paths.length > 0) {\n <nz-breadcrumb>\n @for (i of paths; track $index) {\n <nz-breadcrumb-item>\n @if (i.link) {\n <a [routerLink]=\"i.link\">{{ i.title }}</a>\n } @else {\n {{ i.title }}\n }\n </nz-breadcrumb-item>\n }\n </nz-breadcrumb>\n }\n }\n <div class=\"page-header__detail\">\n @if (logo) {\n <div class=\"page-header__logo\">\n <ng-template [ngTemplateOutlet]=\"logo\" />\n </div>\n }\n <div class=\"page-header__main\">\n <div class=\"page-header__row\">\n @if (_titleVal || _titleTpl) {\n <h1 class=\"page-header__title\">\n @if (_titleTpl) {\n <ng-template [ngTemplateOutlet]=\"_titleTpl\" />\n } @else {\n {{ _titleVal }}\n @if (titleSub) {\n <small>\n <ng-container *nzStringTemplateOutlet=\"titleSub\">{{ titleSub }}</ng-container>\n </small>\n }\n }\n </h1>\n }\n @if (action) {\n <div class=\"page-header__action\">\n <ng-template [ngTemplateOutlet]=\"action\" />\n </div>\n }\n </div>\n <div class=\"page-header__row\">\n <div class=\"page-header__desc\" (cdkObserveContent)=\"checkContent()\" #conTpl>\n <ng-content />\n <ng-template [ngTemplateOutlet]=\"content!\" />\n </div>\n @if (extra) {\n <div class=\"page-header__extra\">\n <ng-template [ngTemplateOutlet]=\"extra\" />\n </div>\n }\n </div>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"tab!\" />\n </nz-skeleton>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: NzAffixComponent, selector: "nz-affix", inputs: ["nzTarget", "nzOffsetTop", "nzOffsetBottom"], outputs: ["nzChange"], exportAs: ["nzAffix"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NzSkeletonComponent, selector: "nz-skeleton", inputs: ["nzActive", "nzLoading", "nzRound", "nzTitle", "nzAvatar", "nzParagraph"], exportAs: ["nzSkeleton"] }, { kind: "component", type: NzBreadCrumbComponent, selector: "nz-breadcrumb", inputs: ["nzAutoGenerate", "nzSeparator", "nzRouteLabel", "nzRouteLabelFn"], exportAs: ["nzBreadcrumb"] }, { kind: "component", type: NzBreadCrumbItemComponent, selector: "nz-breadcrumb-item", inputs: ["nzOverlay"], exportAs: ["nzBreadcrumbItem"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
153
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PageHeaderComponent, deps: [{ token: i1.SettingsService }, { token: i2.AlainConfigService }, { token: i3.Platform }], target: i0.ɵɵFactoryTarget.Component }); }
154
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: PageHeaderComponent, isStandalone: true, selector: "page-header", inputs: { title: "title", titleSub: "titleSub", loading: ["loading", "loading", booleanAttribute], wide: ["wide", "wide", booleanAttribute], home: "home", homeLink: "homeLink", homeI18n: "homeI18n", autoBreadcrumb: ["autoBreadcrumb", "autoBreadcrumb", booleanAttribute], autoTitle: ["autoTitle", "autoTitle", booleanAttribute], syncTitle: ["syncTitle", "syncTitle", booleanAttribute], fixed: ["fixed", "fixed", booleanAttribute], fixedOffsetTop: ["fixedOffsetTop", "fixedOffsetTop", numberAttribute], breadcrumb: "breadcrumb", recursiveBreadcrumb: ["recursiveBreadcrumb", "recursiveBreadcrumb", booleanAttribute], logo: "logo", action: "action", content: "content", extra: "extra", tab: "tab" }, viewQueries: [{ propertyName: "conTpl", first: true, predicate: ["conTpl"], descendants: true }, { propertyName: "affix", first: true, predicate: ["affix"], descendants: true }], exportAs: ["pageHeader"], usesOnChanges: true, ngImport: i0, template: "@if (isBrowser && fixed) {\n <nz-affix #affix [nzOffsetTop]=\"fixedOffsetTop\">\n <ng-template [ngTemplateOutlet]=\"phTpl\" />\n </nz-affix>\n} @else {\n <ng-template [ngTemplateOutlet]=\"phTpl\" />\n}\n<ng-template #phTpl>\n <div class=\"page-header\" [class.page-header-rtl]=\"dir === 'rtl'\">\n <div [class.page-header__wide]=\"wide\">\n <nz-skeleton\n [nzLoading]=\"loading\"\n [nzTitle]=\"false\"\n [nzActive]=\"true\"\n [nzParagraph]=\"{ rows: 3 }\"\n [nzAvatar]=\"{ size: 'large', shape: 'circle' }\"\n class=\"d-block\"\n >\n @if (breadcrumb) {\n <ng-template [ngTemplateOutlet]=\"breadcrumb\" />\n } @else {\n @if (paths && paths.length > 0) {\n <nz-breadcrumb>\n @for (i of paths; track $index) {\n <nz-breadcrumb-item>\n @if (i.link) {\n <a [routerLink]=\"i.link\">{{ i.title }}</a>\n } @else {\n {{ i.title }}\n }\n </nz-breadcrumb-item>\n }\n </nz-breadcrumb>\n }\n }\n <div class=\"page-header__detail\">\n @if (logo) {\n <div class=\"page-header__logo\">\n <ng-template [ngTemplateOutlet]=\"logo\" />\n </div>\n }\n <div class=\"page-header__main\">\n <div class=\"page-header__row\">\n @if (_titleVal || _titleTpl) {\n <h1 class=\"page-header__title\">\n @if (_titleTpl) {\n <ng-template [ngTemplateOutlet]=\"_titleTpl\" />\n } @else {\n {{ _titleVal }}\n @if (titleSub) {\n <small>\n <ng-container *nzStringTemplateOutlet=\"titleSub\">{{ titleSub }}</ng-container>\n </small>\n }\n }\n </h1>\n }\n @if (action) {\n <div class=\"page-header__action\">\n <ng-template [ngTemplateOutlet]=\"action\" />\n </div>\n }\n </div>\n <div class=\"page-header__row\">\n <div class=\"page-header__desc\" (cdkObserveContent)=\"checkContent()\" #conTpl>\n <ng-content />\n <ng-template [ngTemplateOutlet]=\"content!\" />\n </div>\n @if (extra) {\n <div class=\"page-header__extra\">\n <ng-template [ngTemplateOutlet]=\"extra\" />\n </div>\n }\n </div>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"tab!\" />\n </nz-skeleton>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: NzAffixComponent, selector: "nz-affix", inputs: ["nzTarget", "nzOffsetTop", "nzOffsetBottom"], outputs: ["nzChange"], exportAs: ["nzAffix"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NzSkeletonComponent, selector: "nz-skeleton", inputs: ["nzActive", "nzLoading", "nzRound", "nzTitle", "nzAvatar", "nzParagraph"], exportAs: ["nzSkeleton"] }, { kind: "component", type: NzBreadCrumbComponent, selector: "nz-breadcrumb", inputs: ["nzAutoGenerate", "nzSeparator", "nzRouteLabel", "nzRouteLabelFn"], exportAs: ["nzBreadcrumb"] }, { kind: "component", type: NzBreadCrumbItemComponent, selector: "nz-breadcrumb-item", inputs: ["nzOverlay"], exportAs: ["nzBreadcrumbItem"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
158
155
  }
159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PageHeaderComponent, decorators: [{
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PageHeaderComponent, decorators: [{
160
157
  type: Component,
161
158
  args: [{ selector: 'page-header', exportAs: 'pageHeader', preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [
162
159
  NzAffixComponent,
@@ -224,15 +221,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
224
221
 
225
222
  const COMPONENTS = [PageHeaderComponent];
226
223
  class PageHeaderModule {
227
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PageHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
228
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: PageHeaderModule, imports: [CommonModule,
224
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PageHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
225
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.5", ngImport: i0, type: PageHeaderModule, imports: [CommonModule,
229
226
  RouterModule,
230
227
  ObserversModule,
231
228
  NzAffixModule,
232
229
  NzSkeletonModule,
233
230
  NzBreadCrumbModule,
234
231
  NzOutletModule, PageHeaderComponent], exports: [PageHeaderComponent] }); }
235
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PageHeaderModule, imports: [CommonModule,
232
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PageHeaderModule, imports: [CommonModule,
236
233
  RouterModule,
237
234
  ObserversModule,
238
235
  NzAffixModule,
@@ -240,7 +237,7 @@ class PageHeaderModule {
240
237
  NzBreadCrumbModule,
241
238
  NzOutletModule, COMPONENTS] }); }
242
239
  }
243
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: PageHeaderModule, decorators: [{
240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: PageHeaderModule, decorators: [{
244
241
  type: NgModule,
245
242
  args: [{
246
243
  imports: [
@@ -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 { CdkObserveContent } from '@angular/cdk/observers';\nimport { Platform } from '@angular/cdk/platform';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NavigationEnd, Router, RouterLink } from '@angular/router';\nimport { merge, filter, Observable } from 'rxjs';\n\nimport { ReuseTabService } from '@delon/abc/reuse-tab';\nimport { ALAIN_I18N_TOKEN, Menu, MenuService, SettingsService, TitleService } from '@delon/theme';\nimport { isEmpty } from '@delon/util/browser';\nimport { AlainConfigService } from '@delon/util/config';\nimport { NzAffixComponent } from 'ng-zorro-antd/affix';\nimport { NzBreadCrumbComponent, NzBreadCrumbItemComponent } from 'ng-zorro-antd/breadcrumb';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzSkeletonComponent } from 'ng-zorro-antd/skeleton';\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 standalone: true,\n imports: [\n NzAffixComponent,\n NgTemplateOutlet,\n NzSkeletonComponent,\n NzBreadCrumbComponent,\n NzBreadCrumbItemComponent,\n RouterLink,\n NzStringTemplateOutletDirective,\n CdkObserveContent\n ]\n})\nexport class PageHeaderComponent implements OnInit, OnChanges, AfterViewInit {\n private readonly renderer = inject(Renderer2);\n private readonly router = inject(Router);\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly menuSrv = inject(MenuService);\n private readonly i18nSrv = inject(ALAIN_I18N_TOKEN, { optional: true });\n private readonly titleSrv = inject(TitleService, { optional: true });\n private readonly reuseSrv = inject(ReuseTabService, { optional: true });\n private readonly directionality = inject(Directionality, { optional: true });\n private readonly destroy$ = inject(DestroyRef);\n\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 @Input() titleSub?: string | TemplateRef<void> | null;\n\n @Input({ transform: booleanAttribute }) loading = false;\n @Input({ transform: booleanAttribute }) wide = false;\n @Input() home?: string;\n @Input() homeLink?: string;\n @Input() homeI18n?: string;\n @Input({ transform: booleanAttribute }) autoBreadcrumb!: boolean;\n @Input({ transform: booleanAttribute }) autoTitle!: boolean;\n @Input({ transform: booleanAttribute }) syncTitle!: boolean;\n @Input({ transform: booleanAttribute }) fixed!: boolean;\n @Input({ transform: numberAttribute }) fixedOffsetTop!: number;\n @Input() breadcrumb?: TemplateRef<NzSafeAny> | null = null;\n @Input({ transform: booleanAttribute }) 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(settings: SettingsService, configSrv: AlainConfigService, platform: Platform) {\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 takeUntilDestroyed(),\n filter(w => this.affix && w.type === 'layout' && w.name === 'collapsed')\n )\n .subscribe(() => this.affix.updatePosition({} as NzSafeAny));\n\n const obsList: Array<Observable<NzSafeAny>> = [this.router.events.pipe(filter(ev => ev instanceof NavigationEnd))];\n if (this.menuSrv != null) obsList.push(this.menuSrv.change);\n if (this.i18nSrv != null) obsList.push(this.i18nSrv.change);\n merge(...obsList)\n .pipe(\n takeUntilDestroyed(),\n filter(() => this.inited)\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(takeUntilDestroyed(this.destroy$)).subscribe(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","@if (isBrowser && fixed) {\n <nz-affix #affix [nzOffsetTop]=\"fixedOffsetTop\">\n <ng-template [ngTemplateOutlet]=\"phTpl\" />\n </nz-affix>\n} @else {\n <ng-template [ngTemplateOutlet]=\"phTpl\" />\n}\n<ng-template #phTpl>\n <div class=\"page-header\" [class.page-header-rtl]=\"dir === 'rtl'\">\n <div [class.page-header__wide]=\"wide\">\n <nz-skeleton\n [nzLoading]=\"loading\"\n [nzTitle]=\"false\"\n [nzActive]=\"true\"\n [nzParagraph]=\"{ rows: 3 }\"\n [nzAvatar]=\"{ size: 'large', shape: 'circle' }\"\n class=\"d-block\"\n >\n @if (breadcrumb) {\n <ng-template [ngTemplateOutlet]=\"breadcrumb\" />\n } @else {\n @if (paths && paths.length > 0) {\n <nz-breadcrumb>\n @for (i of paths; track $index) {\n <nz-breadcrumb-item>\n @if (i.link) {\n <a [routerLink]=\"i.link\">{{ i.title }}</a>\n } @else {\n {{ i.title }}\n }\n </nz-breadcrumb-item>\n }\n </nz-breadcrumb>\n }\n }\n <div class=\"page-header__detail\">\n @if (logo) {\n <div class=\"page-header__logo\">\n <ng-template [ngTemplateOutlet]=\"logo\" />\n </div>\n }\n <div class=\"page-header__main\">\n <div class=\"page-header__row\">\n @if (_titleVal || _titleTpl) {\n <h1 class=\"page-header__title\">\n @if (_titleTpl) {\n <ng-template [ngTemplateOutlet]=\"_titleTpl\" />\n } @else {\n {{ _titleVal }}\n @if (titleSub) {\n <small>\n <ng-container *nzStringTemplateOutlet=\"titleSub\">{{ titleSub }}</ng-container>\n </small>\n }\n }\n </h1>\n }\n @if (action) {\n <div class=\"page-header__action\">\n <ng-template [ngTemplateOutlet]=\"action\" />\n </div>\n }\n </div>\n <div class=\"page-header__row\">\n <div class=\"page-header__desc\" (cdkObserveContent)=\"checkContent()\" #conTpl>\n <ng-content />\n <ng-template [ngTemplateOutlet]=\"content!\" />\n </div>\n @if (extra) {\n <div class=\"page-header__extra\">\n <ng-template [ngTemplateOutlet]=\"extra\" />\n </div>\n }\n </div>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"tab!\" />\n </nz-skeleton>\n </div>\n </div>\n</ng-template>\n","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 { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { PageHeaderComponent } from './page-header.component';\n\nconst COMPONENTS = [PageHeaderComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n ObserversModule,\n NzAffixModule,\n NzSkeletonModule,\n NzBreadCrumbModule,\n NzOutletModule,\n ...COMPONENTS\n ],\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 { CdkObserveContent } from '@angular/cdk/observers';\nimport { Platform } from '@angular/cdk/platform';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NavigationEnd, Router, RouterLink } from '@angular/router';\nimport { merge, filter, Observable } from 'rxjs';\n\nimport { ReuseTabService } from '@delon/abc/reuse-tab';\nimport { ALAIN_I18N_TOKEN, Menu, MenuService, SettingsService, TitleService } from '@delon/theme';\nimport { isEmpty } from '@delon/util/browser';\nimport { AlainConfigService } from '@delon/util/config';\nimport { NzAffixComponent } from 'ng-zorro-antd/affix';\nimport { NzBreadCrumbComponent, NzBreadCrumbItemComponent } from 'ng-zorro-antd/breadcrumb';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzSkeletonComponent } from 'ng-zorro-antd/skeleton';\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 standalone: true,\n imports: [\n NzAffixComponent,\n NgTemplateOutlet,\n NzSkeletonComponent,\n NzBreadCrumbComponent,\n NzBreadCrumbItemComponent,\n RouterLink,\n NzStringTemplateOutletDirective,\n CdkObserveContent\n ]\n})\nexport class PageHeaderComponent implements OnInit, OnChanges, AfterViewInit {\n private readonly renderer = inject(Renderer2);\n private readonly router = inject(Router);\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly menuSrv = inject(MenuService);\n private readonly i18nSrv = inject(ALAIN_I18N_TOKEN);\n private readonly titleSrv = inject(TitleService);\n private readonly reuseSrv = inject(ReuseTabService, { optional: true });\n private readonly directionality = inject(Directionality);\n private readonly destroy$ = inject(DestroyRef);\n\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 @Input() titleSub?: string | TemplateRef<void> | null;\n\n @Input({ transform: booleanAttribute }) loading = false;\n @Input({ transform: booleanAttribute }) wide = false;\n @Input() home?: string;\n @Input() homeLink?: string;\n @Input() homeI18n?: string;\n @Input({ transform: booleanAttribute }) autoBreadcrumb!: boolean;\n @Input({ transform: booleanAttribute }) autoTitle!: boolean;\n @Input({ transform: booleanAttribute }) syncTitle!: boolean;\n @Input({ transform: booleanAttribute }) fixed!: boolean;\n @Input({ transform: numberAttribute }) fixedOffsetTop!: number;\n @Input() breadcrumb?: TemplateRef<NzSafeAny> | null = null;\n @Input({ transform: booleanAttribute }) 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(settings: SettingsService, configSrv: AlainConfigService, platform: Platform) {\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 takeUntilDestroyed(),\n filter(w => this.affix && w.type === 'layout' && w.name === 'collapsed')\n )\n .subscribe(() => this.affix.updatePosition({} as NzSafeAny));\n\n const obsList: Array<Observable<NzSafeAny>> = [this.router.events.pipe(filter(ev => ev instanceof NavigationEnd))];\n if (this.menuSrv != null) obsList.push(this.menuSrv.change);\n obsList.push(this.i18nSrv.change);\n merge(...obsList)\n .pipe(\n takeUntilDestroyed(),\n filter(() => this.inited)\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) 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.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) {\n title = this.i18nSrv.fanyi(item.i18n);\n }\n this._titleVal = title!;\n }\n\n if (this._titleVal && this.syncTitle) {\n this.titleSrv.setTitle(this._titleVal);\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(takeUntilDestroyed(this.destroy$)).subscribe(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","@if (isBrowser && fixed) {\n <nz-affix #affix [nzOffsetTop]=\"fixedOffsetTop\">\n <ng-template [ngTemplateOutlet]=\"phTpl\" />\n </nz-affix>\n} @else {\n <ng-template [ngTemplateOutlet]=\"phTpl\" />\n}\n<ng-template #phTpl>\n <div class=\"page-header\" [class.page-header-rtl]=\"dir === 'rtl'\">\n <div [class.page-header__wide]=\"wide\">\n <nz-skeleton\n [nzLoading]=\"loading\"\n [nzTitle]=\"false\"\n [nzActive]=\"true\"\n [nzParagraph]=\"{ rows: 3 }\"\n [nzAvatar]=\"{ size: 'large', shape: 'circle' }\"\n class=\"d-block\"\n >\n @if (breadcrumb) {\n <ng-template [ngTemplateOutlet]=\"breadcrumb\" />\n } @else {\n @if (paths && paths.length > 0) {\n <nz-breadcrumb>\n @for (i of paths; track $index) {\n <nz-breadcrumb-item>\n @if (i.link) {\n <a [routerLink]=\"i.link\">{{ i.title }}</a>\n } @else {\n {{ i.title }}\n }\n </nz-breadcrumb-item>\n }\n </nz-breadcrumb>\n }\n }\n <div class=\"page-header__detail\">\n @if (logo) {\n <div class=\"page-header__logo\">\n <ng-template [ngTemplateOutlet]=\"logo\" />\n </div>\n }\n <div class=\"page-header__main\">\n <div class=\"page-header__row\">\n @if (_titleVal || _titleTpl) {\n <h1 class=\"page-header__title\">\n @if (_titleTpl) {\n <ng-template [ngTemplateOutlet]=\"_titleTpl\" />\n } @else {\n {{ _titleVal }}\n @if (titleSub) {\n <small>\n <ng-container *nzStringTemplateOutlet=\"titleSub\">{{ titleSub }}</ng-container>\n </small>\n }\n }\n </h1>\n }\n @if (action) {\n <div class=\"page-header__action\">\n <ng-template [ngTemplateOutlet]=\"action\" />\n </div>\n }\n </div>\n <div class=\"page-header__row\">\n <div class=\"page-header__desc\" (cdkObserveContent)=\"checkContent()\" #conTpl>\n <ng-content />\n <ng-template [ngTemplateOutlet]=\"content!\" />\n </div>\n @if (extra) {\n <div class=\"page-header__extra\">\n <ng-template [ngTemplateOutlet]=\"extra\" />\n </div>\n }\n </div>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"tab!\" />\n </nz-skeleton>\n </div>\n </div>\n</ng-template>\n","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 { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { PageHeaderComponent } from './page-header.component';\n\nconst COMPONENTS = [PageHeaderComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n ObserversModule,\n NzAffixModule,\n NzSkeletonModule,\n NzBreadCrumbModule,\n NzOutletModule,\n ...COMPONENTS\n ],\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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"}