@acorex/components 18.14.1-next.5 → 18.15.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. package/comment/lib/comment-container/comment-container.component.d.ts +1 -0
  2. package/common/lib/components/value-component.class.d.ts +1 -0
  3. package/common/lib/directives/auto-focus.directive.d.ts +1 -0
  4. package/common/lib/directives/ripple.directive.d.ts +1 -0
  5. package/data-table/lib/columns/data-table-column-resizable.directive.d.ts +1 -0
  6. package/data-table/lib/data-table/data-table.component.d.ts +61 -60
  7. package/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts +7 -6
  8. package/drawer/lib/drawer/drawer-item/drawer.component.d.ts +2 -0
  9. package/esm2022/audio-wave/lib/audio-wave.component.mjs +79 -14
  10. package/esm2022/avatar/lib/avatar.component.mjs +2 -2
  11. package/esm2022/button/lib/button.component.mjs +2 -2
  12. package/esm2022/calendar/lib/calendar-range.component.mjs +2 -2
  13. package/esm2022/calendar/lib/calendar.component.mjs +3 -3
  14. package/esm2022/comment/lib/comment-container/comment-container.component.mjs +7 -3
  15. package/esm2022/common/lib/components/value-component.class.mjs +4 -2
  16. package/esm2022/common/lib/directives/auto-focus.directive.mjs +5 -3
  17. package/esm2022/common/lib/directives/inverted-color.directive.mjs +1 -1
  18. package/esm2022/common/lib/directives/ripple.directive.mjs +5 -3
  19. package/esm2022/conversation/lib/conversation-message/conversation-message.component.mjs +2 -2
  20. package/esm2022/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.mjs +2 -2
  21. package/esm2022/cron-job/index.mjs +1 -1
  22. package/esm2022/cron-job/lib/cron-job-container/cron-job-container.component.mjs +3 -3
  23. package/esm2022/cron-job/lib/day/day.component.mjs +3 -3
  24. package/esm2022/cron-job/lib/hours/hours.component.mjs +3 -3
  25. package/esm2022/cron-job/lib/minutes/minutes.component.mjs +3 -3
  26. package/esm2022/cron-job/lib/month/month.component.mjs +3 -3
  27. package/esm2022/cron-job/lib/seconds/seconds.component.mjs +3 -3
  28. package/esm2022/cron-job/lib/year/year.component.mjs +3 -3
  29. package/esm2022/data-table/lib/columns/data-table-column-resizable.directive.mjs +9 -7
  30. package/esm2022/data-table/lib/data-table/data-table.component.mjs +71 -67
  31. package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs +16 -11
  32. package/esm2022/drawer/lib/drawer/drawer-item/drawer.component.mjs +5 -2
  33. package/esm2022/list/lib/list.component.mjs +17 -5
  34. package/esm2022/loading/lib/loading-spinner.component.mjs +2 -2
  35. package/esm2022/loading-dialog/lib/loading-dialog.component.mjs +2 -2
  36. package/esm2022/menu/lib/context-menu.component.mjs +28 -21
  37. package/esm2022/password-box/lib/password-box.component.mjs +13 -5
  38. package/esm2022/password-box/lib/password-box.module.mjs +19 -3
  39. package/esm2022/password-box/lib/password-strength-validation/password-strength-validation.component.mjs +36 -14
  40. package/esm2022/popover/lib/popover.component.mjs +5 -3
  41. package/esm2022/popup/lib/popup.component.mjs +2 -2
  42. package/esm2022/uploader/lib/uploader-zone.directive.mjs +7 -5
  43. package/fesm2022/acorex-components-audio-wave.mjs +78 -13
  44. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  45. package/fesm2022/acorex-components-avatar.mjs +2 -2
  46. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  47. package/fesm2022/acorex-components-button.mjs +2 -2
  48. package/fesm2022/acorex-components-calendar.mjs +4 -4
  49. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  50. package/fesm2022/acorex-components-comment.mjs +7 -4
  51. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  52. package/fesm2022/acorex-components-common.mjs +6 -3
  53. package/fesm2022/acorex-components-common.mjs.map +1 -1
  54. package/fesm2022/acorex-components-conversation.mjs +2 -2
  55. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  56. package/fesm2022/acorex-components-cron-job.mjs +14 -14
  57. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  58. package/fesm2022/acorex-components-data-table.mjs +89 -81
  59. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  60. package/fesm2022/acorex-components-drawer.mjs +4 -2
  61. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  62. package/fesm2022/acorex-components-list.mjs +16 -4
  63. package/fesm2022/acorex-components-list.mjs.map +1 -1
  64. package/fesm2022/acorex-components-loading-dialog.mjs +2 -2
  65. package/fesm2022/acorex-components-loading.mjs +2 -2
  66. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  67. package/fesm2022/acorex-components-menu.mjs +24 -18
  68. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  69. package/fesm2022/acorex-components-password-box.mjs +65 -19
  70. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  71. package/fesm2022/acorex-components-popover.mjs +4 -3
  72. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  73. package/fesm2022/acorex-components-popup.mjs +2 -2
  74. package/fesm2022/acorex-components-uploader.mjs +7 -6
  75. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  76. package/menu/lib/context-menu.component.d.ts +2 -1
  77. package/package.json +1 -1
  78. package/password-box/lib/password-box.component.d.ts +9 -1
  79. package/password-box/lib/password-box.module.d.ts +3 -1
  80. package/password-box/lib/password-strength-validation/password-strength-validation.component.d.ts +23 -1
  81. package/popover/lib/popover.component.d.ts +1 -0
  82. package/uploader/lib/uploader-zone.directive.d.ts +1 -0
