@acorex/components 18.5.16 → 18.5.17
Sign up to get free protection for your applications and to get access to all the features.
- package/action-sheet/lib/action-sheet.component.d.ts +26 -0
- package/alert/lib/alert.component.d.ts +50 -2
- package/audio-wave/lib/audio-wave.component.d.ts +48 -0
- package/avatar/lib/avatar.component.d.ts +20 -1
- package/badge/lib/badge.component.d.ts +8 -0
- package/bottom-navigation/lib/bottom-navigation.component.d.ts +16 -0
- package/breadcrumbs/lib/breadcrumbs-item.component.d.ts +11 -0
- package/breadcrumbs/lib/breadcrumbs.component.d.ts +11 -0
- package/button/lib/button-item-list.component.d.ts +34 -0
- package/button/lib/button-item.component.d.ts +47 -0
- package/button/lib/button.component.d.ts +36 -0
- package/button-group/lib/button-group.component.d.ts +53 -0
- package/calendar/lib/calendar-range.component.d.ts +48 -0
- package/calendar/lib/calendar.component.d.ts +114 -0
- package/check-box/lib/check-box.component.d.ts +36 -0
- package/chips/lib/chips.component.d.ts +13 -0
- package/circular-progress/lib/circular-progress.component.d.ts +67 -1
- package/collapse/lib/collapse-group.component.d.ts +38 -0
- package/collapse/lib/collapse.component.d.ts +55 -0
- package/color-box/lib/color-box.component.d.ts +28 -1
- package/color-palette/lib/color-palette-input.component.d.ts +35 -0
- package/color-palette/lib/color-palette-picker.component.d.ts +53 -0
- package/color-palette/lib/color-palette-preview.component.d.ts +17 -0
- package/color-palette/lib/color-palette-swatches.component.d.ts +30 -0
- package/color-palette/lib/color-palette.component.d.ts +8 -0
- package/comment/lib/comment-container/comment-container.component.d.ts +5 -0
- package/comment/lib/comment-item/comment-item.component.d.ts +16 -2
- package/comment/lib/comment-like/comment-like.component.d.ts +8 -0
- package/comment/lib/comment-reply/comment-reply.component.d.ts +4 -0
- package/comment/lib/comment-view/comment-view.component.d.ts +4 -0
- package/common/lib/components/base-component.class.d.ts +8 -0
- package/common/lib/components/button-base-component.class.d.ts +21 -0
- package/common/lib/components/interactive-component.class.d.ts +15 -0
- package/conversation/lib/conversation-container/conversation-container.component.d.ts +4 -0
- package/conversation/lib/conversation-input/conversation-input.component.d.ts +79 -2
- package/conversation/lib/conversation-message/conversation-message.component.d.ts +41 -0
- package/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.d.ts +62 -0
- package/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.d.ts +34 -0
- package/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.d.ts +21 -0
- package/conversation/lib/conversation-messages/conversation-message-image-popup/conversation-message-image-popup.component.d.ts +11 -0
- package/conversation/lib/conversation-messages/conversation-message-text/conversation-message-text.component.d.ts +29 -0
- package/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.d.ts +11 -0
- package/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.d.ts +72 -0
- package/conversation/lib/conversation-view/conversation-view.component.d.ts +22 -0
- package/data-pager/lib/data-pager-base.component.d.ts +9 -0
- package/data-pager/lib/data-pager-info.component.d.ts +14 -0
- package/data-pager/lib/data-pager-input-selector.component.d.ts +17 -0
- package/data-pager/lib/data-pager-next-buttons.components.d.ts +20 -0
- package/data-pager/lib/data-pager-numeric-selector.component.d.ts +14 -0
- package/esm2022/action-sheet/lib/action-sheet.component.mjs +21 -1
- package/esm2022/alert/lib/alert.component.mjs +48 -3
- package/esm2022/audio-wave/lib/audio-wave.component.mjs +43 -1
- package/esm2022/avatar/lib/avatar.component.mjs +21 -2
- package/esm2022/badge/lib/badge.component.mjs +9 -1
- package/esm2022/bottom-navigation/lib/bottom-navigation.component.mjs +14 -1
- package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +9 -1
- package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +6 -1
- package/esm2022/button/lib/button-item-list.component.mjs +35 -1
- package/esm2022/button/lib/button-item.component.mjs +36 -1
- package/esm2022/button/lib/button.component.mjs +37 -1
- package/esm2022/button-group/lib/button-group.component.mjs +48 -1
- package/esm2022/calendar/lib/calendar-range.component.mjs +46 -1
- package/esm2022/calendar/lib/calendar.component.mjs +112 -1
- package/esm2022/check-box/lib/check-box.component.mjs +34 -1
- package/esm2022/chips/lib/chips.component.mjs +14 -1
- package/esm2022/circular-progress/lib/circular-progress.component.mjs +69 -1
- package/esm2022/collapse/lib/collapse-group.component.mjs +39 -1
- package/esm2022/collapse/lib/collapse.component.mjs +53 -1
- package/esm2022/color-box/lib/color-box.component.mjs +23 -2
- package/esm2022/color-palette/lib/color-palette-input.component.mjs +36 -1
- package/esm2022/color-palette/lib/color-palette-picker.component.mjs +54 -1
- package/esm2022/color-palette/lib/color-palette-preview.component.mjs +18 -1
- package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +28 -1
- package/esm2022/color-palette/lib/color-palette.component.mjs +9 -1
- package/esm2022/comment/lib/comment-container/comment-container.component.mjs +6 -1
- package/esm2022/comment/lib/comment-item/comment-item.component.mjs +15 -1
- package/esm2022/comment/lib/comment-like/comment-like.component.mjs +9 -1
- package/esm2022/comment/lib/comment-reply/comment-reply.component.mjs +5 -1
- package/esm2022/comment/lib/comment-view/comment-view.component.mjs +5 -1
- package/esm2022/common/lib/components/base-component.class.mjs +9 -1
- package/esm2022/common/lib/components/button-base-component.class.mjs +22 -1
- package/esm2022/common/lib/components/interactive-component.class.mjs +16 -1
- package/esm2022/conversation/lib/conversation-container/conversation-container.component.mjs +5 -1
- package/esm2022/conversation/lib/conversation-input/conversation-input.component.mjs +75 -1
- package/esm2022/conversation/lib/conversation-message/conversation-message.component.mjs +39 -1
- package/esm2022/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.mjs +63 -1
- package/esm2022/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.mjs +35 -1
- package/esm2022/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.mjs +22 -1
- package/esm2022/conversation/lib/conversation-messages/conversation-message-image-popup/conversation-message-image-popup.component.mjs +9 -1
- package/esm2022/conversation/lib/conversation-messages/conversation-message-text/conversation-message-text.component.mjs +30 -1
- package/esm2022/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.mjs +12 -1
- package/esm2022/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.mjs +70 -1
- package/esm2022/conversation/lib/conversation-view/conversation-view.component.mjs +23 -1
- package/esm2022/data-pager/lib/data-pager-base.component.mjs +7 -1
- package/esm2022/data-pager/lib/data-pager-info.component.mjs +9 -1
- package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +18 -1
- package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +18 -1
- package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +15 -1
- package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +20 -1
- package/esm2022/scheduler/lib/scheduler-week-view.component.mjs +5 -1
- package/esm2022/scheduler/lib/scheduler.component.mjs +10 -1
- package/esm2022/search-box/lib/search-box.component.mjs +19 -2
- package/esm2022/select-box/lib/select-box.component.mjs +50 -2
- package/esm2022/selection-list/lib/selection-list.component.mjs +51 -1
- package/esm2022/side-menu/lib/side-menu.component.mjs +5 -1
- package/esm2022/skeleton/lib/skeleton.component.mjs +11 -1
- package/esm2022/slider/lib/slider.component.mjs +52 -2
- package/esm2022/step-wizard/lib/step-wizard.component.mjs +23 -1
- package/esm2022/switch/lib/switch-content.component.mjs +5 -1
- package/esm2022/switch/lib/switch.component.mjs +11 -1
- package/esm2022/tabs/lib/tab-item.component.mjs +24 -1
- package/esm2022/tabs/lib/tabs.component.mjs +36 -1
- package/esm2022/tag/lib/tag.component.mjs +2 -1
- package/esm2022/text-area/lib/text-area.component.mjs +8 -1
- package/esm2022/text-box/lib/text-box.component.mjs +13 -1
- package/esm2022/toast/lib/toast.component.mjs +6 -1
- package/esm2022/tooltip/lib/tooltip.component.mjs +5 -1
- package/esm2022/uploader/lib/uploader-dialog-container.component.mjs +16 -1
- package/esm2022/uploader/lib/uploader-drop-zone.component.mjs +5 -1
- package/esm2022/uploader/lib/uploader-list.component.mjs +8 -3
- package/esm2022/uploader/lib/uploader.models.mjs +14 -1
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.mjs +18 -1
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.mjs +106 -36
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.mjs +9 -1
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg.service.mjs +4 -1
- package/fesm2022/acorex-components-action-sheet.mjs +20 -0
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +47 -2
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +42 -0
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +20 -1
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +8 -0
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +13 -0
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +13 -0
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +47 -0
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +105 -0
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +156 -0
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +33 -0
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +13 -0
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +68 -0
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +90 -0
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +22 -1
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +140 -0
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +35 -0
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +44 -0
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +372 -0
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +62 -0
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +32 -0
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +18 -1
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +49 -1
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +50 -0
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +4 -0
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +10 -0
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-slider.mjs +51 -1
- package/fesm2022/acorex-components-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +22 -0
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +14 -0
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +58 -0
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +1 -0
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +7 -0
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +12 -0
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +5 -0
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +4 -0
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +39 -2
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +134 -35
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/package.json +31 -31
- package/scheduler/lib/scheduler-month-view.component.d.ts +20 -0
- package/scheduler/lib/scheduler-week-view.component.d.ts +4 -0
- package/scheduler/lib/scheduler.component.d.ts +10 -0
- package/search-box/lib/search-box.component.d.ts +19 -1
- package/select-box/lib/select-box.component.d.ts +78 -1
- package/selection-list/lib/selection-list.component.d.ts +55 -0
- package/side-menu/lib/side-menu.component.d.ts +4 -0
- package/skeleton/lib/skeleton.component.d.ts +10 -0
- package/slider/lib/slider.component.d.ts +51 -1
- package/step-wizard/lib/step-wizard.component.d.ts +23 -0
- package/switch/lib/switch-content.component.d.ts +4 -0
- package/switch/lib/switch.component.d.ts +14 -0
- package/tabs/lib/tab-item.component.d.ts +32 -0
- package/tabs/lib/tabs.component.d.ts +42 -0
- package/tag/lib/tag.component.d.ts +4 -0
- package/text-area/lib/text-area.component.d.ts +13 -0
- package/text-box/lib/text-box.component.d.ts +27 -0
- package/toast/lib/toast.component.d.ts +6 -0
- package/tooltip/lib/tooltip.component.d.ts +13 -0
- package/uploader/lib/uploader-dialog-container.component.d.ts +15 -0
- package/uploader/lib/uploader-drop-zone.component.d.ts +4 -0
- package/uploader/lib/uploader-list.component.d.ts +5 -0
- package/uploader/lib/uploader.models.d.ts +4 -0
- package/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.d.ts +19 -3
- package/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.d.ts +61 -20
- package/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.d.ts +4 -0
- package/wysiwyg/lib/wysiwyg/wysiwyg.service.d.ts +3 -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, TimeUnit } from '@acorex/core/date-time';\nimport { ChangeDetectionStrategy, Component, HostBinding, HostListener, ViewEncapsulation, forwardRef } from '@angular/core';\n\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AXCalendarView, AXCalendarViewSlot, AXCalendarViewType, MXCalendarBaseComponent } from './calendar.class';\n\n@Component({\n selector: 'ax-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: [\n 'rtl',\n 'readonly',\n 'value',\n 'name',\n 'disabled',\n 'depth',\n 'activeView',\n 'minValue',\n 'maxValue',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n 'showNavigation',\n 'count',\n 'name',\n 'id',\n ],\n outputs: [\n 'onOptionChanged',\n 'valueChange',\n 'onValueChanged',\n 'minValueChange',\n 'maxValueChange',\n 'onBlur',\n 'onFocus',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick',\n 'countChange',\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCalendarComponent),\n multi: true,\n },\n {\n provide: AXValuableComponent,\n useExisting: AXCalendarComponent,\n },\n AXUnsubscriber,\n ],\n})\nexport class AXCalendarComponent extends classes(MXValueComponent<Date | null>, MXInteractiveComponent, MXCalendarBaseComponent) {\n public get displayRange(): AXDateTimeRange {\n return new AXDateTimeRange(this.views[0].range.startTime, this.views[this.views.length - 1].range.endTime);\n }\n\n private _setDisplayRange(current: AXDateTime): AXDateTimeRange {\n switch (this.activeView) {\n case 'year': {\n const y = current.startOf('year').year;\n const min = y - (y % 10);\n const max = min + 9;\n return new AXDateTimeRange(\n this.calendarService.create(\n {\n year: min,\n month: 1,\n date: 1,\n },\n this.type,\n ),\n this.calendarService.create(\n {\n year: max,\n month: 12,\n date: 28,\n },\n this.type,\n ),\n );\n }\n case 'month':\n return new AXDateTimeRange(current.startOf('year'), current.endOf('year').add('day', -1));\n default:\n return new AXDateTimeRange(current.startOf('month'), current.endOf('month'));\n }\n }\n\n protected _today = this.calendarService.create(new Date(), this.type);\n private _viewStartDate!: AXDateTime;\n private _navUserInteraction = false;\n\n private _footPrint = {\n year: null,\n month: null,\n day: null,\n };\n\n protected views: AXCalendarView[] = [];\n protected _weekdays: number[] = [];\n\n private _initValues() {\n this._today = this.calendarService.create(new Date(), this.type);\n this._weekdays = this._today.calendar.weekdays;\n }\n\n private _refresh() {\n this._initValues();\n this.navTo(this.value || this._today);\n }\n\n constructor(unsubscriber: AXUnsubscriber) {\n super();\n this.calendarService.onHolidaysChanged.pipe(unsubscriber.takeUntilDestroy).subscribe(() => {\n this.render();\n });\n this.calendarService.calendarChanges$.pipe(unsubscriber.takeUntilDestroy).subscribe(() => {\n this._refresh();\n });\n }\n\n protected override ngOnInit() {\n super.ngOnInit();\n this._initValues();\n }\n\n protected ngAfterViewInit(): void {\n if (!this.value) {\n this.goToday();\n }\n }\n\n protected override ngOnDestroy(): void {}\n\n override render() {\n if (!this._viewStartDate) return;\n const applyCellClass = (slot: AXCalendarViewSlot, cellClass: any = this.cellClass) => {\n switch (typeof cellClass) {\n case 'string':\n cellClass.split(' ').forEach((c) => (slot.cssClass[c] = true));\n break;\n case 'object':\n Object.assign(slot.cssClass, cellClass);\n break;\n case 'function':\n applyCellClass(slot, cellClass(slot.date));\n break;\n }\n };\n this.views = [];\n for (let i = 0; i < this.count; i++) {\n let unit: TimeUnit = 'month';\n let value: number = i;\n //\n if (this.activeView == 'day') {\n unit = 'month';\n value = i;\n } else if (this.activeView == 'month') {\n unit = 'year';\n value = i;\n } else {\n unit = 'year';\n value = i * 10;\n }\n //\n const current = this._viewStartDate.add(unit, value);\n const view: AXCalendarView = {\n range: this._setDisplayRange(current),\n slots: [],\n };\n this.views.push(view);\n //\n // year view\n if (this.activeView == 'year') {\n const a = view.range.enumurate('year');\n\n view.slots = a.map((d, i) => {\n const r: any = {};\n r.date = d;\n //\n r.text = d.format('YYYY');\n r.tooltip = d.format('YYYY');\n //\n r.today = d.equal(this._today, 'year');\n //\n r.selected = this.value && this.depth == 'year' && d.equal(this.value, 'year');\n //\n const focused = d.year == this._footPrint.year;\n //\n r.disabled =\n (this.minValue && d.compare(this.minValue, 'year') == -1) || (this.maxValue && d.compare(this.maxValue, 'year') == 1);\n //\n if (r.disabled) {\n r.cssClass = {\n 'ax-state-disabled': r.disabled,\n };\n } else {\n r.cssClass = {\n 'ax-state-today': r.today,\n 'ax-state-selected': r.selected,\n 'ax-state-focused': focused,\n };\n }\n applyCellClass(r);\n return r;\n });\n }\n // month view\n else if (this.activeView == 'month') {\n const a = view.range.enumurate('month');\n view.slots = a.map((d, i) => {\n const r: any = {};\n r.date = d;\n r.text = d.format('MMM');\n r.tooltip = d.format('MMMM YYYY');\n r.today = d.equal(this._today, 'month');\n //\n r.disabled =\n (this.minValue && d.compare(this.minValue, 'month') == -1) || (this.maxValue && d.compare(this.maxValue, 'month') == 1);\n //\n r.selected = this.value && this.depth == 'month' && d.equal(this.value, 'month');\n //\n const focused = d.monthOfYear == this._footPrint.month && d.year == this._footPrint.year;\n //\n if (r.disabled) {\n r.cssClass = {\n 'ax-state-disabled': r.disabled,\n };\n } else {\n r.cssClass = {\n 'ax-state-today': r.today,\n 'ax-state-selected': r.selected,\n 'ax-state-focused': focused,\n };\n }\n applyCellClass(r);\n return r;\n });\n }\n // day view\n else {\n const a = view.range.enumurate('day');\n view.slots = a.map((d, i) => {\n const r: any = {};\n r.date = d;\n r.text = d.dayOfMonth;\n r.tooltip = d.format('longDate');\n r.today = d.equal(this._today, 'day');\n r.selected = this.value && d.equal(this.value, 'day');\n r.holiday = this.isHoliday(d) || this.isWeekend(d);\n r.disabled =\n (this.minValue && d.compare(this.minValue, 'day') == -1) ||\n (this.maxValue && d.compare(this.maxValue, 'day') == 1) ||\n this.isDisabled(d);\n //\n const focused = d.dayOfMonth == this._footPrint.day && d.monthOfYear == this._footPrint.month && d.year == this._footPrint.year;\n //\n if (r.disabled) {\n r.cssClass = {\n 'ax-state-disabled': true,\n };\n } else {\n r.cssClass = {\n 'ax-state-today': r.today,\n 'ax-state-selected': r.selected,\n 'ax-state-holiday': r.holiday,\n //'ax-state-focused': focused,\n };\n }\n // ax-col-start-1 ax-col-start-2 ax-col-start-3 ax-col-start-4 ax-col-start-5 ax-col-start-6 ax-col-start-7\n r.cssClass[`ax-column-start-${view.range.startTime.dayOfWeek}`] = i == 0;\n if (this.cellClass) applyCellClass(r);\n return r;\n });\n }\n }\n this.cdr.markForCheck();\n }\n\n protected _handlePrevClick() {\n this._navUserInteraction = true;\n this.prev();\n this._navUserInteraction = false;\n }\n\n protected _handleNextClick() {\n this._navUserInteraction = true;\n this.next();\n this._navUserInteraction = false;\n }\n\n protected _handleSlotClick(e: MouseEvent, slot: AXCalendarViewSlot) {\n if (slot.disabled || this.disabled) return;\n //\n this.onSlotClick.emit({\n component: this,\n item: slot.date.date,\n isUserInteraction: true,\n nativeEvent: e,\n });\n //\n const val = this.calendarService.create(slot.date.date, this.type);\n if (this.activeView == 'day') {\n this._setDate(slot.date.date);\n } else if (this.activeView == 'month' && this.depth == 'day') {\n this.activeView = 'day';\n this._footPrint.month = val.monthOfYear;\n this.navTo(slot.date);\n } else if (this.activeView == 'month' && this.depth == 'month') {\n this._setDate(slot.date.date);\n } else if (this.activeView == 'year' && (this.depth == 'day' || this.depth == 'month')) {\n this.activeView = 'month';\n this._footPrint.year = val.year;\n this.navTo(slot.date);\n } else if (this.activeView == 'year' && this.depth == 'year') {\n this._setDate(slot.date.date);\n }\n }\n\n protected _handleNavClick(e: AXClickEvent | any, view: AXCalendarViewType) {\n this._navUserInteraction = true;\n this.activeView = view;\n this._navUserInteraction = false;\n }\n\n public toggleView() {\n if (this.activeView == 'day') this.activeView = 'month';\n else if (this.activeView == 'month') this.activeView = 'year';\n }\n\n protected override internalOptionChanged(e: MXComponentOptionChanged) {\n if (e.name == 'depth' || e.name == 'activeView' || e.name == 'disabledDates' || e.name == 'holidayDates') {\n this.render();\n }\n if (e.name == 'type') {\n this._refresh();\n }\n }\n\n protected override internalSetValue(value: Date): Date | null {\n if (!value) return null;\n const v = this.calendarService.convert(value);\n const isDisabled = this.isDisabled(v);\n if (isDisabled) return null;\n else return v.date;\n }\n\n protected override internalValueChanged(value?: Date) {\n const val = this.calendarService.create(value, this.type);\n if (\n !this._viewStartDate ||\n val.compare(this.displayRange.startTime, this.activeView) == -1 ||\n val.compare(this.displayRange.endTime, this.activeView) == 1\n ) {\n this._viewStartDate = this.calendarService.create(value, this.type);\n }\n this._footPrint.year = val.year;\n this._footPrint.month = val.monthOfYear;\n this._footPrint.day = val.dayOfMonth;\n this.render();\n }\n\n protected _handleGoToday() {\n this._navUserInteraction = true;\n this._setDate(this._today.date);\n this.goToday();\n this._navUserInteraction = false;\n }\n\n next() {\n this._navNextPrev(false);\n }\n\n prev() {\n this._navNextPrev(true);\n }\n\n override focus() {\n const func = (s: string) => this.getHostElement().querySelector<HTMLDivElement>(s);\n const div = func('.ax-calendar-slots>div.ax-state-selected') || func('.ax-calendar-slots>div');\n div?.focus();\n }\n\n private _navNextPrev(prev: boolean) {\n const sign = prev ? -1 : 1;\n if (this.activeView == 'day') this.navTo(this._viewStartDate.add('month', sign * 1 * this.count));\n else if (this.activeView == 'month') this.navTo(this._viewStartDate.add('year', sign * 1 * this.count));\n else this.navTo(this._viewStartDate.add('year', sign * 10 * this.count));\n }\n\n goToday() {\n this.navTo(this._today);\n }\n\n navTo(date: Date | AXDateTime) {\n const val = this.calendarService.convert(date, this.type);\n this._viewStartDate = val.startOf();\n this.render();\n //to make sure its rendred and displayRange is not null\n if (this.views.length > 0) {\n const vr = this.displayRange;\n this.onNavigate.emit({\n component: this,\n isUserInteraction: this._navUserInteraction,\n start: vr.startTime?.date,\n end: vr.endTime?.date,\n htmlElement: this.getHostElement(),\n });\n }\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n const _classes = {\n 'ax-state-disabled': this.disabled,\n 'ax-state-readonly': this.readonly,\n };\n return Object.entries(_classes)\n .filter((c) => c[1])\n .map((c) => c[0])\n .join(' ');\n }\n\n private _setDate(value: Date) {\n if (this.readonly || this.disabled) return;\n this.commitValue(this.calendarService.convert(value, this.type).startOf().date, true);\n }\n\n protected isDisabled(date: AXDateTime): boolean {\n if (Array.isArray(this.disabledDates) && this.disabledDates.length != 0) {\n return this.disabledDates.some((d) => date.equal(d, 'day'));\n } else if (typeof this.disabledDates == 'function') {\n return this.disabledDates(date.date);\n }\n return false;\n }\n\n protected isHoliday(date: AXDateTime): boolean {\n const gh = this.calendarService.holidays.some((d) => date.equal(d.date, 'day'));\n let dh = this.calendarService.holidays.some((d) => date.equal(d.date, 'day'));\n if (Array.isArray(this.holidayDates) && this.holidayDates.length != 0) {\n dh = this.holidayDates.some((d) => date.equal(d, 'day'));\n } else if (typeof this.holidayDates == 'function') {\n dh = this.holidayDates(date.date);\n }\n return gh || dh;\n }\n\n protected isWeekend(date: AXDateTime): boolean {\n const weekend = this.calendarService.resolveCalendar(this.type).weekend;\n return weekend.includes(date.dayOfWeek - 1);\n }\n\n @HostListener('keydown', ['$event'])\n _handleOnKeydownEvent(e: KeyboardEvent) {\n //TODO: complete keyboad navigation\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n };\n if (e.code === 'ArrowRight' || e.code === 'ArrowLeft') {\n if (e.ctrlKey) {\n e.code === 'ArrowRight' ? this.next() : this.prev();\n setTimeout(() => {\n this.focus();\n }, 50);\n }\n ignore();\n } else if (e.code === 'ArrowUp' || e.code === 'ArrowDown') {\n if (e.ctrlKey) {\n e.code === 'ArrowUp' ? this.next() : this.prev();\n setTimeout(() => {\n this.focus();\n }, 50);\n }\n ignore();\n }\n }\n\n protected getMonthName(date: AXDateTime, style: 'short' | 'long') {\n return `dateTime.months.${date.calendar.name()}.${style}.${date.monthOfYear - 1}`;\n }\n}\n","<ng-content select=\"ax-header\"></ng-content>\n<div class=\"ax-calendar-body\">\n @for(v of views; let i = $index, first = $first, last = $last; track i){\n @switch (activeView) {\n @case ('year') {\n @if(showNavigation)\n {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-state-disabled\" (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }} - {{ v.range.endTime.format('YYYY') }}\n </button>\n </div>\n @if(last){\n <div class=\"ax-calendar-header-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-next\" (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-slots ax-calendar-slots-year\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n @for(slot of v.slots; track slot.text){\n <div tabindex=\"0\" class=\"ax-calendar-slot\" [ngClass]=\"slot.cssClass\" (click)=\"_handleSlotClick($event, slot)\">\n @if(cellTemplate){\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n } @else {\n <div [title]=\"slot.tooltip\">\n {{ slot.text }}\n </div>\n }\n </div>\n }\n </div>\n }\n @case ('month') {\n @if(showNavigation)\n {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\" (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }}\n </button>\n </div>\n @if(last){\n <div class=\"ax-calendar-header-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-slots ax-calendar-slots-month\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <div tabindex=\"0\" *ngFor=\"let slot of v.slots\" class=\"ax-calendar-slot\" [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\">\n\n @if(cellTemplate){\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n }@else {\n <div [title]=\"slot.tooltip\">\n {{getMonthName(slot.date,'short') | translate | async }}\n </div>\n }\n\n </div>\n </div>\n }\n @default {\n @if(showNavigation)\n {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\" (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }}\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\" (click)=\"_handleNavClick($event, 'month')\">\n {{getMonthName(v.range.startTime,'long') | translate | async }}\n </button>\n </div>\n @if(last){\n <div class=\"ax-calendar-header-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-week\">\n <div *ngFor=\"let d of _weekdays\">{{ ('dateTime.weekdays.short.'+d) | translate | async }}</div>\n </div>\n <div class=\"ax-calendar-slots ax-calendar-slots-day\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <ng-container *ngFor=\"let slot of v.slots\">\n <div tabindex=\"0\" class=\"ax-calendar-slot\" [ngClass]=\"slot.cssClass\" (click)=\"_handleSlotClick($event, slot)\">\n @if(cellTemplate){\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n } @else{\n <div [title]=\"slot.tooltip\">\n {{ slot.text }}\n </div>\n }\n\n </div>\n </ng-container>\n </div>\n }\n }\n }\n\n</div>\n<ng-content select=\"ax-footer\"></ng-content>","import { AXRange, MXInteractiveComponent, MXValueComponent } from '@acorex/components/common';\nimport { AXCalendarService, AXDateTime } from '@acorex/core/date-time';\nimport { AXHtmlUtil } from '@acorex/core/utils';\nimport { AfterViewInit, Component, ViewChild, ViewEncapsulation, inject } from '@angular/core';\nimport { classes } from 'polytype';\nimport { AXCalendarSlotClick, MXCalendarBaseComponent } from './calendar.class';\nimport { AXCalendarComponent } from './calendar.component';\n\n@Component({\n selector: 'ax-calendar-range',\n templateUrl: 'calendar-range.component.html',\n styleUrls: ['calendar-range.component.scss'],\n encapsulation: ViewEncapsulation.None,\n inputs: [\n 'rtl',\n 'readonly',\n 'value',\n 'name',\n 'disabled',\n 'depth',\n 'activeView',\n 'minValue',\n 'maxValue',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n 'showNavigation',\n ],\n outputs: [\n 'onOptionChanged',\n 'valueChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick',\n ],\n})\nexport class AXCalendarRangeComponent\n extends classes(MXValueComponent<AXRange<Date>>, MXInteractiveComponent, MXCalendarBaseComponent)\n implements AfterViewInit\n{\n private _calendarService: AXCalendarService = inject(AXCalendarService);\n\n @ViewChild('c1', { static: true })\n private _c1: AXCalendarComponent;\n\n @ViewChild('c2', { static: true })\n private _c2: AXCalendarComponent;\n\n _navText = '';\n\n protected rtl!: boolean;\n\n constructor() {\n super();\n this.defaultValue = { from: null, end: null };\n }\n\n protected override ngOnInit(): void {\n super.ngOnInit();\n this.rtl = AXHtmlUtil.isRtl(this.getHostElement());\n }\n\n ngAfterViewInit(): void {\n this._syncNav1();\n }\n\n getCellClass = (date: AXDateTime) => {\n //const d = this._calendarService.create(date, this.type);\n const from = this._calendarService.create(this.value.from, this.type);\n const end = this._calendarService.create(this.value.end, this.type);\n if (this.value.from && date.equal(from, 'day')) {\n return 'ax-range-start';\n }\n if (this.value.end && date.equal(end, 'day')) return 'ax-range-end';\n if (this.value.from && this.value.end && date.compare(from, 'day') > 0 && date.compare(end, 'day') < 0) return 'ax-range-between';\n return null;\n };\n\n protected handleSlotClick(e: AXCalendarSlotClick) {\n if (this._c1.activeView == this.depth) {\n if (!this.value.from || (this.value.from && this.value.end)) {\n this.value.from = e.item;\n this.value.end = null;\n }\n if (this.value.from && e.item <= this.value.from) {\n this.value.from = e.item;\n } else if (this.value.from && !this.value.end) {\n this.value.end = e.item;\n }\n } else {\n if (e.component == this._c1) this._syncNav1();\n if (e.component == this._c2) {\n this._syncNav2(this._calendarService.create(e.item, this.type));\n }\n }\n this._c1.render();\n this._c2.render();\n }\n\n protected handlePrevClick() {\n const view = this._c1.activeView;\n const d1 = this._c1.displayRange.startTime;\n if (view == 'day' || view == 'month') {\n this._c1.prev();\n } else if (view == 'year') {\n this._c1.navTo(d1.add('year', -20));\n }\n }\n\n protected handleNextClick() {\n const view = this._c1.activeView;\n const d1 = this._c1.displayRange.startTime;\n if (view == 'day' || view == 'month') {\n this._c1.next();\n } else if (view == 'year') {\n this._c1.navTo(d1.add('year', 20));\n }\n }\n\n protected handleNavClick() {\n this._c1.toggleView();\n }\n\n private _syncNavText() {\n const view = this._c1.activeView;\n const d1 = this._c1.displayRange.startTime;\n if (view == 'day') {\n const d2 = this._c2.displayRange.endTime;\n this._navText = `${d1.format('MMM yyyy')} - ${d2.format('MMM yyyy')}`;\n } else if (view == 'month') {\n const d2 = this._c2.displayRange.endTime;\n this._navText = `${d1.format('yyyy')} - ${d2.format('yyyy')}`;\n } else if (view == 'year') {\n const d2 = this._c2.displayRange.endTime;\n this._navText = `${d1.format('yyyy')} - ${d2.format('yyyy')}`;\n }\n }\n\n protected handleNavigate() {\n this._syncNav1();\n }\n\n protected handleActiveViewChange1() {\n this._c2.activeView = this._c1.activeView;\n this._syncNav1();\n }\n\n protected handleActiveViewChange2() {\n if (this._c2.activeView != this._c1.activeView) {\n this._c1.activeView = this._c2.activeView;\n }\n }\n\n private _syncNav1() {\n const view = (this._c2.activeView = this._c1.activeView);\n const range = this._c1.displayRange;\n if (view == 'day') {\n this._c2.navTo(range.startTime.add('month', 1));\n } else if (view == 'month') {\n this._c2.navTo(range.startTime.add('year', 1));\n } else if (view == 'year') {\n this._c2.navTo(range.endTime.add('year', 4));\n }\n this._syncNavText();\n }\n\n private _syncNav2(e: AXDateTime) {\n const view = this._c2.activeView;\n if (view == 'month') {\n this._c1.navTo(e.add('month', -1));\n } else if (view == 'year') {\n this._c1.navTo(e.startOf('year'));\n }\n }\n}\n","<div class=\"ax-calendar-range-header\">\n <ng-content></ng-content>\n <div class=\"ax-calendar-header-range-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button\"\n (click)=\"handleNavClick()\">\n {{ _navText }}\n </button>\n </div>\n <div class=\"ax-calendar-header-range-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button ax-button-icon\"\n (click)=\"handlePrevClick()\">\n <i class=\"ax-icon\" [ngClass]=\"{\n 'ax-icon-chevron-left': !rtl,\n 'ax-icon-chevron-right': rtl\n }\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button ax-button-icon\"\n (click)=\"handleNextClick()\">\n <i class=\"ax-icon\" [ngClass]=\"{\n 'ax-icon-chevron-left': rtl,\n 'ax-icon-chevron-right': !rtl\n }\"></i>\n </button>\n </div>\n</div>\n<div class=\"ax-calendar-range-body\">\n <ax-calendar #c1 [showNavigation]=\"false\" [cellClass]=\"getCellClass\" [type]=\"type\" [cellTemplate]=\"cellTemplate\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [depth]=\"depth\" (onSlotClick)=\"handleSlotClick($event)\"\n (onNavigate)=\"handleNavigate()\" (activeViewChange)=\"handleActiveViewChange1()\">\n </ax-calendar>\n <ax-calendar #c2 [showNavigation]=\"false\" [cellClass]=\"getCellClass\" [type]=\"type\" [cellTemplate]=\"cellTemplate\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [depth]=\"depth\" (onSlotClick)=\"handleSlotClick($event)\"\n (activeViewChange)=\"handleActiveViewChange2()\">\n </ax-calendar>\n</div>","import { AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXCalendarRangeComponent } from './calendar-range.component';\nimport { AXCalendarComponent } from './calendar.component';\n\nconst COMPONENT = [AXCalendarComponent, AXCalendarRangeComponent];\nconst MODULES = [CommonModule, AXDateTimeModule, AXTranslationModule, AXTooltipModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.AXCalendarComponent"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-calendar.mjs","sources":["../../../../libs/components/calendar/src/lib/calendar.class.ts","../../../../libs/components/calendar/src/lib/calendar.component.ts","../../../../libs/components/calendar/src/lib/calendar.component.html","../../../../libs/components/calendar/src/lib/calendar-range.component.ts","../../../../libs/components/calendar/src/lib/calendar-range.component.html","../../../../libs/components/calendar/src/lib/calendar.module.ts","../../../../libs/components/calendar/src/acorex-components-calendar.ts"],"sourcesContent":["import { AXItemClickEvent, AXRangeChangedEvent, MXBaseComponent } from '@acorex/components/common';\nimport { AXCalendarService, AXDateTime, AXDateTimeRange } from '@acorex/core/date-time';\nimport { EventEmitter, Injectable, Input, Output, TemplateRef, inject } from '@angular/core';\n\nexport type AXCalendarViewType = 'year' | 'month' | 'day';\nexport type AXCalendarViewDepth = AXCalendarViewType;\nexport type AXCalendarDisabledDates = Date[] | ((date: Date) => boolean);\nexport type AXCalendarHolidayDates = Date[] | ((date: Date) => boolean);\nexport type AXCalendarCellCssClass = string | { [key: string]: boolean } | ((date: Date) => string);\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXCalendarNavigateEvent extends AXRangeChangedEvent<Date> {}\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXCalendarSlotClick extends AXItemClickEvent<Date> {}\n\nexport interface AXCalendarViewSlot {\n date: AXDateTime;\n text: string;\n tooltip: string;\n today: boolean;\n selected: boolean;\n disabled: boolean;\n cssClass: { [key: string]: boolean };\n}\nexport interface AXCalendarView {\n range: AXDateTimeRange;\n slots: AXCalendarViewSlot[];\n}\n\n@Injectable()\nexport class MXCalendarBaseComponent extends MXBaseComponent {\n protected calendarService: AXCalendarService = inject(AXCalendarService);\n\n @Input()\n interface: 'calendar' | 'picker' = 'calendar';\n\n @Input()\n cellTemplate?: TemplateRef<unknown>;\n\n @Input()\n cellClass?: AXCalendarCellCssClass;\n\n @Input()\n showNavigation = true;\n\n @Input()\n count = 1;\n\n @Output()\n onSlotClick: EventEmitter<AXCalendarSlotClick> = new EventEmitter<AXCalendarSlotClick>();\n\n @Output()\n onNavigate: EventEmitter<AXCalendarNavigateEvent> = new EventEmitter<AXCalendarNavigateEvent>();\n\n @Output()\n activeViewChange: EventEmitter<AXCalendarViewType> = new EventEmitter<AXCalendarViewType>();\n\n private _activeView: AXCalendarViewType = 'day';\n @Input()\n public get activeView(): AXCalendarViewType {\n return this._activeView;\n }\n public set activeView(v: AXCalendarViewType) {\n this.setOption({\n name: 'activeView',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n @Output()\n public typeChange: EventEmitter<string> = new EventEmitter<string>();\n\n private _type: string;\n\n @Input()\n public get type(): string {\n return this._type || this.calendarService.calendar.name();\n }\n public set type(v: string) {\n this.setOption({\n name: 'type',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n @Output()\n depthChange: EventEmitter<AXCalendarViewDepth> = new EventEmitter<AXCalendarViewDepth>();\n\n private _depth: AXCalendarViewDepth = 'day';\n @Input()\n public get depth(): AXCalendarViewDepth {\n return this._depth;\n }\n public set depth(v: AXCalendarViewDepth) {\n this.setOption({\n name: 'depth',\n value: v,\n beforeCallback: (o, n) => {\n this.activeView = v;\n return n;\n },\n afterCallback: () => {\n this.render();\n },\n });\n }\n\n @Output()\n minValueChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n private _minValue: Date;\n @Input()\n public get minValue(): Date {\n return this._minValue;\n }\n public set minValue(v: Date) {\n this.setOption({\n name: 'minValue',\n value: v,\n afterCallback: () => {\n this.render();\n },\n });\n }\n\n @Output()\n maxValueChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n private _maxValue: Date;\n @Input()\n public get maxValue(): Date {\n return this._maxValue;\n }\n public set maxValue(v: Date) {\n this.setOption({\n name: 'maxValue',\n value: v,\n afterCallback: () => {\n this.render();\n },\n });\n }\n\n @Output()\n disabledDatesChange: EventEmitter<AXCalendarDisabledDates> = new EventEmitter<AXCalendarDisabledDates>();\n\n private _disabledDates: AXCalendarDisabledDates;\n @Input()\n public get disabledDates(): AXCalendarDisabledDates {\n return this._disabledDates;\n }\n public set disabledDates(v: AXCalendarDisabledDates) {\n this.setOption({ name: 'disabledDates', value: v });\n }\n\n @Output()\n holidayDatesChange: EventEmitter<AXCalendarHolidayDates> = new EventEmitter<AXCalendarHolidayDates>();\n\n private _holidayDates: AXCalendarHolidayDates;\n @Input()\n public get holidayDates(): AXCalendarHolidayDates {\n return this._holidayDates;\n }\n public set holidayDates(v: AXCalendarHolidayDates) {\n this.setOption({ name: 'holidayDates', value: v });\n }\n\n render(): void {}\n}\n\nexport const CALENDAR_INPUTS = ['depth', 'activeView', 'min', 'max', 'disabledDates', 'type', 'holidayDates'];\nexport const CALENDAR_OUTPUTS = ['depthChange', 'typeChange', 'disabledDatesChange', 'holidayDatesChange', 'onNavigate'];\n","import {\n AXClickEvent,\n AXValuableComponent,\n MXComponentOptionChanged,\n MXInteractiveComponent,\n MXValueComponent,\n} from '@acorex/components/common';\nimport { AXDateTime, AXDateTimeRange, TimeUnit } from '@acorex/core/date-time';\nimport { ChangeDetectionStrategy, Component, HostBinding, HostListener, ViewEncapsulation, forwardRef } from '@angular/core';\n\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AXCalendarView, AXCalendarViewSlot, AXCalendarViewType, MXCalendarBaseComponent } from './calendar.class';\n\n/**\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(MXValueComponent<Date | null>, MXInteractiveComponent, MXCalendarBaseComponent) {\n public get displayRange(): AXDateTimeRange {\n return new AXDateTimeRange(this.views[0].range.startTime, this.views[this.views.length - 1].range.endTime);\n }\n\n /**\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 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 protected override ngOnDestroy(): void {}\n\n override render() {\n if (!this._viewStartDate) return;\n const applyCellClass = (slot: AXCalendarViewSlot, cellClass: any = this.cellClass) => {\n switch (typeof cellClass) {\n case 'string':\n cellClass.split(' ').forEach((c) => (slot.cssClass[c] = true));\n break;\n case 'object':\n Object.assign(slot.cssClass, cellClass);\n break;\n case 'function':\n applyCellClass(slot, cellClass(slot.date));\n break;\n }\n };\n this.views = [];\n for (let i = 0; i < this.count; i++) {\n let unit: TimeUnit = 'month';\n let value: number = i;\n //\n if (this.activeView == 'day') {\n unit = 'month';\n value = i;\n } else if (this.activeView == 'month') {\n unit = 'year';\n value = i;\n } else {\n unit = 'year';\n value = i * 10;\n }\n //\n const current = this._viewStartDate.add(unit, value);\n const view: AXCalendarView = {\n range: this._setDisplayRange(current),\n slots: [],\n };\n this.views.push(view);\n //\n // year view\n if (this.activeView == 'year') {\n const a = view.range.enumurate('year');\n\n view.slots = a.map((d, i) => {\n const r: any = {};\n r.date = d;\n //\n r.text = d.format('YYYY');\n r.tooltip = d.format('YYYY');\n //\n r.today = d.equal(this._today, 'year');\n //\n r.selected = this.value && this.depth == 'year' && d.equal(this.value, 'year');\n //\n const focused = d.year == this._footPrint.year;\n //\n r.disabled =\n (this.minValue && d.compare(this.minValue, 'year') == -1) || (this.maxValue && d.compare(this.maxValue, 'year') == 1);\n //\n if (r.disabled) {\n r.cssClass = {\n 'ax-state-disabled': r.disabled,\n };\n } else {\n r.cssClass = {\n 'ax-state-today': r.today,\n 'ax-state-selected': r.selected,\n 'ax-state-focused': focused,\n };\n }\n applyCellClass(r);\n return r;\n });\n }\n // month view\n else if (this.activeView == 'month') {\n const a = view.range.enumurate('month');\n view.slots = a.map((d, i) => {\n const r: any = {};\n r.date = d;\n r.text = d.format('MMM');\n r.tooltip = d.format('MMMM YYYY');\n r.today = d.equal(this._today, 'month');\n //\n r.disabled =\n (this.minValue && d.compare(this.minValue, 'month') == -1) || (this.maxValue && d.compare(this.maxValue, 'month') == 1);\n //\n r.selected = this.value && this.depth == 'month' && d.equal(this.value, 'month');\n //\n const focused = d.monthOfYear == this._footPrint.month && d.year == this._footPrint.year;\n //\n if (r.disabled) {\n r.cssClass = {\n 'ax-state-disabled': r.disabled,\n };\n } else {\n r.cssClass = {\n 'ax-state-today': r.today,\n 'ax-state-selected': r.selected,\n 'ax-state-focused': focused,\n };\n }\n applyCellClass(r);\n return r;\n });\n }\n // day view\n else {\n const a = view.range.enumurate('day');\n view.slots = a.map((d, i) => {\n const r: any = {};\n r.date = d;\n r.text = d.dayOfMonth;\n r.tooltip = d.format('longDate');\n r.today = d.equal(this._today, 'day');\n r.selected = this.value && d.equal(this.value, 'day');\n r.holiday = this.isHoliday(d) || this.isWeekend(d);\n r.disabled =\n (this.minValue && d.compare(this.minValue, 'day') == -1) ||\n (this.maxValue && d.compare(this.maxValue, 'day') == 1) ||\n this.isDisabled(d);\n //\n const focused = d.dayOfMonth == this._footPrint.day && d.monthOfYear == this._footPrint.month && d.year == this._footPrint.year;\n //\n if (r.disabled) {\n r.cssClass = {\n 'ax-state-disabled': true,\n };\n } else {\n r.cssClass = {\n 'ax-state-today': r.today,\n 'ax-state-selected': r.selected,\n 'ax-state-holiday': r.holiday,\n //'ax-state-focused': focused,\n };\n }\n // ax-col-start-1 ax-col-start-2 ax-col-start-3 ax-col-start-4 ax-col-start-5 ax-col-start-6 ax-col-start-7\n r.cssClass[`ax-column-start-${view.range.startTime.dayOfWeek}`] = i == 0;\n if (this.cellClass) applyCellClass(r);\n return r;\n });\n }\n }\n this.cdr.markForCheck();\n }\n\n /**\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 const val = this.calendarService.create(slot.date.date, this.type);\n if (this.activeView == 'day') {\n this._setDate(slot.date.date);\n } else if (this.activeView == 'month' && this.depth == 'day') {\n this.activeView = 'day';\n this._footPrint.month = val.monthOfYear;\n this.navTo(slot.date);\n } else if (this.activeView == 'month' && this.depth == 'month') {\n this._setDate(slot.date.date);\n } else if (this.activeView == 'year' && (this.depth == 'day' || this.depth == 'month')) {\n this.activeView = 'month';\n this._footPrint.year = val.year;\n this.navTo(slot.date);\n } else if (this.activeView == 'year' && this.depth == 'year') {\n this._setDate(slot.date.date);\n }\n }\n\n /**\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 (e.name == 'depth' || e.name == 'activeView' || e.name == 'disabledDates' || e.name == 'holidayDates') {\n this.render();\n }\n if (e.name == 'type') {\n this._refresh();\n }\n }\n\n /**\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 this.render();\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 {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-state-disabled\" (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }} - {{ v.range.endTime.format('YYYY') }}\n </button>\n </div>\n @if(last){\n <div class=\"ax-calendar-header-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-next\" (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-slots ax-calendar-slots-year\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n @for(slot of v.slots; track slot.text){\n <div tabindex=\"0\" class=\"ax-calendar-slot\" [ngClass]=\"slot.cssClass\" (click)=\"_handleSlotClick($event, slot)\">\n @if(cellTemplate){\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n } @else {\n <div [title]=\"slot.tooltip\">\n {{ slot.text }}\n </div>\n }\n </div>\n }\n </div>\n }\n @case ('month') {\n @if(showNavigation)\n {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\" (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }}\n </button>\n </div>\n @if(last){\n <div class=\"ax-calendar-header-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-slots ax-calendar-slots-month\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <div tabindex=\"0\" *ngFor=\"let slot of v.slots\" class=\"ax-calendar-slot\" [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\">\n\n @if(cellTemplate){\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n }@else {\n <div [title]=\"slot.tooltip\">\n {{getMonthName(slot.date,'short') | translate | async }}\n </div>\n }\n\n </div>\n </div>\n }\n @default {\n @if(showNavigation)\n {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\" (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }}\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\" (click)=\"_handleNavClick($event, 'month')\">\n {{getMonthName(v.range.startTime,'long') | translate | async }}\n </button>\n </div>\n @if(last){\n <div class=\"ax-calendar-header-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\">\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-week\">\n <div *ngFor=\"let d of _weekdays\">{{ ('dateTime.weekdays.short.'+d) | translate | async }}</div>\n </div>\n <div class=\"ax-calendar-slots ax-calendar-slots-day\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <ng-container *ngFor=\"let slot of v.slots\">\n <div tabindex=\"0\" class=\"ax-calendar-slot\" [ngClass]=\"slot.cssClass\" (click)=\"_handleSlotClick($event, slot)\">\n @if(cellTemplate){\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n } @else{\n <div [title]=\"slot.tooltip\">\n {{ slot.text }}\n </div>\n }\n\n </div>\n </ng-container>\n </div>\n }\n }\n }\n\n</div>\n<ng-content select=\"ax-footer\"></ng-content>","import { AXRange, MXInteractiveComponent, MXValueComponent } from '@acorex/components/common';\nimport { AXCalendarService, AXDateTime } from '@acorex/core/date-time';\nimport { AXHtmlUtil } from '@acorex/core/utils';\nimport { AfterViewInit, Component, ViewChild, ViewEncapsulation, inject } from '@angular/core';\nimport { classes } from 'polytype';\nimport { AXCalendarSlotClick, MXCalendarBaseComponent } from './calendar.class';\nimport { AXCalendarComponent } from './calendar.component';\n\n@Component({\n selector: 'ax-calendar-range',\n templateUrl: 'calendar-range.component.html',\n styleUrls: ['calendar-range.component.scss'],\n encapsulation: ViewEncapsulation.None,\n inputs: [\n 'rtl',\n 'readonly',\n 'value',\n 'name',\n 'disabled',\n 'depth',\n 'activeView',\n 'minValue',\n 'maxValue',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n 'showNavigation',\n ],\n outputs: [\n 'onOptionChanged',\n 'valueChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick',\n ],\n})\nexport class AXCalendarRangeComponent\n extends classes(MXValueComponent<AXRange<Date>>, MXInteractiveComponent, MXCalendarBaseComponent)\n implements AfterViewInit\n{\n /**\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 /**\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) 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) this._syncNav1();\n if (e.component == this._c2) {\n this._syncNav2(this._calendarService.create(e.item, this.type));\n }\n }\n this._c1.render();\n this._c2.render();\n }\n\n /**\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\" [cellClass]=\"getCellClass\" [type]=\"type\" [cellTemplate]=\"cellTemplate\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [depth]=\"depth\" (onSlotClick)=\"handleSlotClick($event)\"\n (onNavigate)=\"handleNavigate()\" (activeViewChange)=\"handleActiveViewChange1()\">\n </ax-calendar>\n <ax-calendar #c2 [showNavigation]=\"false\" [cellClass]=\"getCellClass\" [type]=\"type\" [cellTemplate]=\"cellTemplate\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [depth]=\"depth\" (onSlotClick)=\"handleSlotClick($event)\"\n (activeViewChange)=\"handleActiveViewChange2()\">\n </ax-calendar>\n</div>","import { AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXCalendarRangeComponent } from './calendar-range.component';\nimport { AXCalendarComponent } from './calendar.component';\n\nconst COMPONENT = [AXCalendarComponent, AXCalendarRangeComponent];\nconst MODULES = [CommonModule, AXDateTimeModule, AXTranslationModule, AXTooltipModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.AXCalendarComponent"],"mappings":"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"}
|
@@ -8,12 +8,28 @@ import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
8
8
|
import { AXDecoratorModule } from '@acorex/components/decorators';
|
9
9
|
import { CommonModule } from '@angular/common';
|
10
10
|
|
11
|
+
/**
|
12
|
+
* A checkbox component that allows users to select or deselect an option.
|
13
|
+
*
|
14
|
+
* @category Components
|
15
|
+
*/
|
11
16
|
class AXCheckBoxComponent extends MXValueComponent {
|
12
17
|
constructor() {
|
13
18
|
super(...arguments);
|
19
|
+
/**
|
20
|
+
* Sets the checkbox to an indeterminate state.
|
21
|
+
*
|
22
|
+
* @defaultValue false
|
23
|
+
*/
|
14
24
|
this.indeterminate = false;
|
25
|
+
/**
|
26
|
+
* @ignore
|
27
|
+
*/
|
15
28
|
this._stateIndeterminate = false;
|
16
29
|
}
|
30
|
+
/**
|
31
|
+
* @ignore
|
32
|
+
*/
|
17
33
|
internalGetValue(value) {
|
18
34
|
if (!this.indeterminate && value == null) {
|
19
35
|
return false;
|
@@ -23,6 +39,11 @@ class AXCheckBoxComponent extends MXValueComponent {
|
|
23
39
|
}
|
24
40
|
return coerceBooleanProperty(value);
|
25
41
|
}
|
42
|
+
/**
|
43
|
+
* Sets the checkbox state based on the provided value.
|
44
|
+
*
|
45
|
+
* @param value - `boolean` or `null`. Determines if the checkbox is checked, unchecked, or indeterminate.
|
46
|
+
*/
|
26
47
|
internalSetValue(value) {
|
27
48
|
if (this.indeterminate && value == null) {
|
28
49
|
this._stateIndeterminate = true;
|
@@ -37,11 +58,17 @@ class AXCheckBoxComponent extends MXValueComponent {
|
|
37
58
|
return value == true ? true : false;
|
38
59
|
}
|
39
60
|
}
|
61
|
+
/**
|
62
|
+
* @ignore
|
63
|
+
*/
|
40
64
|
ngOnInit() {
|
41
65
|
super.ngOnInit();
|
42
66
|
//
|
43
67
|
this.registerValidation();
|
44
68
|
}
|
69
|
+
/**
|
70
|
+
* @ignore
|
71
|
+
*/
|
45
72
|
ngAfterViewInit() {
|
46
73
|
this._labels?.forEach((c) => {
|
47
74
|
//TODO: remove listener
|
@@ -52,6 +79,9 @@ class AXCheckBoxComponent extends MXValueComponent {
|
|
52
79
|
});
|
53
80
|
});
|
54
81
|
}
|
82
|
+
/**
|
83
|
+
* @ignore
|
84
|
+
*/
|
55
85
|
_handleClick(e) {
|
56
86
|
e.stopPropagation();
|
57
87
|
if (this.readonly || this.disabled) {
|
@@ -60,6 +90,9 @@ class AXCheckBoxComponent extends MXValueComponent {
|
|
60
90
|
}
|
61
91
|
return true;
|
62
92
|
}
|
93
|
+
/**
|
94
|
+
* @ignore
|
95
|
+
*/
|
63
96
|
_handleModelChange(value) {
|
64
97
|
this.commitValue(value, true);
|
65
98
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-check-box.mjs","sources":["../../../../libs/components/check-box/src/lib/check-box.component.ts","../../../../libs/components/check-box/src/lib/check-box.component.html","../../../../libs/components/check-box/src/lib/check-box.module.ts","../../../../libs/components/check-box/src/acorex-components-check-box.ts"],"sourcesContent":["import { AXValuableComponent, MXValueComponent } from '@acorex/components/common';\n\nimport { AXLabelComponent } from '@acorex/components/label';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n HostListener,\n Input,\n QueryList,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'ax-check-box',\n templateUrl: './check-box.component.html',\n styleUrls: ['./check-box.component.scss'],\n inputs: ['disabled', 'tabIndex', 'readonly', 'value', 'name', 'id', 'checked'],\n outputs: ['onBlur', 'onFocus', 'valueChange', 'onValueChanged'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXValuableComponent, useExisting: AXCheckBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCheckBoxComponent),\n multi: true,\n },\n ],\n})\nexport class AXCheckBoxComponent extends MXValueComponent<boolean | null> implements AfterViewInit {\n @ContentChildren(AXLabelComponent)\n private _labels: QueryList<AXLabelComponent>;\n\n @Input()\n public indeterminate = false;\n\n protected _stateIndeterminate = false;\n\n protected override internalGetValue(value: unknown): boolean | null {\n if (!this.indeterminate && value == null) {\n return false;\n }\n if (this.indeterminate && value == null) {\n return null;\n }\n return coerceBooleanProperty(value);\n }\n\n override internalSetValue(value: boolean | null) {\n if (this.indeterminate && value == null) {\n this._stateIndeterminate = true;\n return null;\n } else if (!this.indeterminate && value == null) {\n this._stateIndeterminate = false;\n return false;\n } else {\n this._stateIndeterminate = false;\n return value == true ? true : false;\n }\n }\n\n protected override ngOnInit(): void {\n super.ngOnInit();\n //\n this.registerValidation();\n }\n\n ngAfterViewInit() {\n this._labels?.forEach((c) => {\n //TODO: remove listener\n c.getHostElement().addEventListener('click', () => {\n if (!this.readonly && !this.disabled) {\n this.value = !this.value;\n }\n });\n });\n }\n\n @HostListener('click', ['$event'])\n private _handleClick(e: UIEvent) {\n e.stopPropagation();\n if (this.readonly || this.disabled) {\n e.preventDefault();\n return false;\n }\n return true;\n }\n\n protected _handleModelChange(value: boolean | null) {\n this.commitValue(value, true);\n }\n}\n","<div class=\"ax-checkbox-label\" [class.ax-state-readonly]=\"readonly\" [class.ax-state-disabled]=\"disabled\">\n <div class=\"ax-checkbox-start-side\">\n <input\n [id]=\"id\"\n class=\"ax-checkbox\"\n type=\"checkbox\"\n [indeterminate]=\"_stateIndeterminate\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n </div>\n <div class=\"ax-checkbox-end-side\">\n <ng-content select=\"ax-label\"></ng-content>\n <ng-content select=\"ax-form-hint\"></ng-content>\n <span class=\"ax-error-container\"></span>\n </div>\n</div>\n<ng-content select=\"ax-validation-rule\"></ng-content>\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXCheckBoxComponent } from './check-box.component';\n@NgModule({\n declarations: [AXCheckBoxComponent],\n imports: [CommonModule, FormsModule, AXDecoratorModule],\n exports: [AXCheckBoxComponent],\n providers: [],\n})\nexport class AXCheckBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;
|
1
|
+
{"version":3,"file":"acorex-components-check-box.mjs","sources":["../../../../libs/components/check-box/src/lib/check-box.component.ts","../../../../libs/components/check-box/src/lib/check-box.component.html","../../../../libs/components/check-box/src/lib/check-box.module.ts","../../../../libs/components/check-box/src/acorex-components-check-box.ts"],"sourcesContent":["import { AXValuableComponent, MXValueComponent } from '@acorex/components/common';\n\nimport { AXLabelComponent } from '@acorex/components/label';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n HostListener,\n Input,\n QueryList,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n/**\n * A checkbox component that allows users to select or deselect an option.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-check-box',\n templateUrl: './check-box.component.html',\n styleUrls: ['./check-box.component.scss'],\n inputs: ['disabled', 'tabIndex', 'readonly', 'value', 'name', 'id', 'checked'],\n outputs: ['onBlur', 'onFocus', 'valueChange', 'onValueChanged'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXValuableComponent, useExisting: AXCheckBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCheckBoxComponent),\n multi: true,\n },\n ],\n})\nexport class AXCheckBoxComponent extends MXValueComponent<boolean | null> implements AfterViewInit {\n /**\n * @ignore\n */\n @ContentChildren(AXLabelComponent)\n private _labels: QueryList<AXLabelComponent>;\n\n /**\n * Sets the checkbox to an indeterminate state.\n *\n * @defaultValue false\n */\n @Input()\n public indeterminate = false;\n\n /**\n * @ignore\n */\n protected _stateIndeterminate = false;\n\n /**\n * @ignore\n */\n protected override internalGetValue(value: unknown): boolean | null {\n if (!this.indeterminate && value == null) {\n return false;\n }\n if (this.indeterminate && value == null) {\n return null;\n }\n return coerceBooleanProperty(value);\n }\n\n /**\n * Sets the checkbox state based on the provided value.\n *\n * @param value - `boolean` or `null`. Determines if the checkbox is checked, unchecked, or indeterminate.\n */\n override internalSetValue(value: boolean | null) {\n if (this.indeterminate && value == null) {\n this._stateIndeterminate = true;\n return null;\n } else if (!this.indeterminate && value == null) {\n this._stateIndeterminate = false;\n return false;\n } else {\n this._stateIndeterminate = false;\n return value == true ? true : false;\n }\n }\n\n /**\n * @ignore\n */\n protected override ngOnInit(): void {\n super.ngOnInit();\n //\n this.registerValidation();\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit() {\n this._labels?.forEach((c) => {\n //TODO: remove listener\n c.getHostElement().addEventListener('click', () => {\n if (!this.readonly && !this.disabled) {\n this.value = !this.value;\n }\n });\n });\n }\n /**\n * @ignore\n */\n @HostListener('click', ['$event'])\n private _handleClick(e: UIEvent) {\n e.stopPropagation();\n if (this.readonly || this.disabled) {\n e.preventDefault();\n return false;\n }\n return true;\n }\n\n /**\n * @ignore\n */\n protected _handleModelChange(value: boolean | null) {\n this.commitValue(value, true);\n }\n}\n","<div class=\"ax-checkbox-label\" [class.ax-state-readonly]=\"readonly\" [class.ax-state-disabled]=\"disabled\">\n <div class=\"ax-checkbox-start-side\">\n <input\n [id]=\"id\"\n class=\"ax-checkbox\"\n type=\"checkbox\"\n [indeterminate]=\"_stateIndeterminate\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n </div>\n <div class=\"ax-checkbox-end-side\">\n <ng-content select=\"ax-label\"></ng-content>\n <ng-content select=\"ax-form-hint\"></ng-content>\n <span class=\"ax-error-container\"></span>\n </div>\n</div>\n<ng-content select=\"ax-validation-rule\"></ng-content>\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXCheckBoxComponent } from './check-box.component';\n@NgModule({\n declarations: [AXCheckBoxComponent],\n imports: [CommonModule, FormsModule, AXDecoratorModule],\n exports: [AXCheckBoxComponent],\n providers: [],\n})\nexport class AXCheckBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -4,11 +4,24 @@ import * as i0 from '@angular/core';
|
|
4
4
|
import { model, Component, ChangeDetectionStrategy, ViewEncapsulation, HostBinding, NgModule } from '@angular/core';
|
5
5
|
import { CommonModule } from '@angular/common';
|
6
6
|
|
7
|
+
/**
|
8
|
+
* A component for displaying and managing a set of chips.
|
9
|
+
*
|
10
|
+
* @category Components
|
11
|
+
*/
|
7
12
|
class AXChipsComponent extends MXColorLookComponent {
|
8
13
|
constructor() {
|
9
14
|
super(...arguments);
|
15
|
+
/**
|
16
|
+
* The text displayed on the chips.
|
17
|
+
*
|
18
|
+
* @defaultValue ''
|
19
|
+
*/
|
10
20
|
this.text = model('');
|
11
21
|
}
|
22
|
+
/**
|
23
|
+
* @ignore
|
24
|
+
*/
|
12
25
|
get __hostClass() {
|
13
26
|
return `ax-el-${this.color}-${this.look} ax-el-interactive`;
|
14
27
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-chips.mjs","sources":["../../../../libs/components/chips/src/lib/chips.component.ts","../../../../libs/components/chips/src/lib/chips.component.html","../../../../libs/components/chips/src/lib/chips.module.ts","../../../../libs/components/chips/src/acorex-components-chips.ts"],"sourcesContent":["import { AXRippleDirective, MXColorLookComponent } from '@acorex/components/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation, model } from '@angular/core';\n\n@Component({\n selector: 'ax-chips',\n templateUrl: './chips.component.html',\n styleUrls: ['./chips.component.scss'],\n inputs: ['tabIndex', 'color', 'look'],\n hostDirectives: [AXRippleDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXChipsComponent extends MXColorLookComponent {\n text = model('');\n\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-el-${this.color}-${this.look} ax-el-interactive`;\n }\n}\n","<ng-content select=\"ax-prefix\"></ng-content>\n@if(text()){\n<div class=\"ax-chips-text\">{{ text() }}</div>\n}\n<ng-content select=\"ax-suffix\"></ng-content>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXChipsComponent } from './chips.component';\n\n@NgModule({\n declarations: [AXChipsComponent],\n imports: [CommonModule],\n exports: [AXChipsComponent],\n providers: [],\n})\nexport class AXChipsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;
|
1
|
+
{"version":3,"file":"acorex-components-chips.mjs","sources":["../../../../libs/components/chips/src/lib/chips.component.ts","../../../../libs/components/chips/src/lib/chips.component.html","../../../../libs/components/chips/src/lib/chips.module.ts","../../../../libs/components/chips/src/acorex-components-chips.ts"],"sourcesContent":["import { AXRippleDirective, MXColorLookComponent } from '@acorex/components/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation, model } from '@angular/core';\n\n/**\n * A component for displaying and managing a set of chips.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-chips',\n templateUrl: './chips.component.html',\n styleUrls: ['./chips.component.scss'],\n inputs: ['tabIndex', 'color', 'look'],\n hostDirectives: [AXRippleDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXChipsComponent extends MXColorLookComponent {\n\n /**\n * The text displayed on the chips.\n * \n * @defaultValue ''\n */\n text = model('');\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-el-${this.color}-${this.look} ax-el-interactive`;\n }\n}\n","<ng-content select=\"ax-prefix\"></ng-content>\n@if(text()){\n<div class=\"ax-chips-text\">{{ text() }}</div>\n}\n<ng-content select=\"ax-suffix\"></ng-content>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXChipsComponent } from './chips.component';\n\n@NgModule({\n declarations: [AXChipsComponent],\n imports: [CommonModule],\n exports: [AXChipsComponent],\n providers: [],\n})\nexport class AXChipsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAGA;;;;AAIG;AAUG,MAAO,gBAAiB,SAAQ,oBAAoB,CAAA;AAT1D,IAAA,WAAA,GAAA;;AAWE;;;;AAIC;AACD,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AASlB,KAAA;AAPC;;AAEG;AACH,IAAA,IACY,WAAW,GAAA;QACrB,OAAO,CAAA,MAAA,EAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAA,kBAAA,CAAoB,CAAC;KAC7D;8GAfU,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,wsBCjB7B,kKAI4C,EAAA,MAAA,EAAA,CAAA,itBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDa/B,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAT5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,UAGZ,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,EAAA,cAAA,EACrB,CAAC,iBAAiB,CAAC,mBAClB,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,kKAAA,EAAA,MAAA,EAAA,CAAA,itBAAA,CAAA,EAAA,CAAA;8BAezB,WAAW,EAAA,CAAA;sBADtB,WAAW;uBAAC,OAAO,CAAA;;;MEnBT,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EALT,YAAA,EAAA,CAAA,gBAAgB,CACrB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAJd,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIX,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC3B,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;ACTD;;AAEG;;;;"}
|