@acorex/components 17.0.10 → 17.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. package/audio-wave/lib/audio-wave.component.d.ts +1 -0
  2. package/audio-wave/lib/audio-wave.module.d.ts +2 -1
  3. package/calendar/lib/calendar-range.component.d.ts +2 -0
  4. package/calendar/lib/calendar.class.d.ts +3 -2
  5. package/calendar/lib/calendar.component.d.ts +2 -1
  6. package/chat/lib/chat-message/chat-message.component.d.ts +5 -1
  7. package/chat/lib/chat-messages/chat-messages-voice/chat-message-voice.component.d.ts +5 -2
  8. package/chat/lib/chat.module.d.ts +3 -1
  9. package/common/lib/classes/events.class.d.ts +1 -1
  10. package/common/lib/components/base-component.class.d.ts +4 -4
  11. package/common/lib/components/input-base-value-component.class.d.ts +1 -0
  12. package/data-pager/lib/data-pager-next-buttons.components.d.ts +2 -0
  13. package/data-pager/lib/data-pager-prev-buttons.component.d.ts +2 -0
  14. package/data-table/lib/columns/data-table-column.d.ts +2 -3
  15. package/data-table/lib/columns/data-text-column.component.d.ts +8 -4
  16. package/data-table/lib/columns/row-command-column.component.d.ts +8 -4
  17. package/data-table/lib/columns/row-index-column.component.d.ts +4 -2
  18. package/data-table/lib/columns/row-select-column.component.d.ts +7 -2
  19. package/data-table/lib/data-table/data-table.component.d.ts +1 -0
  20. package/datetime-picker/lib/datetime-picker.component.d.ts +2 -0
  21. package/esm2022/audio-wave/lib/audio-wave.component.mjs +21 -17
  22. package/esm2022/audio-wave/lib/audio-wave.module.mjs +5 -4
  23. package/esm2022/calendar/lib/calendar-range.component.mjs +10 -8
  24. package/esm2022/calendar/lib/calendar.class.mjs +14 -27
  25. package/esm2022/calendar/lib/calendar.component.mjs +14 -2
  26. package/esm2022/chat/lib/chat-message/chat-message.component.mjs +24 -5
  27. package/esm2022/chat/lib/chat-messages/chat-messages-voice/chat-message-voice.component.mjs +25 -14
  28. package/esm2022/chat/lib/chat.module.mjs +10 -3
  29. package/esm2022/common/lib/classes/events.class.mjs +1 -1
  30. package/esm2022/common/lib/components/base-component.class.mjs +14 -26
  31. package/esm2022/common/lib/components/input-base-value-component.class.mjs +8 -1
  32. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +6 -2
  33. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +13 -13
  34. package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +15 -47
  35. package/esm2022/data-pager/lib/data-pager.component.mjs +2 -2
  36. package/esm2022/data-table/lib/columns/data-table-column.mjs +2 -6
  37. package/esm2022/data-table/lib/columns/data-text-column.component.mjs +31 -25
  38. package/esm2022/data-table/lib/columns/row-command-column.component.mjs +97 -81
  39. package/esm2022/data-table/lib/columns/row-index-column.component.mjs +19 -11
  40. package/esm2022/data-table/lib/columns/row-select-column.component.mjs +61 -11
  41. package/esm2022/data-table/lib/data-table/data-table.component.mjs +5 -4
  42. package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs +3 -3
  43. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +21 -2
  44. package/esm2022/drawer/lib/drawer.component.mjs +2 -2
  45. package/esm2022/list/lib/list.component.mjs +13 -3
  46. package/esm2022/phone-box/lib/phone-box.component.mjs +29 -28
  47. package/esm2022/select-box/lib/select-box.component.mjs +29 -9
  48. package/esm2022/text-box/lib/mask-options.directive.mjs +16 -4
  49. package/esm2022/text-box/lib/text-box.component.mjs +8 -1
  50. package/fesm2022/acorex-components-audio-wave.mjs +24 -19
  51. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  52. package/fesm2022/acorex-components-calendar.mjs +31 -31
  53. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  54. package/fesm2022/acorex-components-chat.mjs +55 -21
  55. package/fesm2022/acorex-components-chat.mjs.map +1 -1
  56. package/fesm2022/acorex-components-common.mjs +21 -25
  57. package/fesm2022/acorex-components-common.mjs.map +1 -1
  58. package/fesm2022/acorex-components-data-pager.mjs +31 -59
  59. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  60. package/fesm2022/acorex-components-data-table.mjs +210 -133
  61. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  62. package/fesm2022/acorex-components-datetime-picker.mjs +20 -1
  63. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  64. package/fesm2022/acorex-components-drawer.mjs +2 -2
  65. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  66. package/fesm2022/acorex-components-list.mjs +13 -3
  67. package/fesm2022/acorex-components-list.mjs.map +1 -1
  68. package/fesm2022/acorex-components-phone-box.mjs +29 -29
  69. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  70. package/fesm2022/acorex-components-select-box.mjs +28 -8
  71. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  72. package/fesm2022/acorex-components-text-box.mjs +22 -3
  73. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  74. package/list/lib/list.component.d.ts +3 -2
  75. package/package.json +1 -1
  76. package/phone-box/lib/phone-box.component.d.ts +4 -2
  77. package/select-box/lib/select-box.component.d.ts +5 -4
  78. package/text-box/lib/mask-options.directive.d.ts +6 -2
  79. package/text-box/lib/text-box.component.d.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-datetime-picker.mjs","sources":["../../../../libs/components/datetime-picker/src/lib/datetime-picker.config.ts","../../../../libs/components/datetime-picker/src/lib/datetime-picker.component.ts","../../../../libs/components/datetime-picker/src/lib/datetime-picker.component.html","../../../../libs/components/datetime-picker/src/lib/datetime-picker.module.ts","../../../../libs/components/datetime-picker/src/acorex-components-datetime-picker.ts"],"sourcesContent":["import { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { InjectionToken, inject } from '@angular/core';\nimport { set } from 'lodash-es';\n\nexport interface AXDateTimePickerConfig {\n currentTimeButton: boolean;\n}\n\nexport const AX_DATETIME_PICKER_CONFIG =\n new InjectionToken<AXDateTimePickerConfig>('AX_DATETIME_PICKER_CONFIG', {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, 'datetime-picker', AX_DATETIME_PICKER_CONFIG);\n return AXDateTimePickerDefaultConfig;\n },\n });\n\nexport const AXDateTimePickerDefaultConfig: AXDateTimePickerConfig = {\n currentTimeButton: true,\n};\n\nexport type PartialDateTimePickerConfig = Partial<AXDateTimePickerConfig>;\n\nexport function dateTimePickerConfig(\n config: PartialDateTimePickerConfig = {}\n): AXDateTimePickerConfig {\n const result = {\n ...AXDateTimePickerDefaultConfig,\n ...config,\n };\n return result;\n}\n","import {\n AXCalendarNavigateEvent,\n MXCalendarBaseComponent,\n} from '@acorex/components/calendar';\nimport {\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n AXValueChangedEvent,\n MXValueComponent,\n} from '@acorex/components/common';\nimport { AXPickerComponent } from '@acorex/components/picker';\nimport {\n AXTabStripChangedEvent,\n AXTabsComponent,\n} from '@acorex/components/tabs';\nimport {\n AXCalendarService,\n AXDateTime,\n AXDateTimeParts,\n TimeUnit,\n} from '@acorex/core/date-time';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n inject,\n signal,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport {\n AXDateTimePickerConfig,\n AX_DATETIME_PICKER_CONFIG,\n} from './datetime-picker.config';\n@Component({\n selector: 'ax-datetime-picker',\n templateUrl: './datetime-picker.component.html',\n styleUrls: ['./datetime-picker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'value',\n 'state',\n 'name',\n 'id',\n 'depth',\n 'activeView',\n 'minValue',\n 'maxValue',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n 'showNavigation',\n ],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'onClick',\n 'readonlyChange',\n 'disabledChange',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick',\n ],\n providers: [\n { provide: AXComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimePickerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimePickerComponent),\n multi: true,\n },\n ],\n})\nexport class AXDateTimePickerComponent\n extends classes(MXCalendarBaseComponent, MXValueComponent<Date>)\n implements OnInit\n{\n buttonText = '';\n\n private defaultConfig: AXDateTimePickerConfig = inject(\n AX_DATETIME_PICKER_CONFIG\n );\n\n private _currentTimeButton: boolean = this.defaultConfig.currentTimeButton;\n @Input()\n public get currentTimeButton(): boolean {\n return this._currentTimeButton;\n }\n public set currentTimeButton(v: boolean) {\n this.setOption({\n name: 'currentTimeButton',\n value: v,\n });\n }\n\n private _calendarService: AXCalendarService = inject(AXCalendarService);\n private _tranlationService = inject(AXTranslationService);\n\n @ViewChild(AXPickerComponent)\n protected picker: AXPickerComponent;\n\n @ViewChild(AXTabsComponent)\n protected tabs: AXTabsComponent;\n\n protected hours: any[] = Array(24)\n .fill(0)\n .map((m, i) => ({ id: i, text: i }));\n minutes: any[] = Array(60)\n .fill(0)\n .map((m, i) => ({ id: i, text: i }));\n\n protected _parts: AXDateTimeParts = {\n year: {\n key: 'year',\n placeholder: 'yyyy',\n placeholders: ['YY', 'yy', 'YYYY', 'yyyy'],\n enabled: false,\n default: 2023,\n realValue: () => this.editingDateObj.format(this._parts.year.placeholder),\n },\n month: {\n key: 'month',\n placeholder: 'MM',\n placeholders: ['MMM', 'MMMM', 'MM', 'M'],\n enabled: false,\n default: 1,\n realValue: () =>\n this.editingDateObj.format(this._parts.month.placeholder),\n },\n day: {\n key: 'day',\n placeholder: 'dd',\n placeholders: ['dd', 'd', 'dddd', 'DDDD'],\n enabled: false,\n default: 1,\n realValue: () => this.editingDateObj.format(this._parts.day.placeholder),\n },\n hour: {\n key: 'hour',\n placeholder: 'HH',\n placeholders: ['HH', 'H', 'hh', 'h'],\n enabled: false,\n default: 0,\n realValue: () => this.editingDateObj.format(this._parts.hour.placeholder),\n },\n minute: {\n key: 'minute',\n placeholder: 'mm',\n placeholders: ['mm', 'm'],\n enabled: false,\n default: 0,\n realValue: () =>\n this.editingDateObj.format(this._parts.minute.placeholder),\n },\n second: {\n key: 'second',\n placeholder: 'ss',\n placeholders: ['ss', 's'],\n enabled: false,\n default: 0,\n realValue: () =>\n this.editingDateObj.format(this._parts.second.placeholder),\n },\n };\n\n protected _activePart: 'date' | 'time' = 'date';\n\n protected get _hasDatePart(): boolean {\n return ['year', 'month', 'day'].some((k) => this._parts[k].enabled);\n }\n\n protected get _hasTimePart(): boolean {\n return ['hour', 'minute', 'second'].some((k) => this._parts[k].enabled);\n }\n\n private _editingDateObj: AXDateTime = this._calendarService.now(this.type);\n protected get editingDateObj(): AXDateTime {\n return this._editingDateObj;\n }\n\n @Output()\n formatChange = new EventEmitter<string>();\n\n private _format = this.calendarService.calendar.formats.dateTimeDisplay;\n @Input()\n public get format(): string {\n return this._format;\n }\n public set format(v: string) {\n this.setOption({\n name: 'format',\n value: v,\n afterCallback: (o, n) => {\n this._detectParts();\n },\n });\n }\n\n override async ngOnInit() {\n super.ngOnInit();\n this._detectParts();\n this.detectButtonText();\n }\n\n public refresh() {\n this.picker?.refresh();\n }\n\n override internalValueChanged(value?: Date): void {\n if (value) {\n this._editingDateObj = this._calendarService.create(value);\n }\n }\n\n protected detectButtonText() {\n this.buttonText =\n this._activePart === 'date' ? 'dateTime.today' : 'dateTime.now';\n }\n\n protected _handleViewChanged(e: AXTabStripChangedEvent) {\n this._activePart = e.tab.key as 'date' | 'time';\n this.detectButtonText();\n this.cdr.detectChanges();\n }\n\n protected _handlePickerOnValueChanged(\n e: AXValueChangedEvent<Date>,\n part: string\n ) {\n if (e.isUserInteraction) {\n this._editingDateObj = this._editingDateObj.set(\n part as TimeUnit,\n Number(e.value['id'])\n );\n }\n }\n\n protected _handleCalendarOnNavigate(e: AXCalendarNavigateEvent) {\n this.onNavigate.emit(e);\n }\n\n protected _handleCalendarOnValueChanged(e: AXValueChangedEvent<Date>) {\n if (e.isUserInteraction) {\n const selectedValue = this.calendarService.create(e.value, this.type);\n const currentValue = this.calendarService\n .create(e.value, this.type)\n .set('day', selectedValue.dayOfMonth)\n .set('month', selectedValue.monthOfYear)\n .set('year', selectedValue.year);\n\n this._editingDateObj = currentValue;\n if (this._hasTimePart) {\n this._activePart = 'time';\n if (this.tabs && this._hasDatePart && this._hasTimePart) {\n this.tabs.select(1);\n } else {\n this.commitValue(this.editingDateObj.date, true);\n }\n } else {\n this.commitValue(this.editingDateObj.date, true);\n }\n }\n }\n\n private _detectParts() {\n Object.values(this._parts).forEach((e) => {\n e.enabled = false;\n });\n const formatParts = this.format.split(/[^a-zA-Z]+/);\n formatParts.forEach((f) => {\n const found = Object.values(this._parts).find((c) =>\n c.placeholders.some((d) => d == f)\n );\n if (found) {\n found.enabled = true;\n found.placeholder = f;\n }\n });\n this._activePart = this._hasDatePart ? 'date' : 'time';\n this.cdr.markForCheck();\n }\n\n protected _handleSetClick() {\n this.commitValue(this.editingDateObj.date, true);\n }\n\n protected _handleNowClick() {\n this._editingDateObj = this._calendarService.now(this.type);\n this.commitValue(this.editingDateObj.date, true);\n }\n}\n","@if(_hasDatePart && _hasTimePart){\n<div class=\"ax-header\">\n <ax-tabs [look]=\"'default'\" [fitParent]=\"true\" [location]=\"'top'\" (onActiveTabChanged)=\"_handleViewChanged($event)\">\n <ax-tab-item [text]=\"'dateTime.date' | translate | async \" [key]=\"'date'\" [disabled]=\"disabled\"></ax-tab-item>\n <ax-tab-item [text]=\"'dateTime.time' | translate | async \" [key]=\"'time'\" [disabled]=\"disabled\"></ax-tab-item>\n </ax-tabs>\n</div>\n}\n<div class=\"ax-content\">\n @if(_activePart === 'date'){\n <div class=\"ax-calendar-part\">\n <ax-calendar #calendar id=\"calendar\" [disabled]=\"disabled\" [readonly]=\"readonly\" [ngModel]=\"editingDateObj.date\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [disabledDates]=\"disabledDates\" [holidayDates]=\"holidayDates\"\n [depth]=\"depth\" (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (onValueChanged)=\"_handleCalendarOnValueChanged($event)\" [type]=\"type\">\n </ax-calendar>\n </div>\n }\n\n @if(_activePart === 'time'){\n <div class=\"ax-picker-part\">\n <div class=\"ax-header\">\n {{ editingDateObj | axDate: format : type }}\n </div>\n <ax-picker>\n\n @if(_parts.hour.enabled){\n <ax-picker-column [title]=\"'dateTime.hour' | translate | async \" [items]=\"hours\" [ngModel]=\"editingDateObj.hour\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'hour')\" [disabled]=\"disabled\"\n [readonly]=\"readonly\"></ax-picker-column>\n }\n\n @if(_parts.minute.enabled){\n <ax-picker-column [title]=\"'dateTime.minute' | translate | async \" [items]=\"minutes\"\n [ngModel]=\"editingDateObj.minute\" (onValueChanged)=\"_handlePickerOnValueChanged($event, 'minute')\"\n [disabled]=\"disabled\" [readonly]=\"readonly\"></ax-picker-column>\n }\n @if(_parts.second.enabled){\n <ax-picker-column [title]=\"'dateTime.second' | translate | async \" [items]=\"minutes\"\n [ngModel]=\"editingDateObj.second\" (onValueChanged)=\"_handlePickerOnValueChanged($event, 'second')\"\n [disabled]=\"disabled\" [readonly]=\"readonly\"></ax-picker-column>\n\n }\n </ax-picker>\n </div>\n }\n\n</div>\n@if(!disabled && !readonly && (currentTimeButton || _hasTimePart)){\n<div class=\"ax-footer\">\n <div>\n @if(currentTimeButton){\n <ax-button [text]=\"buttonText | translate | async \" class=\"ax-sm\" (onClick)=\"_handleNowClick()\"></ax-button>\n }\n </div>\n <div>\n @if(_hasTimePart){\n <ax-button color=\"primary\" [text]=\"'dateTime.set' | translate | async \" class=\"ax-sm\"\n (onClick)=\"_handleSetClick()\"></ax-button>\n }\n </div>\n</div>\n}","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCalendarModule } from '@acorex/components/calendar';\nimport { AXPickerModule } from '@acorex/components/picker';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDateTimePickerComponent } from './datetime-picker.component';\n\nconst COMPONENT = [AXDateTimePickerComponent];\nconst MODULES = [\n CommonModule,\n FormsModule,\n AXTabsModule,\n AXDateTimeModule,\n AXButtonModule,\n AXCalendarModule,\n AXPickerModule,\n AXTranslationModule,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDateTimePickerModule {}\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-datetime-picker.mjs","sources":["../../../../libs/components/datetime-picker/src/lib/datetime-picker.config.ts","../../../../libs/components/datetime-picker/src/lib/datetime-picker.component.ts","../../../../libs/components/datetime-picker/src/lib/datetime-picker.component.html","../../../../libs/components/datetime-picker/src/lib/datetime-picker.module.ts","../../../../libs/components/datetime-picker/src/acorex-components-datetime-picker.ts"],"sourcesContent":["import { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { InjectionToken, inject } from '@angular/core';\nimport { set } from 'lodash-es';\n\nexport interface AXDateTimePickerConfig {\n currentTimeButton: boolean;\n}\n\nexport const AX_DATETIME_PICKER_CONFIG =\n new InjectionToken<AXDateTimePickerConfig>('AX_DATETIME_PICKER_CONFIG', {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, 'datetime-picker', AX_DATETIME_PICKER_CONFIG);\n return AXDateTimePickerDefaultConfig;\n },\n });\n\nexport const AXDateTimePickerDefaultConfig: AXDateTimePickerConfig = {\n currentTimeButton: true,\n};\n\nexport type PartialDateTimePickerConfig = Partial<AXDateTimePickerConfig>;\n\nexport function dateTimePickerConfig(\n config: PartialDateTimePickerConfig = {}\n): AXDateTimePickerConfig {\n const result = {\n ...AXDateTimePickerDefaultConfig,\n ...config,\n };\n return result;\n}\n","import {\n AXCalendarNavigateEvent,\n MXCalendarBaseComponent,\n} from '@acorex/components/calendar';\nimport {\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n AXValueChangedEvent,\n MXValueComponent,\n} from '@acorex/components/common';\nimport { AXPickerComponent } from '@acorex/components/picker';\nimport {\n AXTabStripChangedEvent,\n AXTabsComponent,\n} from '@acorex/components/tabs';\nimport {\n AXCalendarService,\n AXDateTime,\n AXDateTimeParts,\n TimeUnit,\n} from '@acorex/core/date-time';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n inject,\n signal,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport {\n AXDateTimePickerConfig,\n AX_DATETIME_PICKER_CONFIG,\n} from './datetime-picker.config';\n@Component({\n selector: 'ax-datetime-picker',\n templateUrl: './datetime-picker.component.html',\n styleUrls: ['./datetime-picker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'value',\n 'state',\n 'name',\n 'id',\n 'depth',\n 'activeView',\n 'minValue',\n 'maxValue',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n 'showNavigation',\n ],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'onClick',\n 'readonlyChange',\n 'disabledChange',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick',\n ],\n providers: [\n { provide: AXComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimePickerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimePickerComponent),\n multi: true,\n },\n ],\n})\nexport class AXDateTimePickerComponent\n extends classes(MXCalendarBaseComponent, MXValueComponent<Date>)\n implements OnInit {\n buttonText = '';\n\n private defaultConfig: AXDateTimePickerConfig = inject(\n AX_DATETIME_PICKER_CONFIG\n );\n\n private _currentTimeButton: boolean = this.defaultConfig.currentTimeButton;\n @Input()\n public get currentTimeButton(): boolean {\n return this._currentTimeButton;\n }\n public set currentTimeButton(v: boolean) {\n this.setOption({\n name: 'currentTimeButton',\n value: v,\n });\n }\n\n private _calendarService: AXCalendarService = inject(AXCalendarService);\n private _tranlationService = inject(AXTranslationService);\n\n @ViewChild(AXPickerComponent)\n protected picker: AXPickerComponent;\n\n @ViewChild(AXTabsComponent)\n protected tabs: AXTabsComponent;\n\n protected hours: any[] = Array(24)\n .fill(0)\n .map((m, i) => ({ id: i, text: i }));\n minutes: any[] = Array(60)\n .fill(0)\n .map((m, i) => ({ id: i, text: i }));\n\n protected _parts: AXDateTimeParts = {\n year: {\n key: 'year',\n placeholder: 'yyyy',\n placeholders: ['YY', 'yy', 'YYYY', 'yyyy'],\n enabled: false,\n default: 2023,\n realValue: () => this.editingDateObj.format(this._parts.year.placeholder),\n },\n month: {\n key: 'month',\n placeholder: 'MM',\n placeholders: ['MMM', 'MMMM', 'MM', 'M'],\n enabled: false,\n default: 1,\n realValue: () =>\n this.editingDateObj.format(this._parts.month.placeholder),\n },\n day: {\n key: 'day',\n placeholder: 'dd',\n placeholders: ['dd', 'd', 'dddd', 'DDDD'],\n enabled: false,\n default: 1,\n realValue: () => this.editingDateObj.format(this._parts.day.placeholder),\n },\n hour: {\n key: 'hour',\n placeholder: 'HH',\n placeholders: ['HH', 'H', 'hh', 'h'],\n enabled: false,\n default: 0,\n realValue: () => this.editingDateObj.format(this._parts.hour.placeholder),\n },\n minute: {\n key: 'minute',\n placeholder: 'mm',\n placeholders: ['mm', 'm'],\n enabled: false,\n default: 0,\n realValue: () =>\n this.editingDateObj.format(this._parts.minute.placeholder),\n },\n second: {\n key: 'second',\n placeholder: 'ss',\n placeholders: ['ss', 's'],\n enabled: false,\n default: 0,\n realValue: () =>\n this.editingDateObj.format(this._parts.second.placeholder),\n },\n };\n\n protected _activePart: 'date' | 'time' = 'date';\n\n protected get _hasDatePart(): boolean {\n return ['year', 'month', 'day'].some((k) => this._parts[k].enabled);\n }\n\n protected get _hasTimePart(): boolean {\n return ['hour', 'minute', 'second'].some((k) => this._parts[k].enabled);\n }\n\n private _editingDateObj: AXDateTime = this._calendarService.now(this.type);\n protected get editingDateObj(): AXDateTime {\n return this._editingDateObj;\n }\n\n @Output()\n formatChange = new EventEmitter<string>();\n\n private _format = this.calendarService.calendar.formats.dateTimeDisplay;\n @Input()\n public get format(): string {\n return this._format;\n }\n public set format(v: string) {\n this.setOption({\n name: 'format',\n value: v,\n afterCallback: (o, n) => {\n this._detectParts();\n },\n });\n }\n\n override async ngOnInit() {\n super.ngOnInit();\n this._detectParts();\n this.detectButtonText();\n }\n\n public refresh() {\n this.picker?.refresh();\n }\n\n override internalValueChanged(value?: Date): void {\n if (value) {\n this._editingDateObj = this._calendarService.create(value);\n }\n }\n\n protected detectButtonText() {\n this.buttonText =\n this._activePart === 'date' ? 'dateTime.today' : 'dateTime.now';\n }\n\n protected _handleViewChanged(e: AXTabStripChangedEvent) {\n this._activePart = e.tab.key as 'date' | 'time';\n this.detectButtonText();\n this.cdr.detectChanges();\n }\n\n protected _handlePickerOnValueChanged(\n e: AXValueChangedEvent<Date>,\n part: string\n ) {\n if (e.isUserInteraction) {\n this._editingDateObj = this._editingDateObj.set(\n part as TimeUnit,\n Number(e.value['id'])\n );\n }\n }\n\n protected _handleCalendarOnNavigate(e: AXCalendarNavigateEvent) {\n this.onNavigate.emit(e);\n }\n\n protected _handleCalendarOnValueChanged(e: AXValueChangedEvent<Date>) {\n if (e.isUserInteraction) {\n const selectedValue = this.calendarService.create(e.value, this.type);\n const currentValue = this.calendarService\n .create(e.value, this.type)\n .set('day', selectedValue.dayOfMonth)\n .set('month', selectedValue.monthOfYear)\n .set('year', selectedValue.year);\n\n this._editingDateObj = currentValue;\n if (this._hasTimePart) {\n this._activePart = 'time';\n if (this.tabs && this._hasDatePart && this._hasTimePart) {\n this.tabs.select(1);\n } else {\n this.commitValue(this.editingDateObj.date, true);\n }\n } else {\n this.commitValue(this.editingDateObj.date, true);\n }\n }\n }\n\n private _detectParts() {\n Object.values(this._parts).forEach((e) => {\n e.enabled = false;\n });\n const formatParts = this.format.split(/[^a-zA-Z]+/);\n formatParts.forEach((f) => {\n const found = Object.values(this._parts).find((c) =>\n c.placeholders.some((d) => d == f)\n );\n if (found) {\n found.enabled = true;\n found.placeholder = f;\n }\n });\n this._activePart = this._hasDatePart ? 'date' : 'time';\n this.cdr.markForCheck();\n }\n\n protected _handleSetClick() {\n this.commitValue(this.editingDateObj.date, true);\n }\n\n protected _handleNowClick() {\n this._editingDateObj = this._calendarService.now(this.type);\n this.commitValue(this.editingDateObj.date, true);\n }\n\n\n protected isDisabled(date: AXDateTime): boolean {\n if (Array.isArray(this.disabledDates) && this.disabledDates.length != 0) {\n return this.disabledDates.some((d) => date.equal(d, 'day'));\n } else if (typeof this.disabledDates == 'function') {\n return this.disabledDates(date.date);\n }\n return false;\n }\n\n protected override internalSetValue(value: Date): Date | null {\n if (!value)\n return null;\n const v = this.calendarService.convert(value);\n const isDisabled = this.isDisabled(v);\n if (isDisabled)\n return null;\n else return v.date;\n }\n}\n","@if(_hasDatePart && _hasTimePart){\n<div class=\"ax-header\">\n <ax-tabs [look]=\"'default'\" [fitParent]=\"true\" [location]=\"'top'\" (onActiveTabChanged)=\"_handleViewChanged($event)\">\n <ax-tab-item [text]=\"'dateTime.date' | translate | async \" [key]=\"'date'\" [disabled]=\"disabled\"></ax-tab-item>\n <ax-tab-item [text]=\"'dateTime.time' | translate | async \" [key]=\"'time'\" [disabled]=\"disabled\"></ax-tab-item>\n </ax-tabs>\n</div>\n}\n<div class=\"ax-content\">\n @if(_activePart === 'date'){\n <div class=\"ax-calendar-part\">\n <ax-calendar #calendar id=\"calendar\" [disabled]=\"disabled\" [readonly]=\"readonly\" [ngModel]=\"editingDateObj.date\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [disabledDates]=\"disabledDates\" [holidayDates]=\"holidayDates\"\n [depth]=\"depth\" (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (onValueChanged)=\"_handleCalendarOnValueChanged($event)\" [type]=\"type\">\n </ax-calendar>\n </div>\n }\n\n @if(_activePart === 'time'){\n <div class=\"ax-picker-part\">\n <div class=\"ax-header\">\n {{ editingDateObj | axDate: format : type }}\n </div>\n <ax-picker>\n\n @if(_parts.hour.enabled){\n <ax-picker-column [title]=\"'dateTime.hour' | translate | async \" [items]=\"hours\" [ngModel]=\"editingDateObj.hour\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'hour')\" [disabled]=\"disabled\"\n [readonly]=\"readonly\"></ax-picker-column>\n }\n\n @if(_parts.minute.enabled){\n <ax-picker-column [title]=\"'dateTime.minute' | translate | async \" [items]=\"minutes\"\n [ngModel]=\"editingDateObj.minute\" (onValueChanged)=\"_handlePickerOnValueChanged($event, 'minute')\"\n [disabled]=\"disabled\" [readonly]=\"readonly\"></ax-picker-column>\n }\n @if(_parts.second.enabled){\n <ax-picker-column [title]=\"'dateTime.second' | translate | async \" [items]=\"minutes\"\n [ngModel]=\"editingDateObj.second\" (onValueChanged)=\"_handlePickerOnValueChanged($event, 'second')\"\n [disabled]=\"disabled\" [readonly]=\"readonly\"></ax-picker-column>\n\n }\n </ax-picker>\n </div>\n }\n\n</div>\n@if(!disabled && !readonly && (currentTimeButton || _hasTimePart)){\n<div class=\"ax-footer\">\n <div>\n @if(currentTimeButton){\n <ax-button [text]=\"buttonText | translate | async \" class=\"ax-sm\" (onClick)=\"_handleNowClick()\"></ax-button>\n }\n </div>\n <div>\n @if(_hasTimePart){\n <ax-button color=\"primary\" [text]=\"'dateTime.set' | translate | async \" class=\"ax-sm\"\n (onClick)=\"_handleSetClick()\"></ax-button>\n }\n </div>\n</div>\n}","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCalendarModule } from '@acorex/components/calendar';\nimport { AXPickerModule } from '@acorex/components/picker';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDateTimePickerComponent } from './datetime-picker.component';\n\nconst COMPONENT = [AXDateTimePickerComponent];\nconst MODULES = [\n CommonModule,\n FormsModule,\n AXTabsModule,\n AXDateTimeModule,\n AXButtonModule,\n AXCalendarModule,\n AXPickerModule,\n AXTranslationModule,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDateTimePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -151,7 +151,7 @@ class AXDrawerComponent extends MXBaseComponent {
151
151
  ], usesInheritance: true, ngImport: i0, template: `
152
152
  <ng-content select="ax-header"></ng-content>
153
153
  <ng-content select="ax-content"></ng-content>
154
- `, isInline: true, styles: ["ax-drawer-container{position:relative;display:flex;height:100%;width:100%;overflow:hidden}ax-drawer-container .ax-backdrop{position:absolute;bottom:0;top:0;z-index:10;height:100%;width:100%;background-color:#0003;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-drawer-container ax-drawer{display:flex;height:100%;max-width:95%;flex-direction:column;background-color:rgba(var(--ax-color-surface))}ax-drawer-container ax-drawer.ax-state-loaded{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-drawer-container ax-drawer ax-header,ax-drawer-container ax-drawer ax-footer{padding:.75rem}ax-drawer-container ax-drawer ax-footer{border-top-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-drawer-container ax-drawer ax-header{border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-drawer-container ax-drawer>ax-content{flex:1 1 0%;overflow:auto}ax-drawer-container ax-drawer.ax-drawer-overlay{position:absolute}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-expanded{z-index:20}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-collapsed{z-index:0}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-drawer-start.ax-expanded{inset-inline-start:0px}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-drawer-start.ax-collapsed{inset-inline-start:calc(-1 * var(--ax-el-width))}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-drawer-end.ax-expanded{inset-inline-end:0px}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-drawer-end.ax-collapsed{inset-inline-end:calc(-1 * var(--ax-el-width))}ax-drawer-container ax-drawer.ax-drawer-push{flex:0 1 auto}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-start{order:-9999}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-start.ax-expanded{margin-inline-start:0px}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-start.ax-collapsed{margin-inline-start:calc(-1 * var(--ax-el-width))}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-end{order:9999}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-end.ax-expanded{margin-inline-end:0px}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-end.ax-collapsed{margin-inline-end:calc(-1 * var(--ax-el-width))}ax-drawer-container>ax-content{height:100%;flex:1 1 0%;overflow:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
154
+ `, isInline: true, styles: ["ax-drawer-container{position:relative;display:flex;height:100%;width:100%;overflow:hidden}ax-drawer-container.ax-fixed{bottom:0;inset-inline-end:0px;inset-inline-start:0px;top:0;z-index:50;display:none}ax-drawer-container.ax-fixed.ax-visible{display:flex}ax-drawer-container .ax-backdrop{position:absolute;bottom:0;top:0;z-index:10;height:100%;width:100%;background-color:#0003;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-drawer-container ax-drawer{display:flex;height:100%;max-width:95%;flex-direction:column;background-color:rgba(var(--ax-color-surface))}ax-drawer-container ax-drawer.ax-state-loaded{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-drawer-container ax-drawer ax-header,ax-drawer-container ax-drawer ax-footer{padding:.75rem}ax-drawer-container ax-drawer ax-footer{border-top-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-drawer-container ax-drawer ax-header{border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-drawer-container ax-drawer>ax-content{flex:1 1 0%;overflow:auto}ax-drawer-container ax-drawer.ax-drawer-overlay{position:absolute}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-expanded{z-index:20}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-collapsed{z-index:0}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-drawer-start.ax-expanded{inset-inline-start:0px}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-drawer-start.ax-collapsed{inset-inline-start:calc(-1 * var(--ax-el-width))}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-drawer-end.ax-expanded{inset-inline-end:0px}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-drawer-end.ax-collapsed{inset-inline-end:calc(-1 * var(--ax-el-width))}ax-drawer-container ax-drawer.ax-drawer-push{flex:0 1 auto}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-start{order:-9999}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-start.ax-expanded{margin-inline-start:0px}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-start.ax-collapsed{margin-inline-start:calc(-1 * var(--ax-el-width))}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-end{order:9999}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-end.ax-expanded{margin-inline-end:0px}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-end.ax-collapsed{margin-inline-end:calc(-1 * var(--ax-el-width))}ax-drawer-container>ax-content{height:100%;flex:1 1 0%;overflow:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
155
155
  }
156
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXDrawerComponent, decorators: [{
157
157
  type: Component,
@@ -161,7 +161,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
161
161
  `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
162
162
  { provide: AXComponent, useExisting: AXDrawerComponent },
163
163
  { provide: AXClosbaleComponent, useExisting: AXDrawerComponent },
164
- ], styles: ["ax-drawer-container{position:relative;display:flex;height:100%;width:100%;overflow:hidden}ax-drawer-container .ax-backdrop{position:absolute;bottom:0;top:0;z-index:10;height:100%;width:100%;background-color:#0003;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-drawer-container ax-drawer{display:flex;height:100%;max-width:95%;flex-direction:column;background-color:rgba(var(--ax-color-surface))}ax-drawer-container ax-drawer.ax-state-loaded{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-drawer-container ax-drawer ax-header,ax-drawer-container ax-drawer ax-footer{padding:.75rem}ax-drawer-container ax-drawer ax-footer{border-top-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-drawer-container ax-drawer ax-header{border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-drawer-container ax-drawer>ax-content{flex:1 1 0%;overflow:auto}ax-drawer-container ax-drawer.ax-drawer-overlay{position:absolute}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-expanded{z-index:20}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-collapsed{z-index:0}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-drawer-start.ax-expanded{inset-inline-start:0px}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-drawer-start.ax-collapsed{inset-inline-start:calc(-1 * var(--ax-el-width))}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-drawer-end.ax-expanded{inset-inline-end:0px}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-drawer-end.ax-collapsed{inset-inline-end:calc(-1 * var(--ax-el-width))}ax-drawer-container ax-drawer.ax-drawer-push{flex:0 1 auto}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-start{order:-9999}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-start.ax-expanded{margin-inline-start:0px}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-start.ax-collapsed{margin-inline-start:calc(-1 * var(--ax-el-width))}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-end{order:9999}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-end.ax-expanded{margin-inline-end:0px}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-end.ax-collapsed{margin-inline-end:calc(-1 * var(--ax-el-width))}ax-drawer-container>ax-content{height:100%;flex:1 1 0%;overflow:auto}\n"] }]
164
+ ], styles: ["ax-drawer-container{position:relative;display:flex;height:100%;width:100%;overflow:hidden}ax-drawer-container.ax-fixed{bottom:0;inset-inline-end:0px;inset-inline-start:0px;top:0;z-index:50;display:none}ax-drawer-container.ax-fixed.ax-visible{display:flex}ax-drawer-container .ax-backdrop{position:absolute;bottom:0;top:0;z-index:10;height:100%;width:100%;background-color:#0003;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-drawer-container ax-drawer{display:flex;height:100%;max-width:95%;flex-direction:column;background-color:rgba(var(--ax-color-surface))}ax-drawer-container ax-drawer.ax-state-loaded{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-drawer-container ax-drawer ax-header,ax-drawer-container ax-drawer ax-footer{padding:.75rem}ax-drawer-container ax-drawer ax-footer{border-top-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-drawer-container ax-drawer ax-header{border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-drawer-container ax-drawer>ax-content{flex:1 1 0%;overflow:auto}ax-drawer-container ax-drawer.ax-drawer-overlay{position:absolute}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-expanded{z-index:20}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-collapsed{z-index:0}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-drawer-start.ax-expanded{inset-inline-start:0px}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-drawer-start.ax-collapsed{inset-inline-start:calc(-1 * var(--ax-el-width))}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-drawer-end.ax-expanded{inset-inline-end:0px}ax-drawer-container ax-drawer.ax-drawer-overlay.ax-drawer-end.ax-collapsed{inset-inline-end:calc(-1 * var(--ax-el-width))}ax-drawer-container ax-drawer.ax-drawer-push{flex:0 1 auto}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-start{order:-9999}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-start.ax-expanded{margin-inline-start:0px}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-start.ax-collapsed{margin-inline-start:calc(-1 * var(--ax-el-width))}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-end{order:9999}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-end.ax-expanded{margin-inline-end:0px}ax-drawer-container ax-drawer.ax-drawer-push.ax-drawer-end.ax-collapsed{margin-inline-end:calc(-1 * var(--ax-el-width))}ax-drawer-container>ax-content{height:100%;flex:1 1 0%;overflow:auto}\n"] }]
165
165
  }], ctorParameters: () => [{ type: i0.NgZone }], propDecorators: { locationChange: [{
166
166
  type: Output
167
167
  }], location: [{
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-drawer.mjs","sources":["../../../../libs/components/drawer/src/lib/drawer-container.component.ts","../../../../libs/components/drawer/src/lib/drawer.component.ts","../../../../libs/components/drawer/src/lib/drawer.module.ts","../../../../libs/components/drawer/src/acorex-components-drawer.ts"],"sourcesContent":["import { MXBaseComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXDrawerComponent } from './drawer.component';\n\n@Component({\n selector: 'ax-drawer-container',\n template: `\n <ng-content select=\"ax-drawer[location='start']\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n <ng-content select=\"ax-drawer[location='end']\"> </ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXDrawerContainerComponent extends MXBaseComponent {\n ngDoCheck() {\n const host = this.getHostElement();\n Array.from(host.querySelectorAll('ax-drawer'))\n .map((c) => c['__axContext__'] as AXDrawerComponent)\n .some((c) => !c?.collapsed)\n ? host.classList.add('ax-visible')\n : host.classList.remove('ax-visible');\n }\n}\n","import { AXClosbaleComponent, AXComponent, MXBaseComponent, MXComponentOptionChanged } from '@acorex/components/common';\nimport { isBrowser } from '@acorex/core/platform';\nimport { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, NgZone, Output, ViewEncapsulation } from '@angular/core';\n\nexport type AXDrawerMode = 'push' | 'overlay';\nexport type AXDrawerLocation = 'start' | 'end';\n\n@Component({\n selector: 'ax-drawer',\n template: `\n <ng-content select=\"ax-header\"></ng-content>\n <ng-content select=\"ax-content\"></ng-content>\n `,\n styleUrls: ['./drawer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXDrawerComponent },\n { provide: AXClosbaleComponent, useExisting: AXDrawerComponent },\n ],\n})\nexport class AXDrawerComponent extends MXBaseComponent {\n constructor(private _zone: NgZone) {\n super();\n }\n\n @Output()\n public locationChange: EventEmitter<AXDrawerLocation> = new EventEmitter<AXDrawerLocation>();\n\n private _location: AXDrawerLocation = 'start';\n @Input()\n public get location(): AXDrawerLocation {\n return this._location;\n }\n public set location(v: AXDrawerLocation) {\n this.setOption({\n name: 'location',\n value: v,\n });\n }\n\n private _showBackdrop: boolean = true;\n @Input()\n public get showBackdrop(): boolean {\n return this._showBackdrop;\n }\n public set showBackdrop(v: boolean) {\n this.setOption({\n name: 'showBackdrop',\n value: v,\n });\n }\n\n @Output()\n public modeChange: EventEmitter<AXDrawerMode> = new EventEmitter<AXDrawerMode>();\n\n private _mode: AXDrawerMode = 'overlay';\n @Input()\n public get mode(): AXDrawerMode {\n return this._mode;\n }\n public set mode(v: AXDrawerMode) {\n this.setOption({\n name: 'mode',\n value: v,\n });\n }\n\n @Output()\n public collapsedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private _collapsed = true;\n @Input()\n public get collapsed(): boolean {\n return this._collapsed;\n }\n public set collapsed(v: boolean) {\n this.setOption({\n name: 'collapsed',\n value: v,\n });\n }\n\n ngAfterContentInit(): void {\n this._detectBoundingSize();\n this._loaded = true;\n }\n\n override internalOptionChanged(option: MXComponentOptionChanged): void {\n this._checkProps();\n }\n\n ngDoCheck() {\n this._detectBoundingSize();\n }\n\n private _detectBoundingSize() {\n this._zone.runOutsideAngular(() => {\n const host = this.getHostElement();\n if (host.clientWidth) {\n host.style.setProperty('--ax-el-width', `${host.clientWidth}px`);\n }\n });\n }\n\n private _checkProps() {\n this._detectBoundingSize();\n this._removeBackdrop();\n if (this.mode == 'overlay' && !this.collapsed && this.showBackdrop) {\n this._addBackdrop();\n }\n }\n\n toggle() {\n this.collapsed = !this.collapsed;\n }\n\n close() {\n this.collapsed = true;\n }\n\n open() {\n this.collapsed = false;\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-drawer-${this.mode} ax-drawer-${this.location} ${\n this.collapsed ? 'ax-collapsed' : 'ax-expanded'\n } ${this._loaded ? 'ax-state-loaded' : ''}`;\n }\n\n private _backdropElement: HTMLElement;\n private _loaded = false;\n\n private _addBackdrop() {\n if (isBrowser()) {\n this._zone.runOutsideAngular(() => {\n this._backdropElement = document.createElement('div');\n this._backdropElement.classList.add('ax-backdrop');\n this._backdropElement.onclick = () => {\n this._zone.run(() => {\n this.close();\n });\n };\n this.getHostElement()?.parentElement?.appendChild(this._backdropElement);\n });\n }\n }\n\n private _removeBackdrop() {\n if (isBrowser()) {\n this._zone.runOutsideAngular(() => {\n if (this._backdropElement) {\n this.getHostElement()?.parentElement?.removeChild(this._backdropElement);\n this._backdropElement = null;\n }\n });\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDrawerContainerComponent } from './drawer-container.component';\nimport { AXDrawerComponent } from './drawer.component';\n\nconst COMPONENT = [AXDrawerComponent, AXDrawerContainerComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDrawerModule {}\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-drawer.mjs","sources":["../../../../libs/components/drawer/src/lib/drawer-container.component.ts","../../../../libs/components/drawer/src/lib/drawer.component.ts","../../../../libs/components/drawer/src/lib/drawer.module.ts","../../../../libs/components/drawer/src/acorex-components-drawer.ts"],"sourcesContent":["import { MXBaseComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXDrawerComponent } from './drawer.component';\n\n@Component({\n selector: 'ax-drawer-container',\n template: `\n <ng-content select=\"ax-drawer[location='start']\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n <ng-content select=\"ax-drawer[location='end']\"> </ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXDrawerContainerComponent extends MXBaseComponent {\n ngDoCheck() {\n const host = this.getHostElement();\n Array.from(host.querySelectorAll('ax-drawer'))\n .map((c) => c['__axContext__'] as AXDrawerComponent)\n .some((c) => !c?.collapsed)\n ? host.classList.add('ax-visible')\n : host.classList.remove('ax-visible');\n }\n}\n","import { AXClosbaleComponent, AXComponent, MXBaseComponent, MXComponentOptionChanged } from '@acorex/components/common';\nimport { isBrowser } from '@acorex/core/platform';\nimport { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, NgZone, Output, ViewEncapsulation } from '@angular/core';\n\nexport type AXDrawerMode = 'push' | 'overlay';\nexport type AXDrawerLocation = 'start' | 'end';\n\n@Component({\n selector: 'ax-drawer',\n template: `\n <ng-content select=\"ax-header\"></ng-content>\n <ng-content select=\"ax-content\"></ng-content>\n `,\n styleUrls: ['./drawer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXDrawerComponent },\n { provide: AXClosbaleComponent, useExisting: AXDrawerComponent },\n ],\n})\nexport class AXDrawerComponent extends MXBaseComponent {\n constructor(private _zone: NgZone) {\n super();\n }\n\n @Output()\n public locationChange: EventEmitter<AXDrawerLocation> = new EventEmitter<AXDrawerLocation>();\n\n private _location: AXDrawerLocation = 'start';\n @Input()\n public get location(): AXDrawerLocation {\n return this._location;\n }\n public set location(v: AXDrawerLocation) {\n this.setOption({\n name: 'location',\n value: v,\n });\n }\n\n private _showBackdrop: boolean = true;\n @Input()\n public get showBackdrop(): boolean {\n return this._showBackdrop;\n }\n public set showBackdrop(v: boolean) {\n this.setOption({\n name: 'showBackdrop',\n value: v,\n });\n }\n\n @Output()\n public modeChange: EventEmitter<AXDrawerMode> = new EventEmitter<AXDrawerMode>();\n\n private _mode: AXDrawerMode = 'overlay';\n @Input()\n public get mode(): AXDrawerMode {\n return this._mode;\n }\n public set mode(v: AXDrawerMode) {\n this.setOption({\n name: 'mode',\n value: v,\n });\n }\n\n @Output()\n public collapsedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private _collapsed = true;\n @Input()\n public get collapsed(): boolean {\n return this._collapsed;\n }\n public set collapsed(v: boolean) {\n this.setOption({\n name: 'collapsed',\n value: v,\n });\n }\n\n ngAfterContentInit(): void {\n this._detectBoundingSize();\n this._loaded = true;\n }\n\n override internalOptionChanged(option: MXComponentOptionChanged): void {\n this._checkProps();\n }\n\n ngDoCheck() {\n this._detectBoundingSize();\n }\n\n private _detectBoundingSize() {\n this._zone.runOutsideAngular(() => {\n const host = this.getHostElement();\n if (host.clientWidth) {\n host.style.setProperty('--ax-el-width', `${host.clientWidth}px`);\n }\n });\n }\n\n private _checkProps() {\n this._detectBoundingSize();\n this._removeBackdrop();\n if (this.mode == 'overlay' && !this.collapsed && this.showBackdrop) {\n this._addBackdrop();\n }\n }\n\n toggle() {\n this.collapsed = !this.collapsed;\n }\n\n close() {\n this.collapsed = true;\n }\n\n open() {\n this.collapsed = false;\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-drawer-${this.mode} ax-drawer-${this.location} ${\n this.collapsed ? 'ax-collapsed' : 'ax-expanded'\n } ${this._loaded ? 'ax-state-loaded' : ''}`;\n }\n\n private _backdropElement: HTMLElement;\n private _loaded = false;\n\n private _addBackdrop() {\n if (isBrowser()) {\n this._zone.runOutsideAngular(() => {\n this._backdropElement = document.createElement('div');\n this._backdropElement.classList.add('ax-backdrop');\n this._backdropElement.onclick = () => {\n this._zone.run(() => {\n this.close();\n });\n };\n this.getHostElement()?.parentElement?.appendChild(this._backdropElement);\n });\n }\n }\n\n private _removeBackdrop() {\n if (isBrowser()) {\n this._zone.runOutsideAngular(() => {\n if (this._backdropElement) {\n this.getHostElement()?.parentElement?.removeChild(this._backdropElement);\n this._backdropElement = null;\n }\n });\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDrawerContainerComponent } from './drawer-container.component';\nimport { AXDrawerComponent } from './drawer.component';\n\nconst COMPONENT = [AXDrawerComponent, AXDrawerContainerComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDrawerModule {}\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 { MXSelectionValueComponent, convertArrayToDataSource, AXListDataSource,
2
2
  import * as i2 from '@angular/cdk/scrolling';
3
3
  import { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';
4
4
  import * as i0 from '@angular/core';
5
- import { signal, EventEmitter, forwardRef, Optional, SkipSelf, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ViewChild, HostListener, HostBinding, NgModule } from '@angular/core';
5
+ import { EventEmitter, signal, forwardRef, Optional, SkipSelf, Component, ChangeDetectionStrategy, ViewEncapsulation, Output, Input, ViewChild, HostListener, HostBinding, NgModule } from '@angular/core';
6
6
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
7
7
  import * as i1 from '@angular/common';
8
8
  import { CommonModule } from '@angular/common';
@@ -12,6 +12,7 @@ import { AXTranslationModule } from '@acorex/core/translation';
12
12
  class AXListComponent extends MXSelectionValueComponent {
13
13
  constructor() {
14
14
  super(...arguments);
15
+ this.onItemClick = new EventEmitter();
15
16
  this.dataSource = convertArrayToDataSource([]);
16
17
  this.itemHeightSignal = signal(40);
17
18
  this.onScrolledIndexChanged = new EventEmitter();
@@ -52,6 +53,13 @@ class AXListComponent extends MXSelectionValueComponent {
52
53
  return;
53
54
  }
54
55
  this.toggleSelect(item);
56
+ this.onItemClick.emit({
57
+ component: this,
58
+ item,
59
+ htmlElement: e.target,
60
+ isUserInteraction: true,
61
+ nativeEvent: e,
62
+ });
55
63
  }
56
64
  _handleKeydown(e) {
57
65
  if ((e.code === 'ArrowDown' || e.code === 'ArrowUp') && this.hasItems) {
@@ -123,7 +131,7 @@ class AXListComponent extends MXSelectionValueComponent {
123
131
  }
124
132
  }
125
133
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
126
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: AXListComponent, selector: "ax-list", inputs: { id: "id", name: "name", disabled: "disabled", readonly: "readonly", valueField: "valueField", textField: "textField", disabledField: "disabledField", multiple: "multiple", selectionMode: "selectionMode", dataSource: "dataSource", itemHeight: "itemHeight", itemTemplate: "itemTemplate", emptyTemplate: "emptyTemplate", loadingTemplate: "loadingTemplate", checkbox: "checkbox" }, outputs: { onValueChanged: "onValueChanged", disabledChange: "disabledChange", readOnlyChange: "readOnlyChange", onBlur: "onBlur", onFocus: "onFocus", onScrolledIndexChanged: "onScrolledIndexChanged" }, host: { listeners: { "keydown": "_handleKeydown($event)" }, properties: { "class": "this.__hostClass" } }, providers: [
134
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: AXListComponent, selector: "ax-list", inputs: { id: "id", name: "name", disabled: "disabled", readonly: "readonly", valueField: "valueField", textField: "textField", disabledField: "disabledField", multiple: "multiple", selectionMode: "selectionMode", dataSource: "dataSource", itemHeight: "itemHeight", itemTemplate: "itemTemplate", emptyTemplate: "emptyTemplate", loadingTemplate: "loadingTemplate", checkbox: "checkbox" }, outputs: { onValueChanged: "onValueChanged", disabledChange: "disabledChange", readOnlyChange: "readOnlyChange", onBlur: "onBlur", onFocus: "onFocus", onItemClick: "onItemClick", onScrolledIndexChanged: "onScrolledIndexChanged" }, host: { listeners: { "keydown": "_handleKeydown($event)" }, properties: { "class": "this.__hostClass" } }, providers: [
127
135
  { provide: AXComponent, useExisting: AXListComponent },
128
136
  { provide: AXFocusableComponent, useExisting: AXListComponent },
129
137
  { provide: AXValuableComponent, useExisting: AXListComponent },
@@ -160,7 +168,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
160
168
  deps: [[new Optional(), new SkipSelf(), AX_SELECTION_DATA_TOKEN]],
161
169
  },
162
170
  ], template: "<div class=\"list-container\" cdkVirtualScrollingElement>\n <ng-content select=\"ax-header\"></ng-content>\n <cdk-virtual-scroll-viewport [itemSize]=\"itemHeightSignal()\" [style.--item-height]=\"itemHeightSignal()+'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\">\n <ul>\n <!-- Item Template -->\n <ng-container *cdkVirtualFor=\"let item of listDataSource;let i = index; trackBy: trackByIdx\">\n <ng-container *ngIf=\"item;else loadingTpl\">\n <li [class.ax-state-selected]=\"isItemSelected(item)\" class=\"list-item\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\" [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\" [attr.data-id]=\"getValue(item)\">\n <!-- Custom Item Template -->\n <ng-container *ngIf=\"itemTemplate;else defaultItemTpl\">\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: { data:item } }\">\n </ng-container>\n </ng-container>\n <!-- Default Item Template -->\n <ng-template #defaultItemTpl>\n <ng-container *ngIf=\"item;else loadingTpl\">\n <div class=\"ax-label-container\">\n <input class=\"ax-checkbox\" *ngIf=\"multiple && checkbox\" type=\"checkbox\"\n [checked]=\"isItemSelected(item)\" [disabled]=\"isItemDisabled(item)\"\n tabindex=\"0\" />\n <span\n [class.ax-checkbox-label]=\"multiple && checkbox\">{{getDisplayText(item)}}</span>\n </div>\n <i class=\"ax-icon ax-icon-done ax-selected-icon\" *ngIf=\"isItemSelected(item) \"></i>\n </ng-container>\n </ng-template>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </cdk-virtual-scroll-viewport>\n <ng-content select=\"ax-footer\"></ng-content>\n</div>\n<!-- Loading Template -->\n<ng-template #loadingTpl>\n <!-- Custom Loading Template -->\n <ng-container *ngIf=\"loadingTemplate;else defaultLoadingTpl\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\n </ng-container>\n </ng-container>\n <!-- Default Loading Template -->\n <ng-template #defaultLoadingTpl>\n <li>{{'loading' | translate | async }}</li>\n </ng-template>\n</ng-template>\n<!-- Empty Template -->\n<ng-container *ngIf=\"emptyTemplate && hasItems===false && isLoading()===false\">\n <div class=\"empty-container\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </div>\n</ng-container>", styles: ["ax-list{display:block;height:100%;width:100%;font-size:.875rem;line-height:1.25rem}ax-list .list-container{display:flex;height:100%;flex-direction:column}ax-list .empty-container{display:flex;height:var(--ax-size-default);width:100%;align-items:center;justify-content:center;padding-left:.75rem;padding-right:.75rem}ax-list.ax-default .cdk-virtual-scroll-viewport ul li{position:relative;display:flex;height:var(--ax-size-default);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;justify-content:space-between;padding-inline-end:1rem;padding-inline-start:.75rem;font-size:.875rem;line-height:1.25rem}ax-list.ax-default .cdk-virtual-scroll-viewport ul li:focus,ax-list.ax-default .cdk-virtual-scroll-viewport ul li:focus-within,ax-list.ax-default .cdk-virtual-scroll-viewport ul li:focus-visible{outline-width:2px;outline-offset:-4px;outline-color:rgba(var(--ax-color-primary-500),1)}ax-list.ax-default .cdk-virtual-scroll-viewport ul li .ax-label-container{display:flex;align-items:center}ax-list.ax-default .cdk-virtual-scroll-viewport ul li .ax-checkbox-label{margin-inline-start:.5rem}ax-list.ax-default .cdk-virtual-scroll-viewport ul li .ax-selected-icon{line-height:2rem;color:rgba(var(--ax-color-primary-500))}ax-list.ax-default .cdk-virtual-scroll-viewport ul li.ax-state-disabled{cursor:not-allowed;opacity:.5}\n"] }]
163
- }], propDecorators: { dataSource: [{
171
+ }], propDecorators: { onItemClick: [{
172
+ type: Output
173
+ }], dataSource: [{
164
174
  type: Input
165
175
  }], itemHeight: [{
166
176
  type: Input
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-list.mjs","sources":["../../../../libs/components/list/src/lib/list.component.ts","../../../../libs/components/list/src/lib/list.component.html","../../../../libs/components/list/src/lib/list.module.ts","../../../../libs/components/list/src/acorex-components-list.ts"],"sourcesContent":["import {\n AXComponent,\n AXDataSource,\n AXEvent,\n AXFocusableComponent,\n AXListDataSource,\n AXValuableComponent,\n AX_SELECTION_DATA_TOKEN,\n MXSelectionBridgeService,\n MXSelectionValueComponent,\n convertArrayToDataSource,\n} from '@acorex/components/common';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnInit,\n Optional,\n Output,\n SkipSelf,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n WritableSignal,\n forwardRef,\n signal,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport interface AXListScrollIndexChanged extends AXEvent {\n index: number;\n}\n\n@Component({\n selector: 'ax-list',\n templateUrl: './list.component.html',\n styleUrls: ['./list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['id', 'name', 'disabled', 'readonly', 'valueField', 'textField', 'disabledField', 'multiple', 'selectionMode'],\n outputs: ['onValueChanged', 'disabledChange', 'readOnlyChange', 'onBlur', 'onFocus'],\n providers: [\n { provide: AXComponent, useExisting: AXListComponent },\n { provide: AXFocusableComponent, useExisting: AXListComponent },\n { provide: AXValuableComponent, useExisting: AXListComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXListComponent),\n multi: true,\n },\n {\n provide: AX_SELECTION_DATA_TOKEN,\n useFactory: (existingService: MXSelectionBridgeService) => {\n return existingService || new MXSelectionBridgeService();\n },\n deps: [[new Optional(), new SkipSelf(), AX_SELECTION_DATA_TOKEN]],\n },\n ],\n})\nexport class AXListComponent extends MXSelectionValueComponent implements OnInit {\n @Input()\n dataSource: AXDataSource<unknown> = convertArrayToDataSource([]);\n\n itemHeightSignal: WritableSignal<number | 'auto'> = signal(40);\n @Input()\n public set itemHeight(v: number | 'auto') {\n this.itemHeightSignal.set(v);\n }\n\n @Input()\n itemTemplate: TemplateRef<unknown>;\n\n @Input()\n emptyTemplate: TemplateRef<unknown>;\n\n @Input()\n loadingTemplate: TemplateRef<unknown>;\n\n @Output()\n onScrolledIndexChanged: EventEmitter<AXListScrollIndexChanged> = new EventEmitter<AXListScrollIndexChanged>();\n\n @Input()\n checkbox = true;\n\n protected listDataSource: AXListDataSource<unknown>;\n protected isLoading: WritableSignal<boolean> = signal(true);\n protected hasItems = false;\n private lastIndex = 0;\n private postponeFocus = false;\n\n @ViewChild(CdkVirtualScrollViewport)\n private viewport: CdkVirtualScrollViewport;\n\n trackByIdx(i) {\n return i;\n }\n\n override ngOnInit() {\n super.ngOnInit();\n this.listDataSource = new AXListDataSource<unknown>({\n source: this.dataSource,\n });\n this.listDataSource.source.onLoadingChanged.subscribe((data) => {\n this.isLoading.set(data);\n });\n this.listDataSource.source.onChanged.subscribe((data) => {\n this.hasItems = data.totalCount > 0;\n setTimeout(() => {\n this.render();\n }, 100);\n });\n }\n\n _handleOnItemClick(e: MouseEvent, item: any) {\n if (this.readonly || this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n if (this.isItemDisabled(item)) {\n return;\n }\n this.toggleSelect(item);\n }\n\n @HostListener('keydown', ['$event'])\n _handleKeydown(e: KeyboardEvent) {\n if ((e.code === 'ArrowDown' || e.code === 'ArrowUp') && this.hasItems) {\n this.focusItemByNav(e.key === 'ArrowDown' ? 1 : -1);\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 focusItemByNav(sign: -1 | 1): void {\n const list = this.getHostElement().querySelector('ul');\n const fn = (s) => list.querySelector<HTMLDivElement>(s);\n const itemDiv: HTMLElement = document.activeElement?.closest('li') || fn(`li.ax-state-selected`) || fn(`li`);\n const next = (sign == 1 ? itemDiv.nextElementSibling : itemDiv.previousElementSibling) as HTMLElement;\n if (next) {\n next.focus();\n }\n }\n\n protected _handleOnscrolledIndexChange(e: number) {\n this.lastIndex = e;\n this.onScrolledIndexChanged.emit({\n component: this,\n index: this.lastIndex,\n isUserInteraction: true,\n });\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n get __hostClass(): string {\n const _class = `ax-default`;\n return this.itemTemplate ? '' : _class;\n }\n\n getItemByKey(key: unknown): Promise<unknown> | unknown {\n return this.dataSource.find(key);\n }\n\n public render() {\n this.viewport.checkViewportSize();\n this.viewport.scrollToIndex(this.lastIndex);\n if (this.postponeFocus) {\n this.postponeFocus = false;\n this.focus();\n }\n }\n\n public refresh() {\n this.clearSelectionCache();\n this.listDataSource.refresh();\n }\n\n public scrollToIndex(index: number) {\n this.viewport.scrollToIndex(index);\n }\n\n override focus(): void {\n const list = this.getHostElement().querySelector('ul');\n const focusable = list.querySelector<HTMLElement>('li.ax-state-selected') ?? list.querySelector<HTMLElement>('li.list-item');\n if (focusable) {\n focusable.focus();\n } else {\n this.postponeFocus = true;\n }\n }\n}\n","<div class=\"list-container\" cdkVirtualScrollingElement>\n <ng-content select=\"ax-header\"></ng-content>\n <cdk-virtual-scroll-viewport [itemSize]=\"itemHeightSignal()\" [style.--item-height]=\"itemHeightSignal()+'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\">\n <ul>\n <!-- Item Template -->\n <ng-container *cdkVirtualFor=\"let item of listDataSource;let i = index; trackBy: trackByIdx\">\n <ng-container *ngIf=\"item;else loadingTpl\">\n <li [class.ax-state-selected]=\"isItemSelected(item)\" class=\"list-item\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\" [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\" [attr.data-id]=\"getValue(item)\">\n <!-- Custom Item Template -->\n <ng-container *ngIf=\"itemTemplate;else defaultItemTpl\">\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: { data:item } }\">\n </ng-container>\n </ng-container>\n <!-- Default Item Template -->\n <ng-template #defaultItemTpl>\n <ng-container *ngIf=\"item;else loadingTpl\">\n <div class=\"ax-label-container\">\n <input class=\"ax-checkbox\" *ngIf=\"multiple && checkbox\" type=\"checkbox\"\n [checked]=\"isItemSelected(item)\" [disabled]=\"isItemDisabled(item)\"\n tabindex=\"0\" />\n <span\n [class.ax-checkbox-label]=\"multiple && checkbox\">{{getDisplayText(item)}}</span>\n </div>\n <i class=\"ax-icon ax-icon-done ax-selected-icon\" *ngIf=\"isItemSelected(item) \"></i>\n </ng-container>\n </ng-template>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </cdk-virtual-scroll-viewport>\n <ng-content select=\"ax-footer\"></ng-content>\n</div>\n<!-- Loading Template -->\n<ng-template #loadingTpl>\n <!-- Custom Loading Template -->\n <ng-container *ngIf=\"loadingTemplate;else defaultLoadingTpl\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\n </ng-container>\n </ng-container>\n <!-- Default Loading Template -->\n <ng-template #defaultLoadingTpl>\n <li>{{'loading' | translate | async }}</li>\n </ng-template>\n</ng-template>\n<!-- Empty Template -->\n<ng-container *ngIf=\"emptyTemplate && hasItems===false && isLoading()===false\">\n <div class=\"empty-container\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </div>\n</ng-container>","import { AXTranslationModule } from '@acorex/core/translation';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXListComponent } from './list.component';\n\nconst COMPONENT = [AXListComponent];\nconst MODULES = [CommonModule, ScrollingModule, AXTranslationModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXListModule {}\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-list.mjs","sources":["../../../../libs/components/list/src/lib/list.component.ts","../../../../libs/components/list/src/lib/list.component.html","../../../../libs/components/list/src/lib/list.module.ts","../../../../libs/components/list/src/acorex-components-list.ts"],"sourcesContent":["import {\n AXComponent,\n AXDataSource,\n AXEvent,\n AXFocusableComponent,\n AXItemClickEvent,\n AXListDataSource,\n AXValuableComponent,\n AX_SELECTION_DATA_TOKEN,\n MXSelectionBridgeService,\n MXSelectionValueComponent,\n convertArrayToDataSource,\n} from '@acorex/components/common';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnInit,\n Optional,\n Output,\n SkipSelf,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n WritableSignal,\n forwardRef,\n signal,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport interface AXListScrollIndexChanged extends AXEvent {\n index: number;\n}\n\n@Component({\n selector: 'ax-list',\n templateUrl: './list.component.html',\n styleUrls: ['./list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['id', 'name', 'disabled', 'readonly', 'valueField', 'textField', 'disabledField', 'multiple', 'selectionMode'],\n outputs: ['onValueChanged', 'disabledChange', 'readOnlyChange', 'onBlur', 'onFocus'],\n providers: [\n { provide: AXComponent, useExisting: AXListComponent },\n { provide: AXFocusableComponent, useExisting: AXListComponent },\n { provide: AXValuableComponent, useExisting: AXListComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXListComponent),\n multi: true,\n },\n {\n provide: AX_SELECTION_DATA_TOKEN,\n useFactory: (existingService: MXSelectionBridgeService) => {\n return existingService || new MXSelectionBridgeService();\n },\n deps: [[new Optional(), new SkipSelf(), AX_SELECTION_DATA_TOKEN]],\n },\n ],\n})\nexport class AXListComponent extends MXSelectionValueComponent implements OnInit {\n\n @Output()\n onItemClick: EventEmitter<AXItemClickEvent<any>> = new EventEmitter<AXItemClickEvent<any>>();\n\n @Input()\n dataSource: AXDataSource<unknown> = convertArrayToDataSource([]);\n\n itemHeightSignal: WritableSignal<number | 'auto'> = signal(40);\n @Input()\n public set itemHeight(v: number | 'auto') {\n this.itemHeightSignal.set(v);\n }\n\n @Input()\n itemTemplate: TemplateRef<unknown>;\n\n @Input()\n emptyTemplate: TemplateRef<unknown>;\n\n @Input()\n loadingTemplate: TemplateRef<unknown>;\n\n @Output()\n onScrolledIndexChanged: EventEmitter<AXListScrollIndexChanged> = new EventEmitter<AXListScrollIndexChanged>();\n\n @Input()\n checkbox = true;\n\n protected listDataSource: AXListDataSource<unknown>;\n protected isLoading: WritableSignal<boolean> = signal(true);\n protected hasItems = false;\n private lastIndex = 0;\n private postponeFocus = false;\n\n @ViewChild(CdkVirtualScrollViewport)\n private viewport: CdkVirtualScrollViewport;\n\n trackByIdx(i) {\n return i;\n }\n\n override ngOnInit() {\n super.ngOnInit();\n this.listDataSource = new AXListDataSource<unknown>({\n source: this.dataSource,\n });\n this.listDataSource.source.onLoadingChanged.subscribe((data) => {\n this.isLoading.set(data);\n });\n this.listDataSource.source.onChanged.subscribe((data) => {\n this.hasItems = data.totalCount > 0;\n setTimeout(() => {\n this.render();\n }, 100);\n });\n }\n\n _handleOnItemClick(e: MouseEvent, item: any) {\n if (this.readonly || this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n if (this.isItemDisabled(item)) {\n return;\n }\n this.toggleSelect(item);\n this.onItemClick.emit({\n component: this,\n item,\n htmlElement: e.target as HTMLElement,\n isUserInteraction: true,\n nativeEvent: e,\n })\n }\n\n @HostListener('keydown', ['$event'])\n _handleKeydown(e: KeyboardEvent) {\n if ((e.code === 'ArrowDown' || e.code === 'ArrowUp') && this.hasItems) {\n this.focusItemByNav(e.key === 'ArrowDown' ? 1 : -1);\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 focusItemByNav(sign: -1 | 1): void {\n const list = this.getHostElement().querySelector('ul');\n const fn = (s) => list.querySelector<HTMLDivElement>(s);\n const itemDiv: HTMLElement = document.activeElement?.closest('li') || fn(`li.ax-state-selected`) || fn(`li`);\n const next = (sign == 1 ? itemDiv.nextElementSibling : itemDiv.previousElementSibling) as HTMLElement;\n if (next) {\n next.focus();\n }\n }\n\n protected _handleOnscrolledIndexChange(e: number) {\n this.lastIndex = e;\n this.onScrolledIndexChanged.emit({\n component: this,\n index: this.lastIndex,\n isUserInteraction: true,\n });\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n get __hostClass(): string {\n const _class = `ax-default`;\n return this.itemTemplate ? '' : _class;\n }\n\n getItemByKey(key: unknown): Promise<unknown> | unknown {\n return this.dataSource.find(key);\n }\n\n public render() {\n this.viewport.checkViewportSize();\n this.viewport.scrollToIndex(this.lastIndex);\n if (this.postponeFocus) {\n this.postponeFocus = false;\n this.focus();\n }\n }\n\n public refresh() {\n this.clearSelectionCache();\n this.listDataSource.refresh();\n }\n\n public scrollToIndex(index: number) {\n this.viewport.scrollToIndex(index);\n }\n\n override focus(): void {\n const list = this.getHostElement().querySelector('ul');\n const focusable = list.querySelector<HTMLElement>('li.ax-state-selected') ?? list.querySelector<HTMLElement>('li.list-item');\n if (focusable) {\n focusable.focus();\n } else {\n this.postponeFocus = true;\n }\n }\n}\n","<div class=\"list-container\" cdkVirtualScrollingElement>\n <ng-content select=\"ax-header\"></ng-content>\n <cdk-virtual-scroll-viewport [itemSize]=\"itemHeightSignal()\" [style.--item-height]=\"itemHeightSignal()+'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\">\n <ul>\n <!-- Item Template -->\n <ng-container *cdkVirtualFor=\"let item of listDataSource;let i = index; trackBy: trackByIdx\">\n <ng-container *ngIf=\"item;else loadingTpl\">\n <li [class.ax-state-selected]=\"isItemSelected(item)\" class=\"list-item\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\" [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\" [attr.data-id]=\"getValue(item)\">\n <!-- Custom Item Template -->\n <ng-container *ngIf=\"itemTemplate;else defaultItemTpl\">\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: { data:item } }\">\n </ng-container>\n </ng-container>\n <!-- Default Item Template -->\n <ng-template #defaultItemTpl>\n <ng-container *ngIf=\"item;else loadingTpl\">\n <div class=\"ax-label-container\">\n <input class=\"ax-checkbox\" *ngIf=\"multiple && checkbox\" type=\"checkbox\"\n [checked]=\"isItemSelected(item)\" [disabled]=\"isItemDisabled(item)\"\n tabindex=\"0\" />\n <span\n [class.ax-checkbox-label]=\"multiple && checkbox\">{{getDisplayText(item)}}</span>\n </div>\n <i class=\"ax-icon ax-icon-done ax-selected-icon\" *ngIf=\"isItemSelected(item) \"></i>\n </ng-container>\n </ng-template>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </cdk-virtual-scroll-viewport>\n <ng-content select=\"ax-footer\"></ng-content>\n</div>\n<!-- Loading Template -->\n<ng-template #loadingTpl>\n <!-- Custom Loading Template -->\n <ng-container *ngIf=\"loadingTemplate;else defaultLoadingTpl\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\n </ng-container>\n </ng-container>\n <!-- Default Loading Template -->\n <ng-template #defaultLoadingTpl>\n <li>{{'loading' | translate | async }}</li>\n </ng-template>\n</ng-template>\n<!-- Empty Template -->\n<ng-container *ngIf=\"emptyTemplate && hasItems===false && isLoading()===false\">\n <div class=\"empty-container\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </div>\n</ng-container>","import { AXTranslationModule } from '@acorex/core/translation';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXListComponent } from './list.component';\n\nconst COMPONENT = [AXListComponent];\nconst MODULES = [CommonModule, ScrollingModule, AXTranslationModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}