@@ -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 } from '@acorex/core/date-time';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\n\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport {\n AXCalendarView,\n AXCalendarViewSlot,\n AXCalendarViewType,\n MXCalendarBaseComponent,\n} from './calendar.class';\n\n/**\n * A calendar component that provides a customizable calendar view with various options for selection, navigation, and styling.\n *\n * @category Components\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(\n MXValueComponent<Date | null>,\n MXInteractiveComponent,\n MXCalendarBaseComponent,\n) {\n public get displayRange(): AXDateTimeRange {\n return new AXDateTimeRange(\n this.views[0].range.startTime,\n this.views[this.views.length - 1].range.endTime,\n );\n }\n\n /**\n * @ignore\n */\n protected _today = this.calendarService.create(new Date(), this.type);\n\n /**\n * @ignore\n */\n private _viewStartDate!: AXDateTime;\n\n /**\n * @ignore\n */\n private _navUserInteraction = false;\n\n /**\n * @ignore\n */\n private _footPrint = {\n year: null,\n month: null,\n day: null,\n };\n\n /**\n * @ignore\n */\n protected views: AXCalendarView[] = [];\n\n /**\n * @ignore\n */\n protected _weekdays: number[] = [];\n\n /**\n * @ignore\n */\n private _initValues() {\n this._today = this.calendarService.create(new Date(), this.type);\n this._weekdays = this._today.calendar.weekdays;\n }\n\n /**\n * @ignore\n */\n private _refresh() {\n this._initValues();\n this.navTo(this.value || this._today);\n }\n\n /**\n * @ignore\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 /**\n * @ignore\n */\n protected override ngOnInit() {\n super.ngOnInit();\n this._initValues();\n }\n\n /**\n * @ignore\n */\n protected ngAfterViewInit(): void {\n if (!this.value) {\n this.goToday();\n }\n }\n\n /**\n * @ignore\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 switch (this.activeView) {\n case 'day':\n this.dayView(i, applyCellClass);\n break;\n case 'month':\n this.monthView(i, applyCellClass);\n break;\n case 'year':\n this.yearView(i, applyCellClass);\n break;\n }\n }\n this.cdr.markForCheck();\n }\n\n /**\n * @ignore\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 /**\n * @ignore\n */\n private dayView(i: number, applyCellClass: any) {\n const current = this._viewStartDate.add('month', i);\n const view: AXCalendarView = {\n range: this._setDisplayRange(current),\n slots: [],\n };\n this.views.push(view);\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 =\n d.dayOfMonth == this._footPrint.day &&\n d.monthOfYear == this._footPrint.month &&\n 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 /**\n * @ignore\n */\n private monthView(i: number, applyCellClass: any) {\n const current = this._viewStartDate.add('year', i);\n const view: AXCalendarView = {\n range: this._setDisplayRange(current),\n slots: [],\n };\n this.views.push(view);\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) ||\n (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\n /**\n * @ignore\n */\n private yearView(i: number, applyCellClass: any) {\n const current = this._viewStartDate.add('year', i * 10);\n const view: AXCalendarView = {\n range: this._setDisplayRange(current),\n slots: [],\n };\n this.views.push(view);\n const a = view.range.enumurate('year');\n\n view.slots = a.map((d, i) => {\n const r: any = {};\n r.date = d;\n r.text = d.format('YYYY');\n r.tooltip = d.format('YYYY');\n r.today = d.equal(this._today, 'year');\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) ||\n (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\n /**\n * @ignore\n */\n protected _handlePrevClick() {\n this._navUserInteraction = true;\n this.prev();\n this._navUserInteraction = false;\n }\n\n /**\n * @ignore\n */\n protected _handleNextClick() {\n this._navUserInteraction = true;\n this.next();\n this._navUserInteraction = false;\n }\n\n /**\n * @ignore\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 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 = this.calendarService.create(slot.date.date, this.type).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 = this.calendarService.create(slot.date.date, this.type).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 /**\n * @ignore\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 /**\n * @ignore\n */\n protected override internalOptionChanged(e: MXComponentOptionChanged) {\n if (\n e.name == 'depth' ||\n e.name == 'activeView' ||\n e.name == 'disabledDates' ||\n e.name == 'holidayDates'\n ) {\n this.render();\n }\n if (e.name == 'type') {\n this._refresh();\n }\n }\n\n /**\n * @ignore\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 /**\n * @ignore\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\n const calendarSlots = Array.from(document.querySelectorAll('.ax-calendar-slot'));\n const selectedSlot = document.querySelector('.ax-state-selected');\n if (selectedSlot) {\n selectedSlot.classList.remove('ax-state-selected');\n } else {\n this.render();\n }\n calendarSlots.forEach((element) => {\n element = element as HTMLElement;\n if (element.textContent == this._footPrint.day) {\n element.classList.add('ax-state-selected');\n }\n });\n }\n\n /**\n * @ignore\n */\n protected _handleGoToday() {\n this._navUserInteraction = true;\n this._setDate(this._today.date);\n this.goToday();\n this._navUserInteraction = false;\n }\n\n /**\n * Navigates to the next item.\n * @ignore\n */\n next() {\n this._navNextPrev(false);\n }\n\n /**\n * Navigates to the previous item.\n * @ignore\n */\n prev() {\n this._navNextPrev(true);\n }\n\n /**\n * Sets focus to the currently selected calendar slot or the first available slot.\n * @ignore\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 /**\n * @ignore\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 /**\n * Navigates to the current date.\n * @ignore\n */\n goToday() {\n this.navTo(this._today);\n }\n\n /**\n * Navigates to a specified date and updates the view.\n *\n * @param date - The date to navigate to, which can be a `Date` object or an `AXDateTime` instance.\n * @ignore\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 /**\n * @ignore\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 /**\n * @ignore\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 /**\n * @ignore\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 /**\n * @ignore\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 /**\n * @ignore\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 /**\n * @ignore\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 /**\n * @ignore\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 <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-state-disabled\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\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\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-next\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\"\n >\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 <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [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 {{ slot.text }}\n </div>\n }\n </button>\n }\n </div>\n }\n @case ('month') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime.format('YYYY') }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\"\n >\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 <button\n tabindex=\"0\"\n *ngFor=\"let slot of v.slots\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [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 </button>\n </div>\n }\n @default {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime.format('YYYY') }}\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'month')\"\n >\n {{ getMonthName(v.range.startTime, 'long') | translate | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\"\n >\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 <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [ngClass]=\"slot.cssClass\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleSlotClick($event, slot)\"\n [disabled]=\"disabled\"\n [axRipple]\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 {{ slot.text }}\n </div>\n }\n </button>\n </ng-container>\n </div>\n }\n }\n }\n</div>\n<ng-content select=\"ax-footer\"></ng-content>\n","import {\n AXRange,\n AXValuableComponent,\n MXInteractiveComponent,\n MXValueComponent,\n} from '@acorex/components/common';\nimport { AXCalendarService, AXDateTime } from '@acorex/core/date-time';\nimport { AXHtmlUtil } from '@acorex/core/utils';\nimport { AfterViewInit, Component, ViewChild, ViewEncapsulation, forwardRef, inject } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\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 providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCalendarRangeComponent),\n multi: true,\n },\n {\n provide: AXValuableComponent,\n useExisting: AXCalendarRangeComponent,\n },\n ],\n})\nexport class AXCalendarRangeComponent\n extends classes(MXValueComponent<AXRange<Date>>, MXInteractiveComponent, MXCalendarBaseComponent)\n implements AfterViewInit\n{\n /**\n * @ignore\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 /**\n * @ignore\n */\n protected rtl!: boolean;\n\n /**\n * @ignore\n */\n constructor() {\n super();\n this.defaultValue = { from: null, end: null };\n }\n\n /**\n * @ignore\n */\n protected override ngOnInit(): void {\n super.ngOnInit();\n this.rtl = AXHtmlUtil.isRtl(this.getHostElement());\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit(): void {\n this._syncNav1();\n }\n\n override internalValueChanged(value: any) {\n this._c1.render();\n this._c2.render();\n }\n\n /** w\n * @ignore\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)\n return 'ax-range-between';\n return null;\n };\n\n /**\n * @ignore\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) {\n this._syncNav1();\n }\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 /**\n * @ignore\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 /**\n * @ignore\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 /**\n * @ignore\n */\n protected handleNavClick() {\n this._c1.toggleView();\n }\n\n /**\n * @ignore\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 /**\n * @ignore\n */\n protected handleNavigate() {\n this._syncNav1();\n }\n\n /**\n * @ignore\n */\n protected handleActiveViewChange1() {\n this._c2.activeView = this._c1.activeView;\n this._syncNav1();\n }\n\n /**\n * @ignore\n */\n protected handleActiveViewChange2() {\n if (this._c2.activeView != this._c1.activeView) {\n this._c1.activeView = this._c2.activeView;\n }\n }\n\n /**\n * @ignore\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 /**\n * @ignore\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\" [readonly]=\"true\" [cellClass]=\"getCellClass\" [type]=\"type\"\n [cellTemplate]=\"cellTemplate\" [minValue]=\"minValue\" [maxValue]=\"maxValue\" [depth]=\"depth\"\n (onSlotClick)=\"handleSlotClick($event)\" (onNavigate)=\"handleNavigate()\"\n (activeViewChange)=\"handleActiveViewChange1()\">\n </ax-calendar>\n <ax-calendar #c2 [showNavigation]=\"false\" [readonly]=\"true\" [cellClass]=\"getCellClass\" [type]=\"type\"\n [cellTemplate]=\"cellTemplate\" [minValue]=\"minValue\" [maxValue]=\"maxValue\" [depth]=\"depth\"\n (onSlotClick)=\"handleSlotClick($event)\" (activeViewChange)=\"handleActiveViewChange2()\">\n </ax-calendar>\n</div>","import { AXRippleDirective } from '@acorex/components/common';\nimport { 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, AXRippleDirective];\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 } from '@acorex/core/date-time';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\n\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport {\n AXCalendarView,\n AXCalendarViewSlot,\n AXCalendarViewType,\n MXCalendarBaseComponent,\n} from './calendar.class';\n\n/**\n * A calendar component that provides a customizable calendar view with various options for selection, navigation, and styling.\n *\n * @category Components\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(\n MXValueComponent<Date | null>,\n MXInteractiveComponent,\n MXCalendarBaseComponent,\n) {\n public get displayRange(): AXDateTimeRange {\n return new AXDateTimeRange(\n this.views[0].range.startTime,\n this.views[this.views.length - 1].range.endTime,\n );\n }\n\n /**\n * @ignore\n */\n protected _today = this.calendarService.create(new Date(), this.type);\n\n /**\n * @ignore\n */\n private _viewStartDate!: AXDateTime;\n\n /**\n * @ignore\n */\n private _navUserInteraction = false;\n\n /**\n * @ignore\n */\n private _footPrint = {\n year: null,\n month: null,\n day: null,\n };\n\n /**\n * @ignore\n */\n protected views: AXCalendarView[] = [];\n\n /**\n * @ignore\n */\n protected _weekdays: number[] = [];\n\n /**\n * @ignore\n */\n private _initValues() {\n this._today = this.calendarService.create(new Date(), this.type);\n this._weekdays = this._today.calendar.weekdays;\n }\n\n /**\n * @ignore\n */\n private _refresh() {\n this._initValues();\n this.navTo(this.value || this._today);\n }\n\n /**\n * @ignore\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 /**\n * @ignore\n */\n protected override ngOnInit() {\n super.ngOnInit();\n this._initValues();\n }\n\n /**\n * @ignore\n */\n protected ngAfterViewInit(): void {\n if (!this.value) {\n this.goToday();\n }\n }\n\n /**\n * @ignore\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 switch (this.activeView) {\n case 'day':\n this.dayView(i, applyCellClass);\n break;\n case 'month':\n this.monthView(i, applyCellClass);\n break;\n case 'year':\n this.yearView(i, applyCellClass);\n break;\n }\n }\n this.cdr.markForCheck();\n }\n\n /**\n * @ignore\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 /**\n * @ignore\n */\n private dayView(i: number, applyCellClass: any) {\n const current = this._viewStartDate.add('month', i);\n const view: AXCalendarView = {\n range: this._setDisplayRange(current),\n slots: [],\n };\n this.views.push(view);\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 =\n d.dayOfMonth == this._footPrint.day &&\n d.monthOfYear == this._footPrint.month &&\n 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 /**\n * @ignore\n */\n private monthView(i: number, applyCellClass: any) {\n const current = this._viewStartDate.add('year', i);\n const view: AXCalendarView = {\n range: this._setDisplayRange(current),\n slots: [],\n };\n this.views.push(view);\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) ||\n (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\n /**\n * @ignore\n */\n private yearView(i: number, applyCellClass: any) {\n const current = this._viewStartDate.add('year', i * 10);\n const view: AXCalendarView = {\n range: this._setDisplayRange(current),\n slots: [],\n };\n this.views.push(view);\n const a = view.range.enumurate('year');\n\n view.slots = a.map((d, i) => {\n const r: any = {};\n r.date = d;\n r.text = d.format('YYYY');\n r.tooltip = d.format('YYYY');\n r.today = d.equal(this._today, 'year');\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) ||\n (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\n /**\n * @ignore\n */\n protected _handlePrevClick() {\n this._navUserInteraction = true;\n this.prev();\n this._navUserInteraction = false;\n }\n\n /**\n * @ignore\n */\n protected _handleNextClick() {\n this._navUserInteraction = true;\n this.next();\n this._navUserInteraction = false;\n }\n\n /**\n * @ignore\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 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 = this.calendarService.create(slot.date.date, this.type).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 = this.calendarService.create(slot.date.date, this.type).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 /**\n * @ignore\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 /**\n * @ignore\n */\n protected override internalOptionChanged(e: MXComponentOptionChanged) {\n if (\n e.name == 'depth' ||\n e.name == 'activeView' ||\n e.name == 'disabledDates' ||\n e.name == 'holidayDates'\n ) {\n this.render();\n }\n if (e.name == 'type') {\n this._refresh();\n }\n }\n\n /**\n * @ignore\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 /**\n * @ignore\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\n const calendarSlots = Array.from(this.document.querySelectorAll('.ax-calendar-slot'));\n const selectedSlot = this.document.querySelector('.ax-state-selected');\n if (selectedSlot) {\n selectedSlot.classList.remove('ax-state-selected');\n } else {\n this.render();\n }\n calendarSlots.forEach((element) => {\n element = element as HTMLElement;\n if (element.textContent == this._footPrint.day) {\n element.classList.add('ax-state-selected');\n }\n });\n }\n\n /**\n * @ignore\n */\n protected _handleGoToday() {\n this._navUserInteraction = true;\n this._setDate(this._today.date);\n this.goToday();\n this._navUserInteraction = false;\n }\n\n /**\n * Navigates to the next item.\n * @ignore\n */\n next() {\n this._navNextPrev(false);\n }\n\n /**\n * Navigates to the previous item.\n * @ignore\n */\n prev() {\n this._navNextPrev(true);\n }\n\n /**\n * Sets focus to the currently selected calendar slot or the first available slot.\n * @ignore\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 /**\n * @ignore\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 /**\n * Navigates to the current date.\n * @ignore\n */\n goToday() {\n this.navTo(this._today);\n }\n\n /**\n * Navigates to a specified date and updates the view.\n *\n * @param date - The date to navigate to, which can be a `Date` object or an `AXDateTime` instance.\n * @ignore\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 /**\n * @ignore\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 /**\n * @ignore\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 /**\n * @ignore\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 /**\n * @ignore\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 /**\n * @ignore\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 /**\n * @ignore\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 /**\n * @ignore\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 <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-state-disabled\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\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\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-next\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\"\n >\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 <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [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 {{ slot.text }}\n </div>\n }\n </button>\n }\n </div>\n }\n @case ('month') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime.format('YYYY') }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\"\n >\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 <button\n tabindex=\"0\"\n *ngFor=\"let slot of v.slots\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [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 </button>\n </div>\n }\n @default {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime.format('YYYY') }}\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'month')\"\n >\n {{ getMonthName(v.range.startTime, 'long') | translate | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\"\n >\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 <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [ngClass]=\"slot.cssClass\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleSlotClick($event, slot)\"\n [disabled]=\"disabled\"\n [axRipple]\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 {{ slot.text }}\n </div>\n }\n </button>\n </ng-container>\n </div>\n }\n }\n }\n</div>\n<ng-content select=\"ax-footer\"></ng-content>\n","import {\n AXRange,\n AXValuableComponent,\n MXInteractiveComponent,\n MXValueComponent,\n} from '@acorex/components/common';\nimport { AXCalendarService, AXDateTime } from '@acorex/core/date-time';\nimport { AXHtmlUtil } from '@acorex/core/utils';\nimport { AfterViewInit, Component, ViewChild, ViewEncapsulation, forwardRef, inject } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\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 providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCalendarRangeComponent),\n multi: true,\n },\n {\n provide: AXValuableComponent,\n useExisting: AXCalendarRangeComponent,\n },\n ],\n})\nexport class AXCalendarRangeComponent\n extends classes(MXValueComponent<AXRange<Date>>, MXInteractiveComponent, MXCalendarBaseComponent)\n implements AfterViewInit\n{\n /**\n * @ignore\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 /**\n * @ignore\n */\n protected rtl!: boolean;\n\n /**\n * @ignore\n */\n constructor() {\n super();\n this.defaultValue = { from: null, end: null };\n }\n\n /**\n * @ignore\n */\n protected override ngOnInit(): void {\n super.ngOnInit();\n this.rtl = AXHtmlUtil.isRtl(this.getHostElement());\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit(): void {\n this._syncNav1();\n }\n\n override internalValueChanged(value: any) {\n this._c1.render();\n this._c2.render();\n }\n\n /** w\n * @ignore\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)\n return 'ax-range-between';\n return null;\n };\n\n /**\n * @ignore\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) {\n this._syncNav1();\n }\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 /**\n * @ignore\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 /**\n * @ignore\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 /**\n * @ignore\n */\n protected handleNavClick() {\n this._c1.toggleView();\n }\n\n /**\n * @ignore\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 /**\n * @ignore\n */\n protected handleNavigate() {\n this._syncNav1();\n }\n\n /**\n * @ignore\n */\n protected handleActiveViewChange1() {\n this._c2.activeView = this._c1.activeView;\n this._syncNav1();\n }\n\n /**\n * @ignore\n */\n protected handleActiveViewChange2() {\n if (this._c2.activeView != this._c1.activeView) {\n this._c1.activeView = this._c2.activeView;\n }\n }\n\n /**\n * @ignore\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 /**\n * @ignore\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\" [readonly]=\"true\" [cellClass]=\"getCellClass\" [type]=\"type\"\n [cellTemplate]=\"cellTemplate\" [minValue]=\"minValue\" [maxValue]=\"maxValue\" [depth]=\"depth\"\n (onSlotClick)=\"handleSlotClick($event)\" (onNavigate)=\"handleNavigate()\"\n (activeViewChange)=\"handleActiveViewChange1()\">\n </ax-calendar>\n <ax-calendar #c2 [showNavigation]=\"false\" [readonly]=\"true\" [cellClass]=\"getCellClass\" [type]=\"type\"\n [cellTemplate]=\"cellTemplate\" [minValue]=\"minValue\" [maxValue]=\"maxValue\" [depth]=\"depth\"\n (onSlotClick)=\"handleSlotClick($event)\" (activeViewChange)=\"handleActiveViewChange2()\">\n </ax-calendar>\n</div>","import { AXRippleDirective } from '@acorex/components/common';\nimport { 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, AXRippleDirective];\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,12 +1,12 @@
1
+ import * as i3 from '@angular/common';
2
+ import { DOCUMENT, CommonModule } from '@angular/common';
1
3
  import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, contentChild, viewChild, input, afterNextRender, NgModule } from '@angular/core';
4
+ import { inject, Component, ViewEncapsulation, contentChild, viewChild, input, afterNextRender, NgModule } from '@angular/core';
3
5
  import { AXAvatarComponent } from '@acorex/components/avatar';
4
6
  import * as i1 from '@acorex/components/collapse';
5
7
  import { AXCollapseModule } from '@acorex/components/collapse';
6
8
  import * as i2 from '@acorex/core/translation';
7
9
  import { AXTranslationModule } from '@acorex/core/translation';
8
- import * as i3 from '@angular/common';
9
- import { CommonModule } from '@angular/common';
10
10
  import * as i1$1 from '@acorex/components/decorators';
11
11
  import { AXDecoratorModule } from '@acorex/components/decorators';
12
12
  import { AXButtonModule } from '@acorex/components/button';
@@ -19,8 +19,11 @@ import { AXWysiwygModule } from '@acorex/components/wysiwyg';
19
19
  * @category Components
20
20
  */
21
21
  class AXCommentContainerComponent {
22
+ constructor() {
23
+ this.document = inject(DOCUMENT);
24
+ }
22
25
  scrollToRelpy(id) {
23
- const el = document.querySelector(`ax-comment-item[id=${id}]`);
26
+ const el = this.document.querySelector(`ax-comment-item[id=${id}]`);
24
27
  if (!el)
25
28
  return;
26
29
  el.scrollIntoView({ behavior: 'smooth', block: 'center' });
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-comment.mjs","sources":["../../../../libs/components/comment/src/lib/comment-container/comment-container.component.ts","../../../../libs/components/comment/src/lib/comment-container/comment-container.component.html","../../../../libs/components/comment/src/lib/comment-item/comment-item.component.ts","../../../../libs/components/comment/src/lib/comment-item/comment-item.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-date/comment-date.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-date/comment-date.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-like/comment-like.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-like/comment-like.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-menu-options/comment-menu-options.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-menu-options/comment-menu-options.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-reply-more/comment-reply-more.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-reply-more/comment-reply-more.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-reply-text/comment-reply-text.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-reply-text/comment-reply-text.component.html","../../../../libs/components/comment/src/lib/comment-view/comment-view.component.ts","../../../../libs/components/comment/src/lib/comment-view/comment-view.component.html","../../../../libs/components/comment/src/lib/comment.module.ts","../../../../libs/components/comment/src/acorex-components-comment.ts"],"sourcesContent":["import { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * A container component for displaying and managing comments.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-container',\n templateUrl: './comment-container.component.html',\n providers: [],\n styles: `\n ax-comment-container {\n width: 100%;\n }\n `,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXCommentContainerComponent {\n scrollToRelpy(id: string) {\n const el = document.querySelector(`ax-comment-item[id=${id}]`) as HTMLElement;\n if (!el) return;\n el.scrollIntoView({ behavior: 'smooth', block: 'center' });\n const content = el?.firstElementChild?.children[1] as HTMLElement;\n const prevBg = content.style.background;\n content.style.borderRadius = '0.25rem';\n content.style.transition = 'background 1s ease-in-out';\n content.style.background = '#e2fffc';\n setTimeout(() => {\n content.style.background = prevBg || 'rgba(0, 0, 0, 0)';\n }, 1000);\n }\n}\n","<ng-content> </ng-content>\n","import { AXAvatarComponent } from '@acorex/components/avatar';\nimport { AXCollapseComponent } from '@acorex/components/collapse';\nimport { afterNextRender, Component, contentChild, input, viewChild, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component that represents an individual comment item in the comment system.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-item',\n templateUrl: './comment-item.component.html',\n styleUrl: './comment-item.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AxCommentItemComponent {\n /**\n * @ignore\n */\n protected avatar = contentChild(AXAvatarComponent);\n\n protected collaps = viewChild<AXCollapseComponent>('c');\n\n replyCount = input<number>();\n\n /**\n * @ignore\n */\n constructor() {\n afterNextRender(() => {\n this.avatar()?.size?.set(40);\n });\n }\n\n toggleCollaps() {\n this.collaps().toggle();\n }\n}\n","<div class=\"ax-comment-items\">\n <div class=\"ax-header-container\">\n <div class=\"ax-title-avatar-container\">\n <ng-content select=\"ax-avatar\"></ng-content>\n <ng-content select=\"ax-title\"></ng-content>\n <ng-content select=\"ax-comment-date\"></ng-content>\n </div>\n\n <div>\n <ng-content select=\"ax-comment-menu-options\"></ng-content>\n </div>\n </div>\n <div class=\"ax-content-container\">\n <ng-content select=\"ax-content\"></ng-content>\n <div class=\"ax-reaction-container\">\n <ng-content select=\"ax-comment-like\"></ng-content>\n <ng-content select=\"ax-comment-reply-text\"></ng-content>\n </div>\n </div>\n @if (replyCount()) {\n <div class=\"ax-comment-replies\">\n <ax-collapse-group look=\"none\" [accordion]=\"true\" [activeIndex]=\"1\">\n <ax-collapse\n #c\n [caption]=\"\n ('comment.view' | translate | async) +\n ' ' +\n replyCount() +\n ' ' +\n ((replyCount() > 1 ? 'comment.replies' : 'comment.reply') | translate | async)\n \"\n [isCollapsed]=\"true\"\n >\n <ng-content select=\"ax-comment-item\"></ng-content>\n <ng-content select=\"ax-comment-reply-more\"></ng-content>\n </ax-collapse>\n </ax-collapse-group>\n </div>\n }\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for displaying and managing date on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-date',\n templateUrl: './comment-date.component.html',\n styleUrl: './comment-date.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXCommentDateComponent {}\n","<ng-content></ng-content>\n","import { Component, input } from '@angular/core';\n\n/**\n * A component for displaying and managing likes on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-like',\n templateUrl: './comment-like.component.html',\n styleUrl: './comment-like.component.scss',\n})\nexport class AXCommentLikeComponent {\n /**\n * Indicates whether the comment is liked.\n */\n liked = input.required();\n}\n","<div class=\"ax-comment-like-container\">\n <ax-icon class=\"ax-icon ax-icon-heart\" [class.ax-state-liked]=\"liked()\"></ax-icon>\n <ax-text><ng-content></ng-content></ax-text>\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * A component for displaying and managing menu options on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-menu-options',\n templateUrl: './comment-menu-options.component.html',\n})\nexport class AXMenuOptionsComponent {}\n","<ng-content></ng-content>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ax-comment-reply-more',\n templateUrl: './comment-reply-more.component.html',\n})\nexport class AXCommentReplyMoreComponent {}\n","<ax-text><ng-content></ng-content></ax-text>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ax-comment-reply-text',\n templateUrl: './comment-reply-text.component.html',\n})\nexport class AXCommentReplyTextComponent {}\n","<ax-text>Reply</ax-text>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for viewing comments with their details.\n * @category Components\n */\n@Component({\n selector: 'ax-comment-view',\n templateUrl: './comment-view.component.html',\n styleUrls: ['./comment-view.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXCommentViewComponent {}\n","<ng-content select=\"ax-comment-item\"></ng-content>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCollapseModule } from '@acorex/components/collapse';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTextAreaModule } from '@acorex/components/text-area';\nimport { AXWysiwygModule } from '@acorex/components/wysiwyg';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { NgModule } from '@angular/core';\nimport { AXCommentContainerComponent } from './comment-container/comment-container.component';\nimport { AxCommentItemComponent } from './comment-item/comment-item.component';\nimport { AXCommentDateComponent } from './comment-tools/comment-date/comment-date.component';\nimport { AXCommentLikeComponent } from './comment-tools/comment-like/comment-like.component';\nimport { AXMenuOptionsComponent } from './comment-tools/comment-menu-options/comment-menu-options.component';\nimport { AXCommentReplyMoreComponent } from './comment-tools/comment-reply-more/comment-reply-more.component';\nimport { AXCommentReplyTextComponent } from './comment-tools/comment-reply-text/comment-reply-text.component';\nimport { AXCommentViewComponent } from './comment-view/comment-view.component';\nimport { CommonModule } from '@angular/common';\n\nconst COMPONENT = [\n AXCommentViewComponent,\n AXCommentContainerComponent,\n AxCommentItemComponent,\n AXCommentLikeComponent,\n AXMenuOptionsComponent,\n AXCommentReplyTextComponent,\n AXCommentDateComponent,\n AXCommentReplyMoreComponent,\n];\nconst MODULES = [\n AXDecoratorModule,\n AXWysiwygModule,\n AXCollapseModule,\n AXButtonModule,\n AXTextAreaModule,\n AXTranslationModule,\n CommonModule\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXCommentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-comment.mjs","sources":["../../../../libs/components/comment/src/lib/comment-container/comment-container.component.ts","../../../../libs/components/comment/src/lib/comment-container/comment-container.component.html","../../../../libs/components/comment/src/lib/comment-item/comment-item.component.ts","../../../../libs/components/comment/src/lib/comment-item/comment-item.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-date/comment-date.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-date/comment-date.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-like/comment-like.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-like/comment-like.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-menu-options/comment-menu-options.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-menu-options/comment-menu-options.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-reply-more/comment-reply-more.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-reply-more/comment-reply-more.component.html","../../../../libs/components/comment/src/lib/comment-tools/comment-reply-text/comment-reply-text.component.ts","../../../../libs/components/comment/src/lib/comment-tools/comment-reply-text/comment-reply-text.component.html","../../../../libs/components/comment/src/lib/comment-view/comment-view.component.ts","../../../../libs/components/comment/src/lib/comment-view/comment-view.component.html","../../../../libs/components/comment/src/lib/comment.module.ts","../../../../libs/components/comment/src/acorex-components-comment.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { Component, inject, ViewEncapsulation } from '@angular/core';\n\n/**\n * A container component for displaying and managing comments.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-container',\n templateUrl: './comment-container.component.html',\n providers: [],\n styles: `\n ax-comment-container {\n width: 100%;\n }\n `,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXCommentContainerComponent {\n private document = inject(DOCUMENT);\n scrollToRelpy(id: string) {\n const el = this.document.querySelector(`ax-comment-item[id=${id}]`) as HTMLElement;\n if (!el) return;\n el.scrollIntoView({ behavior: 'smooth', block: 'center' });\n const content = el?.firstElementChild?.children[1] as HTMLElement;\n const prevBg = content.style.background;\n content.style.borderRadius = '0.25rem';\n content.style.transition = 'background 1s ease-in-out';\n content.style.background = '#e2fffc';\n setTimeout(() => {\n content.style.background = prevBg || 'rgba(0, 0, 0, 0)';\n }, 1000);\n }\n}\n","<ng-content> </ng-content>\n","import { AXAvatarComponent } from '@acorex/components/avatar';\nimport { AXCollapseComponent } from '@acorex/components/collapse';\nimport { afterNextRender, Component, contentChild, input, viewChild, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component that represents an individual comment item in the comment system.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-item',\n templateUrl: './comment-item.component.html',\n styleUrl: './comment-item.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AxCommentItemComponent {\n /**\n * @ignore\n */\n protected avatar = contentChild(AXAvatarComponent);\n\n protected collaps = viewChild<AXCollapseComponent>('c');\n\n replyCount = input<number>();\n\n /**\n * @ignore\n */\n constructor() {\n afterNextRender(() => {\n this.avatar()?.size?.set(40);\n });\n }\n\n toggleCollaps() {\n this.collaps().toggle();\n }\n}\n","<div class=\"ax-comment-items\">\n <div class=\"ax-header-container\">\n <div class=\"ax-title-avatar-container\">\n <ng-content select=\"ax-avatar\"></ng-content>\n <ng-content select=\"ax-title\"></ng-content>\n <ng-content select=\"ax-comment-date\"></ng-content>\n </div>\n\n <div>\n <ng-content select=\"ax-comment-menu-options\"></ng-content>\n </div>\n </div>\n <div class=\"ax-content-container\">\n <ng-content select=\"ax-content\"></ng-content>\n <div class=\"ax-reaction-container\">\n <ng-content select=\"ax-comment-like\"></ng-content>\n <ng-content select=\"ax-comment-reply-text\"></ng-content>\n </div>\n </div>\n @if (replyCount()) {\n <div class=\"ax-comment-replies\">\n <ax-collapse-group look=\"none\" [accordion]=\"true\" [activeIndex]=\"1\">\n <ax-collapse\n #c\n [caption]=\"\n ('comment.view' | translate | async) +\n ' ' +\n replyCount() +\n ' ' +\n ((replyCount() > 1 ? 'comment.replies' : 'comment.reply') | translate | async)\n \"\n [isCollapsed]=\"true\"\n >\n <ng-content select=\"ax-comment-item\"></ng-content>\n <ng-content select=\"ax-comment-reply-more\"></ng-content>\n </ax-collapse>\n </ax-collapse-group>\n </div>\n }\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for displaying and managing date on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-date',\n templateUrl: './comment-date.component.html',\n styleUrl: './comment-date.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXCommentDateComponent {}\n","<ng-content></ng-content>\n","import { Component, input } from '@angular/core';\n\n/**\n * A component for displaying and managing likes on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-like',\n templateUrl: './comment-like.component.html',\n styleUrl: './comment-like.component.scss',\n})\nexport class AXCommentLikeComponent {\n /**\n * Indicates whether the comment is liked.\n */\n liked = input.required();\n}\n","<div class=\"ax-comment-like-container\">\n <ax-icon class=\"ax-icon ax-icon-heart\" [class.ax-state-liked]=\"liked()\"></ax-icon>\n <ax-text><ng-content></ng-content></ax-text>\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * A component for displaying and managing menu options on a comment.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-comment-menu-options',\n templateUrl: './comment-menu-options.component.html',\n})\nexport class AXMenuOptionsComponent {}\n","<ng-content></ng-content>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ax-comment-reply-more',\n templateUrl: './comment-reply-more.component.html',\n})\nexport class AXCommentReplyMoreComponent {}\n","<ax-text><ng-content></ng-content></ax-text>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ax-comment-reply-text',\n templateUrl: './comment-reply-text.component.html',\n})\nexport class AXCommentReplyTextComponent {}\n","<ax-text>Reply</ax-text>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for viewing comments with their details.\n * @category Components\n */\n@Component({\n selector: 'ax-comment-view',\n templateUrl: './comment-view.component.html',\n styleUrls: ['./comment-view.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXCommentViewComponent {}\n","<ng-content select=\"ax-comment-item\"></ng-content>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCollapseModule } from '@acorex/components/collapse';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTextAreaModule } from '@acorex/components/text-area';\nimport { AXWysiwygModule } from '@acorex/components/wysiwyg';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { NgModule } from '@angular/core';\nimport { AXCommentContainerComponent } from './comment-container/comment-container.component';\nimport { AxCommentItemComponent } from './comment-item/comment-item.component';\nimport { AXCommentDateComponent } from './comment-tools/comment-date/comment-date.component';\nimport { AXCommentLikeComponent } from './comment-tools/comment-like/comment-like.component';\nimport { AXMenuOptionsComponent } from './comment-tools/comment-menu-options/comment-menu-options.component';\nimport { AXCommentReplyMoreComponent } from './comment-tools/comment-reply-more/comment-reply-more.component';\nimport { AXCommentReplyTextComponent } from './comment-tools/comment-reply-text/comment-reply-text.component';\nimport { AXCommentViewComponent } from './comment-view/comment-view.component';\nimport { CommonModule } from '@angular/common';\n\nconst COMPONENT = [\n AXCommentViewComponent,\n AXCommentContainerComponent,\n AxCommentItemComponent,\n AXCommentLikeComponent,\n AXMenuOptionsComponent,\n AXCommentReplyTextComponent,\n AXCommentDateComponent,\n AXCommentReplyMoreComponent,\n];\nconst MODULES = [\n AXDecoratorModule,\n AXWysiwygModule,\n AXCollapseModule,\n AXButtonModule,\n AXTextAreaModule,\n AXTranslationModule,\n CommonModule\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXCommentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -668,6 +668,7 @@ class AXAutoFocusDirective {
668
668
  this._host = _host;
669
669
  this.autoFocus = true;
670
670
  this.time = 50;
671
+ this.document = inject(DOCUMENT);
671
672
  }
672
673
  ngAfterViewInit() {
673
674
  this.doFocus();
@@ -682,7 +683,7 @@ class AXAutoFocusDirective {
682
683
  }
683
684
  const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map((c) => c + ':not([tabindex="-1"])');
684
685
  const focusable = this.el.nativeElement.querySelector(list.join(', ')) ?? this.el.nativeElement;
685
- const attr = document.createAttribute('autofocus');
686
+ const attr = this.document.createAttribute('autofocus');
686
687
  focusable.setAttributeNode(attr);
687
688
  const hasTabindex = focusable.hasAttribute('tabindex');
688
689
  if (!hasTabindex) {
@@ -1308,6 +1309,7 @@ class MXValueComponent extends MXInteractiveComponent {
1308
1309
  this._isUserInteraction = false;
1309
1310
  this.stateChange = new EventEmitter();
1310
1311
  this._state = 'clear';
1312
+ this.document = inject(DOCUMENT);
1311
1313
  this.validationService = inject(AXValidationService);
1312
1314
  this.validationRulesChange = new EventEmitter();
1313
1315
  this.validationRules = [];
@@ -1471,7 +1473,7 @@ class MXValueComponent extends MXInteractiveComponent {
1471
1473
  case 'error':
1472
1474
  this.setState('clear');
1473
1475
  if (args[0]) {
1474
- const span = document.createElement('span');
1476
+ const span = this.document.createElement('span');
1475
1477
  span.innerHTML = args[0];
1476
1478
  span.classList.add('ax-error-message');
1477
1479
  parent.appendChild(span);
@@ -1888,6 +1890,7 @@ class AXRippleDirective {
1888
1890
  this.cdr = cdr;
1889
1891
  this.enabled = true;
1890
1892
  this.axRippleColor = 'rgb(255, 255, 255 , 0.3)';
1893
+ this.document = inject(DOCUMENT);
1891
1894
  }
1892
1895
  ngOnInit() {
1893
1896
  if (this.enabled) {
@@ -1911,7 +1914,7 @@ class AXRippleDirective {
1911
1914
  const rect = element.getBoundingClientRect();
1912
1915
  const x = Math.floor(((event.clientX - rect.left) / (rect.right - rect.left)) * element.clientWidth);
1913
1916
  const y = Math.floor(((event.clientY - rect.top) / (rect.bottom - rect.top)) * element.clientHeight);
1914
- const circle = document.createElement('span');
1917
+ const circle = this.document.createElement('span');
1915
1918
  const diameter = Math.max(element.clientWidth, element.clientHeight);
1916
1919
  const radius = diameter / 2;
1917
1920
  circle.style.width = circle.style.height = `${diameter}px`;