@acorex/components 7.17.26 → 7.17.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/action-sheet/lib/action-sheet.module.d.ts +3 -2
  2. package/calendar/lib/calendar.class.d.ts +2 -2
  3. package/calendar/lib/calendar.component.d.ts +2 -1
  4. package/calendar/lib/calendar.module.d.ts +2 -1
  5. package/data-pager/lib/data-pager-info.component.d.ts +2 -0
  6. package/data-table/lib/columns/data-text-column.component.d.ts +2 -1
  7. package/datetime-picker/lib/datetime-picker.component.d.ts +2 -1
  8. package/dialog/lib/dialog.module.d.ts +2 -1
  9. package/esm2022/action-sheet/lib/action-sheet.component.mjs +4 -3
  10. package/esm2022/action-sheet/lib/action-sheet.module.mjs +4 -1
  11. package/esm2022/action-sheet/lib/action-sheet.service.mjs +2 -3
  12. package/esm2022/calendar/lib/calendar.class.mjs +1 -2
  13. package/esm2022/calendar/lib/calendar.component.mjs +23 -15
  14. package/esm2022/calendar/lib/calendar.module.mjs +4 -3
  15. package/esm2022/check-box/lib/check-box.component.mjs +4 -2
  16. package/esm2022/common/lib/components/look-component.class.mjs +2 -2
  17. package/esm2022/common/lib/components/selection-base.component.class.mjs +2 -5
  18. package/esm2022/common/lib/components/value-component.class.mjs +8 -5
  19. package/esm2022/data-pager/lib/data-pager-info.component.mjs +11 -10
  20. package/esm2022/data-table/lib/columns/data-table-column.mjs +1 -1
  21. package/esm2022/data-table/lib/columns/data-text-column.component.mjs +2 -3
  22. package/esm2022/data-table/lib/columns/row-index-column.component.mjs +3 -3
  23. package/esm2022/data-table/lib/data-table.component.mjs +3 -3
  24. package/esm2022/datetime-box/lib/datetime-box.component.mjs +8 -7
  25. package/esm2022/datetime-input/lib/datetime-input.component.mjs +2 -2
  26. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +8 -8
  27. package/esm2022/dialog/lib/dialog.component.mjs +4 -3
  28. package/esm2022/dialog/lib/dialog.module.mjs +5 -2
  29. package/esm2022/dialog/lib/dialog.service.mjs +4 -5
  30. package/esm2022/form/lib/form.module.mjs +5 -4
  31. package/esm2022/form/lib/validation-summary.component.mjs +19 -17
  32. package/esm2022/list/lib/list.component.mjs +3 -3
  33. package/esm2022/number-box/lib/number-box.component.mjs +3 -3
  34. package/esm2022/password-box/lib/password-box.component.mjs +5 -5
  35. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +3 -3
  36. package/esm2022/search-box/lib/search-box.component.mjs +15 -17
  37. package/esm2022/select-box/lib/select-box.component.mjs +5 -6
  38. package/esm2022/text-area/lib/text-area.component.mjs +2 -2
  39. package/esm2022/text-box/lib/text-box.component.mjs +2 -2
  40. package/esm2022/uploader/lib/uploader-list.component.mjs +3 -3
  41. package/esm2022/uploader/lib/uploader-zone.directive.mjs +4 -3
  42. package/fesm2022/acorex-components-action-sheet.mjs +7 -4
  43. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  44. package/fesm2022/acorex-components-calendar.mjs +25 -17
  45. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  46. package/fesm2022/acorex-components-check-box.mjs +3 -1
  47. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  48. package/fesm2022/acorex-components-common.mjs +9 -9
  49. package/fesm2022/acorex-components-common.mjs.map +1 -1
  50. package/fesm2022/acorex-components-data-pager.mjs +9 -8
  51. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  52. package/fesm2022/acorex-components-data-table.mjs +5 -6
  53. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  54. package/fesm2022/acorex-components-datetime-box.mjs +7 -6
  55. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  56. package/fesm2022/acorex-components-datetime-input.mjs +1 -1
  57. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  58. package/fesm2022/acorex-components-datetime-picker.mjs +7 -7
  59. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  60. package/fesm2022/acorex-components-dialog.mjs +10 -7
  61. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  62. package/fesm2022/acorex-components-form.mjs +19 -17
  63. package/fesm2022/acorex-components-form.mjs.map +1 -1
  64. package/fesm2022/acorex-components-list.mjs +2 -2
  65. package/fesm2022/acorex-components-list.mjs.map +1 -1
  66. package/fesm2022/acorex-components-number-box.mjs +1 -1
  67. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  68. package/fesm2022/acorex-components-password-box.mjs +3 -3
  69. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  70. package/fesm2022/acorex-components-scheduler.mjs +2 -2
  71. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  72. package/fesm2022/acorex-components-search-box.mjs +16 -17
  73. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  74. package/fesm2022/acorex-components-select-box.mjs +5 -5
  75. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  76. package/fesm2022/acorex-components-text-area.mjs +1 -1
  77. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  78. package/fesm2022/acorex-components-text-box.mjs +1 -1
  79. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  80. package/fesm2022/acorex-components-uploader.mjs +5 -4
  81. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  82. package/form/lib/form.module.d.ts +2 -1
  83. package/form/lib/validation-summary.component.d.ts +1 -0
  84. package/package.json +1 -1
  85. package/search-box/lib/search-box.component.d.ts +2 -4
  86. package/select-box/lib/select-box.component.d.ts +1 -2
  87. package/uploader/lib/uploader-zone.directive.d.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-select-box.mjs","sources":["../../../../libs/components/select-box/src/lib/select-box.component.ts","../../../../libs/components/select-box/src/lib/select-box.component.html","../../../../libs/components/select-box/src/lib/select-box.module.ts","../../../../libs/components/select-box/src/acorex-components-select-box.ts"],"sourcesContent":["import {\n AXClearableComponent,\n AXClosbaleComponent,\n AXComponent,\n AXDataSource,\n AXFocusableComponent,\n AXHotkeysService,\n AXSearchableComponent,\n AXValuableComponent,\n AXValueChangedEvent,\n AX_SELECTION_DATA_TOKEN,\n MXLookComponent,\n MXSelectionBridgeService,\n MXSelectionValueComponent,\n convertArrayToDataSource,\n} from '@acorex/components/common';\nimport { AXDropdownBoxComponent, MXDropdownBoxBaseComponent } from '@acorex/components/dropdown';\nimport { AXListComponent } from '@acorex/components/list';\nimport { AXSearchBoxComponent } from '@acorex/components/search-box';\nimport { AXTranslator } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n inject,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { findLastIndex, last, nth } from 'lodash-es';\nimport { classes } from 'polytype';\nimport { Observable } from 'rxjs';\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-select-box',\n templateUrl: './select-box.component.html',\n styleUrls: ['./select-box.component.scss'],\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'minValue',\n 'maxValue',\n 'value',\n 'state',\n 'name',\n 'id',\n 'type',\n 'look',\n 'multiple',\n 'valueField',\n 'textField',\n ],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'readonlyChange',\n 'disabledChange',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXSelectBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXSelectBoxComponent },\n { provide: AXValuableComponent, useExisting: AXSelectBoxComponent },\n { provide: AXClearableComponent, useExisting: AXSelectBoxComponent },\n { provide: AXClosbaleComponent, useExisting: AXSelectBoxComponent },\n { provide: AXSearchableComponent, useExisting: AXSelectBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXSelectBoxComponent),\n multi: true,\n },\n {\n provide: AX_SELECTION_DATA_TOKEN,\n useClass: MXSelectionBridgeService,\n },\n AXUnsubscriber,\n ],\n})\nexport class AXSelectBoxComponent\n extends classes(MXDropdownBoxBaseComponent, MXSelectionValueComponent, MXLookComponent)\n implements AfterViewInit, OnDestroy {\n private hotKeyService: AXHotkeysService = inject(AXHotkeysService);\n isLoading = false;\n protected renderList = false;\n\n protected dropdownSizes: { width: string; height: string } = { width: '100%', height: 'auto' };\n\n protected _listDataSource: AXDataSource<unknown> = convertArrayToDataSource([], {\n key: this.valueField,\n pageSize: 10,\n });\n\n private _dataSource: AXDataSource<unknown> | unknown[];\n public get dataSource(): AXDataSource<unknown> | unknown[] {\n return this._dataSource;\n }\n @Input()\n public set dataSource(v: AXDataSource<unknown> | unknown[]) {\n this._dataSource = v;\n if (Array.isArray(v)) {\n this._listDataSource = convertArrayToDataSource(v, { key: this.valueField, pageSize: 10 });\n } else {\n this._listDataSource = this.dataSource as AXDataSource<unknown>;\n }\n this._listDataSource.onChanged.subscribe((data) => {\n this.setDropdownSize(data.totalCount);\n });\n }\n\n @Input()\n placeholder: string;\n\n @Input()\n itemTemplate: TemplateRef<unknown>;\n\n @Input()\n emptyTemplate: TemplateRef<unknown>;\n\n @Input()\n loadingTemplate: TemplateRef<unknown>;\n\n @ViewChild('panel') panel!: ElementRef<HTMLDivElement>;\n\n @ViewChild(AXListComponent)\n list: AXListComponent;\n\n @ContentChild(AXSearchBoxComponent, { static: true })\n searchBox: AXSearchBoxComponent;\n\n @ViewChild(AXDropdownBoxComponent, { static: true })\n protected dropdown: AXDropdownBoxComponent;\n\n protected autoHeight = false;\n\n protected defaultActionSheetTitle = AXTranslator.get('selectbox.popover.title');\n\n public selectionService = inject(AX_SELECTION_DATA_TOKEN);\n\n searchEvent: Observable<unknown>;\n\n private _unsubscriber = inject(AXUnsubscriber);\n\n ngAfterViewInit() {\n this.setDropdownSize();\n }\n\n ngOnDestroy(): void {\n this.searchBox?.onKeyDown.unsubscribe();\n }\n\n getItemByKey(key: unknown): Promise<unknown> | unknown {\n return this._listDataSource.find(key);\n }\n\n protected _handleOnOpenedEvent() {\n this.renderList = true;\n this.list?.render();\n this._handleFocus();\n }\n\n protected _handleOnClosedEvent() {\n //this.input.focus();\n this._unsubscriber.unsubscribe();\n }\n\n protected _handleFocus() {\n setTimeout(() => {\n if (this.searchBox) {\n this.searchBox.focus();\n //TODO: unsubscribe\n this.hotKeyService\n .addShortcut({ keys: 'Control.f', element: this.panel.nativeElement })\n .pipe(this._unsubscriber.takeUntilDestroy)\n .subscribe(() => {\n this.searchBox.focus();\n });\n this.searchBox.onKeyDown.pipe(this._unsubscriber.takeUntilDestroy).subscribe((e) => {\n if (e.nativeEvent.code === 'ArrowDown' || e.nativeEvent.key === 'ArrowDown') {\n this.list?.focus();\n e.nativeEvent.preventDefault();\n }\n });\n } else {\n this.list?.focus();\n }\n });\n }\n\n protected _handleBadgeRemove(e: MouseEvent, item) {\n this.unselectItems(item);\n e.stopPropagation();\n }\n\n protected _handleValueChanged(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n this.commitValue(e.component.selectedItems, true);\n }\n }\n\n override internalValueChanged(): void {\n if (!this.multiple) this.close();\n setTimeout(() => {\n this.detectAutoHeight();\n }, 100);\n }\n\n private detectAutoHeight() {\n const containerWidth: number =\n this.getHostElement().querySelector<HTMLDivElement>('.ax-select-box-selection').clientWidth;\n const itemsWidth: number = Array.from(\n this.getHostElement().querySelectorAll<HTMLDivElement>('.ax-selected-token'),\n ).reduce((a, i) => a + i.clientWidth, 0);\n this.autoHeight = containerWidth - itemsWidth <= 8;\n this.dropdown.updatePosition();\n this.cdr.markForCheck();\n }\n\n private setDropdownSize(count = 0) {\n if (this.dropdown.isActionsheetStyle) {\n this.dropdownSizes = {\n width: '100%',\n height: ['auto', '0px'].includes(this.dropdownSizes.height)\n ? `${Math.min(15, count) * 40}px`\n : this.dropdownSizes.height,\n };\n } else {\n //TODO: calc min-with from formula or config\n const hostWidth = Math.max(this.getHostElement().offsetWidth, 200);\n this.dropdownSizes = {\n width: `${hostWidth}px`,\n height: count == 0 ? 'auto' : `${Math.min(5, count) * 40}px`,\n };\n }\n setTimeout(() => {\n this.dropdown.updatePosition();\n });\n }\n\n @HostListener('keydown', ['$event'])\n _handleKeydown(e: KeyboardEvent) {\n if (e.code === 'ArrowDown' || e.code === 'ArrowUp') {\n this.selectItemByNav(e.code === 'ArrowDown' ? 1 : -1);\n e.preventDefault();\n } else if (e.code === 'Backspace') {\n this.unselectItems(this.selectedItems.pop());\n e.preventDefault();\n }\n // if ((e.code === 'Space' || e.code === 'Enter') && this.hasItems) {\n // if (this.readonly || this.disabled) {\n // e.preventDefault();\n // e.stopPropagation();\n // return;\n // }\n // const id = document.activeElement?.closest('li')?.dataset?.id;\n // this.toggleSelect(id);\n // e.preventDefault();\n // e.stopPropagation()\n // }\n }\n\n private selectItemByNav(sign: 1 | -1) {\n if (Array.isArray(this.dataSource) && !this.multiple) {\n const items = this.normalizeItemsList(this.dataSource);\n const _last: unknown = last(this.selectedItems);\n let i = -1;\n if (_last) {\n i = findLastIndex(items, [this.valueField, _last[this.valueField]]);\n }\n i += sign;\n if (i < 0 || i >= items.length) return;\n const next = nth<unknown>(items, i);\n if (next) {\n this.selectItems(next);\n }\n } else {\n this.open();\n }\n }\n\n search(term: string) {\n if (term) {\n this._listDataSource.filter({ field: this.textField, value: term, operator: { type: 'contains' } });\n } else {\n this._listDataSource.clearFilter();\n }\n this._listDataSource.refresh();\n }\n\n refresh() {\n this.clear(false);\n this.clearSelectionCache();\n this.list?.refresh();\n this.close();\n }\n}\n","<ax-dropdown-box [disabled]=\"disabled\" (onOpened)=\"_handleOnOpenedEvent()\" (onClosed)=\"_handleOnClosedEvent()\"\n [look]=\"look\" [class.ax-auto-height]=\"autoHeight\">\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <div class=\"ax-select-box-selection\" [class.ax-multiple]=\"multiple\" [tabindex]=\"tabIndex\"\n (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" (click)=\"toggle()\">\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\" *ngIf=\"selectedItems.length === 0\">\n {{ placeholder }}\n </div>\n <ng-container *ngFor=\"let item of selectedItems\">\n <div class=\"ax-selected-token\">\n {{ getDisplayText(item) }}\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event, item)\" *ngIf=\"multiple\">\n </span>\n </div>\n </ng-container>\n </div>\n <ng-content select=\" ax-clear-button\"></ng-content>\n <button type=\"button\" [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-general-button ax-button-icon\"\n (click)=\"toggle()\">\n <ng-container *ngIf=\"isLoading && !isOpen; else iconTemplate\">\n <ax-loading type=\"spinner\"></ax-loading>\n </ng-container>\n <ng-template #iconTemplate>\n <span class=\"ax-icon ax-icon-chevron-left ax-arrow-button\" [ngClass]=\"{\n '-rotation-90': !isOpen,\n 'rotation-90': isOpen\n }\"></span>\n </ng-template>\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-template #search>\n <ng-content select=\"ax-search-box\"> </ng-content>\n </ng-template>\n </ng-container>\n <ng-container panel>\n <div #panel class=\"ax-select-box-panel\" [style.min-width]=\"dropdownSizes.width\">\n <ax-header class=\"ax-solid\" *ngIf=\"dropdown.isActionsheetStyle\">\n <ax-title>{{ placeholder || defaultActionSheetTitle }}</ax-title>\n <ax-close-button\n [icon]=\"multiple ? 'ax-icon ax-icon-done !ax-text-primary-500' : 'ax-icon ax-icon-close'\"></ax-close-button>\n </ax-header>\n <div class=\"ax-search-container\" *ngIf=\"searchBox\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n </div>\n <ax-list *ngIf=\"renderList\" [dataSource]=\"_listDataSource\" [multiple]=\"multiple\"\n [style.height]=\"dropdownSizes.height\" [valueField]=\"valueField\" [textField]=\"textField\"\n [emptyTemplate]=\"emptyTemplate ?? empty\" [itemTemplate]=\"itemTemplate\" [loadingTemplate]=\"loadingTemplate\"\n [ngModel]=\"value\" (onValueChanged)=\"_handleValueChanged($event)\" [selectionMode]=\"'item'\">\n <ng-template #empty> No Items! </ng-template>\n </ax-list>\n <ng-content select=\"ax-footer\"> </ng-content>\n </div>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { AXCommonModule } from '@acorex/components/common';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXListModule } from '@acorex/components/list';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXSelectBoxComponent } from './select-box.component';\n\n@NgModule({\n imports: [\n CommonModule,\n AXCommonModule,\n FormsModule,\n AXCheckBoxModule,\n AXBadgeModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXPopoverModule,\n AXLoadingModule,\n A11yModule,\n AXTextBoxModule,\n AXDropdownModule,\n AXListModule,\n ],\n exports: [AXSelectBoxComponent],\n declarations: [AXSelectBoxComponent],\n providers: [],\n})\nexport class AXSelectBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-select-box.mjs","sources":["../../../../libs/components/select-box/src/lib/select-box.component.ts","../../../../libs/components/select-box/src/lib/select-box.component.html","../../../../libs/components/select-box/src/lib/select-box.module.ts","../../../../libs/components/select-box/src/acorex-components-select-box.ts"],"sourcesContent":["import {\n AXClearableComponent,\n AXClosbaleComponent,\n AXComponent,\n AXDataSource,\n AXFocusableComponent,\n AXHotkeysService,\n AXSearchableComponent,\n AXValuableComponent,\n AXValueChangedEvent,\n AX_SELECTION_DATA_TOKEN,\n MXLookComponent,\n MXSelectionBridgeService,\n MXSelectionValueComponent,\n convertArrayToDataSource,\n} from '@acorex/components/common';\nimport { AXDropdownBoxComponent, MXDropdownBoxBaseComponent } from '@acorex/components/dropdown';\nimport { AXListComponent } from '@acorex/components/list';\nimport { AXSearchBoxComponent } from '@acorex/components/search-box';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n inject,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { findLastIndex, last, nth } from 'lodash-es';\nimport { classes } from 'polytype';\nimport { Observable } from 'rxjs';\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-select-box',\n templateUrl: './select-box.component.html',\n styleUrls: ['./select-box.component.scss'],\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'minValue',\n 'maxValue',\n 'value',\n 'state',\n 'name',\n 'id',\n 'type',\n 'look',\n 'multiple',\n 'valueField',\n 'textField',\n ],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'readonlyChange',\n 'disabledChange',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXSelectBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXSelectBoxComponent },\n { provide: AXValuableComponent, useExisting: AXSelectBoxComponent },\n { provide: AXClearableComponent, useExisting: AXSelectBoxComponent },\n { provide: AXClosbaleComponent, useExisting: AXSelectBoxComponent },\n { provide: AXSearchableComponent, useExisting: AXSelectBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXSelectBoxComponent),\n multi: true,\n },\n {\n provide: AX_SELECTION_DATA_TOKEN,\n useClass: MXSelectionBridgeService,\n },\n AXUnsubscriber,\n ],\n})\nexport class AXSelectBoxComponent\n extends classes(MXDropdownBoxBaseComponent, MXSelectionValueComponent, MXLookComponent)\n implements AfterViewInit, OnDestroy {\n private hotKeyService: AXHotkeysService = inject(AXHotkeysService);\n isLoading = false;\n protected renderList = false;\n\n protected dropdownSizes: { width: string; height: string } = { width: '100%', height: 'auto' };\n\n protected _listDataSource: AXDataSource<unknown> = convertArrayToDataSource([], {\n key: this.valueField,\n pageSize: 10,\n });\n\n private _dataSource: AXDataSource<unknown> | unknown[];\n public get dataSource(): AXDataSource<unknown> | unknown[] {\n return this._dataSource;\n }\n @Input()\n public set dataSource(v: AXDataSource<unknown> | unknown[]) {\n this._dataSource = v;\n if (Array.isArray(v)) {\n this._listDataSource = convertArrayToDataSource(v, { key: this.valueField, pageSize: 10 });\n } else {\n this._listDataSource = this.dataSource as AXDataSource<unknown>;\n }\n this._listDataSource.onChanged.subscribe((data) => {\n this.setDropdownSize(data.totalCount);\n });\n }\n\n @Input()\n placeholder: string;\n\n @Input()\n itemTemplate: TemplateRef<unknown>;\n\n @Input()\n emptyTemplate: TemplateRef<unknown>;\n\n @Input()\n loadingTemplate: TemplateRef<unknown>;\n\n @ViewChild('panel') panel!: ElementRef<HTMLDivElement>;\n\n @ViewChild(AXListComponent)\n list: AXListComponent;\n\n @ContentChild(AXSearchBoxComponent, { static: true })\n searchBox: AXSearchBoxComponent;\n\n @ViewChild(AXDropdownBoxComponent, { static: true })\n protected dropdown: AXDropdownBoxComponent;\n\n protected autoHeight = false;\n\n\n public selectionService = inject(AX_SELECTION_DATA_TOKEN);\n\n searchEvent: Observable<unknown>;\n\n private _unsubscriber = inject(AXUnsubscriber);\n\n ngAfterViewInit() {\n this.setDropdownSize();\n }\n\n ngOnDestroy(): void {\n this.searchBox?.onKeyDown.unsubscribe();\n }\n\n getItemByKey(key: unknown): Promise<unknown> | unknown {\n return this._listDataSource.find(key);\n }\n\n protected _handleOnOpenedEvent() {\n this.renderList = true;\n this.list?.render();\n this._handleFocus();\n }\n\n protected _handleOnClosedEvent() {\n //this.input.focus();\n this._unsubscriber.unsubscribe();\n }\n\n protected _handleFocus() {\n setTimeout(() => {\n if (this.searchBox) {\n this.searchBox.focus();\n //TODO: unsubscribe\n this.hotKeyService\n .addShortcut({ keys: 'Control.f', element: this.panel.nativeElement })\n .pipe(this._unsubscriber.takeUntilDestroy)\n .subscribe(() => {\n this.searchBox.focus();\n });\n this.searchBox.onKeyDown.pipe(this._unsubscriber.takeUntilDestroy).subscribe((e) => {\n if (e.nativeEvent.code === 'ArrowDown' || e.nativeEvent.key === 'ArrowDown') {\n this.list?.focus();\n e.nativeEvent.preventDefault();\n }\n });\n } else {\n this.list?.focus();\n }\n });\n }\n\n protected _handleBadgeRemove(e: MouseEvent, item) {\n this.unselectItems(item);\n e.stopPropagation();\n }\n\n protected _handleValueChanged(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n this.commitValue(e.component.selectedItems, true);\n }\n }\n\n override internalValueChanged(): void {\n if (!this.multiple) this.close();\n setTimeout(() => {\n this.detectAutoHeight();\n }, 100);\n }\n\n private detectAutoHeight() {\n const containerWidth: number =\n this.getHostElement().querySelector<HTMLDivElement>('.ax-select-box-selection').clientWidth;\n const itemsWidth: number = Array.from(\n this.getHostElement().querySelectorAll<HTMLDivElement>('.ax-selected-token'),\n ).reduce((a, i) => a + i.clientWidth, 0);\n this.autoHeight = containerWidth - itemsWidth <= 8;\n this.dropdown.updatePosition();\n this.cdr.markForCheck();\n }\n\n private setDropdownSize(count = 0) {\n if (this.dropdown.isActionsheetStyle) {\n this.dropdownSizes = {\n width: '100%',\n height: ['auto', '0px'].includes(this.dropdownSizes.height)\n ? `${Math.min(15, count) * 40}px`\n : this.dropdownSizes.height,\n };\n } else {\n //TODO: calc min-with from formula or config\n const hostWidth = Math.max(this.getHostElement().offsetWidth, 200);\n this.dropdownSizes = {\n width: `${hostWidth}px`,\n height: count == 0 ? 'auto' : `${Math.min(5, count) * 40}px`,\n };\n }\n setTimeout(() => {\n this.dropdown.updatePosition();\n });\n }\n\n @HostListener('keydown', ['$event'])\n _handleKeydown(e: KeyboardEvent) {\n if (e.code === 'ArrowDown' || e.code === 'ArrowUp') {\n this.selectItemByNav(e.code === 'ArrowDown' ? 1 : -1);\n e.preventDefault();\n } else if (e.code === 'Backspace') {\n this.unselectItems(this.selectedItems.pop());\n e.preventDefault();\n }\n // if ((e.code === 'Space' || e.code === 'Enter') && this.hasItems) {\n // if (this.readonly || this.disabled) {\n // e.preventDefault();\n // e.stopPropagation();\n // return;\n // }\n // const id = document.activeElement?.closest('li')?.dataset?.id;\n // this.toggleSelect(id);\n // e.preventDefault();\n // e.stopPropagation()\n // }\n }\n\n private selectItemByNav(sign: 1 | -1) {\n if (Array.isArray(this.dataSource) && !this.multiple) {\n const items = this.normalizeItemsList(this.dataSource);\n const _last: unknown = last(this.selectedItems);\n let i = -1;\n if (_last) {\n i = findLastIndex(items, [this.valueField, _last[this.valueField]]);\n }\n i += sign;\n if (i < 0 || i >= items.length) return;\n const next = nth<unknown>(items, i);\n if (next) {\n this.selectItems(next);\n }\n } else {\n this.open();\n }\n }\n\n search(term: string) {\n if (term) {\n this._listDataSource.filter({ field: this.textField, value: term, operator: { type: 'contains' } });\n } else {\n this._listDataSource.clearFilter();\n }\n this._listDataSource.refresh();\n }\n\n refresh() {\n this.clear(false);\n this.clearSelectionCache();\n this.list?.refresh();\n this.close();\n }\n}\n","<ax-dropdown-box [disabled]=\"disabled\" (onOpened)=\"_handleOnOpenedEvent()\" (onClosed)=\"_handleOnClosedEvent()\"\n [look]=\"look\" [class.ax-auto-height]=\"autoHeight\">\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <div class=\"ax-select-box-selection\" [class.ax-multiple]=\"multiple\" [tabindex]=\"tabIndex\"\n (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" (click)=\"toggle()\">\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\" *ngIf=\"selectedItems.length === 0\">\n {{ placeholder }}\n </div>\n <ng-container *ngFor=\"let item of selectedItems\">\n <div class=\"ax-selected-token\">\n {{ getDisplayText(item) }}\n @if(!disabled && !readonly)\n {\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event, item)\" *ngIf=\"multiple\">\n </span>\n }\n </div>\n </ng-container>\n </div>\n @if(selectedItems?.length && !disabled && !readonly)\n {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-general-button ax-button-icon\"\n (click)=\"toggle()\">\n <ng-container *ngIf=\"isLoading && !isOpen; else iconTemplate\">\n <ax-loading type=\"spinner\"></ax-loading>\n </ng-container>\n <ng-template #iconTemplate>\n <span class=\"ax-icon ax-icon-chevron-left ax-arrow-button\" [ngClass]=\"{\n '-rotation-90': !isOpen,\n 'rotation-90': isOpen\n }\"></span>\n </ng-template>\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-template #search>\n <ng-content select=\"ax-search-box\"> </ng-content>\n </ng-template>\n </ng-container>\n <ng-container panel>\n <div #panel class=\"ax-select-box-panel\" [style.min-width]=\"dropdownSizes.width\">\n <ax-header class=\"ax-solid\" *ngIf=\"dropdown.isActionsheetStyle\">\n <ax-title>{{ placeholder || 'selectbox.popover.title' | translate }}</ax-title>\n <ax-close-button\n [icon]=\"multiple ? 'ax-icon ax-icon-done !ax-text-primary-500' : 'ax-icon ax-icon-close'\"></ax-close-button>\n </ax-header>\n <div class=\"ax-search-container\" *ngIf=\"searchBox\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n </div>\n <ax-list *ngIf=\"renderList\" [dataSource]=\"_listDataSource\" [multiple]=\"multiple\"\n [style.height]=\"dropdownSizes.height\" [valueField]=\"valueField\" [textField]=\"textField\"\n [emptyTemplate]=\"emptyTemplate ?? empty\" [itemTemplate]=\"itemTemplate\" [loadingTemplate]=\"loadingTemplate\"\n [ngModel]=\"value\" (onValueChanged)=\"_handleValueChanged($event)\" [selectionMode]=\"'item'\">\n <ng-template #empty> No Items! </ng-template>\n </ax-list>\n <ng-content select=\"ax-footer\"> </ng-content>\n </div>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { AXCommonModule } from '@acorex/components/common';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXListModule } from '@acorex/components/list';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXSelectBoxComponent } from './select-box.component';\n\n@NgModule({\n imports: [\n CommonModule,\n AXCommonModule,\n FormsModule,\n AXCheckBoxModule,\n AXBadgeModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXPopoverModule,\n AXLoadingModule,\n A11yModule,\n AXTextBoxModule,\n AXDropdownModule,\n AXListModule,\n ],\n exports: [AXSelectBoxComponent],\n declarations: [AXSelectBoxComponent],\n providers: [],\n})\nexport class AXSelectBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA;;;;AAIG;AAoDG,MAAO,oBACX,SAAQ,OAAO,CAAC,0BAA0B,EAAE,yBAAyB,EAAE,eAAe,CAAC,CAAA;AApDzF,IAAA,WAAA,GAAA;;AAsDU,QAAA,IAAA,CAAA,aAAa,GAAqB,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACnE,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QACR,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QAEnB,IAAa,CAAA,aAAA,GAAsC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAErF,QAAA,IAAA,CAAA,eAAe,GAA0B,wBAAwB,CAAC,EAAE,EAAE;YAC9E,GAAG,EAAE,IAAI,CAAC,UAAU;AACpB,YAAA,QAAQ,EAAE,EAAE;AACb,SAAA,CAAC,CAAC;QA0CO,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AAGtB,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAIlD,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AA0JhD,KAAA;AAxMC,IAAA,IAAW,UAAU,GAAA;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;IACD,IACW,UAAU,CAAC,CAAoC,EAAA;AACxD,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;AACrB,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AACpB,YAAA,IAAI,CAAC,eAAe,GAAG,wBAAwB,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5F,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAmC,CAAC;AACjE,SAAA;QACD,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;AAChD,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACxC,SAAC,CAAC,CAAC;KACJ;IAkCD,eAAe,GAAA;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC;KACzC;AAED,IAAA,YAAY,CAAC,GAAY,EAAA;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACvC;IAES,oBAAoB,GAAA;AAC5B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;IAES,oBAAoB,GAAA;;AAE5B,QAAA,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;KAClC;IAES,YAAY,GAAA;QACpB,UAAU,CAAC,MAAK;YACd,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;;AAEvB,gBAAA,IAAI,CAAC,aAAa;AACf,qBAAA,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;AACrE,qBAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC;qBACzC,SAAS,CAAC,MAAK;AACd,oBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AACzB,iBAAC,CAAC,CAAC;AACL,gBAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;AACjF,oBAAA,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,WAAW,EAAE;AAC3E,wBAAA,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AACnB,wBAAA,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;AAChC,qBAAA;AACH,iBAAC,CAAC,CAAC;AACJ,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AACpB,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;IAES,kBAAkB,CAAC,CAAa,EAAE,IAAI,EAAA;AAC9C,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,eAAe,EAAE,CAAC;KACrB;AAES,IAAA,mBAAmB,CAAC,CAAsB,EAAA;QAClD,IAAI,CAAC,CAAC,iBAAiB,EAAE;YACvB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AACnD,SAAA;KACF;IAEQ,oBAAoB,GAAA;QAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB,EAAE,GAAG,CAAC,CAAC;KACT;IAEO,gBAAgB,GAAA;AACtB,QAAA,MAAM,cAAc,GAClB,IAAI,CAAC,cAAc,EAAE,CAAC,aAAa,CAAiB,0BAA0B,CAAC,CAAC,WAAW,CAAC;AAC9F,QAAA,MAAM,UAAU,GAAW,KAAK,CAAC,IAAI,CACnC,IAAI,CAAC,cAAc,EAAE,CAAC,gBAAgB,CAAiB,oBAAoB,CAAC,CAC7E,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,cAAc,GAAG,UAAU,IAAI,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;IAEO,eAAe,CAAC,KAAK,GAAG,CAAC,EAAA;AAC/B,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;YACpC,IAAI,CAAC,aAAa,GAAG;AACnB,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;AACzD,sBAAE,CAAA,EAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,CAAI,EAAA,CAAA;AACjC,sBAAE,IAAI,CAAC,aAAa,CAAC,MAAM;aAC9B,CAAC;AACH,SAAA;AAAM,aAAA;;AAEL,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YACnE,IAAI,CAAC,aAAa,GAAG;gBACnB,KAAK,EAAE,CAAG,EAAA,SAAS,CAAI,EAAA,CAAA;gBACvB,MAAM,EAAE,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAI,EAAA,CAAA;aAC7D,CAAC;AACH,SAAA;QACD,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;AACjC,SAAC,CAAC,CAAC;KACJ;AAGD,IAAA,cAAc,CAAC,CAAgB,EAAA;QAC7B,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;AAClD,YAAA,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,cAAc,EAAE,CAAC;AACpB,SAAA;AAAM,aAAA,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE;YACjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;YAC7C,CAAC,CAAC,cAAc,EAAE,CAAC;AACpB,SAAA;;;;;;;;;;;;KAYF;AAEO,IAAA,eAAe,CAAC,IAAY,EAAA;AAClC,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACpD,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvD,MAAM,KAAK,GAAY,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAChD,YAAA,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACX,YAAA,IAAI,KAAK,EAAE;AACT,gBAAA,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACrE,aAAA;YACD,CAAC,IAAI,IAAI,CAAC;YACV,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO;YACvC,MAAM,IAAI,GAAG,GAAG,CAAU,KAAK,EAAE,CAAC,CAAC,CAAC;AACpC,YAAA,IAAI,IAAI,EAAE;AACR,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACxB,aAAA;AACF,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,IAAI,EAAE,CAAC;AACb,SAAA;KACF;AAED,IAAA,MAAM,CAAC,IAAY,EAAA;AACjB,QAAA,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;AACrG,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;AACpC,SAAA;AACD,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;KAChC;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;8GAtNU,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAnBpB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE;AAC3D,YAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE;AACpE,YAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,oBAAoB,EAAE;AACnE,YAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE;AACpE,YAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,oBAAoB,EAAE;AACnE,YAAA,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,oBAAoB,EAAE;AACrE,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACnD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,uBAAuB;AAChC,gBAAA,QAAQ,EAAE,wBAAwB;AACnC,aAAA;YACD,cAAc;AACf,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAkDa,oBAAoB,EAHvB,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,eAAe,EAMf,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,sBAAsB,qFCnJnC,+hGA6DsD,EAAA,MAAA,EAAA,CAAA,y1DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,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,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,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,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,gJAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,wBAAA,CAAA,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;;2FDmCzC,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAnDhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAGjB,MAAA,EAAA;wBACN,UAAU;wBACV,UAAU;wBACV,UAAU;wBACV,aAAa;wBACb,UAAU;wBACV,UAAU;wBACV,OAAO;wBACP,OAAO;wBACP,MAAM;wBACN,IAAI;wBACJ,MAAM;wBACN,MAAM;wBACN,UAAU;wBACV,YAAY;wBACZ,WAAW;qBACZ,EACQ,OAAA,EAAA;wBACP,aAAa;wBACb,aAAa;wBACb,gBAAgB;wBAChB,QAAQ;wBACR,SAAS;wBACT,gBAAgB;wBAChB,gBAAgB;AACjB,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAC1B,SAAA,EAAA;AACT,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,sBAAsB,EAAE;AAC3D,wBAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,sBAAsB,EAAE;AACpE,wBAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,sBAAsB,EAAE;AACnE,wBAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,sBAAsB,EAAE;AACpE,wBAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,sBAAsB,EAAE;AACnE,wBAAA,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,sBAAsB,EAAE;AACrE,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;AACnD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,uBAAuB;AAChC,4BAAA,QAAQ,EAAE,wBAAwB;AACnC,yBAAA;wBACD,cAAc;AACf,qBAAA,EAAA,QAAA,EAAA,+hGAAA,EAAA,MAAA,EAAA,CAAA,y1DAAA,CAAA,EAAA,CAAA;8BAqBU,UAAU,EAAA,CAAA;sBADpB,KAAK;gBAcN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAIN,YAAY,EAAA,CAAA;sBADX,KAAK;gBAIN,aAAa,EAAA,CAAA;sBADZ,KAAK;gBAIN,eAAe,EAAA,CAAA;sBADd,KAAK;gBAGc,KAAK,EAAA,CAAA;sBAAxB,SAAS;uBAAC,OAAO,CAAA;gBAGlB,IAAI,EAAA,CAAA;sBADH,SAAS;uBAAC,eAAe,CAAA;gBAI1B,SAAS,EAAA,CAAA;sBADR,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,oBAAoB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAI1C,QAAQ,EAAA,CAAA;sBADjB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,sBAAsB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBA6GnD,cAAc,EAAA,CAAA;sBADb,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAA;;;ME1NxB,iBAAiB,CAAA;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAjB,iBAAiB,EAAA,YAAA,EAAA,CAHb,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAfjC,YAAY;YACZ,cAAc;YACd,WAAW;YACX,gBAAgB;YAChB,aAAa;YACb,iBAAiB;YACjB,mBAAmB;YACnB,eAAe;YACf,eAAe;YACf,UAAU;YACV,eAAe;YACf,gBAAgB;AAChB,YAAA,YAAY,aAEJ,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;AAInB,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,iBAAiB,YAlB1B,YAAY;YACZ,cAAc;YACd,WAAW;YACX,gBAAgB;YAChB,aAAa;YACb,iBAAiB;YACjB,mBAAmB;YACnB,eAAe;YACf,eAAe;YACf,UAAU;YACV,eAAe;YACf,gBAAgB;YAChB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAMH,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBApB7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,cAAc;wBACd,WAAW;wBACX,gBAAgB;wBAChB,aAAa;wBACb,iBAAiB;wBACjB,mBAAmB;wBACnB,eAAe;wBACf,eAAe;wBACf,UAAU;wBACV,eAAe;wBACf,gBAAgB;wBAChB,YAAY;AACb,qBAAA;oBACD,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,YAAY,EAAE,CAAC,oBAAoB,CAAC;AACpC,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;ACpCD;;AAEG;;;;"}
@@ -17,7 +17,7 @@ class AXTextAreaComponent extends classes((MXInputBaseValueComponent), MXLookCom
17
17
  this.commitValue(value, true);
18
18
  }
19
19
  get __hostClass() {
20
- return `ax-editor-container ax-look-${this.look}`;
20
+ return `ax-editor-container ax-look-${this.look} ${this.disabled ? 'ax-state-disabled' : ''}`;
21
21
  }
22
22
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTextAreaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
23
23
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: AXTextAreaComponent, selector: "ax-text-area", inputs: { disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", value: "value", state: "state", name: "name", placeholder: "placeholder", maxLength: "maxLength", look: "look", rows: "rows", allowResize: "allowResize", showCounter: "showCounter" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", readonlyChange: "readonlyChange", disabledChange: "disabledChange", onKeyDown: "onKeyDown", onKeyUp: "onKeyUp", onKeyPress: "onKeyPress" }, host: { properties: { "class": "this.__hostClass" } }, providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-text-area.mjs","sources":["../../../../libs/components/text-area/src/lib/text-area.component.ts","../../../../libs/components/text-area/src/lib/text-area.component.html","../../../../libs/components/text-area/src/lib/text-area.module.ts","../../../../libs/components/text-area/src/acorex-components-text-area.ts"],"sourcesContent":["import {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\n\n@Component({\n selector: 'ax-text-area',\n templateUrl: './text-area.component.html',\n styleUrls: ['./text-area.component.scss'],\n inputs: ['disabled', 'tabIndex', 'readonly', 'value', 'state', 'name', 'placeholder', 'maxLength', 'look'],\n outputs: [\n 'onBlur',\n 'onFocus',\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'readonlyChange',\n 'disabledChange',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXComponent, useExisting: AXTextAreaComponent },\n { provide: AXFocusableComponent, useExisting: AXTextAreaComponent },\n { provide: AXClearableComponent, useExisting: AXTextAreaComponent },\n { provide: AXValuableComponent, useExisting: AXTextAreaComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXTextAreaComponent),\n multi: true,\n },\n ],\n})\nexport class AXTextAreaComponent extends classes(MXInputBaseValueComponent<string>, MXLookComponent) {\n @ViewChild('input')\n input: ElementRef<HTMLInputElement>;\n\n @Input()\n rows = 0;\n\n @Input()\n allowResize = true;\n\n @Input()\n public showCounter: boolean;\n\n @Input()\n public maxLength: number;\n\n protected _handleModelChange(value: string | null) {\n this.commitValue(value, true);\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-editor-container ax-look-${this.look}`;\n }\n}\n","<textarea #input [id]=\"id\" [name]=\"name\" type=\"text\" [rows]=\"rows\" [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength\" [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\"\n [class.ax-state-no-resizing]=\"!allowResize\" [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\"\n [ngModel]=\"value\" (ngModelChange)=\"_handleModelChange($event)\" (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\" (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\">\n</textarea>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"counter\" *ngIf=\"showCounter\">\n {{ input.value.length }} <span *ngIf=\"maxLength\">/ {{ maxLength }}</span>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXTextAreaComponent } from './text-area.component';\n\n@NgModule({\n declarations: [AXTextAreaComponent],\n imports: [CommonModule, FormsModule],\n exports: [AXTextAreaComponent],\n})\nexport class AXTextAreaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-text-area.mjs","sources":["../../../../libs/components/text-area/src/lib/text-area.component.ts","../../../../libs/components/text-area/src/lib/text-area.component.html","../../../../libs/components/text-area/src/lib/text-area.module.ts","../../../../libs/components/text-area/src/acorex-components-text-area.ts"],"sourcesContent":["import {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\n\n@Component({\n selector: 'ax-text-area',\n templateUrl: './text-area.component.html',\n styleUrls: ['./text-area.component.scss'],\n inputs: ['disabled', 'tabIndex', 'readonly', 'value', 'state', 'name', 'placeholder', 'maxLength', 'look'],\n outputs: [\n 'onBlur',\n 'onFocus',\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'readonlyChange',\n 'disabledChange',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXComponent, useExisting: AXTextAreaComponent },\n { provide: AXFocusableComponent, useExisting: AXTextAreaComponent },\n { provide: AXClearableComponent, useExisting: AXTextAreaComponent },\n { provide: AXValuableComponent, useExisting: AXTextAreaComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXTextAreaComponent),\n multi: true,\n },\n ],\n})\nexport class AXTextAreaComponent extends classes(MXInputBaseValueComponent<string>, MXLookComponent) {\n @ViewChild('input')\n input: ElementRef<HTMLInputElement>;\n\n @Input()\n rows = 0;\n\n @Input()\n allowResize = true;\n\n @Input()\n public showCounter: boolean;\n\n @Input()\n public maxLength: number;\n\n protected _handleModelChange(value: string | null) {\n this.commitValue(value, true);\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-editor-container ax-look-${this.look} ${this.disabled ? 'ax-state-disabled' : ''}`;\n }\n}\n","<textarea #input [id]=\"id\" [name]=\"name\" type=\"text\" [rows]=\"rows\" [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength\" [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\"\n [class.ax-state-no-resizing]=\"!allowResize\" [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\"\n [ngModel]=\"value\" (ngModelChange)=\"_handleModelChange($event)\" (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\" (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\">\n</textarea>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"counter\" *ngIf=\"showCounter\">\n {{ input.value.length }} <span *ngIf=\"maxLength\">/ {{ maxLength }}</span>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXTextAreaComponent } from './text-area.component';\n\n@NgModule({\n declarations: [AXTextAreaComponent],\n imports: [CommonModule, FormsModule],\n exports: [AXTextAreaComponent],\n})\nexport class AXTextAreaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -74,7 +74,7 @@ class AXTextBoxComponent extends classes((MXInputBaseValueComponent), MXLookComp
74
74
  this.commitValue(value, true);
75
75
  }
