@delon/abc 20.1.1 → 21.0.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/fesm2022/auto-focus.mjs +10 -10
  2. package/fesm2022/auto-focus.mjs.map +1 -1
  3. package/fesm2022/cell.mjs +23 -25
  4. package/fesm2022/cell.mjs.map +1 -1
  5. package/fesm2022/chart-observer-size.mjs +21 -34
  6. package/fesm2022/chart-observer-size.mjs.map +1 -1
  7. package/fesm2022/count-down.mjs +24 -31
  8. package/fesm2022/count-down.mjs.map +1 -1
  9. package/fesm2022/date-picker.mjs +89 -85
  10. package/fesm2022/date-picker.mjs.map +1 -1
  11. package/fesm2022/down-file.mjs +23 -43
  12. package/fesm2022/down-file.mjs.map +1 -1
  13. package/fesm2022/ellipsis.mjs +163 -104
  14. package/fesm2022/ellipsis.mjs.map +1 -1
  15. package/fesm2022/error-collect.mjs +11 -13
  16. package/fesm2022/error-collect.mjs.map +1 -1
  17. package/fesm2022/exception.mjs +9 -9
  18. package/fesm2022/exception.mjs.map +1 -1
  19. package/fesm2022/footer-toolbar.mjs +9 -9
  20. package/fesm2022/footer-toolbar.mjs.map +1 -1
  21. package/fesm2022/full-content.mjs +50 -58
  22. package/fesm2022/full-content.mjs.map +1 -1
  23. package/fesm2022/global-footer.mjs +14 -15
  24. package/fesm2022/global-footer.mjs.map +1 -1
  25. package/fesm2022/hotkey.mjs +7 -7
  26. package/fesm2022/hotkey.mjs.map +1 -1
  27. package/fesm2022/loading.mjs +61 -14
  28. package/fesm2022/loading.mjs.map +1 -1
  29. package/fesm2022/lodop.mjs +7 -7
  30. package/fesm2022/media.mjs +37 -61
  31. package/fesm2022/media.mjs.map +1 -1
  32. package/fesm2022/notice-icon.mjs +220 -25
  33. package/fesm2022/notice-icon.mjs.map +1 -1
  34. package/fesm2022/onboarding.mjs +160 -62
  35. package/fesm2022/onboarding.mjs.map +1 -1
  36. package/fesm2022/page-header.mjs +252 -155
  37. package/fesm2022/page-header.mjs.map +1 -1
  38. package/fesm2022/pdf.mjs +7 -7
  39. package/fesm2022/pdf.mjs.map +1 -1
  40. package/fesm2022/quick-menu.mjs +79 -71
  41. package/fesm2022/quick-menu.mjs.map +1 -1
  42. package/fesm2022/reuse-tab.mjs +257 -160
  43. package/fesm2022/reuse-tab.mjs.map +1 -1
  44. package/fesm2022/se.mjs +289 -309
  45. package/fesm2022/se.mjs.map +1 -1
  46. package/fesm2022/sg.mjs +32 -69
  47. package/fesm2022/sg.mjs.map +1 -1
  48. package/fesm2022/st.mjs +93 -84
  49. package/fesm2022/st.mjs.map +1 -1
  50. package/fesm2022/sv.mjs +185 -174
  51. package/fesm2022/sv.mjs.map +1 -1
  52. package/fesm2022/tag-select.mjs +44 -25
  53. package/fesm2022/tag-select.mjs.map +1 -1
  54. package/fesm2022/xlsx.mjs +14 -17
  55. package/fesm2022/xlsx.mjs.map +1 -1
  56. package/fesm2022/zip.mjs +4 -4
  57. package/fesm2022/zip.mjs.map +1 -1
  58. package/package.json +37 -37
  59. package/{auto-focus/index.d.ts → types/auto-focus.d.ts} +2 -2
  60. package/{cell/index.d.ts → types/cell.d.ts} +12 -13
  61. package/{observers/index.d.ts → types/chart-observer-size.d.ts} +5 -9
  62. package/{count-down/index.d.ts → types/count-down.d.ts} +6 -10
  63. package/{date-picker/index.d.ts → types/date-picker.d.ts} +6 -10
  64. package/types/down-file.d.ts +32 -0
  65. package/types/ellipsis.d.ts +46 -0
  66. package/types/error-collect.d.ts +34 -0
  67. package/{exception/index.d.ts → types/exception.d.ts} +13 -13
  68. package/{footer-toolbar/index.d.ts → types/footer-toolbar.d.ts} +2 -2
  69. package/{full-content/index.d.ts → types/full-content.d.ts} +8 -13
  70. package/{global-footer/index.d.ts → types/global-footer.d.ts} +7 -7
  71. package/{loading/index.d.ts → types/loading.d.ts} +1 -0
  72. package/{media/index.d.ts → types/media.d.ts} +10 -16
  73. package/{notice-icon/index.d.ts → types/notice-icon.d.ts} +15 -15
  74. package/{onboarding/index.d.ts → types/onboarding.d.ts} +12 -14
  75. package/types/page-header.d.ts +67 -0
  76. package/types/quick-menu.d.ts +31 -0
  77. package/{reuse-tab/index.d.ts → types/reuse-tab.d.ts} +46 -55
  78. package/types/se.d.ts +101 -0
  79. package/types/sg.d.ts +31 -0
  80. package/{st/index.d.ts → types/st.d.ts} +10 -2
  81. package/types/sv.d.ts +81 -0
  82. package/types/tag-select.d.ts +25 -0
  83. package/{xlsx/index.d.ts → types/xlsx.d.ts} +3 -3
  84. package/down-file/index.d.ts +0 -34
  85. package/ellipsis/index.d.ts +0 -55
  86. package/error-collect/index.d.ts +0 -35
  87. package/page-header/index.d.ts +0 -83
  88. package/quick-menu/index.d.ts +0 -38
  89. package/se/index.d.ts +0 -129
  90. package/sg/index.d.ts +0 -44
  91. package/sv/index.d.ts +0 -96
  92. package/tag-select/index.d.ts +0 -27
  93. /package/{index.d.ts → types/abc.d.ts} +0 -0
  94. /package/{hotkey/index.d.ts → types/hotkey.d.ts} +0 -0
  95. /package/{lodop/index.d.ts → types/lodop.d.ts} +0 -0
  96. /package/{pdf/index.d.ts → types/pdf.d.ts} +0 -0
  97. /package/{zip/index.d.ts → types/zip.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"sv.mjs","sources":["../../../../packages/abc/sv/sv-container.component.ts","../../../../packages/abc/sv/sv-value.component.ts","../../../../packages/abc/sv/sv.component.ts","../../../../packages/abc/sv/sv.component.html","../../../../packages/abc/sv/sv.module.ts","../../../../packages/abc/sv/sv.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnInit,\n Renderer2,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute\n} from '@angular/core';\n\nimport type { REP_TYPE } from '@delon/theme';\nimport { AlainConfigService } from '@delon/util/config';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\n\n@Component({\n selector: 'sv-title, [sv-title]',\n exportAs: 'svTitle',\n template: '<ng-content />',\n host: {\n '[class.sv__title]': 'true'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SVTitleComponent implements OnInit {\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly parentComp = inject(SVContainerComponent, { host: true, optional: true });\n private readonly ren = inject(Renderer2);\n\n constructor() {\n if (this.parentComp == null) {\n throw new Error(`[sv-title] must include 'sv-container' component`);\n }\n }\n\n private setClass(): void {\n const gutter = this.parentComp!.gutter;\n const el = this.el;\n this.ren.setStyle(el, 'padding-left', `${gutter / 2}px`);\n this.ren.setStyle(el, 'padding-right', `${gutter / 2}px`);\n }\n\n ngOnInit(): void {\n this.setClass();\n }\n}\n\n@Component({\n selector: 'sv-container, [sv-container]',\n exportAs: 'svContainer',\n template: `\n <div class=\"ant-row\" [style]=\"margin\">\n @if (title) {\n <sv-title>\n <ng-container *nzStringTemplateOutlet=\"title\">{{ title }}</ng-container>\n </sv-title>\n }\n <ng-content />\n </div>\n `,\n host: {\n '[class.sv__container]': 'true',\n '[class.sv__horizontal]': `layout === 'horizontal'`,\n '[class.sv__vertical]': `layout === 'vertical'`,\n '[class.sv__small]': `size === 'small'`,\n '[class.sv__large]': `size === 'large'`,\n '[class.sv__bordered]': `bordered`,\n '[class.clearfix]': `true`\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [SVTitleComponent, NzStringTemplateOutletDirective]\n})\nexport class SVContainerComponent {\n private readonly cogSrv = inject(AlainConfigService);\n\n @Input({ alias: 'sv-container', transform: (v: unknown) => (v == null ? null : numberAttribute(v)) })\n colInCon?: REP_TYPE;\n @Input() title?: string | TemplateRef<void>;\n @Input() size?: 'small' | 'large' | 'default';\n /** 列表项间距,单位为 `px` */\n @Input({ transform: numberAttribute }) gutter!: number;\n @Input() layout!: 'horizontal' | 'vertical';\n @Input({ transform: numberAttribute }) labelWidth?: number;\n /** 指定信息最多分几列展示,最终一行几列由 col 配置结合响应式规则决定 */\n @Input({ transform: numberAttribute }) col!: number;\n @Input({ transform: booleanAttribute }) default!: boolean;\n @Input({ transform: booleanAttribute }) noColon = false;\n @Input({ transform: booleanAttribute }) bordered = false;\n\n get margin(): Record<string, string> {\n return this.bordered ? {} : { 'margin-left': `${-(this.gutter / 2)}px`, 'margin-right': `${-(this.gutter / 2)}px` };\n }\n\n constructor() {\n this.cogSrv.attach(this, 'sv', {\n size: 'large',\n gutter: 32,\n layout: 'horizontal',\n col: 3,\n default: true\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\nimport type { NzTSType } from 'ng-zorro-antd/core/types';\nimport { NzTooltipDirective } from 'ng-zorro-antd/tooltip';\n\n@Component({\n selector: 'sv-value, [sv-value]',\n exportAs: 'svValue',\n template: `\n @if (prefix) {\n <em class=\"sv__value-prefix\" [innerHTML]=\"prefix\"></em>\n }\n <span nz-tooltip [nzTooltipTitle]=\"tooltip\" class=\"sv__value-text\"><ng-content /></span>\n @if (unit) {\n <em class=\"sv__value-unit\" [innerHTML]=\"unit\"></em>\n }\n `,\n host: {\n '[class.sv__value]': 'true',\n '[class.sv__value-small]': `size === 'small'`,\n '[class.sv__value-large]': `size === 'large'`\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzTooltipDirective]\n})\nexport class SVValueComponent {\n @Input() prefix?: string;\n @Input() unit?: string;\n @Input() tooltip?: NzTSType | null;\n @Input() size: 'large' | 'small' | 'default' = 'default';\n}\n","import { CdkObserveContent } from '@angular/cdk/observers';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute\n} from '@angular/core';\n\nimport { ResponsiveService } from '@delon/theme';\nimport { isEmpty } from '@delon/util/browser';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\nimport { NzTooltipDirective } from 'ng-zorro-antd/tooltip';\n\nimport { SVContainerComponent } from './sv-container.component';\n\nconst prefixCls = `sv`;\n\n@Component({\n selector: 'sv, [sv]',\n exportAs: 'sv',\n templateUrl: './sv.component.html',\n host: {\n '[style.padding-left.px]': 'paddingValue',\n '[style.padding-right.px]': 'paddingValue'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzStringTemplateOutletDirective, NzTooltipDirective, NzIconDirective, CdkObserveContent]\n})\nexport class SVComponent implements AfterViewInit, OnChanges {\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly parentComp = inject(SVContainerComponent, { host: true, optional: true });\n private readonly rep = inject(ResponsiveService);\n private readonly ren = inject(Renderer2);\n\n @ViewChild('conEl', { static: false })\n private readonly conEl!: ElementRef<HTMLElement>;\n private clsMap: string[] = [];\n _noColon = false;\n\n // #region fields\n\n @Input() optional?: string | TemplateRef<void> | null;\n @Input() optionalHelp?: string | TemplateRef<void> | null;\n @Input() optionalHelpColor?: string;\n @Input() label?: string | TemplateRef<void> | null;\n @Input() unit?: string | TemplateRef<void> | null;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) col?: number | null;\n @Input({ transform: (v: unknown) => (v == null ? null : booleanAttribute(v)) }) default?: boolean | null;\n @Input() type?: 'primary' | 'success' | 'danger' | 'warning';\n @Input({ transform: (v: unknown) => (v == null ? null : booleanAttribute(v)) }) noColon?: boolean | null;\n @Input({ transform: booleanAttribute }) hideLabel = false;\n\n // #endregion\n\n get paddingValue(): number | null {\n if (this.parentComp!.bordered) return null;\n return this.parentComp!.gutter / 2;\n }\n\n get labelWidth(): number | null | undefined {\n const { labelWidth, layout } = this.parentComp!;\n return layout === 'horizontal' ? labelWidth : null;\n }\n\n constructor() {\n if (this.parentComp == null) {\n throw new Error(`[sv] must include 'sv-container' component`);\n }\n }\n\n private setClass(): void {\n const { ren, col, clsMap, type, rep, noColon } = this;\n const parent = this.parentComp!;\n const el = this.el;\n this._noColon = parent.bordered ? true : noColon != null ? noColon : parent.noColon;\n clsMap.forEach(cls => ren.removeClass(el, cls));\n clsMap.length = 0;\n const parentCol = parent.colInCon ?? parent.col;\n clsMap.push(...rep.genCls(col != null ? col : parentCol, parentCol));\n clsMap.push(`${prefixCls}__item`);\n if (parent.labelWidth) clsMap.push(`${prefixCls}__item-fixed`);\n if (type) clsMap.push(`${prefixCls}__type-${type}`);\n clsMap.forEach(cls => ren.addClass(el, cls));\n }\n\n ngAfterViewInit(): void {\n this.setClass();\n this.checkContent();\n }\n\n ngOnChanges(): void {\n this.setClass();\n }\n\n checkContent(): void {\n const { conEl } = this;\n const def = this.default;\n if (!(def != null ? def : this.parentComp?.default)) {\n return;\n }\n const el = conEl.nativeElement as HTMLElement;\n const cls = `sv__default`;\n if (el.classList.contains(cls)) {\n el.classList.remove(cls);\n }\n if (isEmpty(el)) {\n el.classList.add(cls);\n }\n }\n}\n","@if (!hideLabel) {\n <div\n class=\"sv__label\"\n [class.sv__label-empty]=\"!label\"\n [class.sv__label-width]=\"labelWidth !== null && labelWidth !== undefined\"\n [class.sv__no-colon]=\"_noColon\"\n [style.width.px]=\"labelWidth\"\n >\n <span class=\"sv__label-text\">\n <ng-container *nzStringTemplateOutlet=\"label\">{{ label }}</ng-container>\n </span>\n @if (optional || optionalHelp) {\n <span class=\"sv__label-optional\" [class.sv__label-optional-no-text]=\"!optional\">\n <ng-container *nzStringTemplateOutlet=\"optional\">{{ optional }}</ng-container>\n @if (optionalHelp) {\n <nz-icon\n nz-tooltip\n [nzTooltipTitle]=\"optionalHelp\"\n [nzTooltipColor]=\"optionalHelpColor\"\n nzType=\"question-circle\"\n />\n }\n </span>\n }\n </div>\n}\n<div class=\"sv__detail\">\n <span (cdkObserveContent)=\"checkContent()\" #conEl>\n <ng-content />\n </span>\n @if (!!unit) {\n <span class=\"sv__unit\" *nzStringTemplateOutlet=\"unit\">{{ unit }}</span>\n }\n</div>\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzTooltipModule } from 'ng-zorro-antd/tooltip';\n\nimport { SVContainerComponent, SVTitleComponent } from './sv-container.component';\nimport { SVValueComponent } from './sv-value.component';\nimport { SVComponent } from './sv.component';\n\nconst COMPONENTS = [SVContainerComponent, SVComponent, SVTitleComponent, SVValueComponent];\n\n@NgModule({\n imports: [CommonModule, ObserversModule, NzTooltipModule, NzIconModule, NzOutletModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class SVModule {}\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":"sv.mjs","sources":["../../../../packages/abc/sv/sv-container.component.ts","../../../../packages/abc/sv/sv-value.component.ts","../../../../packages/abc/sv/sv.component.ts","../../../../packages/abc/sv/sv.module.ts","../../../../packages/abc/sv/sv.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n inject,\n input,\n numberAttribute\n} from '@angular/core';\n\nimport type { REP_TYPE } from '@delon/theme';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\n\n@Component({\n selector: 'sv-title, [sv-title]',\n exportAs: 'svTitle',\n template: '<ng-content />',\n host: {\n class: 'sv__title',\n '[style.padding-left.px]': 'paddingValue()',\n '[style.padding-right.px]': 'paddingValue()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SVTitleComponent {\n private readonly parentComp = inject(SVContainerComponent, { host: true, optional: true });\n protected paddingValue = computed(() => this.parentComp!.gutter() / 2);\n\n constructor() {\n if (this.parentComp == null) {\n throw new Error(`[sv-title] must include 'sv-container' component`);\n }\n }\n}\n\n@Component({\n selector: 'sv-container, [sv-container]',\n exportAs: 'svContainer',\n template: `\n <div class=\"ant-row\" [style]=\"margin()\">\n @let tit = title();\n @if (tit) {\n <sv-title>\n <ng-container *nzStringTemplateOutlet=\"tit\">{{ tit }}</ng-container>\n </sv-title>\n }\n <ng-content />\n </div>\n `,\n host: {\n class: 'sv__container',\n '[class.sv__horizontal]': `layout() === 'horizontal'`,\n '[class.sv__vertical]': `layout() === 'vertical'`,\n '[class.sv__small]': `size() === 'small'`,\n '[class.sv__large]': `size() === 'large'`,\n '[class.sv__bordered]': `bordered()`,\n '[class.clearfix]': `true`\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [SVTitleComponent, NzStringTemplateOutletDirective]\n})\nexport class SVContainerComponent {\n readonly colInCon = input(null, {\n transform: (v: unknown) => (v == null ? null : (numberAttribute(v) as REP_TYPE)),\n alias: 'sv-container'\n });\n readonly title = input<string | TemplateRef<void>>();\n readonly size = input<'small' | 'large' | 'default'>('large');\n /** 列表项间距,单位为 `px` */\n readonly gutter = input(32, { transform: numberAttribute });\n readonly layout = input<'horizontal' | 'vertical'>('horizontal');\n readonly labelWidth = input(undefined, { transform: numberAttribute });\n /** 指定信息最多分几列展示,最终一行几列由 col 配置结合响应式规则决定 */\n readonly col = input(3, { transform: numberAttribute });\n readonly default = input(true, { transform: booleanAttribute });\n readonly noColon = input(false, { transform: booleanAttribute });\n readonly bordered = input(false, { transform: booleanAttribute });\n\n protected margin = computed(() => {\n return this.bordered()\n ? {}\n : { 'margin-left': `${-(this.gutter() / 2)}px`, 'margin-right': `${-(this.gutter() / 2)}px` };\n });\n}\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\nimport type { NzTSType } from 'ng-zorro-antd/core/types';\nimport { NzTooltipDirective } from 'ng-zorro-antd/tooltip';\n\n@Component({\n selector: 'sv-value, [sv-value]',\n exportAs: 'svValue',\n template: `\n @if (prefix) {\n <em class=\"sv__value-prefix\" [innerHTML]=\"prefix\"></em>\n }\n <span nz-tooltip [nzTooltipTitle]=\"tooltip\" class=\"sv__value-text\"><ng-content /></span>\n @if (unit) {\n <em class=\"sv__value-unit\" [innerHTML]=\"unit\"></em>\n }\n `,\n host: {\n '[class.sv__value]': 'true',\n '[class.sv__value-small]': `size === 'small'`,\n '[class.sv__value-large]': `size === 'large'`\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzTooltipDirective]\n})\nexport class SVValueComponent {\n @Input() prefix?: string;\n @Input() unit?: string;\n @Input() tooltip?: NzTSType | null;\n @Input() size: 'large' | 'small' | 'default' = 'default';\n}\n","import { CdkObserveContent } from '@angular/cdk/observers';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n TemplateRef,\n ViewEncapsulation,\n afterNextRender,\n booleanAttribute,\n computed,\n inject,\n input,\n numberAttribute,\n viewChild\n} from '@angular/core';\n\nimport { ResponsiveService } from '@delon/theme';\nimport { isEmpty } from '@delon/util/browser';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\nimport { NzTooltipDirective } from 'ng-zorro-antd/tooltip';\n\nimport { SVContainerComponent } from './sv-container.component';\n\nconst prefixCls = `sv`;\n\n@Component({\n selector: 'sv, [sv]',\n exportAs: 'sv',\n template: `\n @if (!hideLabel()) {\n @let _label = label();\n <div\n class=\"sv__label\"\n [class.sv__label-empty]=\"!_label\"\n [class.sv__label-width]=\"labelWidth() != null\"\n [class.sv__no-colon]=\"_noColon()\"\n [style.width.px]=\"labelWidth()\"\n >\n <span class=\"sv__label-text\">\n <ng-container *nzStringTemplateOutlet=\"_label\">{{ _label }}</ng-container>\n </span>\n @let _optional = optional();\n @if (_optional || optionalHelp()) {\n <span class=\"sv__label-optional\" [class.sv__label-optional-no-text]=\"!_optional\">\n <ng-container *nzStringTemplateOutlet=\"_optional\">{{ _optional }}</ng-container>\n @if (optionalHelp()) {\n <nz-icon\n nz-tooltip\n [nzTooltipTitle]=\"optionalHelp()\"\n [nzTooltipColor]=\"optionalHelpColor()\"\n nzType=\"question-circle\"\n />\n }\n </span>\n }\n </div>\n }\n <div class=\"sv__detail\">\n <span (cdkObserveContent)=\"checkContent()\" #conEl>\n <ng-content />\n </span>\n @let _unit = unit();\n @if (_unit) {\n <span class=\"sv__unit\" *nzStringTemplateOutlet=\"_unit\">{{ _unit }}</span>\n }\n </div>\n `,\n host: {\n '[style.padding-left.px]': 'paddingValue()',\n '[style.padding-right.px]': 'paddingValue()',\n '[class]': 'cls()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzStringTemplateOutletDirective, NzTooltipDirective, NzIconDirective, CdkObserveContent]\n})\nexport class SVComponent {\n private readonly parentComp = inject(SVContainerComponent, { host: true, optional: true });\n private readonly rep = inject(ResponsiveService);\n private readonly conEl = viewChild.required<ElementRef<HTMLElement>>('conEl');\n protected _noColon = computed(() => {\n const noColon = this.noColon();\n const parent = this.parentComp!;\n return parent.bordered() ? true : noColon != null ? noColon : parent.noColon();\n });\n\n // #region fields\n\n readonly optional = input<string | TemplateRef<void> | null>();\n readonly optionalHelp = input<string | TemplateRef<void> | null>();\n readonly optionalHelpColor = input<string>();\n readonly label = input<string | TemplateRef<void> | null>();\n readonly unit = input<string | TemplateRef<void> | null>();\n readonly col = input(null, { transform: (v: unknown) => (v == null ? null : numberAttribute(v)) });\n readonly default = input(null, { transform: (v: unknown) => (v == null ? null : booleanAttribute(v)) });\n readonly type = input<'primary' | 'success' | 'danger' | 'warning' | null>();\n readonly noColon = input(null, { transform: (v: unknown) => (v == null ? null : booleanAttribute(v)) });\n readonly hideLabel = input(false, { transform: booleanAttribute });\n\n // #endregion\n\n protected paddingValue = computed(() => {\n const parent = this.parentComp!;\n if (parent.bordered()) return null;\n return parent.gutter() / 2;\n });\n\n protected labelWidth = computed(() => {\n const { labelWidth, layout } = this.parentComp!;\n return layout() === 'horizontal' ? labelWidth() : null;\n });\n\n protected cls = computed(() => {\n const parent = this.parentComp!;\n const parentCol = parent.colInCon() ?? parent.col();\n const col = this.col();\n const ret = [...this.rep.genCls(col != null ? col : parentCol, parentCol)];\n ret.push(`${prefixCls}__item`);\n if (parent.labelWidth()) ret.push(`${prefixCls}__item-fixed`);\n const type = this.type();\n if (type) ret.push(`${prefixCls}__type-${type}`);\n return ret;\n });\n\n constructor() {\n if (this.parentComp == null) {\n throw new Error(`[sv] must include 'sv-container' component`);\n }\n\n afterNextRender(() => {\n this.checkContent();\n });\n }\n\n checkContent(): void {\n const def = this.default();\n if (!(def != null ? def : this.parentComp?.default())) {\n return;\n }\n const el = this.conEl().nativeElement;\n const cls = `sv__default`;\n if (el.classList.contains(cls)) {\n el.classList.remove(cls);\n }\n if (isEmpty(el)) {\n el.classList.add(cls);\n }\n }\n}\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzTooltipModule } from 'ng-zorro-antd/tooltip';\n\nimport { SVContainerComponent, SVTitleComponent } from './sv-container.component';\nimport { SVValueComponent } from './sv-value.component';\nimport { SVComponent } from './sv.component';\n\nconst COMPONENTS = [SVContainerComponent, SVComponent, SVTitleComponent, SVValueComponent];\n\n@NgModule({\n imports: [CommonModule, ObserversModule, NzTooltipModule, NzIconModule, NzOutletModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class SVModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,47 +1,66 @@
1
1
  import { Directionality } from '@angular/cdk/bidi';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, EventEmitter, booleanAttribute, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
+ import { inject, signal, input, booleanAttribute, output, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
4
4
  import { DelonLocaleService, DelonLocaleModule } from '@delon/theme';
5
5
  import { NzIconDirective, NzIconModule } from 'ng-zorro-antd/icon';
6
6
  import { CommonModule } from '@angular/common';
7
7
 
8
8
  class TagSelectComponent {
9
9
  locale = inject(DelonLocaleService).valueSignal('tagSelect');
10
- expand = false;
11
10
  dir = inject(Directionality).valueSignal;
11
+ expand = signal(false, ...(ngDevMode ? [{ debugName: "expand" }] : []));
12
12
  /** 是否启用 `展开与收进` */
13
- expandable = true;
14
- change = new EventEmitter();
13
+ expandable = input(true, { ...(ngDevMode ? { debugName: "expandable" } : {}), transform: booleanAttribute });
14
+ change = output();
15
15
  trigger() {
16
- this.expand = !this.expand;
17
- this.change.emit(this.expand);
16
+ this.expand.set(!this.expand());
17
+ this.change.emit(this.expand());
18
18
  }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TagSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.0", type: TagSelectComponent, isStandalone: true, selector: "tag-select", inputs: { expandable: ["expandable", "expandable", booleanAttribute] }, outputs: { change: "change" }, host: { properties: { "class.tag-select": "true", "class.tag-select-rtl": "dir() === 'rtl'", "class.tag-select-rtl__has-expand": "dir() === 'rtl' && expandable", "class.tag-select__has-expand": "expandable", "class.tag-select__expanded": "expand" } }, exportAs: ["tagSelect"], ngImport: i0, template: "<ng-content />\n@if (expandable) {\n <a class=\"ant-tag ant-tag-checkable tag-select__trigger\" (click)=\"trigger()\">\n {{ expand ? locale().collapse : locale().expand }}\n <nz-icon nzType=\"down\" [style.transform]=\"expand ? 'rotate(-180deg)' : null\" />\n </a>\n}\n", 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 });
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TagSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: TagSelectComponent, isStandalone: true, selector: "tag-select", inputs: { expandable: { classPropertyName: "expandable", publicName: "expandable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { properties: { "class.tag-select-rtl": "dir() === 'rtl'", "class.tag-select-rtl__has-expand": "dir() === 'rtl' && expandable()", "class.tag-select__has-expand": "expandable()", "class.tag-select__expanded": "expand()" }, classAttribute: "tag-select" }, exportAs: ["tagSelect"], ngImport: i0, template: `
21
+ <ng-content />
22
+ @if (expandable()) {
23
+ <a class="ant-tag ant-tag-checkable tag-select__trigger" (click)="trigger()">
24
+ {{ expand() ? locale().collapse : locale().expand }}
25
+ <nz-icon nzType="down" [style.transform]="expand() ? 'rotate(-180deg)' : null" />
26
+ </a>
27
+ }
28
+ `, 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 });
21
29
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TagSelectComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TagSelectComponent, decorators: [{
23
31
  type: Component,
24
- args: [{ selector: 'tag-select', exportAs: 'tagSelect', host: {
25
- '[class.tag-select]': 'true',
32
+ args: [{
33
+ selector: 'tag-select',
34
+ exportAs: 'tagSelect',
35
+ template: `
36
+ <ng-content />
37
+ @if (expandable()) {
38
+ <a class="ant-tag ant-tag-checkable tag-select__trigger" (click)="trigger()">
39
+ {{ expand() ? locale().collapse : locale().expand }}
40
+ <nz-icon nzType="down" [style.transform]="expand() ? 'rotate(-180deg)' : null" />
41
+ </a>
42
+ }
43
+ `,
44
+ host: {
45
+ class: 'tag-select',
26
46
  '[class.tag-select-rtl]': `dir() === 'rtl'`,
27
- '[class.tag-select-rtl__has-expand]': `dir() === 'rtl' && expandable`,
28
- '[class.tag-select__has-expand]': 'expandable',
29
- '[class.tag-select__expanded]': 'expand'
30
- }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [NzIconDirective], template: "<ng-content />\n@if (expandable) {\n <a class=\"ant-tag ant-tag-checkable tag-select__trigger\" (click)=\"trigger()\">\n {{ expand ? locale().collapse : locale().expand }}\n <nz-icon nzType=\"down\" [style.transform]=\"expand ? 'rotate(-180deg)' : null\" />\n </a>\n}\n" }]
31
- }], propDecorators: { expandable: [{
32
- type: Input,
33
- args: [{ transform: booleanAttribute }]
34
- }], change: [{
35
- type: Output
36
- }] } });
47
+ '[class.tag-select-rtl__has-expand]': `dir() === 'rtl' && expandable()`,
48
+ '[class.tag-select__has-expand]': 'expandable()',
49
+ '[class.tag-select__expanded]': 'expand()'
50
+ },
51
+ changeDetection: ChangeDetectionStrategy.OnPush,
52
+ encapsulation: ViewEncapsulation.None,
53
+ imports: [NzIconDirective]
54
+ }]
55
+ }], propDecorators: { expandable: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandable", required: false }] }], change: [{ type: i0.Output, args: ["change"] }] } });
37
56
 
38
57
  const COMPONENTS = [TagSelectComponent];
39
58
  class TagSelectModule {
40
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TagSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
41
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: TagSelectModule, imports: [CommonModule, NzIconModule, DelonLocaleModule, TagSelectComponent], exports: [TagSelectComponent] });
42
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TagSelectModule, imports: [CommonModule, NzIconModule, DelonLocaleModule] });
59
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TagSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
60
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: TagSelectModule, imports: [CommonModule, NzIconModule, DelonLocaleModule, TagSelectComponent], exports: [TagSelectComponent] });
61
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TagSelectModule, imports: [CommonModule, NzIconModule, DelonLocaleModule] });
43
62
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: TagSelectModule, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TagSelectModule, decorators: [{
45
64
  type: NgModule,
46
65
  args: [{
47
66
  imports: [CommonModule, NzIconModule, DelonLocaleModule, ...COMPONENTS],
@@ -1 +1 @@
1
- {"version":3,"file":"tag-select.mjs","sources":["../../../../packages/abc/tag-select/tag-select.component.ts","../../../../packages/abc/tag-select/tag-select.component.html","../../../../packages/abc/tag-select/tag-select.module.ts","../../../../packages/abc/tag-select/tag-select.ts"],"sourcesContent":["import { Directionality } from '@angular/cdk/bidi';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n booleanAttribute,\n inject\n} from '@angular/core';\n\nimport { DelonLocaleService } from '@delon/theme';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\n\n@Component({\n selector: 'tag-select',\n exportAs: 'tagSelect',\n templateUrl: './tag-select.component.html',\n host: {\n '[class.tag-select]': 'true',\n '[class.tag-select-rtl]': `dir() === 'rtl'`,\n '[class.tag-select-rtl__has-expand]': `dir() === 'rtl' && expandable`,\n '[class.tag-select__has-expand]': 'expandable',\n '[class.tag-select__expanded]': 'expand'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzIconDirective]\n})\nexport class TagSelectComponent {\n locale = inject(DelonLocaleService).valueSignal('tagSelect');\n expand = false;\n dir = inject(Directionality).valueSignal;\n\n /** 是否启用 `展开与收进` */\n @Input({ transform: booleanAttribute }) expandable = true;\n @Output() readonly change = new EventEmitter<boolean>();\n\n trigger(): void {\n this.expand = !this.expand;\n this.change.emit(this.expand);\n }\n}\n","<ng-content />\n@if (expandable) {\n <a class=\"ant-tag ant-tag-checkable tag-select__trigger\" (click)=\"trigger()\">\n {{ expand ? locale().collapse : locale().expand }}\n <nz-icon nzType=\"down\" [style.transform]=\"expand ? 'rotate(-180deg)' : null\" />\n </a>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DelonLocaleModule } from '@delon/theme';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { TagSelectComponent } from './tag-select.component';\n\nconst COMPONENTS = [TagSelectComponent];\n\n@NgModule({\n imports: [CommonModule, NzIconModule, DelonLocaleModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class TagSelectModule {}\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":"tag-select.mjs","sources":["../../../../packages/abc/tag-select/tag-select.component.ts","../../../../packages/abc/tag-select/tag-select.module.ts","../../../../packages/abc/tag-select/tag-select.ts"],"sourcesContent":["import { Directionality } from '@angular/cdk/bidi';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n input,\n output,\n signal\n} from '@angular/core';\n\nimport { DelonLocaleService } from '@delon/theme';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\n\n@Component({\n selector: 'tag-select',\n exportAs: 'tagSelect',\n template: `\n <ng-content />\n @if (expandable()) {\n <a class=\"ant-tag ant-tag-checkable tag-select__trigger\" (click)=\"trigger()\">\n {{ expand() ? locale().collapse : locale().expand }}\n <nz-icon nzType=\"down\" [style.transform]=\"expand() ? 'rotate(-180deg)' : null\" />\n </a>\n }\n `,\n host: {\n class: 'tag-select',\n '[class.tag-select-rtl]': `dir() === 'rtl'`,\n '[class.tag-select-rtl__has-expand]': `dir() === 'rtl' && expandable()`,\n '[class.tag-select__has-expand]': 'expandable()',\n '[class.tag-select__expanded]': 'expand()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzIconDirective]\n})\nexport class TagSelectComponent {\n protected locale = inject(DelonLocaleService).valueSignal('tagSelect');\n protected dir = inject(Directionality).valueSignal;\n expand = signal(false);\n\n /** 是否启用 `展开与收进` */\n readonly expandable = input(true, { transform: booleanAttribute });\n readonly change = output<boolean>();\n\n trigger(): void {\n this.expand.set(!this.expand());\n this.change.emit(this.expand());\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DelonLocaleModule } from '@delon/theme';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { TagSelectComponent } from './tag-select.component';\n\nconst COMPONENTS = [TagSelectComponent];\n\n@NgModule({\n imports: [CommonModule, NzIconModule, DelonLocaleModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class TagSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
package/fesm2022/xlsx.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import { HttpClient } from '@angular/common/http';
3
3
  import * as i0 from '@angular/core';
4
- import { inject, NgZone, Injectable, Input, Directive, NgModule } from '@angular/core';
4
+ import { inject, NgZone, Injectable, input, Directive, NgModule } from '@angular/core';
5
5
  import isUtf8 from 'isutf8';
6
6
  import { AlainConfigService } from '@delon/util/config';
7
7
  import { ZoneOutside } from '@delon/util/decorator';
@@ -115,8 +115,8 @@ class XlsxService {
115
115
  } while (val > 0);
116
116
  return res;
117
117
  }
118
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XlsxService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
119
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XlsxService, providedIn: 'root' });
118
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XlsxService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
119
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XlsxService, providedIn: 'root' });
120
120
  }
121
121
  __decorate([
122
122
  ZoneOutside()
@@ -124,21 +124,21 @@ __decorate([
124
124
  __decorate([
125
125
  ZoneOutside()
126
126
  ], XlsxService.prototype, "export", null);
127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XlsxService, decorators: [{
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XlsxService, decorators: [{
128
128
  type: Injectable,
129
129
  args: [{ providedIn: 'root' }]
130
130
  }], ctorParameters: () => [], propDecorators: { read: [], export: [] } });
131
131
 
132
132
  class XlsxDirective {
133
133
  srv = inject(XlsxService);
134
- data;
134
+ xlsx = input.required(...(ngDevMode ? [{ debugName: "xlsx" }] : []));
135
135
  _click() {
136
- this.srv.export(this.data);
136
+ this.srv.export(this.xlsx());
137
137
  }
138
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XlsxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
139
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: XlsxDirective, isStandalone: true, selector: "[xlsx]", inputs: { data: ["xlsx", "data"] }, host: { listeners: { "click": "_click()" } }, exportAs: ["xlsx"], ngImport: i0 });
138
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XlsxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
139
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.6", type: XlsxDirective, isStandalone: true, selector: "[xlsx]", inputs: { xlsx: { classPropertyName: "xlsx", publicName: "xlsx", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "click": "_click()" } }, exportAs: ["xlsx"], ngImport: i0 });
140
140
  }
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XlsxDirective, decorators: [{
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XlsxDirective, decorators: [{
142
142
  type: Directive,
143
143
  args: [{
144
144
  selector: '[xlsx]',
@@ -147,18 +147,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
147
147
  '(click)': '_click()'
148
148
  }
149
149
  }]
150
- }], propDecorators: { data: [{
151
- type: Input,
152
- args: ['xlsx']
153
- }] } });
150
+ }], propDecorators: { xlsx: [{ type: i0.Input, args: [{ isSignal: true, alias: "xlsx", required: true }] }] } });
154
151
 
