@acorex/components 7.17.27 → 7.17.29
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.
- package/esm2022/action-sheet/lib/action-sheet.component.mjs +3 -3
- package/esm2022/calendar/lib/calendar.component.mjs +3 -3
- package/esm2022/chips/lib/chips.component.mjs +3 -3
- package/esm2022/data-table/lib/columns/row-index-column.component.mjs +6 -5
- package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +3 -3
- package/esm2022/dialog/lib/dialog.component.mjs +3 -3
- package/esm2022/form/lib/validation-summary.component.mjs +4 -4
- package/esm2022/list/lib/list.component.mjs +3 -3
- package/esm2022/notification/lib/notification.component.mjs +4 -3
- package/esm2022/notification/lib/notification.module.mjs +5 -2
- package/esm2022/otp/lib/otp.class.mjs +1 -1
- package/esm2022/otp/lib/otp.component.mjs +13 -10
- package/esm2022/popup/lib/popup.component.mjs +4 -3
- package/esm2022/popup/lib/popup.module.mjs +5 -2
- package/esm2022/search-box/lib/search-box.component.mjs +3 -3
- package/esm2022/select-box/lib/select-box.component.mjs +3 -3
- package/esm2022/tabs/lib/tabs.component.mjs +3 -3
- package/esm2022/toast/lib/toast.component.mjs +4 -3
- package/esm2022/toast/lib/toast.module.mjs +4 -3
- package/esm2022/uploader/lib/uploader-dialog-container.component.mjs +4 -3
- package/esm2022/uploader/lib/uploader-list.component.mjs +3 -3
- package/fesm2022/acorex-components-action-sheet.mjs +2 -2
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +2 -2
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +2 -2
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +4 -4
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +2 -2
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +2 -2
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +3 -3
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +2 -2
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +7 -3
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +12 -9
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +7 -3
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +2 -2
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +2 -2
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +2 -2
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +6 -4
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +7 -7
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/notification/lib/notification.module.d.ts +2 -1
- package/otp/lib/otp.class.d.ts +1 -0
- package/package.json +1 -1
- package/popup/lib/popup.module.d.ts +2 -1
- package/toast/lib/toast.module.d.ts +2 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-toast.mjs","sources":["../../../../libs/components/toast/src/lib/toast.component.ts","../../../../libs/components/toast/src/lib/toast.component.html","../../../../libs/components/toast/src/lib/toast.config.ts","../../../../libs/components/toast/src/lib/toast.service.ts","../../../../libs/components/toast/src/lib/toast.module.ts","../../../../libs/components/toast/src/acorex-components-toast.ts"],"sourcesContent":["import { AXButtonItem } from '@acorex/components/button';\nimport { AXClosbaleComponent, AXComponentCloseEvent, MXBaseComponent } from '@acorex/components/common';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXToastData } from './toast.class';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-toast',\n templateUrl: './toast.component.html',\n styleUrls: ['./toast.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXClosbaleComponent, useExisting: AXToastComponent }],\n})\nexport class AXToastComponent extends MXBaseComponent implements OnInit {\n protected _toastWidth = 100;\n\n protected _icon: string;\n\n /**\n * @ignore\n */\n constructor(\n @Inject(DIALOG_DATA)\n public config: AXToastData,\n private dialogRef: DialogRef<AXComponentCloseEvent>,\n ) {\n super();\n }\n\n ngOnInit() {\n super.ngOnInit();\n if (this.config.timeOut) {\n setTimeout(() => {\n this.close();\n }, this.config.timeOut);\n }\n if (!this.config.icon) {\n switch (this.config.color) {\n case 'success':\n this._icon = 'ax-icon ax-icon-check-circle';\n break;\n case 'warning':\n this._icon = 'ax-icon ax-icon-warning';\n break;\n case 'danger':\n this._icon = 'ax-icon ax-icon-error';\n break;\n case 'info':\n this._icon = 'ax-icon ax-icon-info';\n break;\n default:\n this._icon = this.config.icon || 'ax-icon ax-icon-check-circle';\n break;\n }\n } else {\n this._icon = this.config.icon;\n }\n }\n\n _handleButtonClick(button: AXButtonItem) {\n if (button.onClick) {\n button.onClick({ source: button });\n }\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-${this.config.color}`;\n }\n\n close() {\n this.dialogRef.close({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n}\n","<span class=\"ax-toast-icon ax-icon-solid {{ _icon }}\"></span>\n<div class=\"ax-toast-content\">\n <div class=\"ax-toast-title\" [class.ax-mb-2]=\"config.title && config.content\">{{ config.title }}</div>\n <div class=\"ax-toast-content\" [innerHTML]=\"config.content\"></div>\n</div>\n<ax-close-button *ngIf=\"config.closeButton\"></ax-close-button>\n<div\n class=\"ax-toast-progress\"\n [style.animation-duration.ms]=\"config.timeOut\"\n *ngIf=\"config.timeOutProgress && config.timeOut\"\n></div>\n","import { AXLocation } from '@acorex/components/common';\nimport { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { InjectionToken, inject } from '@angular/core';\nimport { set } from 'lodash-es';\n\nexport interface AXToastConfig {\n gap: number;\n timeOut: number;\n timeOutProgress: boolean;\n location: AXLocation;\n}\n\nexport const AX_TOAST_CONFIG = new InjectionToken<AXToastConfig>('AX_TOAST_CONFIG', {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, 'layout.toast', AX_TOAST_CONFIG);\n return AXToastDefaultConfig;\n },\n});\n\nexport const AXToastDefaultConfig: AXToastConfig = {\n gap: 5,\n timeOut: 2500,\n timeOutProgress: true,\n location: 'bottom-center',\n};\n\nexport type PartialToastConfig = Partial<AXToastConfig>;\n\nexport function toastConfig(config: PartialToastConfig = {}): AXToastConfig {\n const result = {\n ...AXToastDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { Dialog } from '@angular/cdk/dialog';\nimport { GlobalPositionStrategy, ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { Injectable, inject } from '@angular/core';\nimport { AXToastDisplayConfig, AXToastRef } from './toast.class';\nimport { AXToastComponent } from './toast.component';\nimport { AXToastConfig, AX_TOAST_CONFIG } from './toast.config';\n\n@Injectable()\nexport class AXToastService {\n private dialog: Dialog = inject(Dialog);\n private defaultConfig: AXToastConfig = inject(AX_TOAST_CONFIG);\n\n scrollStrategy: ScrollStrategy;\n\n constructor(private readonly scrollStrategyOptions: ScrollStrategyOptions) {\n this.scrollStrategy = this.scrollStrategyOptions.noop();\n }\n primary(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'primary',\n content: content,\n });\n }\n secondary(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'secondary',\n content: content,\n });\n }\n success(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'success',\n content: content,\n });\n }\n\n warning(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'warning',\n content: content,\n });\n }\n danger(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'danger',\n content: content,\n });\n }\n show(config: AXToastDisplayConfig): AXToastRef {\n const opt = Object.assign(\n {\n closeButton: true,\n location: this.defaultConfig.location ?? 'bottom-center',\n },\n config,\n );\n const gap = this.defaultConfig.gap;\n\n let positionStrategy = new GlobalPositionStrategy();\n const pos = this.getPosition(opt.location) + gap + 'px';\n switch (opt.location) {\n case 'bottom-center':\n positionStrategy = positionStrategy.bottom(pos).centerHorizontally();\n break;\n case 'bottom-end':\n positionStrategy = positionStrategy.bottom(pos).right(gap + 'px');\n break;\n case 'bottom-start':\n positionStrategy = positionStrategy.bottom(pos).left(gap + 'px');\n break;\n case 'top-center':\n positionStrategy = positionStrategy.top(pos).centerHorizontally();\n break;\n case 'top-end':\n positionStrategy = positionStrategy.top(pos).right(gap + 'px');\n break;\n case 'top-start':\n positionStrategy = positionStrategy.top(pos).left(gap + 'px');\n break;\n case 'center-start':\n positionStrategy = positionStrategy.centerVertically().left(gap + 'px');\n break;\n case 'center-end':\n positionStrategy = positionStrategy.centerVertically().right(gap + 'px');\n break;\n }\n\n const dialogRef = this.dialog.open(AXToastComponent, {\n data: opt,\n autoFocus: '__no_element__',\n restoreFocus: true,\n role: 'dialog',\n ariaModal: true,\n closeOnNavigation: true,\n closeOnDestroy: true,\n hasBackdrop: false,\n panelClass: ['ax-animate-animated', 'ax-animate-fadeIn', 'ax-animate-faster'],\n positionStrategy: positionStrategy,\n scrollStrategy: this.scrollStrategy,\n });\n\n const toastRef = dialogRef.componentInstance as AXToastComponent;\n dialogRef.closed.subscribe(() => {\n this.reposition();\n });\n\n return {\n close: () => {\n toastRef.close();\n },\n };\n }\n\n public hideAll() {\n this.dialog.closeAll();\n }\n\n private reposition(): void {\n //TODO: reposition vertically afer close toast\n }\n\n private getPosition(location: string) {\n const list = this.dialog.openDialogs\n .map((c) => c.componentInstance as AXToastComponent)\n .filter((c) => c.config?.location == location);\n if (list.length == 0) return 0;\n if (location.split('-')[0] == 'bottom') {\n return window.innerHeight - list[list.length - 1].getHostElement().offsetTop;\n } else {\n return (\n list[list.length - 1].getHostElement().offsetTop + list[list.length - 1].getHostElement().offsetHeight\n );\n }\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXToastComponent } from './toast.component';\nimport { AXToastService } from './toast.service';\n\nconst COMPONENT = [AXToastComponent];\nconst MODULES = [CommonModule, AXButtonModule, AXDecoratorModule, AXLoadingModule, DialogModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [AXToastService],\n})\nexport class AXToastModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-toast.mjs","sources":["../../../../libs/components/toast/src/lib/toast.component.ts","../../../../libs/components/toast/src/lib/toast.component.html","../../../../libs/components/toast/src/lib/toast.config.ts","../../../../libs/components/toast/src/lib/toast.service.ts","../../../../libs/components/toast/src/lib/toast.module.ts","../../../../libs/components/toast/src/acorex-components-toast.ts"],"sourcesContent":["import { AXButtonItem } from '@acorex/components/button';\nimport { AXClosbaleComponent, AXComponentCloseEvent, MXBaseComponent } from '@acorex/components/common';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXToastData } from './toast.class';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-toast',\n templateUrl: './toast.component.html',\n styleUrls: ['./toast.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXClosbaleComponent, useExisting: AXToastComponent }],\n})\nexport class AXToastComponent extends MXBaseComponent implements OnInit {\n protected _toastWidth = 100;\n\n protected _icon: string;\n\n /**\n * @ignore\n */\n constructor(\n @Inject(DIALOG_DATA)\n public config: AXToastData,\n private dialogRef: DialogRef<AXComponentCloseEvent>,\n ) {\n super();\n }\n\n ngOnInit() {\n super.ngOnInit();\n if (this.config.timeOut) {\n setTimeout(() => {\n this.close();\n }, this.config.timeOut);\n }\n if (!this.config.icon) {\n switch (this.config.color) {\n case 'success':\n this._icon = 'ax-icon ax-icon-check-circle';\n break;\n case 'warning':\n this._icon = 'ax-icon ax-icon-warning';\n break;\n case 'danger':\n this._icon = 'ax-icon ax-icon-error';\n break;\n case 'info':\n this._icon = 'ax-icon ax-icon-info';\n break;\n default:\n this._icon = this.config.icon || 'ax-icon ax-icon-check-circle';\n break;\n }\n } else {\n this._icon = this.config.icon;\n }\n }\n\n _handleButtonClick(button: AXButtonItem) {\n if (button.onClick) {\n button.onClick({ source: button });\n }\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-${this.config.color}`;\n }\n\n close() {\n this.dialogRef.close({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n}\n","<span class=\"ax-toast-icon ax-icon-solid {{ _icon }}\"></span>\n<div class=\"ax-toast-content\">\n <div class=\"ax-toast-title\" [class.ax-mb-2]=\"config.title && config.content\">{{ config.title | translate | async }}\n </div>\n <div class=\"ax-toast-content\" [innerHTML]=\"config.content\"></div>\n</div>\n<ax-close-button *ngIf=\"config.closeButton\"></ax-close-button>\n<div class=\"ax-toast-progress\" [style.animation-duration.ms]=\"config.timeOut\"\n *ngIf=\"config.timeOutProgress && config.timeOut\"></div>","import { AXLocation } from '@acorex/components/common';\nimport { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { InjectionToken, inject } from '@angular/core';\nimport { set } from 'lodash-es';\n\nexport interface AXToastConfig {\n gap: number;\n timeOut: number;\n timeOutProgress: boolean;\n location: AXLocation;\n}\n\nexport const AX_TOAST_CONFIG = new InjectionToken<AXToastConfig>('AX_TOAST_CONFIG', {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, 'layout.toast', AX_TOAST_CONFIG);\n return AXToastDefaultConfig;\n },\n});\n\nexport const AXToastDefaultConfig: AXToastConfig = {\n gap: 5,\n timeOut: 2500,\n timeOutProgress: true,\n location: 'bottom-center',\n};\n\nexport type PartialToastConfig = Partial<AXToastConfig>;\n\nexport function toastConfig(config: PartialToastConfig = {}): AXToastConfig {\n const result = {\n ...AXToastDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { Dialog } from '@angular/cdk/dialog';\nimport { GlobalPositionStrategy, ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { Injectable, inject } from '@angular/core';\nimport { AXToastDisplayConfig, AXToastRef } from './toast.class';\nimport { AXToastComponent } from './toast.component';\nimport { AXToastConfig, AX_TOAST_CONFIG } from './toast.config';\n\n@Injectable()\nexport class AXToastService {\n private dialog: Dialog = inject(Dialog);\n private defaultConfig: AXToastConfig = inject(AX_TOAST_CONFIG);\n\n scrollStrategy: ScrollStrategy;\n\n constructor(private readonly scrollStrategyOptions: ScrollStrategyOptions) {\n this.scrollStrategy = this.scrollStrategyOptions.noop();\n }\n primary(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'primary',\n content: content,\n });\n }\n secondary(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'secondary',\n content: content,\n });\n }\n success(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'success',\n content: content,\n });\n }\n\n warning(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'warning',\n content: content,\n });\n }\n danger(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'danger',\n content: content,\n });\n }\n show(config: AXToastDisplayConfig): AXToastRef {\n const opt = Object.assign(\n {\n closeButton: true,\n location: this.defaultConfig.location ?? 'bottom-center',\n },\n config,\n );\n const gap = this.defaultConfig.gap;\n\n let positionStrategy = new GlobalPositionStrategy();\n const pos = this.getPosition(opt.location) + gap + 'px';\n switch (opt.location) {\n case 'bottom-center':\n positionStrategy = positionStrategy.bottom(pos).centerHorizontally();\n break;\n case 'bottom-end':\n positionStrategy = positionStrategy.bottom(pos).right(gap + 'px');\n break;\n case 'bottom-start':\n positionStrategy = positionStrategy.bottom(pos).left(gap + 'px');\n break;\n case 'top-center':\n positionStrategy = positionStrategy.top(pos).centerHorizontally();\n break;\n case 'top-end':\n positionStrategy = positionStrategy.top(pos).right(gap + 'px');\n break;\n case 'top-start':\n positionStrategy = positionStrategy.top(pos).left(gap + 'px');\n break;\n case 'center-start':\n positionStrategy = positionStrategy.centerVertically().left(gap + 'px');\n break;\n case 'center-end':\n positionStrategy = positionStrategy.centerVertically().right(gap + 'px');\n break;\n }\n\n const dialogRef = this.dialog.open(AXToastComponent, {\n data: opt,\n autoFocus: '__no_element__',\n restoreFocus: true,\n role: 'dialog',\n ariaModal: true,\n closeOnNavigation: true,\n closeOnDestroy: true,\n hasBackdrop: false,\n panelClass: ['ax-animate-animated', 'ax-animate-fadeIn', 'ax-animate-faster'],\n positionStrategy: positionStrategy,\n scrollStrategy: this.scrollStrategy,\n });\n\n const toastRef = dialogRef.componentInstance as AXToastComponent;\n dialogRef.closed.subscribe(() => {\n this.reposition();\n });\n\n return {\n close: () => {\n toastRef.close();\n },\n };\n }\n\n public hideAll() {\n this.dialog.closeAll();\n }\n\n private reposition(): void {\n //TODO: reposition vertically afer close toast\n }\n\n private getPosition(location: string) {\n const list = this.dialog.openDialogs\n .map((c) => c.componentInstance as AXToastComponent)\n .filter((c) => c.config?.location == location);\n if (list.length == 0) return 0;\n if (location.split('-')[0] == 'bottom') {\n return window.innerHeight - list[list.length - 1].getHostElement().offsetTop;\n } else {\n return (\n list[list.length - 1].getHostElement().offsetTop + list[list.length - 1].getHostElement().offsetHeight\n );\n }\n }\n}\n","import { AXTranslationModule } from '@acorex/core/translation';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXToastComponent } from './toast.component';\nimport { AXToastService } from './toast.service';\n\nconst COMPONENT = [AXToastComponent];\nconst MODULES = [CommonModule, AXButtonModule, AXDecoratorModule, AXLoadingModule, DialogModule, AXTranslationModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [AXToastService],\n})\nexport class AXToastModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;;;;AAaA;;;;AAIG;AASG,MAAO,gBAAiB,SAAQ,eAAe,CAAA;AAKnD;;AAEG;IACH,WAES,CAAA,MAAmB,EAClB,SAA2C,EAAA;AAEnD,QAAA,KAAK,EAAE,CAAC;QAHD,IAAM,CAAA,MAAA,GAAN,MAAM,CAAa;QAClB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkC;QAV3C,IAAW,CAAA,WAAA,GAAG,GAAG,CAAC;KAa3B;IAED,QAAQ,GAAA;QACN,KAAK,CAAC,QAAQ,EAAE,CAAC;AACjB,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACvB,UAAU,CAAC,MAAK;gBACd,IAAI,CAAC,KAAK,EAAE,CAAC;AACf,aAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACzB,SAAA;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AACrB,YAAA,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK;AACvB,gBAAA,KAAK,SAAS;AACZ,oBAAA,IAAI,CAAC,KAAK,GAAG,8BAA8B,CAAC;oBAC5C,MAAM;AACR,gBAAA,KAAK,SAAS;AACZ,oBAAA,IAAI,CAAC,KAAK,GAAG,yBAAyB,CAAC;oBACvC,MAAM;AACR,gBAAA,KAAK,QAAQ;AACX,oBAAA,IAAI,CAAC,KAAK,GAAG,uBAAuB,CAAC;oBACrC,MAAM;AACR,gBAAA,KAAK,MAAM;AACT,oBAAA,IAAI,CAAC,KAAK,GAAG,sBAAsB,CAAC;oBACpC,MAAM;AACR,gBAAA;oBACE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,8BAA8B,CAAC;oBAChE,MAAM;AACT,aAAA;AACF,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC/B,SAAA;KACF;AAED,IAAA,kBAAkB,CAAC,MAAoB,EAAA;QACrC,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AACpC,SAAA;KACF;AAED,IAAA,IACY,WAAW,GAAA;AACrB,QAAA,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;KAClC;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AACnB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE;AACnC,SAAA,CAAC,CAAC;KACJ;AA9DU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,kBASjB,WAAW,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AATV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAFhB,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,iDCxB9E,2gBAQyD,EAAA,MAAA,EAAA,CAAA,68JAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,+BAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDkB5C,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,mBAGH,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,SAAA,EAC1B,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAA,gBAAkB,EAAE,CAAC,EAAA,QAAA,EAAA,2gBAAA,EAAA,MAAA,EAAA,CAAA,68JAAA,CAAA,EAAA,CAAA;;0BAWzE,MAAM;2BAAC,WAAW,CAAA;iEA4CT,WAAW,EAAA,CAAA;sBADtB,WAAW;uBAAC,OAAO,CAAA;;;MElET,eAAe,GAAG,IAAI,cAAc,CAAgB,iBAAiB,EAAE;AAClF,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAK;AACZ,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACxC,QAAA,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;AAC7C,QAAA,OAAO,oBAAoB,CAAC;KAC7B;AACF,CAAA,EAAE;AAEU,MAAA,oBAAoB,GAAkB;AACjD,IAAA,GAAG,EAAE,CAAC;AACN,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,QAAQ,EAAE,eAAe;EACzB;AAIc,SAAA,WAAW,CAAC,MAAA,GAA6B,EAAE,EAAA;AACzD,IAAA,MAAM,MAAM,GAAG;AACb,QAAA,GAAG,oBAAoB;AACvB,QAAA,GAAG,MAAM;KACV,CAAC;AACF,IAAA,OAAO,MAAM,CAAC;AAChB;;MC5Ba,cAAc,CAAA;AAMzB,IAAA,WAAA,CAA6B,qBAA4C,EAAA;QAA5C,IAAqB,CAAA,qBAAA,GAArB,qBAAqB,CAAuB;AALjE,QAAA,IAAA,CAAA,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,CAAC;AAChC,QAAA,IAAA,CAAA,aAAa,GAAkB,MAAM,CAAC,eAAe,CAAC,CAAC;QAK7D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;KACzD;AACD,IAAA,OAAO,CAAC,OAAe,EAAA;QACrB,IAAI,CAAC,IAAI,CAAC;AACR,YAAA,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO;AACnC,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,OAAO,EAAE,OAAO;AACjB,SAAA,CAAC,CAAC;KACJ;AACD,IAAA,SAAS,CAAC,OAAe,EAAA;QACvB,IAAI,CAAC,IAAI,CAAC;AACR,YAAA,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO;AACnC,YAAA,KAAK,EAAE,WAAW;AAClB,YAAA,OAAO,EAAE,OAAO;AACjB,SAAA,CAAC,CAAC;KACJ;AACD,IAAA,OAAO,CAAC,OAAe,EAAA;QACrB,IAAI,CAAC,IAAI,CAAC;AACR,YAAA,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO;AACnC,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,OAAO,EAAE,OAAO;AACjB,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,OAAO,CAAC,OAAe,EAAA;QACrB,IAAI,CAAC,IAAI,CAAC;AACR,YAAA,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO;AACnC,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,OAAO,EAAE,OAAO;AACjB,SAAA,CAAC,CAAC;KACJ;AACD,IAAA,MAAM,CAAC,OAAe,EAAA;QACpB,IAAI,CAAC,IAAI,CAAC;AACR,YAAA,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO;AACnC,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,OAAO,EAAE,OAAO;AACjB,SAAA,CAAC,CAAC;KACJ;AACD,IAAA,IAAI,CAAC,MAA4B,EAAA;AAC/B,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CACvB;AACE,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,eAAe;SACzD,EACD,MAAM,CACP,CAAC;AACF,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;AAEnC,QAAA,IAAI,gBAAgB,GAAG,IAAI,sBAAsB,EAAE,CAAC;AACpD,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;QACxD,QAAQ,GAAG,CAAC,QAAQ;AAClB,YAAA,KAAK,eAAe;gBAClB,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC;gBACrE,MAAM;AACR,YAAA,KAAK,YAAY;AACf,gBAAA,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBAClE,MAAM;AACR,YAAA,KAAK,cAAc;AACjB,gBAAA,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBACjE,MAAM;AACR,YAAA,KAAK,YAAY;gBACf,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC;gBAClE,MAAM;AACR,YAAA,KAAK,SAAS;AACZ,gBAAA,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBAC/D,MAAM;AACR,YAAA,KAAK,WAAW;AACd,gBAAA,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBAC9D,MAAM;AACR,YAAA,KAAK,cAAc;AACjB,gBAAA,gBAAgB,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBACxE,MAAM;AACR,YAAA,KAAK,YAAY;AACf,gBAAA,gBAAgB,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBACzE,MAAM;AACT,SAAA;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;AACnD,YAAA,IAAI,EAAE,GAAG;AACT,YAAA,SAAS,EAAE,gBAAgB;AAC3B,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,UAAU,EAAE,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC;AAC7E,YAAA,gBAAgB,EAAE,gBAAgB;YAClC,cAAc,EAAE,IAAI,CAAC,cAAc;AACpC,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,iBAAqC,CAAC;AACjE,QAAA,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAK;YAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;AACpB,SAAC,CAAC,CAAC;QAEH,OAAO;YACL,KAAK,EAAE,MAAK;gBACV,QAAQ,CAAC,KAAK,EAAE,CAAC;aAClB;SACF,CAAC;KACH;IAEM,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;KACxB;IAEO,UAAU,GAAA;;KAEjB;AAEO,IAAA,WAAW,CAAC,QAAgB,EAAA;AAClC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW;aACjC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAqC,CAAC;AACnD,aAAA,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,QAAQ,IAAI,QAAQ,CAAC,CAAC;AACjD,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;AAAE,YAAA,OAAO,CAAC,CAAC;QAC/B,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;AACtC,YAAA,OAAO,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC;AAC9E,SAAA;AAAM,aAAA;AACL,YAAA,QACE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,YAAY,EACtG;AACH,SAAA;KACF;8GAlIU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAd,cAAc,EAAA,CAAA,CAAA,EAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;;;ACGX,MAAM,SAAS,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACrC,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC;MAQzG,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EATP,YAAA,EAAA,CAAA,gBAAgB,CAClB,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,mBAAmB,aADjG,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;AAStB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAFb,SAAA,EAAA,CAAC,cAAc,CAAC,YAFd,OAAO,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIT,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;AAC5B,oBAAA,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;AACrB,oBAAA,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;oBACvB,SAAS,EAAE,CAAC,cAAc,CAAC;AAC5B,iBAAA,CAAA;;;AClBD;;AAEG;;;;"}
|
@@ -8,14 +8,14 @@ import { sumBy } from 'lodash-es';
|
|
8
8
|
import { AXPopupService, AXPopupModule } from '@acorex/components/popup';
|
9
9
|
import { AUTO_STYLE, style, state, animate, transition, trigger } from '@angular/animations';
|
10
10
|
import { AXClosbaleComponent, MXBaseComponent } from '@acorex/components/common';
|
11
|
-
import * as
|
11
|
+
import * as i1$1 from '@angular/common';
|
12
12
|
import { CommonModule } from '@angular/common';
|
13
13
|
import { AXBasePageComponent } from '@acorex/components/page';
|
14
14
|
import * as i1 from '@acorex/components/circular-progress';
|
15
15
|
import { AXCircularProgressModule } from '@acorex/components/circular-progress';
|
16
16
|
import * as i4 from '@acorex/core/format';
|
17
17
|
import { AXFormatModule } from '@acorex/core/format';
|
18
|
-
import * as i1$
|
18
|
+
import * as i1$2 from '@acorex/components/decorators';
|
19
19
|
import { AXDecoratorModule } from '@acorex/components/decorators';
|
20
20
|
import { AXButtonModule } from '@acorex/components/button';
|
21
21
|
import { AXProgressBarModule } from '@acorex/components/progress-bar';
|
@@ -267,11 +267,11 @@ class AXUploaderListComponent extends AXBasePageComponent {
|
|
267
267
|
this.uploadService = inject(AXUploaderService);
|
268
268
|
}
|
269
269
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXUploaderListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
270
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: AXUploaderListComponent, selector: "ax-uploader-list", usesInheritance: true, ngImport: i0, template: "@if((uploadService.totalEstimateTime | async) > 0)\n{\n<div class=\"ax-uploader-progress-status\">\n <div>{{ uploadService.totalEstimateTime | async | format: 'timeleft' }}</div>\n <button (click)=\"uploadService.cancelAll()\">{{ 'cancel' | translate }}</button>\n</div>\n}\n<ul class=\"ax-uploader-list-items\">\n @for (item of uploadService.files | async; track item.name) {\n <li>\n <div class=\"ax-file ax-bg-success-500\">\n <span>{{ item.ext }}</span>\n </div>\n <div class=\"ax-item-container\">\n <div class=\"ax-item-name\" [title]=\"item.name\">{{ item.name }}</div>\n <div><span>{{ item.size | format: 'filesize' }}</span>\n @switch (item.status()) {\n @case ('inprogress') {\n / {{ item.estimateTime() | format: 'timeleft' }}\n }\n }\n </div>\n </div>\n @switch (item.status()) {\n @case ('completed') {\n <div class=\"ax-status\">\n <i class=\"ax-icon ax-icon-solid ax-icon-check-circle ax-state-completed\"></i>\n </div>\n }\n @case ('canceled') {\n <span class=\"ax-state-canceled\">
|
270
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: AXUploaderListComponent, selector: "ax-uploader-list", usesInheritance: true, ngImport: i0, template: "@if((uploadService.totalEstimateTime | async) > 0)\n{\n<div class=\"ax-uploader-progress-status\">\n <div>{{ (uploadService.totalEstimateTime | async) | format: 'timeleft' | async }}</div>\n <button (click)=\"uploadService.cancelAll()\">{{ 'cancel' | translate | async }}</button>\n</div>\n}\n<ul class=\"ax-uploader-list-items\">\n @for (item of uploadService.files | async; track item.name) {\n <li>\n <div class=\"ax-file ax-bg-success-500\">\n <span>{{ item.ext }}</span>\n </div>\n <div class=\"ax-item-container\">\n <div class=\"ax-item-name\" [title]=\"item.name\">{{ item.name }}</div>\n <div><span>{{ item.size | format: 'filesize' | async }}</span>\n @switch (item.status()) {\n @case ('inprogress') {\n / {{ item.estimateTime() | format: 'timeleft' | async }}\n }\n }\n </div>\n </div>\n @switch (item.status()) {\n @case ('completed') {\n <div class=\"ax-status\">\n <i class=\"ax-icon ax-icon-solid ax-icon-check-circle ax-state-completed\"></i>\n </div>\n }\n @case ('canceled') {\n <span class=\"ax-state-canceled\">{{ 'canceled' | translate | async }}</span>\n }\n @case ('failed') {\n <span class=\"ax-state-failed\">{{ 'failed' | translate | async }}</span>\n }\n @default {\n <div class=\"ax-status\">\n <ax-circular-progress [size]=\"22\" [stroke]=\"6\" [progress]=\"item.progress()\" class=\"ax-show\">\n </ax-circular-progress>\n <i class=\"ax-icon ax-icon-solid ax-icon-close ax-hide\" (click)=\"item.cancel()\"\n title=\"{{ 'cancel' | translate | async }}\"></i>\n </div>\n }\n }\n </li>\n }\n</ul>", styles: [".ax-dark ax-uploader-list .ax-uploader-progress-status{border-color:rgba(var(--ax-color-primary-500));background-color:rgba(var(--ax-color-primary-500),.25);color:rgba(var(--ax-color-primary-fore))}ax-uploader-list .ax-uploader-progress-status{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;border-top-width:1px;border-color:rgba(var(--ax-color-primary-200));background-color:rgba(var(--ax-color-primary-200));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-color-primary-fore-tint))}ax-uploader-list .ax-uploader-list-items{max-height:75vh;width:100%;overflow-y:auto;overflow-x:hidden;padding:.5rem 1rem;gap:.5rem;display:flex;flex-direction:column}ax-uploader-list .ax-uploader-list-items li{display:flex;align-items:center;font-size:.875rem;line-height:1.25rem;gap:1rem;width:100%}ax-uploader-list .ax-uploader-list-items li .ax-item-container{display:flex;flex-direction:column;flex:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}ax-uploader-list .ax-uploader-list-items li .ax-item-container .ax-item-name{font-size:.875rem;line-height:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;width:12rem}ax-uploader-list .ax-uploader-list-items li .ax-status{position:relative;color:rgba(var(--ax-color-black),.5)}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-icon{font-size:1.375rem}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-icon-close{cursor:pointer}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-state-canceled{color:rgba(var(--ax-color-neutral-500))}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-state-failed{color:rgba(var(--ax-color-danger-500))}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-state-completed{color:rgba(var(--ax-color-success-500))}ax-uploader-list .ax-uploader-list-items li:hover .ax-hide{display:flex!important}ax-uploader-list .ax-uploader-list-items li:hover .ax-show{display:none!important}ax-uploader-list .ax-uploader-list-items li .ax-show{display:flex!important}ax-uploader-list .ax-uploader-list-items li .ax-hide{display:none!important}.ax-file{position:relative;display:flex;align-items:center;justify-content:center;width:1.5rem;aspect-ratio:.7;border-radius:.25rem;color:rgba(var(--ax-color-white))}.ax-file>*{position:absolute;bottom:.3rem;font-weight:700;font-size:.65rem;line-height:.65rem}.ax-file:before{content:\"\";position:absolute;top:0;right:0;border-width:0 12px 12px 0;border-color:rgba(var(--ax-color-surface)) rgba(var(--ax-color-surface)) rgba(var(--ax-color-black),.3) rgba(var(--ax-color-black),.3)}\n"], dependencies: [{ kind: "component", type: i1.AXCircularProgressComponent, selector: "ax-circular-progress", inputs: ["color", "progress", "stroke", "size"], outputs: ["ValueChange", "strokeChange", "sizeChange"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: i4.AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
|
271
271
|
}
|
272
272
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXUploaderListComponent, decorators: [{
|
273
273
|
type: Component,
|
274
|
-
args: [{ selector: 'ax-uploader-list', encapsulation: ViewEncapsulation.None, template: "@if((uploadService.totalEstimateTime | async) > 0)\n{\n<div class=\"ax-uploader-progress-status\">\n <div>{{ uploadService.totalEstimateTime | async | format: 'timeleft' }}</div>\n <button (click)=\"uploadService.cancelAll()\">{{ 'cancel' | translate }}</button>\n</div>\n}\n<ul class=\"ax-uploader-list-items\">\n @for (item of uploadService.files | async; track item.name) {\n <li>\n <div class=\"ax-file ax-bg-success-500\">\n <span>{{ item.ext }}</span>\n </div>\n <div class=\"ax-item-container\">\n <div class=\"ax-item-name\" [title]=\"item.name\">{{ item.name }}</div>\n <div><span>{{ item.size | format: 'filesize' }}</span>\n @switch (item.status()) {\n @case ('inprogress') {\n / {{ item.estimateTime() | format: 'timeleft' }}\n }\n }\n </div>\n </div>\n @switch (item.status()) {\n @case ('completed') {\n <div class=\"ax-status\">\n <i class=\"ax-icon ax-icon-solid ax-icon-check-circle ax-state-completed\"></i>\n </div>\n }\n @case ('canceled') {\n <span class=\"ax-state-canceled\">
|
274
|
+
args: [{ selector: 'ax-uploader-list', encapsulation: ViewEncapsulation.None, template: "@if((uploadService.totalEstimateTime | async) > 0)\n{\n<div class=\"ax-uploader-progress-status\">\n <div>{{ (uploadService.totalEstimateTime | async) | format: 'timeleft' | async }}</div>\n <button (click)=\"uploadService.cancelAll()\">{{ 'cancel' | translate | async }}</button>\n</div>\n}\n<ul class=\"ax-uploader-list-items\">\n @for (item of uploadService.files | async; track item.name) {\n <li>\n <div class=\"ax-file ax-bg-success-500\">\n <span>{{ item.ext }}</span>\n </div>\n <div class=\"ax-item-container\">\n <div class=\"ax-item-name\" [title]=\"item.name\">{{ item.name }}</div>\n <div><span>{{ item.size | format: 'filesize' | async }}</span>\n @switch (item.status()) {\n @case ('inprogress') {\n / {{ item.estimateTime() | format: 'timeleft' | async }}\n }\n }\n </div>\n </div>\n @switch (item.status()) {\n @case ('completed') {\n <div class=\"ax-status\">\n <i class=\"ax-icon ax-icon-solid ax-icon-check-circle ax-state-completed\"></i>\n </div>\n }\n @case ('canceled') {\n <span class=\"ax-state-canceled\">{{ 'canceled' | translate | async }}</span>\n }\n @case ('failed') {\n <span class=\"ax-state-failed\">{{ 'failed' | translate | async }}</span>\n }\n @default {\n <div class=\"ax-status\">\n <ax-circular-progress [size]=\"22\" [stroke]=\"6\" [progress]=\"item.progress()\" class=\"ax-show\">\n </ax-circular-progress>\n <i class=\"ax-icon ax-icon-solid ax-icon-close ax-hide\" (click)=\"item.cancel()\"\n title=\"{{ 'cancel' | translate | async }}\"></i>\n </div>\n }\n }\n </li>\n }\n</ul>", styles: [".ax-dark ax-uploader-list .ax-uploader-progress-status{border-color:rgba(var(--ax-color-primary-500));background-color:rgba(var(--ax-color-primary-500),.25);color:rgba(var(--ax-color-primary-fore))}ax-uploader-list .ax-uploader-progress-status{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;border-top-width:1px;border-color:rgba(var(--ax-color-primary-200));background-color:rgba(var(--ax-color-primary-200));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-color-primary-fore-tint))}ax-uploader-list .ax-uploader-list-items{max-height:75vh;width:100%;overflow-y:auto;overflow-x:hidden;padding:.5rem 1rem;gap:.5rem;display:flex;flex-direction:column}ax-uploader-list .ax-uploader-list-items li{display:flex;align-items:center;font-size:.875rem;line-height:1.25rem;gap:1rem;width:100%}ax-uploader-list .ax-uploader-list-items li .ax-item-container{display:flex;flex-direction:column;flex:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}ax-uploader-list .ax-uploader-list-items li .ax-item-container .ax-item-name{font-size:.875rem;line-height:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;width:12rem}ax-uploader-list .ax-uploader-list-items li .ax-status{position:relative;color:rgba(var(--ax-color-black),.5)}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-icon{font-size:1.375rem}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-icon-close{cursor:pointer}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-state-canceled{color:rgba(var(--ax-color-neutral-500))}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-state-failed{color:rgba(var(--ax-color-danger-500))}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-state-completed{color:rgba(var(--ax-color-success-500))}ax-uploader-list .ax-uploader-list-items li:hover .ax-hide{display:flex!important}ax-uploader-list .ax-uploader-list-items li:hover .ax-show{display:none!important}ax-uploader-list .ax-uploader-list-items li .ax-show{display:flex!important}ax-uploader-list .ax-uploader-list-items li .ax-hide{display:none!important}.ax-file{position:relative;display:flex;align-items:center;justify-content:center;width:1.5rem;aspect-ratio:.7;border-radius:.25rem;color:rgba(var(--ax-color-white))}.ax-file>*{position:absolute;bottom:.3rem;font-weight:700;font-size:.65rem;line-height:.65rem}.ax-file:before{content:\"\";position:absolute;top:0;right:0;border-width:0 12px 12px 0;border-color:rgba(var(--ax-color-surface)) rgba(var(--ax-color-surface)) rgba(var(--ax-color-black),.3) rgba(var(--ax-color-black),.3)}\n"] }]
|
275
275
|
}] });
|
276
276
|
|
277
277
|
var uploaderList_component = /*#__PURE__*/Object.freeze({
|
@@ -291,7 +291,7 @@ class AXUploaderDialogContainerComponent {
|
|
291
291
|
this.isCollapsed = !this.isCollapsed;
|
292
292
|
}
|
293
293
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXUploaderDialogContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
294
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: AXUploaderDialogContainerComponent, selector: "ax-uploader-dialog-container", ngImport: i0, template: "<div class=\"ax-uploader-list-header\">\n <div>Uploading</div>\n <div>\n <i class=\"ax-icon\" [ngClass]=\"{ 'ax-icon-chevron-down': !isCollapsed, 'ax-icon-chevron-up': isCollapsed }\"\n (click)=\"toggle()\"></i>\n <i class=\"ax-icon ax-icon-close\" (click)=\"close()\"></i>\n </div>\n</div>\n<div [@collapse]=\"isCollapsed\">\n <ax-uploader-list></ax-uploader-list>\n</div>", styles: ["ax-uploader-dialog-container{display:block;background-color:rgba(var(--ax-color-surface));-webkit-border-top-left-radius:.75rem;-webkit-border-top-right-radius:.75rem;-moz-border-radius-topleft:.75rem;-moz-border-radius-topright:.75rem;border-top-left-radius:.75rem;border-top-right-radius:.75rem;overflow:hidden;box-shadow:-1px -1px 10px rgba(0,0,0,.16);border:1px solid;border-color:rgba(var(--ax-color-border-default));outline-color:rgba(var(--ax-color-primary-500))}ax-uploader-dialog-container .ax-uploader-list-header{display:flex;justify-content:space-between;background-color:rgba(var(--ax-color-on-surface));padding:.75rem 1rem;font-weight:500;color:rgba(var(--ax-color-on-surface-fore))}ax-uploader-dialog-container .ax-uploader-list-header .ax-icon{-webkit-margin-start:.5rem;margin-inline-start:.5rem;cursor:pointer}ax-uploader-dialog-container .ax-uploader-list-header .ax-icon:hover{opacity:.75}\n"], dependencies: [{ kind: "directive", type:
|
294
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: AXUploaderDialogContainerComponent, selector: "ax-uploader-dialog-container", ngImport: i0, template: "<div class=\"ax-uploader-list-header\">\n <div>{{'Uploading' | translate | async }}</div>\n <div>\n <i class=\"ax-icon\" [ngClass]=\"{ 'ax-icon-chevron-down': !isCollapsed, 'ax-icon-chevron-up': isCollapsed }\"\n (click)=\"toggle()\"></i>\n <i class=\"ax-icon ax-icon-close\" (click)=\"close()\"></i>\n </div>\n</div>\n<div [@collapse]=\"isCollapsed\">\n <ax-uploader-list></ax-uploader-list>\n</div>", styles: ["ax-uploader-dialog-container{display:block;background-color:rgba(var(--ax-color-surface));-webkit-border-top-left-radius:.75rem;-webkit-border-top-right-radius:.75rem;-moz-border-radius-topleft:.75rem;-moz-border-radius-topright:.75rem;border-top-left-radius:.75rem;border-top-right-radius:.75rem;overflow:hidden;box-shadow:-1px -1px 10px rgba(0,0,0,.16);border:1px solid;border-color:rgba(var(--ax-color-border-default));outline-color:rgba(var(--ax-color-primary-500))}ax-uploader-dialog-container .ax-uploader-list-header{display:flex;justify-content:space-between;background-color:rgba(var(--ax-color-on-surface));padding:.75rem 1rem;font-weight:500;color:rgba(var(--ax-color-on-surface-fore))}ax-uploader-dialog-container .ax-uploader-list-header .ax-icon{-webkit-margin-start:.5rem;margin-inline-start:.5rem;cursor:pointer}ax-uploader-dialog-container .ax-uploader-list-header .ax-icon:hover{opacity:.75}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: AXUploaderListComponent, selector: "ax-uploader-list" }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "translate" }], animations: [
|
295
295
|
trigger('collapse', [
|
296
296
|
state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),
|
297
297
|
state('true', style({ height: '0', visibility: 'hidden' })),
|
@@ -309,12 +309,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
309
309
|
transition('false => true', animate(150 + 'ms ease-in')),
|
310
310
|
transition('true => false', animate(150 + 'ms ease-out')),
|
311
311
|
]),
|
312
|
-
], template: "<div class=\"ax-uploader-list-header\">\n <div>Uploading</div>\n <div>\n <i class=\"ax-icon\" [ngClass]=\"{ 'ax-icon-chevron-down': !isCollapsed, 'ax-icon-chevron-up': isCollapsed }\"\n (click)=\"toggle()\"></i>\n <i class=\"ax-icon ax-icon-close\" (click)=\"close()\"></i>\n </div>\n</div>\n<div [@collapse]=\"isCollapsed\">\n <ax-uploader-list></ax-uploader-list>\n</div>", styles: ["ax-uploader-dialog-container{display:block;background-color:rgba(var(--ax-color-surface));-webkit-border-top-left-radius:.75rem;-webkit-border-top-right-radius:.75rem;-moz-border-radius-topleft:.75rem;-moz-border-radius-topright:.75rem;border-top-left-radius:.75rem;border-top-right-radius:.75rem;overflow:hidden;box-shadow:-1px -1px 10px rgba(0,0,0,.16);border:1px solid;border-color:rgba(var(--ax-color-border-default));outline-color:rgba(var(--ax-color-primary-500))}ax-uploader-dialog-container .ax-uploader-list-header{display:flex;justify-content:space-between;background-color:rgba(var(--ax-color-on-surface));padding:.75rem 1rem;font-weight:500;color:rgba(var(--ax-color-on-surface-fore))}ax-uploader-dialog-container .ax-uploader-list-header .ax-icon{-webkit-margin-start:.5rem;margin-inline-start:.5rem;cursor:pointer}ax-uploader-dialog-container .ax-uploader-list-header .ax-icon:hover{opacity:.75}\n"] }]
|
312
|
+
], template: "<div class=\"ax-uploader-list-header\">\n <div>{{'Uploading' | translate | async }}</div>\n <div>\n <i class=\"ax-icon\" [ngClass]=\"{ 'ax-icon-chevron-down': !isCollapsed, 'ax-icon-chevron-up': isCollapsed }\"\n (click)=\"toggle()\"></i>\n <i class=\"ax-icon ax-icon-close\" (click)=\"close()\"></i>\n </div>\n</div>\n<div [@collapse]=\"isCollapsed\">\n <ax-uploader-list></ax-uploader-list>\n</div>", styles: ["ax-uploader-dialog-container{display:block;background-color:rgba(var(--ax-color-surface));-webkit-border-top-left-radius:.75rem;-webkit-border-top-right-radius:.75rem;-moz-border-radius-topleft:.75rem;-moz-border-radius-topright:.75rem;border-top-left-radius:.75rem;border-top-right-radius:.75rem;overflow:hidden;box-shadow:-1px -1px 10px rgba(0,0,0,.16);border:1px solid;border-color:rgba(var(--ax-color-border-default));outline-color:rgba(var(--ax-color-primary-500))}ax-uploader-dialog-container .ax-uploader-list-header{display:flex;justify-content:space-between;background-color:rgba(var(--ax-color-on-surface));padding:.75rem 1rem;font-weight:500;color:rgba(var(--ax-color-on-surface-fore))}ax-uploader-dialog-container .ax-uploader-list-header .ax-icon{-webkit-margin-start:.5rem;margin-inline-start:.5rem;cursor:pointer}ax-uploader-dialog-container .ax-uploader-list-header .ax-icon:hover{opacity:.75}\n"] }]
|
313
313
|
}] });
|
314
314
|
|
315
315
|
class AXUploaderDropZoneComponent extends MXBaseComponent {
|
316
316
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXUploaderDropZoneComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
317
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: AXUploaderDropZoneComponent, selector: "ax-uploader-drop-zone", usesInheritance: true, ngImport: i0, template: "<div class=\"ax-uploader-drop-zone-container\" axUploaderZone>\n <ax-icon class=\"ax-icon ax-icon-upload\"></ax-icon>\n <div class=\"ax-uploader-drop-zone-description\">\n <span>Drag & Drop or <a href=\"#\">Choose file</a> to upload</span>\n <p>SVG, PNG, JPG or GIF (MAX. 800x400px)</p>\n </div>\n</div>", styles: [".ax-uploader-drop-zone-container{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:.5rem;margin:1rem;padding:1rem;gap:1rem;border:2px dashed;border-color:rgba(var(--ax-color-border-default))}.ax-uploader-drop-zone-container:hover{border-color:rgba(var(--ax-color-primary-500));background-color:rgba(var(--ax-color-primary-50))}.ax-uploader-drop-zone-container ax-icon{font-size:1.875rem;line-height:2.25rem;color:#a3a3a3}.ax-uploader-drop-zone-container .ax-uploader-drop-zone-description{display:flex;flex-direction:column;gap:.5rem}.ax-uploader-drop-zone-container .ax-uploader-drop-zone-description a{color:rgba(var(--ax-color-primary-500))}.ax-uploader-drop-zone-container .ax-uploader-drop-zone-description p{font-size:.875rem;line-height:1.25rem;color:#a3a3a3}\n"], dependencies: [{ kind: "component", type: i1$
|
317
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: AXUploaderDropZoneComponent, selector: "ax-uploader-drop-zone", usesInheritance: true, ngImport: i0, template: "<div class=\"ax-uploader-drop-zone-container\" axUploaderZone>\n <ax-icon class=\"ax-icon ax-icon-upload\"></ax-icon>\n <div class=\"ax-uploader-drop-zone-description\">\n <span>Drag & Drop or <a href=\"#\">Choose file</a> to upload</span>\n <p>SVG, PNG, JPG or GIF (MAX. 800x400px)</p>\n </div>\n</div>", styles: [".ax-uploader-drop-zone-container{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:.5rem;margin:1rem;padding:1rem;gap:1rem;border:2px dashed;border-color:rgba(var(--ax-color-border-default))}.ax-uploader-drop-zone-container:hover{border-color:rgba(var(--ax-color-primary-500));background-color:rgba(var(--ax-color-primary-50))}.ax-uploader-drop-zone-container ax-icon{font-size:1.875rem;line-height:2.25rem;color:#a3a3a3}.ax-uploader-drop-zone-container .ax-uploader-drop-zone-description{display:flex;flex-direction:column;gap:.5rem}.ax-uploader-drop-zone-container .ax-uploader-drop-zone-description a{color:rgba(var(--ax-color-primary-500))}.ax-uploader-drop-zone-container .ax-uploader-drop-zone-description p{font-size:.875rem;line-height:1.25rem;color:#a3a3a3}\n"], dependencies: [{ kind: "component", type: i1$2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "directive", type: AXUploaderZoneDirective, selector: "[axUploaderZone]", inputs: ["multiple"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
318
318
|
}
|
319
319
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXUploaderDropZoneComponent, decorators: [{
|
320
320
|
type: Component,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-uploader.mjs","sources":["../../../../libs/components/uploader/src/lib/uploader.models.ts","../../../../libs/components/uploader/src/lib/uploader.service.ts","../../../../libs/components/uploader/src/lib/uploader-zone.directive.ts","../../../../libs/components/uploader/src/lib/uploader-browse-handle.directive.ts","../../../../libs/components/uploader/src/lib/uploader-list.component.ts","../../../../libs/components/uploader/src/lib/uploader-list.component.html","../../../../libs/components/uploader/src/lib/uploader-dialog-container.component.ts","../../../../libs/components/uploader/src/lib/uploader-dialog-container.component.html","../../../../libs/components/uploader/src/lib/uploader-drop-zone.component.ts","../../../../libs/components/uploader/src/lib/uploader-drop-zone.component.html","../../../../libs/components/uploader/src/lib/uploader.module.ts","../../../../libs/components/uploader/src/acorex-components-uploader.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\n\nexport type AXUploadStatus = 'new' | 'inprogress' | 'completed' | 'failed' | 'canceled';\n\nexport class AXUploadRequest {\n\n get name(): string {\n return this.file.name;\n }\n\n get ext(): string {\n const parts = this.name.split('.');\n if (parts.length > 1) {\n return parts[parts.length - 1];\n } else {\n // No extension found\n return '';\n }\n }\n\n get size(): number {\n return this.file.size;\n }\n\n readonly progress = signal(0);\n readonly estimateTime = signal(0);\n\n\n readonly status = signal<AXUploadStatus>('new');\n\n private startTime: number;\n private bytesTransferred = 0;\n private uploadSpeed = 1000000; // Simulated upload speed in bytes per interval (e.g., 50KB per interval)\n private interval = 1000;\n private intervalId = -1;\n\n constructor(private file: File) {\n }\n\n private estimateTimeRemaining(bytesTransferred: number): number | null {\n const now = Date.now();\n const elapsed = now - this.startTime; // Time in milliseconds\n\n if (elapsed === 0) {\n return null; // Avoid division by zero\n }\n\n const speed = bytesTransferred / elapsed; // Bytes per millisecond\n const remainingBytes = this.size - bytesTransferred;\n const estimatedTime = Math.ceil(remainingBytes / speed); // Time in milliseconds\n return estimatedTime; // Return the estimated time in milliseconds\n }\n\n\n\n public async upload(): Promise<void> {\n this.startTime = Date.now();\n this.progress.set(0);\n this.status.set('inprogress');\n\n this.intervalId = setInterval(() => {\n this.bytesTransferred += this.uploadSpeed;\n if (this.bytesTransferred > this.size) {\n this.bytesTransferred = this.size;\n }\n const progress = Math.floor(this.bytesTransferred / this.size * 100);\n this.progress.set(progress);\n\n this.estimateTime.set(this.estimateTimeRemaining(this.bytesTransferred));\n\n if (this.bytesTransferred === this.size) {\n clearInterval(this.intervalId);\n this.progress.set(100);\n this.status.set('completed');\n }\n }, this.interval);\n }\n\n public cancel(): Promise<void> {\n this.status.set('canceled');\n this.bytesTransferred = 0;\n this.estimateTime.set(0);\n this.progress.set(0);\n clearInterval(this.intervalId);\n return Promise.resolve();\n }\n}\n\n\n","import { Injectable, inject } from '@angular/core';\nimport { BehaviorSubject, interval, map, switchMap } from 'rxjs';\nimport { AXUploadRequest } from './uploader.models';\nimport { AXFileService } from '@acorex/core/file';\nimport { sumBy } from 'lodash-es';\nimport { AXPopupService } from '@acorex/components/popup';\n\n@Injectable({ providedIn: 'root' })\nexport class AXUploaderService {\n\n private popupService = inject(AXPopupService);\n private fileService: AXFileService = inject(AXFileService);\n private files$: BehaviorSubject<AXUploadRequest[]> = new BehaviorSubject<AXUploadRequest[]>([]);\n public get files(): BehaviorSubject<AXUploadRequest[]> {\n return this.files$;\n }\n\n public readonly totalEstimateTime = interval(500).pipe(\n switchMap(() => this.files$.asObservable()),\n map(f => sumBy(f, c => c.estimateTime()))\n );\n\n private showDialog() {\n import('./uploader-list.component').then(c => {\n this.popupService.open(c.AXUploaderListComponent, {\n size: 'md',\n title: \"Upload File\"\n }).then(async () => {\n await this.cancelAll();\n this.clearAll();\n });\n })\n }\n\n private convertFileToRequest(file: File): AXUploadRequest {\n return new AXUploadRequest(file);\n }\n\n private startUpload() {\n this.files.value.filter(c => c.status() == 'new').forEach(c => {\n c.upload();\n });\n }\n\n async browse(): Promise<AXUploadRequest[]> {\n try {\n const files = await this.fileService.choose();\n if (files.length) {\n return this.add(files);\n }\n return Promise.resolve([]);\n } catch (error) {\n console.error(error);\n return Promise.resolve([]);\n }\n }\n\n async add(files: FileList | File[]): Promise<AXUploadRequest[]> {\n const list = Array.from(files).map(f => this.convertFileToRequest(f));\n const currentValue = this.files$.value;\n currentValue.push(...list);\n this.files$.next(currentValue);\n this.showDialog();\n this.startUpload();\n return Promise.resolve(list);\n }\n\n upload() {\n\n }\n\n async cancelAll() {\n await Promise.all(this.files$.value.filter(c => c.status() != 'completed').map(c => c.cancel()));\n }\n\n clearAll() {\n this.files$.value\n .filter(c => c.status() != 'inprogress')\n .forEach(c => this.remove(c));\n }\n\n remove(item: AXUploadRequest) {\n let currentValue = this.files$.value;\n currentValue = currentValue.filter(c => c != item);\n this.files$.next(currentValue);\n }\n}\n","import { AXFileService } from '@acorex/core/file';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { Directive, ElementRef, HostBinding, Input, OnDestroy, inject } from '@angular/core';\nimport { AXUploaderService } from './uploader.service';\n@Directive({\n selector: '[axUploaderZone]',\n})\nexport class AXUploaderZoneDirective implements OnDestroy {\n @Input() multiple = true;\n private fileService: AXFileService = inject(AXFileService);\n private uploadService: AXUploaderService = inject(AXUploaderService);\n private translateService = inject(AXTranslationService);\n private element: HTMLElement;\n\n stateClass = 'ax-uploader-overlay-state';\n overlayElement: HTMLDivElement;\n\n init() {\n this.element = this.elementRef.nativeElement as HTMLElement;\n this.element.style.position = 'relative';\n }\n\n constructor(private elementRef: ElementRef) {\n this.init();\n this.element.addEventListener('dragenter', this.handleDragEnter.bind(this), true);\n this.element.addEventListener('dragover', this.handleDragOver.bind(this), true);\n this.element.addEventListener('drop', this.handleOnDrop.bind(this), true);\n this.element.addEventListener('dragleave', this.removeZone.bind(this), true);\n }\n\n ngOnDestroy(): void {\n this.element.removeEventListener('dragenter', this.handleDragEnter.bind(this));\n this.element.removeEventListener('drop', this.handleOnDrop.bind(this));\n this.element.removeEventListener('dragover', this.handleDragOver.bind(this));\n this.element.removeEventListener('dragleave', this.removeZone.bind(this));\n }\n private handleDragEnter(event: Event) {\n this.createZone();\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n private handleOnDrop(event: DragEvent) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.uploadService.add(event.dataTransfer?.files);\n this.removeZone();\n }\n\n private handleDragOver(event: Event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n private createZone() {\n this.overlayElement = document.createElement('div');\n this.overlayElement.classList.add('ax-uploader-overlay-state');\n\n const icon: HTMLSpanElement = document.createElement('span');\n icon.classList.add('ax-icon', 'ax-icon-upload');\n\n const text = document.createElement('span');\n text.innerText = this.translateService.translateSync('uploader.zone.text');\n\n this.overlayElement.appendChild(icon);\n this.overlayElement.appendChild(text);\n\n this.element.appendChild(this.overlayElement);\n }\n\n private removeZone() {\n this.overlayElement.remove();\n }\n\n public browser() {\n this.uploadService.browse()\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-drop-zone`;\n }\n}\n\n\n\n","import { Directive, ElementRef, OnDestroy, OnInit, inject } from '@angular/core';\nimport { AXUploaderZoneDirective } from './uploader-zone.directive';\n\n\n\n\n@Directive({\n selector: '[axUploaderBrowseHandle]',\n})\nexport class AXUploaderBrowseDirective implements OnInit, OnDestroy {\n private uploaderZone = inject(AXUploaderZoneDirective);\n private elemenrRef: ElementRef<HTMLDivElement> = inject((ElementRef<HTMLDivElement>));\n\n\n ngOnInit() {\n this.elemenrRef.nativeElement.addEventListener('click', this.handleClick.bind(this));\n }\n\n ngOnDestroy(): void {\n this.elemenrRef.nativeElement.removeEventListener('click', this.handleClick.bind(this));\n }\n\n private handleClick() {\n this.uploaderZone.browser();\n }\n\n}\n","import { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { AXUploaderService } from './uploader.service';\nimport { AXBasePageComponent } from '@acorex/components/page';\n\n@Component({\n selector: 'ax-uploader-list',\n templateUrl: './uploader-list.component.html',\n styleUrls: ['./uploader-list.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXUploaderListComponent extends AXBasePageComponent {\n protected uploadService: AXUploaderService = inject(AXUploaderService);\n}\n","@if((uploadService.totalEstimateTime | async) > 0)\n{\n<div class=\"ax-uploader-progress-status\">\n <div>{{ uploadService.totalEstimateTime | async | format: 'timeleft' }}</div>\n <button (click)=\"uploadService.cancelAll()\">{{ 'cancel' | translate }}</button>\n</div>\n}\n<ul class=\"ax-uploader-list-items\">\n @for (item of uploadService.files | async; track item.name) {\n <li>\n <div class=\"ax-file ax-bg-success-500\">\n <span>{{ item.ext }}</span>\n </div>\n <div class=\"ax-item-container\">\n <div class=\"ax-item-name\" [title]=\"item.name\">{{ item.name }}</div>\n <div><span>{{ item.size | format: 'filesize' }}</span>\n @switch (item.status()) {\n @case ('inprogress') {\n / {{ item.estimateTime() | format: 'timeleft' }}\n }\n }\n </div>\n </div>\n @switch (item.status()) {\n @case ('completed') {\n <div class=\"ax-status\">\n <i class=\"ax-icon ax-icon-solid ax-icon-check-circle ax-state-completed\"></i>\n </div>\n }\n @case ('canceled') {\n <span class=\"ax-state-canceled\">Canceled</span>\n }\n @case ('failed') {\n <span class=\"ax-state-failed\">Failed</span>\n }\n @default {\n <div class=\"ax-status\">\n <ax-circular-progress [size]=\"22\" [stroke]=\"6\" [progress]=\"item.progress()\" class=\"ax-show\">\n </ax-circular-progress>\n <i class=\"ax-icon ax-icon-solid ax-icon-close ax-hide\" (click)=\"item.cancel()\"\n title=\"{{ 'cancel' | translate }}\"></i>\n </div>\n }\n }\n </li>\n }\n</ul>","import { AUTO_STYLE, animate, state, style, transition, trigger } from '@angular/animations';\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { AXClosbaleComponent } from '@acorex/components/common';\n\n@Component({\n selector: 'ax-uploader-dialog-container',\n templateUrl: './uploader-dialog-container.component.html',\n styleUrls: ['./uploader-dialog-container.component.scss'],\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('collapse', [\n state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),\n state('true', style({ height: '0', visibility: 'hidden' })),\n transition('false => true', animate(150 + 'ms ease-in')),\n transition('true => false', animate(150 + 'ms ease-out')),\n ]),\n ],\n})\nexport class AXUploaderDialogContainerComponent {\n\n private parent = inject(AXClosbaleComponent)\n\n isCollapsed = false;\n\n close() {\n this.parent.close();\n }\n\n toggle() {\n this.isCollapsed = !this.isCollapsed;\n }\n}\n","<div class=\"ax-uploader-list-header\">\n <div>Uploading</div>\n <div>\n <i class=\"ax-icon\" [ngClass]=\"{ 'ax-icon-chevron-down': !isCollapsed, 'ax-icon-chevron-up': isCollapsed }\"\n (click)=\"toggle()\"></i>\n <i class=\"ax-icon ax-icon-close\" (click)=\"close()\"></i>\n </div>\n</div>\n<div [@collapse]=\"isCollapsed\">\n <ax-uploader-list></ax-uploader-list>\n</div>","import { MXBaseComponent } from '@acorex/components/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-uploader-drop-zone',\n templateUrl: './uploader-drop-zone.component.html',\n styleUrls: ['./uploader.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXUploaderDropZoneComponent extends MXBaseComponent {}\n","<div class=\"ax-uploader-drop-zone-container\" axUploaderZone>\n <ax-icon class=\"ax-icon ax-icon-upload\"></ax-icon>\n <div class=\"ax-uploader-drop-zone-description\">\n <span>Drag & Drop or <a href=\"#\">Choose file</a> to upload</span>\n <p>SVG, PNG, JPG or GIF (MAX. 800x400px)</p>\n </div>\n</div>","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AXCircularProgressModule } from '@acorex/components/circular-progress';\nimport { AXPopupModule } from '@acorex/components/popup';\nimport { AXProgressBarModule } from '@acorex/components/progress-bar';\nimport { AXDateTimeModule } from '@acorex/core/dateTime';\nimport { AXFileModule } from '@acorex/core/file';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { HttpClientModule } from '@angular/common/http';\nimport { AXUploaderBrowseDirective } from './uploader-browse-handle.directive';\nimport { AXUploaderDialogContainerComponent } from './uploader-dialog-container.component';\nimport { AXUploaderDropZoneComponent } from './uploader-drop-zone.component';\nimport { AXUploaderListComponent } from './uploader-list.component';\nimport { AXUploaderZoneDirective } from './uploader-zone.directive';\nimport { AXUploaderService } from './uploader.service';\n\n@NgModule({\n declarations: [\n AXUploaderDropZoneComponent,\n AXUploaderListComponent,\n AXUploaderZoneDirective,\n AXUploaderBrowseDirective,\n AXUploaderDialogContainerComponent,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n AXProgressBarModule,\n AXFormatModule,\n AXFileModule,\n AXDateTimeModule,\n AXCircularProgressModule,\n AXPopupModule,\n ],\n exports: [\n AXUploaderDropZoneComponent,\n AXUploaderZoneDirective,\n AXUploaderBrowseDirective,\n AXUploaderDialogContainerComponent,\n ],\n providers: [AXUploaderService],\n})\nexport class AXUploaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.AXUploaderListComponent","i2.AXUploaderZoneDirective"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;MAIa,eAAe,CAAA;AAExB,IAAA,IAAI,IAAI,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;KACzB;AAED,IAAA,IAAI,GAAG,GAAA;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACnC,QAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAClB,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAClC,SAAA;AAAM,aAAA;;AAEH,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;KACJ;AAED,IAAA,IAAI,IAAI,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;KACzB;AAcD,IAAA,WAAA,CAAoB,IAAU,EAAA;QAAV,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAM;AAZrB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAGzB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAiB,KAAK,CAAC,CAAC;QAGxC,IAAgB,CAAA,gBAAA,GAAG,CAAC,CAAC;AACrB,QAAA,IAAA,CAAA,WAAW,GAAG,OAAO,CAAC;QACtB,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;QAChB,IAAU,CAAA,UAAA,GAAG,CAAC,CAAC,CAAC;KAGvB;AAEO,IAAA,qBAAqB,CAAC,gBAAwB,EAAA;AAClD,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;QAErC,IAAI,OAAO,KAAK,CAAC,EAAE;YACf,OAAO,IAAI,CAAC;AACf,SAAA;AAED,QAAA,MAAM,KAAK,GAAG,gBAAgB,GAAG,OAAO,CAAC;AACzC,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;AACpD,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC;QACxD,OAAO,aAAa,CAAC;KACxB;AAIM,IAAA,MAAM,MAAM,GAAA;AACf,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAE9B,QAAA,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,MAAK;AAC/B,YAAA,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,WAAW,CAAC;AAC1C,YAAA,IAAI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,EAAE;AACnC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC;AACrC,aAAA;AACD,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AACrE,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAE5B,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAEzE,YAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,IAAI,EAAE;AACrC,gBAAA,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC/B,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvB,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAChC,aAAA;AACL,SAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KACrB;IAEM,MAAM,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrB,QAAA,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC/B,QAAA,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;KAC5B;AACJ;;MC9EY,iBAAiB,CAAA;AAD9B,IAAA,WAAA,GAAA;AAGU,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,WAAW,GAAkB,MAAM,CAAC,aAAa,CAAC,CAAC;AACnD,QAAA,IAAA,CAAA,MAAM,GAAuC,IAAI,eAAe,CAAoB,EAAE,CAAC,CAAC;AAKhF,QAAA,IAAA,CAAA,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CACpD,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAC3C,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAC1C,CAAC;AAkEH,KAAA;AAzEC,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;IAOO,UAAU,GAAA;QAChB,sEAAmC,CAAC,IAAI,CAAC,CAAC,IAAG;YAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,EAAE;AAChD,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,aAAa;AACrB,aAAA,CAAC,CAAC,IAAI,CAAC,YAAW;AACjB,gBAAA,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,EAAE,CAAC;AAClB,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAA;KACH;AAEO,IAAA,oBAAoB,CAAC,IAAU,EAAA;AACrC,QAAA,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;KAClC;IAEO,WAAW,GAAA;QACjB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAG;YAC5D,CAAC,CAAC,MAAM,EAAE,CAAC;AACb,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,MAAM,MAAM,GAAA;QACV,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,KAAK,CAAC,MAAM,EAAE;AAChB,gBAAA,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACxB,aAAA;AACD,YAAA,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC5B,SAAA;AAAC,QAAA,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACrB,YAAA,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC5B,SAAA;KACF;IAED,MAAM,GAAG,CAAC,KAAwB,EAAA;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACvC,QAAA,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;AACnB,QAAA,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,MAAM,GAAA;KAEL;AAED,IAAA,MAAM,SAAS,GAAA;AACb,QAAA,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;KAClG;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,MAAM,CAAC,KAAK;aACd,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,YAAY,CAAC;AACvC,aAAA,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;KACjC;AAED,IAAA,MAAM,CAAC,IAAqB,EAAA;AAC1B,QAAA,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,QAAA,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAChC;8GA7EU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cADJ,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MCArB,uBAAuB,CAAA;IAUlC,IAAI,GAAA;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAA4B,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC1C;AAED,IAAA,WAAA,CAAoB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAdjC,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;AACjB,QAAA,IAAA,CAAA,WAAW,GAAkB,MAAM,CAAC,aAAa,CAAC,CAAC;AACnD,QAAA,IAAA,CAAA,aAAa,GAAsB,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC7D,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAGxD,IAAU,CAAA,UAAA,GAAG,2BAA2B,CAAC;QASvC,IAAI,CAAC,IAAI,EAAE,CAAC;AACZ,QAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAClF,QAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAChF,QAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAC1E,QAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;KAC9E;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/E,QAAA,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACvE,QAAA,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7E,QAAA,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KAC3E;AACO,IAAA,eAAe,CAAC,KAAY,EAAA;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;KAClC;AACO,IAAA,YAAY,CAAC,KAAgB,EAAA;QACnC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;AAEO,IAAA,cAAc,CAAC,KAAY,EAAA;QACjC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;KAClC;IAEO,UAAU,GAAA;QAChB,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAE/D,MAAM,IAAI,GAAoB,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAEhD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAE3E,QAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAC/C;IAEO,UAAU,GAAA;AAChB,QAAA,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;KAC9B;IAEM,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAA;KAC5B;AAED,IAAA,IACI,WAAW,GAAA;AACb,QAAA,OAAO,cAAc,CAAC;KACvB;8GAzEU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAvB,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC7B,iBAAA,CAAA;+EAEU,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAsEF,WAAW,EAAA,CAAA;sBADd,WAAW;uBAAC,OAAO,CAAA;;;MCpET,yBAAyB,CAAA;AAHtC,IAAA,WAAA,GAAA;AAIY,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAC/C,QAAA,IAAA,CAAA,UAAU,GAA+B,MAAM,EAAE,UAA0B,EAAE,CAAC;AAezF,KAAA;IAZG,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACxF;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KAC3F;IAEO,WAAW,GAAA;AACf,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;KAC/B;8GAfQ,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAzB,yBAAyB,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0BAA0B;AACvC,iBAAA,CAAA;;;ACEK,MAAO,uBAAwB,SAAQ,mBAAmB,CAAA;AANhE,IAAA,WAAA,GAAA;;AAOY,QAAA,IAAA,CAAA,aAAa,GAAsB,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACxE,KAAA;8GAFY,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,+ECVpC,uiDA8CK,EAAA,MAAA,EAAA,CAAA,0lFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDpCQ,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;+BACE,kBAAkB,EAAA,aAAA,EAGb,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,uiDAAA,EAAA,MAAA,EAAA,CAAA,0lFAAA,CAAA,EAAA,CAAA;;;;;;;;MEU1B,kCAAkC,CAAA;AAd/C,IAAA,WAAA,GAAA;AAgBY,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;QAE5C,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AASvB,KAAA;IAPG,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;KACvB;IAED,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;KACxC;8GAZQ,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAlC,kCAAkC,EAAA,QAAA,EAAA,8BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClB/C,4ZAUM,EDDU,MAAA,EAAA,CAAA,i5BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,CAAA,EAAA,UAAA,EAAA;YACR,OAAO,CAAC,UAAU,EAAE;AAChB,gBAAA,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;AACrE,gBAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC3D,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC;gBACxD,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC;aAC5D,CAAC;AACL,SAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAEQ,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAd9C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,8BAA8B,EAGzB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACzB,UAAA,EAAA;wBACR,OAAO,CAAC,UAAU,EAAE;AAChB,4BAAA,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;AACrE,4BAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;4BAC3D,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC;4BACxD,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC;yBAC5D,CAAC;AACL,qBAAA,EAAA,QAAA,EAAA,4ZAAA,EAAA,MAAA,EAAA,CAAA,i5BAAA,CAAA,EAAA,CAAA;;;AEPC,MAAO,2BAA4B,SAAQ,eAAe,CAAA;8GAAnD,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,oFCTxC,0TAMM,EAAA,MAAA,EAAA,CAAA,2yBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDGO,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;+BACE,uBAAuB,EAAA,aAAA,EAGlB,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,0TAAA,EAAA,MAAA,EAAA,CAAA,2yBAAA,CAAA,EAAA,CAAA;;;ME0C1B,gBAAgB,CAAA;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iBA3BzB,2BAA2B;YAC3B,uBAAuB;YACvB,uBAAuB;YACvB,yBAAyB;AACzB,YAAA,kCAAkC,aAGlC,YAAY;YACZ,gBAAgB;YAChB,iBAAiB;YACjB,cAAc;YACd,mBAAmB;YACnB,mBAAmB;YACnB,cAAc;YACd,YAAY;YACZ,gBAAgB;YAChB,wBAAwB;AACxB,YAAA,aAAa,aAGb,2BAA2B;YAC3B,uBAAuB;YACvB,yBAAyB;YACzB,kCAAkC,CAAA,EAAA,CAAA,CAAA,EAAA;AAIzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,EAFhB,SAAA,EAAA,CAAC,iBAAiB,CAAC,YAlB5B,YAAY;YACZ,gBAAgB;YAChB,iBAAiB;YACjB,cAAc;YACd,mBAAmB;YACnB,mBAAmB;YACnB,cAAc;YACd,YAAY;YACZ,gBAAgB;YAChB,wBAAwB;YACxB,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAUJ,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBA7B5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,2BAA2B;wBAC3B,uBAAuB;wBACvB,uBAAuB;wBACvB,yBAAyB;wBACzB,kCAAkC;AACnC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,gBAAgB;wBAChB,iBAAiB;wBACjB,cAAc;wBACd,mBAAmB;wBACnB,mBAAmB;wBACnB,cAAc;wBACd,YAAY;wBACZ,gBAAgB;wBAChB,wBAAwB;wBACxB,aAAa;AACd,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,2BAA2B;wBAC3B,uBAAuB;wBACvB,yBAAyB;wBACzB,kCAAkC;AACnC,qBAAA;oBACD,SAAS,EAAE,CAAC,iBAAiB,CAAC;AAC/B,iBAAA,CAAA;;;AChDD;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"acorex-components-uploader.mjs","sources":["../../../../libs/components/uploader/src/lib/uploader.models.ts","../../../../libs/components/uploader/src/lib/uploader.service.ts","../../../../libs/components/uploader/src/lib/uploader-zone.directive.ts","../../../../libs/components/uploader/src/lib/uploader-browse-handle.directive.ts","../../../../libs/components/uploader/src/lib/uploader-list.component.ts","../../../../libs/components/uploader/src/lib/uploader-list.component.html","../../../../libs/components/uploader/src/lib/uploader-dialog-container.component.ts","../../../../libs/components/uploader/src/lib/uploader-dialog-container.component.html","../../../../libs/components/uploader/src/lib/uploader-drop-zone.component.ts","../../../../libs/components/uploader/src/lib/uploader-drop-zone.component.html","../../../../libs/components/uploader/src/lib/uploader.module.ts","../../../../libs/components/uploader/src/acorex-components-uploader.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\n\nexport type AXUploadStatus = 'new' | 'inprogress' | 'completed' | 'failed' | 'canceled';\n\nexport class AXUploadRequest {\n\n get name(): string {\n return this.file.name;\n }\n\n get ext(): string {\n const parts = this.name.split('.');\n if (parts.length > 1) {\n return parts[parts.length - 1];\n } else {\n // No extension found\n return '';\n }\n }\n\n get size(): number {\n return this.file.size;\n }\n\n readonly progress = signal(0);\n readonly estimateTime = signal(0);\n\n\n readonly status = signal<AXUploadStatus>('new');\n\n private startTime: number;\n private bytesTransferred = 0;\n private uploadSpeed = 1000000; // Simulated upload speed in bytes per interval (e.g., 50KB per interval)\n private interval = 1000;\n private intervalId = -1;\n\n constructor(private file: File) {\n }\n\n private estimateTimeRemaining(bytesTransferred: number): number | null {\n const now = Date.now();\n const elapsed = now - this.startTime; // Time in milliseconds\n\n if (elapsed === 0) {\n return null; // Avoid division by zero\n }\n\n const speed = bytesTransferred / elapsed; // Bytes per millisecond\n const remainingBytes = this.size - bytesTransferred;\n const estimatedTime = Math.ceil(remainingBytes / speed); // Time in milliseconds\n return estimatedTime; // Return the estimated time in milliseconds\n }\n\n\n\n public async upload(): Promise<void> {\n this.startTime = Date.now();\n this.progress.set(0);\n this.status.set('inprogress');\n\n this.intervalId = setInterval(() => {\n this.bytesTransferred += this.uploadSpeed;\n if (this.bytesTransferred > this.size) {\n this.bytesTransferred = this.size;\n }\n const progress = Math.floor(this.bytesTransferred / this.size * 100);\n this.progress.set(progress);\n\n this.estimateTime.set(this.estimateTimeRemaining(this.bytesTransferred));\n\n if (this.bytesTransferred === this.size) {\n clearInterval(this.intervalId);\n this.progress.set(100);\n this.status.set('completed');\n }\n }, this.interval);\n }\n\n public cancel(): Promise<void> {\n this.status.set('canceled');\n this.bytesTransferred = 0;\n this.estimateTime.set(0);\n this.progress.set(0);\n clearInterval(this.intervalId);\n return Promise.resolve();\n }\n}\n\n\n","import { Injectable, inject } from '@angular/core';\nimport { BehaviorSubject, interval, map, switchMap } from 'rxjs';\nimport { AXUploadRequest } from './uploader.models';\nimport { AXFileService } from '@acorex/core/file';\nimport { sumBy } from 'lodash-es';\nimport { AXPopupService } from '@acorex/components/popup';\n\n@Injectable({ providedIn: 'root' })\nexport class AXUploaderService {\n\n private popupService = inject(AXPopupService);\n private fileService: AXFileService = inject(AXFileService);\n private files$: BehaviorSubject<AXUploadRequest[]> = new BehaviorSubject<AXUploadRequest[]>([]);\n public get files(): BehaviorSubject<AXUploadRequest[]> {\n return this.files$;\n }\n\n public readonly totalEstimateTime = interval(500).pipe(\n switchMap(() => this.files$.asObservable()),\n map(f => sumBy(f, c => c.estimateTime()))\n );\n\n private showDialog() {\n import('./uploader-list.component').then(c => {\n this.popupService.open(c.AXUploaderListComponent, {\n size: 'md',\n title: \"Upload File\"\n }).then(async () => {\n await this.cancelAll();\n this.clearAll();\n });\n })\n }\n\n private convertFileToRequest(file: File): AXUploadRequest {\n return new AXUploadRequest(file);\n }\n\n private startUpload() {\n this.files.value.filter(c => c.status() == 'new').forEach(c => {\n c.upload();\n });\n }\n\n async browse(): Promise<AXUploadRequest[]> {\n try {\n const files = await this.fileService.choose();\n if (files.length) {\n return this.add(files);\n }\n return Promise.resolve([]);\n } catch (error) {\n console.error(error);\n return Promise.resolve([]);\n }\n }\n\n async add(files: FileList | File[]): Promise<AXUploadRequest[]> {\n const list = Array.from(files).map(f => this.convertFileToRequest(f));\n const currentValue = this.files$.value;\n currentValue.push(...list);\n this.files$.next(currentValue);\n this.showDialog();\n this.startUpload();\n return Promise.resolve(list);\n }\n\n upload() {\n\n }\n\n async cancelAll() {\n await Promise.all(this.files$.value.filter(c => c.status() != 'completed').map(c => c.cancel()));\n }\n\n clearAll() {\n this.files$.value\n .filter(c => c.status() != 'inprogress')\n .forEach(c => this.remove(c));\n }\n\n remove(item: AXUploadRequest) {\n let currentValue = this.files$.value;\n currentValue = currentValue.filter(c => c != item);\n this.files$.next(currentValue);\n }\n}\n","import { AXFileService } from '@acorex/core/file';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { Directive, ElementRef, HostBinding, Input, OnDestroy, inject } from '@angular/core';\nimport { AXUploaderService } from './uploader.service';\n@Directive({\n selector: '[axUploaderZone]',\n})\nexport class AXUploaderZoneDirective implements OnDestroy {\n @Input() multiple = true;\n private fileService: AXFileService = inject(AXFileService);\n private uploadService: AXUploaderService = inject(AXUploaderService);\n private translateService = inject(AXTranslationService);\n private element: HTMLElement;\n\n stateClass = 'ax-uploader-overlay-state';\n overlayElement: HTMLDivElement;\n\n init() {\n this.element = this.elementRef.nativeElement as HTMLElement;\n this.element.style.position = 'relative';\n }\n\n constructor(private elementRef: ElementRef) {\n this.init();\n this.element.addEventListener('dragenter', this.handleDragEnter.bind(this), true);\n this.element.addEventListener('dragover', this.handleDragOver.bind(this), true);\n this.element.addEventListener('drop', this.handleOnDrop.bind(this), true);\n this.element.addEventListener('dragleave', this.removeZone.bind(this), true);\n }\n\n ngOnDestroy(): void {\n this.element.removeEventListener('dragenter', this.handleDragEnter.bind(this));\n this.element.removeEventListener('drop', this.handleOnDrop.bind(this));\n this.element.removeEventListener('dragover', this.handleDragOver.bind(this));\n this.element.removeEventListener('dragleave', this.removeZone.bind(this));\n }\n private handleDragEnter(event: Event) {\n this.createZone();\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n private handleOnDrop(event: DragEvent) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.uploadService.add(event.dataTransfer?.files);\n this.removeZone();\n }\n\n private handleDragOver(event: Event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n private createZone() {\n this.overlayElement = document.createElement('div');\n this.overlayElement.classList.add('ax-uploader-overlay-state');\n\n const icon: HTMLSpanElement = document.createElement('span');\n icon.classList.add('ax-icon', 'ax-icon-upload');\n\n const text = document.createElement('span');\n text.innerText = this.translateService.translateSync('uploader.zone.text');\n\n this.overlayElement.appendChild(icon);\n this.overlayElement.appendChild(text);\n\n this.element.appendChild(this.overlayElement);\n }\n\n private removeZone() {\n this.overlayElement.remove();\n }\n\n public browser() {\n this.uploadService.browse()\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-drop-zone`;\n }\n}\n\n\n\n","import { Directive, ElementRef, OnDestroy, OnInit, inject } from '@angular/core';\nimport { AXUploaderZoneDirective } from './uploader-zone.directive';\n\n\n\n\n@Directive({\n selector: '[axUploaderBrowseHandle]',\n})\nexport class AXUploaderBrowseDirective implements OnInit, OnDestroy {\n private uploaderZone = inject(AXUploaderZoneDirective);\n private elemenrRef: ElementRef<HTMLDivElement> = inject((ElementRef<HTMLDivElement>));\n\n\n ngOnInit() {\n this.elemenrRef.nativeElement.addEventListener('click', this.handleClick.bind(this));\n }\n\n ngOnDestroy(): void {\n this.elemenrRef.nativeElement.removeEventListener('click', this.handleClick.bind(this));\n }\n\n private handleClick() {\n this.uploaderZone.browser();\n }\n\n}\n","import { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { AXUploaderService } from './uploader.service';\nimport { AXBasePageComponent } from '@acorex/components/page';\n\n@Component({\n selector: 'ax-uploader-list',\n templateUrl: './uploader-list.component.html',\n styleUrls: ['./uploader-list.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXUploaderListComponent extends AXBasePageComponent {\n protected uploadService: AXUploaderService = inject(AXUploaderService);\n}\n","@if((uploadService.totalEstimateTime | async) > 0)\n{\n<div class=\"ax-uploader-progress-status\">\n <div>{{ (uploadService.totalEstimateTime | async) | format: 'timeleft' | async }}</div>\n <button (click)=\"uploadService.cancelAll()\">{{ 'cancel' | translate | async }}</button>\n</div>\n}\n<ul class=\"ax-uploader-list-items\">\n @for (item of uploadService.files | async; track item.name) {\n <li>\n <div class=\"ax-file ax-bg-success-500\">\n <span>{{ item.ext }}</span>\n </div>\n <div class=\"ax-item-container\">\n <div class=\"ax-item-name\" [title]=\"item.name\">{{ item.name }}</div>\n <div><span>{{ item.size | format: 'filesize' | async }}</span>\n @switch (item.status()) {\n @case ('inprogress') {\n / {{ item.estimateTime() | format: 'timeleft' | async }}\n }\n }\n </div>\n </div>\n @switch (item.status()) {\n @case ('completed') {\n <div class=\"ax-status\">\n <i class=\"ax-icon ax-icon-solid ax-icon-check-circle ax-state-completed\"></i>\n </div>\n }\n @case ('canceled') {\n <span class=\"ax-state-canceled\">{{ 'canceled' | translate | async }}</span>\n }\n @case ('failed') {\n <span class=\"ax-state-failed\">{{ 'failed' | translate | async }}</span>\n }\n @default {\n <div class=\"ax-status\">\n <ax-circular-progress [size]=\"22\" [stroke]=\"6\" [progress]=\"item.progress()\" class=\"ax-show\">\n </ax-circular-progress>\n <i class=\"ax-icon ax-icon-solid ax-icon-close ax-hide\" (click)=\"item.cancel()\"\n title=\"{{ 'cancel' | translate | async }}\"></i>\n </div>\n }\n }\n </li>\n }\n</ul>","import { AUTO_STYLE, animate, state, style, transition, trigger } from '@angular/animations';\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { AXClosbaleComponent } from '@acorex/components/common';\n\n@Component({\n selector: 'ax-uploader-dialog-container',\n templateUrl: './uploader-dialog-container.component.html',\n styleUrls: ['./uploader-dialog-container.component.scss'],\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('collapse', [\n state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),\n state('true', style({ height: '0', visibility: 'hidden' })),\n transition('false => true', animate(150 + 'ms ease-in')),\n transition('true => false', animate(150 + 'ms ease-out')),\n ]),\n ],\n})\nexport class AXUploaderDialogContainerComponent {\n\n private parent = inject(AXClosbaleComponent)\n\n isCollapsed = false;\n\n close() {\n this.parent.close();\n }\n\n toggle() {\n this.isCollapsed = !this.isCollapsed;\n }\n}\n","<div class=\"ax-uploader-list-header\">\n <div>{{'Uploading' | translate | async }}</div>\n <div>\n <i class=\"ax-icon\" [ngClass]=\"{ 'ax-icon-chevron-down': !isCollapsed, 'ax-icon-chevron-up': isCollapsed }\"\n (click)=\"toggle()\"></i>\n <i class=\"ax-icon ax-icon-close\" (click)=\"close()\"></i>\n </div>\n</div>\n<div [@collapse]=\"isCollapsed\">\n <ax-uploader-list></ax-uploader-list>\n</div>","import { MXBaseComponent } from '@acorex/components/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-uploader-drop-zone',\n templateUrl: './uploader-drop-zone.component.html',\n styleUrls: ['./uploader.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXUploaderDropZoneComponent extends MXBaseComponent {}\n","<div class=\"ax-uploader-drop-zone-container\" axUploaderZone>\n <ax-icon class=\"ax-icon ax-icon-upload\"></ax-icon>\n <div class=\"ax-uploader-drop-zone-description\">\n <span>Drag & Drop or <a href=\"#\">Choose file</a> to upload</span>\n <p>SVG, PNG, JPG or GIF (MAX. 800x400px)</p>\n </div>\n</div>","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AXCircularProgressModule } from '@acorex/components/circular-progress';\nimport { AXPopupModule } from '@acorex/components/popup';\nimport { AXProgressBarModule } from '@acorex/components/progress-bar';\nimport { AXDateTimeModule } from '@acorex/core/dateTime';\nimport { AXFileModule } from '@acorex/core/file';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { HttpClientModule } from '@angular/common/http';\nimport { AXUploaderBrowseDirective } from './uploader-browse-handle.directive';\nimport { AXUploaderDialogContainerComponent } from './uploader-dialog-container.component';\nimport { AXUploaderDropZoneComponent } from './uploader-drop-zone.component';\nimport { AXUploaderListComponent } from './uploader-list.component';\nimport { AXUploaderZoneDirective } from './uploader-zone.directive';\nimport { AXUploaderService } from './uploader.service';\n\n@NgModule({\n declarations: [\n AXUploaderDropZoneComponent,\n AXUploaderListComponent,\n AXUploaderZoneDirective,\n AXUploaderBrowseDirective,\n AXUploaderDialogContainerComponent,\n ],\n imports: [\n CommonModule,\n HttpClientModule,\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n AXProgressBarModule,\n AXFormatModule,\n AXFileModule,\n AXDateTimeModule,\n AXCircularProgressModule,\n AXPopupModule,\n ],\n exports: [\n AXUploaderDropZoneComponent,\n AXUploaderZoneDirective,\n AXUploaderBrowseDirective,\n AXUploaderDialogContainerComponent,\n ],\n providers: [AXUploaderService],\n})\nexport class AXUploaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1","i2.AXUploaderListComponent","i2.AXUploaderZoneDirective"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;MAIa,eAAe,CAAA;AAExB,IAAA,IAAI,IAAI,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;KACzB;AAED,IAAA,IAAI,GAAG,GAAA;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACnC,QAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAClB,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAClC,SAAA;AAAM,aAAA;;AAEH,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;KACJ;AAED,IAAA,IAAI,IAAI,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;KACzB;AAcD,IAAA,WAAA,CAAoB,IAAU,EAAA;QAAV,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAM;AAZrB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAGzB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAiB,KAAK,CAAC,CAAC;QAGxC,IAAgB,CAAA,gBAAA,GAAG,CAAC,CAAC;AACrB,QAAA,IAAA,CAAA,WAAW,GAAG,OAAO,CAAC;QACtB,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;QAChB,IAAU,CAAA,UAAA,GAAG,CAAC,CAAC,CAAC;KAGvB;AAEO,IAAA,qBAAqB,CAAC,gBAAwB,EAAA;AAClD,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;QAErC,IAAI,OAAO,KAAK,CAAC,EAAE;YACf,OAAO,IAAI,CAAC;AACf,SAAA;AAED,QAAA,MAAM,KAAK,GAAG,gBAAgB,GAAG,OAAO,CAAC;AACzC,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;AACpD,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC;QACxD,OAAO,aAAa,CAAC;KACxB;AAIM,IAAA,MAAM,MAAM,GAAA;AACf,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAE9B,QAAA,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,MAAK;AAC/B,YAAA,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,WAAW,CAAC;AAC1C,YAAA,IAAI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,EAAE;AACnC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC;AACrC,aAAA;AACD,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AACrE,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAE5B,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAEzE,YAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,IAAI,EAAE;AACrC,gBAAA,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC/B,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvB,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAChC,aAAA;AACL,SAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KACrB;IAEM,MAAM,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrB,QAAA,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC/B,QAAA,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;KAC5B;AACJ;;MC9EY,iBAAiB,CAAA;AAD9B,IAAA,WAAA,GAAA;AAGU,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,WAAW,GAAkB,MAAM,CAAC,aAAa,CAAC,CAAC;AACnD,QAAA,IAAA,CAAA,MAAM,GAAuC,IAAI,eAAe,CAAoB,EAAE,CAAC,CAAC;AAKhF,QAAA,IAAA,CAAA,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CACpD,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAC3C,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAC1C,CAAC;AAkEH,KAAA;AAzEC,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;IAOO,UAAU,GAAA;QAChB,sEAAmC,CAAC,IAAI,CAAC,CAAC,IAAG;YAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,EAAE;AAChD,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,aAAa;AACrB,aAAA,CAAC,CAAC,IAAI,CAAC,YAAW;AACjB,gBAAA,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,EAAE,CAAC;AAClB,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAA;KACH;AAEO,IAAA,oBAAoB,CAAC,IAAU,EAAA;AACrC,QAAA,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;KAClC;IAEO,WAAW,GAAA;QACjB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAG;YAC5D,CAAC,CAAC,MAAM,EAAE,CAAC;AACb,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,MAAM,MAAM,GAAA;QACV,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,KAAK,CAAC,MAAM,EAAE;AAChB,gBAAA,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACxB,aAAA;AACD,YAAA,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC5B,SAAA;AAAC,QAAA,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACrB,YAAA,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC5B,SAAA;KACF;IAED,MAAM,GAAG,CAAC,KAAwB,EAAA;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACvC,QAAA,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;AACnB,QAAA,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,MAAM,GAAA;KAEL;AAED,IAAA,MAAM,SAAS,GAAA;AACb,QAAA,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;KAClG;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,MAAM,CAAC,KAAK;aACd,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,YAAY,CAAC;AACvC,aAAA,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;KACjC;AAED,IAAA,MAAM,CAAC,IAAqB,EAAA;AAC1B,QAAA,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,QAAA,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAChC;8GA7EU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cADJ,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MCArB,uBAAuB,CAAA;IAUlC,IAAI,GAAA;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAA4B,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC1C;AAED,IAAA,WAAA,CAAoB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAdjC,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;AACjB,QAAA,IAAA,CAAA,WAAW,GAAkB,MAAM,CAAC,aAAa,CAAC,CAAC;AACnD,QAAA,IAAA,CAAA,aAAa,GAAsB,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC7D,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAGxD,IAAU,CAAA,UAAA,GAAG,2BAA2B,CAAC;QASvC,IAAI,CAAC,IAAI,EAAE,CAAC;AACZ,QAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAClF,QAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAChF,QAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAC1E,QAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;KAC9E;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/E,QAAA,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACvE,QAAA,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7E,QAAA,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KAC3E;AACO,IAAA,eAAe,CAAC,KAAY,EAAA;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;KAClC;AACO,IAAA,YAAY,CAAC,KAAgB,EAAA;QACnC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;AAEO,IAAA,cAAc,CAAC,KAAY,EAAA;QACjC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;KAClC;IAEO,UAAU,GAAA;QAChB,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAE/D,MAAM,IAAI,GAAoB,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAEhD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAE3E,QAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAC/C;IAEO,UAAU,GAAA;AAChB,QAAA,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;KAC9B;IAEM,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAA;KAC5B;AAED,IAAA,IACI,WAAW,GAAA;AACb,QAAA,OAAO,cAAc,CAAC;KACvB;8GAzEU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAvB,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC7B,iBAAA,CAAA;+EAEU,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAsEF,WAAW,EAAA,CAAA;sBADd,WAAW;uBAAC,OAAO,CAAA;;;MCpET,yBAAyB,CAAA;AAHtC,IAAA,WAAA,GAAA;AAIY,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAC/C,QAAA,IAAA,CAAA,UAAU,GAA+B,MAAM,EAAE,UAA0B,EAAE,CAAC;AAezF,KAAA;IAZG,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACxF;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KAC3F;IAEO,WAAW,GAAA;AACf,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;KAC/B;8GAfQ,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAzB,yBAAyB,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0BAA0B;AACvC,iBAAA,CAAA;;;ACEK,MAAO,uBAAwB,SAAQ,mBAAmB,CAAA;AANhE,IAAA,WAAA,GAAA;;AAOY,QAAA,IAAA,CAAA,aAAa,GAAsB,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACxE,KAAA;8GAFY,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,+ECVpC,0oDA8CK,EAAA,MAAA,EAAA,CAAA,0lFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDpCQ,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;+BACE,kBAAkB,EAAA,aAAA,EAGb,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,0oDAAA,EAAA,MAAA,EAAA,CAAA,0lFAAA,CAAA,EAAA,CAAA;;;;;;;;MEU1B,kCAAkC,CAAA;AAd/C,IAAA,WAAA,GAAA;AAgBY,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;QAE5C,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AASvB,KAAA;IAPG,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;KACvB;IAED,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;KACxC;8GAZQ,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAlC,kCAAkC,EAAA,QAAA,EAAA,8BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClB/C,ubAUM,EDDU,MAAA,EAAA,CAAA,i5BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,UAAA,EAAA;YACR,OAAO,CAAC,UAAU,EAAE;AAChB,gBAAA,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;AACrE,gBAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC3D,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC;gBACxD,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC;aAC5D,CAAC;AACL,SAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAEQ,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAd9C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,8BAA8B,EAGzB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACzB,UAAA,EAAA;wBACR,OAAO,CAAC,UAAU,EAAE;AAChB,4BAAA,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;AACrE,4BAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;4BAC3D,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC;4BACxD,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC;yBAC5D,CAAC;AACL,qBAAA,EAAA,QAAA,EAAA,ubAAA,EAAA,MAAA,EAAA,CAAA,i5BAAA,CAAA,EAAA,CAAA;;;AEPC,MAAO,2BAA4B,SAAQ,eAAe,CAAA;8GAAnD,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,oFCTxC,0TAMM,EAAA,MAAA,EAAA,CAAA,2yBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDGO,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;+BACE,uBAAuB,EAAA,aAAA,EAGlB,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,0TAAA,EAAA,MAAA,EAAA,CAAA,2yBAAA,CAAA,EAAA,CAAA;;;ME0C1B,gBAAgB,CAAA;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iBA3BzB,2BAA2B;YAC3B,uBAAuB;YACvB,uBAAuB;YACvB,yBAAyB;AACzB,YAAA,kCAAkC,aAGlC,YAAY;YACZ,gBAAgB;YAChB,iBAAiB;YACjB,cAAc;YACd,mBAAmB;YACnB,mBAAmB;YACnB,cAAc;YACd,YAAY;YACZ,gBAAgB;YAChB,wBAAwB;AACxB,YAAA,aAAa,aAGb,2BAA2B;YAC3B,uBAAuB;YACvB,yBAAyB;YACzB,kCAAkC,CAAA,EAAA,CAAA,CAAA,EAAA;AAIzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,EAFhB,SAAA,EAAA,CAAC,iBAAiB,CAAC,YAlB5B,YAAY;YACZ,gBAAgB;YAChB,iBAAiB;YACjB,cAAc;YACd,mBAAmB;YACnB,mBAAmB;YACnB,cAAc;YACd,YAAY;YACZ,gBAAgB;YAChB,wBAAwB;YACxB,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAUJ,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBA7B5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,2BAA2B;wBAC3B,uBAAuB;wBACvB,uBAAuB;wBACvB,yBAAyB;wBACzB,kCAAkC;AACnC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,gBAAgB;wBAChB,iBAAiB;wBACjB,cAAc;wBACd,mBAAmB;wBACnB,mBAAmB;wBACnB,cAAc;wBACd,YAAY;wBACZ,gBAAgB;wBAChB,wBAAwB;wBACxB,aAAa;AACd,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,2BAA2B;wBAC3B,uBAAuB;wBACvB,yBAAyB;wBACzB,kCAAkC;AACnC,qBAAA;oBACD,SAAS,EAAE,CAAC,iBAAiB,CAAC;AAC/B,iBAAA,CAAA;;;AChDD;;AAEG;;;;"}
|
@@ -6,8 +6,9 @@ import * as i4 from "@acorex/components/button";
|
|
6
6
|
import * as i5 from "@angular/cdk/dialog";
|
7
7
|
import * as i6 from "@acorex/components/loading";
|
8
8
|
import * as i7 from "@acorex/components/decorators";
|
9
|
+
import * as i8 from "@acorex/core/translation";
|
9
10
|
export declare class AXNotificationModule {
|
10
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXNotificationModule, never>;
|
11
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AXNotificationModule, [typeof i1.AXNotificationComponent], [typeof i2.CommonModule, typeof i3.PortalModule, typeof i4.AXButtonModule, typeof i5.DialogModule, typeof i6.AXLoadingModule, typeof i7.AXDecoratorModule], [typeof i1.AXNotificationComponent]>;
|
12
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXNotificationModule, [typeof i1.AXNotificationComponent], [typeof i2.CommonModule, typeof i3.PortalModule, typeof i4.AXButtonModule, typeof i5.DialogModule, typeof i6.AXLoadingModule, typeof i7.AXDecoratorModule, typeof i8.AXTranslationModule], [typeof i1.AXNotificationComponent]>;
|
12
13
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXNotificationModule>;
|
13
14
|
}
|
package/otp/lib/otp.class.d.ts
CHANGED
package/package.json
CHANGED
@@ -7,8 +7,9 @@ import * as i5 from "@angular/cdk/a11y";
|
|
7
7
|
import * as i6 from "@angular/cdk/portal";
|
8
8
|
import * as i7 from "@acorex/components/decorators";
|
9
9
|
import * as i8 from "@angular/cdk/dialog";
|
10
|
+
import * as i9 from "@acorex/core/translation";
|
10
11
|
export declare class AXPopupModule {
|
11
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPopupModule, never>;
|
12
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AXPopupModule, [typeof i1.AXPopupComponent], [typeof i2.CommonModule, typeof i3.AXCommonModule, typeof i4.DragDropModule, typeof i5.A11yModule, typeof i6.PortalModule, typeof i7.AXDecoratorModule, typeof i8.DialogModule], [typeof i1.AXPopupComponent]>;
|
13
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXPopupModule, [typeof i1.AXPopupComponent], [typeof i2.CommonModule, typeof i3.AXCommonModule, typeof i4.DragDropModule, typeof i5.A11yModule, typeof i6.PortalModule, typeof i7.AXDecoratorModule, typeof i8.DialogModule, typeof i9.AXTranslationModule], [typeof i1.AXPopupComponent]>;
|
13
14
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXPopupModule>;
|
14
15
|
}
|
@@ -5,8 +5,9 @@ import * as i3 from "@acorex/components/button";
|
|
5
5
|
import * as i4 from "@acorex/components/decorators";
|
6
6
|
import * as i5 from "@acorex/components/loading";
|
7
7
|
import * as i6 from "@angular/cdk/dialog";
|
8
|
+
import * as i7 from "@acorex/core/translation";
|
8
9
|
export declare class AXToastModule {
|
9
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXToastModule, never>;
|
10
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AXToastModule, [typeof i1.AXToastComponent], [typeof i2.CommonModule, typeof i3.AXButtonModule, typeof i4.AXDecoratorModule, typeof i5.AXLoadingModule, typeof i6.DialogModule], [typeof i1.AXToastComponent]>;
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXToastModule, [typeof i1.AXToastComponent], [typeof i2.CommonModule, typeof i3.AXButtonModule, typeof i4.AXDecoratorModule, typeof i5.AXLoadingModule, typeof i6.DialogModule, typeof i7.AXTranslationModule], [typeof i1.AXToastComponent]>;
|
11
12
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXToastModule>;
|
12
13
|
}
|