76
76
  get __hostClass() {
77
- return `ax-editor-container ax-look-${this.look}`;
77
+ return `ax-editor-container ax-look-${this.look} ${this.disabled ? 'ax-state-disabled' : ''}`;
78
78
  }
79
79
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXTextBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
80
80
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: AXTextBoxComponent, selector: "ax-text-box", inputs: { disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", value: "value", state: "state", name: "name", id: "id", placeholder: "placeholder", maxLength: "maxLength", allowNull: "allowNull", type: "type", autoComplete: "autoComplete", look: "look", maskOptions: ["mask-options", "maskOptions"] }, outputs: { onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", readonlyChange: "readonlyChange", disabledChange: "disabledChange", onKeyDown: "onKeyDown", onKeyUp: "onKeyUp", onKeyPress: "onKeyPress" }, host: { properties: { "class": "this.__hostClass" } }, providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-text-box.mjs","sources":["../../../../libs/components/text-box/src/lib/mask-options.directive.ts","../../../../libs/components/text-box/src/lib/text-box.component.ts","../../../../libs/components/text-box/src/lib/text-box.component.html","../../../../libs/components/text-box/src/lib/text-box.module.ts","../../../../libs/components/text-box/src/acorex-components-text-box.ts"],"sourcesContent":["import { Directive, Input } from '@angular/core';\nimport { MaskedOptions } from 'imask';\n\nexport type AXMaskOptions = MaskedOptions | any;\n\nexport interface AXMaskOptionsInterface {\n mask: MaskedOptions | string | RegExp;\n updateValue?: (masked: string, unmasked: string) => void;\n}\n\n@Directive({\n selector: 'ax-mask-options',\n})\nexport class AXMaskOptionsDirective implements AXMaskOptionsInterface {\n @Input()\n mask: MaskedOptions | string | RegExp;\n\n @Input()\n updateValue?: (masked: string, unmasked: string) => void;\n}\n","import {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n Input,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport IMask, { InputMask } from 'imask';\nimport { classes } from 'polytype';\nimport { AXMaskOptions, AXMaskOptionsDirective } from './mask-options.directive';\n\n/**\n * The Textbox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-text-box',\n templateUrl: 'text-box.component.html',\n inputs: [\n 'disabled',\n 'tabIndex',\n 'readonly',\n 'value',\n 'state',\n 'name',\n 'id',\n 'placeholder',\n 'maxLength',\n 'allowNull',\n 'type',\n 'autoComplete',\n 'look',\n ],\n outputs: [\n 'onBlur',\n 'onFocus',\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'readonlyChange',\n 'disabledChange',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXComponent, useExisting: AXTextBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXTextBoxComponent },\n { provide: AXClearableComponent, useExisting: AXTextBoxComponent },\n { provide: AXValuableComponent, useExisting: AXTextBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXTextBoxComponent),\n multi: true,\n },\n ],\n})\nexport class AXTextBoxComponent\n extends classes(MXInputBaseValueComponent<string>, MXLookComponent)\n implements AfterContentInit\n{\n protected _updateOn: 'change' | 'blur' | 'submit' = 'change';\n\n @ViewChild('input', { static: true })\n private input: ElementRef<HTMLInputElement>;\n\n private _maskObj: InputMask<any>;\n\n private _maskOptions: AXMaskOptions = { mask: null };\n @Input('mask-options')\n public get maskOptions(): AXMaskOptions {\n return this._maskOptions;\n }\n\n public set maskOptions(value: AXMaskOptions) {\n this._maskOptions = value;\n }\n\n @Input()\n maxLength: number;\n\n @Input()\n type: string;\n\n @Input()\n autoComplete: string;\n\n @ContentChild(AXMaskOptionsDirective, { static: true })\n protected _maskOptionsContent: AXMaskOptionsDirective;\n\n ngAfterContentInit() {\n if (this._maskOptionsContent?.mask) {\n if (\n typeof this._maskOptionsContent.mask == 'string' ||\n this._maskOptionsContent.mask instanceof RegExp\n ) {\n Object.assign(this.maskOptions, { mask: this._maskOptionsContent.mask, unmask: false });\n }\n if (typeof this._maskOptionsContent.mask == 'object') {\n Object.assign(this.maskOptions, this._maskOptionsContent.mask);\n }\n }\n //\n if (this.maskOptions?.mask) {\n this._maskObj = IMask(this.input.nativeElement, this.maskOptions);\n this._updateOn = 'submit';\n this._maskObj.on('accept', this._onComplete.bind(this));\n this._maskObj.on('complete', this._onComplete.bind(this));\n if (this.value) {\n this._maskObj.value = `${this.value}`;\n this._maskObj.updateValue();\n }\n }\n }\n\n private _onComplete(e: InputEvent) {\n this.commitValue(this._maskObj.value, e?.isTrusted ?? false);\n if (typeof this._maskOptionsContent?.updateValue === 'function') {\n this._maskOptionsContent?.updateValue(this._maskObj.value, this._maskObj.unmaskedValue);\n }\n }\n\n protected _handleModelChange(value: string | null) {\n this.commitValue(value, true);\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-editor-container ax-look-${this.look}`;\n }\n}\n","<ng-content select=\"ax-prefix\"> </ng-content>\n<input\n #input\n class=\"ax-input\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.autocomplete]=\"autoComplete\"\n [attr.type]=\"type\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n/>\n<ng-content select=\"ax-clear-button\" *ngIf=\"input.value && !disabled && !readonly\"></ng-content>\n<ng-content select=\"ax-suffix\"> </ng-content>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXMaskOptionsDirective } from './mask-options.directive';\nimport { AXTextBoxComponent } from './text-box.component';\n\n@NgModule({\n imports: [CommonModule, AXCommonModule, FormsModule, AXButtonModule, AXDecoratorModule],\n exports: [AXTextBoxComponent, AXMaskOptionsDirective],\n declarations: [AXTextBoxComponent, AXMaskOptionsDirective],\n providers: [],\n})\nexport class AXTextBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-text-box.mjs","sources":["../../../../libs/components/text-box/src/lib/mask-options.directive.ts","../../../../libs/components/text-box/src/lib/text-box.component.ts","../../../../libs/components/text-box/src/lib/text-box.component.html","../../../../libs/components/text-box/src/lib/text-box.module.ts","../../../../libs/components/text-box/src/acorex-components-text-box.ts"],"sourcesContent":["import { Directive, Input } from '@angular/core';\nimport { MaskedOptions } from 'imask';\n\nexport type AXMaskOptions = MaskedOptions | any;\n\nexport interface AXMaskOptionsInterface {\n mask: MaskedOptions | string | RegExp;\n updateValue?: (masked: string, unmasked: string) => void;\n}\n\n@Directive({\n selector: 'ax-mask-options',\n})\nexport class AXMaskOptionsDirective implements AXMaskOptionsInterface {\n @Input()\n mask: MaskedOptions | string | RegExp;\n\n @Input()\n updateValue?: (masked: string, unmasked: string) => void;\n}\n","import {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n Input,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport IMask, { InputMask } from 'imask';\nimport { classes } from 'polytype';\nimport { AXMaskOptions, AXMaskOptionsDirective } from './mask-options.directive';\n\n/**\n * The Textbox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-text-box',\n templateUrl: 'text-box.component.html',\n inputs: [\n 'disabled',\n 'tabIndex',\n 'readonly',\n 'value',\n 'state',\n 'name',\n 'id',\n 'placeholder',\n 'maxLength',\n 'allowNull',\n 'type',\n 'autoComplete',\n 'look',\n ],\n outputs: [\n 'onBlur',\n 'onFocus',\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'readonlyChange',\n 'disabledChange',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXComponent, useExisting: AXTextBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXTextBoxComponent },\n { provide: AXClearableComponent, useExisting: AXTextBoxComponent },\n { provide: AXValuableComponent, useExisting: AXTextBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXTextBoxComponent),\n multi: true,\n },\n ],\n})\nexport class AXTextBoxComponent\n extends classes(MXInputBaseValueComponent<string>, MXLookComponent)\n implements AfterContentInit\n{\n protected _updateOn: 'change' | 'blur' | 'submit' = 'change';\n\n @ViewChild('input', { static: true })\n private input: ElementRef<HTMLInputElement>;\n\n private _maskObj: InputMask<any>;\n\n private _maskOptions: AXMaskOptions = { mask: null };\n @Input('mask-options')\n public get maskOptions(): AXMaskOptions {\n return this._maskOptions;\n }\n\n public set maskOptions(value: AXMaskOptions) {\n this._maskOptions = value;\n }\n\n @Input()\n maxLength: number;\n\n @Input()\n type: string;\n\n @Input()\n autoComplete: string;\n\n @ContentChild(AXMaskOptionsDirective, { static: true })\n protected _maskOptionsContent: AXMaskOptionsDirective;\n\n ngAfterContentInit() {\n if (this._maskOptionsContent?.mask) {\n if (\n typeof this._maskOptionsContent.mask == 'string' ||\n this._maskOptionsContent.mask instanceof RegExp\n ) {\n Object.assign(this.maskOptions, { mask: this._maskOptionsContent.mask, unmask: false });\n }\n if (typeof this._maskOptionsContent.mask == 'object') {\n Object.assign(this.maskOptions, this._maskOptionsContent.mask);\n }\n }\n //\n if (this.maskOptions?.mask) {\n this._maskObj = IMask(this.input.nativeElement, this.maskOptions);\n this._updateOn = 'submit';\n this._maskObj.on('accept', this._onComplete.bind(this));\n this._maskObj.on('complete', this._onComplete.bind(this));\n if (this.value) {\n this._maskObj.value = `${this.value}`;\n this._maskObj.updateValue();\n }\n }\n }\n\n private _onComplete(e: InputEvent) {\n this.commitValue(this._maskObj.value, e?.isTrusted ?? false);\n if (typeof this._maskOptionsContent?.updateValue === 'function') {\n this._maskOptionsContent?.updateValue(this._maskObj.value, this._maskObj.unmaskedValue);\n }\n }\n\n protected _handleModelChange(value: string | null) {\n this.commitValue(value, true);\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-editor-container ax-look-${this.look} ${this.disabled ? 'ax-state-disabled' : ''}`;\n }\n}\n","<ng-content select=\"ax-prefix\"> </ng-content>\n<input\n #input\n class=\"ax-input\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.autocomplete]=\"autoComplete\"\n [attr.type]=\"type\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n/>\n<ng-content select=\"ax-clear-button\" *ngIf=\"input.value && !disabled && !readonly\"></ng-content>\n<ng-content select=\"ax-suffix\"> </ng-content>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXMaskOptionsDirective } from './mask-options.directive';\nimport { AXTextBoxComponent } from './text-box.component';\n\n@NgModule({\n imports: [CommonModule, AXCommonModule, FormsModule, AXButtonModule, AXDecoratorModule],\n exports: [AXTextBoxComponent, AXMaskOptionsDirective],\n declarations: [AXTextBoxComponent, AXMaskOptionsDirective],\n providers: [],\n})\nexport class AXTextBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { signal, inject, Injectable, Directive, Input, HostBinding, ElementRef, Component, ViewEncapsulation, NgModule } from '@angular/core';
3
3
  import { AXFileService, AXFileModule } from '@acorex/core/file';
4
4
  import * as i3 from '@acorex/core/translation';
5
- import { AXTranslator, AXTranslationModule } from '@acorex/core/translation';
5
+ import { AXTranslationService, AXTranslationModule } from '@acorex/core/translation';
6
6
  import { BehaviorSubject, switchMap, map, interval } from 'rxjs';
7
7
  import { sumBy } from 'lodash-es';
8
8
  import { AXPopupService, AXPopupModule } from '@acorex/components/popup';
@@ -173,6 +173,7 @@ class AXUploaderZoneDirective {
173
173
  this.multiple = true;
174
174
  this.fileService = inject(AXFileService);
175
175
  this.uploadService = inject(AXUploaderService);
176
+ this.translateService = inject(AXTranslationService);
176
177
  this.stateClass = 'ax-uploader-overlay-state';
177
178
  this.init();
178
179
  this.element.addEventListener('dragenter', this.handleDragEnter.bind(this), true);
@@ -207,7 +208,7 @@ class AXUploaderZoneDirective {
207
208
  const icon = document.createElement('span');
208
209
  icon.classList.add('ax-icon', 'ax-icon-upload');
209
210
  const text = document.createElement('span');
210
- text.innerText = AXTranslator.get('uploader.zone.text');
211
+ text.innerText = this.translateService.translateSync('uploader.zone.text');
211
212
  this.overlayElement.appendChild(icon);
212
213
  this.overlayElement.appendChild(text);
213
214
  this.element.appendChild(this.overlayElement);
@@ -266,11 +267,11 @@ class AXUploaderListComponent extends AXBasePageComponent {
266
267
  this.uploadService = inject(AXUploaderService);
267
268
  }
268
269
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXUploaderListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
269
- 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()\">{{ 'common.cancel' | trans }}</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=\"{{ 'common.cancel' | trans }}\"></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: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "trans" }, { kind: "pipe", type: i4.AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
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\">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>", 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: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: i4.AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
270
271
  }
271
272
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AXUploaderListComponent, decorators: [{
272
273
  type: Component,
273
- 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()\">{{ 'common.cancel' | trans }}</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=\"{{ 'common.cancel' | trans }}\"></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"] }]
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\">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>", 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"] }]
274
275
  }] });
275
276
 
276
277
  var uploaderList_component = /*#__PURE__*/Object.freeze({
@@ -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 { AXTranslator } 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 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 = AXTranslator.get('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()\">{{ 'common.cancel' | trans }}</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=\"{{ 'common.cancel' | trans }}\"></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":"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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.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":"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"}
@@ -8,8 +8,9 @@ import * as i6 from "@acorex/components/decorators";
8
8
  import * as i7 from "@acorex/components/alert";
9
9
  import * as i8 from "@acorex/components/button";
10
10
  import * as i9 from "@acorex/core/validation";
11
+ import * as i10 from "@acorex/core/translation";
11
12
  export declare class AXFormModule {
12
13
  static ɵfac: i0.ɵɵFactoryDeclaration<AXFormModule, never>;
13
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXFormModule, [typeof i1.AXFormFieldComponent, typeof i2.AXFormComponent, typeof i3.AXValidationRuleDirective, typeof i4.AXValidationSummaryComponent], [typeof i5.CommonModule, typeof i6.AXDecoratorModule, typeof i7.AXAlertModule, typeof i8.AXButtonModule, typeof i9.AXValidationModule], [typeof i1.AXFormFieldComponent, typeof i2.AXFormComponent, typeof i3.AXValidationRuleDirective, typeof i4.AXValidationSummaryComponent]>;
14
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXFormModule, [typeof i1.AXFormFieldComponent, typeof i2.AXFormComponent, typeof i3.AXValidationRuleDirective, typeof i4.AXValidationSummaryComponent], [typeof i5.CommonModule, typeof i6.AXDecoratorModule, typeof i7.AXAlertModule, typeof i8.AXButtonModule, typeof i9.AXValidationModule, typeof i10.AXTranslationModule], [typeof i1.AXFormFieldComponent, typeof i2.AXFormComponent, typeof i3.AXValidationRuleDirective, typeof i4.AXValidationSummaryComponent]>;
14
15
  static ɵinj: i0.ɵɵInjectorDeclaration<AXFormModule>;
15
16
  }
@@ -17,6 +17,7 @@ export declare class AXValidationSummaryComponent extends MXBaseComponent implem
17
17
  protected _timeOut: number;
18
18
  private sub;
19
19
  constructor(_tosatService: AXToastService, host: AXFormComponent);
20
+ private formatRule;
20
21
  protected _handleOnDismissed(): void;
21
22
  ngOnDestroy(): void;
22
23
  static ɵfac: i0.ɵɵFactoryDeclaration<AXValidationSummaryComponent, [null, { optional: true; }]>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "7.17.26",
3
+ "version": "7.17.27",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": ">=17.0.3",
@@ -1,19 +1,17 @@
1
1
  import { AXSearchableComponent, MXInputBaseValueComponent, MXLookComponent } from '@acorex/components/common';
2
- import { OnInit } from '@angular/core';
3
2
  import * as i0 from "@angular/core";
4
3
  declare const AXSearchBoxComponent_base: import("polytype").Polytype.ClusteredConstructor<[{
5
4
  new (): MXInputBaseValueComponent<string>;
6
5
  ɵfac: unknown;
7
6
  ɵprov: import("@angular/core").ɵɵInjectableDeclaration<MXInputBaseValueComponent<any>>;
8
7
  }, typeof MXLookComponent]>;
9
- export declare class AXSearchBoxComponent extends AXSearchBoxComponent_base implements OnInit {
8
+ export declare class AXSearchBoxComponent extends AXSearchBoxComponent_base {
10
9
  private _parent;
11
10
  constructor(_parent: AXSearchableComponent);
12
- ngOnInit(): void;
13
11
  delayTime: number;
14
12
  _handleModelChange(value: string): void;
15
13
  get __hostClass(): string[];
16
14
  static ɵfac: i0.ɵɵFactoryDeclaration<AXSearchBoxComponent, [{ optional: true; }]>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<AXSearchBoxComponent, "ax-search-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; }; "look": { "alias": "look"; "required": false; }; "delayTime": { "alias": "delayTime"; "required": false; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix"], false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXSearchBoxComponent, "ax-search-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "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; }; "delayTime": { "alias": "delayTime"; "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"], false, never>;
18
16
  }
19
17
  export {};