@acorex/components 18.14.1-next.4 → 18.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. package/comment/lib/comment-container/comment-container.component.d.ts +1 -0
  2. package/common/lib/components/value-component.class.d.ts +1 -0
  3. package/common/lib/directives/auto-focus.directive.d.ts +1 -0
  4. package/common/lib/directives/ripple.directive.d.ts +1 -0
  5. package/data-table/lib/columns/data-table-column-resizable.directive.d.ts +1 -0
  6. package/data-table/lib/data-table/data-table.component.d.ts +61 -60
  7. package/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts +7 -6
  8. package/drawer/lib/drawer/drawer-item/drawer.component.d.ts +4 -6
  9. package/esm2022/audio-wave/lib/audio-wave.component.mjs +79 -14
  10. package/esm2022/avatar/lib/avatar.component.mjs +2 -2
  11. package/esm2022/button/lib/button.component.mjs +2 -2
  12. package/esm2022/calendar/lib/calendar-range.component.mjs +2 -2
  13. package/esm2022/calendar/lib/calendar.component.mjs +3 -3
  14. package/esm2022/comment/lib/comment-container/comment-container.component.mjs +7 -3
  15. package/esm2022/common/lib/components/value-component.class.mjs +4 -2
  16. package/esm2022/common/lib/directives/auto-focus.directive.mjs +5 -3
  17. package/esm2022/common/lib/directives/inverted-color.directive.mjs +1 -1
  18. package/esm2022/common/lib/directives/ripple.directive.mjs +5 -3
  19. package/esm2022/conversation/lib/conversation-message/conversation-message.component.mjs +2 -2
  20. package/esm2022/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.mjs +2 -2
  21. package/esm2022/cron-job/lib/cron-job-container/cron-job-container.component.mjs +3 -3
  22. package/esm2022/cron-job/lib/day/day.component.mjs +7 -6
  23. package/esm2022/cron-job/lib/hours/hours.component.mjs +7 -6
  24. package/esm2022/cron-job/lib/minutes/minutes.component.mjs +7 -6
  25. package/esm2022/cron-job/lib/month/month.component.mjs +7 -6
  26. package/esm2022/cron-job/lib/seconds/seconds.component.mjs +7 -6
  27. package/esm2022/cron-job/lib/year/year.component.mjs +7 -6
  28. package/esm2022/data-table/lib/columns/data-table-column-resizable.directive.mjs +9 -7
  29. package/esm2022/data-table/lib/data-table/data-table.component.mjs +71 -67
  30. package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs +16 -11
  31. package/esm2022/drawer/lib/drawer/drawer-item/drawer.component.mjs +10 -10
  32. package/esm2022/list/lib/list.component.mjs +17 -5
  33. package/esm2022/loading/lib/loading-spinner.component.mjs +2 -2
  34. package/esm2022/loading-dialog/lib/loading-dialog.component.mjs +2 -2
  35. package/esm2022/menu/lib/context-menu.component.mjs +28 -21
  36. package/esm2022/password-box/index.mjs +2 -1
  37. package/esm2022/password-box/lib/password-box.component.mjs +17 -9
  38. package/esm2022/password-box/lib/password-box.module.mjs +22 -4
  39. package/esm2022/password-box/lib/password-strength-validation/password-strength-validation.component.mjs +63 -0
  40. package/esm2022/phone-box/lib/phone-box.component.mjs +17 -5
  41. package/esm2022/popover/lib/popover.component.mjs +5 -3
  42. package/esm2022/popup/lib/popup.component.mjs +2 -2
  43. package/esm2022/select-box/lib/select-box.component.mjs +7 -24
  44. package/esm2022/selection-list/lib/selection-list.component.mjs +2 -2
  45. package/esm2022/side-menu/index.mjs +2 -2
  46. package/esm2022/side-menu/lib/side-menu-item/side-menu-item.component.mjs +81 -0
  47. package/esm2022/side-menu/lib/side-menu.module.mjs +2 -2
  48. package/esm2022/step-wizard/lib/step-wizard-item/step-wizard-item.component.mjs +5 -4
  49. package/esm2022/step-wizard/lib/step-wizard.class.mjs +1 -1
  50. package/esm2022/step-wizard/lib/step-wizard.component.mjs +21 -32
  51. package/esm2022/uploader/lib/uploader-zone.directive.mjs +7 -5
  52. package/fesm2022/acorex-components-audio-wave.mjs +78 -13
  53. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  54. package/fesm2022/acorex-components-avatar.mjs +2 -2
  55. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  56. package/fesm2022/acorex-components-button.mjs +2 -2
  57. package/fesm2022/acorex-components-calendar.mjs +4 -4
  58. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  59. package/fesm2022/acorex-components-comment.mjs +7 -4
  60. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  61. package/fesm2022/acorex-components-common.mjs +6 -3
  62. package/fesm2022/acorex-components-common.mjs.map +1 -1
  63. package/fesm2022/acorex-components-conversation.mjs +2 -2
  64. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  65. package/fesm2022/acorex-components-cron-job.mjs +19 -18
  66. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  67. package/fesm2022/acorex-components-data-table.mjs +89 -81
  68. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  69. package/fesm2022/acorex-components-drawer.mjs +10 -11
  70. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  71. package/fesm2022/acorex-components-list.mjs +16 -4
  72. package/fesm2022/acorex-components-list.mjs.map +1 -1
  73. package/fesm2022/acorex-components-loading-dialog.mjs +2 -2
  74. package/fesm2022/acorex-components-loading.mjs +2 -2
  75. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  76. package/fesm2022/acorex-components-menu.mjs +24 -18
  77. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  78. package/fesm2022/acorex-components-password-box.mjs +97 -12
  79. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  80. package/fesm2022/acorex-components-phone-box.mjs +16 -4
  81. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  82. package/fesm2022/acorex-components-popover.mjs +4 -3
  83. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  84. package/fesm2022/acorex-components-popup.mjs +2 -2
  85. package/fesm2022/acorex-components-select-box.mjs +6 -23
  86. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  87. package/fesm2022/acorex-components-selection-list.mjs +2 -2
  88. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  89. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  90. package/fesm2022/acorex-components-step-wizard.mjs +24 -34
  91. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  92. package/fesm2022/acorex-components-uploader.mjs +7 -6
  93. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  94. package/menu/lib/context-menu.component.d.ts +2 -1
  95. package/package.json +1 -1
  96. package/password-box/index.d.ts +1 -0
  97. package/password-box/lib/password-box.component.d.ts +15 -7
  98. package/password-box/lib/password-box.module.d.ts +9 -5
  99. package/password-box/lib/password-strength-validation/password-strength-validation.component.d.ts +34 -0
  100. package/phone-box/lib/phone-box.component.d.ts +4 -2
  101. package/popover/lib/popover.component.d.ts +1 -0
  102. package/select-box/lib/select-box.component.d.ts +0 -8
  103. package/side-menu/index.d.ts +1 -1
  104. package/side-menu/lib/side-menu.module.d.ts +1 -1
  105. package/step-wizard/lib/step-wizard-item/step-wizard-item.component.d.ts +10 -9
  106. package/step-wizard/lib/step-wizard.class.d.ts +1 -1
  107. package/step-wizard/lib/step-wizard.component.d.ts +7 -13
  108. package/uploader/lib/uploader-zone.directive.d.ts +1 -0
  109. package/esm2022/side-menu/lib/side-menu-item/side-menu-item.compoent.mjs +0 -81
  110. /package/side-menu/lib/side-menu-item/{side-menu-item.compoent.d.ts → side-menu-item.component.d.ts} +0 -0
