@acorex/components 22.1.7 → 22.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-components-accordion.mjs +2 -2
- package/fesm2022/acorex-components-accordion.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +12 -5
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +2 -2
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-combo-box.mjs +109 -16
- package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
- package/fesm2022/{acorex-components-conversation-acorex-components-conversation-EiqMwr9v.mjs → acorex-components-conversation-acorex-components-conversation-CVgneI8Q.mjs} +1680 -877
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-CVgneI8Q.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-COUB9zrM.mjs +50 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-COUB9zrM.mjs.map +1 -0
- package/fesm2022/{acorex-components-conversation-image-picker-editor-dialog.component-QVs1XWYf.mjs → acorex-components-conversation-image-picker-editor-dialog.component-AO1evM19.mjs} +4 -4
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-AO1evM19.mjs.map +1 -0
- package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-DuRLMEa3.mjs → acorex-components-conversation-picker-rename-file-dialog.component-Vc1R5AFc.mjs} +3 -3
- package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-DuRLMEa3.mjs.map → acorex-components-conversation-picker-rename-file-dialog.component-Vc1R5AFc.mjs.map} +1 -1
- package/fesm2022/acorex-components-conversation.mjs +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +4 -4
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +34 -10
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +1 -1
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-fab.mjs +2 -2
- package/fesm2022/acorex-components-fab.mjs.map +1 -1
- package/fesm2022/acorex-components-file-viewer.mjs +29 -11
- package/fesm2022/acorex-components-file-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-flow-chart.mjs +1 -1
- package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +1 -1
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-highlight.mjs +80 -0
- package/fesm2022/acorex-components-highlight.mjs.map +1 -0
- package/fesm2022/acorex-components-image-editor.mjs +7 -7
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-kanban.mjs +1 -1
- package/fesm2022/acorex-components-kanban.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-lookup.mjs +310 -48
- package/fesm2022/acorex-components-lookup.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +1 -1
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +1 -1
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +1 -1
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-query-builder.mjs +1 -1
- package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-rest-api-generator.mjs +4 -4
- package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
- package/fesm2022/acorex-components-rrule.mjs +1 -1
- package/fesm2022/acorex-components-rrule.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler-picker.mjs +5 -5
- package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +1 -1
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +1 -2
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +143 -43
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +2 -2
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +76 -6
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/highlight/README.md +13 -0
- package/package.json +7 -3
- package/types/acorex-components-button-group.d.ts +4 -0
- package/types/acorex-components-button.d.ts +1 -1
- package/types/acorex-components-combo-box.d.ts +15 -0
- package/types/acorex-components-conversation.d.ts +135 -126
- package/types/acorex-components-data-table.d.ts +6 -1
- package/types/acorex-components-file-viewer.d.ts +1 -0
- package/types/acorex-components-highlight.d.ts +31 -0
- package/types/acorex-components-lookup.d.ts +20 -1
- package/types/acorex-components-selection-list.d.ts +1 -1
- package/types/acorex-components-tabs.d.ts +13 -0
- package/types/acorex-components-wysiwyg.d.ts +13 -0
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-EiqMwr9v.mjs.map +0 -1
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-D4ca9Mvt.mjs +0 -51
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-D4ca9Mvt.mjs.map +0 -1
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-QVs1XWYf.mjs.map +0 -1
- package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-C7BnTUw2.mjs +0 -210
- package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-C7BnTUw2.mjs.map +0 -1
|
@@ -461,7 +461,7 @@ class AXDateTimePickerComponent extends classes(MXCalendarBaseComponent, (MXValu
|
|
|
461
461
|
useExisting: forwardRef(() => AXDateTimePickerComponent),
|
|
462
462
|
multi: true,
|
|
463
463
|
},
|
|
464
|
-
], viewQueries: [{ propertyName: "tabs", first: true, predicate: AXTabsComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (_hasDatePart && _hasTimePart) {\n <div class=\"ax-header\">\n <ax-tabs [look]=\"'default'\" [fitParent]=\"true\" [location]=\"'top'\" (onActiveTabChanged)=\"_handleViewChanged($event)\">\n <ax-tab-item\n [text]=\"'@acorex:dateTime.date' | translate | async\"\n [key]=\"'date'\"\n [disabled]=\"disabled\"\n ></ax-tab-item>\n <ax-tab-item\n [text]=\"'@acorex:dateTime.time' | translate | async\"\n [key]=\"'time'\"\n [disabled]=\"disabled\"\n ></ax-tab-item>\n </ax-tabs>\n </div>\n}\n<div class=\"ax-content\">\n @if (_activePart() === 'date') {\n <div class=\"ax-calendar-part\">\n <ax-calendar\n #calendar\n id=\"calendar\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [weekend]=\"weekend()\"\n [weekdays]=\"weekdays()\"\n [ngModel]=\"editingDateObj().date\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\"\n [depth]=\"depth\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (onValueChanged)=\"_handleCalendarOnValueChanged($event)\"\n [type]=\"_calendarSystem()\"\n [look]=\"calendarLook()\"\n [yearRange]=\"yearRange()\"\n >\n </ax-calendar>\n </div>\n }\n\n @if (_activePart() === 'time') {\n <div class=\"ax-picker-part\">\n <div class=\"ax-header\">\n @if (picker() === 'datetime') {\n {{ editingDateObj() | format: 'time' : 'short' | async }}\n {{ editingDateObj() | format: 'date' : 'short' | async }}\n } @else {\n {{ editingDateObj() | format: picker() : 'medium' | async }}\n }\n </div>\n <div dir=\"ltr\" class=\"ax-picker-time-container\">\n @if (_parts.hour.enabled) {\n <ng-container [ngTemplateOutlet]=\"hourRef\"> </ng-container>\n }\n\n @if (_parts.minute.enabled) {\n <ng-container [ngTemplateOutlet]=\"minuteRef\"> </ng-container>\n }\n\n @if (_parts.second.enabled) {\n <ng-container [ngTemplateOutlet]=\"secondRef\"> </ng-container>\n }\n </div>\n </div>\n }\n</div>\n@if (!disabled && !readonly && (currentTimeButton || _hasTimePart)) {\n <div class=\"ax-footer\">\n <div>\n @if (currentTimeButton) {\n <ax-button\n [text]=\"`@acorex:${buttonText()}` | translate | async\"\n class=\"ax-sm\"\n (onClick)=\"_handleNowClick()\"\n [disabled]=\"isTodayDisabled()\"\n ></ax-button>\n }\n </div>\n <div>\n @if (_hasTimePart) {\n <ax-button\n color=\"primary\"\n [text]=\"'@acorex:dateTime.set' | translate | async\"\n class=\"ax-sm\"\n (onClick)=\"_handleSetClick()\"\n ></ax-button>\n }\n </div>\n </div>\n}\n\n<ng-template #hourRef>\n <ax-picker-container>\n <ax-picker-title>\n <ax-text>{{ '@acorex:dateTime.units.hour' | translate | async }}</ax-text>\n </ax-picker-title>\n <ax-picker-items\n [items]=\"hours\"\n [ngModel]=\"editingDateObj().hour\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'hour')\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"pickerHoursMinValue()\"\n [maxValue]=\"pickerHoursMaxValue()\"\n ></ax-picker-items>\n </ax-picker-container>\n</ng-template>\n\n<ng-template #minuteRef>\n <ax-picker-container>\n <ax-picker-title>\n <ax-text>{{ '@acorex:dateTime.units.minute' | translate | async }}</ax-text>\n </ax-picker-title>\n <ax-picker-items\n [items]=\"minutes\"\n [ngModel]=\"editingDateObj().minute\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'minute')\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"pickerMinuteMinValue()\"\n [maxValue]=\"pickerMinuteMaxValue()\"\n ></ax-picker-items>\n </ax-picker-container>\n</ng-template>\n\n<ng-template #secondRef>\n <ax-picker-container>\n <ax-picker-title>\n <ax-text>{{ '@acorex:dateTime.units.second' | translate | async }}</ax-text>\n </ax-picker-title>\n <ax-picker-items\n [items]=\"minutes\"\n [ngModel]=\"editingDateObj().second\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'second')\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"pickerSecondMinValue()\"\n [maxValue]=\"pickerSecondMaxValue()\"\n ></ax-picker-items>\n </ax-picker-container>\n</ng-template>\n", styles: ["@layer properties;@layer components{ax-datetime-picker{display:flex;flex-direction:column}ax-datetime-picker>.ax-header{display:flex;justify-content:center;padding-top:calc(var(--spacing, .25rem) * 2);padding-right:calc(var(--spacing, .25rem) * 2);padding-left:calc(var(--spacing, .25rem) * 2)}ax-datetime-picker>.ax-content{display:flex;width:100%;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}@media(min-width:768px){ax-datetime-picker>.ax-content{width:calc(var(--spacing, .25rem) * 80)}}ax-datetime-picker>.ax-content .ax-picker-part{display:flex;height:376px;width:100%;flex-direction:column}ax-datetime-picker>.ax-content .ax-picker-part .ax-picker-time-container{display:flex;height:100%}ax-datetime-picker>.ax-content .ax-picker-part>.ax-header{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;--tw-border-style: solid;border-style:solid;border-bottom-color:rgba(var(--ax-sys-color-border-surface));padding:calc(var(--spacing, .25rem) * 3);text-align:center;font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}ax-datetime-picker>.ax-content .ax-picker-part ax-picker{flex:1}ax-datetime-picker>.ax-content .ax-calendar-part{width:100%;padding-top:calc(var(--spacing, .25rem) * 1);padding-bottom:calc(var(--spacing, .25rem) * 1)}ax-datetime-picker>.ax-content .ax-calendar-part ax-calendar{width:100%}ax-datetime-picker>.ax-footer{display:flex;justify-content:space-between;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));padding:calc(var(--spacing, .25rem) * 2)}ax-datetime-picker>.ax-footer ax-button{min-width:100%}app-demo-box .log-container{display:flex;flex-direction:row-reverse;justify-content:space-between}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-font-weight: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "reorderable", "reorderDelay", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged", "onTabsReordered"] }, { kind: "component", type: AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "component", type: AXCalendarComponent, selector: "ax-calendar", inputs: ["rtl", "readonly", "value", "name", "disabled", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "dayCellTemplate", "monthCellTemplate", "yearCellTemplate", "cellClass", "showNavigation", "count", "id", "weekend", "weekdays", "look", "yearRange", "holidays"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "minValueChange", "maxValueChange", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "countChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "
|
|
464
|
+
], viewQueries: [{ propertyName: "tabs", first: true, predicate: AXTabsComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (_hasDatePart && _hasTimePart) {\n <div class=\"ax-header\">\n <ax-tabs [look]=\"'default'\" [fitParent]=\"true\" [location]=\"'top'\" (onActiveTabChanged)=\"_handleViewChanged($event)\">\n <ax-tab-item\n [text]=\"'@acorex:dateTime.date' | translate | async\"\n [key]=\"'date'\"\n [disabled]=\"disabled\"\n ></ax-tab-item>\n <ax-tab-item\n [text]=\"'@acorex:dateTime.time' | translate | async\"\n [key]=\"'time'\"\n [disabled]=\"disabled\"\n ></ax-tab-item>\n </ax-tabs>\n </div>\n}\n<div class=\"ax-content\">\n @if (_activePart() === 'date') {\n <div class=\"ax-calendar-part\">\n <ax-calendar\n #calendar\n id=\"calendar\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [weekend]=\"weekend()\"\n [weekdays]=\"weekdays()\"\n [ngModel]=\"editingDateObj().date\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\"\n [depth]=\"depth\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (onValueChanged)=\"_handleCalendarOnValueChanged($event)\"\n [type]=\"_calendarSystem()\"\n [look]=\"calendarLook()\"\n [yearRange]=\"yearRange()\"\n >\n </ax-calendar>\n </div>\n }\n\n @if (_activePart() === 'time') {\n <div class=\"ax-picker-part\">\n <div class=\"ax-header\">\n @if (picker() === 'datetime') {\n {{ editingDateObj() | format: 'time' : 'short' | async }}\n {{ editingDateObj() | format: 'date' : 'short' | async }}\n } @else {\n {{ editingDateObj() | format: picker() : 'medium' | async }}\n }\n </div>\n <div dir=\"ltr\" class=\"ax-picker-time-container\">\n @if (_parts.hour.enabled) {\n <ng-container [ngTemplateOutlet]=\"hourRef\"> </ng-container>\n }\n\n @if (_parts.minute.enabled) {\n <ng-container [ngTemplateOutlet]=\"minuteRef\"> </ng-container>\n }\n\n @if (_parts.second.enabled) {\n <ng-container [ngTemplateOutlet]=\"secondRef\"> </ng-container>\n }\n </div>\n </div>\n }\n</div>\n@if (!disabled && !readonly && (currentTimeButton || _hasTimePart)) {\n <div class=\"ax-footer\">\n <div>\n @if (currentTimeButton) {\n <ax-button\n [text]=\"`@acorex:${buttonText()}` | translate | async\"\n class=\"ax-sm\"\n (onClick)=\"_handleNowClick()\"\n [disabled]=\"isTodayDisabled()\"\n ></ax-button>\n }\n </div>\n <div>\n @if (_hasTimePart) {\n <ax-button\n color=\"primary\"\n [text]=\"'@acorex:dateTime.set' | translate | async\"\n class=\"ax-sm\"\n (onClick)=\"_handleSetClick()\"\n ></ax-button>\n }\n </div>\n </div>\n}\n\n<ng-template #hourRef>\n <ax-picker-container>\n <ax-picker-title>\n <ax-text>{{ '@acorex:dateTime.units.hour' | translate | async }}</ax-text>\n </ax-picker-title>\n <ax-picker-items\n [items]=\"hours\"\n [ngModel]=\"editingDateObj().hour\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'hour')\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"pickerHoursMinValue()\"\n [maxValue]=\"pickerHoursMaxValue()\"\n ></ax-picker-items>\n </ax-picker-container>\n</ng-template>\n\n<ng-template #minuteRef>\n <ax-picker-container>\n <ax-picker-title>\n <ax-text>{{ '@acorex:dateTime.units.minute' | translate | async }}</ax-text>\n </ax-picker-title>\n <ax-picker-items\n [items]=\"minutes\"\n [ngModel]=\"editingDateObj().minute\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'minute')\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"pickerMinuteMinValue()\"\n [maxValue]=\"pickerMinuteMaxValue()\"\n ></ax-picker-items>\n </ax-picker-container>\n</ng-template>\n\n<ng-template #secondRef>\n <ax-picker-container>\n <ax-picker-title>\n <ax-text>{{ '@acorex:dateTime.units.second' | translate | async }}</ax-text>\n </ax-picker-title>\n <ax-picker-items\n [items]=\"minutes\"\n [ngModel]=\"editingDateObj().second\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'second')\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"pickerSecondMinValue()\"\n [maxValue]=\"pickerSecondMaxValue()\"\n ></ax-picker-items>\n </ax-picker-container>\n</ng-template>\n", styles: ["@layer properties;@layer components{ax-datetime-picker{display:flex;flex-direction:column}ax-datetime-picker>.ax-header{display:flex;justify-content:center;padding-top:calc(var(--spacing, .25rem) * 2);padding-right:calc(var(--spacing, .25rem) * 2);padding-left:calc(var(--spacing, .25rem) * 2)}ax-datetime-picker>.ax-content{display:flex;width:100%;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}@media(min-width:768px){ax-datetime-picker>.ax-content{width:calc(var(--spacing, .25rem) * 80)}}ax-datetime-picker>.ax-content .ax-picker-part{display:flex;height:376px;width:100%;flex-direction:column}ax-datetime-picker>.ax-content .ax-picker-part .ax-picker-time-container{display:flex;height:100%}ax-datetime-picker>.ax-content .ax-picker-part>.ax-header{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;--tw-border-style: solid;border-style:solid;border-bottom-color:rgba(var(--ax-sys-color-border-surface));padding:calc(var(--spacing, .25rem) * 3);text-align:center;font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}ax-datetime-picker>.ax-content .ax-picker-part ax-picker{flex:1}ax-datetime-picker>.ax-content .ax-calendar-part{width:100%;padding-top:calc(var(--spacing, .25rem) * 1);padding-bottom:calc(var(--spacing, .25rem) * 1)}ax-datetime-picker>.ax-content .ax-calendar-part ax-calendar{width:100%}ax-datetime-picker>.ax-footer{display:flex;justify-content:space-between;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));padding:calc(var(--spacing, .25rem) * 2)}ax-datetime-picker>.ax-footer ax-button{min-width:100%}app-demo-box .log-container{display:flex;flex-direction:row-reverse;justify-content:space-between}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-font-weight: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "reorderable", "reorderDelay", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged", "onTabsReordered"] }, { kind: "component", type: AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "component", type: AXCalendarComponent, selector: "ax-calendar", inputs: ["rtl", "readonly", "value", "name", "disabled", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "dayCellTemplate", "monthCellTemplate", "yearCellTemplate", "cellClass", "showNavigation", "count", "id", "weekend", "weekdays", "look", "yearRange", "holidays"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "minValueChange", "maxValueChange", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "countChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXPickerContainerComponent, selector: "ax-picker-container", inputs: ["class"] }, { kind: "component", type: AXPickerTitleComponent, selector: "ax-picker-title" }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXPickerItemsComponent, selector: "ax-picker-items", inputs: ["disabled", "readonly", "readonlyChange", "disabledChange", "items", "valueField", "textField", "slidesPerGroup", "loop", "minValue", "maxValue"], outputs: ["onValueChanged"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
465
465
|
}
|
|
466
466
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDateTimePickerComponent, decorators: [{
|
|
467
467
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-datetime-picker.mjs","sources":["../../../../packages/components/datetime-picker/src/lib/datetime-picker.config.ts","../../../../packages/components/datetime-picker/src/lib/datetime-picker.component.ts","../../../../packages/components/datetime-picker/src/lib/datetime-picker.component.html","../../../../packages/components/datetime-picker/src/lib/datetime-picker.module.ts","../../../../packages/components/datetime-picker/src/acorex-components-datetime-picker.ts"],"sourcesContent":["import { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { InjectionToken, inject } from '@angular/core';\nimport { set } from 'lodash-es';\n\nexport interface AXDateTimePickerConfig {\n currentTimeButton: boolean;\n}\n\nexport const AX_DATETIME_PICKER_CONFIG = new InjectionToken<AXDateTimePickerConfig>('AX_DATETIME_PICKER_CONFIG', {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, 'datetime-picker', AX_DATETIME_PICKER_CONFIG);\n return AXDateTimePickerDefaultConfig;\n },\n});\n\nexport const AXDateTimePickerDefaultConfig: AXDateTimePickerConfig = {\n currentTimeButton: true,\n};\n\nexport type PartialDateTimePickerConfig = Partial<AXDateTimePickerConfig>;\n\nexport function dateTimePickerConfig(config: PartialDateTimePickerConfig = {}): AXDateTimePickerConfig {\n const result = {\n ...AXDateTimePickerDefaultConfig,\n ...config,\n };\n return result;\n}\n","import {\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n AXValueChangedEvent,\n MXValueComponent,\n} from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport {\n AXCalendarComponent,\n AXCalendarNavigateEvent,\n AXCalendarNavigationLookType,\n AXCalendarYearRange,\n AXDateTimePickerType,\n MXCalendarBaseComponent,\n} from '@acorex/components/calendar';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXPickerContainerComponent, AXPickerItemsComponent, AXPickerTitleComponent } from '@acorex/components/picker';\nimport { AXTabItemComponent, AXTabStripChangedEvent, AXTabsComponent } from '@acorex/components/tabs';\nimport { AXDateTime, AXDateTimeParts, TimeUnit } from '@acorex/core/date-time';\nimport { AXFormatPipe, AXFormatService } from '@acorex/core/format';\nimport { AXIRLocaleProfile } from '@acorex/core/locale';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n Input,\n OnInit,\n ViewChild,\n ViewEncapsulation,\n computed,\n effect,\n forwardRef,\n inject,\n input,\n linkedSignal,\n signal,\n untracked,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AXDateTimePickerConfig, AX_DATETIME_PICKER_CONFIG } from './datetime-picker.config';\n\n/**\n * allows users to select a date and time from a calendar and time picker interface.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-datetime-picker',\n templateUrl: './datetime-picker.component.html',\n styleUrls: ['./datetime-picker.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'value',\n 'state',\n 'name',\n 'id',\n 'depth',\n 'activeView',\n 'minValue',\n 'maxValue',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n 'showNavigation',\n ],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'onClick',\n 'readonlyChange',\n 'disabledChange',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick',\n ],\n providers: [\n { provide: AXComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimePickerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimePickerComponent),\n multi: true,\n },\n ],\n imports: [\n AXTabsComponent,\n AXTabItemComponent,\n AXCalendarComponent,\n FormsModule,\n NgTemplateOutlet,\n AXButtonComponent,\n AXPickerContainerComponent,\n AXPickerTitleComponent,\n AXDecoratorGenericComponent,\n AXPickerItemsComponent,\n AsyncPipe,\n AXFormatPipe,\n AXTranslatorPipe,\n ],\n})\nexport class AXDateTimePickerComponent\n extends classes(MXCalendarBaseComponent, MXValueComponent<Date>)\n implements OnInit\n{\n private formatService = inject(AXFormatService);\n\n weekend = input<number[]>([]);\n weekdays = input<number[]>([]);\n\n /**\n * Day view navigation style of the embedded calendar.\n */\n calendarLook = input<AXCalendarNavigationLookType>('select');\n\n /**\n * Years shown in the year selector when `calendarLook` is `select`.\n * Use a number for equal past/future ranges, or `{ past, future }` for asymmetric ranges.\n * `minValue` and `maxValue` take priority when set.\n */\n yearRange = input<AXCalendarYearRange>(80);\n\n protected buttonText = computed(() => (this._activePart() === 'date' ? 'dateTime.today' : 'dateTime.now'));\n\n private defaultConfig: AXDateTimePickerConfig = inject(AX_DATETIME_PICKER_CONFIG);\n\n protected pickerHoursMinValue = signal<number>(null);\n protected pickerHoursMaxValue = signal<number>(null);\n protected pickerMinuteMinValue = signal<number>(null);\n protected pickerMinuteMaxValue = signal<number>(null);\n protected pickerSecondMinValue = signal<number>(null);\n protected pickerSecondMaxValue = signal<number>(null);\n\n /**\n * @ignore\n */\n private _currentTimeButton: boolean = this.defaultConfig.currentTimeButton;\n\n /**\n * Determines whether a button for selecting the current time is displayed.\n */\n @Input()\n public get currentTimeButton(): boolean {\n return this._currentTimeButton;\n }\n\n /**\n * Sets whether the button for selecting the current time is displayed.\n */\n public set currentTimeButton(v: boolean) {\n this.setOption({\n name: 'currentTimeButton',\n value: v,\n });\n }\n\n /**\n * @ignore\n */\n @ViewChild(AXTabsComponent)\n protected tabs: AXTabsComponent;\n\n /**\n * @ignore\n */\n protected hours: any[] = Array(24)\n .fill(0)\n .map((m, i) => ({ id: i, text: i }));\n minutes: any[] = Array(60)\n .fill(0)\n .map((m, i) => ({ id: i, text: i }));\n\n /**\n * @ignore\n */\n protected _parts: AXDateTimeParts = {\n year: {\n key: 'year',\n placeholder: 'yyyy',\n placeholders: ['YY', 'yy', 'YYYY', 'yyyy'],\n enabled: false,\n default: 2023,\n realValue: () =>\n this.formatService.format(this.editingDateObj(), 'datetime', this._parts.year.placeholder as any),\n },\n month: {\n key: 'month',\n placeholder: 'MM',\n placeholders: ['MMM', 'MMMM', 'MM', 'M'],\n enabled: false,\n default: 1,\n realValue: () =>\n this.formatService.format(this.editingDateObj(), 'datetime', this._parts.month.placeholder as any),\n },\n day: {\n key: 'day',\n placeholder: 'dd',\n placeholders: ['dd', 'DD', 'd', 'E', 'dddd'],\n enabled: false,\n default: 1,\n realValue: () => this.formatService.format(this.editingDateObj(), 'datetime', this._parts.day.placeholder as any),\n },\n hour: {\n key: 'hour',\n placeholder: 'HH',\n placeholders: ['HH', 'H', 'hh', 'h'],\n enabled: false,\n default: 0,\n realValue: () =>\n this.formatService.format(this.editingDateObj(), 'datetime', this._parts.hour.placeholder as any),\n },\n minute: {\n key: 'minute',\n placeholder: 'mm',\n placeholders: ['mm', 'm'],\n enabled: false,\n default: 0,\n realValue: () =>\n this.formatService.format(this.editingDateObj(), 'datetime', this._parts.minute.placeholder as any),\n },\n second: {\n key: 'second',\n placeholder: 'ss',\n placeholders: ['ss', 's'],\n enabled: false,\n default: 0,\n realValue: () =>\n this.formatService.format(this.editingDateObj(), 'datetime', this._parts.second.placeholder as any),\n },\n AMPM: {\n key: 'AMPM',\n placeholder: 'a',\n placeholders: ['a', 'A'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () =>\n this.formatService.format(this.editingDateObj(), 'datetime', this._parts.AMPM.placeholder as any),\n },\n };\n\n /**\n * @ignore\n */\n protected _activePart = signal<'date' | 'time'>('date');\n\n /**\n * @ignore\n */\n protected get _hasDatePart(): boolean {\n return ['year', 'month', 'day'].some((k) => this._parts[k].enabled);\n }\n\n /**\n * @ignore\n */\n protected get _hasTimePart(): boolean {\n return ['hour', 'minute', 'second'].some((k) => this._parts[k].enabled);\n }\n\n // /**\n // * @ignore\n // */\n /**\n * @description The calendar type to use for the datetime input.\n */\n calendar = input<string | null>(null);\n\n protected readonly _calendarSystem = computed(\n () => this.calendar() ?? this.localeService.activeProfile().calendar.system,\n );\n\n editingDateObj = linkedSignal<AXDateTime>(() => this.calendarService.now(this._calendarSystem()));\n\n picker = input<AXDateTimePickerType>('datetime');\n\n #effectPicker = effect(() => {\n if (this.picker() === 'time') {\n this.checkSelectedMinValue(this.editingDateObj());\n this.checkSelectedMaxValue(this.editingDateObj());\n this._activePart.set('time');\n } else if (this.picker() === 'date') {\n this._activePart.set('date');\n }\n });\n\n protected readonly _resolvedFormat = computed(() => {\n if (this.format()) {\n return this.format()!;\n }\n // Calendar override can differ from the active locale; solar-hijri uses day/month/year.\n const formats =\n this._calendarSystem() === 'solar-hijri'\n ? AXIRLocaleProfile.formats\n : this.localeService.activeProfile().formats;\n return formats[this.picker()]?.short ?? '';\n });\n\n /**\n * @deprecated use locale & mode instead\n */\n format = input<string | null>();\n\n #effect = effect(() => {\n const system = this._calendarSystem();\n this._resolvedFormat();\n this.type = system;\n this._detectParts();\n untracked(() => {\n const current = this.editingDateObj();\n if (current) {\n this.editingDateObj.set(this.calendarService.create(current.date, system));\n }\n });\n });\n\n /**\n * @ignore\n */\n override async ngOnInit() {\n super.ngOnInit();\n this._detectParts();\n\n this.minValueChange.subscribe(() => {\n this.checkSelectedMinValue(this.editingDateObj());\n });\n\n this.maxValueChange.subscribe(() => {\n this.checkSelectedMaxValue(this.editingDateObj());\n });\n }\n\n /**\n * Handles changes to the internal value of the component.\n * @param value - The new date value. If not provided, defaults to the current date.\n */\n override internalValueChanged(value?: Date): void {\n try {\n if (this.calendarService.isValidDate(value)) {\n this.editingDateObj.set(this.calendarService.create(value, this._calendarSystem()));\n } else {\n throw new Error();\n }\n } catch {\n this.editingDateObj.set(this.calendarService.now(this._calendarSystem()));\n }\n }\n\n /**\n * @ignore\n */\n protected _handleViewChanged(e: AXTabStripChangedEvent) {\n this._activePart.set(e.tab.key as 'date' | 'time');\n }\n\n /**\n * @ignore\n */\n protected _handlePickerOnValueChanged(e: AXValueChangedEvent<Date>, part: string) {\n if (e.isUserInteraction) {\n this.editingDateObj.set(this.editingDateObj().set(part as TimeUnit, Number(e.value['id'])));\n\n if (this.minValue) {\n const minv = this.calendarService.convert(this.minValue, this._calendarSystem());\n // Only apply minute restrictions if we're on the same day and same hour\n if (this.editingDateObj().isAfter(this.minValue, 'day') || this.editingDateObj().hour > minv.hour) {\n this.pickerMinuteMinValue.set(null);\n } else {\n this.pickerMinuteMinValue.set(minv.minute);\n }\n }\n\n if (this.maxValue) {\n const maxv = this.calendarService.convert(this.maxValue, this._calendarSystem());\n // Only apply minute restrictions if we're on the same day and same hour\n if (this.editingDateObj().isBefore(this.maxValue, 'day') || this.editingDateObj().hour < maxv.hour) {\n this.pickerMinuteMaxValue.set(null);\n } else {\n this.pickerMinuteMaxValue.set(maxv.minute);\n }\n }\n }\n }\n\n /**\n * @ignore\n */\n protected _handleCalendarOnNavigate(e: AXCalendarNavigateEvent) {\n this.onNavigate.emit(e);\n }\n\n /**\n * @ignore\n */\n protected _handleCalendarOnValueChanged(e: AXValueChangedEvent<Date>) {\n if (e.isUserInteraction) {\n const selectedValue = this.calendarService.create(e.value, this._calendarSystem());\n const currentValue = this.calendarService\n .create(e.value, this._calendarSystem())\n .set('day', selectedValue.dayOfMonth)\n .set('month', selectedValue.monthOfYear)\n .set('year', selectedValue.year);\n\n this.editingDateObj.set(currentValue);\n if (this._hasTimePart) {\n this._activePart.set('time');\n if (this.tabs && this._hasDatePart && this._hasTimePart) {\n this.tabs.select(1);\n } else {\n this.commitValue(this.editingDateObj().date, true);\n }\n } else {\n this.commitValue(this.editingDateObj().date, true);\n }\n\n this.checkSelectedMinValue(selectedValue);\n this.checkSelectedMaxValue(selectedValue);\n }\n }\n\n private checkSelectedMinValue(selectedValue: AXDateTime) {\n if (!this.minValue) return;\n if (!this.calendarService.isValidDate(this.minValue)) return;\n\n if (selectedValue.isAfter(this.minValue, 'day')) {\n this.pickerHoursMinValue.set(null);\n this.pickerMinuteMinValue.set(null);\n this.pickerSecondMinValue.set(null);\n } else {\n const minv = this.calendarService.convert(this.minValue, this._calendarSystem());\n this.pickerHoursMinValue.set(minv.hour);\n this.pickerMinuteMinValue.set(minv.minute);\n this.pickerSecondMinValue.set(minv.second);\n }\n }\n\n private checkSelectedMaxValue(selectedValue: AXDateTime) {\n if (!this.maxValue) return;\n if (!this.calendarService.isValidDate(this.maxValue)) return;\n\n if (selectedValue.isBefore(this.maxValue, 'day')) {\n this.pickerHoursMaxValue.set(null);\n this.pickerMinuteMaxValue.set(null);\n this.pickerSecondMaxValue.set(null);\n } else {\n const maxv = this.calendarService.convert(this.maxValue, this._calendarSystem());\n this.pickerHoursMaxValue.set(maxv.hour);\n this.pickerMinuteMaxValue.set(maxv.minute);\n this.pickerSecondMaxValue.set(maxv.second);\n }\n }\n\n /**\n * @ignore\n */\n private _detectParts() {\n Object.values(this._parts).forEach((e) => {\n e.enabled = false;\n });\n const formatParts = this._resolvedFormat().split(/[^a-zA-Z]+/);\n formatParts.forEach((f) => {\n const found = Object.values(this._parts).find((c) => c.placeholders.some((d) => d == f));\n if (found) {\n found.enabled = true;\n found.placeholder = f;\n }\n });\n //this.cdr.markForCheck();\n }\n\n /**\n * @ignore\n */\n protected _handleSetClick() {\n this.commitValue(this.editingDateObj().date, true);\n this.checkSelectedMinValue(this.editingDateObj());\n this.checkSelectedMaxValue(this.editingDateObj());\n }\n\n /**\n * @ignore\n */\n protected _handleNowClick() {\n this.editingDateObj.set(this.calendarService.now(this._calendarSystem()));\n this.commitValue(this.editingDateObj().date, true);\n this.checkSelectedMinValue(this.editingDateObj());\n this.checkSelectedMaxValue(this.editingDateObj());\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 override internalSetValue(value: Date): Date | null {\n if (!value || !this.calendarService.isValidDate(value)) {\n return null;\n }\n const v = this.calendarService.convert(value, this._calendarSystem());\n this.checkSelectedMinValue(this.calendarService.convert(v, this._calendarSystem()));\n this.checkSelectedMaxValue(this.calendarService.convert(v, this._calendarSystem()));\n\n if (this.isDisabled(v)) {\n return null;\n }\n\n if (this.minValue && this.calendarService.isValidDate(this.minValue) && v.isBefore(this.minValue)) {\n return this.minValue;\n }\n if (this.maxValue && this.calendarService.isValidDate(this.maxValue) && v.isAfter(this.maxValue)) {\n return this.maxValue;\n }\n\n return v.date;\n }\n\n protected isTodayDisabled(): boolean {\n const disabledDates = this.disabledDates;\n\n if (!disabledDates || !Array.isArray(disabledDates)) {\n return false;\n }\n\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n\n return disabledDates.some((disabledDate: Date) => {\n const disabled = new Date(disabledDate);\n disabled.setHours(0, 0, 0, 0);\n return today.getTime() === disabled.getTime();\n });\n }\n}\n","@if (_hasDatePart && _hasTimePart) {\n <div class=\"ax-header\">\n <ax-tabs [look]=\"'default'\" [fitParent]=\"true\" [location]=\"'top'\" (onActiveTabChanged)=\"_handleViewChanged($event)\">\n <ax-tab-item\n [text]=\"'@acorex:dateTime.date' | translate | async\"\n [key]=\"'date'\"\n [disabled]=\"disabled\"\n ></ax-tab-item>\n <ax-tab-item\n [text]=\"'@acorex:dateTime.time' | translate | async\"\n [key]=\"'time'\"\n [disabled]=\"disabled\"\n ></ax-tab-item>\n </ax-tabs>\n </div>\n}\n<div class=\"ax-content\">\n @if (_activePart() === 'date') {\n <div class=\"ax-calendar-part\">\n <ax-calendar\n #calendar\n id=\"calendar\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [weekend]=\"weekend()\"\n [weekdays]=\"weekdays()\"\n [ngModel]=\"editingDateObj().date\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\"\n [depth]=\"depth\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (onValueChanged)=\"_handleCalendarOnValueChanged($event)\"\n [type]=\"_calendarSystem()\"\n [look]=\"calendarLook()\"\n [yearRange]=\"yearRange()\"\n >\n </ax-calendar>\n </div>\n }\n\n @if (_activePart() === 'time') {\n <div class=\"ax-picker-part\">\n <div class=\"ax-header\">\n @if (picker() === 'datetime') {\n {{ editingDateObj() | format: 'time' : 'short' | async }}\n {{ editingDateObj() | format: 'date' : 'short' | async }}\n } @else {\n {{ editingDateObj() | format: picker() : 'medium' | async }}\n }\n </div>\n <div dir=\"ltr\" class=\"ax-picker-time-container\">\n @if (_parts.hour.enabled) {\n <ng-container [ngTemplateOutlet]=\"hourRef\"> </ng-container>\n }\n\n @if (_parts.minute.enabled) {\n <ng-container [ngTemplateOutlet]=\"minuteRef\"> </ng-container>\n }\n\n @if (_parts.second.enabled) {\n <ng-container [ngTemplateOutlet]=\"secondRef\"> </ng-container>\n }\n </div>\n </div>\n }\n</div>\n@if (!disabled && !readonly && (currentTimeButton || _hasTimePart)) {\n <div class=\"ax-footer\">\n <div>\n @if (currentTimeButton) {\n <ax-button\n [text]=\"`@acorex:${buttonText()}` | translate | async\"\n class=\"ax-sm\"\n (onClick)=\"_handleNowClick()\"\n [disabled]=\"isTodayDisabled()\"\n ></ax-button>\n }\n </div>\n <div>\n @if (_hasTimePart) {\n <ax-button\n color=\"primary\"\n [text]=\"'@acorex:dateTime.set' | translate | async\"\n class=\"ax-sm\"\n (onClick)=\"_handleSetClick()\"\n ></ax-button>\n }\n </div>\n </div>\n}\n\n<ng-template #hourRef>\n <ax-picker-container>\n <ax-picker-title>\n <ax-text>{{ '@acorex:dateTime.units.hour' | translate | async }}</ax-text>\n </ax-picker-title>\n <ax-picker-items\n [items]=\"hours\"\n [ngModel]=\"editingDateObj().hour\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'hour')\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"pickerHoursMinValue()\"\n [maxValue]=\"pickerHoursMaxValue()\"\n ></ax-picker-items>\n </ax-picker-container>\n</ng-template>\n\n<ng-template #minuteRef>\n <ax-picker-container>\n <ax-picker-title>\n <ax-text>{{ '@acorex:dateTime.units.minute' | translate | async }}</ax-text>\n </ax-picker-title>\n <ax-picker-items\n [items]=\"minutes\"\n [ngModel]=\"editingDateObj().minute\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'minute')\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"pickerMinuteMinValue()\"\n [maxValue]=\"pickerMinuteMaxValue()\"\n ></ax-picker-items>\n </ax-picker-container>\n</ng-template>\n\n<ng-template #secondRef>\n <ax-picker-container>\n <ax-picker-title>\n <ax-text>{{ '@acorex:dateTime.units.second' | translate | async }}</ax-text>\n </ax-picker-title>\n <ax-picker-items\n [items]=\"minutes\"\n [ngModel]=\"editingDateObj().second\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'second')\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"pickerSecondMinValue()\"\n [maxValue]=\"pickerSecondMaxValue()\"\n ></ax-picker-items>\n </ax-picker-container>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { AXDateTimePickerComponent } from './datetime-picker.component';\n\n@NgModule({\n imports: [AXDateTimePickerComponent],\n exports: [AXDateTimePickerComponent],\n})\nexport class AXDateTimePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-components-datetime-picker.mjs","sources":["../../../../packages/components/datetime-picker/src/lib/datetime-picker.config.ts","../../../../packages/components/datetime-picker/src/lib/datetime-picker.component.ts","../../../../packages/components/datetime-picker/src/lib/datetime-picker.component.html","../../../../packages/components/datetime-picker/src/lib/datetime-picker.module.ts","../../../../packages/components/datetime-picker/src/acorex-components-datetime-picker.ts"],"sourcesContent":["import { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { InjectionToken, inject } from '@angular/core';\nimport { set } from 'lodash-es';\n\nexport interface AXDateTimePickerConfig {\n currentTimeButton: boolean;\n}\n\nexport const AX_DATETIME_PICKER_CONFIG = new InjectionToken<AXDateTimePickerConfig>('AX_DATETIME_PICKER_CONFIG', {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, 'datetime-picker', AX_DATETIME_PICKER_CONFIG);\n return AXDateTimePickerDefaultConfig;\n },\n});\n\nexport const AXDateTimePickerDefaultConfig: AXDateTimePickerConfig = {\n currentTimeButton: true,\n};\n\nexport type PartialDateTimePickerConfig = Partial<AXDateTimePickerConfig>;\n\nexport function dateTimePickerConfig(config: PartialDateTimePickerConfig = {}): AXDateTimePickerConfig {\n const result = {\n ...AXDateTimePickerDefaultConfig,\n ...config,\n };\n return result;\n}\n","import {\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n AXValueChangedEvent,\n MXValueComponent,\n} from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport {\n AXCalendarComponent,\n AXCalendarNavigateEvent,\n AXCalendarNavigationLookType,\n AXCalendarYearRange,\n AXDateTimePickerType,\n MXCalendarBaseComponent,\n} from '@acorex/components/calendar';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXPickerContainerComponent, AXPickerItemsComponent, AXPickerTitleComponent } from '@acorex/components/picker';\nimport { AXTabItemComponent, AXTabStripChangedEvent, AXTabsComponent } from '@acorex/components/tabs';\nimport { AXDateTime, AXDateTimeParts, TimeUnit } from '@acorex/core/date-time';\nimport { AXFormatPipe, AXFormatService } from '@acorex/core/format';\nimport { AXIRLocaleProfile } from '@acorex/core/locale';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n Input,\n OnInit,\n ViewChild,\n ViewEncapsulation,\n computed,\n effect,\n forwardRef,\n inject,\n input,\n linkedSignal,\n signal,\n untracked,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AXDateTimePickerConfig, AX_DATETIME_PICKER_CONFIG } from './datetime-picker.config';\n\n/**\n * allows users to select a date and time from a calendar and time picker interface.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-datetime-picker',\n templateUrl: './datetime-picker.component.html',\n styleUrls: ['./datetime-picker.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'value',\n 'state',\n 'name',\n 'id',\n 'depth',\n 'activeView',\n 'minValue',\n 'maxValue',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n 'showNavigation',\n ],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'onClick',\n 'readonlyChange',\n 'disabledChange',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick',\n ],\n providers: [\n { provide: AXComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimePickerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimePickerComponent),\n multi: true,\n },\n ],\n imports: [\n AXTabsComponent,\n AXTabItemComponent,\n AXCalendarComponent,\n FormsModule,\n NgTemplateOutlet,\n AXButtonComponent,\n AXPickerContainerComponent,\n AXPickerTitleComponent,\n AXDecoratorGenericComponent,\n AXPickerItemsComponent,\n AsyncPipe,\n AXFormatPipe,\n AXTranslatorPipe,\n ],\n})\nexport class AXDateTimePickerComponent\n extends classes(MXCalendarBaseComponent, MXValueComponent<Date>)\n implements OnInit\n{\n private formatService = inject(AXFormatService);\n\n weekend = input<number[]>([]);\n weekdays = input<number[]>([]);\n\n /**\n * Day view navigation style of the embedded calendar.\n */\n calendarLook = input<AXCalendarNavigationLookType>('select');\n\n /**\n * Years shown in the year selector when `calendarLook` is `select`.\n * Use a number for equal past/future ranges, or `{ past, future }` for asymmetric ranges.\n * `minValue` and `maxValue` take priority when set.\n */\n yearRange = input<AXCalendarYearRange>(80);\n\n protected buttonText = computed(() => (this._activePart() === 'date' ? 'dateTime.today' : 'dateTime.now'));\n\n private defaultConfig: AXDateTimePickerConfig = inject(AX_DATETIME_PICKER_CONFIG);\n\n protected pickerHoursMinValue = signal<number>(null);\n protected pickerHoursMaxValue = signal<number>(null);\n protected pickerMinuteMinValue = signal<number>(null);\n protected pickerMinuteMaxValue = signal<number>(null);\n protected pickerSecondMinValue = signal<number>(null);\n protected pickerSecondMaxValue = signal<number>(null);\n\n /**\n * @ignore\n */\n private _currentTimeButton: boolean = this.defaultConfig.currentTimeButton;\n\n /**\n * Determines whether a button for selecting the current time is displayed.\n */\n @Input()\n public get currentTimeButton(): boolean {\n return this._currentTimeButton;\n }\n\n /**\n * Sets whether the button for selecting the current time is displayed.\n */\n public set currentTimeButton(v: boolean) {\n this.setOption({\n name: 'currentTimeButton',\n value: v,\n });\n }\n\n /**\n * @ignore\n */\n @ViewChild(AXTabsComponent)\n protected tabs: AXTabsComponent;\n\n /**\n * @ignore\n */\n protected hours: any[] = Array(24)\n .fill(0)\n .map((m, i) => ({ id: i, text: i }));\n minutes: any[] = Array(60)\n .fill(0)\n .map((m, i) => ({ id: i, text: i }));\n\n /**\n * @ignore\n */\n protected _parts: AXDateTimeParts = {\n year: {\n key: 'year',\n placeholder: 'yyyy',\n placeholders: ['YY', 'yy', 'YYYY', 'yyyy'],\n enabled: false,\n default: 2023,\n realValue: () =>\n this.formatService.format(this.editingDateObj(), 'datetime', this._parts.year.placeholder as any),\n },\n month: {\n key: 'month',\n placeholder: 'MM',\n placeholders: ['MMM', 'MMMM', 'MM', 'M'],\n enabled: false,\n default: 1,\n realValue: () =>\n this.formatService.format(this.editingDateObj(), 'datetime', this._parts.month.placeholder as any),\n },\n day: {\n key: 'day',\n placeholder: 'dd',\n placeholders: ['dd', 'DD', 'd', 'E', 'dddd'],\n enabled: false,\n default: 1,\n realValue: () => this.formatService.format(this.editingDateObj(), 'datetime', this._parts.day.placeholder as any),\n },\n hour: {\n key: 'hour',\n placeholder: 'HH',\n placeholders: ['HH', 'H', 'hh', 'h'],\n enabled: false,\n default: 0,\n realValue: () =>\n this.formatService.format(this.editingDateObj(), 'datetime', this._parts.hour.placeholder as any),\n },\n minute: {\n key: 'minute',\n placeholder: 'mm',\n placeholders: ['mm', 'm'],\n enabled: false,\n default: 0,\n realValue: () =>\n this.formatService.format(this.editingDateObj(), 'datetime', this._parts.minute.placeholder as any),\n },\n second: {\n key: 'second',\n placeholder: 'ss',\n placeholders: ['ss', 's'],\n enabled: false,\n default: 0,\n realValue: () =>\n this.formatService.format(this.editingDateObj(), 'datetime', this._parts.second.placeholder as any),\n },\n AMPM: {\n key: 'AMPM',\n placeholder: 'a',\n placeholders: ['a', 'A'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () =>\n this.formatService.format(this.editingDateObj(), 'datetime', this._parts.AMPM.placeholder as any),\n },\n };\n\n /**\n * @ignore\n */\n protected _activePart = signal<'date' | 'time'>('date');\n\n /**\n * @ignore\n */\n protected get _hasDatePart(): boolean {\n return ['year', 'month', 'day'].some((k) => this._parts[k].enabled);\n }\n\n /**\n * @ignore\n */\n protected get _hasTimePart(): boolean {\n return ['hour', 'minute', 'second'].some((k) => this._parts[k].enabled);\n }\n\n // /**\n // * @ignore\n // */\n /**\n * @description The calendar type to use for the datetime input.\n */\n calendar = input<string | null>(null);\n\n protected readonly _calendarSystem = computed(\n () => this.calendar() ?? this.localeService.activeProfile().calendar.system,\n );\n\n editingDateObj = linkedSignal<AXDateTime>(() => this.calendarService.now(this._calendarSystem()));\n\n picker = input<AXDateTimePickerType>('datetime');\n\n #effectPicker = effect(() => {\n if (this.picker() === 'time') {\n this.checkSelectedMinValue(this.editingDateObj());\n this.checkSelectedMaxValue(this.editingDateObj());\n this._activePart.set('time');\n } else if (this.picker() === 'date') {\n this._activePart.set('date');\n }\n });\n\n protected readonly _resolvedFormat = computed(() => {\n if (this.format()) {\n return this.format()!;\n }\n // Calendar override can differ from the active locale; solar-hijri uses day/month/year.\n const formats =\n this._calendarSystem() === 'solar-hijri'\n ? AXIRLocaleProfile.formats\n : this.localeService.activeProfile().formats;\n return formats[this.picker()]?.short ?? '';\n });\n\n /**\n * @deprecated use locale & mode instead\n */\n format = input<string | null>();\n\n #effect = effect(() => {\n const system = this._calendarSystem();\n this._resolvedFormat();\n this.type = system;\n this._detectParts();\n untracked(() => {\n const current = this.editingDateObj();\n if (current) {\n this.editingDateObj.set(this.calendarService.create(current.date, system));\n }\n });\n });\n\n /**\n * @ignore\n */\n override async ngOnInit() {\n super.ngOnInit();\n this._detectParts();\n\n this.minValueChange.subscribe(() => {\n this.checkSelectedMinValue(this.editingDateObj());\n });\n\n this.maxValueChange.subscribe(() => {\n this.checkSelectedMaxValue(this.editingDateObj());\n });\n }\n\n /**\n * Handles changes to the internal value of the component.\n * @param value - The new date value. If not provided, defaults to the current date.\n */\n override internalValueChanged(value?: Date): void {\n try {\n if (this.calendarService.isValidDate(value)) {\n this.editingDateObj.set(this.calendarService.create(value, this._calendarSystem()));\n } else {\n throw new Error();\n }\n } catch {\n this.editingDateObj.set(this.calendarService.now(this._calendarSystem()));\n }\n }\n\n /**\n * @ignore\n */\n protected _handleViewChanged(e: AXTabStripChangedEvent) {\n this._activePart.set(e.tab.key as 'date' | 'time');\n }\n\n /**\n * @ignore\n */\n protected _handlePickerOnValueChanged(e: AXValueChangedEvent<Date>, part: string) {\n if (e.isUserInteraction) {\n this.editingDateObj.set(this.editingDateObj().set(part as TimeUnit, Number(e.value['id'])));\n\n if (this.minValue) {\n const minv = this.calendarService.convert(this.minValue, this._calendarSystem());\n // Only apply minute restrictions if we're on the same day and same hour\n if (this.editingDateObj().isAfter(this.minValue, 'day') || this.editingDateObj().hour > minv.hour) {\n this.pickerMinuteMinValue.set(null);\n } else {\n this.pickerMinuteMinValue.set(minv.minute);\n }\n }\n\n if (this.maxValue) {\n const maxv = this.calendarService.convert(this.maxValue, this._calendarSystem());\n // Only apply minute restrictions if we're on the same day and same hour\n if (this.editingDateObj().isBefore(this.maxValue, 'day') || this.editingDateObj().hour < maxv.hour) {\n this.pickerMinuteMaxValue.set(null);\n } else {\n this.pickerMinuteMaxValue.set(maxv.minute);\n }\n }\n }\n }\n\n /**\n * @ignore\n */\n protected _handleCalendarOnNavigate(e: AXCalendarNavigateEvent) {\n this.onNavigate.emit(e);\n }\n\n /**\n * @ignore\n */\n protected _handleCalendarOnValueChanged(e: AXValueChangedEvent<Date>) {\n if (e.isUserInteraction) {\n const selectedValue = this.calendarService.create(e.value, this._calendarSystem());\n const currentValue = this.calendarService\n .create(e.value, this._calendarSystem())\n .set('day', selectedValue.dayOfMonth)\n .set('month', selectedValue.monthOfYear)\n .set('year', selectedValue.year);\n\n this.editingDateObj.set(currentValue);\n if (this._hasTimePart) {\n this._activePart.set('time');\n if (this.tabs && this._hasDatePart && this._hasTimePart) {\n this.tabs.select(1);\n } else {\n this.commitValue(this.editingDateObj().date, true);\n }\n } else {\n this.commitValue(this.editingDateObj().date, true);\n }\n\n this.checkSelectedMinValue(selectedValue);\n this.checkSelectedMaxValue(selectedValue);\n }\n }\n\n private checkSelectedMinValue(selectedValue: AXDateTime) {\n if (!this.minValue) return;\n if (!this.calendarService.isValidDate(this.minValue)) return;\n\n if (selectedValue.isAfter(this.minValue, 'day')) {\n this.pickerHoursMinValue.set(null);\n this.pickerMinuteMinValue.set(null);\n this.pickerSecondMinValue.set(null);\n } else {\n const minv = this.calendarService.convert(this.minValue, this._calendarSystem());\n this.pickerHoursMinValue.set(minv.hour);\n this.pickerMinuteMinValue.set(minv.minute);\n this.pickerSecondMinValue.set(minv.second);\n }\n }\n\n private checkSelectedMaxValue(selectedValue: AXDateTime) {\n if (!this.maxValue) return;\n if (!this.calendarService.isValidDate(this.maxValue)) return;\n\n if (selectedValue.isBefore(this.maxValue, 'day')) {\n this.pickerHoursMaxValue.set(null);\n this.pickerMinuteMaxValue.set(null);\n this.pickerSecondMaxValue.set(null);\n } else {\n const maxv = this.calendarService.convert(this.maxValue, this._calendarSystem());\n this.pickerHoursMaxValue.set(maxv.hour);\n this.pickerMinuteMaxValue.set(maxv.minute);\n this.pickerSecondMaxValue.set(maxv.second);\n }\n }\n\n /**\n * @ignore\n */\n private _detectParts() {\n Object.values(this._parts).forEach((e) => {\n e.enabled = false;\n });\n const formatParts = this._resolvedFormat().split(/[^a-zA-Z]+/);\n formatParts.forEach((f) => {\n const found = Object.values(this._parts).find((c) => c.placeholders.some((d) => d == f));\n if (found) {\n found.enabled = true;\n found.placeholder = f;\n }\n });\n //this.cdr.markForCheck();\n }\n\n /**\n * @ignore\n */\n protected _handleSetClick() {\n this.commitValue(this.editingDateObj().date, true);\n this.checkSelectedMinValue(this.editingDateObj());\n this.checkSelectedMaxValue(this.editingDateObj());\n }\n\n /**\n * @ignore\n */\n protected _handleNowClick() {\n this.editingDateObj.set(this.calendarService.now(this._calendarSystem()));\n this.commitValue(this.editingDateObj().date, true);\n this.checkSelectedMinValue(this.editingDateObj());\n this.checkSelectedMaxValue(this.editingDateObj());\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 override internalSetValue(value: Date): Date | null {\n if (!value || !this.calendarService.isValidDate(value)) {\n return null;\n }\n const v = this.calendarService.convert(value, this._calendarSystem());\n this.checkSelectedMinValue(this.calendarService.convert(v, this._calendarSystem()));\n this.checkSelectedMaxValue(this.calendarService.convert(v, this._calendarSystem()));\n\n if (this.isDisabled(v)) {\n return null;\n }\n\n if (this.minValue && this.calendarService.isValidDate(this.minValue) && v.isBefore(this.minValue)) {\n return this.minValue;\n }\n if (this.maxValue && this.calendarService.isValidDate(this.maxValue) && v.isAfter(this.maxValue)) {\n return this.maxValue;\n }\n\n return v.date;\n }\n\n protected isTodayDisabled(): boolean {\n const disabledDates = this.disabledDates;\n\n if (!disabledDates || !Array.isArray(disabledDates)) {\n return false;\n }\n\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n\n return disabledDates.some((disabledDate: Date) => {\n const disabled = new Date(disabledDate);\n disabled.setHours(0, 0, 0, 0);\n return today.getTime() === disabled.getTime();\n });\n }\n}\n","@if (_hasDatePart && _hasTimePart) {\n <div class=\"ax-header\">\n <ax-tabs [look]=\"'default'\" [fitParent]=\"true\" [location]=\"'top'\" (onActiveTabChanged)=\"_handleViewChanged($event)\">\n <ax-tab-item\n [text]=\"'@acorex:dateTime.date' | translate | async\"\n [key]=\"'date'\"\n [disabled]=\"disabled\"\n ></ax-tab-item>\n <ax-tab-item\n [text]=\"'@acorex:dateTime.time' | translate | async\"\n [key]=\"'time'\"\n [disabled]=\"disabled\"\n ></ax-tab-item>\n </ax-tabs>\n </div>\n}\n<div class=\"ax-content\">\n @if (_activePart() === 'date') {\n <div class=\"ax-calendar-part\">\n <ax-calendar\n #calendar\n id=\"calendar\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [weekend]=\"weekend()\"\n [weekdays]=\"weekdays()\"\n [ngModel]=\"editingDateObj().date\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\"\n [depth]=\"depth\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (onValueChanged)=\"_handleCalendarOnValueChanged($event)\"\n [type]=\"_calendarSystem()\"\n [look]=\"calendarLook()\"\n [yearRange]=\"yearRange()\"\n >\n </ax-calendar>\n </div>\n }\n\n @if (_activePart() === 'time') {\n <div class=\"ax-picker-part\">\n <div class=\"ax-header\">\n @if (picker() === 'datetime') {\n {{ editingDateObj() | format: 'time' : 'short' | async }}\n {{ editingDateObj() | format: 'date' : 'short' | async }}\n } @else {\n {{ editingDateObj() | format: picker() : 'medium' | async }}\n }\n </div>\n <div dir=\"ltr\" class=\"ax-picker-time-container\">\n @if (_parts.hour.enabled) {\n <ng-container [ngTemplateOutlet]=\"hourRef\"> </ng-container>\n }\n\n @if (_parts.minute.enabled) {\n <ng-container [ngTemplateOutlet]=\"minuteRef\"> </ng-container>\n }\n\n @if (_parts.second.enabled) {\n <ng-container [ngTemplateOutlet]=\"secondRef\"> </ng-container>\n }\n </div>\n </div>\n }\n</div>\n@if (!disabled && !readonly && (currentTimeButton || _hasTimePart)) {\n <div class=\"ax-footer\">\n <div>\n @if (currentTimeButton) {\n <ax-button\n [text]=\"`@acorex:${buttonText()}` | translate | async\"\n class=\"ax-sm\"\n (onClick)=\"_handleNowClick()\"\n [disabled]=\"isTodayDisabled()\"\n ></ax-button>\n }\n </div>\n <div>\n @if (_hasTimePart) {\n <ax-button\n color=\"primary\"\n [text]=\"'@acorex:dateTime.set' | translate | async\"\n class=\"ax-sm\"\n (onClick)=\"_handleSetClick()\"\n ></ax-button>\n }\n </div>\n </div>\n}\n\n<ng-template #hourRef>\n <ax-picker-container>\n <ax-picker-title>\n <ax-text>{{ '@acorex:dateTime.units.hour' | translate | async }}</ax-text>\n </ax-picker-title>\n <ax-picker-items\n [items]=\"hours\"\n [ngModel]=\"editingDateObj().hour\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'hour')\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"pickerHoursMinValue()\"\n [maxValue]=\"pickerHoursMaxValue()\"\n ></ax-picker-items>\n </ax-picker-container>\n</ng-template>\n\n<ng-template #minuteRef>\n <ax-picker-container>\n <ax-picker-title>\n <ax-text>{{ '@acorex:dateTime.units.minute' | translate | async }}</ax-text>\n </ax-picker-title>\n <ax-picker-items\n [items]=\"minutes\"\n [ngModel]=\"editingDateObj().minute\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'minute')\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"pickerMinuteMinValue()\"\n [maxValue]=\"pickerMinuteMaxValue()\"\n ></ax-picker-items>\n </ax-picker-container>\n</ng-template>\n\n<ng-template #secondRef>\n <ax-picker-container>\n <ax-picker-title>\n <ax-text>{{ '@acorex:dateTime.units.second' | translate | async }}</ax-text>\n </ax-picker-title>\n <ax-picker-items\n [items]=\"minutes\"\n [ngModel]=\"editingDateObj().second\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'second')\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"pickerSecondMinValue()\"\n [maxValue]=\"pickerSecondMaxValue()\"\n ></ax-picker-items>\n </ax-picker-container>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { AXDateTimePickerComponent } from './datetime-picker.component';\n\n@NgModule({\n imports: [AXDateTimePickerComponent],\n exports: [AXDateTimePickerComponent],\n})\nexport class AXDateTimePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -65,7 +65,7 @@ class AXDialogComponent extends MXBaseComponent {
|
|
|
65
65
|
provide: AXComponent,
|
|
66
66
|
useExisting: AXDialogComponent,
|
|
67
67
|
},
|
|
68
|
-
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"ax-dialog ax-orientation-{{ data().orientation }}\"\n tabindex=\"-1\"\n axFocusTrap\n [axFocusTrapArrowNavigation]=\"true\"\n cdkDrag\n cdkDragHandle\n [cdkDragDisabled]=\"!data().draggable\"\n>\n <div class=\"ax-dialog-content-wrapper\">\n @if (data().icon !== 'none') {\n <div class=\"ax-dialog-icon-side\">\n <i class=\"ax-dialog-icon ax-{{ data().type }} {{ data().icon }}\"></i>\n </div>\n }\n <div class=\"ax-dialog-content-side\">\n <div class=\"ax-dialog-title\">{{ data().title | translate | async }}</div>\n <div class=\"ax-dialog-content\">{{ data().content | translate | async }}</div>\n </div>\n <div class=\"ax-dialog-dismiss-icon\">\n @if (data().closeButton) {\n <i class=\"ax-icon ax-icon-close\"></i>\n }\n </div>\n </div>\n\n <ax-footer>\n <ax-suffix>\n @for (button of data().buttons; let i = $index; track i) {\n <ax-button\n [text]=\"button.text | translate | async\"\n [tabindex]=\"i\"\n [axHotkey]=\"button.hotkey\"\n [axAutoFocus]=\"_hasAutoFocus(button)\"\n (onClick)=\"_handleButtonClick(button)\"\n [look]=\"button.look || 'solid'\"\n [disabled]=\"button.disabled\"\n [color]=\"button.color || 'default'\"\n >\n @if (button.loading) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n</div>\n", styles: ["@layer properties;@layer components{.ax-dialog{--ax-comp-dialog-shadow-rest: 0 0 #0000;--ax-comp-dialog-highlight-rest: var(--ax-sys-highlight-surface);--ax-comp-dialog-inner-border-rest: var(--ax-sys-inner-border-surface);--ax-comp-dialog-contrast-inner-border-rest: var(--ax-sys-contrast-inner-border-surface);--ax-comp-dialog-contrast-surface-overlay-rest: var(--ax-sys-contrast-surface-overlay-surface);--ax-comp-dialog-backdrop-filter-rest: var(--ax-sys-backdrop-filter-surface);--ax-comp-dialog-background-image-rest: var(--ax-sys-gradient-surface);--ax-comp-dialog-surface-overlay-rest: var(--ax-sys-surface-overlay-modal);position:relative;display:flex;width:93vw;max-width:560px;min-width:280px;flex-direction:column;overflow:hidden;border-radius:var(--radius-xl, .75rem);border-style:var(--tw-border-style);border-width:1px;background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-lightest-surface));border-color:rgba(var(--ax-sys-color-border-lightest-surface));box-shadow:var(--ax-comp-dialog-contrast-inner-border-rest),var(--ax-comp-dialog-inner-border-rest),var(--ax-comp-dialog-highlight-rest),var(--ax-comp-dialog-shadow-rest);background-image:linear-gradient(var(--ax-comp-dialog-contrast-surface-overlay-rest),var(--ax-comp-dialog-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-dialog-surface-overlay-rest),var(--ax-comp-dialog-surface-overlay-rest)),var(--ax-comp-dialog-background-image-rest);backdrop-filter:var(--ax-comp-dialog-backdrop-filter-rest);-webkit-backdrop-filter:var(--ax-comp-dialog-backdrop-filter-rest)}@media(min-width:48rem){.ax-dialog{width:75vw}}@media(min-width:64rem){.ax-dialog{width:50vw}}@media(min-width:80rem){.ax-dialog{width:35vw}}@media(min-width:96rem){.ax-dialog{width:25vw}}.ax-dialog:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:rgba(var(--ax-sys-color-darker-surface));color:rgba(var(--ax-sys-color-on-darker-surface));border-color:rgba(var(--ax-sys-color-border-darker-surface))}.ax-dialog.ax-orientation-horizontal .ax-dialog-content-wrapper{flex-direction:row!important}.ax-dialog.ax-orientation-vertical .ax-dialog-content-wrapper{flex-direction:column;align-items:center}.ax-dialog.ax-orientation-vertical .ax-dialog-content-wrapper .ax-dialog-icon-side{margin-bottom:calc(var(--spacing, .25rem) * 4)}.ax-dialog.ax-orientation-vertical .ax-dialog-content-wrapper .ax-dialog-content-side{margin:calc(var(--spacing, .25rem) * 0);text-align:center}.ax-dialog.ax-orientation-vertical ax-footer ax-button{flex:1}.ax-dialog .ax-dialog-content-wrapper{display:flex;gap:calc(var(--spacing, .25rem) * 2);padding:calc(var(--spacing, .25rem) * 6)}.ax-dialog .ax-dialog-content-wrapper .ax-dialog-icon-side .ax-dialog-icon{display:flex!important;min-height:calc(var(--spacing, .25rem) * 12)!important;width:calc(var(--spacing, .25rem) * 12)!important;cursor:move!important;align-items:center!important;justify-content:center!important;border-radius:calc(infinity * 1px)!important;background-color:var(--ax-comp-bg,var(--color-surface))!important;font-size:var(--text-2xl, 1.5rem)!important;line-height:var(--tw-leading, var(--text-2xl--line-height, calc(2 / 1.5)))!important;color:var(--ax-comp-text,var(--color-on-surface))!important}.ax-dialog .ax-dialog-content-wrapper .ax-dialog-content-side{margin-inline-start:calc(var(--spacing, .25rem) * 4);flex:1}.ax-dialog .ax-dialog-content-wrapper .ax-dialog-content-side .ax-dialog-title{margin-bottom:calc(var(--spacing, .25rem) * 2);font-size:var(--text-lg, 1.125rem);line-height:var(--tw-leading, var(--text-lg--line-height, calc(1.75 / 1.125)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}.ax-dialog .ax-dialog-content-wrapper .ax-dialog-content-side .ax-dialog-content{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}.ax-dialog ax-footer{align-items:flex-end;padding-inline:calc(var(--spacing, .25rem) * 6);padding-block:calc(var(--spacing, .25rem) * 3)}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-font-weight: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "
|
|
68
|
+
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"ax-dialog ax-orientation-{{ data().orientation }}\"\n tabindex=\"-1\"\n axFocusTrap\n [axFocusTrapArrowNavigation]=\"true\"\n cdkDrag\n cdkDragHandle\n [cdkDragDisabled]=\"!data().draggable\"\n>\n <div class=\"ax-dialog-content-wrapper\">\n @if (data().icon !== 'none') {\n <div class=\"ax-dialog-icon-side\">\n <i class=\"ax-dialog-icon ax-{{ data().type }} {{ data().icon }}\"></i>\n </div>\n }\n <div class=\"ax-dialog-content-side\">\n <div class=\"ax-dialog-title\">{{ data().title | translate | async }}</div>\n <div class=\"ax-dialog-content\">{{ data().content | translate | async }}</div>\n </div>\n <div class=\"ax-dialog-dismiss-icon\">\n @if (data().closeButton) {\n <i class=\"ax-icon ax-icon-close\"></i>\n }\n </div>\n </div>\n\n <ax-footer>\n <ax-suffix>\n @for (button of data().buttons; let i = $index; track i) {\n <ax-button\n [text]=\"button.text | translate | async\"\n [tabindex]=\"i\"\n [axHotkey]=\"button.hotkey\"\n [axAutoFocus]=\"_hasAutoFocus(button)\"\n (onClick)=\"_handleButtonClick(button)\"\n [look]=\"button.look || 'solid'\"\n [disabled]=\"button.disabled\"\n [color]=\"button.color || 'default'\"\n >\n @if (button.loading) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n</div>\n", styles: ["@layer properties;@layer components{.ax-dialog{--ax-comp-dialog-shadow-rest: 0 0 #0000;--ax-comp-dialog-highlight-rest: var(--ax-sys-highlight-surface);--ax-comp-dialog-inner-border-rest: var(--ax-sys-inner-border-surface);--ax-comp-dialog-contrast-inner-border-rest: var(--ax-sys-contrast-inner-border-surface);--ax-comp-dialog-contrast-surface-overlay-rest: var(--ax-sys-contrast-surface-overlay-surface);--ax-comp-dialog-backdrop-filter-rest: var(--ax-sys-backdrop-filter-surface);--ax-comp-dialog-background-image-rest: var(--ax-sys-gradient-surface);--ax-comp-dialog-surface-overlay-rest: var(--ax-sys-surface-overlay-modal);position:relative;display:flex;width:93vw;max-width:560px;min-width:280px;flex-direction:column;overflow:hidden;border-radius:var(--radius-xl, .75rem);border-style:var(--tw-border-style);border-width:1px;background-color:rgba(var(--ax-sys-color-lightest-surface));color:rgba(var(--ax-sys-color-on-lightest-surface));border-color:rgba(var(--ax-sys-color-border-lightest-surface));box-shadow:var(--ax-comp-dialog-contrast-inner-border-rest),var(--ax-comp-dialog-inner-border-rest),var(--ax-comp-dialog-highlight-rest),var(--ax-comp-dialog-shadow-rest);background-image:linear-gradient(var(--ax-comp-dialog-contrast-surface-overlay-rest),var(--ax-comp-dialog-contrast-surface-overlay-rest)),linear-gradient(var(--ax-comp-dialog-surface-overlay-rest),var(--ax-comp-dialog-surface-overlay-rest)),var(--ax-comp-dialog-background-image-rest);backdrop-filter:var(--ax-comp-dialog-backdrop-filter-rest);-webkit-backdrop-filter:var(--ax-comp-dialog-backdrop-filter-rest)}@media(min-width:48rem){.ax-dialog{width:75vw}}@media(min-width:64rem){.ax-dialog{width:50vw}}@media(min-width:80rem){.ax-dialog{width:35vw}}@media(min-width:96rem){.ax-dialog{width:25vw}}.ax-dialog:where(.ax-dark,.ax-dark *):not(:where(.ax-light,.ax-light *)){background-color:rgba(var(--ax-sys-color-darker-surface));color:rgba(var(--ax-sys-color-on-darker-surface));border-color:rgba(var(--ax-sys-color-border-darker-surface))}.ax-dialog.ax-orientation-horizontal .ax-dialog-content-wrapper{flex-direction:row!important}.ax-dialog.ax-orientation-vertical .ax-dialog-content-wrapper{flex-direction:column;align-items:center}.ax-dialog.ax-orientation-vertical .ax-dialog-content-wrapper .ax-dialog-icon-side{margin-bottom:calc(var(--spacing, .25rem) * 4)}.ax-dialog.ax-orientation-vertical .ax-dialog-content-wrapper .ax-dialog-content-side{margin:calc(var(--spacing, .25rem) * 0);text-align:center}.ax-dialog.ax-orientation-vertical ax-footer ax-button{flex:1}.ax-dialog .ax-dialog-content-wrapper{display:flex;gap:calc(var(--spacing, .25rem) * 2);padding:calc(var(--spacing, .25rem) * 6)}.ax-dialog .ax-dialog-content-wrapper .ax-dialog-icon-side .ax-dialog-icon{display:flex!important;min-height:calc(var(--spacing, .25rem) * 12)!important;width:calc(var(--spacing, .25rem) * 12)!important;cursor:move!important;align-items:center!important;justify-content:center!important;border-radius:calc(infinity * 1px)!important;background-color:var(--ax-comp-bg,var(--color-surface))!important;font-size:var(--text-2xl, 1.5rem)!important;line-height:var(--tw-leading, var(--text-2xl--line-height, calc(2 / 1.5)))!important;color:var(--ax-comp-text,var(--color-on-surface))!important}.ax-dialog .ax-dialog-content-wrapper .ax-dialog-content-side{margin-inline-start:calc(var(--spacing, .25rem) * 4);flex:1}.ax-dialog .ax-dialog-content-wrapper .ax-dialog-content-side .ax-dialog-title{margin-bottom:calc(var(--spacing, .25rem) * 2);font-size:var(--text-lg, 1.125rem);line-height:var(--tw-leading, var(--text-lg--line-height, calc(1.75 / 1.125)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}.ax-dialog .ax-dialog-content-wrapper .ax-dialog-content-side .ax-dialog-content{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}.ax-dialog ax-footer{align-items:flex-end;padding-inline:calc(var(--spacing, .25rem) * 6);padding-block:calc(var(--spacing, .25rem) * 3)}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-font-weight: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "directive", type: AXHotkeyDirective, selector: "[axHotkey]", inputs: ["axHotkey"] }, { kind: "directive", type: AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }, { kind: "directive", type: AXFocusTrapDirective, selector: "[axFocusTrap]", inputs: ["axFocusTrapArrowNavigation"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
69
69
|
}
|
|
70
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDialogComponent, decorators: [{
|
|
71
71
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-dialog.mjs","sources":["../../../../packages/components/dialog/src/lib/dialog.component.ts","../../../../packages/components/dialog/src/lib/dialog.component.html","../../../../packages/components/dialog/src/lib/dialog.config.ts","../../../../packages/components/dialog/src/lib/dialog.service.ts","../../../../packages/components/dialog/src/lib/dialog.module.ts","../../../../packages/components/dialog/src/acorex-components-dialog.ts"],"sourcesContent":["import {\n AXAutoFocusDirective,\n AXClosableComponent,\n AXComponent,\n AXHotkeyDirective,\n MXBaseComponent,\n} from '@acorex/cdk/common';\nimport { AXFocusTrapDirective } from '@acorex/cdk/focus-trap';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';\nimport { AsyncPipe } from '@angular/common';\nimport { Component, ViewEncapsulation, input } from '@angular/core';\nimport { AXDialogButtonItem, AXDialogData } from './dialog.class';\n\n/**\n * A dialog component that provides a modal interface for user interactions.\n * @category Components\n */\n@Component({\n selector: 'ax-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.tabIndex]': '\"-1\"',\n },\n providers: [\n {\n provide: AXClosableComponent,\n useExisting: AXDialogComponent,\n },\n {\n provide: AXComponent,\n useExisting: AXDialogComponent,\n },\n ],\n imports: [\n CdkDrag,\n CdkDragHandle,\n AXDecoratorGenericComponent,\n AXButtonComponent,\n AXHotkeyDirective,\n AXAutoFocusDirective,\n AXFocusTrapDirective,\n AXLoadingComponent,\n AsyncPipe,\n AXTranslatorPipe,\n ],\n})\nexport class AXDialogComponent extends MXBaseComponent {\n /** Dialog configuration data */\n data = input.required<AXDialogData>();\n\n /** @internal Callback function to close the dialog */\n onClose = input<() => void>();\n\n /**\n * @ignore\n */\n protected _icon: string;\n\n /**\n * @ignore\n */\n protected _handleButtonClick(button: AXDialogButtonItem) {\n if (button.onClick) {\n button.onClick({ source: button });\n }\n }\n\n /**\n * @ignore\n */\n protected _hasAutoFocus(button: AXDialogButtonItem): boolean {\n const buttons = this.data().buttons;\n const target = buttons.find((item) => item.autofocus) ?? buttons[0];\n return target?.text === button.text;\n }\n\n /**\n * Closes the dialog.\n *\n * @returns void - No return value. The dialog is closed and removed from the DOM.\n */\n close() {\n const closeCallback = this.onClose();\n if (closeCallback) {\n closeCallback();\n }\n }\n}\n","<div\n class=\"ax-dialog ax-orientation-{{ data().orientation }}\"\n tabindex=\"-1\"\n axFocusTrap\n [axFocusTrapArrowNavigation]=\"true\"\n cdkDrag\n cdkDragHandle\n [cdkDragDisabled]=\"!data().draggable\"\n>\n <div class=\"ax-dialog-content-wrapper\">\n @if (data().icon !== 'none') {\n <div class=\"ax-dialog-icon-side\">\n <i class=\"ax-dialog-icon ax-{{ data().type }} {{ data().icon }}\"></i>\n </div>\n }\n <div class=\"ax-dialog-content-side\">\n <div class=\"ax-dialog-title\">{{ data().title | translate | async }}</div>\n <div class=\"ax-dialog-content\">{{ data().content | translate | async }}</div>\n </div>\n <div class=\"ax-dialog-dismiss-icon\">\n @if (data().closeButton) {\n <i class=\"ax-icon ax-icon-close\"></i>\n }\n </div>\n </div>\n\n <ax-footer>\n <ax-suffix>\n @for (button of data().buttons; let i = $index; track i) {\n <ax-button\n [text]=\"button.text | translate | async\"\n [tabindex]=\"i\"\n [axHotkey]=\"button.hotkey\"\n [axAutoFocus]=\"_hasAutoFocus(button)\"\n (onClick)=\"_handleButtonClick(button)\"\n [look]=\"button.look || 'solid'\"\n [disabled]=\"button.disabled\"\n [color]=\"button.color || 'default'\"\n >\n @if (button.loading) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n</div>\n","import { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { InjectionToken, inject } from '@angular/core';\nimport { set } from 'lodash-es';\n\nexport interface AXDialogConfigToken {\n confirm: { defaultAction: 'confirm' | 'cancel' };\n}\n\nexport const AX_DIALOG_CONFIG = new InjectionToken<AXDialogConfigToken>('AX_DIALOG_CONFIG', {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, 'layout.dialog', AX_DIALOG_CONFIG);\n return AXDialogDefaultConfig;\n },\n});\n\nexport const AXDialogDefaultConfig: AXDialogConfigToken = {\n confirm: { defaultAction: 'cancel' },\n};\n\nexport type PartialDialogConfig = Partial<AXDialogConfigToken>;\n\nexport function dialogConfig(config: PartialDialogConfig = {}): AXDialogConfigToken {\n const result = {\n ...AXDialogDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { AXStyleColorType } from '@acorex/cdk/common';\nimport { AXOverlayService } from '@acorex/cdk/overlay';\nimport { AXHtmlUtil } from '@acorex/core/utils';\nimport { Injectable, inject } from '@angular/core';\nimport { AXDialogConfig, AXDialogData, AXDialogInternalRef, AXDialogRef } from './dialog.class';\nimport { AXDialogComponent } from './dialog.component';\nimport { AXDialogConfigToken, AX_DIALOG_CONFIG } from './dialog.config';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Injectable({providedIn:'root'})\nexport class AXDialogService {\n private overlayService = inject(AXOverlayService);\n private defaultConfig: AXDialogConfigToken = inject(AX_DIALOG_CONFIG);\n\n private detectIcon(type: AXStyleColorType): string {\n let icon: string;\n switch (type) {\n case 'success':\n icon = 'ax-icon ax-icon-check';\n break;\n case 'danger':\n icon = 'ax-icon ax-icon-error';\n break;\n case 'warning':\n icon = 'ax-icon ax-icon-warning';\n break;\n default:\n icon = 'ax-icon ax-icon-info';\n break;\n }\n return icon;\n }\n\n /**\n * Show an alert box with 'Okay' button.\n *\n * @param title - The title of the alert dialog.\n * @param content - The content message of the alert dialog.\n * @param type - The type/color of the alert (primary, success, warning, danger).\n * @param orientation - The orientation of the dialog (horizontal or vertical).\n * @param draggable - Whether the dialog can be dragged.\n * @returns Promise<void> - Promise that resolves when the dialog is closed.\n */\n alert(\n title: string,\n content: string,\n type: AXStyleColorType = 'primary',\n orientation: 'horizontal' | 'vertical' = 'horizontal',\n draggable?: boolean,\n ): Promise<void> {\n return new Promise((resolve) => {\n const popup = this.open({\n title,\n type: type,\n content,\n icon: this.detectIcon(type),\n orientation,\n draggable,\n buttons: [\n {\n name: 'confirm',\n text: AXHtmlUtil.isRtl() ? 'باشه' : 'Okay',\n color: type,\n autofocus: true,\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve();\n }\n },\n },\n ],\n });\n });\n }\n\n /**\n * Show a confirm box with 'Okay' & 'Cancel' buttons.\n *\n * @param title - The title of the confirm dialog.\n * @param content - The content message of the confirm dialog.\n * @param type - The type/color of the confirm dialog (primary, success, warning, danger).\n * @param orientation - The orientation of the dialog (horizontal or vertical).\n * @param draggable - Whether the dialog can be dragged.\n * @param defaultAction - The default action to focus (confirm or cancel).\n * @returns Promise<{ result: boolean }> - Promise that resolves with the user's choice.\n */\n confirm(\n title: string,\n content: string,\n type: AXStyleColorType = 'primary',\n orientation: 'horizontal' | 'vertical' = 'horizontal',\n draggable?: boolean,\n defaultAction?: 'confirm' | 'cancel',\n ): Promise<{ result: boolean }> {\n return new Promise<{ result: boolean }>((resolve) => {\n const tokenConfig = this.defaultConfig.confirm.defaultAction;\n\n const action = defaultAction || (type === 'danger' ? 'cancel' : tokenConfig);\n\n const popup = this.open({\n title,\n content,\n type,\n icon: this.detectIcon(type),\n orientation,\n draggable,\n buttons: [\n {\n name: 'confirm',\n text: AXHtmlUtil.isRtl() ? 'باشه' : 'Okay',\n color: type,\n autofocus: action === 'confirm',\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve({ result: true });\n }\n },\n },\n {\n name: 'cancel',\n text: AXHtmlUtil.isRtl() ? 'انصراف' : 'Cancel',\n color: 'default',\n autofocus: action === 'cancel',\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve({ result: false });\n }\n },\n hotkey: {\n Escape: () => {\n popup.close();\n if (resolve) {\n resolve({ result: false });\n }\n },\n },\n },\n ],\n });\n });\n }\n\n /**\n * Show a custom dialog box.\n *\n * @param options - Configuration options for the custom dialog.\n * @returns Promise<{ name: string }> - Promise that resolves with the button name that was clicked.\n */\n show(options: AXDialogConfig): Promise<{ name: string }> {\n return new Promise((resolve) => {\n options.orientation = options.orientation || 'horizontal';\n options.icon = options.icon ?? this.detectIcon(options.type);\n\n const popup = this.open(options);\n\n options.buttons?.forEach((b) => {\n const orginalClick = b.onClick;\n b.onClick = () => {\n const e = { source: b, handled: false };\n if (orginalClick) {\n orginalClick(e);\n if (e.handled) {\n resolve({ name: b.name ?? b.text });\n } else {\n popup.close();\n resolve({ name: b.name ?? b.text });\n }\n } else if (resolve) {\n popup.close();\n resolve({ name: b.name ?? b.text });\n } else {\n popup.close();\n }\n };\n });\n });\n }\n\n /**\n * Show a custom dialog box.\n *\n * @param options - Configuration options for the custom dialog.\n * @returns Promise<{ name: string }> - Promise that resolves with the button name that was clicked.\n */\n open(config: AXDialogConfig): AXDialogRef {\n config.orientation = config.orientation || 'horizontal';\n config.icon = config.icon ?? this.detectIcon(config.type);\n\n const dialogData: AXDialogData = {\n title: config.title,\n content: config.content,\n type: config.type,\n buttons: config.buttons,\n closeButton: config.closeButton ?? false,\n orientation: config.orientation,\n icon: config.icon,\n draggable: config.draggable,\n };\n\n let internalRef: AXDialogInternalRef;\n\n const closeDialog = () => {\n if (internalRef) {\n internalRef.overlayRef.dispose();\n }\n };\n\n this.overlayService\n .create<AXDialogComponent>(AXDialogComponent, {\n inputs: {\n data: dialogData,\n onClose: closeDialog,\n },\n contextElement: config.contextElement,\n visualContextScope: 'theme',\n backdrop: {\n enabled: true,\n background: true,\n closeOnClick: false, // disableClose: true equivalent\n },\n panelClass: ['ax-dialog-panel', 'animate-bounceIn', 'animate-faster'],\n })\n .then((overlayRef) => {\n internalRef = {\n overlayRef,\n close: closeDialog,\n };\n\n // Apply direction if specified\n if (config.direction || AXHtmlUtil.isRtl()) {\n const dir = config.direction ? config.direction : AXHtmlUtil.isRtl() ? 'rtl' : 'ltr';\n if (overlayRef.overlayElement) {\n overlayRef.overlayElement.setAttribute('dir', dir);\n }\n }\n });\n\n return {\n close: () => {\n closeDialog();\n },\n };\n }\n}\n","import { AXCommonModule, AXHotkeysService } from '@acorex/cdk/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDialogComponent } from './dialog.component';\nimport { AXDialogService } from './dialog.service';\n\nconst COMPONENT = [AXDialogComponent];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n DragDropModule,\n A11yModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXTranslationModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [AXDialogService, AXHotkeysService],\n})\nexport class AXDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-components-dialog.mjs","sources":["../../../../packages/components/dialog/src/lib/dialog.component.ts","../../../../packages/components/dialog/src/lib/dialog.component.html","../../../../packages/components/dialog/src/lib/dialog.config.ts","../../../../packages/components/dialog/src/lib/dialog.service.ts","../../../../packages/components/dialog/src/lib/dialog.module.ts","../../../../packages/components/dialog/src/acorex-components-dialog.ts"],"sourcesContent":["import {\n AXAutoFocusDirective,\n AXClosableComponent,\n AXComponent,\n AXHotkeyDirective,\n MXBaseComponent,\n} from '@acorex/cdk/common';\nimport { AXFocusTrapDirective } from '@acorex/cdk/focus-trap';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';\nimport { AsyncPipe } from '@angular/common';\nimport { Component, ViewEncapsulation, input } from '@angular/core';\nimport { AXDialogButtonItem, AXDialogData } from './dialog.class';\n\n/**\n * A dialog component that provides a modal interface for user interactions.\n * @category Components\n */\n@Component({\n selector: 'ax-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.tabIndex]': '\"-1\"',\n },\n providers: [\n {\n provide: AXClosableComponent,\n useExisting: AXDialogComponent,\n },\n {\n provide: AXComponent,\n useExisting: AXDialogComponent,\n },\n ],\n imports: [\n CdkDrag,\n CdkDragHandle,\n AXDecoratorGenericComponent,\n AXButtonComponent,\n AXHotkeyDirective,\n AXAutoFocusDirective,\n AXFocusTrapDirective,\n AXLoadingComponent,\n AsyncPipe,\n AXTranslatorPipe,\n ],\n})\nexport class AXDialogComponent extends MXBaseComponent {\n /** Dialog configuration data */\n data = input.required<AXDialogData>();\n\n /** @internal Callback function to close the dialog */\n onClose = input<() => void>();\n\n /**\n * @ignore\n */\n protected _icon: string;\n\n /**\n * @ignore\n */\n protected _handleButtonClick(button: AXDialogButtonItem) {\n if (button.onClick) {\n button.onClick({ source: button });\n }\n }\n\n /**\n * @ignore\n */\n protected _hasAutoFocus(button: AXDialogButtonItem): boolean {\n const buttons = this.data().buttons;\n const target = buttons.find((item) => item.autofocus) ?? buttons[0];\n return target?.text === button.text;\n }\n\n /**\n * Closes the dialog.\n *\n * @returns void - No return value. The dialog is closed and removed from the DOM.\n */\n close() {\n const closeCallback = this.onClose();\n if (closeCallback) {\n closeCallback();\n }\n }\n}\n","<div\n class=\"ax-dialog ax-orientation-{{ data().orientation }}\"\n tabindex=\"-1\"\n axFocusTrap\n [axFocusTrapArrowNavigation]=\"true\"\n cdkDrag\n cdkDragHandle\n [cdkDragDisabled]=\"!data().draggable\"\n>\n <div class=\"ax-dialog-content-wrapper\">\n @if (data().icon !== 'none') {\n <div class=\"ax-dialog-icon-side\">\n <i class=\"ax-dialog-icon ax-{{ data().type }} {{ data().icon }}\"></i>\n </div>\n }\n <div class=\"ax-dialog-content-side\">\n <div class=\"ax-dialog-title\">{{ data().title | translate | async }}</div>\n <div class=\"ax-dialog-content\">{{ data().content | translate | async }}</div>\n </div>\n <div class=\"ax-dialog-dismiss-icon\">\n @if (data().closeButton) {\n <i class=\"ax-icon ax-icon-close\"></i>\n }\n </div>\n </div>\n\n <ax-footer>\n <ax-suffix>\n @for (button of data().buttons; let i = $index; track i) {\n <ax-button\n [text]=\"button.text | translate | async\"\n [tabindex]=\"i\"\n [axHotkey]=\"button.hotkey\"\n [axAutoFocus]=\"_hasAutoFocus(button)\"\n (onClick)=\"_handleButtonClick(button)\"\n [look]=\"button.look || 'solid'\"\n [disabled]=\"button.disabled\"\n [color]=\"button.color || 'default'\"\n >\n @if (button.loading) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n</div>\n","import { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { InjectionToken, inject } from '@angular/core';\nimport { set } from 'lodash-es';\n\nexport interface AXDialogConfigToken {\n confirm: { defaultAction: 'confirm' | 'cancel' };\n}\n\nexport const AX_DIALOG_CONFIG = new InjectionToken<AXDialogConfigToken>('AX_DIALOG_CONFIG', {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, 'layout.dialog', AX_DIALOG_CONFIG);\n return AXDialogDefaultConfig;\n },\n});\n\nexport const AXDialogDefaultConfig: AXDialogConfigToken = {\n confirm: { defaultAction: 'cancel' },\n};\n\nexport type PartialDialogConfig = Partial<AXDialogConfigToken>;\n\nexport function dialogConfig(config: PartialDialogConfig = {}): AXDialogConfigToken {\n const result = {\n ...AXDialogDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { AXStyleColorType } from '@acorex/cdk/common';\nimport { AXOverlayService } from '@acorex/cdk/overlay';\nimport { AXHtmlUtil } from '@acorex/core/utils';\nimport { Injectable, inject } from '@angular/core';\nimport { AXDialogConfig, AXDialogData, AXDialogInternalRef, AXDialogRef } from './dialog.class';\nimport { AXDialogComponent } from './dialog.component';\nimport { AXDialogConfigToken, AX_DIALOG_CONFIG } from './dialog.config';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Injectable({providedIn:'root'})\nexport class AXDialogService {\n private overlayService = inject(AXOverlayService);\n private defaultConfig: AXDialogConfigToken = inject(AX_DIALOG_CONFIG);\n\n private detectIcon(type: AXStyleColorType): string {\n let icon: string;\n switch (type) {\n case 'success':\n icon = 'ax-icon ax-icon-check';\n break;\n case 'danger':\n icon = 'ax-icon ax-icon-error';\n break;\n case 'warning':\n icon = 'ax-icon ax-icon-warning';\n break;\n default:\n icon = 'ax-icon ax-icon-info';\n break;\n }\n return icon;\n }\n\n /**\n * Show an alert box with 'Okay' button.\n *\n * @param title - The title of the alert dialog.\n * @param content - The content message of the alert dialog.\n * @param type - The type/color of the alert (primary, success, warning, danger).\n * @param orientation - The orientation of the dialog (horizontal or vertical).\n * @param draggable - Whether the dialog can be dragged.\n * @returns Promise<void> - Promise that resolves when the dialog is closed.\n */\n alert(\n title: string,\n content: string,\n type: AXStyleColorType = 'primary',\n orientation: 'horizontal' | 'vertical' = 'horizontal',\n draggable?: boolean,\n ): Promise<void> {\n return new Promise((resolve) => {\n const popup = this.open({\n title,\n type: type,\n content,\n icon: this.detectIcon(type),\n orientation,\n draggable,\n buttons: [\n {\n name: 'confirm',\n text: AXHtmlUtil.isRtl() ? 'باشه' : 'Okay',\n color: type,\n autofocus: true,\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve();\n }\n },\n },\n ],\n });\n });\n }\n\n /**\n * Show a confirm box with 'Okay' & 'Cancel' buttons.\n *\n * @param title - The title of the confirm dialog.\n * @param content - The content message of the confirm dialog.\n * @param type - The type/color of the confirm dialog (primary, success, warning, danger).\n * @param orientation - The orientation of the dialog (horizontal or vertical).\n * @param draggable - Whether the dialog can be dragged.\n * @param defaultAction - The default action to focus (confirm or cancel).\n * @returns Promise<{ result: boolean }> - Promise that resolves with the user's choice.\n */\n confirm(\n title: string,\n content: string,\n type: AXStyleColorType = 'primary',\n orientation: 'horizontal' | 'vertical' = 'horizontal',\n draggable?: boolean,\n defaultAction?: 'confirm' | 'cancel',\n ): Promise<{ result: boolean }> {\n return new Promise<{ result: boolean }>((resolve) => {\n const tokenConfig = this.defaultConfig.confirm.defaultAction;\n\n const action = defaultAction || (type === 'danger' ? 'cancel' : tokenConfig);\n\n const popup = this.open({\n title,\n content,\n type,\n icon: this.detectIcon(type),\n orientation,\n draggable,\n buttons: [\n {\n name: 'confirm',\n text: AXHtmlUtil.isRtl() ? 'باشه' : 'Okay',\n color: type,\n autofocus: action === 'confirm',\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve({ result: true });\n }\n },\n },\n {\n name: 'cancel',\n text: AXHtmlUtil.isRtl() ? 'انصراف' : 'Cancel',\n color: 'default',\n autofocus: action === 'cancel',\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve({ result: false });\n }\n },\n hotkey: {\n Escape: () => {\n popup.close();\n if (resolve) {\n resolve({ result: false });\n }\n },\n },\n },\n ],\n });\n });\n }\n\n /**\n * Show a custom dialog box.\n *\n * @param options - Configuration options for the custom dialog.\n * @returns Promise<{ name: string }> - Promise that resolves with the button name that was clicked.\n */\n show(options: AXDialogConfig): Promise<{ name: string }> {\n return new Promise((resolve) => {\n options.orientation = options.orientation || 'horizontal';\n options.icon = options.icon ?? this.detectIcon(options.type);\n\n const popup = this.open(options);\n\n options.buttons?.forEach((b) => {\n const orginalClick = b.onClick;\n b.onClick = () => {\n const e = { source: b, handled: false };\n if (orginalClick) {\n orginalClick(e);\n if (e.handled) {\n resolve({ name: b.name ?? b.text });\n } else {\n popup.close();\n resolve({ name: b.name ?? b.text });\n }\n } else if (resolve) {\n popup.close();\n resolve({ name: b.name ?? b.text });\n } else {\n popup.close();\n }\n };\n });\n });\n }\n\n /**\n * Show a custom dialog box.\n *\n * @param options - Configuration options for the custom dialog.\n * @returns Promise<{ name: string }> - Promise that resolves with the button name that was clicked.\n */\n open(config: AXDialogConfig): AXDialogRef {\n config.orientation = config.orientation || 'horizontal';\n config.icon = config.icon ?? this.detectIcon(config.type);\n\n const dialogData: AXDialogData = {\n title: config.title,\n content: config.content,\n type: config.type,\n buttons: config.buttons,\n closeButton: config.closeButton ?? false,\n orientation: config.orientation,\n icon: config.icon,\n draggable: config.draggable,\n };\n\n let internalRef: AXDialogInternalRef;\n\n const closeDialog = () => {\n if (internalRef) {\n internalRef.overlayRef.dispose();\n }\n };\n\n this.overlayService\n .create<AXDialogComponent>(AXDialogComponent, {\n inputs: {\n data: dialogData,\n onClose: closeDialog,\n },\n contextElement: config.contextElement,\n visualContextScope: 'theme',\n backdrop: {\n enabled: true,\n background: true,\n closeOnClick: false, // disableClose: true equivalent\n },\n panelClass: ['ax-dialog-panel', 'animate-bounceIn', 'animate-faster'],\n })\n .then((overlayRef) => {\n internalRef = {\n overlayRef,\n close: closeDialog,\n };\n\n // Apply direction if specified\n if (config.direction || AXHtmlUtil.isRtl()) {\n const dir = config.direction ? config.direction : AXHtmlUtil.isRtl() ? 'rtl' : 'ltr';\n if (overlayRef.overlayElement) {\n overlayRef.overlayElement.setAttribute('dir', dir);\n }\n }\n });\n\n return {\n close: () => {\n closeDialog();\n },\n };\n }\n}\n","import { AXCommonModule, AXHotkeysService } from '@acorex/cdk/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDialogComponent } from './dialog.component';\nimport { AXDialogService } from './dialog.service';\n\nconst COMPONENT = [AXDialogComponent];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n DragDropModule,\n A11yModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXTranslationModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [AXDialogService, AXHotkeysService],\n})\nexport class AXDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -110,7 +110,7 @@ class AXDropdownButtonComponent extends MXButtonBaseComponent {
|
|
|
110
110
|
useExisting: AXDropdownButtonComponent,
|
|
111
111
|
},
|
|
112
112
|
{ provide: AXComponent, useExisting: AXDropdownButtonComponent },
|
|
113
|
-
], viewQueries: [{ propertyName: "dropdownPanel", first: true, predicate: ["panel"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #dropdown>\n <ax-dropdown-panel placement=\"bottom-end\" #panel>\n <ng-content select=\"ax-button-item-list\"></ng-content>\n </ax-dropdown-panel>\n</ng-template>\n<ng-template #decorator>\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner\"> </ng-content>\n</ng-template>\n\n@if (mode === 'dropdown') {\n <ax-button\n [look]=\"dropdownLook\"\n [color]=\"dropdownColor\"\n [disabled]=\"disabled\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (click)=\"_handleClick($event)\"\n [text]=\"text\"\n >\n <ax-prefix> <ng-container [ngTemplateOutlet]=\"decorator\"></ng-container></ax-prefix>\n\n <ax-suffix>\n <ax-icon class=\"far fa-chevron-down\"> </ax-icon>\n </ax-suffix>\n\n <ng-container [ngTemplateOutlet]=\"dropdown\"></ng-container>\n </ax-button>\n} @else {\n <ax-button\n class=\"ax-dropdown-split-button\"\n [look]=\"dropdownLook\"\n [color]=\"dropdownColor\"\n [disabled]=\"disabled\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (click)=\"_handleClick($event)\"\n [text]=\"text\"\n >\n <ax-prefix> <ng-container [ngTemplateOutlet]=\"decorator\"></ng-container></ax-prefix>\n </ax-button>\n\n <ax-divider class=\"ax-dropdown-split-button-divider\"></ax-divider>\n\n <ax-button class=\"ax-dropdown-split-button-arrow\" [look]=\"dropdownLook\" [color]=\"dropdownColor\" [disabled]=\"disabled\">\n <ax-icon class=\"far fa-chevron-down\"> </ax-icon>\n\n <ng-container [ngTemplateOutlet]=\"dropdown\"></ng-container>\n </ax-button>\n}\n", styles: ["@layer properties;@layer components{ax-dropdown-button{display:inline-flex;align-items:stretch;justify-content:center;transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}ax-dropdown-button.ax-state-disabled ax-divider{opacity:50%}ax-dropdown-button ax-button{width:100%}ax-dropdown-button.ax-xs .ax-dropdown-split-button-arrow ax-icon{font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))}ax-dropdown-button.ax-sm .ax-dropdown-split-button-arrow ax-icon{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-dropdown-button.ax-md .ax-dropdown-split-button-arrow ax-icon{font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ))}ax-dropdown-button.ax-lg .ax-dropdown-split-button-arrow ax-icon{font-size:var(--text-lg, 1.125rem);line-height:var(--tw-leading, var(--text-lg--line-height, calc(1.75 / 1.125)))}ax-dropdown-button.ax-xl .ax-dropdown-split-button-arrow ax-icon{font-size:var(--text-xl, 1.25rem);line-height:var(--tw-leading, var(--text-xl--line-height, calc(1.75 / 1.25)))}ax-dropdown-button ax-divider.ax-dropdown-split-button-divider{display:block;width:1px;flex-shrink:0;align-self:stretch;border-style:var(--tw-border-style);border-width:0px;background-color:transparent}ax-dropdown-button .ax-dropdown-split-button button{border-start-end-radius:0;border-end-end-radius:0;border-inline-end-style:var(--tw-border-style);border-inline-end-width:0px}ax-dropdown-button .ax-dropdown-split-button-arrow button{border-start-start-radius:0;border-end-start-radius:0;border-inline-start-style:var(--tw-border-style);border-inline-start-width:0px}ax-dropdown-button .ax-dropdown-split-button-arrow button ax-icon{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "
|
|
113
|
+
], viewQueries: [{ propertyName: "dropdownPanel", first: true, predicate: ["panel"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #dropdown>\n <ax-dropdown-panel placement=\"bottom-end\" #panel>\n <ng-content select=\"ax-button-item-list\"></ng-content>\n </ax-dropdown-panel>\n</ng-template>\n<ng-template #decorator>\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner\"> </ng-content>\n</ng-template>\n\n@if (mode === 'dropdown') {\n <ax-button\n [look]=\"dropdownLook\"\n [color]=\"dropdownColor\"\n [disabled]=\"disabled\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (click)=\"_handleClick($event)\"\n [text]=\"text\"\n >\n <ax-prefix> <ng-container [ngTemplateOutlet]=\"decorator\"></ng-container></ax-prefix>\n\n <ax-suffix>\n <ax-icon class=\"far fa-chevron-down\"> </ax-icon>\n </ax-suffix>\n\n <ng-container [ngTemplateOutlet]=\"dropdown\"></ng-container>\n </ax-button>\n} @else {\n <ax-button\n class=\"ax-dropdown-split-button\"\n [look]=\"dropdownLook\"\n [color]=\"dropdownColor\"\n [disabled]=\"disabled\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (click)=\"_handleClick($event)\"\n [text]=\"text\"\n >\n <ax-prefix> <ng-container [ngTemplateOutlet]=\"decorator\"></ng-container></ax-prefix>\n </ax-button>\n\n <ax-divider class=\"ax-dropdown-split-button-divider\"></ax-divider>\n\n <ax-button class=\"ax-dropdown-split-button-arrow\" [look]=\"dropdownLook\" [color]=\"dropdownColor\" [disabled]=\"disabled\">\n <ax-icon class=\"far fa-chevron-down\"> </ax-icon>\n\n <ng-container [ngTemplateOutlet]=\"dropdown\"></ng-container>\n </ax-button>\n}\n", styles: ["@layer properties;@layer components{ax-dropdown-button{display:inline-flex;align-items:stretch;justify-content:center;transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s))}ax-dropdown-button.ax-state-disabled ax-divider{opacity:50%}ax-dropdown-button ax-button{width:100%}ax-dropdown-button.ax-xs .ax-dropdown-split-button-arrow ax-icon{font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)))}ax-dropdown-button.ax-sm .ax-dropdown-split-button-arrow ax-icon{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}ax-dropdown-button.ax-md .ax-dropdown-split-button-arrow ax-icon{font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ))}ax-dropdown-button.ax-lg .ax-dropdown-split-button-arrow ax-icon{font-size:var(--text-lg, 1.125rem);line-height:var(--tw-leading, var(--text-lg--line-height, calc(1.75 / 1.125)))}ax-dropdown-button.ax-xl .ax-dropdown-split-button-arrow ax-icon{font-size:var(--text-xl, 1.25rem);line-height:var(--tw-leading, var(--text-xl--line-height, calc(1.75 / 1.25)))}ax-dropdown-button ax-divider.ax-dropdown-split-button-divider{display:block;width:1px;flex-shrink:0;align-self:stretch;border-style:var(--tw-border-style);border-width:0px;background-color:transparent}ax-dropdown-button .ax-dropdown-split-button button{border-start-end-radius:0;border-end-end-radius:0;border-inline-end-style:var(--tw-border-style);border-inline-end-width:0px}ax-dropdown-button .ax-dropdown-split-button-arrow button{border-start-start-radius:0;border-end-start-radius:0;border-inline-start-style:var(--tw-border-style);border-inline-start-width:0px}ax-dropdown-button .ax-dropdown-split-button-arrow button ax-icon{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
114
114
|
}
|
|
115
115
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDropdownButtonComponent, decorators: [{
|
|
116
116
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-dropdown-button.mjs","sources":["../../../../packages/components/dropdown-button/src/lib/dropdown-button.component.ts","../../../../packages/components/dropdown-button/src/lib/dropdown-button.component.html","../../../../packages/components/dropdown-button/src/lib/dropdown-button.module.ts","../../../../packages/components/dropdown-button/src/acorex-components-dropdown-button.ts"],"sourcesContent":["import {\n AXClickEvent,\n AXClosableComponent,\n AXComponent,\n AXStyleColorType,\n AXStyleLookType,\n MXButtonBaseComponent,\n} from '@acorex/cdk/common';\nimport { AXButtonComponent, AXButtonType } from '@acorex/components/button';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXDropdownPanelComponent } from '@acorex/components/dropdown';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n// import { AXButtonType } from './button-item.class';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-dropdown-button',\n templateUrl: './dropdown-button.component.html',\n styleUrls: ['./dropdown-button.component.css'],\n inputs: ['disabled', 'size', 'text'],\n outputs: ['onBlur', 'onFocus', 'onClick', 'selectedChange', 'lookChange', 'colorChange', 'disabledChange'],\n\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXClosableComponent,\n useExisting: AXDropdownButtonComponent,\n },\n { provide: AXComponent, useExisting: AXDropdownButtonComponent },\n ],\n imports: [\n AXDropdownPanelComponent,\n AXButtonComponent,\n NgTemplateOutlet,\n AXDecoratorGenericComponent,\n AXDecoratorIconComponent,\n ],\n})\nexport class AXDropdownButtonComponent extends MXButtonBaseComponent implements AfterViewInit {\n @Input({ alias: 'color' })\n dropdownColor: AXStyleColorType = 'default';\n\n @Input({ alias: 'look' })\n dropdownLook: AXStyleLookType = 'solid';\n\n /**\n * Fires each time the user clicks the button.\n * @event\n */\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /**\n * @ignore\n */\n @ViewChild('panel') dropdownPanel: AXClosableComponent;\n\n /**\n * Defines the type of the button element.\n *\n * @defaultValue 'button'\n */\n @Input()\n type: AXButtonType = 'button';\n\n /**\n * Specifies the mode of the button.\n * Can be either 'split' or 'dropdown'.\n *\n * @defaultValue 'split'\n */\n @Input() mode: 'split' | 'dropdown' = 'split';\n\n /**\n * @ignore\n */\n ngAfterViewInit(): void {\n this.getHostElement().removeAttribute('tabindex');\n }\n\n /**\n * @ignore\n */\n private getButton(): HTMLButtonElement {\n return this.getHostElement().firstElementChild as HTMLButtonElement;\n }\n\n /**\n * @ignore\n */\n _handleClick(e: MouseEvent) {\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n\n // TODO: check keyboard event\n setTimeout(() => {\n this.blur();\n });\n }\n\n /**\n * Simulates a click event on the button element.\n *\n * @returns void - No return value. The button click is simulated.\n */\n click() {\n this.getButton()?.click();\n }\n\n /**\n * Sets focus to the button and adds a focus state class.\n *\n * @returns void - No return value. The button receives focus.\n */\n override focus() {\n this.getButton()?.focus();\n this.getButton().classList.add('ax-state-focus');\n }\n\n /**\n * Removes the focus state class from the button.\n *\n * @returns void - No return value. The button loses focus.\n */\n override blur() {\n this.getButton().classList.remove('ax-state-focus');\n }\n\n /**\n * Closes the dropdown panel.\n *\n * @returns void - No return value. The dropdown panel is closed.\n */\n close() {\n this.dropdownPanel.close();\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n return this.disabled ? 'ax-state-disabled ' : '';\n }\n}\n","<ng-template #dropdown>\n <ax-dropdown-panel placement=\"bottom-end\" #panel>\n <ng-content select=\"ax-button-item-list\"></ng-content>\n </ax-dropdown-panel>\n</ng-template>\n<ng-template #decorator>\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner\"> </ng-content>\n</ng-template>\n\n@if (mode === 'dropdown') {\n <ax-button\n [look]=\"dropdownLook\"\n [color]=\"dropdownColor\"\n [disabled]=\"disabled\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (click)=\"_handleClick($event)\"\n [text]=\"text\"\n >\n <ax-prefix> <ng-container [ngTemplateOutlet]=\"decorator\"></ng-container></ax-prefix>\n\n <ax-suffix>\n <ax-icon class=\"far fa-chevron-down\"> </ax-icon>\n </ax-suffix>\n\n <ng-container [ngTemplateOutlet]=\"dropdown\"></ng-container>\n </ax-button>\n} @else {\n <ax-button\n class=\"ax-dropdown-split-button\"\n [look]=\"dropdownLook\"\n [color]=\"dropdownColor\"\n [disabled]=\"disabled\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (click)=\"_handleClick($event)\"\n [text]=\"text\"\n >\n <ax-prefix> <ng-container [ngTemplateOutlet]=\"decorator\"></ng-container></ax-prefix>\n </ax-button>\n\n <ax-divider class=\"ax-dropdown-split-button-divider\"></ax-divider>\n\n <ax-button class=\"ax-dropdown-split-button-arrow\" [look]=\"dropdownLook\" [color]=\"dropdownColor\" [disabled]=\"disabled\">\n <ax-icon class=\"far fa-chevron-down\"> </ax-icon>\n\n <ng-container [ngTemplateOutlet]=\"dropdown\"></ng-container>\n </ax-button>\n}\n","import { AXCommonModule, AXRippleDirective } from '@acorex/cdk/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDropdownButtonComponent } from './dropdown-button.component';\n\nconst COMPONENT = [AXDropdownButtonComponent];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXRippleDirective,\n AXDropdownModule,\n AXButtonModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDropdownButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-components-dropdown-button.mjs","sources":["../../../../packages/components/dropdown-button/src/lib/dropdown-button.component.ts","../../../../packages/components/dropdown-button/src/lib/dropdown-button.component.html","../../../../packages/components/dropdown-button/src/lib/dropdown-button.module.ts","../../../../packages/components/dropdown-button/src/acorex-components-dropdown-button.ts"],"sourcesContent":["import {\n AXClickEvent,\n AXClosableComponent,\n AXComponent,\n AXStyleColorType,\n AXStyleLookType,\n MXButtonBaseComponent,\n} from '@acorex/cdk/common';\nimport { AXButtonComponent, AXButtonType } from '@acorex/components/button';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXDropdownPanelComponent } from '@acorex/components/dropdown';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n// import { AXButtonType } from './button-item.class';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-dropdown-button',\n templateUrl: './dropdown-button.component.html',\n styleUrls: ['./dropdown-button.component.css'],\n inputs: ['disabled', 'size', 'text'],\n outputs: ['onBlur', 'onFocus', 'onClick', 'selectedChange', 'lookChange', 'colorChange', 'disabledChange'],\n\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXClosableComponent,\n useExisting: AXDropdownButtonComponent,\n },\n { provide: AXComponent, useExisting: AXDropdownButtonComponent },\n ],\n imports: [\n AXDropdownPanelComponent,\n AXButtonComponent,\n NgTemplateOutlet,\n AXDecoratorGenericComponent,\n AXDecoratorIconComponent,\n ],\n})\nexport class AXDropdownButtonComponent extends MXButtonBaseComponent implements AfterViewInit {\n @Input({ alias: 'color' })\n dropdownColor: AXStyleColorType = 'default';\n\n @Input({ alias: 'look' })\n dropdownLook: AXStyleLookType = 'solid';\n\n /**\n * Fires each time the user clicks the button.\n * @event\n */\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /**\n * @ignore\n */\n @ViewChild('panel') dropdownPanel: AXClosableComponent;\n\n /**\n * Defines the type of the button element.\n *\n * @defaultValue 'button'\n */\n @Input()\n type: AXButtonType = 'button';\n\n /**\n * Specifies the mode of the button.\n * Can be either 'split' or 'dropdown'.\n *\n * @defaultValue 'split'\n */\n @Input() mode: 'split' | 'dropdown' = 'split';\n\n /**\n * @ignore\n */\n ngAfterViewInit(): void {\n this.getHostElement().removeAttribute('tabindex');\n }\n\n /**\n * @ignore\n */\n private getButton(): HTMLButtonElement {\n return this.getHostElement().firstElementChild as HTMLButtonElement;\n }\n\n /**\n * @ignore\n */\n _handleClick(e: MouseEvent) {\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n\n // TODO: check keyboard event\n setTimeout(() => {\n this.blur();\n });\n }\n\n /**\n * Simulates a click event on the button element.\n *\n * @returns void - No return value. The button click is simulated.\n */\n click() {\n this.getButton()?.click();\n }\n\n /**\n * Sets focus to the button and adds a focus state class.\n *\n * @returns void - No return value. The button receives focus.\n */\n override focus() {\n this.getButton()?.focus();\n this.getButton().classList.add('ax-state-focus');\n }\n\n /**\n * Removes the focus state class from the button.\n *\n * @returns void - No return value. The button loses focus.\n */\n override blur() {\n this.getButton().classList.remove('ax-state-focus');\n }\n\n /**\n * Closes the dropdown panel.\n *\n * @returns void - No return value. The dropdown panel is closed.\n */\n close() {\n this.dropdownPanel.close();\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n return this.disabled ? 'ax-state-disabled ' : '';\n }\n}\n","<ng-template #dropdown>\n <ax-dropdown-panel placement=\"bottom-end\" #panel>\n <ng-content select=\"ax-button-item-list\"></ng-content>\n </ax-dropdown-panel>\n</ng-template>\n<ng-template #decorator>\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner\"> </ng-content>\n</ng-template>\n\n@if (mode === 'dropdown') {\n <ax-button\n [look]=\"dropdownLook\"\n [color]=\"dropdownColor\"\n [disabled]=\"disabled\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (click)=\"_handleClick($event)\"\n [text]=\"text\"\n >\n <ax-prefix> <ng-container [ngTemplateOutlet]=\"decorator\"></ng-container></ax-prefix>\n\n <ax-suffix>\n <ax-icon class=\"far fa-chevron-down\"> </ax-icon>\n </ax-suffix>\n\n <ng-container [ngTemplateOutlet]=\"dropdown\"></ng-container>\n </ax-button>\n} @else {\n <ax-button\n class=\"ax-dropdown-split-button\"\n [look]=\"dropdownLook\"\n [color]=\"dropdownColor\"\n [disabled]=\"disabled\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (click)=\"_handleClick($event)\"\n [text]=\"text\"\n >\n <ax-prefix> <ng-container [ngTemplateOutlet]=\"decorator\"></ng-container></ax-prefix>\n </ax-button>\n\n <ax-divider class=\"ax-dropdown-split-button-divider\"></ax-divider>\n\n <ax-button class=\"ax-dropdown-split-button-arrow\" [look]=\"dropdownLook\" [color]=\"dropdownColor\" [disabled]=\"disabled\">\n <ax-icon class=\"far fa-chevron-down\"> </ax-icon>\n\n <ng-container [ngTemplateOutlet]=\"dropdown\"></ng-container>\n </ax-button>\n}\n","import { AXCommonModule, AXRippleDirective } from '@acorex/cdk/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDropdownButtonComponent } from './dropdown-button.component';\n\nconst COMPONENT = [AXDropdownButtonComponent];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXRippleDirective,\n AXDropdownModule,\n AXButtonModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDropdownButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|