155
152
  const COMPONENTS = [XlsxDirective];
156
153
  class XlsxModule {
157
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XlsxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
158
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: XlsxModule, imports: [XlsxDirective], exports: [XlsxDirective] });
159
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XlsxModule });
154
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XlsxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
155
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: XlsxModule, imports: [XlsxDirective], exports: [XlsxDirective] });
156
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XlsxModule });
160
157
  }
161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XlsxModule, decorators: [{
158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XlsxModule, decorators: [{
162
159
  type: NgModule,
163
160
  args: [{
164
161
  imports: [COMPONENTS],
@@ -1 +1 @@
1
- {"version":3,"file":"xlsx.mjs","sources":["../../../../packages/abc/xlsx/xlsx.service.ts","../../../../packages/abc/xlsx/xlsx.directive.ts","../../../../packages/abc/xlsx/xlsx.module.ts","../../../../packages/abc/xlsx/xlsx.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable, NgZone, inject } from '@angular/core';\n\nimport isUtf8 from 'isutf8';\n\nimport { AlainConfigService, AlainXlsxConfig } from '@delon/util/config';\nimport { ZoneOutside } from '@delon/util/decorator';\nimport { LazyResult, LazyService } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { XlsxExportOptions, XlsxExportResult, XlsxExportSheet } from './xlsx.types';\n\ndeclare const XLSX: NzSafeAny;\ndeclare const cptable: NzSafeAny;\n\n@Injectable({ providedIn: 'root' })\nexport class XlsxService {\n private readonly http = inject(HttpClient);\n private readonly lazy = inject(LazyService);\n private readonly ngZone = inject(NgZone);\n private readonly cogSrv = inject(AlainConfigService);\n\n private cog: AlainXlsxConfig;\n\n constructor() {\n this.cog = this.cogSrv.merge('xlsx', {\n url: 'https://cdn.jsdelivr.net/npm/xlsx/dist/xlsx.full.min.js',\n modules: [`https://cdn.jsdelivr.net/npm/xlsx/dist/cpexcel.js`]\n })!;\n }\n\n private init(): Promise<LazyResult[]> {\n return typeof XLSX !== 'undefined'\n ? Promise.resolve([])\n : this.lazy.load([this.cog.url!].concat(this.cog.modules!));\n }\n\n @ZoneOutside()\n private read(data: NzSafeAny): Record<string, NzSafeAny[][]> {\n const {\n read,\n utils: { sheet_to_json }\n } = XLSX;\n const ret: NzSafeAny = {};\n const buf = new Uint8Array(data);\n let type = 'array';\n if (!isUtf8(buf)) {\n try {\n data = cptable.utils.decode(936, buf);\n type = 'string';\n } catch {}\n }\n const wb = read(data, { type });\n wb.SheetNames.forEach((name: string) => {\n const sheet: NzSafeAny = wb.Sheets[name];\n ret[name] = sheet_to_json(sheet, { header: 1 });\n });\n return ret;\n }\n\n /**\n * 导入Excel并输出JSON,支持 `<input type=\"file\">`、URL 形式\n */\n import(fileOrUrl: File | string): Promise<Record<string, NzSafeAny[][]>> {\n return new Promise<Record<string, NzSafeAny[][]>>((resolve, reject) => {\n const r = (data: NzSafeAny): void => this.ngZone.run(() => resolve(this.read(data)));\n this.init()\n .then(() => {\n // from url\n if (typeof fileOrUrl === 'string') {\n this.http.request('GET', fileOrUrl, { responseType: 'arraybuffer' }).subscribe({\n next: (res: ArrayBuffer) => r(new Uint8Array(res)),\n error: (err: NzSafeAny) => reject(err)\n });\n return;\n }\n // from file\n const reader: FileReader = new FileReader();\n reader.onload = (e: NzSafeAny) => r(e.target.result);\n reader.onerror = (e: NzSafeAny) => reject(e);\n reader.readAsArrayBuffer(fileOrUrl);\n })\n .catch(() => reject(`Unable to load xlsx.js`));\n });\n }\n\n @ZoneOutside()\n async export(options: XlsxExportOptions): Promise<XlsxExportResult> {\n return new Promise<XlsxExportResult>((resolve, reject) => {\n this.init()\n .then(() => {\n options = { format: 'xlsx', ...options };\n const {\n writeFile,\n utils: { book_new, aoa_to_sheet, book_append_sheet }\n } = XLSX;\n const wb: NzSafeAny = book_new();\n if (Array.isArray(options.sheets)) {\n (options.sheets as XlsxExportSheet[]).forEach((value: XlsxExportSheet, index: number) => {\n const ws: NzSafeAny = aoa_to_sheet(value.data);\n book_append_sheet(wb, ws, value.name ?? `Sheet${index + 1}`);\n });\n } else {\n wb.SheetNames = Object.keys(options.sheets);\n wb.Sheets = options.sheets;\n }\n\n if (options.callback) options.callback(wb);\n\n const filename = options.filename ?? `export.${options.format}`;\n writeFile(wb, filename, {\n bookType: options.format,\n bookSST: false,\n type: 'array',\n ...options.opts\n });\n\n resolve({ filename, wb });\n })\n .catch(err => reject(err));\n });\n }\n\n /**\n * 数据转符号名\n * - `1` => `A`\n * - `27` => `AA`\n * - `703` => `AAA`\n */\n numberToSchema(val: number): string {\n const startCode = 'A'.charCodeAt(0);\n let res = '';\n\n do {\n --val;\n res = String.fromCharCode(startCode + (val % 26)) + res;\n val = (val / 26) >> 0;\n } while (val > 0);\n\n return res;\n }\n}\n","import { Directive, Input, inject } from '@angular/core';\n\nimport { XlsxService } from './xlsx.service';\nimport { XlsxExportOptions } from './xlsx.types';\n\n@Directive({\n selector: '[xlsx]',\n exportAs: 'xlsx',\n host: {\n '(click)': '_click()'\n }\n})\nexport class XlsxDirective {\n private readonly srv = inject(XlsxService);\n\n @Input('xlsx') data!: XlsxExportOptions;\n\n _click(): void {\n this.srv.export(this.data);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { XlsxDirective } from './xlsx.directive';\n\nconst COMPONENTS = [XlsxDirective];\n\n@NgModule({\n imports: [COMPONENTS],\n exports: COMPONENTS\n})\nexport class XlsxModule {}\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":"xlsx.mjs","sources":["../../../../packages/abc/xlsx/xlsx.service.ts","../../../../packages/abc/xlsx/xlsx.directive.ts","../../../../packages/abc/xlsx/xlsx.module.ts","../../../../packages/abc/xlsx/xlsx.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable, NgZone, inject } from '@angular/core';\n\nimport isUtf8 from 'isutf8';\n\nimport { AlainConfigService, AlainXlsxConfig } from '@delon/util/config';\nimport { ZoneOutside } from '@delon/util/decorator';\nimport { LazyResult, LazyService } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { XlsxExportOptions, XlsxExportResult, XlsxExportSheet } from './xlsx.types';\n\ndeclare const XLSX: NzSafeAny;\ndeclare const cptable: NzSafeAny;\n\n@Injectable({ providedIn: 'root' })\nexport class XlsxService {\n private readonly http = inject(HttpClient);\n private readonly lazy = inject(LazyService);\n private readonly ngZone = inject(NgZone);\n private readonly cogSrv = inject(AlainConfigService);\n\n private cog: AlainXlsxConfig;\n\n constructor() {\n this.cog = this.cogSrv.merge('xlsx', {\n url: 'https://cdn.jsdelivr.net/npm/xlsx/dist/xlsx.full.min.js',\n modules: [`https://cdn.jsdelivr.net/npm/xlsx/dist/cpexcel.js`]\n })!;\n }\n\n private init(): Promise<LazyResult[]> {\n return typeof XLSX !== 'undefined'\n ? Promise.resolve([])\n : this.lazy.load([this.cog.url!].concat(this.cog.modules!));\n }\n\n @ZoneOutside()\n private read(data: NzSafeAny): Record<string, NzSafeAny[][]> {\n const {\n read,\n utils: { sheet_to_json }\n } = XLSX;\n const ret: NzSafeAny = {};\n const buf = new Uint8Array(data);\n let type = 'array';\n if (!isUtf8(buf)) {\n try {\n data = cptable.utils.decode(936, buf);\n type = 'string';\n } catch {}\n }\n const wb = read(data, { type });\n wb.SheetNames.forEach((name: string) => {\n const sheet: NzSafeAny = wb.Sheets[name];\n ret[name] = sheet_to_json(sheet, { header: 1 });\n });\n return ret;\n }\n\n /**\n * 导入Excel并输出JSON,支持 `<input type=\"file\">`、URL 形式\n */\n import(fileOrUrl: File | string): Promise<Record<string, NzSafeAny[][]>> {\n return new Promise<Record<string, NzSafeAny[][]>>((resolve, reject) => {\n const r = (data: NzSafeAny): void => this.ngZone.run(() => resolve(this.read(data)));\n this.init()\n .then(() => {\n // from url\n if (typeof fileOrUrl === 'string') {\n this.http.request('GET', fileOrUrl, { responseType: 'arraybuffer' }).subscribe({\n next: (res: ArrayBuffer) => r(new Uint8Array(res)),\n error: (err: NzSafeAny) => reject(err)\n });\n return;\n }\n // from file\n const reader: FileReader = new FileReader();\n reader.onload = (e: NzSafeAny) => r(e.target.result);\n reader.onerror = (e: NzSafeAny) => reject(e);\n reader.readAsArrayBuffer(fileOrUrl);\n })\n .catch(() => reject(`Unable to load xlsx.js`));\n });\n }\n\n @ZoneOutside()\n async export(options: XlsxExportOptions): Promise<XlsxExportResult> {\n return new Promise<XlsxExportResult>((resolve, reject) => {\n this.init()\n .then(() => {\n options = { format: 'xlsx', ...options };\n const {\n writeFile,\n utils: { book_new, aoa_to_sheet, book_append_sheet }\n } = XLSX;\n const wb: NzSafeAny = book_new();\n if (Array.isArray(options.sheets)) {\n (options.sheets as XlsxExportSheet[]).forEach((value: XlsxExportSheet, index: number) => {\n const ws: NzSafeAny = aoa_to_sheet(value.data);\n book_append_sheet(wb, ws, value.name ?? `Sheet${index + 1}`);\n });\n } else {\n wb.SheetNames = Object.keys(options.sheets);\n wb.Sheets = options.sheets;\n }\n\n if (options.callback) options.callback(wb);\n\n const filename = options.filename ?? `export.${options.format}`;\n writeFile(wb, filename, {\n bookType: options.format,\n bookSST: false,\n type: 'array',\n ...options.opts\n });\n\n resolve({ filename, wb });\n })\n .catch(err => reject(err));\n });\n }\n\n /**\n * 数据转符号名\n * - `1` => `A`\n * - `27` => `AA`\n * - `703` => `AAA`\n */\n numberToSchema(val: number): string {\n const startCode = 'A'.charCodeAt(0);\n let res = '';\n\n do {\n --val;\n res = String.fromCharCode(startCode + (val % 26)) + res;\n val = (val / 26) >> 0;\n } while (val > 0);\n\n return res;\n }\n}\n","import { Directive, inject, input } from '@angular/core';\n\nimport { XlsxService } from './xlsx.service';\nimport { XlsxExportOptions } from './xlsx.types';\n\n@Directive({\n selector: '[xlsx]',\n exportAs: 'xlsx',\n host: {\n '(click)': '_click()'\n }\n})\nexport class XlsxDirective {\n private readonly srv = inject(XlsxService);\n\n readonly xlsx = input.required<XlsxExportOptions>();\n\n protected _click(): void {\n this.srv.export(this.xlsx());\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { XlsxDirective } from './xlsx.directive';\n\nconst COMPONENTS = [XlsxDirective];\n\n@NgModule({\n imports: [COMPONENTS],\n exports: COMPONENTS\n})\nexport class XlsxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
package/fesm2022/zip.mjs CHANGED
@@ -50,7 +50,7 @@ class ZipService {
50
50
  reader.onload = (e) => {
51
51
  JSZip.loadAsync(e.target.result, options).then((ret) => resolveCallback(ret));
52
52
  };
53
- reader.readAsBinaryString(fileOrUrl);
53
+ reader.readAsArrayBuffer(fileOrUrl);
54
54
  });
55
55
  });
56
56
  }
@@ -106,13 +106,13 @@ class ZipService {
106
106
  });
107
107
  });
108
108
  }
109
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ZipService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
110
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ZipService, providedIn: 'root' });
109
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ZipService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
110
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ZipService, providedIn: 'root' });
111
111
  }
