@delon/abc 21.0.4 → 21.1.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 (54) hide show
  1. package/fesm2022/auto-focus.mjs +9 -9
  2. package/fesm2022/auto-focus.mjs.map +1 -1
  3. package/fesm2022/cell.mjs +23 -23
  4. package/fesm2022/cell.mjs.map +1 -1
  5. package/fesm2022/chart-observer-size.mjs +10 -10
  6. package/fesm2022/count-down.mjs +10 -10
  7. package/fesm2022/count-down.mjs.map +1 -1
  8. package/fesm2022/date-picker.mjs +12 -12
  9. package/fesm2022/date-picker.mjs.map +1 -1
  10. package/fesm2022/down-file.mjs +13 -13
  11. package/fesm2022/down-file.mjs.map +1 -1
  12. package/fesm2022/ellipsis.mjs +18 -18
  13. package/fesm2022/ellipsis.mjs.map +1 -1
  14. package/fesm2022/error-collect.mjs +10 -10
  15. package/fesm2022/error-collect.mjs.map +1 -1
  16. package/fesm2022/exception.mjs +17 -17
  17. package/fesm2022/exception.mjs.map +1 -1
  18. package/fesm2022/footer-toolbar.mjs +9 -9
  19. package/fesm2022/footer-toolbar.mjs.map +1 -1
  20. package/fesm2022/full-content.mjs +17 -17
  21. package/fesm2022/full-content.mjs.map +1 -1
  22. package/fesm2022/global-footer.mjs +15 -15
  23. package/fesm2022/global-footer.mjs.map +1 -1
  24. package/fesm2022/hotkey.mjs +7 -7
  25. package/fesm2022/loading.mjs +10 -10
  26. package/fesm2022/lodop.mjs +7 -7
  27. package/fesm2022/media.mjs +14 -14
  28. package/fesm2022/media.mjs.map +1 -1
  29. package/fesm2022/notice-icon.mjs +22 -22
  30. package/fesm2022/notice-icon.mjs.map +1 -1
  31. package/fesm2022/onboarding.mjs +11 -11
  32. package/fesm2022/onboarding.mjs.map +1 -1
  33. package/fesm2022/page-header.mjs +30 -30
  34. package/fesm2022/page-header.mjs.map +1 -1
  35. package/fesm2022/pdf.mjs +7 -7
  36. package/fesm2022/quick-menu.mjs +15 -15
  37. package/fesm2022/quick-menu.mjs.map +1 -1
  38. package/fesm2022/reuse-tab.mjs +51 -50
  39. package/fesm2022/reuse-tab.mjs.map +1 -1
  40. package/fesm2022/se.mjs +61 -60
  41. package/fesm2022/se.mjs.map +1 -1
  42. package/fesm2022/sg.mjs +17 -17
  43. package/fesm2022/sg.mjs.map +1 -1
  44. package/fesm2022/st.mjs +35 -35
  45. package/fesm2022/st.mjs.map +1 -1
  46. package/fesm2022/sv.mjs +42 -42
  47. package/fesm2022/sv.mjs.map +1 -1
  48. package/fesm2022/tag-select.mjs +9 -9
  49. package/fesm2022/tag-select.mjs.map +1 -1
  50. package/fesm2022/xlsx.mjs +11 -11
  51. package/fesm2022/xlsx.mjs.map +1 -1
  52. package/fesm2022/zip.mjs +3 -3
  53. package/package.json +5 -5
  54. package/types/reuse-tab.d.ts +5 -4
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker.mjs","sources":["../../../../packages/abc/date-picker/range-shortcut.component.ts","../../../../packages/abc/date-picker/range.directive.ts","../../../../packages/abc/date-picker/date-picker.module.ts","../../../../packages/abc/date-picker/date-picker.ts"],"sourcesContent":["import { Component, TemplateRef, viewChild } from '@angular/core';\n\nimport { AlainDateRangePickerShortcutItem } from '@delon/util/config';\n\n@Component({\n selector: '',\n template: `\n <ng-template #tpl>\n @for (i of list; track $index) {\n <a (click)=\"click(i)\" [innerHTML]=\"i._text\" [class.ml-sm]=\"!$first\"></a>\n }\n </ng-template>\n `\n})\nexport class RangePickerShortcutTplComponent {\n readonly tpl = viewChild.required<TemplateRef<void>>('tpl');\n\n list: AlainDateRangePickerShortcutItem[] = [];\n\n click(_: AlainDateRangePickerShortcutItem): void {}\n}\n","import {\n AfterViewInit,\n ComponentRef,\n Directive,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n inject,\n input,\n model\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { DelonLocaleService } from '@delon/theme';\nimport { AlainConfigService, AlainDateRangePickerShortcut, AlainDateRangePickerShortcutItem } from '@delon/util/config';\nimport { fixEndTimeOfRange, getTimeDistance } from '@delon/util/date-time';\nimport { assert, deepMergeKey } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { toBoolean } from 'ng-zorro-antd/core/util';\nimport { NzDatePickerComponent, NzRangePickerComponent, type ɵDatePickerService } from 'ng-zorro-antd/date-picker';\n\nimport { RangePickerShortcutTplComponent } from './range-shortcut.component';\n\n@Directive({\n selector: 'nz-range-picker[extend]',\n exportAs: 'extendRangePicker'\n})\nexport class RangePickerDirective implements OnDestroy, AfterViewInit {\n private readonly dom = inject(DomSanitizer);\n private readonly vcr = inject(ViewContainerRef);\n private readonly nativeComp = inject(NzRangePickerComponent, { host: true, optional: true });\n private readonly cogSrv = inject(AlainConfigService);\n\n private defaultShortcuts: AlainDateRangePickerShortcut;\n private _shortcut: AlainDateRangePickerShortcut | null = null;\n private shortcutFactory: ComponentRef<RangePickerShortcutTplComponent> | null = null;\n start: Date | null = null;\n end: Date | null = null;\n private locale = inject(DelonLocaleService).getData('datePicker');\n\n readonly shortcut = input(null, {\n transform: (v: AlainDateRangePickerShortcut | string | null) => {\n const cog = deepMergeKey(\n { list: [] },\n true,\n this.defaultShortcuts,\n v == null ? {} : v\n ) as AlainDateRangePickerShortcut;\n if (typeof v !== 'object') {\n cog.enabled = toBoolean(v) !== false;\n }\n this._shortcut = cog;\n this.refreshShortcut();\n return cog;\n }\n });\n readonly ngModelEnd = model.required<NzSafeAny>();\n\n private get dp(): NzDatePickerComponent {\n return this.nativeComp!.datePicker;\n }\n\n private get srv(): ɵDatePickerService {\n return this.dp.datePickerService;\n }\n\n constructor() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n assert(\n !!this.nativeComp,\n `It should be attached to nz-range-picker component, for example: '<nz-range-picker [(ngModel)]=\"i.start\" extend [(ngModelEnd)]=\"i.end\" shortcut></nz-range-picker>'`\n );\n }\n const cog = this.cogSrv.merge('dataRange', {\n nzFormat: 'yyyy-MM-dd',\n nzAllowClear: true,\n nzAutoFocus: false,\n nzPopupStyle: { position: 'relative' },\n nzShowToday: true,\n shortcuts: {\n enabled: false,\n closed: true,\n list: ['today', 'yesterday', '-3', '-7', 'week', 'lastWeek', 'month', 'lastMonth', 'year']\n }\n })!;\n this.defaultShortcuts = { ...cog.shortcuts } as AlainDateRangePickerShortcut;\n Object.assign(this, cog);\n }\n\n private cd(): void {\n (this.dp as NzSafeAny).cdr.markForCheck();\n }\n\n private overrideNative(): void {\n const dp = this.dp;\n dp.writeValue = (value: Date) => {\n const dates = (value && this.ngModelEnd() ? [value, this.ngModelEnd()] : []).filter(w => !!w);\n this.srv.setValue(this.srv.makeValue(dates));\n this.start = dates.length > 0 ? dates[0] : null;\n this.end = dates.length > 0 ? dates[1] : null;\n this.cd();\n };\n\n const oldOnChangeFn = dp.onChangeFn;\n dp.onChangeFn = (list: Array<Date | null>) => {\n let start: Date | null = null;\n let end: Date | null = null;\n if (list.length > 0 && list.filter(w => w != null).length === 2) {\n [start, end] = fixEndTimeOfRange([list[0]!, list[1]!]);\n }\n this.start = start;\n this.end = end;\n oldOnChangeFn(start);\n this.ngModelEnd.set(end);\n };\n }\n\n private refreshShortcut(): void {\n if (!this._shortcut) {\n return;\n }\n const { enabled } = this._shortcut;\n const list = (this._shortcut.list ?? []).map(i => {\n let item: AlainDateRangePickerShortcutItem = typeof i === 'string' ? ({} as AlainDateRangePickerShortcutItem) : i;\n if (typeof i === 'string') {\n switch (i) {\n case 'today': {\n item.fn = () => getTimeDistance('today');\n item.text = this.locale.today;\n break;\n }\n case 'yesterday': {\n item.fn = () => getTimeDistance('yesterday');\n item.text = this.locale.yesterday;\n break;\n }\n case '-3': {\n item.fn = () => getTimeDistance(-2);\n item.text = this.locale.last3Days;\n break;\n }\n case '-7': {\n item.fn = () => getTimeDistance(-6);\n item.text = this.locale.last7Days;\n break;\n }\n case 'week': {\n item.fn = () => getTimeDistance('week');\n item.text = this.locale.thisWeek;\n break;\n }\n case 'lastWeek': {\n item.fn = () => getTimeDistance('-week');\n item.text = this.locale.lastWeek;\n break;\n }\n case 'month': {\n item.fn = () => getTimeDistance('month');\n item.text = this.locale.thisMonth;\n break;\n }\n case 'lastMonth': {\n item.fn = () => getTimeDistance('-month');\n item.text = this.locale.lastMonth;\n break;\n }\n case 'year': {\n item.fn = () => getTimeDistance('year');\n item.text = this.locale.thisYear;\n break;\n }\n }\n }\n item._text = this.dom.bypassSecurityTrustHtml(item.text);\n return item;\n });\n let extraFooter: TemplateRef<NzSafeAny> | undefined;\n if (!this.nativeComp || !enabled) {\n extraFooter = undefined;\n } else {\n if (!this.shortcutFactory) {\n this.shortcutFactory = this.vcr.createComponent(RangePickerShortcutTplComponent);\n }\n const instance = this.shortcutFactory.instance;\n instance.list = list;\n instance.click = (item: AlainDateRangePickerShortcutItem) => {\n const res = item.fn([this.start, this.end]);\n this.srv.setValue(this.srv.makeValue(res as Date[]));\n this.dp.onChangeFn(res);\n this.dp.close();\n };\n extraFooter = instance.tpl();\n }\n this.nativeComp!.datePicker.extraFooter = extraFooter;\n Promise.resolve().then(() => this.cd());\n }\n\n ngAfterViewInit(): void {\n this.overrideNative();\n this.refreshShortcut();\n }\n\n ngOnDestroy(): void {\n this.shortcutFactory?.destroy();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\n\nimport { RangePickerShortcutTplComponent } from './range-shortcut.component';\nimport { RangePickerDirective } from './range.directive';\n\nconst COMPONENTS = [RangePickerDirective, RangePickerShortcutTplComponent];\n\n@NgModule({\n imports: [CommonModule, FormsModule, NzDatePickerModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class DatePickerModule {}\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":"date-picker.mjs","sources":["../../../../packages/abc/date-picker/range-shortcut.component.ts","../../../../packages/abc/date-picker/range.directive.ts","../../../../packages/abc/date-picker/date-picker.module.ts","../../../../packages/abc/date-picker/date-picker.ts"],"sourcesContent":["import { Component, TemplateRef, viewChild } from '@angular/core';\n\nimport { AlainDateRangePickerShortcutItem } from '@delon/util/config';\n\n@Component({\n selector: '',\n template: `\n <ng-template #tpl>\n @for (i of list; track $index) {\n <a (click)=\"click(i)\" [innerHTML]=\"i._text\" [class.ml-sm]=\"!$first\"></a>\n }\n </ng-template>\n `\n})\nexport class RangePickerShortcutTplComponent {\n readonly tpl = viewChild.required<TemplateRef<void>>('tpl');\n\n list: AlainDateRangePickerShortcutItem[] = [];\n\n click(_: AlainDateRangePickerShortcutItem): void {}\n}\n","import {\n AfterViewInit,\n ComponentRef,\n Directive,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n inject,\n input,\n model\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { DelonLocaleService } from '@delon/theme';\nimport { AlainConfigService, AlainDateRangePickerShortcut, AlainDateRangePickerShortcutItem } from '@delon/util/config';\nimport { fixEndTimeOfRange, getTimeDistance } from '@delon/util/date-time';\nimport { assert, deepMergeKey } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { toBoolean } from 'ng-zorro-antd/core/util';\nimport { NzDatePickerComponent, NzRangePickerComponent, type ɵDatePickerService } from 'ng-zorro-antd/date-picker';\n\nimport { RangePickerShortcutTplComponent } from './range-shortcut.component';\n\n@Directive({\n selector: 'nz-range-picker[extend]',\n exportAs: 'extendRangePicker'\n})\nexport class RangePickerDirective implements OnDestroy, AfterViewInit {\n private readonly dom = inject(DomSanitizer);\n private readonly vcr = inject(ViewContainerRef);\n private readonly nativeComp = inject(NzRangePickerComponent, { host: true, optional: true });\n private readonly cogSrv = inject(AlainConfigService);\n\n private defaultShortcuts: AlainDateRangePickerShortcut;\n private _shortcut: AlainDateRangePickerShortcut | null = null;\n private shortcutFactory: ComponentRef<RangePickerShortcutTplComponent> | null = null;\n start: Date | null = null;\n end: Date | null = null;\n private locale = inject(DelonLocaleService).getData('datePicker');\n\n readonly shortcut = input(null, {\n transform: (v: AlainDateRangePickerShortcut | string | null) => {\n const cog = deepMergeKey(\n { list: [] },\n true,\n this.defaultShortcuts,\n v == null ? {} : v\n ) as AlainDateRangePickerShortcut;\n if (typeof v !== 'object') {\n cog.enabled = toBoolean(v) !== false;\n }\n this._shortcut = cog;\n this.refreshShortcut();\n return cog;\n }\n });\n readonly ngModelEnd = model.required<NzSafeAny>();\n\n private get dp(): NzDatePickerComponent {\n return this.nativeComp!.datePicker;\n }\n\n private get srv(): ɵDatePickerService {\n return this.dp.datePickerService;\n }\n\n constructor() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n assert(\n !!this.nativeComp,\n `It should be attached to nz-range-picker component, for example: '<nz-range-picker [(ngModel)]=\"i.start\" extend [(ngModelEnd)]=\"i.end\" shortcut></nz-range-picker>'`\n );\n }\n const cog = this.cogSrv.merge('dataRange', {\n nzFormat: 'yyyy-MM-dd',\n nzAllowClear: true,\n nzAutoFocus: false,\n nzPopupStyle: { position: 'relative' },\n nzShowToday: true,\n shortcuts: {\n enabled: false,\n closed: true,\n list: ['today', 'yesterday', '-3', '-7', 'week', 'lastWeek', 'month', 'lastMonth', 'year']\n }\n })!;\n this.defaultShortcuts = { ...cog.shortcuts } as AlainDateRangePickerShortcut;\n Object.assign(this, cog);\n }\n\n private cd(): void {\n (this.dp as NzSafeAny).cdr.markForCheck();\n }\n\n private overrideNative(): void {\n const dp = this.dp;\n dp.writeValue = (value: Date) => {\n const dates = (value && this.ngModelEnd() ? [value, this.ngModelEnd()] : []).filter(w => !!w);\n this.srv.setValue(this.srv.makeValue(dates));\n this.start = dates.length > 0 ? dates[0] : null;\n this.end = dates.length > 0 ? dates[1] : null;\n this.cd();\n };\n\n const oldOnChangeFn = dp.onChangeFn;\n dp.onChangeFn = (list: Array<Date | null>) => {\n let start: Date | null = null;\n let end: Date | null = null;\n if (list.length > 0 && list.filter(w => w != null).length === 2) {\n [start, end] = fixEndTimeOfRange([list[0]!, list[1]!]);\n }\n this.start = start;\n this.end = end;\n oldOnChangeFn(start);\n this.ngModelEnd.set(end);\n };\n }\n\n private refreshShortcut(): void {\n if (!this._shortcut) {\n return;\n }\n const { enabled } = this._shortcut;\n const list = (this._shortcut.list ?? []).map(i => {\n let item: AlainDateRangePickerShortcutItem = typeof i === 'string' ? ({} as AlainDateRangePickerShortcutItem) : i;\n if (typeof i === 'string') {\n switch (i) {\n case 'today': {\n item.fn = () => getTimeDistance('today');\n item.text = this.locale.today;\n break;\n }\n case 'yesterday': {\n item.fn = () => getTimeDistance('yesterday');\n item.text = this.locale.yesterday;\n break;\n }\n case '-3': {\n item.fn = () => getTimeDistance(-2);\n item.text = this.locale.last3Days;\n break;\n }\n case '-7': {\n item.fn = () => getTimeDistance(-6);\n item.text = this.locale.last7Days;\n break;\n }\n case 'week': {\n item.fn = () => getTimeDistance('week');\n item.text = this.locale.thisWeek;\n break;\n }\n case 'lastWeek': {\n item.fn = () => getTimeDistance('-week');\n item.text = this.locale.lastWeek;\n break;\n }\n case 'month': {\n item.fn = () => getTimeDistance('month');\n item.text = this.locale.thisMonth;\n break;\n }\n case 'lastMonth': {\n item.fn = () => getTimeDistance('-month');\n item.text = this.locale.lastMonth;\n break;\n }\n case 'year': {\n item.fn = () => getTimeDistance('year');\n item.text = this.locale.thisYear;\n break;\n }\n }\n }\n item._text = this.dom.bypassSecurityTrustHtml(item.text);\n return item;\n });\n let extraFooter: TemplateRef<NzSafeAny> | undefined;\n if (!this.nativeComp || !enabled) {\n extraFooter = undefined;\n } else {\n if (!this.shortcutFactory) {\n this.shortcutFactory = this.vcr.createComponent(RangePickerShortcutTplComponent);\n }\n const instance = this.shortcutFactory.instance;\n instance.list = list;\n instance.click = (item: AlainDateRangePickerShortcutItem) => {\n const res = item.fn([this.start, this.end]);\n this.srv.setValue(this.srv.makeValue(res as Date[]));\n this.dp.onChangeFn(res);\n this.dp.close();\n };\n extraFooter = instance.tpl();\n }\n this.nativeComp!.datePicker.extraFooter = extraFooter;\n Promise.resolve().then(() => this.cd());\n }\n\n ngAfterViewInit(): void {\n this.overrideNative();\n this.refreshShortcut();\n }\n\n ngOnDestroy(): void {\n this.shortcutFactory?.destroy();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\n\nimport { RangePickerShortcutTplComponent } from './range-shortcut.component';\nimport { RangePickerDirective } from './range.directive';\n\nconst COMPONENTS = [RangePickerDirective, RangePickerShortcutTplComponent];\n\n@NgModule({\n imports: [CommonModule, FormsModule, NzDatePickerModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class DatePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -8,12 +8,12 @@ import { CommonModule } from '@angular/common';
8
8
  class DownFileDirective {
9
9
  el = inject(ElementRef).nativeElement;
10
10
  _http = inject(_HttpClient);
11
- httpData = input(undefined, { ...(ngDevMode ? { debugName: "httpData" } : {}), alias: 'http-data' });
12
- httpBody = input(undefined, { ...(ngDevMode ? { debugName: "httpBody" } : {}), alias: 'http-body' });
13
- httpMethod = input('get', { ...(ngDevMode ? { debugName: "httpMethod" } : {}), alias: 'http-method' });
14
- httpUrl = input.required({ ...(ngDevMode ? { debugName: "httpUrl" } : {}), alias: 'http-url' });
15
- fileName = input(undefined, { ...(ngDevMode ? { debugName: "fileName" } : {}), alias: 'file-name' });
16
- pre = input(...(ngDevMode ? [undefined, { debugName: "pre" }] : []));
11
+ httpData = input(undefined, { ...(ngDevMode ? { debugName: "httpData" } : /* istanbul ignore next */ {}), alias: 'http-data' });
12
+ httpBody = input(undefined, { ...(ngDevMode ? { debugName: "httpBody" } : /* istanbul ignore next */ {}), alias: 'http-body' });
13
+ httpMethod = input('get', { ...(ngDevMode ? { debugName: "httpMethod" } : /* istanbul ignore next */ {}), alias: 'http-method' });
14
+ httpUrl = input.required({ ...(ngDevMode ? { debugName: "httpUrl" } : /* istanbul ignore next */ {}), alias: 'http-url' });
15
+ fileName = input(undefined, { ...(ngDevMode ? { debugName: "fileName" } : /* istanbul ignore next */ {}), alias: 'file-name' });
16
+ pre = input(...(ngDevMode ? [undefined, { debugName: "pre" }] : /* istanbul ignore next */ []));
17
17
  success = output();
18
18
  error = output();
19
19
  getDisposition(data) {
@@ -83,10 +83,10 @@ class DownFileDirective {
83
83
  error: err => this.error.emit(err)
84
84
  });
85
85
  }
86
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: DownFileDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
87
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: DownFileDirective, isStandalone: true, selector: "[down-file]", inputs: { httpData: { classPropertyName: "httpData", publicName: "http-data", isSignal: true, isRequired: false, transformFunction: null }, httpBody: { classPropertyName: "httpBody", publicName: "http-body", isSignal: true, isRequired: false, transformFunction: null }, httpMethod: { classPropertyName: "httpMethod", publicName: "http-method", isSignal: true, isRequired: false, transformFunction: null }, httpUrl: { classPropertyName: "httpUrl", publicName: "http-url", isSignal: true, isRequired: true, transformFunction: null }, fileName: { classPropertyName: "fileName", publicName: "file-name", isSignal: true, isRequired: false, transformFunction: null }, pre: { classPropertyName: "pre", publicName: "pre", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { success: "success", error: "error" }, host: { listeners: { "click": "_click($event)" } }, exportAs: ["downFile"], ngImport: i0 });
86
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: DownFileDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
87
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.6", type: DownFileDirective, isStandalone: true, selector: "[down-file]", inputs: { httpData: { classPropertyName: "httpData", publicName: "http-data", isSignal: true, isRequired: false, transformFunction: null }, httpBody: { classPropertyName: "httpBody", publicName: "http-body", isSignal: true, isRequired: false, transformFunction: null }, httpMethod: { classPropertyName: "httpMethod", publicName: "http-method", isSignal: true, isRequired: false, transformFunction: null }, httpUrl: { classPropertyName: "httpUrl", publicName: "http-url", isSignal: true, isRequired: true, transformFunction: null }, fileName: { classPropertyName: "fileName", publicName: "file-name", isSignal: true, isRequired: false, transformFunction: null }, pre: { classPropertyName: "pre", publicName: "pre", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { success: "success", error: "error" }, host: { listeners: { "click": "_click($event)" } }, exportAs: ["downFile"], ngImport: i0 });
88
88
  }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: DownFileDirective, decorators: [{
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: DownFileDirective, decorators: [{
90
90
  type: Directive,
91
91
  args: [{
92
92
  selector: '[down-file]',
@@ -99,11 +99,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
99
99
 
100
100
  const DIRECTIVES = [DownFileDirective];
101
101
  class DownFileModule {
102
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: DownFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
103
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: DownFileModule, imports: [CommonModule, AlainThemeModule, DownFileDirective], exports: [DownFileDirective] });
104
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: DownFileModule, imports: [CommonModule, AlainThemeModule] });
102
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: DownFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
103
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.6", ngImport: i0, type: DownFileModule, imports: [CommonModule, AlainThemeModule, DownFileDirective], exports: [DownFileDirective] });
104
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: DownFileModule, imports: [CommonModule, AlainThemeModule] });
105
105
  }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: DownFileModule, decorators: [{
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: DownFileModule, decorators: [{
107
107
  type: NgModule,
108
108
  args: [{
109
109
  imports: [CommonModule, AlainThemeModule, ...DIRECTIVES],
@@ -1 +1 @@
1
- {"version":3,"file":"down-file.mjs","sources":["../../../../packages/abc/down-file/down-file.directive.ts","../../../../packages/abc/down-file/down-file.module.ts","../../../../packages/abc/down-file/down-file.ts"],"sourcesContent":["import { HttpResponse } from '@angular/common/http';\nimport { Directive, ElementRef, inject, input, output } from '@angular/core';\nimport { finalize } from 'rxjs';\n\nimport { saveAs } from 'file-saver';\n\nimport { _HttpClient } from '@delon/theme';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n@Directive({\n selector: '[down-file]',\n exportAs: 'downFile',\n host: {\n '(click)': '_click($event)'\n }\n})\nexport class DownFileDirective {\n private readonly el: HTMLButtonElement = inject(ElementRef).nativeElement;\n private readonly _http = inject(_HttpClient);\n readonly httpData = input<NzSafeAny>(undefined, { alias: 'http-data' });\n readonly httpBody = input<NzSafeAny>(undefined, { alias: 'http-body' });\n readonly httpMethod = input<string>('get', { alias: 'http-method' });\n readonly httpUrl = input.required<string>({ alias: 'http-url' });\n readonly fileName = input<string | ((rep: HttpResponse<Blob>) => string)>(undefined, { alias: 'file-name' });\n readonly pre = input<(ev: MouseEvent) => Promise<boolean>>();\n\n readonly success = output<HttpResponse<Blob>>();\n readonly error = output<NzSafeAny>();\n\n private getDisposition(data: string | null): NzSafeAny {\n const arr: Array<Record<string, string>> = (data ?? '')\n .split(';')\n .filter(i => i.includes('='))\n .map(v => {\n const strArr = v.split('=');\n const utfId = `UTF-8''`;\n let value = strArr[1];\n if (value.startsWith(utfId)) value = value.substring(utfId.length);\n return { [strArr[0].trim()]: value };\n });\n return arr.reduce((_o, item) => item, {});\n }\n private isFileSaverSupported = false;\n\n constructor() {\n try {\n this.isFileSaverSupported = !!new Blob();\n } catch {}\n if (!this.isFileSaverSupported) {\n this.el.classList.add(`down-file__not-support`);\n }\n }\n\n private setDisabled(status: boolean): void {\n const el = this.el;\n el.disabled = status;\n el.classList[status ? 'add' : 'remove'](`down-file__disabled`);\n }\n\n protected async _click(ev: MouseEvent): Promise<void> {\n const pre = this.pre();\n if (!this.isFileSaverSupported || (typeof pre === 'function' && !(await pre(ev)))) {\n ev.stopPropagation();\n ev.preventDefault();\n return;\n }\n this.setDisabled(true);\n this._http\n .request(this.httpMethod(), this.httpUrl(), {\n params: this.httpData() ?? {},\n responseType: 'blob',\n observe: 'response',\n body: this.httpBody()\n })\n .pipe(finalize(() => this.setDisabled(false)))\n .subscribe({\n next: (res: HttpResponse<Blob>) => {\n if (res.status !== 200 || res.body!.size <= 0) {\n this.error.emit(res);\n return;\n }\n const disposition = this.getDisposition(res.headers.get('content-disposition'));\n let fileName = this.fileName();\n if (typeof fileName === 'function') fileName = fileName(res);\n fileName =\n fileName ||\n disposition[`filename*`] ||\n disposition[`filename`] ||\n res.headers.get('filename') ||\n res.headers.get('x-filename');\n saveAs(res.body!, decodeURI(fileName as string));\n this.success.emit(res);\n },\n error: err => this.error.emit(err)\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AlainThemeModule } from '@delon/theme';\n\nimport { DownFileDirective } from './down-file.directive';\n\nconst DIRECTIVES = [DownFileDirective];\n\n@NgModule({\n imports: [CommonModule, AlainThemeModule, ...DIRECTIVES],\n exports: DIRECTIVES\n})\nexport class DownFileModule {}\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":"down-file.mjs","sources":["../../../../packages/abc/down-file/down-file.directive.ts","../../../../packages/abc/down-file/down-file.module.ts","../../../../packages/abc/down-file/down-file.ts"],"sourcesContent":["import { HttpResponse } from '@angular/common/http';\nimport { Directive, ElementRef, inject, input, output } from '@angular/core';\nimport { finalize } from 'rxjs';\n\nimport { saveAs } from 'file-saver';\n\nimport { _HttpClient } from '@delon/theme';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n@Directive({\n selector: '[down-file]',\n exportAs: 'downFile',\n host: {\n '(click)': '_click($event)'\n }\n})\nexport class DownFileDirective {\n private readonly el: HTMLButtonElement = inject(ElementRef).nativeElement;\n private readonly _http = inject(_HttpClient);\n readonly httpData = input<NzSafeAny>(undefined, { alias: 'http-data' });\n readonly httpBody = input<NzSafeAny>(undefined, { alias: 'http-body' });\n readonly httpMethod = input<string>('get', { alias: 'http-method' });\n readonly httpUrl = input.required<string>({ alias: 'http-url' });\n readonly fileName = input<string | ((rep: HttpResponse<Blob>) => string)>(undefined, { alias: 'file-name' });\n readonly pre = input<(ev: MouseEvent) => Promise<boolean>>();\n\n readonly success = output<HttpResponse<Blob>>();\n readonly error = output<NzSafeAny>();\n\n private getDisposition(data: string | null): NzSafeAny {\n const arr: Array<Record<string, string>> = (data ?? '')\n .split(';')\n .filter(i => i.includes('='))\n .map(v => {\n const strArr = v.split('=');\n const utfId = `UTF-8''`;\n let value = strArr[1];\n if (value.startsWith(utfId)) value = value.substring(utfId.length);\n return { [strArr[0].trim()]: value };\n });\n return arr.reduce((_o, item) => item, {});\n }\n private isFileSaverSupported = false;\n\n constructor() {\n try {\n this.isFileSaverSupported = !!new Blob();\n } catch {}\n if (!this.isFileSaverSupported) {\n this.el.classList.add(`down-file__not-support`);\n }\n }\n\n private setDisabled(status: boolean): void {\n const el = this.el;\n el.disabled = status;\n el.classList[status ? 'add' : 'remove'](`down-file__disabled`);\n }\n\n protected async _click(ev: MouseEvent): Promise<void> {\n const pre = this.pre();\n if (!this.isFileSaverSupported || (typeof pre === 'function' && !(await pre(ev)))) {\n ev.stopPropagation();\n ev.preventDefault();\n return;\n }\n this.setDisabled(true);\n this._http\n .request(this.httpMethod(), this.httpUrl(), {\n params: this.httpData() ?? {},\n responseType: 'blob',\n observe: 'response',\n body: this.httpBody()\n })\n .pipe(finalize(() => this.setDisabled(false)))\n .subscribe({\n next: (res: HttpResponse<Blob>) => {\n if (res.status !== 200 || res.body!.size <= 0) {\n this.error.emit(res);\n return;\n }\n const disposition = this.getDisposition(res.headers.get('content-disposition'));\n let fileName = this.fileName();\n if (typeof fileName === 'function') fileName = fileName(res);\n fileName =\n fileName ||\n disposition[`filename*`] ||\n disposition[`filename`] ||\n res.headers.get('filename') ||\n res.headers.get('x-filename');\n saveAs(res.body!, decodeURI(fileName as string));\n this.success.emit(res);\n },\n error: err => this.error.emit(err)\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AlainThemeModule } from '@delon/theme';\n\nimport { DownFileDirective } from './down-file.directive';\n\nconst DIRECTIVES = [DownFileDirective];\n\n@NgModule({\n imports: [CommonModule, AlainThemeModule, ...DIRECTIVES],\n exports: DIRECTIVES\n})\nexport class DownFileModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -12,18 +12,18 @@ class EllipsisComponent {
12
12
  doc = inject(DOCUMENT);
13
13
  isSupportLineClamp = this.doc.body.style['webkitLineClamp'] !== undefined;
14
14
  orgEl = viewChild.required('orgEl');
15
- shadowOrgEl = viewChild('shadowOrgEl', ...(ngDevMode ? [{ debugName: "shadowOrgEl" }] : []));
16
- shadowTextEl = viewChild('shadowTextEl', ...(ngDevMode ? [{ debugName: "shadowTextEl" }] : []));
17
- orgHtml = signal(null, ...(ngDevMode ? [{ debugName: "orgHtml" }] : []));
18
- type = signal('default', ...(ngDevMode ? [{ debugName: "type" }] : []));
19
- cls = signal({}, ...(ngDevMode ? [{ debugName: "cls" }] : []));
20
- text = signal('', ...(ngDevMode ? [{ debugName: "text" }] : []));
15
+ shadowOrgEl = viewChild('shadowOrgEl', ...(ngDevMode ? [{ debugName: "shadowOrgEl" }] : /* istanbul ignore next */ []));
16
+ shadowTextEl = viewChild('shadowTextEl', ...(ngDevMode ? [{ debugName: "shadowTextEl" }] : /* istanbul ignore next */ []));
17
+ orgHtml = signal(null, ...(ngDevMode ? [{ debugName: "orgHtml" }] : /* istanbul ignore next */ []));
18
+ type = signal('default', ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
19
+ cls = signal({}, ...(ngDevMode ? [{ debugName: "cls" }] : /* istanbul ignore next */ []));
20
+ text = signal('', ...(ngDevMode ? [{ debugName: "text" }] : /* istanbul ignore next */ []));
21
21
  targetCount = 0;
22
- tooltip = input(false, { ...(ngDevMode ? { debugName: "tooltip" } : {}), transform: booleanAttribute });
23
- length = input(null, { ...(ngDevMode ? { debugName: "length" } : {}), transform: (v) => (v == null ? null : numberAttribute(v)) });
24
- lines = input(null, { ...(ngDevMode ? { debugName: "lines" } : {}), transform: (v) => (v == null ? null : numberAttribute(v)) });
25
- fullWidthRecognition = input(false, { ...(ngDevMode ? { debugName: "fullWidthRecognition" } : {}), transform: booleanAttribute });
26
- tail = input('...', ...(ngDevMode ? [{ debugName: "tail" }] : []));
22
+ tooltip = input(false, { ...(ngDevMode ? { debugName: "tooltip" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
23
+ length = input(null, { ...(ngDevMode ? { debugName: "length" } : /* istanbul ignore next */ {}), transform: (v) => (v == null ? null : numberAttribute(v)) });
24
+ lines = input(null, { ...(ngDevMode ? { debugName: "lines" } : /* istanbul ignore next */ {}), transform: (v) => (v == null ? null : numberAttribute(v)) });
25
+ fullWidthRecognition = input(false, { ...(ngDevMode ? { debugName: "fullWidthRecognition" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
26
+ tail = input('...', ...(ngDevMode ? [{ debugName: "tail" }] : /* istanbul ignore next */ []));
27
27
  get linsWord() {
28
28
  const { targetCount, text, tail } = this;
29
29
  return ((targetCount > 0 ? text().substring(0, targetCount) : '') +
@@ -178,8 +178,8 @@ class EllipsisComponent {
178
178
  });
179
179
  });
180
180
  }
181
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: EllipsisComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
182
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: EllipsisComponent, isStandalone: true, selector: "ellipsis", inputs: { tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, length: { classPropertyName: "length", publicName: "length", isSignal: true, isRequired: false, transformFunction: null }, lines: { classPropertyName: "lines", publicName: "lines", isSignal: true, isRequired: false, transformFunction: null }, fullWidthRecognition: { classPropertyName: "fullWidthRecognition", publicName: "fullWidthRecognition", isSignal: true, isRequired: false, transformFunction: null }, tail: { classPropertyName: "tail", publicName: "tail", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "orgEl", first: true, predicate: ["orgEl"], descendants: true, isSignal: true }, { propertyName: "shadowOrgEl", first: true, predicate: ["shadowOrgEl"], descendants: true, isSignal: true }, { propertyName: "shadowTextEl", first: true, predicate: ["shadowTextEl"], descendants: true, isSignal: true }], exportAs: ["ellipsis"], ngImport: i0, template: `
181
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: EllipsisComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
182
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: EllipsisComponent, isStandalone: true, selector: "ellipsis", inputs: { tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, length: { classPropertyName: "length", publicName: "length", isSignal: true, isRequired: false, transformFunction: null }, lines: { classPropertyName: "lines", publicName: "lines", isSignal: true, isRequired: false, transformFunction: null }, fullWidthRecognition: { classPropertyName: "fullWidthRecognition", publicName: "fullWidthRecognition", isSignal: true, isRequired: false, transformFunction: null }, tail: { classPropertyName: "tail", publicName: "tail", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "orgEl", first: true, predicate: ["orgEl"], descendants: true, isSignal: true }, { propertyName: "shadowOrgEl", first: true, predicate: ["shadowOrgEl"], descendants: true, isSignal: true }, { propertyName: "shadowTextEl", first: true, predicate: ["shadowTextEl"], descendants: true, isSignal: true }], exportAs: ["ellipsis"], ngImport: i0, template: `
183
183
  <div (cdkObserveContent)="refresh()" #orgEl style="display: none"><ng-content /></div>
184
184
  <ng-template #tooltipTpl let-con>
185
185
  @if (tooltip()) {
@@ -225,7 +225,7 @@ class EllipsisComponent {
225
225
  }
226
226
  `, isInline: true, dependencies: [{ kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "directive", type: NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "cdkConnectedOverlayPush", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
227
227
  }
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: EllipsisComponent, decorators: [{
228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: EllipsisComponent, decorators: [{
229
229
  type: Component,
230
230
  args: [{
231
231
  selector: 'ellipsis',
@@ -283,11 +283,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
283
283
 
284
284
  const COMPONENTS = [EllipsisComponent];
285
285
  class EllipsisModule {
286
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: EllipsisModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
287
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: EllipsisModule, imports: [CommonModule, ObserversModule, NzTooltipModule, EllipsisComponent], exports: [EllipsisComponent] });
288
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: EllipsisModule, imports: [CommonModule, ObserversModule, NzTooltipModule] });
286
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: EllipsisModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
287
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.6", ngImport: i0, type: EllipsisModule, imports: [CommonModule, ObserversModule, NzTooltipModule, EllipsisComponent], exports: [EllipsisComponent] });
288
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: EllipsisModule, imports: [CommonModule, ObserversModule, NzTooltipModule] });
289
289
  }
290
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: EllipsisModule, decorators: [{
290
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: EllipsisModule, decorators: [{
291
291
  type: NgModule,
292
292
  args: [{
293
293
  imports: [CommonModule, ObserversModule, NzTooltipModule, ...COMPONENTS],
@@ -1 +1 @@
1
- {"version":3,"file":"ellipsis.mjs","sources":["../../../../packages/abc/ellipsis/ellipsis.component.ts","../../../../packages/abc/ellipsis/ellipsis.module.ts","../../../../packages/abc/ellipsis/ellipsis.ts"],"sourcesContent":["import { CdkObserveContent } from '@angular/cdk/observers';\nimport { DOCUMENT, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Injector,\n ViewEncapsulation,\n afterNextRender,\n booleanAttribute,\n effect,\n inject,\n input,\n numberAttribute,\n runInInjectionContext,\n signal,\n viewChild\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzTooltipDirective } from 'ng-zorro-antd/tooltip';\n\n@Component({\n selector: 'ellipsis',\n exportAs: 'ellipsis',\n template: `\n <div (cdkObserveContent)=\"refresh()\" #orgEl style=\"display: none\"><ng-content /></div>\n <ng-template #tooltipTpl let-con>\n @if (tooltip()) {\n <span\n nz-tooltip\n [nzTooltipTitle]=\"titleTpl\"\n [nzTooltipOverlayStyle]=\"{ 'overflow-wrap': 'break-word', 'word-wrap': 'break-word' }\"\n >\n <ng-container *ngTemplateOutlet=\"con\" />\n <ng-template #titleTpl><div [innerHTML]=\"orgHtml()\"></div></ng-template>\n </span>\n } @else {\n <ng-container *ngTemplateOutlet=\"con\" />\n }\n </ng-template>\n @let c = cls();\n @switch (type()) {\n @case ('default') {\n <span [class]=\"c\"></span>\n }\n @case ('length') {\n <ng-template [ngTemplateOutlet]=\"tooltipTpl\" [ngTemplateOutletContext]=\"{ $implicit: lengthTpl }\" />\n <ng-template #lengthTpl>{{ text() }}</ng-template>\n }\n @case ('line-clamp') {\n <ng-template [ngTemplateOutlet]=\"tooltipTpl\" [ngTemplateOutletContext]=\"{ $implicit: lineClampTpl }\" />\n <ng-template #lineClampTpl>\n <div [class]=\"c\" [style]=\"{ '-webkit-line-clamp': lines(), '-webkit-box-orient': 'vertical' }\"></div>\n </ng-template>\n }\n @case ('line') {\n <div [class]=\"c\">\n <div class=\"ellipsis__handle\">\n <ng-template [ngTemplateOutlet]=\"tooltipTpl\" [ngTemplateOutletContext]=\"{ $implicit: lineTpl }\" />\n <ng-template #lineTpl>{{ linsWord }}</ng-template>\n <div class=\"ellipsis__shadow\" #shadowOrgEl [innerHTML]=\"orgHtml()\"></div>\n <div class=\"ellipsis__shadow\" #shadowTextEl>\n <span>{{ text() }}</span>\n </div>\n </div>\n </div>\n }\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [CdkObserveContent, NzTooltipDirective, NgTemplateOutlet]\n})\nexport class EllipsisComponent {\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly injector = inject(Injector);\n private readonly dom = inject(DomSanitizer);\n private readonly doc = inject(DOCUMENT);\n private isSupportLineClamp = this.doc.body.style['webkitLineClamp'] !== undefined;\n private readonly orgEl = viewChild.required<ElementRef<HTMLElement>>('orgEl');\n private readonly shadowOrgEl = viewChild<ElementRef<HTMLElement>>('shadowOrgEl');\n private readonly shadowTextEl = viewChild<ElementRef<HTMLElement>>('shadowTextEl');\n protected orgHtml = signal<SafeHtml | null>(null);\n protected type = signal('default');\n protected cls = signal<Record<string, NzSafeAny>>({});\n readonly text = signal('');\n targetCount = 0;\n\n readonly tooltip = input(false, { transform: booleanAttribute });\n readonly length = input(null, {\n transform: (v: unknown) => (v == null ? null : numberAttribute(v))\n });\n readonly lines = input(null, {\n transform: (v: unknown) => (v == null ? null : numberAttribute(v))\n });\n readonly fullWidthRecognition = input(false, { transform: booleanAttribute });\n readonly tail = input('...');\n\n protected get linsWord(): string {\n const { targetCount, text, tail } = this;\n return (\n (targetCount > 0 ? text().substring(0, targetCount) : '') +\n (targetCount > 0 && targetCount < text().length ? tail() : '')\n );\n }\n\n private get win(): NzSafeAny {\n return this.doc.defaultView ?? window;\n }\n\n constructor() {\n effect(() => {\n this.refresh();\n });\n }\n\n private getStrFullLength(str: string): number {\n return str.split('').reduce((pre, cur) => {\n const charCode = cur.charCodeAt(0);\n if (charCode >= 0 && charCode <= 128) {\n return pre + 1;\n }\n return pre + 2;\n }, 0);\n }\n\n private cutStrByFullLength(str: string, maxLength: number): string {\n let showLength = 0;\n return str.split('').reduce((pre, cur) => {\n const charCode = cur.charCodeAt(0);\n if (charCode >= 0 && charCode <= 128) {\n showLength += 1;\n } else {\n showLength += 2;\n }\n if (showLength <= maxLength) {\n return pre + cur;\n }\n return pre;\n }, '');\n }\n\n private bisection(\n targetHeight: number,\n mid: number,\n begin: number,\n end: number,\n text: string,\n node: HTMLElement\n ): number {\n const suffix = this.tail();\n node.innerHTML = text.substring(0, mid) + suffix;\n let sh = node.offsetHeight;\n\n if (sh <= targetHeight) {\n node.innerHTML = text.substring(0, mid + 1) + suffix;\n sh = node.offsetHeight;\n if (sh > targetHeight || mid === begin) {\n return mid;\n }\n begin = mid;\n mid = end - begin === 1 ? begin + 1 : Math.floor((end - begin) / 2) + begin;\n return this.bisection(targetHeight, mid, begin, end, text, node);\n }\n if (mid - 1 < 0) {\n return mid;\n }\n node.innerHTML = text.substring(0, mid - 1) + suffix;\n sh = node.offsetHeight;\n if (sh <= targetHeight) {\n return mid - 1;\n }\n end = mid;\n mid = Math.floor((end - begin) / 2) + begin;\n return this.bisection(targetHeight, mid, begin, end, text, node);\n }\n\n private genType(): void {\n const lines = this.lines();\n const length = this.length();\n const isSupportLineClamp = this.isSupportLineClamp;\n this.cls.set({\n ellipsis: true,\n ellipsis__lines: lines && !isSupportLineClamp,\n 'ellipsis__line-clamp': lines && isSupportLineClamp\n });\n if (!lines && !length) {\n this.type.set('default');\n } else if (!lines) {\n this.type.set('length');\n } else if (isSupportLineClamp) {\n this.type.set('line-clamp');\n } else {\n this.type.set('line');\n }\n }\n\n private gen(): void {\n const lines = this.lines();\n const length = this.length();\n const type = this.type();\n const { fullWidthRecognition, tail, orgEl } = this;\n if (type === 'length') {\n const lengthText = orgEl().nativeElement.textContent!;\n const textLength = fullWidthRecognition() ? this.getStrFullLength(lengthText) : lengthText.length;\n if (length == null || textLength <= length || length < 0) {\n this.text.set(lengthText);\n } else {\n let displayText: string;\n if (length - tail().length <= 0) {\n displayText = '';\n } else {\n displayText = fullWidthRecognition()\n ? this.cutStrByFullLength(lengthText, length)\n : lengthText.slice(0, length);\n }\n this.text.set(displayText + tail());\n }\n } else if (type === 'line') {\n const { shadowOrgEl, shadowTextEl } = this;\n const orgNode = shadowOrgEl()!.nativeElement;\n const lineText = orgNode.innerText ?? orgNode.textContent!;\n const lineHeight = parseInt(this.win.getComputedStyle(this.getEl('.ellipsis')).lineHeight!, 10);\n const targetHeight = lines! * lineHeight;\n const handleEl = this.getEl('.ellipsis__handle');\n handleEl!.style.height = `${targetHeight}px`;\n\n if (orgNode.offsetHeight <= targetHeight) {\n this.text.set(lineText);\n this.targetCount = lineText.length;\n } else {\n // bisection\n const len = lineText.length;\n const mid = Math.ceil(len / 2);\n\n const firstChild = shadowTextEl()!.nativeElement.firstChild as HTMLElement;\n const count = this.bisection(targetHeight, mid, 0, len, lineText, firstChild);\n this.text.set(lineText);\n this.targetCount = count;\n }\n }\n }\n\n private getEl(cls: string): HTMLElement | null {\n return this.el.querySelector<HTMLElement>(cls);\n }\n\n protected refresh(): void {\n this.genType();\n const { dom, orgEl } = this;\n const html = orgEl().nativeElement.innerHTML;\n this.orgHtml.set(dom.bypassSecurityTrustHtml(html));\n const type = this.type();\n runInInjectionContext(this.injector, () => {\n afterNextRender(() => {\n this.gen();\n if (type !== 'line') {\n const el = this.getEl('.ellipsis');\n if (el) {\n el.innerHTML = html;\n }\n }\n });\n });\n }\n}\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzTooltipModule } from 'ng-zorro-antd/tooltip';\n\nimport { EllipsisComponent } from './ellipsis.component';\n\nconst COMPONENTS = [EllipsisComponent];\n\n@NgModule({\n imports: [CommonModule, ObserversModule, NzTooltipModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class EllipsisModule {}\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":"ellipsis.mjs","sources":["../../../../packages/abc/ellipsis/ellipsis.component.ts","../../../../packages/abc/ellipsis/ellipsis.module.ts","../../../../packages/abc/ellipsis/ellipsis.ts"],"sourcesContent":["import { CdkObserveContent } from '@angular/cdk/observers';\nimport { DOCUMENT, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Injector,\n ViewEncapsulation,\n afterNextRender,\n booleanAttribute,\n effect,\n inject,\n input,\n numberAttribute,\n runInInjectionContext,\n signal,\n viewChild\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzTooltipDirective } from 'ng-zorro-antd/tooltip';\n\n@Component({\n selector: 'ellipsis',\n exportAs: 'ellipsis',\n template: `\n <div (cdkObserveContent)=\"refresh()\" #orgEl style=\"display: none\"><ng-content /></div>\n <ng-template #tooltipTpl let-con>\n @if (tooltip()) {\n <span\n nz-tooltip\n [nzTooltipTitle]=\"titleTpl\"\n [nzTooltipOverlayStyle]=\"{ 'overflow-wrap': 'break-word', 'word-wrap': 'break-word' }\"\n >\n <ng-container *ngTemplateOutlet=\"con\" />\n <ng-template #titleTpl><div [innerHTML]=\"orgHtml()\"></div></ng-template>\n </span>\n } @else {\n <ng-container *ngTemplateOutlet=\"con\" />\n }\n </ng-template>\n @let c = cls();\n @switch (type()) {\n @case ('default') {\n <span [class]=\"c\"></span>\n }\n @case ('length') {\n <ng-template [ngTemplateOutlet]=\"tooltipTpl\" [ngTemplateOutletContext]=\"{ $implicit: lengthTpl }\" />\n <ng-template #lengthTpl>{{ text() }}</ng-template>\n }\n @case ('line-clamp') {\n <ng-template [ngTemplateOutlet]=\"tooltipTpl\" [ngTemplateOutletContext]=\"{ $implicit: lineClampTpl }\" />\n <ng-template #lineClampTpl>\n <div [class]=\"c\" [style]=\"{ '-webkit-line-clamp': lines(), '-webkit-box-orient': 'vertical' }\"></div>\n </ng-template>\n }\n @case ('line') {\n <div [class]=\"c\">\n <div class=\"ellipsis__handle\">\n <ng-template [ngTemplateOutlet]=\"tooltipTpl\" [ngTemplateOutletContext]=\"{ $implicit: lineTpl }\" />\n <ng-template #lineTpl>{{ linsWord }}</ng-template>\n <div class=\"ellipsis__shadow\" #shadowOrgEl [innerHTML]=\"orgHtml()\"></div>\n <div class=\"ellipsis__shadow\" #shadowTextEl>\n <span>{{ text() }}</span>\n </div>\n </div>\n </div>\n }\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [CdkObserveContent, NzTooltipDirective, NgTemplateOutlet]\n})\nexport class EllipsisComponent {\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly injector = inject(Injector);\n private readonly dom = inject(DomSanitizer);\n private readonly doc = inject(DOCUMENT);\n private isSupportLineClamp = this.doc.body.style['webkitLineClamp'] !== undefined;\n private readonly orgEl = viewChild.required<ElementRef<HTMLElement>>('orgEl');\n private readonly shadowOrgEl = viewChild<ElementRef<HTMLElement>>('shadowOrgEl');\n private readonly shadowTextEl = viewChild<ElementRef<HTMLElement>>('shadowTextEl');\n protected orgHtml = signal<SafeHtml | null>(null);\n protected type = signal('default');\n protected cls = signal<Record<string, NzSafeAny>>({});\n readonly text = signal('');\n targetCount = 0;\n\n readonly tooltip = input(false, { transform: booleanAttribute });\n readonly length = input(null, {\n transform: (v: unknown) => (v == null ? null : numberAttribute(v))\n });\n readonly lines = input(null, {\n transform: (v: unknown) => (v == null ? null : numberAttribute(v))\n });\n readonly fullWidthRecognition = input(false, { transform: booleanAttribute });\n readonly tail = input('...');\n\n protected get linsWord(): string {\n const { targetCount, text, tail } = this;\n return (\n (targetCount > 0 ? text().substring(0, targetCount) : '') +\n (targetCount > 0 && targetCount < text().length ? tail() : '')\n );\n }\n\n private get win(): NzSafeAny {\n return this.doc.defaultView ?? window;\n }\n\n constructor() {\n effect(() => {\n this.refresh();\n });\n }\n\n private getStrFullLength(str: string): number {\n return str.split('').reduce((pre, cur) => {\n const charCode = cur.charCodeAt(0);\n if (charCode >= 0 && charCode <= 128) {\n return pre + 1;\n }\n return pre + 2;\n }, 0);\n }\n\n private cutStrByFullLength(str: string, maxLength: number): string {\n let showLength = 0;\n return str.split('').reduce((pre, cur) => {\n const charCode = cur.charCodeAt(0);\n if (charCode >= 0 && charCode <= 128) {\n showLength += 1;\n } else {\n showLength += 2;\n }\n if (showLength <= maxLength) {\n return pre + cur;\n }\n return pre;\n }, '');\n }\n\n private bisection(\n targetHeight: number,\n mid: number,\n begin: number,\n end: number,\n text: string,\n node: HTMLElement\n ): number {\n const suffix = this.tail();\n node.innerHTML = text.substring(0, mid) + suffix;\n let sh = node.offsetHeight;\n\n if (sh <= targetHeight) {\n node.innerHTML = text.substring(0, mid + 1) + suffix;\n sh = node.offsetHeight;\n if (sh > targetHeight || mid === begin) {\n return mid;\n }\n begin = mid;\n mid = end - begin === 1 ? begin + 1 : Math.floor((end - begin) / 2) + begin;\n return this.bisection(targetHeight, mid, begin, end, text, node);\n }\n if (mid - 1 < 0) {\n return mid;\n }\n node.innerHTML = text.substring(0, mid - 1) + suffix;\n sh = node.offsetHeight;\n if (sh <= targetHeight) {\n return mid - 1;\n }\n end = mid;\n mid = Math.floor((end - begin) / 2) + begin;\n return this.bisection(targetHeight, mid, begin, end, text, node);\n }\n\n private genType(): void {\n const lines = this.lines();\n const length = this.length();\n const isSupportLineClamp = this.isSupportLineClamp;\n this.cls.set({\n ellipsis: true,\n ellipsis__lines: lines && !isSupportLineClamp,\n 'ellipsis__line-clamp': lines && isSupportLineClamp\n });\n if (!lines && !length) {\n this.type.set('default');\n } else if (!lines) {\n this.type.set('length');\n } else if (isSupportLineClamp) {\n this.type.set('line-clamp');\n } else {\n this.type.set('line');\n }\n }\n\n private gen(): void {\n const lines = this.lines();\n const length = this.length();\n const type = this.type();\n const { fullWidthRecognition, tail, orgEl } = this;\n if (type === 'length') {\n const lengthText = orgEl().nativeElement.textContent!;\n const textLength = fullWidthRecognition() ? this.getStrFullLength(lengthText) : lengthText.length;\n if (length == null || textLength <= length || length < 0) {\n this.text.set(lengthText);\n } else {\n let displayText: string;\n if (length - tail().length <= 0) {\n displayText = '';\n } else {\n displayText = fullWidthRecognition()\n ? this.cutStrByFullLength(lengthText, length)\n : lengthText.slice(0, length);\n }\n this.text.set(displayText + tail());\n }\n } else if (type === 'line') {\n const { shadowOrgEl, shadowTextEl } = this;\n const orgNode = shadowOrgEl()!.nativeElement;\n const lineText = orgNode.innerText ?? orgNode.textContent!;\n const lineHeight = parseInt(this.win.getComputedStyle(this.getEl('.ellipsis')).lineHeight!, 10);\n const targetHeight = lines! * lineHeight;\n const handleEl = this.getEl('.ellipsis__handle');\n handleEl!.style.height = `${targetHeight}px`;\n\n if (orgNode.offsetHeight <= targetHeight) {\n this.text.set(lineText);\n this.targetCount = lineText.length;\n } else {\n // bisection\n const len = lineText.length;\n const mid = Math.ceil(len / 2);\n\n const firstChild = shadowTextEl()!.nativeElement.firstChild as HTMLElement;\n const count = this.bisection(targetHeight, mid, 0, len, lineText, firstChild);\n this.text.set(lineText);\n this.targetCount = count;\n }\n }\n }\n\n private getEl(cls: string): HTMLElement | null {\n return this.el.querySelector<HTMLElement>(cls);\n }\n\n protected refresh(): void {\n this.genType();\n const { dom, orgEl } = this;\n const html = orgEl().nativeElement.innerHTML;\n this.orgHtml.set(dom.bypassSecurityTrustHtml(html));\n const type = this.type();\n runInInjectionContext(this.injector, () => {\n afterNextRender(() => {\n this.gen();\n if (type !== 'line') {\n const el = this.getEl('.ellipsis');\n if (el) {\n el.innerHTML = html;\n }\n }\n });\n });\n }\n}\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzTooltipModule } from 'ng-zorro-antd/tooltip';\n\nimport { EllipsisComponent } from './ellipsis.component';\n\nconst COMPONENTS = [EllipsisComponent];\n\n@NgModule({\n imports: [CommonModule, ObserversModule, NzTooltipModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class EllipsisModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -15,10 +15,10 @@ class ErrorCollectComponent {
15
15
  destroy$ = inject(DestroyRef);
16
16
  cogSrv = inject(AlainConfigService);
17
17
  formEl = null;
18
- count = signal(0, ...(ngDevMode ? [{ debugName: "count" }] : []));
18
+ count = signal(0, ...(ngDevMode ? [{ debugName: "count" }] : /* istanbul ignore next */ []));
19
19
  dir = inject(Directionality).valueSignal;
20
- freq = input(0, { ...(ngDevMode ? { debugName: "freq" } : {}), transform: numberAttribute });
21
- offsetTop = input(0, { ...(ngDevMode ? { debugName: "offsetTop" } : {}), transform: numberAttribute });
20
+ freq = input(0, { ...(ngDevMode ? { debugName: "freq" } : /* istanbul ignore next */ {}), transform: numberAttribute });
21
+ offsetTop = input(0, { ...(ngDevMode ? { debugName: "offsetTop" } : /* istanbul ignore next */ {}), transform: numberAttribute });
22
22
  constructor() {
23
23
  this.cogSrv.attach(this, 'errorCollect', { freq: 250, offsetTop: 65 + 64 + 8 * 2 });
24
24
  }
@@ -64,13 +64,13 @@ class ErrorCollectComponent {
64
64
  .subscribe(() => this.update());
65
65
  this.update();
66
66
  }
67
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ErrorCollectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.1", type: ErrorCollectComponent, isStandalone: true, selector: "error-collect, [error-collect]", inputs: { freq: { classPropertyName: "freq", publicName: "freq", isSignal: true, isRequired: false, transformFunction: null }, offsetTop: { classPropertyName: "offsetTop", publicName: "offsetTop", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "_click()" }, properties: { "class.error-collect": "true", "class.error-collect-rtl": "dir() === 'rtl'", "class.d-none": "count() === 0" } }, exportAs: ["errorCollect"], ngImport: i0, template: `
67
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ErrorCollectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.6", type: ErrorCollectComponent, isStandalone: true, selector: "error-collect, [error-collect]", inputs: { freq: { classPropertyName: "freq", publicName: "freq", isSignal: true, isRequired: false, transformFunction: null }, offsetTop: { classPropertyName: "offsetTop", publicName: "offsetTop", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "_click()" }, properties: { "class.error-collect": "true", "class.error-collect-rtl": "dir() === 'rtl'", "class.d-none": "count() === 0" } }, exportAs: ["errorCollect"], ngImport: i0, template: `
69
69
  <nz-icon nzType="exclamation-circle" />
70
70
  <span class="error-collect__count">{{ count() }}</span>
71
71
  `, isInline: true, dependencies: [{ kind: "directive", type: NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ErrorCollectComponent, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ErrorCollectComponent, decorators: [{
74
74
  type: Component,
75
75
  args: [{
76
76
  selector: 'error-collect, [error-collect]',
@@ -93,11 +93,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
93
93
 
94
94
  const COMPONENTS = [ErrorCollectComponent];
95
95
  class ErrorCollectModule {
96
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ErrorCollectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
97
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: ErrorCollectModule, imports: [CommonModule, NzIconModule, ErrorCollectComponent], exports: [ErrorCollectComponent] });
98
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ErrorCollectModule, imports: [CommonModule, NzIconModule] });
96
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ErrorCollectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
97
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.6", ngImport: i0, type: ErrorCollectModule, imports: [CommonModule, NzIconModule, ErrorCollectComponent], exports: [ErrorCollectComponent] });
98
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ErrorCollectModule, imports: [CommonModule, NzIconModule] });
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ErrorCollectModule, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ErrorCollectModule, decorators: [{
101
101
  type: NgModule,
102
102
  args: [{
103
103
  imports: [CommonModule, NzIconModule, ...COMPONENTS],
@@ -1 +1 @@
1
- {"version":3,"file":"error-collect.mjs","sources":["../../../../packages/abc/error-collect/error-collect.component.ts","../../../../packages/abc/error-collect/error-collect.module.ts","../../../../packages/abc/error-collect/error-collect.ts"],"sourcesContent":["import { Directionality } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n OnInit,\n ViewEncapsulation,\n inject,\n input,\n numberAttribute,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { interval } from 'rxjs';\n\nimport { AlainConfigService } from '@delon/util/config';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\n\n@Component({\n selector: 'error-collect, [error-collect]',\n exportAs: 'errorCollect',\n template: `\n <nz-icon nzType=\"exclamation-circle\" />\n <span class=\"error-collect__count\">{{ count() }}</span>\n `,\n host: {\n '[class.error-collect]': 'true',\n '[class.error-collect-rtl]': `dir() === 'rtl'`,\n '[class.d-none]': 'count() === 0',\n '(click)': '_click()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzIconDirective]\n})\nexport class ErrorCollectComponent implements OnInit {\n private readonly el = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n private readonly doc = inject(DOCUMENT);\n private readonly platform = inject(Platform);\n private readonly destroy$ = inject(DestroyRef);\n private readonly cogSrv = inject(AlainConfigService);\n private formEl: HTMLFormElement | null = null;\n\n protected count = signal(0);\n protected dir = inject(Directionality).valueSignal;\n\n readonly freq = input(0, { transform: numberAttribute });\n readonly offsetTop = input(0, { transform: numberAttribute });\n\n constructor() {\n this.cogSrv.attach(this, 'errorCollect', { freq: 250, offsetTop: 65 + 64 + 8 * 2 });\n }\n\n private get errEls(): NodeListOf<HTMLElement> {\n return this.formEl!.querySelectorAll('.ant-form-item-has-error');\n }\n\n private update(): void {\n const count = this.errEls.length;\n if (count === this.count()) return;\n this.count.set(count);\n }\n\n protected _click(): boolean {\n if (this.count() === 0) return false;\n // nz-form-control\n const els = this.errEls;\n const formItemEl = this.findParent(els[0], '[nz-form-control]') ?? els[0];\n formItemEl.scrollIntoView(true);\n // fix header height\n this.doc.documentElement.scrollTop -= this.offsetTop();\n return true;\n }\n\n private findParent(el: HTMLElement, selector: string): HTMLFormElement | null {\n let retEl: HTMLFormElement | null = null;\n while (el) {\n if (el.querySelector(selector)) {\n retEl = el as HTMLFormElement;\n break;\n }\n el = el.parentElement as HTMLFormElement;\n }\n return retEl;\n }\n\n ngOnInit(): void {\n if (!this.platform.isBrowser) return;\n\n this.formEl = this.findParent(this.el, 'form');\n if (this.formEl === null) throw new Error('No found form element');\n\n interval(this.freq())\n .pipe(takeUntilDestroyed(this.destroy$))\n .subscribe(() => this.update());\n\n this.update();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { ErrorCollectComponent } from './error-collect.component';\n\nconst COMPONENTS = [ErrorCollectComponent];\n\n@NgModule({\n imports: [CommonModule, NzIconModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class ErrorCollectModule {}\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":"error-collect.mjs","sources":["../../../../packages/abc/error-collect/error-collect.component.ts","../../../../packages/abc/error-collect/error-collect.module.ts","../../../../packages/abc/error-collect/error-collect.ts"],"sourcesContent":["import { Directionality } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n OnInit,\n ViewEncapsulation,\n inject,\n input,\n numberAttribute,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { interval } from 'rxjs';\n\nimport { AlainConfigService } from '@delon/util/config';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\n\n@Component({\n selector: 'error-collect, [error-collect]',\n exportAs: 'errorCollect',\n template: `\n <nz-icon nzType=\"exclamation-circle\" />\n <span class=\"error-collect__count\">{{ count() }}</span>\n `,\n host: {\n '[class.error-collect]': 'true',\n '[class.error-collect-rtl]': `dir() === 'rtl'`,\n '[class.d-none]': 'count() === 0',\n '(click)': '_click()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzIconDirective]\n})\nexport class ErrorCollectComponent implements OnInit {\n private readonly el = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n private readonly doc = inject(DOCUMENT);\n private readonly platform = inject(Platform);\n private readonly destroy$ = inject(DestroyRef);\n private readonly cogSrv = inject(AlainConfigService);\n private formEl: HTMLFormElement | null = null;\n\n protected count = signal(0);\n protected dir = inject(Directionality).valueSignal;\n\n readonly freq = input(0, { transform: numberAttribute });\n readonly offsetTop = input(0, { transform: numberAttribute });\n\n constructor() {\n this.cogSrv.attach(this, 'errorCollect', { freq: 250, offsetTop: 65 + 64 + 8 * 2 });\n }\n\n private get errEls(): NodeListOf<HTMLElement> {\n return this.formEl!.querySelectorAll('.ant-form-item-has-error');\n }\n\n private update(): void {\n const count = this.errEls.length;\n if (count === this.count()) return;\n this.count.set(count);\n }\n\n protected _click(): boolean {\n if (this.count() === 0) return false;\n // nz-form-control\n const els = this.errEls;\n const formItemEl = this.findParent(els[0], '[nz-form-control]') ?? els[0];\n formItemEl.scrollIntoView(true);\n // fix header height\n this.doc.documentElement.scrollTop -= this.offsetTop();\n return true;\n }\n\n private findParent(el: HTMLElement, selector: string): HTMLFormElement | null {\n let retEl: HTMLFormElement | null = null;\n while (el) {\n if (el.querySelector(selector)) {\n retEl = el as HTMLFormElement;\n break;\n }\n el = el.parentElement as HTMLFormElement;\n }\n return retEl;\n }\n\n ngOnInit(): void {\n if (!this.platform.isBrowser) return;\n\n this.formEl = this.findParent(this.el, 'form');\n if (this.formEl === null) throw new Error('No found form element');\n\n interval(this.freq())\n .pipe(takeUntilDestroyed(this.destroy$))\n .subscribe(() => this.update());\n\n this.update();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { ErrorCollectComponent } from './error-collect.component';\n\nconst COMPONENTS = [ErrorCollectComponent];\n\n@NgModule({\n imports: [CommonModule, NzIconModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class ErrorCollectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -16,26 +16,26 @@ class ExceptionComponent {
16
16
  conTpl = viewChild.required('conTpl');
17
17
  locale = inject(DelonLocaleService).valueSignal('exception');
18
18
  dir = inject(Directionality).valueSignal;
19
- hasCon = signal(false, ...(ngDevMode ? [{ debugName: "hasCon" }] : []));
19
+ hasCon = signal(false, ...(ngDevMode ? [{ debugName: "hasCon" }] : /* istanbul ignore next */ []));
20
20
  typeDict;
21
- typeItem = signal(null, ...(ngDevMode ? [{ debugName: "typeItem" }] : []));
22
- type = input(404, ...(ngDevMode ? [{ debugName: "type" }] : []));
23
- img = input(...(ngDevMode ? [undefined, { debugName: "img" }] : []));
24
- title = input(...(ngDevMode ? [undefined, { debugName: "title" }] : []));
25
- desc = input(...(ngDevMode ? [undefined, { debugName: "desc" }] : []));
26
- backRouterLink = input('/', ...(ngDevMode ? [{ debugName: "backRouterLink" }] : []));
21
+ typeItem = signal(null, ...(ngDevMode ? [{ debugName: "typeItem" }] : /* istanbul ignore next */ []));
22
+ type = input(404, ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
23
+ img = input(...(ngDevMode ? [undefined, { debugName: "img" }] : /* istanbul ignore next */ []));
24
+ title = input(...(ngDevMode ? [undefined, { debugName: "title" }] : /* istanbul ignore next */ []));
25
+ desc = input(...(ngDevMode ? [undefined, { debugName: "desc" }] : /* istanbul ignore next */ []));
26
+ backRouterLink = input('/', ...(ngDevMode ? [{ debugName: "backRouterLink" }] : /* istanbul ignore next */ []));
27
27
  _img = computed(() => {
28
28
  const v = this.img() ?? this.typeItem()?.img;
29
29
  return v == null ? null : this.dom.bypassSecurityTrustStyle(`url('${v}')`);
30
- }, ...(ngDevMode ? [{ debugName: "_img" }] : []));
30
+ }, ...(ngDevMode ? [{ debugName: "_img" }] : /* istanbul ignore next */ []));
31
31
  _title = computed(() => {
32
32
  const v = this.title() ?? this.typeItem()?.title;
33
33
  return v == null ? null : this.dom.bypassSecurityTrustHtml(v);
34
- }, ...(ngDevMode ? [{ debugName: "_title" }] : []));
34
+ }, ...(ngDevMode ? [{ debugName: "_title" }] : /* istanbul ignore next */ []));
35
35
  _desc = computed(() => {
36
36
  const v = this.desc() ?? this.typeItem()?.desc ?? this.locale()[this.type()];
37
37
  return v == null ? null : this.dom.bypassSecurityTrustHtml(v);
38
- }, ...(ngDevMode ? [{ debugName: "_desc" }] : []));
38
+ }, ...(ngDevMode ? [{ debugName: "_desc" }] : /* istanbul ignore next */ []));
39
39
  constructor() {
40
40
  this.cogSrv.attach(this, 'exception', {
41
41
  typeDict: {
@@ -64,8 +64,8 @@ class ExceptionComponent {
64
64
  checkContent() {
65
65
  this.hasCon.set(!isEmpty(this.conTpl().nativeElement));
66
66
  }
67
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ExceptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: ExceptionComponent, isStandalone: true, selector: "exception", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, img: { classPropertyName: "img", publicName: "img", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, desc: { classPropertyName: "desc", publicName: "desc", isSignal: true, isRequired: false, transformFunction: null }, backRouterLink: { classPropertyName: "backRouterLink", publicName: "backRouterLink", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.exception-rtl": "dir() === 'rtl'" }, classAttribute: "exception" }, viewQueries: [{ propertyName: "conTpl", first: true, predicate: ["conTpl"], descendants: true, isSignal: true }], exportAs: ["exception"], ngImport: i0, template: `
67
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ExceptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ExceptionComponent, isStandalone: true, selector: "exception", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, img: { classPropertyName: "img", publicName: "img", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, desc: { classPropertyName: "desc", publicName: "desc", isSignal: true, isRequired: false, transformFunction: null }, backRouterLink: { classPropertyName: "backRouterLink", publicName: "backRouterLink", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.exception-rtl": "dir() === 'rtl'" }, classAttribute: "exception" }, viewQueries: [{ propertyName: "conTpl", first: true, predicate: ["conTpl"], descendants: true, isSignal: true }], exportAs: ["exception"], ngImport: i0, template: `
69
69
  <div class="exception__img-block">
70
70
  <div class="exception__img" [style.backgroundImage]="_img()"></div>
71
71
  </div>
@@ -87,7 +87,7 @@ class ExceptionComponent {
87
87
  </div>
88
88
  `, isInline: true, dependencies: [{ kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { 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: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
89
89
  }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ExceptionComponent, decorators: [{
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ExceptionComponent, decorators: [{
91
91
  type: Component,
92
92
  args: [{
93
93
  selector: 'exception',
@@ -125,11 +125,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
125
125
 
126
126
  const COMPONENTS = [ExceptionComponent];
127
127
  class ExceptionModule {
128
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ExceptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
129
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: ExceptionModule, imports: [CommonModule, ObserversModule, RouterModule, DelonLocaleModule, NzButtonModule, ExceptionComponent], exports: [ExceptionComponent] });
130
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ExceptionModule, imports: [CommonModule, ObserversModule, RouterModule, DelonLocaleModule, NzButtonModule, COMPONENTS] });
128
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ExceptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
129
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.6", ngImport: i0, type: ExceptionModule, imports: [CommonModule, ObserversModule, RouterModule, DelonLocaleModule, NzButtonModule, ExceptionComponent], exports: [ExceptionComponent] });
130
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ExceptionModule, imports: [CommonModule, ObserversModule, RouterModule, DelonLocaleModule, NzButtonModule, COMPONENTS] });
131
131
  }
132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ExceptionModule, decorators: [{
132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ExceptionModule, decorators: [{
133
133
  type: NgModule,
134
134
  args: [{
135
135
  imports: [CommonModule, ObserversModule, RouterModule, DelonLocaleModule, NzButtonModule, ...COMPONENTS],