@@ -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/uploader-list.component.ts","../../../../libs/components/uploader/src/lib/uploader-list/uploader-list.component.html","../../../../libs/components/uploader/src/lib/uploader-dialog-container/uploader-dialog-container.component.ts","../../../../libs/components/uploader/src/lib/uploader-dialog-container/uploader-dialog-container.component.html","../../../../libs/components/uploader/src/lib/uploader-drop-zone/uploader-drop-zone.component.ts","../../../../libs/components/uploader/src/lib/uploader-drop-zone/uploader-drop-zone.component.html","../../../../libs/components/uploader/src/lib/uploader.module.ts","../../../../libs/components/uploader/src/acorex-components-uploader.ts"],"sourcesContent":["import { AXEvent } from '@acorex/components/common';\nimport { computed, signal } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nexport type AXUploadStatus = 'new' | 'inprogress' | 'completed' | 'failed' | 'canceled';\n\nexport interface AXUploaderChangedEvent extends AXEvent {\n requests: AXUploadRequest[];\n}\n\nexport interface AXUploaderFileStartEvent extends AXEvent {\n uploadedFile: AXUploadRequest;\n}\nexport interface AXUploaderFileCompleteEvent extends AXEvent {\n uploadedFile: AXUploadRequest;\n}\n\nexport interface AXUploaderFilesCompleteEvent extends AXEvent {\n uploadedFiles: AXUploadRequest[];\n}\n\nexport interface AXUploaderFileCancelEvent extends AXEvent {\n uploadedFile: AXUploadRequest;\n}\n\nexport class AXUploadRequest {\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 get file(): File {\n return this.uploadFile;\n }\n\n private readonly _progress = signal(0);\n progress = computed(() => this._progress());\n\n private readonly _estimateTime = signal(0);\n estimateTime = computed(() => this._estimateTime());\n\n private readonly _status = signal<AXUploadStatus>('new');\n status = computed(() => this._status());\n\n private readonly _message = signal<string | null>(null);\n message = computed(() => this._message());\n\n private readonly _isDetermined = signal<boolean>(false);\n isDetermined = computed(() => this._isDetermined());\n\n private startTime: number;\n private bytesTransferred = 0;\n\n public onCancel = new Subject<void>();\n public onStart = new Subject<void>();\n public onFailed = new Subject<void>();\n public onComplete = new Subject<void>();\n\n constructor(private uploadFile: File) {}\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 (isNaN(elapsed) || elapsed === 0) {\n return null; // Avoid division by zero\n }\n\n const speed = (bytesTransferred || 1) / 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 public setTransferredBytes(value: number) {\n this.bytesTransferred = value;\n if (value > 0 && !this._isDetermined() && (this.status() == 'new' || this.status() == 'inprogress')) {\n this._isDetermined.set(true);\n }\n this.updateEstimateTime();\n }\n\n private updateEstimateTime() {\n this._estimateTime.set(this.estimateTimeRemaining(this.bytesTransferred));\n const progress = Math.floor((this.bytesTransferred / this.size) * 100);\n this._progress.set(progress);\n }\n\n public async upload(): Promise<void> {\n this.startTime = Date.now();\n this._progress.set(0);\n this._status.set('inprogress');\n this.onStart.next();\n }\n\n public cancel(): void {\n this._status.set('canceled');\n this.bytesTransferred = 0;\n this._estimateTime.set(0);\n this._progress.set(0);\n this.onCancel.next();\n }\n\n public redo(): void {\n // this.startTime = Date.now();\n this._progress.set(0);\n this._status.set('inprogress');\n this._message.set(null);\n this.onStart.next();\n }\n\n public error(message: string): void {\n this._status.set('failed');\n this.bytesTransferred = 0;\n this._estimateTime.set(0);\n this._progress.set(0);\n this._message.set(message);\n this.onFailed.next();\n }\n\n public finish(data?: any): void {\n this._status.set('completed');\n this.bytesTransferred = this.size;\n this._estimateTime.set(0);\n this._progress.set(100);\n this.onComplete.next();\n }\n}\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXFileService } from '@acorex/core/file';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { Injectable, inject, signal } from '@angular/core';\nimport { sumBy } from 'lodash-es';\nimport { BehaviorSubject, Subject, interval, map, switchMap } from 'rxjs';\nimport {\n AXUploadRequest,\n AXUploaderFileCancelEvent,\n AXUploaderFileCompleteEvent,\n AXUploaderFileStartEvent,\n AXUploaderFilesCompleteEvent,\n} from './uploader.models';\n\n@Injectable({ providedIn: 'root' })\nexport class AXUploaderService {\n private popupService = inject(AXPopupService);\n private translateService = inject(AXTranslationService);\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 onFileUploadStart: Subject<AXUploaderFileStartEvent> = new Subject<AXUploaderFileStartEvent>();\n public readonly onFileUploadComplete: Subject<AXUploaderFileCompleteEvent> = new Subject<AXUploaderFileCompleteEvent>();\n public readonly onFilesUploadComplete: Subject<AXUploaderFilesCompleteEvent> = new Subject<AXUploaderFilesCompleteEvent>();\n public readonly onFileUploadCanceled: Subject<AXUploaderFileCancelEvent> = new Subject<AXUploaderFileCancelEvent>();\n\n public readonly isAnyDetermined = signal(false);\n\n public readonly totalEstimateTime = interval(500).pipe(\n switchMap(() => this.files$.asObservable()),\n map((f) =>\n sumBy(f, (c) => {\n if (c.isDetermined()) {\n this.isAnyDetermined.set(true);\n }\n return c.status() === 'inprogress' ? c.estimateTime() : 0;\n }),\n ),\n );\n\n private showDialog() {\n const filesCount = this.files$.getValue().length;\n import('./uploader-list/uploader-list.component').then((c) => {\n this.popupService\n .open(c.AXUploaderListComponent, {\n size: 'sm',\n title:\n filesCount > 1\n ? this.translateService.translateSync('uploader.zone.uploadFiles')\n : this.translateService.translateSync('uploader.zone.uploadFile'),\n })\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\n .filter((c) => c.status() == 'new')\n .forEach(async (c) => {\n await this.bindEvents(c);\n });\n }\n\n private async bindEvents(c: AXUploadRequest) {\n c.onStart.subscribe(() => {\n this.onFileUploadStart.next({\n component: this,\n uploadedFile: c,\n isUserInteraction: false,\n });\n });\n c.onComplete.subscribe(() => {\n this.onFileUploadComplete.next({\n component: this,\n uploadedFile: c,\n isUserInteraction: false,\n });\n if (this.files.value.every((c) => c.status() == 'completed')) {\n this.onFilesUploadComplete.next({\n component: this,\n uploadedFiles: this.files.value,\n isUserInteraction: false,\n });\n }\n });\n c.onCancel.subscribe(() => {\n this.onFileUploadCanceled.next({\n component: this,\n uploadedFile: c,\n isUserInteraction: false,\n });\n });\n }\n\n async browse(options: { multiple?: boolean; accept?: string } = { multiple: false }): Promise<AXUploadRequest[]> {\n try {\n const files = await this.fileService.choose({ multiple: options?.multiple || false, accept: options.accept });\n if (files.length) {\n return this.add(files);\n }\n return Promise.resolve([]);\n } catch (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 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.filter((c) => c.status() != 'inprogress').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 { AXTranslationService } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n inject,\n} from '@angular/core';\nimport {\n AXUploaderChangedEvent,\n AXUploaderFileCompleteEvent,\n AXUploaderFilesCompleteEvent,\n} from './uploader.models';\nimport { AXUploaderService } from './uploader.service';\n@Directive({\n selector: '[axUploaderZone]',\n providers: [AXUnsubscriber],\n})\nexport class AXUploaderZoneDirective implements OnDestroy {\n @Input()\n multiple = true;\n\n @Input()\n accept: string = null;\n\n private cdr = inject(ChangeDetectorRef);\n\n private uploadService = inject(AXUploaderService);\n private unsubscriber = inject(AXUnsubscriber);\n private translateService = inject(AXTranslationService);\n private element: HTMLElement;\n\n @Output()\n onChanged: EventEmitter<AXUploaderChangedEvent> = new EventEmitter<AXUploaderChangedEvent>();\n\n @Output()\n onFileUploadComplete: EventEmitter<AXUploaderFileCompleteEvent> =\n new EventEmitter<AXUploaderFileCompleteEvent>();\n\n @Output()\n onFilesUploadComplete: EventEmitter<AXUploaderFilesCompleteEvent> =\n new EventEmitter<AXUploaderFilesCompleteEvent>();\n\n stateClass = 'ax-uploader-overlay-state';\n overlayElement: HTMLDivElement;\n\n constructor(private elementRef: ElementRef) {\n this.element = this.elementRef.nativeElement as HTMLElement;\n this.element.style.position = 'relative';\n\n //\n this.uploadService.onFileUploadComplete.pipe(this.unsubscriber.takeUntilDestroy).subscribe((c) => {\n this.onFileUploadComplete.next(c);\n });\n\n this.uploadService.onFilesUploadComplete.pipe(this.unsubscriber.takeUntilDestroy).subscribe((c) => {\n this.onFilesUploadComplete.next(c);\n });\n //\n this.element.addEventListener('click', this.browser.bind(this), true);\n\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.addEventListener('click', this.browser.bind(this), true);\n\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\n private handleDragEnter(event: Event) {\n this.createZone();\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n private async handleOnDrop(event: DragEvent) {\n event.preventDefault();\n event.stopImmediatePropagation();\n const requests = await this.uploadService.add(event.dataTransfer?.files);\n this.onChanged.emit({\n component: this,\n requests,\n isUserInteraction: true,\n });\n this.removeZone();\n this.cdr.detectChanges();\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', '-ax-z-1');\n this.overlayElement.id = '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.element.removeChild(document.getElementById('ax-uploader-overlay-state'));\n this.overlayElement.remove();\n //console.log(this.overlayElement);\n }\n\n public async browser(): Promise<void> {\n const requests = await this.uploadService.browse({ accept: this.accept, multiple: this.multiple });\n this.onChanged.emit({\n component: this,\n requests,\n isUserInteraction: true,\n });\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-drop-zone`;\n }\n}\n","import { Directive, ElementRef, OnDestroy, OnInit, inject } from '@angular/core';\nimport { AXUploaderZoneDirective } from './uploader-zone.directive';\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 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 async handleClick() {\n await this.uploaderZone.browser();\n }\n}\n","import { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { AXUploaderService } from '../uploader.service';\n\n/**\n * A component that displays a list of uploaded files.\n * @category Components\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 {\n /** @ignore */\n protected uploadService: AXUploaderService = inject(AXUploaderService);\n}\n","<!-- @if ((uploadService.totalEstimateTime | async) > 0) { -->\n<div class=\"ax-uploader-progress-status\" [class.ax-hide]=\"(uploadService.totalEstimateTime | async) <= 0\">\n @if(uploadService.isAnyDetermined()){\n <span>{{'processing' | translate| async}}</span>\n }@else {\n <div>{{ uploadService.totalEstimateTime | async | format: 'timeleft' | async }}</div>\n }\n <button (click)=\"uploadService.cancelAll()\">{{ 'cancel' | translate | async }}</button>\n</div>\n<!-- } -->\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\">\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 class=\"ax-status\">\n @switch (item.status()) {\n @case ('inprogress') {\n <span>{{ item.size | format: 'filesize' | async }}</span> / {{item.isDetermined()?( item.estimateTime() | format: 'timeleft' | async):('processing' | translate| async) }}\n }\n @case ('failed') {\n <div class=\"ax-state-failed\">\n <span>{{ item.message() }}</span>\n </div>\n }\n @case ('completed') {\n <div class=\"ax-state-completed\">\n <span>{{'completed' | translate | async}}</span>\n </div>\n }\n }\n </div>\n </div>\n <div class=\"ax-status\">\n @switch (item.status()) {\n @case ('completed') {\n <i class=\"ax-icon ax-icon-solid ax-icon-check-circle ax-state-completed\"></i>\n }\n @case ('canceled') {\n <div>\n <span class=\"ax-state-canceled\">{{ 'canceled' | translate | async }}</span>\n <!-- <i class=\"ax-icon ax-icon-solid ax-icon-redo\" (click)=\"item.redo()\" title=\"{{ 'retry' | translate | async }}\"></i> -->\n </div>\n }\n @case ('failed') {\n <div class=\"ax-state-failed\">\n <span>{{ 'failed' | translate | async }}</span>\n <i class=\"ax-icon ax-icon-solid ax-icon-redo\" (click)=\"item.redo()\" title=\"{{ 'retry' | translate | async }}\"></i>\n </div>\n }\n @default {\n <!-- <ax-circular-progress\n [mode]=\"item.isDetermined() ? 'determinate' : 'indeterminate'\"\n [size]=\"22\"\n [stroke]=\"6\"\n [progress]=\"item.isDetermined() ? item.progress() : 60\"\n class=\"ax-show\"\n >\n </ax-circular-progress> -->\n <i class=\"ax-icon ax-icon-solid ax-icon-close\" (click)=\"item.cancel()\" title=\"{{ 'cancel' | translate | async }}\"></i>\n }\n }\n </div>\n </li>\n @let completed = item.status() === 'completed';\n @if (item.status() === 'inprogress' || completed) {\n <div class=\"ax-status-loading\" [class.ax-status-loading-hide]=\"completed\">\n <ax-progress-bar\n [height]=\"4\"\n [mode]=\"completed ? 'determinate' : 'indeterminate'\"\n [progress]=\"completed ? 100 : 60\"\n [color]=\"completed ? 'success' : 'primary'\"\n ></ax-progress-bar>\n </div>\n }\n }\n</ul>\n","import { AXClosbaleComponent } from '@acorex/components/common';\nimport { AUTO_STYLE, animate, state, style, transition, trigger } from '@angular/animations';\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\n\n/**\n * A container for managing the uploader dialog with collapse and expand animations.\n * @category Components\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 /** @ignore */\n private parent = inject(AXClosbaleComponent);\n\n /**\n * Indicates whether the component is in a collapsed state.\n * @defaultValue false\n */\n isCollapsed = false;\n\n /**\n * Closes the parent dialog or container.\n */\n close() {\n this.parent.close();\n }\n\n /**\n * Toggles the collapsed state of the component.\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, input, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component that provides a drop zone area for uploading files.\n * @category Components\n */\n@Component({\n selector: 'ax-uploader-drop-zone',\n templateUrl: './uploader-drop-zone.component.html',\n styleUrls: ['./uploader-drop-zone.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXUploaderDropZoneComponent extends MXBaseComponent {\n public description = input('');\n preventRefresh() {\n return false;\n }\n}\n","<div class=\"ax-uploader-drop-zone-container\">\n <ax-icon class=\"ax-icon ax-icon-upload\"></ax-icon>\n <div class=\"ax-uploader-drop-zone-description\">\n <span\n >{{ 'uploader.zone.drag' | translate | async\n }}<a href=\"\" (click)=\"preventRefresh()\" axUploaderBrowseHandle>{{ 'uploader.zone.choose' | translate | async }}</a>\n {{ 'uploader.zone.to-upload' | translate | async }}</span\n >\n <!-- <p>SVG, PNG, JPG or GIF (MAX. 800x400px)</p> -->\n <p>{{ description() }}</p>\n </div>\n</div>\n","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/date-time';\nimport { AXFileModule } from '@acorex/core/file';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXUploaderListComponent } from '..';\nimport { AXUploaderBrowseDirective } from './uploader-browse-handle.directive';\nimport { AXUploaderDialogContainerComponent } from './uploader-dialog-container/uploader-dialog-container.component';\nimport { AXUploaderDropZoneComponent } from './uploader-drop-zone/uploader-drop-zone.component';\nimport { AXUploaderZoneDirective } from './uploader-zone.directive';\n\nconst COMPONENTS = [\n AXUploaderDropZoneComponent,\n AXUploaderListComponent,\n AXUploaderZoneDirective,\n AXUploaderBrowseDirective,\n AXUploaderDialogContainerComponent,\n];\n\n@NgModule({\n declarations: [...COMPONENTS],\n imports: [\n CommonModule,\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n AXProgressBarModule,\n AXFormatModule,\n AXFileModule,\n AXDateTimeModule,\n AXCircularProgressModule,\n AXPopupModule,\n ],\n exports: [...COMPONENTS],\n providers: [],\n})\nexport class AXUploaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1","i2.AXUploaderListComponent","i2.AXUploaderBrowseDirective","i3","i4"],"mappings":"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"}
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/uploader-list.component.ts","../../../../libs/components/uploader/src/lib/uploader-list/uploader-list.component.html","../../../../libs/components/uploader/src/lib/uploader-dialog-container/uploader-dialog-container.component.ts","../../../../libs/components/uploader/src/lib/uploader-dialog-container/uploader-dialog-container.component.html","../../../../libs/components/uploader/src/lib/uploader-drop-zone/uploader-drop-zone.component.ts","../../../../libs/components/uploader/src/lib/uploader-drop-zone/uploader-drop-zone.component.html","../../../../libs/components/uploader/src/lib/uploader.module.ts","../../../../libs/components/uploader/src/acorex-components-uploader.ts"],"sourcesContent":["import { AXEvent } from '@acorex/components/common';\nimport { computed, signal } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nexport type AXUploadStatus = 'new' | 'inprogress' | 'completed' | 'failed' | 'canceled';\n\nexport interface AXUploaderChangedEvent extends AXEvent {\n requests: AXUploadRequest[];\n}\n\nexport interface AXUploaderFileStartEvent extends AXEvent {\n uploadedFile: AXUploadRequest;\n}\nexport interface AXUploaderFileCompleteEvent extends AXEvent {\n uploadedFile: AXUploadRequest;\n}\n\nexport interface AXUploaderFilesCompleteEvent extends AXEvent {\n uploadedFiles: AXUploadRequest[];\n}\n\nexport interface AXUploaderFileCancelEvent extends AXEvent {\n uploadedFile: AXUploadRequest;\n}\n\nexport class AXUploadRequest {\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 get file(): File {\n return this.uploadFile;\n }\n\n private readonly _progress = signal(0);\n progress = computed(() => this._progress());\n\n private readonly _estimateTime = signal(0);\n estimateTime = computed(() => this._estimateTime());\n\n private readonly _status = signal<AXUploadStatus>('new');\n status = computed(() => this._status());\n\n private readonly _message = signal<string | null>(null);\n message = computed(() => this._message());\n\n private readonly _isDetermined = signal<boolean>(false);\n isDetermined = computed(() => this._isDetermined());\n\n private startTime: number;\n private bytesTransferred = 0;\n\n public onCancel = new Subject<void>();\n public onStart = new Subject<void>();\n public onFailed = new Subject<void>();\n public onComplete = new Subject<void>();\n\n constructor(private uploadFile: File) {}\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 (isNaN(elapsed) || elapsed === 0) {\n return null; // Avoid division by zero\n }\n\n const speed = (bytesTransferred || 1) / 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 public setTransferredBytes(value: number) {\n this.bytesTransferred = value;\n if (value > 0 && !this._isDetermined() && (this.status() == 'new' || this.status() == 'inprogress')) {\n this._isDetermined.set(true);\n }\n this.updateEstimateTime();\n }\n\n private updateEstimateTime() {\n this._estimateTime.set(this.estimateTimeRemaining(this.bytesTransferred));\n const progress = Math.floor((this.bytesTransferred / this.size) * 100);\n this._progress.set(progress);\n }\n\n public async upload(): Promise<void> {\n this.startTime = Date.now();\n this._progress.set(0);\n this._status.set('inprogress');\n this.onStart.next();\n }\n\n public cancel(): void {\n this._status.set('canceled');\n this.bytesTransferred = 0;\n this._estimateTime.set(0);\n this._progress.set(0);\n this.onCancel.next();\n }\n\n public redo(): void {\n // this.startTime = Date.now();\n this._progress.set(0);\n this._status.set('inprogress');\n this._message.set(null);\n this.onStart.next();\n }\n\n public error(message: string): void {\n this._status.set('failed');\n this.bytesTransferred = 0;\n this._estimateTime.set(0);\n this._progress.set(0);\n this._message.set(message);\n this.onFailed.next();\n }\n\n public finish(data?: any): void {\n this._status.set('completed');\n this.bytesTransferred = this.size;\n this._estimateTime.set(0);\n this._progress.set(100);\n this.onComplete.next();\n }\n}\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXFileService } from '@acorex/core/file';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { Injectable, inject, signal } from '@angular/core';\nimport { sumBy } from 'lodash-es';\nimport { BehaviorSubject, Subject, interval, map, switchMap } from 'rxjs';\nimport {\n AXUploadRequest,\n AXUploaderFileCancelEvent,\n AXUploaderFileCompleteEvent,\n AXUploaderFileStartEvent,\n AXUploaderFilesCompleteEvent,\n} from './uploader.models';\n\n@Injectable({ providedIn: 'root' })\nexport class AXUploaderService {\n private popupService = inject(AXPopupService);\n private translateService = inject(AXTranslationService);\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 onFileUploadStart: Subject<AXUploaderFileStartEvent> = new Subject<AXUploaderFileStartEvent>();\n public readonly onFileUploadComplete: Subject<AXUploaderFileCompleteEvent> = new Subject<AXUploaderFileCompleteEvent>();\n public readonly onFilesUploadComplete: Subject<AXUploaderFilesCompleteEvent> = new Subject<AXUploaderFilesCompleteEvent>();\n public readonly onFileUploadCanceled: Subject<AXUploaderFileCancelEvent> = new Subject<AXUploaderFileCancelEvent>();\n\n public readonly isAnyDetermined = signal(false);\n\n public readonly totalEstimateTime = interval(500).pipe(\n switchMap(() => this.files$.asObservable()),\n map((f) =>\n sumBy(f, (c) => {\n if (c.isDetermined()) {\n this.isAnyDetermined.set(true);\n }\n return c.status() === 'inprogress' ? c.estimateTime() : 0;\n }),\n ),\n );\n\n private showDialog() {\n const filesCount = this.files$.getValue().length;\n import('./uploader-list/uploader-list.component').then((c) => {\n this.popupService\n .open(c.AXUploaderListComponent, {\n size: 'sm',\n title:\n filesCount > 1\n ? this.translateService.translateSync('uploader.zone.uploadFiles')\n : this.translateService.translateSync('uploader.zone.uploadFile'),\n })\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\n .filter((c) => c.status() == 'new')\n .forEach(async (c) => {\n await this.bindEvents(c);\n });\n }\n\n private async bindEvents(c: AXUploadRequest) {\n c.onStart.subscribe(() => {\n this.onFileUploadStart.next({\n component: this,\n uploadedFile: c,\n isUserInteraction: false,\n });\n });\n c.onComplete.subscribe(() => {\n this.onFileUploadComplete.next({\n component: this,\n uploadedFile: c,\n isUserInteraction: false,\n });\n if (this.files.value.every((c) => c.status() == 'completed')) {\n this.onFilesUploadComplete.next({\n component: this,\n uploadedFiles: this.files.value,\n isUserInteraction: false,\n });\n }\n });\n c.onCancel.subscribe(() => {\n this.onFileUploadCanceled.next({\n component: this,\n uploadedFile: c,\n isUserInteraction: false,\n });\n });\n }\n\n async browse(options: { multiple?: boolean; accept?: string } = { multiple: false }): Promise<AXUploadRequest[]> {\n try {\n const files = await this.fileService.choose({ multiple: options?.multiple || false, accept: options.accept });\n if (files.length) {\n return this.add(files);\n }\n return Promise.resolve([]);\n } catch (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 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.filter((c) => c.status() != 'inprogress').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 { AXTranslationService } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n inject,\n} from '@angular/core';\nimport {\n AXUploaderChangedEvent,\n AXUploaderFileCompleteEvent,\n AXUploaderFilesCompleteEvent,\n} from './uploader.models';\nimport { AXUploaderService } from './uploader.service';\n@Directive({\n selector: '[axUploaderZone]',\n providers: [AXUnsubscriber],\n})\nexport class AXUploaderZoneDirective implements OnDestroy {\n @Input()\n multiple = true;\n\n @Input()\n accept: string = null;\n\n private cdr = inject(ChangeDetectorRef);\n private document = inject(DOCUMENT);\n\n private uploadService = inject(AXUploaderService);\n private unsubscriber = inject(AXUnsubscriber);\n private translateService = inject(AXTranslationService);\n private element: HTMLElement;\n\n @Output()\n onChanged: EventEmitter<AXUploaderChangedEvent> = new EventEmitter<AXUploaderChangedEvent>();\n\n @Output()\n onFileUploadComplete: EventEmitter<AXUploaderFileCompleteEvent> =\n new EventEmitter<AXUploaderFileCompleteEvent>();\n\n @Output()\n onFilesUploadComplete: EventEmitter<AXUploaderFilesCompleteEvent> =\n new EventEmitter<AXUploaderFilesCompleteEvent>();\n\n stateClass = 'ax-uploader-overlay-state';\n overlayElement: HTMLDivElement;\n\n constructor(private elementRef: ElementRef) {\n this.element = this.elementRef.nativeElement as HTMLElement;\n this.element.style.position = 'relative';\n\n //\n this.uploadService.onFileUploadComplete.pipe(this.unsubscriber.takeUntilDestroy).subscribe((c) => {\n this.onFileUploadComplete.next(c);\n });\n\n this.uploadService.onFilesUploadComplete.pipe(this.unsubscriber.takeUntilDestroy).subscribe((c) => {\n this.onFilesUploadComplete.next(c);\n });\n //\n this.element.addEventListener('click', this.browser.bind(this), true);\n\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.addEventListener('click', this.browser.bind(this), true);\n\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\n private handleDragEnter(event: Event) {\n this.createZone();\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n private async handleOnDrop(event: DragEvent) {\n event.preventDefault();\n event.stopImmediatePropagation();\n const requests = await this.uploadService.add(event.dataTransfer?.files);\n this.onChanged.emit({\n component: this,\n requests,\n isUserInteraction: true,\n });\n this.removeZone();\n this.cdr.detectChanges();\n }\n\n private handleDragOver(event: Event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n private createZone() {\n this.overlayElement = this.document.createElement('div');\n this.overlayElement.classList.add('ax-uploader-overlay-state', '-ax-z-1');\n this.overlayElement.id = 'ax-uploader-overlay-state';\n\n const icon: HTMLSpanElement = this.document.createElement('span');\n icon.classList.add('ax-icon', 'ax-icon-upload');\n\n const text = this.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.element.removeChild(this.document.getElementById('ax-uploader-overlay-state'));\n this.overlayElement.remove();\n //console.log(this.overlayElement);\n }\n\n public async browser(): Promise<void> {\n const requests = await this.uploadService.browse({ accept: this.accept, multiple: this.multiple });\n this.onChanged.emit({\n component: this,\n requests,\n isUserInteraction: true,\n });\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-drop-zone`;\n }\n}\n","import { Directive, ElementRef, OnDestroy, OnInit, inject } from '@angular/core';\nimport { AXUploaderZoneDirective } from './uploader-zone.directive';\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 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 async handleClick() {\n await this.uploaderZone.browser();\n }\n}\n","import { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { AXUploaderService } from '../uploader.service';\n\n/**\n * A component that displays a list of uploaded files.\n * @category Components\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 {\n /** @ignore */\n protected uploadService: AXUploaderService = inject(AXUploaderService);\n}\n","<!-- @if ((uploadService.totalEstimateTime | async) > 0) { -->\n<div class=\"ax-uploader-progress-status\" [class.ax-hide]=\"(uploadService.totalEstimateTime | async) <= 0\">\n @if(uploadService.isAnyDetermined()){\n <span>{{'processing' | translate| async}}</span>\n }@else {\n <div>{{ uploadService.totalEstimateTime | async | format: 'timeleft' | async }}</div>\n }\n <button (click)=\"uploadService.cancelAll()\">{{ 'cancel' | translate | async }}</button>\n</div>\n<!-- } -->\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\">\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 class=\"ax-status\">\n @switch (item.status()) {\n @case ('inprogress') {\n <span>{{ item.size | format: 'filesize' | async }}</span> / {{item.isDetermined()?( item.estimateTime() | format: 'timeleft' | async):('processing' | translate| async) }}\n }\n @case ('failed') {\n <div class=\"ax-state-failed\">\n <span>{{ item.message() }}</span>\n </div>\n }\n @case ('completed') {\n <div class=\"ax-state-completed\">\n <span>{{'completed' | translate | async}}</span>\n </div>\n }\n }\n </div>\n </div>\n <div class=\"ax-status\">\n @switch (item.status()) {\n @case ('completed') {\n <i class=\"ax-icon ax-icon-solid ax-icon-check-circle ax-state-completed\"></i>\n }\n @case ('canceled') {\n <div>\n <span class=\"ax-state-canceled\">{{ 'canceled' | translate | async }}</span>\n <!-- <i class=\"ax-icon ax-icon-solid ax-icon-redo\" (click)=\"item.redo()\" title=\"{{ 'retry' | translate | async }}\"></i> -->\n </div>\n }\n @case ('failed') {\n <div class=\"ax-state-failed\">\n <span>{{ 'failed' | translate | async }}</span>\n <i class=\"ax-icon ax-icon-solid ax-icon-redo\" (click)=\"item.redo()\" title=\"{{ 'retry' | translate | async }}\"></i>\n </div>\n }\n @default {\n <!-- <ax-circular-progress\n [mode]=\"item.isDetermined() ? 'determinate' : 'indeterminate'\"\n [size]=\"22\"\n [stroke]=\"6\"\n [progress]=\"item.isDetermined() ? item.progress() : 60\"\n class=\"ax-show\"\n >\n </ax-circular-progress> -->\n <i class=\"ax-icon ax-icon-solid ax-icon-close\" (click)=\"item.cancel()\" title=\"{{ 'cancel' | translate | async }}\"></i>\n }\n }\n </div>\n </li>\n @let completed = item.status() === 'completed';\n @if (item.status() === 'inprogress' || completed) {\n <div class=\"ax-status-loading\" [class.ax-status-loading-hide]=\"completed\">\n <ax-progress-bar\n [height]=\"4\"\n [mode]=\"completed ? 'determinate' : 'indeterminate'\"\n [progress]=\"completed ? 100 : 60\"\n [color]=\"completed ? 'success' : 'primary'\"\n ></ax-progress-bar>\n </div>\n }\n }\n</ul>\n","import { AXClosbaleComponent } from '@acorex/components/common';\nimport { AUTO_STYLE, animate, state, style, transition, trigger } from '@angular/animations';\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\n\n/**\n * A container for managing the uploader dialog with collapse and expand animations.\n * @category Components\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 /** @ignore */\n private parent = inject(AXClosbaleComponent);\n\n /**\n * Indicates whether the component is in a collapsed state.\n * @defaultValue false\n */\n isCollapsed = false;\n\n /**\n * Closes the parent dialog or container.\n */\n close() {\n this.parent.close();\n }\n\n /**\n * Toggles the collapsed state of the component.\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, input, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component that provides a drop zone area for uploading files.\n * @category Components\n */\n@Component({\n selector: 'ax-uploader-drop-zone',\n templateUrl: './uploader-drop-zone.component.html',\n styleUrls: ['./uploader-drop-zone.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXUploaderDropZoneComponent extends MXBaseComponent {\n public description = input('');\n preventRefresh() {\n return false;\n }\n}\n","<div class=\"ax-uploader-drop-zone-container\">\n <ax-icon class=\"ax-icon ax-icon-upload\"></ax-icon>\n <div class=\"ax-uploader-drop-zone-description\">\n <span\n >{{ 'uploader.zone.drag' | translate | async\n }}<a href=\"\" (click)=\"preventRefresh()\" axUploaderBrowseHandle>{{ 'uploader.zone.choose' | translate | async }}</a>\n {{ 'uploader.zone.to-upload' | translate | async }}</span\n >\n <!-- <p>SVG, PNG, JPG or GIF (MAX. 800x400px)</p> -->\n <p>{{ description() }}</p>\n </div>\n</div>\n","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/date-time';\nimport { AXFileModule } from '@acorex/core/file';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXUploaderListComponent } from '..';\nimport { AXUploaderBrowseDirective } from './uploader-browse-handle.directive';\nimport { AXUploaderDialogContainerComponent } from './uploader-dialog-container/uploader-dialog-container.component';\nimport { AXUploaderDropZoneComponent } from './uploader-drop-zone/uploader-drop-zone.component';\nimport { AXUploaderZoneDirective } from './uploader-zone.directive';\n\nconst COMPONENTS = [\n AXUploaderDropZoneComponent,\n AXUploaderListComponent,\n AXUploaderZoneDirective,\n AXUploaderBrowseDirective,\n AXUploaderDialogContainerComponent,\n];\n\n@NgModule({\n declarations: [...COMPONENTS],\n imports: [\n CommonModule,\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n AXProgressBarModule,\n AXFormatModule,\n AXFileModule,\n AXDateTimeModule,\n AXCircularProgressModule,\n AXPopupModule,\n ],\n exports: [...COMPONENTS],\n providers: [],\n})\nexport class AXUploaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1","i2.AXUploaderListComponent","i2.AXUploaderBrowseDirective","i3","i4"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { AXOrientation, NXComponent, NXEvent } from '@acorex/components/common';
2
- import { AXMenuCloseTrigger, AXMenuItem, AXMenuItemClickBaseEvent, AXMenuOpenTrigger } from './menu.types';
3
2
  import { AXPoint } from '@acorex/core/utils';
3
+ import { AXMenuCloseTrigger, AXMenuItem, AXMenuItemClickBaseEvent, AXMenuOpenTrigger } from './menu.types';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class AXContextMenuOpeningEvent extends NXEvent<AXContextMenuComponent> {
6
6
  items: AXMenuItem[];
@@ -22,6 +22,7 @@ export declare class AXContextMenuComponent extends NXComponent {
22
22
  onOpening: import("@angular/core").OutputEmitterRef<AXContextMenuOpeningEvent>;
23
23
  private service;
24
24
  private renderer;
25
+ private document;
25
26
  /** @ignore */
26
27
  constructor();
27
28
  ngOnDestroy(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "18.14.1-next.4",
3
+ "version": "18.15.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=18.2.0",
6
6
  "@angular/core": ">=18.2.0",
@@ -1,2 +1,3 @@
1
1
  export * from './lib/password-box.component';
2
2
  export * from './lib/password-box.module';
3
+ export * from './lib/password-strength-validation/password-strength-validation.component';
@@ -19,24 +19,32 @@ export declare class AXPasswordBoxComponent extends AXPasswordBoxComponent_base
19
19
  /** @ignore */
20
20
  protected _icon: 'ax-icon-visibility' | 'ax-icon-visibility-off';
21
21
  /**
22
- * Sets the autocomplete behavior for the input field.
23
- */
22
+ * Sets the autocomplete behavior for the input field.
23
+ */
24
24
  autoComplete: 'current-password' | 'new-password' | 'one-time-code' | 'off';
25
25
  /**
26
26
  * A flag for showing or hiding password button.
27
27
  */
28
28
  showToggleButton: boolean;
29
29
  /**
30
- * Defines custom CSS classes to apply to the component.
31
- */
30
+ * Defines custom CSS classes to apply to the component.
31
+ */
32
32
  classNames: string;
33
+ /**
34
+ * Hint status.
35
+ */
36
+ showHint: import("@angular/core").InputSignal<boolean>;
37
+ /**
38
+ * Progress status.
39
+ */
40
+ showProgress: import("@angular/core").InputSignal<boolean>;
33
41
  /** @ignore */
34
42
  _handleModelChange(value: string): void;
35
43
  /**
36
- * Toggles the input type between 'password' and 'text' to show or hide the password.
37
- */
44
+ * Toggles the input type between 'password' and 'text' to show or hide the password.
45
+ */
38
46
  toggleType(): void;
39
47
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPasswordBoxComponent, never>;
40
- static ɵcmp: i0.ɵɵComponentDeclaration<AXPasswordBoxComponent, "ax-password-box", never, { "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "look": { "alias": "look"; "required": false; }; "autoComplete": { "alias": "autoComplete"; "required": false; }; "showToggleButton": { "alias": "showToggleButton"; "required": false; }; "classNames": { "alias": "class"; "required": false; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onKeyDown": "onKeyDown"; "onKeyUp": "onKeyUp"; "onKeyPress": "onKeyPress"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-validation-rule"], false, never>;
48
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPasswordBoxComponent, "ax-password-box", never, { "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "look": { "alias": "look"; "required": false; }; "autoComplete": { "alias": "autoComplete"; "required": false; }; "showToggleButton": { "alias": "showToggleButton"; "required": false; }; "classNames": { "alias": "class"; "required": false; }; "showHint": { "alias": "showHint"; "required": false; "isSignal": true; }; "showProgress": { "alias": "showProgress"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onKeyDown": "onKeyDown"; "onKeyUp": "onKeyUp"; "onKeyPress": "onKeyPress"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-validation-rule", "ax-password-strength-validation"], false, never>;
41
49
  }
42
50
  export {};
@@ -1,11 +1,15 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./password-box.component";
3
- import * as i2 from "@angular/common";
4
- import * as i3 from "@angular/forms";
5
- import * as i4 from "@acorex/components/button";
6
- import * as i5 from "@acorex/components/decorators";
3
+ import * as i2 from "./password-strength-validation/password-strength-validation.component";
4
+ import * as i3 from "@angular/common";
5
+ import * as i4 from "@angular/forms";
6
+ import * as i5 from "@acorex/components/button";
7
+ import * as i6 from "@acorex/components/decorators";
8
+ import * as i7 from "@acorex/components/progress-bar";
9
+ import * as i8 from "@acorex/components/badge";
10
+ import * as i9 from "@acorex/core/translation";
7
11
  export declare class AXPasswordBoxModule {
8
12
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPasswordBoxModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXPasswordBoxModule, [typeof i1.AXPasswordBoxComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.AXButtonModule, typeof i5.AXDecoratorModule], [typeof i1.AXPasswordBoxComponent]>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXPasswordBoxModule, [typeof i1.AXPasswordBoxComponent, typeof i2.AXPasswordStrengthValidationComponent], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.AXButtonModule, typeof i6.AXDecoratorModule, typeof i7.AXProgressBarModule, typeof i8.AXBadgeModule, typeof i9.AXTranslationModule], [typeof i1.AXPasswordBoxComponent, typeof i2.AXPasswordStrengthValidationComponent]>;
10
14
  static ɵinj: i0.ɵɵInjectorDeclaration<AXPasswordBoxModule>;
11
15
  }
@@ -0,0 +1,34 @@
1
+ import { AXPasswordBoxComponent } from '../password-box.component';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AXPasswordStrengthValidationComponent {
4
+ #private;
5
+ protected passwordStrength: import("@angular/core").WritableSignal<number>;
6
+ protected updatedPassword: import("@angular/core").WritableSignal<string>;
7
+ protected strengthLabel: import("@angular/core").WritableSignal<string>;
8
+ protected strengthLabelColor: import("@angular/core").WritableSignal<string>;
9
+ protected parent: AXPasswordBoxComponent;
10
+ protected isLenghtgraterThan8: import("@angular/core").WritableSignal<{
11
+ regex: RegExp;
12
+ state: boolean;
13
+ }>;
14
+ protected isUseUpperCase: import("@angular/core").WritableSignal<{
15
+ regex: RegExp;
16
+ state: boolean;
17
+ }>;
18
+ protected isUseLowerCase: import("@angular/core").WritableSignal<{
19
+ regex: RegExp;
20
+ state: boolean;
21
+ }>;
22
+ protected isUseNumber: import("@angular/core").WritableSignal<{
23
+ regex: RegExp;
24
+ state: boolean;
25
+ }>;
26
+ protected isUseSpecialCharacter: import("@angular/core").WritableSignal<{
27
+ regex: RegExp;
28
+ state: boolean;
29
+ }>;
30
+ private checkRegexHandler;
31
+ protected checkPasswordStrength(): void;
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPasswordStrengthValidationComponent, never>;
33
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPasswordStrengthValidationComponent, "ax-password-strength-validation", never, {}, {}, never, never, false, never>;
34
+ }
@@ -1,4 +1,5 @@
1
1
  import { AXDataSource, AXValueChangedEvent, MXInputBaseValueComponent, MXLookComponent } from '@acorex/components/common';
2
+ import { AXSelectBoxComponent } from '@acorex/components/select-box';
2
3
  import { AXTextBoxComponent } from '@acorex/components/text-box';
3
4
  import { CountryItem } from '@acorex/core/common';
4
5
  import * as i0 from "@angular/core";
@@ -28,7 +29,7 @@ export declare class AXPhoneBoxComponent extends AXPhoneBoxComponent_base {
28
29
  /**
29
30
  * The default country value for the component.
30
31
  */
31
- country: import("@angular/core").InputSignal<string>;
32
+ country: import("@angular/core").ModelSignal<string>;
32
33
  /**
33
34
  * List of included values for the component.
34
35
  */
@@ -37,6 +38,7 @@ export declare class AXPhoneBoxComponent extends AXPhoneBoxComponent_base {
37
38
  * List of excluded values for the component.
38
39
  */
39
40
  excluded: import("@angular/core").InputSignal<string[]>;
41
+ selectBox: import("@angular/core").Signal<AXSelectBoxComponent>;
40
42
  /** @ignore */
41
43
  protected countries: import("@angular/core").WritableSignal<CountryItem[]>;
42
44
  /** @ignore */
@@ -67,6 +69,6 @@ export declare class AXPhoneBoxComponent extends AXPhoneBoxComponent_base {
67
69
  /** @ignore */
68
70
  _handleCountryValueChanged(event: AXValueChangedEvent): void;
69
71
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPhoneBoxComponent, never>;
70
- static ɵcmp: i0.ɵɵComponentDeclaration<AXPhoneBoxComponent, "ax-phone-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "allowNull": { "alias": "allowNull"; "required": false; }; "type": { "alias": "type"; "required": false; }; "autoComplete": { "alias": "autoComplete"; "required": false; }; "look": { "alias": "look"; "required": false; }; "classNames": { "alias": "class"; "required": false; }; "precode": { "alias": "precode"; "required": false; "isSignal": true; }; "country": { "alias": "country"; "required": false; "isSignal": true; }; "included": { "alias": "included"; "required": false; "isSignal": true; }; "excluded": { "alias": "excluded"; "required": false; "isSignal": true; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onKeyDown": "onKeyDown"; "onKeyUp": "onKeyUp"; "onKeyPress": "onKeyPress"; }, never, ["ax-clear-button ", "ax-validation-rule"], false, never>;
72
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPhoneBoxComponent, "ax-phone-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "allowNull": { "alias": "allowNull"; "required": false; }; "type": { "alias": "type"; "required": false; }; "autoComplete": { "alias": "autoComplete"; "required": false; }; "look": { "alias": "look"; "required": false; }; "classNames": { "alias": "class"; "required": false; }; "precode": { "alias": "precode"; "required": false; "isSignal": true; }; "country": { "alias": "country"; "required": false; "isSignal": true; }; "included": { "alias": "included"; "required": false; "isSignal": true; }; "excluded": { "alias": "excluded"; "required": false; "isSignal": true; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onKeyDown": "onKeyDown"; "onKeyUp": "onKeyUp"; "onKeyPress": "onKeyPress"; "country": "countryChange"; }, never, ["ax-clear-button ", "ax-validation-rule"], false, never>;
71
73
  }
72
74
  export {};
@@ -10,6 +10,7 @@ export type AXPopoverCloseTrigger = 'manual' | 'clickOut' | 'leave';
10
10
  */
11
11
  export declare class AXPopoverComponent extends MXBaseComponent {
12
12
  #private;
13
+ private document;
13
14
  /** @ignore */
14
15
  private _platform;
15
16
  /** @ignore */
@@ -79,8 +79,6 @@ export declare class AXSelectBoxComponent extends AXSelectBoxComponent_base impl
79
79
  searchBox: AXSearchBoxComponent;
80
80
  /** @ignore */
81
81
  protected dropdown: AXDropdownBoxComponent;
82
- /** @ignore */
83
- protected autoHeight: boolean;
84
82
  /**
85
83
  * Service for managing selection data, injected via `AX_SELECTION_DATA_TOKEN`.
86
84
  */
@@ -111,12 +109,6 @@ export declare class AXSelectBoxComponent extends AXSelectBoxComponent_base impl
111
109
  protected _handleValueChanged(e: AXValueChangedEvent): void;
112
110
  /** @ignore */
113
111
  protected _handleOnItemClick(e: AXItemClickEvent): void;
114
- /**
115
- * Handles changes to the internal value. Closes the component if not in multiple mode, and adjusts height after a short delay.
116
- */
117
- internalValueChanged(): void;
118
- /** @ignore */
119
- private detectAutoHeight;
120
112
  /** @ignore */
121
113
  private setDropdownSize;
122
114
  /** @ignore */
@@ -1,3 +1,3 @@
1
- export * from './lib/side-menu-item/side-menu-item.compoent';
1
+ export * from './lib/side-menu-item/side-menu-item.component';
2
2
  export * from './lib/side-menu.component';
3
3
  export * from './lib/side-menu.module';
@@ -1,6 +1,6 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./side-menu.component";
3
- import * as i2 from "./side-menu-item/side-menu-item.compoent";
3
+ import * as i2 from "./side-menu-item/side-menu-item.component";
4
4
  import * as i3 from "@angular/common";
5
5
  import * as i4 from "@acorex/components/common";
6
6
  import * as i5 from "@acorex/components/loading";
@@ -1,15 +1,16 @@
1
1
  import { MXBaseComponent } from '@acorex/components/common';
2
- import { Signal, TemplateRef, WritableSignal } from '@angular/core';
2
+ import { TemplateRef } from '@angular/core';
3
3
  import { AXStepWizardLook } from '../step-wizard.class';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class AXStepWizardItemComponent extends MXBaseComponent {
6
- protected stepLabel: WritableSignal<string>;
7
- protected stepDescription: WritableSignal<string>;
8
- protected stepId: WritableSignal<string>;
9
- protected activeSignal: WritableSignal<boolean>;
10
- protected passedSignal: WritableSignal<boolean>;
11
- protected activeLook: WritableSignal<AXStepWizardLook>;
12
- protected className: Signal<string>;
6
+ protected stepLabel: import("@angular/core").WritableSignal<string>;
7
+ protected stepDescription: import("@angular/core").WritableSignal<string>;
8
+ protected stepId: import("@angular/core").WritableSignal<string>;
9
+ protected activeSignal: import("@angular/core").WritableSignal<boolean>;
10
+ protected passedSignal: import("@angular/core").WritableSignal<boolean>;
11
+ protected activeLook: import("@angular/core").WritableSignal<AXStepWizardLook>;
12
+ protected className: import("@angular/core").Signal<string>;
13
+ step: import("@angular/core").InputSignal<number>;
13
14
  customTemplate: TemplateRef<unknown>;
14
15
  template: TemplateRef<unknown>;
15
16
  set look(v: AXStepWizardLook);
@@ -20,5 +21,5 @@ export declare class AXStepWizardItemComponent extends MXBaseComponent {
20
21
  set id(v: string);
21
22
  private get __hostClass();
22
23
  static ɵfac: i0.ɵɵFactoryDeclaration<AXStepWizardItemComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<AXStepWizardItemComponent, "ax-step-wizard-item", never, { "disabled": { "alias": "disabled"; "required": false; }; "color": { "alias": "color"; "required": false; }; "customTemplate": { "alias": "customTemplate"; "required": false; }; "look": { "alias": "look"; "required": false; }; "active": { "alias": "active"; "required": false; }; "passed": { "alias": "passed"; "required": false; }; "label": { "alias": "label"; "required": false; }; "description": { "alias": "description"; "required": false; }; "id": { "alias": "id"; "required": false; }; }, {}, never, ["ax-content", "ax-icon"], false, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXStepWizardItemComponent, "ax-step-wizard-item", never, { "disabled": { "alias": "disabled"; "required": false; }; "color": { "alias": "color"; "required": false; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "customTemplate": { "alias": "customTemplate"; "required": false; }; "look": { "alias": "look"; "required": false; }; "active": { "alias": "active"; "required": false; }; "passed": { "alias": "passed"; "required": false; }; "label": { "alias": "label"; "required": false; }; "description": { "alias": "description"; "required": false; }; "id": { "alias": "id"; "required": false; }; }, {}, never, ["ax-content", "ax-icon"], false, never>;
24
25
  }
@@ -2,4 +2,4 @@ export interface AXStepWizardItem {
2
2
  id: string;
3
3
  title: string;
4
4
  }
5
- export type AXStepWizardLook = 'classic-rounded' | 'classic-circular' | 'with-line' | 'custom';
5
+ export type AXStepWizardLook = 'classic-rounded' | 'classic-circular' | 'with-line' | 'with-line-number' | 'custom';
@@ -1,5 +1,5 @@
1
1
  import { AXOrientation, MXBaseComponent } from '@acorex/components/common';
2
- import { OnInit, Signal, WritableSignal } from '@angular/core';
2
+ import { OnInit } from '@angular/core';
3
3
  import { AXStepWizardItemComponent } from './step-wizard-item/step-wizard-item.component';
4
4
  import { AXStepWizardLook } from './step-wizard.class';
5
5
  import { AXStepWizardContentDirective } from './step-wizard.directive';
@@ -9,7 +9,7 @@ import * as i0 from "@angular/core";
9
9
  * A component for creating a step-by-step wizard interface.
10
10
  */
11
11
  export declare class AXStepWizardComponent extends MXBaseComponent implements OnInit {
12
- constructor();
12
+ #private;
13
13
  /**
14
14
  * Sets the visual style of the step wizard.
15
15
  *
@@ -17,23 +17,17 @@ export declare class AXStepWizardComponent extends MXBaseComponent implements On
17
17
  */
18
18
  look: import("@angular/core").ModelSignal<AXStepWizardLook>;
19
19
  /** @ignore */
20
- protected activeStepIndex: WritableSignal<number>;
20
+ protected activeStepIndex: import("@angular/core").WritableSignal<number>;
21
21
  /** @ignore */
22
- protected activeLook: WritableSignal<AXStepWizardLook>;
23
- /** @ignore */
24
- protected activeOrientation: WritableSignal<AXOrientation>;
25
- isFirst: Signal<boolean>;
26
- isLast: Signal<boolean>;
27
- /** @ignore */
28
- protected className: Signal<string[]>;
22
+ protected activeOrientation: import("@angular/core").WritableSignal<AXOrientation>;
23
+ isFirst: import("@angular/core").Signal<boolean>;
24
+ isLast: import("@angular/core").Signal<boolean>;
29
25
  /** @ignore */
30
26
  private changeStepContent;
31
27
  /** @ignore */
32
- private stepChangeEffect;
33
- /** @ignore */
34
28
  ngOnInit(): void;
35
29
  /** @ignore */
36
- steps: Signal<readonly AXStepWizardItemComponent[]>;
30
+ steps: import("@angular/core").Signal<readonly AXStepWizardItemComponent[]>;
37
31
  /**
38
32
  * Sets the orientation of the component.
39
33
  *
@@ -6,6 +6,7 @@ export declare class AXUploaderZoneDirective implements OnDestroy {
6
6
  multiple: boolean;
7
7
  accept: string;
8
8
  private cdr;
9
+ private document;
9
10
  private uploadService;
10
11
  private unsubscriber;
11
12
  private translateService;