112
112
  __decorate([
113
113
  ZoneOutside()
114
114
  ], ZipService.prototype, "read", null);
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: ZipService, decorators: [{
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ZipService, decorators: [{
116
116
  type: Injectable,
117
117
  args: [{ providedIn: 'root' }]
118
118
  }], ctorParameters: () => [], propDecorators: { read: [] } });
@@ -1 +1 @@
1
- {"version":3,"file":"zip.mjs","sources":["../../../../packages/abc/zip/zip.service.ts","../../../../packages/abc/zip/zip.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable, NgZone, inject } from '@angular/core';\n\nimport { saveAs } from 'file-saver';\nimport type jsZipType from 'jszip';\n\nimport { AlainConfigService, AlainZipConfig } from '@delon/util/config';\nimport { ZoneOutside } from '@delon/util/decorator';\nimport { LazyResult, LazyService } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { ZipSaveOptions } from './zip.types';\n\ndeclare const JSZip: jsZipType;\n\n@Injectable({ providedIn: 'root' })\nexport class ZipService {\n private readonly http = inject(HttpClient);\n private readonly lazy = inject(LazyService);\n private readonly ngZone = inject(NgZone);\n private readonly cogSrv = inject(AlainConfigService);\n private cog: AlainZipConfig;\n\n constructor() {\n this.cog = this.cogSrv.merge('zip', {\n url: 'https://cdn.jsdelivr.net/npm/jszip@3/dist/jszip.min.js',\n utils: []\n })!;\n }\n\n private init(): Promise<LazyResult[]> {\n return this.lazy.load([this.cog.url!].concat(this.cog.utils!));\n }\n\n private check(zip?: jsZipType | null): void {\n if (!zip) throw new Error('get instance via `ZipService.create()`');\n }\n\n /** 解压 */\n @ZoneOutside()\n read(fileOrUrl: File | string, options?: jsZipType.JSZipLoadOptions): Promise<jsZipType> {\n return new Promise<jsZipType>((resolve, reject) => {\n const resolveCallback = (data: jsZipType): void => {\n this.ngZone.run(() => resolve(data));\n };\n this.init().then(() => {\n // from url\n if (typeof fileOrUrl === 'string') {\n this.http.request('GET', fileOrUrl, { responseType: 'arraybuffer' }).subscribe({\n next: (res: ArrayBuffer) => {\n JSZip.loadAsync(res, options).then((ret: jsZipType) => resolveCallback(ret));\n },\n error: err => {\n reject(err);\n }\n });\n return;\n }\n // from file\n const reader: FileReader = new FileReader();\n reader.onload = (e: ProgressEvent<FileReader>) => {\n JSZip.loadAsync(e.target!.result as ArrayBuffer, options).then((ret: jsZipType) => resolveCallback(ret));\n };\n reader.readAsBinaryString(fileOrUrl as File);\n });\n });\n }\n\n /** 创建 Zip 实例,用于创建压缩文件 */\n create(): Promise<jsZipType | null> {\n return new Promise<jsZipType | null>(resolve => {\n this.init()\n .then(() => {\n const zipFile = new JSZip();\n resolve(zipFile);\n })\n .catch(() => resolve(null));\n });\n }\n\n /**\n * 下载URL资源并写入 zip\n *\n * @param zip Zip 实例\n * @param path Zip 路径,例如: `text.txt`、`txt/hi.txt`\n * @param url URL 地址\n */\n pushUrl(zip: jsZipType | null, path: string, url: string): Promise<void> {\n this.check(zip);\n return new Promise<void>((resolve, reject) => {\n this.http.request('GET', url, { responseType: 'arraybuffer' }).subscribe({\n next: (res: ArrayBuffer) => {\n zip!.file(path, res);\n resolve();\n },\n error: error => {\n reject({ url, error });\n }\n });\n });\n }\n\n /**\n * 保存Zip并执行打开保存对话框\n *\n * @param zip zip 对象,务必通过 `create()` 构建\n * @param options 额外参数,\n */\n save(zip: jsZipType | null, options?: ZipSaveOptions): Promise<void> {\n this.check(zip);\n const opt = { filename: 'download.zip', ...options } as ZipSaveOptions;\n return new Promise<void>((resolve, reject) => {\n zip!.generateAsync<'blob'>({ type: 'blob', ...opt.options } as NzSafeAny, opt.update as NzSafeAny).then(\n data => {\n if (opt.callback) opt.callback(data);\n saveAs(data, opt.filename);\n resolve();\n },\n err => {\n reject(err);\n }\n );\n });\n }\n}\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":"zip.mjs","sources":["../../../../packages/abc/zip/zip.service.ts","../../../../packages/abc/zip/zip.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable, NgZone, inject } from '@angular/core';\n\nimport { saveAs } from 'file-saver';\nimport type jsZipType from 'jszip';\n\nimport { AlainConfigService, AlainZipConfig } from '@delon/util/config';\nimport { ZoneOutside } from '@delon/util/decorator';\nimport { LazyResult, LazyService } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { ZipSaveOptions } from './zip.types';\n\ndeclare const JSZip: jsZipType;\n\n@Injectable({ providedIn: 'root' })\nexport class ZipService {\n private readonly http = inject(HttpClient);\n private readonly lazy = inject(LazyService);\n private readonly ngZone = inject(NgZone);\n private readonly cogSrv = inject(AlainConfigService);\n private cog: AlainZipConfig;\n\n constructor() {\n this.cog = this.cogSrv.merge('zip', {\n url: 'https://cdn.jsdelivr.net/npm/jszip@3/dist/jszip.min.js',\n utils: []\n })!;\n }\n\n private init(): Promise<LazyResult[]> {\n return this.lazy.load([this.cog.url!].concat(this.cog.utils!));\n }\n\n private check(zip?: jsZipType | null): void {\n if (!zip) throw new Error('get instance via `ZipService.create()`');\n }\n\n /** 解压 */\n @ZoneOutside()\n read(fileOrUrl: File | string, options?: jsZipType.JSZipLoadOptions): Promise<jsZipType> {\n return new Promise<jsZipType>((resolve, reject) => {\n const resolveCallback = (data: jsZipType): void => {\n this.ngZone.run(() => resolve(data));\n };\n this.init().then(() => {\n // from url\n if (typeof fileOrUrl === 'string') {\n this.http.request('GET', fileOrUrl, { responseType: 'arraybuffer' }).subscribe({\n next: (res: ArrayBuffer) => {\n JSZip.loadAsync(res, options).then((ret: jsZipType) => resolveCallback(ret));\n },\n error: err => {\n reject(err);\n }\n });\n return;\n }\n // from file\n const reader: FileReader = new FileReader();\n reader.onload = (e: ProgressEvent<FileReader>) => {\n JSZip.loadAsync(e.target!.result as ArrayBuffer, options).then((ret: jsZipType) => resolveCallback(ret));\n };\n reader.readAsArrayBuffer(fileOrUrl as File);\n });\n });\n }\n\n /** 创建 Zip 实例,用于创建压缩文件 */\n create(): Promise<jsZipType | null> {\n return new Promise<jsZipType | null>(resolve => {\n this.init()\n .then(() => {\n const zipFile = new JSZip();\n resolve(zipFile);\n })\n .catch(() => resolve(null));\n });\n }\n\n /**\n * 下载URL资源并写入 zip\n *\n * @param zip Zip 实例\n * @param path Zip 路径,例如: `text.txt`、`txt/hi.txt`\n * @param url URL 地址\n */\n pushUrl(zip: jsZipType | null, path: string, url: string): Promise<void> {\n this.check(zip);\n return new Promise<void>((resolve, reject) => {\n this.http.request('GET', url, { responseType: 'arraybuffer' }).subscribe({\n next: (res: ArrayBuffer) => {\n zip!.file(path, res);\n resolve();\n },\n error: error => {\n reject({ url, error });\n }\n });\n });\n }\n\n /**\n * 保存Zip并执行打开保存对话框\n *\n * @param zip zip 对象,务必通过 `create()` 构建\n * @param options 额外参数,\n */\n save(zip: jsZipType | null, options?: ZipSaveOptions): Promise<void> {\n this.check(zip);\n const opt = { filename: 'download.zip', ...options } as ZipSaveOptions;\n return new Promise<void>((resolve, reject) => {\n zip!.generateAsync<'blob'>({ type: 'blob', ...opt.options } as NzSafeAny, opt.update as NzSafeAny).then(\n data => {\n if (opt.callback) opt.callback(data);\n saveAs(data, opt.filename);\n resolve();\n },\n err => {\n reject(err);\n }\n );\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}