@acorex/components 18.5.12 → 18.5.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. package/README.md +29 -4
  2. package/calendar/lib/calendar-range.component.d.ts +2 -1
  3. package/datetime-box/lib/datetime-box.component.d.ts +1 -1
  4. package/dialog/lib/dialog.class.d.ts +1 -0
  5. package/esm2022/calendar/lib/calendar-range.component.mjs +7 -7
  6. package/esm2022/calendar/lib/calendar.component.mjs +3 -3
  7. package/esm2022/datetime-box/lib/datetime-box.component.mjs +2 -2
  8. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +4 -1
  9. package/esm2022/dialog/lib/dialog.class.mjs +1 -1
  10. package/esm2022/dialog/lib/dialog.component.mjs +3 -3
  11. package/esm2022/number-box/lib/number-box.component.mjs +1 -1
  12. package/esm2022/uploader/index.mjs +2 -1
  13. package/esm2022/uploader/lib/uploader-browse-handle.directive.mjs +3 -3
  14. package/esm2022/uploader/lib/uploader-drop-zone.component.mjs +1 -1
  15. package/esm2022/uploader/lib/uploader-zone.directive.mjs +41 -12
  16. package/esm2022/uploader/lib/uploader.models.mjs +37 -31
  17. package/esm2022/uploader/lib/uploader.module.mjs +3 -8
  18. package/esm2022/uploader/lib/uploader.service.mjs +20 -5
  19. package/fesm2022/acorex-components-calendar.mjs +8 -8
  20. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  21. package/fesm2022/acorex-components-datetime-box.mjs +1 -1
  22. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  23. package/fesm2022/acorex-components-datetime-picker.mjs +3 -0
  24. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  25. package/fesm2022/acorex-components-dialog.mjs +2 -2
  26. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  27. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  28. package/fesm2022/acorex-components-uploader.mjs +101 -54
  29. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  30. package/number-box/lib/number-box.component.d.ts +1 -1
  31. package/package.json +47 -47
  32. package/uploader/index.d.ts +1 -0
  33. package/uploader/lib/uploader-zone.directive.d.ts +9 -5
  34. package/uploader/lib/uploader.models.d.ts +26 -9
  35. package/uploader/lib/uploader.module.d.ts +10 -11
  36. package/uploader/lib/uploader.service.d.ts +8 -4
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-calendar.mjs","sources":["../../../../libs/components/calendar/src/lib/calendar.class.ts","../../../../libs/components/calendar/src/lib/calendar.component.ts","../../../../libs/components/calendar/src/lib/calendar.component.html","../../../../libs/components/calendar/src/lib/calendar-range.component.ts","../../../../libs/components/calendar/src/lib/calendar-range.component.html","../../../../libs/components/calendar/src/lib/calendar.module.ts","../../../../libs/components/calendar/src/acorex-components-calendar.ts"],"sourcesContent":["import { AXItemClickEvent, AXRangeChangedEvent, MXBaseComponent } from '@acorex/components/common';\nimport { AXCalendarService, AXDateTime, AXDateTimeRange } from '@acorex/core/date-time';\nimport { EventEmitter, Injectable, Input, Output, TemplateRef, inject } from '@angular/core';\n\nexport type AXCalendarViewType = 'year' | 'month' | 'day';\nexport type AXCalendarViewDepth = AXCalendarViewType;\nexport type AXCalendarDisabledDates = Date[] | ((date: Date) => boolean);\nexport type AXCalendarHolidayDates = Date[] | ((date: Date) => boolean);\nexport type AXCalendarCellCssClass = string | { [key: string]: boolean } | ((date: Date) => string);\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXCalendarNavigateEvent extends AXRangeChangedEvent<Date> {}\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXCalendarSlotClick extends AXItemClickEvent<Date> {}\n\nexport interface AXCalendarViewSlot {\n date: AXDateTime;\n text: string;\n tooltip: string;\n today: boolean;\n selected: boolean;\n disabled: boolean;\n cssClass: { [key: string]: boolean };\n}\nexport interface AXCalendarView {\n range: AXDateTimeRange;\n slots: AXCalendarViewSlot[];\n}\n\n@Injectable()\nexport class MXCalendarBaseComponent extends MXBaseComponent {\n protected calendarService: AXCalendarService = inject(AXCalendarService);\n\n @Input()\n interface: 'calendar' | 'picker' = 'calendar';\n\n @Input()\n cellTemplate?: TemplateRef<unknown>;\n\n @Input()\n cellClass?: AXCalendarCellCssClass;\n\n @Input()\n showNavigation = true;\n\n @Input()\n count = 1;\n\n @Output()\n onSlotClick: EventEmitter<AXCalendarSlotClick> = new EventEmitter<AXCalendarSlotClick>();\n\n @Output()\n onNavigate: EventEmitter<AXCalendarNavigateEvent> = new EventEmitter<AXCalendarNavigateEvent>();\n\n @Output()\n activeViewChange: EventEmitter<AXCalendarViewType> = new EventEmitter<AXCalendarViewType>();\n\n private _activeView: AXCalendarViewType = 'day';\n @Input()\n public get activeView(): AXCalendarViewType {\n return this._activeView;\n }\n public set activeView(v: AXCalendarViewType) {\n this.setOption({\n name: 'activeView',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n @Output()\n public typeChange: EventEmitter<string> = new EventEmitter<string>();\n\n private _type: string;\n\n @Input()\n public get type(): string {\n return this._type || this.calendarService.calendar.name();\n }\n public set type(v: string) {\n this.setOption({\n name: 'type',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n @Output()\n depthChange: EventEmitter<AXCalendarViewDepth> = new EventEmitter<AXCalendarViewDepth>();\n\n private _depth: AXCalendarViewDepth = 'day';\n @Input()\n public get depth(): AXCalendarViewDepth {\n return this._depth;\n }\n public set depth(v: AXCalendarViewDepth) {\n this.setOption({\n name: 'depth',\n value: v,\n beforeCallback: (o, n) => {\n this.activeView = v;\n return n;\n },\n afterCallback: () => {\n this.render();\n },\n });\n }\n\n @Output()\n minValueChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n private _minValue: Date;\n @Input()\n public get minValue(): Date {\n return this._minValue;\n }\n public set minValue(v: Date) {\n this.setOption({\n name: 'minValue',\n value: v,\n afterCallback: () => {\n this.render();\n },\n });\n }\n\n @Output()\n maxValueChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n private _maxValue: Date;\n @Input()\n public get maxValue(): Date {\n return this._maxValue;\n }\n public set maxValue(v: Date) {\n this.setOption({\n name: 'maxValue',\n value: v,\n afterCallback: () => {\n this.render();\n },\n });\n }\n\n @Output()\n disabledDatesChange: EventEmitter<AXCalendarDisabledDates> = new EventEmitter<AXCalendarDisabledDates>();\n\n private _disabledDates: AXCalendarDisabledDates;\n @Input()\n public get disabledDates(): AXCalendarDisabledDates {\n return this._disabledDates;\n }\n public set disabledDates(v: AXCalendarDisabledDates) {\n this.setOption({ name: 'disabledDates', value: v });\n }\n\n @Output()\n holidayDatesChange: EventEmitter<AXCalendarHolidayDates> = new EventEmitter<AXCalendarHolidayDates>();\n\n private _holidayDates: AXCalendarHolidayDates;\n @Input()\n public get holidayDates(): AXCalendarHolidayDates {\n return this._holidayDates;\n }\n public set holidayDates(v: AXCalendarHolidayDates) {\n this.setOption({ name: 'holidayDates', value: v });\n }\n\n render(): void {}\n}\n\nexport const CALENDAR_INPUTS = ['depth', 'activeView', 'min', 'max', 'disabledDates', 'type', 'holidayDates'];\nexport const CALENDAR_OUTPUTS = ['depthChange', 'typeChange', 'disabledDatesChange', 'holidayDatesChange', 'onNavigate'];\n","import {\n AXClickEvent,\n AXValuableComponent,\n MXComponentOptionChanged,\n MXInteractiveComponent,\n MXValueComponent,\n} from '@acorex/components/common';\nimport { AXDateTime, AXDateTimeRange, TimeUnit } from '@acorex/core/date-time';\nimport { ChangeDetectionStrategy, Component, HostBinding, HostListener, ViewEncapsulation, forwardRef } from '@angular/core';\n\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AXCalendarView, AXCalendarViewSlot, AXCalendarViewType, MXCalendarBaseComponent } from './calendar.class';\n\n@Component({\n selector: 'ax-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: [\n 'rtl',\n 'readonly',\n 'value',\n 'name',\n 'disabled',\n 'depth',\n 'activeView',\n 'minValue',\n 'maxValue',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n 'showNavigation',\n 'count',\n 'name',\n 'id',\n ],\n outputs: [\n 'onOptionChanged',\n 'valueChange',\n 'onValueChanged',\n 'minValueChange',\n 'maxValueChange',\n 'onBlur',\n 'onFocus',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick',\n 'countChange',\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCalendarComponent),\n multi: true,\n },\n {\n provide: AXValuableComponent,\n useExisting: AXCalendarComponent,\n },\n AXUnsubscriber,\n ],\n})\nexport class AXCalendarComponent extends classes(MXValueComponent<Date | null>, MXInteractiveComponent, MXCalendarBaseComponent) {\n public get displayRange(): AXDateTimeRange {\n return new AXDateTimeRange(this.views[0].range.startTime, this.views[this.views.length - 1].range.endTime);\n }\n\n private _setDisplayRange(current: AXDateTime): AXDateTimeRange {\n switch (this.activeView) {\n case 'year': {\n const y = current.startOf('year').year;\n const min = y - (y % 10);\n const max = min + 9;\n return new AXDateTimeRange(\n this.calendarService.create(\n {\n year: min,\n month: 1,\n date: 1,\n },\n this.type,\n ),\n this.calendarService.create(\n {\n year: max,\n month: 12,\n date: 28,\n },\n this.type,\n ),\n );\n }\n case 'month':\n return new AXDateTimeRange(current.startOf('year'), current.endOf('year').add('day', -1));\n default:\n return new AXDateTimeRange(current.startOf('month'), current.endOf('month'));\n }\n }\n\n protected _today = this.calendarService.create(new Date(), this.type);\n private _viewStartDate!: AXDateTime;\n private _navUserInteraction = false;\n\n private _footPrint = {\n year: null,\n month: null,\n day: null,\n };\n\n protected views: AXCalendarView[] = [];\n protected _weekdays: number[] = [];\n\n private _initValues() {\n this._today = this.calendarService.create(new Date(), this.type);\n this._weekdays = this._today.calendar.weekdays;\n }\n\n private _refresh() {\n this._initValues();\n this.navTo(this.value || this._today);\n }\n\n constructor(unsubscriber: AXUnsubscriber) {\n super();\n this.calendarService.onHolidaysChanged.pipe(unsubscriber.takeUntilDestroy).subscribe(() => {\n this.render();\n });\n this.calendarService.calendarChanges$.pipe(unsubscriber.takeUntilDestroy).subscribe(() => {\n this._refresh();\n });\n }\n\n protected override ngOnInit() {\n super.ngOnInit();\n this._initValues();\n }\n\n protected ngAfterViewInit(): void {\n if (!this.value) {\n this.goToday();\n }\n }\n\n protected override ngOnDestroy(): void {}\n\n override render() {\n if (!this._viewStartDate) return;\n const applyCellClass = (slot: AXCalendarViewSlot, cellClass: any = this.cellClass) => {\n switch (typeof cellClass) {\n case 'string':\n cellClass.split(' ').forEach((c) => (slot.cssClass[c] = true));\n break;\n case 'object':\n Object.assign(slot.cssClass, cellClass);\n break;\n case 'function':\n applyCellClass(slot, cellClass(slot.date));\n break;\n }\n };\n this.views = [];\n for (let i = 0; i < this.count; i++) {\n let unit: TimeUnit = 'month';\n let value: number = i;\n //\n if (this.activeView == 'day') {\n unit = 'month';\n value = i;\n } else if (this.activeView == 'month') {\n unit = 'year';\n value = i;\n } else {\n unit = 'year';\n value = i * 10;\n }\n //\n const current = this._viewStartDate.add(unit, value);\n const view: AXCalendarView = {\n range: this._setDisplayRange(current),\n slots: [],\n };\n this.views.push(view);\n //\n // year view\n if (this.activeView == 'year') {\n const a = view.range.enumurate('year');\n\n view.slots = a.map((d, i) => {\n const r: any = {};\n r.date = d;\n //\n r.text = d.format('YYYY');\n r.tooltip = d.format('YYYY');\n //\n r.today = d.equal(this._today, 'year');\n //\n r.selected = this.value && this.depth == 'year' && d.equal(this.value, 'year');\n //\n const focused = d.year == this._footPrint.year;\n //\n r.disabled =\n (this.minValue && d.compare(this.minValue, 'year') == -1) || (this.maxValue && d.compare(this.maxValue, 'year') == 1);\n //\n if (r.disabled) {\n r.cssClass = {\n 'ax-state-disabled': r.disabled,\n };\n } else {\n r.cssClass = {\n 'ax-state-today': r.today,\n 'ax-state-selected': r.selected,\n 'ax-state-focused': focused,\n };\n }\n applyCellClass(r);\n return r;\n });\n }\n // month view\n else if (this.activeView == 'month') {\n const a = view.range.enumurate('month');\n view.slots = a.map((d, i) => {\n const r: any = {};\n r.date = d;\n r.text = d.format('MMM');\n r.tooltip = d.format('MMMM YYYY');\n r.today = d.equal(this._today, 'month');\n //\n r.disabled =\n (this.minValue && d.compare(this.minValue, 'month') == -1) || (this.maxValue && d.compare(this.maxValue, 'month') == 1);\n //\n r.selected = this.value && this.depth == 'month' && d.equal(this.value, 'month');\n //\n const focused = d.monthOfYear == this._footPrint.month && d.year == this._footPrint.year;\n //\n if (r.disabled) {\n r.cssClass = {\n 'ax-state-disabled': r.disabled,\n };\n } else {\n r.cssClass = {\n 'ax-state-today': r.today,\n 'ax-state-selected': r.selected,\n 'ax-state-focused': focused,\n };\n }\n applyCellClass(r);\n return r;\n });\n }\n // day view\n else {\n const a = view.range.enumurate('day');\n view.slots = a.map((d, i) => {\n const r: any = {};\n r.date = d;\n r.text = d.dayOfMonth;\n r.tooltip = d.format('longDate');\n r.today = d.equal(this._today, 'day');\n r.selected = this.value && d.equal(this.value, 'day');\n r.holiday = this.isHoliday(d) || this.isWeekend(d);\n r.disabled =\n (this.minValue && d.compare(this.minValue, 'day') == -1) ||\n (this.maxValue && d.compare(this.maxValue, 'day') == 1) ||\n this.isDisabled(d);\n //\n const focused = d.dayOfMonth == this._footPrint.day && d.monthOfYear == this._footPrint.month && d.year == this._footPrint.year;\n //\n if (r.disabled) {\n r.cssClass = {\n 'ax-state-disabled': true,\n };\n } else {\n r.cssClass = {\n 'ax-state-today': r.today,\n 'ax-state-selected': r.selected,\n 'ax-state-holiday': r.holiday,\n //'ax-state-focused': focused,\n };\n }\n // ax-col-start-1 ax-col-start-2 ax-col-start-3 ax-col-start-4 ax-col-start-5 ax-col-start-6 ax-col-start-7\n r.cssClass[`ax-column-start-${view.range.startTime.dayOfWeek}`] = i == 0;\n if (this.cellClass) applyCellClass(r);\n return r;\n });\n }\n }\n this.cdr.markForCheck();\n }\n\n protected _handlePrevClick() {\n this._navUserInteraction = true;\n this.prev();\n this._navUserInteraction = false;\n }\n\n protected _handleNextClick() {\n this._navUserInteraction = true;\n this.next();\n this._navUserInteraction = false;\n }\n\n protected _handleSlotClick(e: MouseEvent, slot: AXCalendarViewSlot) {\n if (slot.disabled || this.disabled) return;\n //\n this.onSlotClick.emit({\n component: this,\n item: slot.date.date,\n isUserInteraction: true,\n nativeEvent: e,\n });\n //\n const val = this.calendarService.create(slot.date.date, this.type);\n if (this.activeView == 'day') {\n this._setDate(slot.date.date);\n } else if (this.activeView == 'month' && this.depth == 'day') {\n this.activeView = 'day';\n this._footPrint.month = val.monthOfYear;\n this.navTo(slot.date);\n } else if (this.activeView == 'month' && this.depth == 'month') {\n this._setDate(slot.date.date);\n } else if (this.activeView == 'year' && (this.depth == 'day' || this.depth == 'month')) {\n this.activeView = 'month';\n this._footPrint.year = val.year;\n this.navTo(slot.date);\n } else if (this.activeView == 'year' && this.depth == 'year') {\n this._setDate(slot.date.date);\n }\n }\n\n protected _handleNavClick(e: AXClickEvent | any, view: AXCalendarViewType) {\n this._navUserInteraction = true;\n this.activeView = view;\n this._navUserInteraction = false;\n }\n\n public toggleView() {\n if (this.activeView == 'day') this.activeView = 'month';\n else if (this.activeView == 'month') this.activeView = 'year';\n }\n\n protected override internalOptionChanged(e: MXComponentOptionChanged) {\n if (e.name == 'depth' || e.name == 'activeView' || e.name == 'disabledDates' || e.name == 'holidayDates') {\n this.render();\n }\n if (e.name == 'type') {\n this._refresh();\n }\n }\n\n protected override internalSetValue(value: Date): Date | null {\n if (!value) return null;\n const v = this.calendarService.convert(value);\n const isDisabled = this.isDisabled(v);\n if (isDisabled) return null;\n else return v.date;\n }\n\n protected override internalValueChanged(value?: Date) {\n const val = this.calendarService.create(value, this.type);\n if (\n !this._viewStartDate ||\n val.compare(this.displayRange.startTime, this.activeView) == -1 ||\n val.compare(this.displayRange.endTime, this.activeView) == 1\n ) {\n this._viewStartDate = this.calendarService.create(value, this.type);\n }\n this._footPrint.year = val.year;\n this._footPrint.month = val.monthOfYear;\n this._footPrint.day = val.dayOfMonth;\n this.render();\n }\n\n protected _handleGoToday() {\n this._navUserInteraction = true;\n this._setDate(this._today.date);\n this.goToday();\n this._navUserInteraction = false;\n }\n\n next() {\n this._navNextPrev(false);\n }\n\n prev() {\n this._navNextPrev(true);\n }\n\n override focus() {\n const func = (s: string) => this.getHostElement().querySelector<HTMLDivElement>(s);\n const div = func('.ax-calendar-slots>div.ax-state-selected') || func('.ax-calendar-slots>div');\n div?.focus();\n }\n\n private _navNextPrev(prev: boolean) {\n const sign = prev ? -1 : 1;\n if (this.activeView == 'day') this.navTo(this._viewStartDate.add('month', sign * 1 * this.count));\n else if (this.activeView == 'month') this.navTo(this._viewStartDate.add('year', sign * 1 * this.count));\n else this.navTo(this._viewStartDate.add('year', sign * 10 * this.count));\n }\n\n goToday() {\n this.navTo(this._today);\n }\n\n navTo(date: Date | AXDateTime) {\n const val = this.calendarService.convert(date, this.type);\n this._viewStartDate = val.startOf();\n this.render();\n //to make sure its rendred and displayRange is not null\n if (this.views.length > 0) {\n const vr = this.displayRange;\n this.onNavigate.emit({\n component: this,\n isUserInteraction: this._navUserInteraction,\n start: vr.startTime?.date,\n end: vr.endTime?.date,\n htmlElement: this.getHostElement(),\n });\n }\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n const _classes = {\n 'ax-state-disabled': this.disabled,\n 'ax-state-readonly': this.readonly,\n };\n return Object.entries(_classes)\n .filter((c) => c[1])\n .map((c) => c[0])\n .join(' ');\n }\n\n private _setDate(value: Date) {\n if (this.readonly || this.disabled) return;\n this.commitValue(this.calendarService.convert(value, this.type).startOf().date, true);\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 isHoliday(date: AXDateTime): boolean {\n const gh = this.calendarService.holidays.some((d) => date.equal(d.date, 'day'));\n let dh = this.calendarService.holidays.some((d) => date.equal(d.date, 'day'));\n if (Array.isArray(this.holidayDates) && this.holidayDates.length != 0) {\n dh = this.holidayDates.some((d) => date.equal(d, 'day'));\n } else if (typeof this.holidayDates == 'function') {\n dh = this.holidayDates(date.date);\n }\n return gh || dh;\n }\n\n protected isWeekend(date: AXDateTime): boolean {\n const weekend = this.calendarService.resolveCalendar(this.type).weekend;\n return weekend.includes(date.dayOfWeek - 1);\n }\n\n @HostListener('keydown', ['$event'])\n _handleOnKeydownEvent(e: KeyboardEvent) {\n //TODO: complete keyboad navigation\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n };\n if (e.code === 'ArrowRight' || e.code === 'ArrowLeft') {\n if (e.ctrlKey) {\n e.code === 'ArrowRight' ? this.next() : this.prev();\n setTimeout(() => {\n this.focus();\n }, 50);\n }\n ignore();\n } else if (e.code === 'ArrowUp' || e.code === 'ArrowDown') {\n if (e.ctrlKey) {\n e.code === 'ArrowUp' ? this.next() : this.prev();\n setTimeout(() => {\n this.focus();\n }, 50);\n }\n ignore();\n }\n }\n\n protected getMonthName(date: AXDateTime, style: 'short' | 'long') {\n return `dateTime.months.${date.calendar.name()}.${style}.${date.monthOfYear - 1}`;\n }\n}\n","<ng-content select=\"ax-header\"></ng-content>\n<div class=\"ax-calendar-body\">\n @for(v of views; let i = $index, first = $first, last = $last; track i){\n @switch (activeView) {\n @case ('year') {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-state-disabled\" (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }} - {{ v.range.endTime.format('YYYY') }}\n </button>\n </div>\n @if(last){\n <div class=\"ax-calendar-header-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-next\" (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n <div class=\"ax-calendar-slots ax-calendar-slots-year\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n @for(slot of v.slots; track slot.text){\n <div tabindex=\"0\" class=\"ax-calendar-slot\" [ngClass]=\"slot.cssClass\" (click)=\"_handleSlotClick($event, slot)\">\n @if(cellTemplate){\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n } @else {\n <div [title]=\"slot.tooltip\">\n {{ slot.text }}\n </div>\n }\n </div>\n }\n </div>\n }\n @case ('month') {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\" (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }}\n </button>\n </div>\n @if(last){\n <div class=\"ax-calendar-header-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n <div class=\"ax-calendar-slots ax-calendar-slots-month\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <div tabindex=\"0\" *ngFor=\"let slot of v.slots\" class=\"ax-calendar-slot\" [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\">\n\n @if(cellTemplate){\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n }@else {\n <div [title]=\"slot.tooltip\">\n {{getMonthName(slot.date,'short') | translate | async }}\n </div>\n }\n\n </div>\n </div>\n }\n @default {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\" (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }}\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\" (click)=\"_handleNavClick($event, 'month')\">\n {{getMonthName(v.range.startTime,'long') | translate | async }}\n </button>\n </div>\n @if(last){\n <div class=\"ax-calendar-header-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n <div class=\"ax-calendar-week\">\n <div *ngFor=\"let d of _weekdays\">{{ ('dateTime.weekdays.short.'+d) | translate | async }}</div>\n </div>\n <div class=\"ax-calendar-slots ax-calendar-slots-day\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <ng-container *ngFor=\"let slot of v.slots\">\n <div tabindex=\"0\" class=\"ax-calendar-slot\" [ngClass]=\"slot.cssClass\" (click)=\"_handleSlotClick($event, slot)\">\n @if(cellTemplate){\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n } @else{\n <div [title]=\"slot.tooltip\">\n {{ slot.text }}\n </div>\n }\n\n </div>\n </ng-container>\n </div>\n }\n }\n }\n\n</div>\n<ng-content select=\"ax-footer\"></ng-content>","import { AXRange, MXInteractiveComponent, MXValueComponent } from '@acorex/components/common';\nimport { AXCalendarService, AXDateTime } from '@acorex/core/date-time';\nimport { AXHtmlUtil } from '@acorex/core/utils';\nimport { AfterViewInit, Component, ViewChild, ViewEncapsulation, inject } from '@angular/core';\nimport { classes } from 'polytype';\nimport { AXCalendarSlotClick, MXCalendarBaseComponent } from './calendar.class';\nimport { AXCalendarComponent } from './calendar.component';\n\n@Component({\n selector: 'ax-calendar-range',\n templateUrl: 'calendar-range.component.html',\n styleUrls: ['calendar-range.component.scss'],\n encapsulation: ViewEncapsulation.None,\n inputs: [\n 'rtl',\n 'readonly',\n 'value',\n 'name',\n 'disabled',\n 'depth',\n 'activeView',\n 'minValue',\n 'maxValue',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n 'showNavigation',\n ],\n outputs: [\n 'onOptionChanged',\n 'valueChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick',\n ],\n})\nexport class AXCalendarRangeComponent\n extends classes(MXValueComponent<AXRange<Date>>, MXInteractiveComponent, MXCalendarBaseComponent)\n implements AfterViewInit\n{\n private _calendarService: AXCalendarService = inject(AXCalendarService);\n\n @ViewChild('c1', { static: true })\n private _c1: AXCalendarComponent;\n\n @ViewChild('c2', { static: true })\n private _c2: AXCalendarComponent;\n\n _navText = '';\n\n protected rtl!: boolean;\n\n constructor() {\n super();\n this.defaultValue = { from: null, end: null };\n }\n\n protected override ngOnInit(): void {\n super.ngOnInit();\n this.rtl = AXHtmlUtil.isRtl(this.getHostElement());\n }\n\n ngAfterViewInit(): void {\n this._syncNav1();\n }\n\n getCellClass = (date: Date) => {\n const d = this._calendarService.create(date, this.type);\n const from = this._calendarService.create(this.value.from, this.type);\n const end = this._calendarService.create(this.value.end, this.type);\n if (this.value.from && d.equal(from, 'day')) {\n return 'ax-range-start';\n }\n if (this.value.end && d.equal(end, 'day')) return 'ax-range-end';\n if (this.value.from && this.value.end && d.compare(from, 'day') > 0 && d.compare(end, 'day') < 0) return 'ax-range-between';\n return null;\n };\n\n protected handleSlotClick(e: AXCalendarSlotClick) {\n if (this._c1.activeView == this.depth) {\n if (!this.value.from || (this.value.from && this.value.end)) {\n this.value.from = e.item;\n this.value.end = null;\n }\n if (this.value.from && e.item <= this.value.from) {\n this.value.from = e.item;\n } else if (this.value.from && !this.value.end) {\n this.value.end = e.item;\n }\n } else {\n if (e.component == this._c1) this._syncNav1();\n if (e.component == this._c2) {\n this._syncNav2(this._calendarService.create(e.item, this.type));\n }\n }\n this._c1.render();\n this._c2.render();\n }\n\n protected handlePrevClick() {\n const view = this._c1.activeView;\n const d1 = this._c1.displayRange.startTime;\n if (view == 'day' || view == 'month') {\n this._c1.prev();\n } else if (view == 'year') {\n this._c1.navTo(d1.add('year', -20));\n }\n }\n\n protected handleNextClick() {\n const view = this._c1.activeView;\n const d1 = this._c1.displayRange.startTime;\n if (view == 'day' || view == 'month') {\n this._c1.next();\n } else if (view == 'year') {\n this._c1.navTo(d1.add('year', 20));\n }\n }\n\n protected handleNavClick() {\n this._c1.toggleView();\n }\n\n private _syncNavText() {\n const view = this._c1.activeView;\n const d1 = this._c1.displayRange.startTime;\n if (view == 'day') {\n const d2 = this._c2.displayRange.endTime;\n this._navText = `${d1.format('MMM yyyy')} - ${d2.format('MMM yyyy')}`;\n } else if (view == 'month') {\n const d2 = this._c2.displayRange.endTime;\n this._navText = `${d1.format('yyyy')} - ${d2.format('yyyy')}`;\n } else if (view == 'year') {\n const d2 = this._c2.displayRange.endTime;\n this._navText = `${d1.format('yyyy')} - ${d2.format('yyyy')}`;\n }\n }\n\n protected handleNavigate() {\n this._syncNav1();\n }\n\n protected handleActiveViewChange1() {\n this._c2.activeView = this._c1.activeView;\n this._syncNav1();\n }\n\n protected handleActiveViewChange2() {\n if (this._c2.activeView != this._c1.activeView) {\n this._c1.activeView = this._c2.activeView;\n }\n }\n\n private _syncNav1() {\n const view = (this._c2.activeView = this._c1.activeView);\n const range = this._c1.displayRange;\n if (view == 'day') {\n this._c2.navTo(range.startTime.add('month', 1));\n } else if (view == 'month') {\n this._c2.navTo(range.startTime.add('year', 1));\n } else if (view == 'year') {\n this._c2.navTo(range.endTime.add('year', 4));\n }\n this._syncNavText();\n }\n\n private _syncNav2(e: AXDateTime) {\n const view = this._c2.activeView;\n if (view == 'month') {\n this._c1.navTo(e.add('month', -1));\n } else if (view == 'year') {\n this._c1.navTo(e.startOf('year'));\n }\n }\n}\n","<div class=\"ax-calendar-range-header\">\n <ng-content></ng-content>\n <div class=\"ax-calendar-header-range-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button\"\n (click)=\"handleNavClick()\">\n {{ _navText }}\n </button>\n </div>\n <div class=\"ax-calendar-header-range-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button ax-button-icon\"\n (click)=\"handlePrevClick()\">\n <i class=\"ax-icon\" [ngClass]=\"{\n 'ax-icon-chevron-left': !rtl,\n 'ax-icon-chevron-right': rtl\n }\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button ax-button-icon\"\n (click)=\"handleNextClick()\">\n <i class=\"ax-icon\" [ngClass]=\"{\n 'ax-icon-chevron-left': rtl,\n 'ax-icon-chevron-right': !rtl\n }\"></i>\n </button>\n </div>\n</div>\n<div class=\"ax-calendar-range-body\">\n <ax-calendar #c1 style=\"width: 50%;\" [showNavigation]=\"false\" [cellClass]=\"getCellClass\" [type]=\"type\"\n [cellTemplate]=\"cellTemplate\" [minValue]=\"minValue\" [maxValue]=\"maxValue\" [readonly]=\"true\" [depth]=\"depth\"\n (onSlotClick)=\"handleSlotClick($event)\" (onNavigate)=\"handleNavigate()\"\n (activeViewChange)=\"handleActiveViewChange1()\">\n </ax-calendar>\n <ax-calendar #c2 style=\"width: 50%;\" [showNavigation]=\"false\" [cellClass]=\"getCellClass\" [type]=\"type\"\n [cellTemplate]=\"cellTemplate\" [minValue]=\"minValue\" [maxValue]=\"maxValue\" [readonly]=\"true\" [depth]=\"depth\"\n (onSlotClick)=\"handleSlotClick($event)\" (activeViewChange)=\"handleActiveViewChange2()\">\n </ax-calendar>\n</div>","import { AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXCalendarRangeComponent } from './calendar-range.component';\nimport { AXCalendarComponent } from './calendar.component';\n\nconst COMPONENT = [AXCalendarComponent, AXCalendarRangeComponent];\nconst MODULES = [CommonModule, AXDateTimeModule, AXTranslationModule, AXTooltipModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.AXCalendarComponent"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-calendar.mjs","sources":["../../../../libs/components/calendar/src/lib/calendar.class.ts","../../../../libs/components/calendar/src/lib/calendar.component.ts","../../../../libs/components/calendar/src/lib/calendar.component.html","../../../../libs/components/calendar/src/lib/calendar-range.component.ts","../../../../libs/components/calendar/src/lib/calendar-range.component.html","../../../../libs/components/calendar/src/lib/calendar.module.ts","../../../../libs/components/calendar/src/acorex-components-calendar.ts"],"sourcesContent":["import { AXItemClickEvent, AXRangeChangedEvent, MXBaseComponent } from '@acorex/components/common';\nimport { AXCalendarService, AXDateTime, AXDateTimeRange } from '@acorex/core/date-time';\nimport { EventEmitter, Injectable, Input, Output, TemplateRef, inject } from '@angular/core';\n\nexport type AXCalendarViewType = 'year' | 'month' | 'day';\nexport type AXCalendarViewDepth = AXCalendarViewType;\nexport type AXCalendarDisabledDates = Date[] | ((date: Date) => boolean);\nexport type AXCalendarHolidayDates = Date[] | ((date: Date) => boolean);\nexport type AXCalendarCellCssClass = string | { [key: string]: boolean } | ((date: Date) => string);\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXCalendarNavigateEvent extends AXRangeChangedEvent<Date> {}\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXCalendarSlotClick extends AXItemClickEvent<Date> {}\n\nexport interface AXCalendarViewSlot {\n date: AXDateTime;\n text: string;\n tooltip: string;\n today: boolean;\n selected: boolean;\n disabled: boolean;\n cssClass: { [key: string]: boolean };\n}\nexport interface AXCalendarView {\n range: AXDateTimeRange;\n slots: AXCalendarViewSlot[];\n}\n\n@Injectable()\nexport class MXCalendarBaseComponent extends MXBaseComponent {\n protected calendarService: AXCalendarService = inject(AXCalendarService);\n\n @Input()\n interface: 'calendar' | 'picker' = 'calendar';\n\n @Input()\n cellTemplate?: TemplateRef<unknown>;\n\n @Input()\n cellClass?: AXCalendarCellCssClass;\n\n @Input()\n showNavigation = true;\n\n @Input()\n count = 1;\n\n @Output()\n onSlotClick: EventEmitter<AXCalendarSlotClick> = new EventEmitter<AXCalendarSlotClick>();\n\n @Output()\n onNavigate: EventEmitter<AXCalendarNavigateEvent> = new EventEmitter<AXCalendarNavigateEvent>();\n\n @Output()\n activeViewChange: EventEmitter<AXCalendarViewType> = new EventEmitter<AXCalendarViewType>();\n\n private _activeView: AXCalendarViewType = 'day';\n @Input()\n public get activeView(): AXCalendarViewType {\n return this._activeView;\n }\n public set activeView(v: AXCalendarViewType) {\n this.setOption({\n name: 'activeView',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n @Output()\n public typeChange: EventEmitter<string> = new EventEmitter<string>();\n\n private _type: string;\n\n @Input()\n public get type(): string {\n return this._type || this.calendarService.calendar.name();\n }\n public set type(v: string) {\n this.setOption({\n name: 'type',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n @Output()\n depthChange: EventEmitter<AXCalendarViewDepth> = new EventEmitter<AXCalendarViewDepth>();\n\n private _depth: AXCalendarViewDepth = 'day';\n @Input()\n public get depth(): AXCalendarViewDepth {\n return this._depth;\n }\n public set depth(v: AXCalendarViewDepth) {\n this.setOption({\n name: 'depth',\n value: v,\n beforeCallback: (o, n) => {\n this.activeView = v;\n return n;\n },\n afterCallback: () => {\n this.render();\n },\n });\n }\n\n @Output()\n minValueChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n private _minValue: Date;\n @Input()\n public get minValue(): Date {\n return this._minValue;\n }\n public set minValue(v: Date) {\n this.setOption({\n name: 'minValue',\n value: v,\n afterCallback: () => {\n this.render();\n },\n });\n }\n\n @Output()\n maxValueChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n private _maxValue: Date;\n @Input()\n public get maxValue(): Date {\n return this._maxValue;\n }\n public set maxValue(v: Date) {\n this.setOption({\n name: 'maxValue',\n value: v,\n afterCallback: () => {\n this.render();\n },\n });\n }\n\n @Output()\n disabledDatesChange: EventEmitter<AXCalendarDisabledDates> = new EventEmitter<AXCalendarDisabledDates>();\n\n private _disabledDates: AXCalendarDisabledDates;\n @Input()\n public get disabledDates(): AXCalendarDisabledDates {\n return this._disabledDates;\n }\n public set disabledDates(v: AXCalendarDisabledDates) {\n this.setOption({ name: 'disabledDates', value: v });\n }\n\n @Output()\n holidayDatesChange: EventEmitter<AXCalendarHolidayDates> = new EventEmitter<AXCalendarHolidayDates>();\n\n private _holidayDates: AXCalendarHolidayDates;\n @Input()\n public get holidayDates(): AXCalendarHolidayDates {\n return this._holidayDates;\n }\n public set holidayDates(v: AXCalendarHolidayDates) {\n this.setOption({ name: 'holidayDates', value: v });\n }\n\n render(): void {}\n}\n\nexport const CALENDAR_INPUTS = ['depth', 'activeView', 'min', 'max', 'disabledDates', 'type', 'holidayDates'];\nexport const CALENDAR_OUTPUTS = ['depthChange', 'typeChange', 'disabledDatesChange', 'holidayDatesChange', 'onNavigate'];\n","import {\n AXClickEvent,\n AXValuableComponent,\n MXComponentOptionChanged,\n MXInteractiveComponent,\n MXValueComponent,\n} from '@acorex/components/common';\nimport { AXDateTime, AXDateTimeRange, TimeUnit } from '@acorex/core/date-time';\nimport { ChangeDetectionStrategy, Component, HostBinding, HostListener, ViewEncapsulation, forwardRef } from '@angular/core';\n\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AXCalendarView, AXCalendarViewSlot, AXCalendarViewType, MXCalendarBaseComponent } from './calendar.class';\n\n@Component({\n selector: 'ax-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: [\n 'rtl',\n 'readonly',\n 'value',\n 'name',\n 'disabled',\n 'depth',\n 'activeView',\n 'minValue',\n 'maxValue',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n 'showNavigation',\n 'count',\n 'name',\n 'id',\n ],\n outputs: [\n 'onOptionChanged',\n 'valueChange',\n 'onValueChanged',\n 'minValueChange',\n 'maxValueChange',\n 'onBlur',\n 'onFocus',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick',\n 'countChange',\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCalendarComponent),\n multi: true,\n },\n {\n provide: AXValuableComponent,\n useExisting: AXCalendarComponent,\n },\n AXUnsubscriber,\n ],\n})\nexport class AXCalendarComponent extends classes(MXValueComponent<Date | null>, MXInteractiveComponent, MXCalendarBaseComponent) {\n public get displayRange(): AXDateTimeRange {\n return new AXDateTimeRange(this.views[0].range.startTime, this.views[this.views.length - 1].range.endTime);\n }\n\n private _setDisplayRange(current: AXDateTime): AXDateTimeRange {\n switch (this.activeView) {\n case 'year': {\n const y = current.startOf('year').year;\n const min = y - (y % 10);\n const max = min + 9;\n return new AXDateTimeRange(\n this.calendarService.create(\n {\n year: min,\n month: 1,\n date: 1,\n },\n this.type,\n ),\n this.calendarService.create(\n {\n year: max,\n month: 12,\n date: 28,\n },\n this.type,\n ),\n );\n }\n case 'month':\n return new AXDateTimeRange(current.startOf('year'), current.endOf('year').add('day', -1));\n default:\n return new AXDateTimeRange(current.startOf('month'), current.endOf('month'));\n }\n }\n\n protected _today = this.calendarService.create(new Date(), this.type);\n private _viewStartDate!: AXDateTime;\n private _navUserInteraction = false;\n\n private _footPrint = {\n year: null,\n month: null,\n day: null,\n };\n\n protected views: AXCalendarView[] = [];\n protected _weekdays: number[] = [];\n\n private _initValues() {\n this._today = this.calendarService.create(new Date(), this.type);\n this._weekdays = this._today.calendar.weekdays;\n }\n\n private _refresh() {\n this._initValues();\n this.navTo(this.value || this._today);\n }\n\n constructor(unsubscriber: AXUnsubscriber) {\n super();\n this.calendarService.onHolidaysChanged.pipe(unsubscriber.takeUntilDestroy).subscribe(() => {\n this.render();\n });\n this.calendarService.calendarChanges$.pipe(unsubscriber.takeUntilDestroy).subscribe(() => {\n this._refresh();\n });\n }\n\n protected override ngOnInit() {\n super.ngOnInit();\n this._initValues();\n }\n\n protected ngAfterViewInit(): void {\n if (!this.value) {\n this.goToday();\n }\n }\n\n protected override ngOnDestroy(): void {}\n\n override render() {\n if (!this._viewStartDate) return;\n const applyCellClass = (slot: AXCalendarViewSlot, cellClass: any = this.cellClass) => {\n switch (typeof cellClass) {\n case 'string':\n cellClass.split(' ').forEach((c) => (slot.cssClass[c] = true));\n break;\n case 'object':\n Object.assign(slot.cssClass, cellClass);\n break;\n case 'function':\n applyCellClass(slot, cellClass(slot.date));\n break;\n }\n };\n this.views = [];\n for (let i = 0; i < this.count; i++) {\n let unit: TimeUnit = 'month';\n let value: number = i;\n //\n if (this.activeView == 'day') {\n unit = 'month';\n value = i;\n } else if (this.activeView == 'month') {\n unit = 'year';\n value = i;\n } else {\n unit = 'year';\n value = i * 10;\n }\n //\n const current = this._viewStartDate.add(unit, value);\n const view: AXCalendarView = {\n range: this._setDisplayRange(current),\n slots: [],\n };\n this.views.push(view);\n //\n // year view\n if (this.activeView == 'year') {\n const a = view.range.enumurate('year');\n\n view.slots = a.map((d, i) => {\n const r: any = {};\n r.date = d;\n //\n r.text = d.format('YYYY');\n r.tooltip = d.format('YYYY');\n //\n r.today = d.equal(this._today, 'year');\n //\n r.selected = this.value && this.depth == 'year' && d.equal(this.value, 'year');\n //\n const focused = d.year == this._footPrint.year;\n //\n r.disabled =\n (this.minValue && d.compare(this.minValue, 'year') == -1) || (this.maxValue && d.compare(this.maxValue, 'year') == 1);\n //\n if (r.disabled) {\n r.cssClass = {\n 'ax-state-disabled': r.disabled,\n };\n } else {\n r.cssClass = {\n 'ax-state-today': r.today,\n 'ax-state-selected': r.selected,\n 'ax-state-focused': focused,\n };\n }\n applyCellClass(r);\n return r;\n });\n }\n // month view\n else if (this.activeView == 'month') {\n const a = view.range.enumurate('month');\n view.slots = a.map((d, i) => {\n const r: any = {};\n r.date = d;\n r.text = d.format('MMM');\n r.tooltip = d.format('MMMM YYYY');\n r.today = d.equal(this._today, 'month');\n //\n r.disabled =\n (this.minValue && d.compare(this.minValue, 'month') == -1) || (this.maxValue && d.compare(this.maxValue, 'month') == 1);\n //\n r.selected = this.value && this.depth == 'month' && d.equal(this.value, 'month');\n //\n const focused = d.monthOfYear == this._footPrint.month && d.year == this._footPrint.year;\n //\n if (r.disabled) {\n r.cssClass = {\n 'ax-state-disabled': r.disabled,\n };\n } else {\n r.cssClass = {\n 'ax-state-today': r.today,\n 'ax-state-selected': r.selected,\n 'ax-state-focused': focused,\n };\n }\n applyCellClass(r);\n return r;\n });\n }\n // day view\n else {\n const a = view.range.enumurate('day');\n view.slots = a.map((d, i) => {\n const r: any = {};\n r.date = d;\n r.text = d.dayOfMonth;\n r.tooltip = d.format('longDate');\n r.today = d.equal(this._today, 'day');\n r.selected = this.value && d.equal(this.value, 'day');\n r.holiday = this.isHoliday(d) || this.isWeekend(d);\n r.disabled =\n (this.minValue && d.compare(this.minValue, 'day') == -1) ||\n (this.maxValue && d.compare(this.maxValue, 'day') == 1) ||\n this.isDisabled(d);\n //\n const focused = d.dayOfMonth == this._footPrint.day && d.monthOfYear == this._footPrint.month && d.year == this._footPrint.year;\n //\n if (r.disabled) {\n r.cssClass = {\n 'ax-state-disabled': true,\n };\n } else {\n r.cssClass = {\n 'ax-state-today': r.today,\n 'ax-state-selected': r.selected,\n 'ax-state-holiday': r.holiday,\n //'ax-state-focused': focused,\n };\n }\n // ax-col-start-1 ax-col-start-2 ax-col-start-3 ax-col-start-4 ax-col-start-5 ax-col-start-6 ax-col-start-7\n r.cssClass[`ax-column-start-${view.range.startTime.dayOfWeek}`] = i == 0;\n if (this.cellClass) applyCellClass(r);\n return r;\n });\n }\n }\n this.cdr.markForCheck();\n }\n\n protected _handlePrevClick() {\n this._navUserInteraction = true;\n this.prev();\n this._navUserInteraction = false;\n }\n\n protected _handleNextClick() {\n this._navUserInteraction = true;\n this.next();\n this._navUserInteraction = false;\n }\n\n protected _handleSlotClick(e: MouseEvent, slot: AXCalendarViewSlot) {\n if (slot.disabled || this.disabled) return;\n //\n this.onSlotClick.emit({\n component: this,\n item: slot.date.date,\n isUserInteraction: true,\n nativeEvent: e,\n });\n //\n const val = this.calendarService.create(slot.date.date, this.type);\n if (this.activeView == 'day') {\n this._setDate(slot.date.date);\n } else if (this.activeView == 'month' && this.depth == 'day') {\n this.activeView = 'day';\n this._footPrint.month = val.monthOfYear;\n this.navTo(slot.date);\n } else if (this.activeView == 'month' && this.depth == 'month') {\n this._setDate(slot.date.date);\n } else if (this.activeView == 'year' && (this.depth == 'day' || this.depth == 'month')) {\n this.activeView = 'month';\n this._footPrint.year = val.year;\n this.navTo(slot.date);\n } else if (this.activeView == 'year' && this.depth == 'year') {\n this._setDate(slot.date.date);\n }\n }\n\n protected _handleNavClick(e: AXClickEvent | any, view: AXCalendarViewType) {\n this._navUserInteraction = true;\n this.activeView = view;\n this._navUserInteraction = false;\n }\n\n public toggleView() {\n if (this.activeView == 'day') this.activeView = 'month';\n else if (this.activeView == 'month') this.activeView = 'year';\n }\n\n protected override internalOptionChanged(e: MXComponentOptionChanged) {\n if (e.name == 'depth' || e.name == 'activeView' || e.name == 'disabledDates' || e.name == 'holidayDates') {\n this.render();\n }\n if (e.name == 'type') {\n this._refresh();\n }\n }\n\n protected override internalSetValue(value: Date): Date | null {\n if (!value) return null;\n const v = this.calendarService.convert(value);\n const isDisabled = this.isDisabled(v);\n if (isDisabled) return null;\n else return v.date;\n }\n\n protected override internalValueChanged(value?: Date) {\n const val = this.calendarService.create(value, this.type);\n if (\n !this._viewStartDate ||\n val.compare(this.displayRange.startTime, this.activeView) == -1 ||\n val.compare(this.displayRange.endTime, this.activeView) == 1\n ) {\n this._viewStartDate = this.calendarService.create(value, this.type);\n }\n this._footPrint.year = val.year;\n this._footPrint.month = val.monthOfYear;\n this._footPrint.day = val.dayOfMonth;\n this.render();\n }\n\n protected _handleGoToday() {\n this._navUserInteraction = true;\n this._setDate(this._today.date);\n this.goToday();\n this._navUserInteraction = false;\n }\n\n next() {\n this._navNextPrev(false);\n }\n\n prev() {\n this._navNextPrev(true);\n }\n\n override focus() {\n const func = (s: string) => this.getHostElement().querySelector<HTMLDivElement>(s);\n const div = func('.ax-calendar-slots>div.ax-state-selected') || func('.ax-calendar-slots>div');\n div?.focus();\n }\n\n private _navNextPrev(prev: boolean) {\n const sign = prev ? -1 : 1;\n if (this.activeView == 'day') this.navTo(this._viewStartDate.add('month', sign * 1 * this.count));\n else if (this.activeView == 'month') this.navTo(this._viewStartDate.add('year', sign * 1 * this.count));\n else this.navTo(this._viewStartDate.add('year', sign * 10 * this.count));\n }\n\n goToday() {\n this.navTo(this._today);\n }\n\n navTo(date: Date | AXDateTime) {\n const val = this.calendarService.convert(date, this.type);\n this._viewStartDate = val.startOf();\n this.render();\n //to make sure its rendred and displayRange is not null\n if (this.views.length > 0) {\n const vr = this.displayRange;\n this.onNavigate.emit({\n component: this,\n isUserInteraction: this._navUserInteraction,\n start: vr.startTime?.date,\n end: vr.endTime?.date,\n htmlElement: this.getHostElement(),\n });\n }\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n const _classes = {\n 'ax-state-disabled': this.disabled,\n 'ax-state-readonly': this.readonly,\n };\n return Object.entries(_classes)\n .filter((c) => c[1])\n .map((c) => c[0])\n .join(' ');\n }\n\n private _setDate(value: Date) {\n if (this.readonly || this.disabled) return;\n this.commitValue(this.calendarService.convert(value, this.type).startOf().date, true);\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 isHoliday(date: AXDateTime): boolean {\n const gh = this.calendarService.holidays.some((d) => date.equal(d.date, 'day'));\n let dh = this.calendarService.holidays.some((d) => date.equal(d.date, 'day'));\n if (Array.isArray(this.holidayDates) && this.holidayDates.length != 0) {\n dh = this.holidayDates.some((d) => date.equal(d, 'day'));\n } else if (typeof this.holidayDates == 'function') {\n dh = this.holidayDates(date.date);\n }\n return gh || dh;\n }\n\n protected isWeekend(date: AXDateTime): boolean {\n const weekend = this.calendarService.resolveCalendar(this.type).weekend;\n return weekend.includes(date.dayOfWeek - 1);\n }\n\n @HostListener('keydown', ['$event'])\n _handleOnKeydownEvent(e: KeyboardEvent) {\n //TODO: complete keyboad navigation\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n };\n if (e.code === 'ArrowRight' || e.code === 'ArrowLeft') {\n if (e.ctrlKey) {\n e.code === 'ArrowRight' ? this.next() : this.prev();\n setTimeout(() => {\n this.focus();\n }, 50);\n }\n ignore();\n } else if (e.code === 'ArrowUp' || e.code === 'ArrowDown') {\n if (e.ctrlKey) {\n e.code === 'ArrowUp' ? this.next() : this.prev();\n setTimeout(() => {\n this.focus();\n }, 50);\n }\n ignore();\n }\n }\n\n protected getMonthName(date: AXDateTime, style: 'short' | 'long') {\n return `dateTime.months.${date.calendar.name()}.${style}.${date.monthOfYear - 1}`;\n }\n}\n","<ng-content select=\"ax-header\"></ng-content>\n<div class=\"ax-calendar-body\">\n @for(v of views; let i = $index, first = $first, last = $last; track i){\n @switch (activeView) {\n @case ('year') {\n @if(showNavigation)\n {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-state-disabled\" (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }} - {{ v.range.endTime.format('YYYY') }}\n </button>\n </div>\n @if(last){\n <div class=\"ax-calendar-header-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-next\" (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-slots ax-calendar-slots-year\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n @for(slot of v.slots; track slot.text){\n <div tabindex=\"0\" class=\"ax-calendar-slot\" [ngClass]=\"slot.cssClass\" (click)=\"_handleSlotClick($event, slot)\">\n @if(cellTemplate){\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n } @else {\n <div [title]=\"slot.tooltip\">\n {{ slot.text }}\n </div>\n }\n </div>\n }\n </div>\n }\n @case ('month') {\n @if(showNavigation)\n {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\" (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }}\n </button>\n </div>\n @if(last){\n <div class=\"ax-calendar-header-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-slots ax-calendar-slots-month\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <div tabindex=\"0\" *ngFor=\"let slot of v.slots\" class=\"ax-calendar-slot\" [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\">\n\n @if(cellTemplate){\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n }@else {\n <div [title]=\"slot.tooltip\">\n {{getMonthName(slot.date,'short') | translate | async }}\n </div>\n }\n\n </div>\n </div>\n }\n @default {\n @if(showNavigation)\n {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\" (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }}\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\" (click)=\"_handleNavClick($event, 'month')\">\n {{getMonthName(v.range.startTime,'long') | translate | async }}\n </button>\n </div>\n @if(last){\n <div class=\"ax-calendar-header-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-week\">\n <div *ngFor=\"let d of _weekdays\">{{ ('dateTime.weekdays.short.'+d) | translate | async }}</div>\n </div>\n <div class=\"ax-calendar-slots ax-calendar-slots-day\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <ng-container *ngFor=\"let slot of v.slots\">\n <div tabindex=\"0\" class=\"ax-calendar-slot\" [ngClass]=\"slot.cssClass\" (click)=\"_handleSlotClick($event, slot)\">\n @if(cellTemplate){\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n } @else{\n <div [title]=\"slot.tooltip\">\n {{ slot.text }}\n </div>\n }\n\n </div>\n </ng-container>\n </div>\n }\n }\n }\n\n</div>\n<ng-content select=\"ax-footer\"></ng-content>","import { AXRange, MXInteractiveComponent, MXValueComponent } from '@acorex/components/common';\nimport { AXCalendarService, AXDateTime } from '@acorex/core/date-time';\nimport { AXHtmlUtil } from '@acorex/core/utils';\nimport { AfterViewInit, Component, ViewChild, ViewEncapsulation, inject } from '@angular/core';\nimport { classes } from 'polytype';\nimport { AXCalendarSlotClick, MXCalendarBaseComponent } from './calendar.class';\nimport { AXCalendarComponent } from './calendar.component';\n\n@Component({\n selector: 'ax-calendar-range',\n templateUrl: 'calendar-range.component.html',\n styleUrls: ['calendar-range.component.scss'],\n encapsulation: ViewEncapsulation.None,\n inputs: [\n 'rtl',\n 'readonly',\n 'value',\n 'name',\n 'disabled',\n 'depth',\n 'activeView',\n 'minValue',\n 'maxValue',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n 'showNavigation',\n ],\n outputs: [\n 'onOptionChanged',\n 'valueChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick',\n ],\n})\nexport class AXCalendarRangeComponent\n extends classes(MXValueComponent<AXRange<Date>>, MXInteractiveComponent, MXCalendarBaseComponent)\n implements AfterViewInit\n{\n private _calendarService: AXCalendarService = inject(AXCalendarService);\n\n @ViewChild('c1', { static: true })\n private _c1: AXCalendarComponent;\n\n @ViewChild('c2', { static: true })\n private _c2: AXCalendarComponent;\n\n _navText = '';\n\n protected rtl!: boolean;\n\n constructor() {\n super();\n this.defaultValue = { from: null, end: null };\n }\n\n protected override ngOnInit(): void {\n super.ngOnInit();\n this.rtl = AXHtmlUtil.isRtl(this.getHostElement());\n }\n\n ngAfterViewInit(): void {\n this._syncNav1();\n }\n\n getCellClass = (date: AXDateTime) => {\n //const d = this._calendarService.create(date, this.type);\n const from = this._calendarService.create(this.value.from, this.type);\n const end = this._calendarService.create(this.value.end, this.type);\n if (this.value.from && date.equal(from, 'day')) {\n return 'ax-range-start';\n }\n if (this.value.end && date.equal(end, 'day')) return 'ax-range-end';\n if (this.value.from && this.value.end && date.compare(from, 'day') > 0 && date.compare(end, 'day') < 0) return 'ax-range-between';\n return null;\n };\n\n protected handleSlotClick(e: AXCalendarSlotClick) {\n if (this._c1.activeView == this.depth) {\n if (!this.value.from || (this.value.from && this.value.end)) {\n this.value.from = e.item;\n this.value.end = null;\n }\n if (this.value.from && e.item <= this.value.from) {\n this.value.from = e.item;\n } else if (this.value.from && !this.value.end) {\n this.value.end = e.item;\n }\n } else {\n if (e.component == this._c1) this._syncNav1();\n if (e.component == this._c2) {\n this._syncNav2(this._calendarService.create(e.item, this.type));\n }\n }\n this._c1.render();\n this._c2.render();\n }\n\n protected handlePrevClick() {\n const view = this._c1.activeView;\n const d1 = this._c1.displayRange.startTime;\n if (view == 'day' || view == 'month') {\n this._c1.prev();\n } else if (view == 'year') {\n this._c1.navTo(d1.add('year', -20));\n }\n }\n\n protected handleNextClick() {\n const view = this._c1.activeView;\n const d1 = this._c1.displayRange.startTime;\n if (view == 'day' || view == 'month') {\n this._c1.next();\n } else if (view == 'year') {\n this._c1.navTo(d1.add('year', 20));\n }\n }\n\n protected handleNavClick() {\n this._c1.toggleView();\n }\n\n private _syncNavText() {\n const view = this._c1.activeView;\n const d1 = this._c1.displayRange.startTime;\n if (view == 'day') {\n const d2 = this._c2.displayRange.endTime;\n this._navText = `${d1.format('MMM yyyy')} - ${d2.format('MMM yyyy')}`;\n } else if (view == 'month') {\n const d2 = this._c2.displayRange.endTime;\n this._navText = `${d1.format('yyyy')} - ${d2.format('yyyy')}`;\n } else if (view == 'year') {\n const d2 = this._c2.displayRange.endTime;\n this._navText = `${d1.format('yyyy')} - ${d2.format('yyyy')}`;\n }\n }\n\n protected handleNavigate() {\n this._syncNav1();\n }\n\n protected handleActiveViewChange1() {\n this._c2.activeView = this._c1.activeView;\n this._syncNav1();\n }\n\n protected handleActiveViewChange2() {\n if (this._c2.activeView != this._c1.activeView) {\n this._c1.activeView = this._c2.activeView;\n }\n }\n\n private _syncNav1() {\n const view = (this._c2.activeView = this._c1.activeView);\n const range = this._c1.displayRange;\n if (view == 'day') {\n this._c2.navTo(range.startTime.add('month', 1));\n } else if (view == 'month') {\n this._c2.navTo(range.startTime.add('year', 1));\n } else if (view == 'year') {\n this._c2.navTo(range.endTime.add('year', 4));\n }\n this._syncNavText();\n }\n\n private _syncNav2(e: AXDateTime) {\n const view = this._c2.activeView;\n if (view == 'month') {\n this._c1.navTo(e.add('month', -1));\n } else if (view == 'year') {\n this._c1.navTo(e.startOf('year'));\n }\n }\n}\n","<div class=\"ax-calendar-range-header\">\n <ng-content></ng-content>\n <div class=\"ax-calendar-header-range-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button\"\n (click)=\"handleNavClick()\">\n {{ _navText }}\n </button>\n </div>\n <div class=\"ax-calendar-header-range-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button ax-button-icon\"\n (click)=\"handlePrevClick()\">\n <i class=\"ax-icon\" [ngClass]=\"{\n 'ax-icon-chevron-left': !rtl,\n 'ax-icon-chevron-right': rtl\n }\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button ax-button-icon\"\n (click)=\"handleNextClick()\">\n <i class=\"ax-icon\" [ngClass]=\"{\n 'ax-icon-chevron-left': rtl,\n 'ax-icon-chevron-right': !rtl\n }\"></i>\n </button>\n </div>\n</div>\n<div class=\"ax-calendar-range-body\">\n <ax-calendar #c1 [showNavigation]=\"false\" [cellClass]=\"getCellClass\" [type]=\"type\" [cellTemplate]=\"cellTemplate\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [depth]=\"depth\" (onSlotClick)=\"handleSlotClick($event)\"\n (onNavigate)=\"handleNavigate()\" (activeViewChange)=\"handleActiveViewChange1()\">\n </ax-calendar>\n <ax-calendar #c2 [showNavigation]=\"false\" [cellClass]=\"getCellClass\" [type]=\"type\" [cellTemplate]=\"cellTemplate\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [depth]=\"depth\" (onSlotClick)=\"handleSlotClick($event)\"\n (activeViewChange)=\"handleActiveViewChange2()\">\n </ax-calendar>\n</div>","import { AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXCalendarRangeComponent } from './calendar-range.component';\nimport { AXCalendarComponent } from './calendar.component';\n\nconst COMPONENT = [AXCalendarComponent, AXCalendarRangeComponent];\nconst MODULES = [CommonModule, AXDateTimeModule, AXTranslationModule, AXTooltipModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.AXCalendarComponent"],"mappings":"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"}
@@ -60,7 +60,7 @@ class AXDateTimeBoxComponent extends classes((MXInputBaseValueComponent), MXCale
60
60
  _handleCalendarOnNavigate(e) {
61
61
  this.onNavigate.emit(e);
62
62
  }
63
- internalValueChanged() {
63
+ internalValueChanged(value) {
64
64
  this.close();
65
65
  }
66
66
  _handleInputOnClick() {
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-datetime-box.mjs","sources":["../../../../libs/components/datetime-box/src/lib/datetime-box.component.ts","../../../../libs/components/datetime-box/src/lib/datetime-box.component.html","../../../../libs/components/datetime-box/src/lib/datetime-box.module.ts","../../../../libs/components/datetime-box/src/acorex-components-datetime-box.ts"],"sourcesContent":["import { AXCalendarNavigateEvent, MXCalendarBaseComponent } from '@acorex/components/calendar';\nimport {\n AXClearableComponent,\n AXComponent,\n AXEvent,\n AXFocusEvent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport { AXDateTimeInputComponent } from '@acorex/components/datetime-input';\nimport { AXDateTimePickerComponent } from '@acorex/components/datetime-picker';\nimport { AXDropdownBoxComponent, MXDropdownBoxBaseComponent } from '@acorex/components/dropdown';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n input,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\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-datetime-box',\n templateUrl: './datetime-box.component.html',\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'minValue',\n 'maxValue',\n 'value',\n 'state',\n 'name',\n 'depth',\n 'id',\n 'type',\n 'look',\n 'holidayDates',\n ],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'onOpened',\n 'onClosed',\n 'readonlyChange',\n 'disabledChange',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXClearableComponent, useExisting: AXDateTimeBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimeBoxComponent),\n multi: true,\n },\n ],\n host: { ngSkipHydration: 'true' },\n})\nexport class AXDateTimeBoxComponent extends classes(\n MXInputBaseValueComponent<Date>,\n MXCalendarBaseComponent,\n MXDropdownBoxBaseComponent,\n MXLookComponent,\n) {\n @ViewChild(AXDateTimeInputComponent)\n protected input: AXDateTimeInputComponent;\n\n @ViewChild(AXDateTimePickerComponent)\n protected picker: AXDateTimePickerComponent;\n\n @ViewChild(AXDropdownBoxComponent)\n protected dropdown: AXDropdownBoxComponent;\n\n @Output()\n formatChange = new EventEmitter<string>();\n\n allowTyping = input<boolean>(false);\n\n private _format = this.calendarService.calendar.formats.dateTimeInput;\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 });\n }\n\n protected _handleInputModelChange(value: Date | null) {\n this.commitValue(value, true);\n }\n\n protected _handlePickerModelChange(value: Date | null) {\n if (this.isOpen) this.commitValue(value, true);\n }\n\n protected _handleOnOpenedEvent(e: AXEvent) {\n //this.emitOnFocusEvent(null);\n this.picker?.refresh();\n this.emitOnOpenedEvent();\n }\n\n protected _handleOnClosedEvent(e: AXEvent) {\n //this.emitOnBlurEvent(null);\n this.input.focus();\n this.emitOnClosedEvent();\n }\n\n protected _handleInputOnFocusEvent(e: AXFocusEvent) {\n this.emitOnFocusEvent(e.nativeEvent);\n }\n\n protected _handleInputOnBlurEvent(e: AXFocusEvent) {\n this.emitOnBlurEvent(e.nativeEvent);\n }\n\n protected _handleCalendarOnNavigate(e: AXCalendarNavigateEvent) {\n this.onNavigate.emit(e);\n }\n\n override internalValueChanged(): void {\n this.close();\n }\n\n protected _handleInputOnClick() {\n if (!this.allowTyping()) {\n this.open();\n } else {\n this.close();\n }\n }\n}\n","<ax-dropdown-box [disabled]=\"disabled\" (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\" [look]=\"look\">\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input id=\"{{ id }}-input\" [ngModel]=\"value\" [allowTyping]=\"allowTyping()\"\n (ngModelChange)=\"_handleInputModelChange($event)\" [placeholder]=\"placeholder\" [format]=\"format\"\n [disabled]=\"disabled\" [readonly]=\"readonly\" [type]=\"type\" (onFocus)=\"_handleInputOnFocusEvent($event)\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\" (onClick)=\"_handleInputOnClick()\"></ax-datetime-input>\n @if(value && !disabled && !readonly){\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-general-button ax-button-icon\" [tabIndex]=\"-1\" [disabled]=\"disabled\"\n (click)=\"toggle()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n </ng-container>\n <ng-container panel>\n <ax-datetime-picker [depth]=\"depth\" id=\"{{ id }}-picker\" #picker [ngModel]=\"value\"\n (ngModelChange)=\"_handlePickerModelChange($event)\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [format]=\"format\" [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\" [depth]=\"depth\" [type]=\"type\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"></ax-datetime-picker>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>","import { AXCalendarModule } from '@acorex/components/calendar';\nimport { AXDateTimeInputModule } from '@acorex/components/datetime-input';\nimport { AXDateTimePickerModule } from '@acorex/components/datetime-picker';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDateTimeBoxComponent } from './datetime-box.component';\n\nconst COMPONENT = [AXDateTimeBoxComponent];\nconst MODULES = [CommonModule, FormsModule, AXDateTimeInputModule, AXDropdownModule, AXCalendarModule, AXDateTimePickerModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDateTimeBoxModule {}\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-box.mjs","sources":["../../../../libs/components/datetime-box/src/lib/datetime-box.component.ts","../../../../libs/components/datetime-box/src/lib/datetime-box.component.html","../../../../libs/components/datetime-box/src/lib/datetime-box.module.ts","../../../../libs/components/datetime-box/src/acorex-components-datetime-box.ts"],"sourcesContent":["import { AXCalendarNavigateEvent, MXCalendarBaseComponent } from '@acorex/components/calendar';\nimport {\n AXClearableComponent,\n AXComponent,\n AXEvent,\n AXFocusEvent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport { AXDateTimeInputComponent } from '@acorex/components/datetime-input';\nimport { AXDateTimePickerComponent } from '@acorex/components/datetime-picker';\nimport { AXDropdownBoxComponent, MXDropdownBoxBaseComponent } from '@acorex/components/dropdown';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n input,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\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-datetime-box',\n templateUrl: './datetime-box.component.html',\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'minValue',\n 'maxValue',\n 'value',\n 'state',\n 'name',\n 'depth',\n 'id',\n 'type',\n 'look',\n 'holidayDates',\n ],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'onOpened',\n 'onClosed',\n 'readonlyChange',\n 'disabledChange',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXClearableComponent, useExisting: AXDateTimeBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimeBoxComponent),\n multi: true,\n },\n ],\n host: { ngSkipHydration: 'true' },\n})\nexport class AXDateTimeBoxComponent extends classes(\n MXInputBaseValueComponent<Date>,\n MXCalendarBaseComponent,\n MXDropdownBoxBaseComponent,\n MXLookComponent,\n) {\n @ViewChild(AXDateTimeInputComponent)\n protected input: AXDateTimeInputComponent;\n\n @ViewChild(AXDateTimePickerComponent)\n protected picker: AXDateTimePickerComponent;\n\n @ViewChild(AXDropdownBoxComponent)\n protected dropdown: AXDropdownBoxComponent;\n\n @Output()\n formatChange = new EventEmitter<string>();\n\n allowTyping = input<boolean>(false);\n\n private _format = this.calendarService.calendar.formats.dateTimeInput;\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 });\n }\n\n protected _handleInputModelChange(value: Date | null) {\n this.commitValue(value, true);\n }\n\n protected _handlePickerModelChange(value: Date | null) {\n if (this.isOpen) this.commitValue(value, true);\n }\n\n protected _handleOnOpenedEvent(e: AXEvent) {\n //this.emitOnFocusEvent(null);\n this.picker?.refresh();\n this.emitOnOpenedEvent();\n }\n\n protected _handleOnClosedEvent(e: AXEvent) {\n //this.emitOnBlurEvent(null);\n this.input.focus();\n this.emitOnClosedEvent();\n }\n\n protected _handleInputOnFocusEvent(e: AXFocusEvent) {\n this.emitOnFocusEvent(e.nativeEvent);\n }\n\n protected _handleInputOnBlurEvent(e: AXFocusEvent) {\n this.emitOnBlurEvent(e.nativeEvent);\n }\n\n protected _handleCalendarOnNavigate(e: AXCalendarNavigateEvent) {\n this.onNavigate.emit(e);\n }\n\n override internalValueChanged(value): void {\n this.close();\n }\n\n protected _handleInputOnClick() {\n if (!this.allowTyping()) {\n this.open();\n } else {\n this.close();\n }\n }\n}\n","<ax-dropdown-box [disabled]=\"disabled\" (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\" [look]=\"look\">\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input id=\"{{ id }}-input\" [ngModel]=\"value\" [allowTyping]=\"allowTyping()\"\n (ngModelChange)=\"_handleInputModelChange($event)\" [placeholder]=\"placeholder\" [format]=\"format\"\n [disabled]=\"disabled\" [readonly]=\"readonly\" [type]=\"type\" (onFocus)=\"_handleInputOnFocusEvent($event)\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\" (onClick)=\"_handleInputOnClick()\"></ax-datetime-input>\n @if(value && !disabled && !readonly){\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-general-button ax-button-icon\" [tabIndex]=\"-1\" [disabled]=\"disabled\"\n (click)=\"toggle()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n </ng-container>\n <ng-container panel>\n <ax-datetime-picker [depth]=\"depth\" id=\"{{ id }}-picker\" #picker [ngModel]=\"value\"\n (ngModelChange)=\"_handlePickerModelChange($event)\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [format]=\"format\" [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\" [depth]=\"depth\" [type]=\"type\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"></ax-datetime-picker>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>","import { AXCalendarModule } from '@acorex/components/calendar';\nimport { AXDateTimeInputModule } from '@acorex/components/datetime-input';\nimport { AXDateTimePickerModule } from '@acorex/components/datetime-picker';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDateTimeBoxComponent } from './datetime-box.component';\n\nconst COMPONENT = [AXDateTimeBoxComponent];\nconst MODULES = [CommonModule, FormsModule, AXDateTimeInputModule, AXDropdownModule, AXCalendarModule, AXDateTimePickerModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDateTimeBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -151,6 +151,9 @@ class AXDateTimePickerComponent extends classes(MXCalendarBaseComponent, (MXValu
151
151
  if (value) {
152
152
  this._editingDateObj = this._calendarService.create(value);
153
153
  }
154
+ else {
155
+ this._editingDateObj = this._calendarService.now(this.type);
156
+ }
154
157
  }
155
158
  detectButtonText() {
156
159
  this.buttonText = this._activePart === 'date' ? 'dateTime.today' : 'dateTime.now';
@@ -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 = 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(config: PartialDateTimePickerConfig = {}): AXDateTimePickerConfig {\n const result = {\n ...AXDateTimePickerDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { AXCalendarNavigateEvent, MXCalendarBaseComponent } from '@acorex/components/calendar';\nimport { AXComponent, AXFocusableComponent, AXValuableComponent, AXValueChangedEvent, MXValueComponent } from '@acorex/components/common';\nimport { AXPickerComponent } from '@acorex/components/picker';\nimport { AXTabStripChangedEvent, AXTabsComponent } from '@acorex/components/tabs';\nimport { AXCalendarService, AXDateTime, AXDateTimeParts, TimeUnit } 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} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AXDateTimePickerConfig, AX_DATETIME_PICKER_CONFIG } 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 extends classes(MXCalendarBaseComponent, MXValueComponent<Date>) implements OnInit {\n buttonText = '';\n\n private defaultConfig: AXDateTimePickerConfig = inject(AX_DATETIME_PICKER_CONFIG);\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: () => 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: () => 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: () => 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 = 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(e: AXValueChangedEvent<Date>, part: string) {\n if (e.isUserInteraction) {\n this._editingDateObj = this._editingDateObj.set(part as TimeUnit, Number(e.value['id']));\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) => c.placeholders.some((d) => d == f));\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 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) return null;\n const v = this.calendarService.convert(value);\n const isDisabled = this.isDisabled(v);\n if (isDisabled) 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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"}
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 = 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(config: PartialDateTimePickerConfig = {}): AXDateTimePickerConfig {\n const result = {\n ...AXDateTimePickerDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { AXCalendarNavigateEvent, MXCalendarBaseComponent } from '@acorex/components/calendar';\nimport { AXComponent, AXFocusableComponent, AXValuableComponent, AXValueChangedEvent, MXValueComponent } from '@acorex/components/common';\nimport { AXPickerComponent } from '@acorex/components/picker';\nimport { AXTabStripChangedEvent, AXTabsComponent } from '@acorex/components/tabs';\nimport { AXCalendarService, AXDateTime, AXDateTimeParts, TimeUnit } 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} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AXDateTimePickerConfig, AX_DATETIME_PICKER_CONFIG } 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 extends classes(MXCalendarBaseComponent, MXValueComponent<Date>) implements OnInit {\n buttonText = '';\n\n private defaultConfig: AXDateTimePickerConfig = inject(AX_DATETIME_PICKER_CONFIG);\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: () => 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: () => 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: () => 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 else {\n this._editingDateObj = this._calendarService.now(this.type);\n }\n }\n\n protected detectButtonText() {\n this.buttonText = 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(e: AXValueChangedEvent<Date>, part: string) {\n if (e.isUserInteraction) {\n this._editingDateObj = this._editingDateObj.set(part as TimeUnit, Number(e.value['id']));\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) => c.placeholders.some((d) => d == f));\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 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) return null;\n const v = this.calendarService.convert(value);\n const isDisabled = this.isDisabled(v);\n if (isDisabled) 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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"}