@eui/components 19.2.0 → 19.2.1-snapshot-1746515807848
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/directives/eui-clearable.directive.d.ts.map +1 -1
- package/directives/eui-loading.directive.d.ts.map +1 -1
- package/directives/eui-maxlength.directive.d.ts.map +1 -1
- package/directives/eui-scroll-handler.directive.d.ts.map +1 -1
- package/directives/eui-smooth-scroll.directive.d.ts.map +1 -1
- package/directives/eui-tooltip/eui-tooltip.directive.d.ts.map +1 -1
- package/docs/components/EuiAlertComponent.html +1 -1
- package/docs/components/EuiAlertTitleComponent.html +4 -0
- package/docs/components/EuiCardContentComponent.html +4 -0
- package/docs/components/EuiCardFooterActionButtonsComponent.html +4 -0
- package/docs/components/EuiCardFooterActionIconsComponent.html +4 -0
- package/docs/components/EuiCardFooterComponent.html +4 -4
- package/docs/components/EuiCardHeaderBodyComponent.html +4 -0
- package/docs/components/EuiCardHeaderComponent.html +4 -0
- package/docs/components/EuiCardHeaderLeftContentComponent.html +4 -0
- package/docs/components/EuiCardHeaderRightContentComponent.html +4 -0
- package/docs/components/EuiCardHeaderSubtitleComponent.html +4 -0
- package/docs/components/EuiCardHeaderTitleComponent.html +4 -0
- package/docs/components/EuiCardMediaComponent.html +4 -0
- package/docs/components/EuiDashboardCardContentComponent.html +4 -0
- package/docs/components/EuiDateRangeSelectorComponent.html +183 -0
- package/docs/components/EuiIconButtonComponent.html +51 -0
- package/docs/components/EuiIconStateComponent.html +1 -1
- package/docs/dependencies.html +19 -19
- package/docs/js/menu-wc.js +3 -3
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/eui-alert/components/eui-alert-title.component.d.ts.map +1 -1
- package/eui-alert/eui-alert.component.d.ts.map +1 -1
- package/eui-autocomplete/eui-autocomplete-option/eui-autocomplete-option.component.d.ts.map +1 -1
- package/eui-autocomplete/eui-autocomplete.component.d.ts.map +1 -1
- package/eui-avatar/eui-avatar.component.d.ts.map +1 -1
- package/eui-badge/eui-badge.component.d.ts.map +1 -1
- package/eui-block-content/eui-block-content.component.d.ts.map +1 -1
- package/eui-block-document/eui-block-document.component.d.ts.map +1 -1
- package/eui-button/eui-button.component.d.ts.map +1 -1
- package/eui-button-group/eui-button-group.component.d.ts.map +1 -1
- package/eui-card/components/eui-card-content/eui-card-content.component.d.ts.map +1 -1
- package/eui-card/components/eui-card-footer/eui-card-footer-action-buttons.component.d.ts.map +1 -1
- package/eui-card/components/eui-card-footer/eui-card-footer-action-icons.component.d.ts.map +1 -1
- package/eui-card/components/eui-card-footer/eui-card-footer.component.d.ts.map +1 -1
- package/eui-card/components/eui-card-header/eui-card-header-left-content.component.d.ts.map +1 -1
- package/eui-card/components/eui-card-header/eui-card-header-right-content.component.d.ts.map +1 -1
- package/eui-card/components/eui-card-header/eui-card-header-subtitle.component.d.ts.map +1 -1
- package/eui-card/components/eui-card-header/eui-card-header-title.component.d.ts.map +1 -1
- package/eui-card/components/eui-card-header/eui-card-header.component.d.ts.map +1 -1
- package/eui-card/components/eui-card-header-body/eui-card-header-body.component.d.ts.map +1 -1
- package/eui-card/components/eui-card-media/eui-card-media.component.d.ts.map +1 -1
- package/eui-card/eui-card.component.d.ts.map +1 -1
- package/eui-chip/eui-chip.component.d.ts.map +1 -1
- package/eui-chip-list/eui-chip-list.component.d.ts.map +1 -1
- package/eui-dashboard-card/eui-dashboard-card-content/dashboard-card-content.component.d.ts.map +1 -1
- package/eui-dashboard-card/eui-dashboard-card.component.d.ts.map +1 -1
- package/eui-date-range-selector/eui-date-range-selector.component.d.ts +154 -1
- package/eui-date-range-selector/eui-date-range-selector.component.d.ts.map +1 -1
- package/eui-datepicker/eui-datepicker.component.d.ts.map +1 -1
- package/eui-dialog/eui-dialog.component.d.ts.map +1 -1
- package/eui-disable-content/eui-disable-content.component.d.ts.map +1 -1
- package/eui-dropdown/dropdown-item/eui-dropdown-item.component.d.ts.map +1 -1
- package/eui-dropdown/eui-dropdown.component.d.ts.map +1 -1
- package/eui-feedback-message/eui-feedback-message.component.d.ts.map +1 -1
- package/eui-fieldset/eui-fieldset.component.d.ts.map +1 -1
- package/eui-file-upload/eui-file-upload.component.d.ts.map +1 -1
- package/eui-file-upload/file-preview/file-preview.component.d.ts.map +1 -1
- package/eui-growl/eui-growl.component.d.ts.map +1 -1
- package/eui-icon/eui-icon-svg.component.d.ts.map +1 -1
- package/eui-icon-button/eui-icon-button.component.d.ts +5 -1
- package/eui-icon-button/eui-icon-button.component.d.ts.map +1 -1
- package/eui-icon-button-expander/eui-icon-button-expander.component.d.ts.map +1 -1
- package/eui-icon-input/eui-icon-input.component.d.ts.map +1 -1
- package/eui-icon-state/eui-icon-state.component.d.ts.map +1 -1
- package/eui-icon-toggle/eui-icon-toggle.component.d.ts.map +1 -1
- package/eui-input-number/eui-input-number.component.d.ts.map +1 -1
- package/eui-label/eui-label.component.d.ts.map +1 -1
- package/eui-language-selector/language-selector.component.d.ts.map +1 -1
- package/eui-list/eui-list-item/eui-list-item.component.d.ts.map +1 -1
- package/eui-menu/eui-menu-item.component.d.ts.map +1 -1
- package/eui-menu/eui-menu.component.d.ts.map +1 -1
- package/eui-message-box/eui-message-box.component.d.ts.map +1 -1
- package/eui-navbar/eui-navbar-item/eui-navbar-item.component.d.ts.map +1 -1
- package/eui-overlay/eui-overlay.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-column/eui-page-column.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-columns/eui-page-columns.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-header/eui-page-header.component.d.ts.map +1 -1
- package/eui-paginator/eui-paginator.component.d.ts.map +1 -1
- package/eui-popover/eui-popover.component.d.ts.map +1 -1
- package/eui-progress-bar/eui-progress-bar.component.d.ts.map +1 -1
- package/eui-progress-circle/eui-progress-circle.component.d.ts.map +1 -1
- package/eui-select/eui-select-option.directive.d.ts.map +1 -1
- package/eui-select/eui-select.component.d.ts.map +1 -1
- package/eui-sidebar-menu/eui-sidebar-menu.component.d.ts.map +1 -1
- package/eui-skeleton/eui-skeleton.component.d.ts.map +1 -1
- package/eui-slide-toggle/eui-slide-toggle.component.d.ts.map +1 -1
- package/eui-table/eui-table.component.d.ts.map +1 -1
- package/eui-table/filter/eui-table-filter.component.d.ts.map +1 -1
- package/eui-table/selectable-header/eui-table-selectable-header.component.d.ts.map +1 -1
- package/eui-table/selectable-row/eui-table-selectable-row.component.d.ts.map +1 -1
- package/eui-table/sortable-col/eui-table-sortable-col.component.d.ts.map +1 -1
- package/eui-table-v2/eui-table-v2.component.d.ts.map +1 -1
- package/eui-table-v2/selectable-header/eui-table-v2-selectable-header.component.d.ts.map +1 -1
- package/eui-table-v2/selectable-row/eui-table-v2-selectable-row.component.d.ts.map +1 -1
- package/eui-table-v2/sortable-col/eui-table-v2-sortable-col.component.d.ts.map +1 -1
- package/eui-tabs/eui-tab/eui-tab.component.d.ts.map +1 -1
- package/eui-tabs/eui-tab-content/eui-tab-content.component.d.ts.map +1 -1
- package/eui-tabs/eui-tabs.component.d.ts.map +1 -1
- package/eui-tabs-v2/eui-tab-v2/eui-tab-v2.component.d.ts.map +1 -1
- package/eui-tabs-v2/eui-tab-v2-body/eui-tab-v2-body.component.d.ts.map +1 -1
- package/eui-tabs-v2/eui-tabs-v2.component.d.ts.map +1 -1
- package/eui-textarea/auto-resize.directive.d.ts.map +1 -1
- package/eui-textarea/eui-textarea.component.d.ts.map +1 -1
- package/eui-timebar/eui-timebar.component.d.ts.map +1 -1
- package/eui-timeline/eui-timeline-item.component.d.ts.map +1 -1
- package/eui-timeline/eui-timeline.component.d.ts.map +1 -1
- package/eui-timepicker/eui-timepicker.component.d.ts.map +1 -1
- package/eui-tree/eui-tree.component.d.ts.map +1 -1
- package/eui-tree-list/eui-tree-list-item.component.d.ts.map +1 -1
- package/eui-tree-list/eui-tree-list.component.d.ts.map +1 -1
- package/eui-tree-list/toolbar/toolbar.component.d.ts.map +1 -1
- package/eui-user-profile/user-profile-card/user-profile-card.component.d.ts.map +1 -1
- package/eui-user-profile/user-profile-menu/user-profile-menu.component.d.ts.map +1 -1
- package/eui-user-profile/user-profile.component.d.ts.map +1 -1
- package/eui-wizard/eui-wizard-step.component.d.ts.map +1 -1
- package/eui-wizard/eui-wizard.component.d.ts.map +1 -1
- package/externals/eui-editor/counters/eui-editor-counters.component.d.ts.map +1 -1
- package/externals/quill/quill-editor.component.d.ts.map +1 -1
- package/fesm2022/eui-components-directives.mjs +70 -70
- package/fesm2022/eui-components-eui-accordion.mjs +13 -13
- package/fesm2022/eui-components-eui-alert.mjs +15 -15
- package/fesm2022/eui-components-eui-alert.mjs.map +1 -1
- package/fesm2022/eui-components-eui-autocomplete.mjs +13 -13
- package/fesm2022/eui-components-eui-avatar.mjs +25 -25
- package/fesm2022/eui-components-eui-avatar.mjs.map +1 -1
- package/fesm2022/eui-components-eui-badge.mjs +8 -8
- package/fesm2022/eui-components-eui-badge.mjs.map +1 -1
- package/fesm2022/eui-components-eui-block-content.mjs +7 -7
- package/fesm2022/eui-components-eui-block-document.mjs +7 -7
- package/fesm2022/eui-components-eui-breadcrumb.mjs +13 -13
- package/fesm2022/eui-components-eui-button-group.mjs +7 -7
- package/fesm2022/eui-components-eui-button.mjs +8 -8
- package/fesm2022/eui-components-eui-button.mjs.map +1 -1
- package/fesm2022/eui-components-eui-card.mjs +62 -94
- package/fesm2022/eui-components-eui-card.mjs.map +1 -1
- package/fesm2022/eui-components-eui-chip-group.mjs +7 -7
- package/fesm2022/eui-components-eui-chip-list.mjs +13 -13
- package/fesm2022/eui-components-eui-chip.mjs +7 -7
- package/fesm2022/eui-components-eui-dashboard-button.mjs +13 -13
- package/fesm2022/eui-components-eui-dashboard-card.mjs +15 -18
- package/fesm2022/eui-components-eui-dashboard-card.mjs.map +1 -1
- package/fesm2022/eui-components-eui-date-range-selector.mjs +126 -13
- package/fesm2022/eui-components-eui-date-range-selector.mjs.map +1 -1
- package/fesm2022/eui-components-eui-datepicker.mjs +19 -19
- package/fesm2022/eui-components-eui-dialog.mjs +19 -19
- package/fesm2022/eui-components-eui-dimmer.mjs +7 -7
- package/fesm2022/eui-components-eui-disable-content.mjs +14 -8
- package/fesm2022/eui-components-eui-disable-content.mjs.map +1 -1
- package/fesm2022/eui-components-eui-discussion-thread.mjs +10 -10
- package/fesm2022/eui-components-eui-dropdown.mjs +20 -20
- package/fesm2022/eui-components-eui-feedback-message.mjs +7 -7
- package/fesm2022/eui-components-eui-fieldset.mjs +13 -13
- package/fesm2022/eui-components-eui-file-upload.mjs +19 -19
- package/fesm2022/eui-components-eui-growl.mjs +7 -7
- package/fesm2022/eui-components-eui-icon-button-expander.mjs +7 -7
- package/fesm2022/eui-components-eui-icon-button.mjs +37 -21
- package/fesm2022/eui-components-eui-icon-button.mjs.map +1 -1
- package/fesm2022/eui-components-eui-icon-color.mjs +7 -7
- package/fesm2022/eui-components-eui-icon-input.mjs +7 -7
- package/fesm2022/eui-components-eui-icon-state.mjs +12 -9
- package/fesm2022/eui-components-eui-icon-state.mjs.map +1 -1
- package/fesm2022/eui-components-eui-icon-toggle.mjs +7 -7
- package/fesm2022/eui-components-eui-icon.mjs +7 -7
- package/fesm2022/eui-components-eui-input-checkbox.mjs +7 -7
- package/fesm2022/eui-components-eui-input-group.mjs +13 -13
- package/fesm2022/eui-components-eui-input-number.mjs +10 -10
- package/fesm2022/eui-components-eui-input-radio.mjs +7 -7
- package/fesm2022/eui-components-eui-input-text.mjs +7 -7
- package/fesm2022/eui-components-eui-label.mjs +7 -7
- package/fesm2022/eui-components-eui-language-selector.mjs +10 -10
- package/fesm2022/eui-components-eui-list.mjs +10 -10
- package/fesm2022/eui-components-eui-menu.mjs +10 -10
- package/fesm2022/eui-components-eui-message-box.mjs +13 -13
- package/fesm2022/eui-components-eui-navbar.mjs +10 -10
- package/fesm2022/eui-components-eui-overlay.mjs +22 -22
- package/fesm2022/eui-components-eui-page.mjs +58 -58
- package/fesm2022/eui-components-eui-paginator.mjs +7 -7
- package/fesm2022/eui-components-eui-popover.mjs +10 -10
- package/fesm2022/eui-components-eui-progress-bar.mjs +7 -7
- package/fesm2022/eui-components-eui-progress-circle.mjs +7 -7
- package/fesm2022/eui-components-eui-select.mjs +19 -19
- package/fesm2022/eui-components-eui-sidebar-menu.mjs +7 -7
- package/fesm2022/eui-components-eui-skeleton.mjs +7 -7
- package/fesm2022/eui-components-eui-slide-toggle.mjs +8 -8
- package/fesm2022/eui-components-eui-slide-toggle.mjs.map +1 -1
- package/fesm2022/eui-components-eui-split-button.mjs +8 -8
- package/fesm2022/eui-components-eui-split-button.mjs.map +1 -1
- package/fesm2022/eui-components-eui-table-v2.mjs +34 -34
- package/fesm2022/eui-components-eui-table.mjs +34 -34
- package/fesm2022/eui-components-eui-tabs-v2.mjs +15 -15
- package/fesm2022/eui-components-eui-tabs.mjs +22 -22
- package/fesm2022/eui-components-eui-textarea.mjs +10 -10
- package/fesm2022/eui-components-eui-timebar.mjs +7 -7
- package/fesm2022/eui-components-eui-timeline.mjs +10 -10
- package/fesm2022/eui-components-eui-timepicker.mjs +7 -7
- package/fesm2022/eui-components-eui-tree-list.mjs +25 -25
- package/fesm2022/eui-components-eui-tree.mjs +21 -21
- package/fesm2022/eui-components-eui-user-profile.mjs +19 -17
- package/fesm2022/eui-components-eui-user-profile.mjs.map +1 -1
- package/fesm2022/eui-components-eui-wizard.mjs +13 -13
- package/fesm2022/eui-components-externals-charts.mjs +7 -7
- package/fesm2022/eui-components-externals-eui-editor.mjs +28 -28
- package/fesm2022/eui-components-externals-quill.mjs +10 -10
- package/fesm2022/eui-components-layout.mjs +182 -182
- package/fesm2022/eui-components-pipes.mjs +14 -14
- package/fesm2022/eui-components-shared.mjs +6 -6
- package/fesm2022/eui-components.mjs +4 -4
- package/layout/eui-app/eui-app-sidebar/sidebar-header-user-profile/sidebar-header-user-profile.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app-toolbar/toolbar.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app-top-message/top-message.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app.component.d.ts.map +1 -1
- package/layout/eui-footer/footer.component.d.ts.map +1 -1
- package/layout/eui-header/header-user-profile/header-user-profile.component.d.ts.map +1 -1
- package/layout/eui-notifications/eui-notification-item.component.d.ts.map +1 -1
- package/layout/eui-notifications/eui-notifications.component.d.ts.map +1 -1
- package/layout/eui-notifications-v2/eui-notification-item.component.d.ts.map +1 -1
- package/layout/eui-notifications-v2/eui-notifications.component.d.ts.map +1 -1
- package/layout/eui-toolbar/toolbar-items/toolbar-items.component.d.ts.map +1 -1
- package/layout/eui-toolbar/toolbar-navbar-item/toolbar-navbar-item.component.d.ts.map +1 -1
- package/layout/eui-toolbar/toolbar-search/toolbar-search.component.d.ts.map +1 -1
- package/layout/eui-toolbar/toolbar-selector/toolbar-selector.component.d.ts.map +1 -1
- package/layout/eui-toolbar/toolbar.component.d.ts.map +1 -1
- package/package.json +4 -4
- package/shared/base/base-states.directive.d.ts.map +1 -1
- package/shared/input.directive.d.ts.map +1 -1
@@ -82,10 +82,10 @@ class EuiTimeRangepickerComponent {
|
|
82
82
|
this.destroy$.next(true);
|
83
83
|
this.destroy$.unsubscribe();
|
84
84
|
}
|
85
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
86
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
85
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: EuiTimeRangepickerComponent, deps: [{ token: i1.TranslateService, optional: true }, { token: DYNAMIC_COMPONENT_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
86
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.9", type: EuiTimeRangepickerComponent, isStandalone: true, selector: "eui-time-range-picker", host: { properties: { "class": "this.class", "attr.data-e2e": "this.e2eAttr" } }, ngImport: i0, template: "<div class=\"eui-timerange__time-container\">\n <span class=\"eui-timerange__time-container-label\">{{ startDateLabel }}</span>\n <eui-timepicker iconSize=\"m\" [hasSeconds]=\"hasSeconds\" [formControl]=\"startTimeFormControl\"></eui-timepicker>\n</div>\n\n<div class=\"eui-timerange__time-container\">\n <span class=\"eui-timerange__time-container-label\">{{ endDateLabel }}</span>\n <eui-timepicker iconSize=\"m\" [hasSeconds]=\"hasSeconds\" [formControl]=\"endTimeFormControl\"></eui-timepicker>\n</div>\n", styles: [".eui-19 .eui-date-range-selector{display:inline-flex}.eui-19 .eui-date-range-selector .mat-date-range-input,.eui-19 .eui-date-range-selector .mat-date-range-input .mat-date-range-input-container{align-items:center;display:flex}.eui-19 .eui-date-range-selector .mat-date-range-input .mat-date-range-input-container .mat-date-range-input-wrapper{display:flex;overflow:visible;position:relative;width:calc(6.9 * var(--eui-s-m))}.eui-19 .eui-date-range-selector .mat-date-range-input .mat-date-range-input-container .mat-date-range-input-wrapper .mat-date-range-input-mirror{display:none}.eui-19 .eui-date-range-selector--container-height-large{height:auto}.eui-19 .eui-date-range-selector--container-large{height:auto;width:100%}.eui-19 .eui-date-range-selector--responsive{display:flex;width:100%}.eui-19 .eui-date-range-selector--responsive .mat-date-range-input-container{width:100%}.eui-19 .eui-date-range-selector--responsive .mat-date-range-input-wrapper{width:100%!important}.eui-19 .eui-date-range-selector--clearable .mat-date-range-input-inner{position:relative}.eui-19 .eui-date-range-selector--clearable:not(.eui-date-range-selector--responsive):not(.eui-date-range-selector--long-date-format) .mat-date-range-input-wrapper{width:calc(8.5 * var(--eui-s-m))}.eui-19 .eui-date-range-selector--long-date-format .mat-date-range-input-wrapper{width:calc(12.5 * var(--eui-s-m))!important}.eui-19 .eui-date-range-selector .mat-date-range-input-separator.mat-date-range-input-separator-hidden{opacity:1}.eui-19 .eui-date-range-selector__toggler{border-bottom-left-radius:0!important;border-top-left-radius:0!important;border-left:none!important;box-shadow:none!important}.eui-19 .eui-date-range-selector__toggler-label{width:auto}.eui-19 .eui-date-range-selector .mat-date-range-input{align-items:center;display:flex;box-sizing:border-box;background:var(--eui-c-white);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lighter);border-radius:var(--eui-br-m);border-bottom-right-radius:0;border-top-right-radius:0;max-height:var(--eui-s-3xl);text-align:center}.eui-19 .eui-date-range-selector .mat-date-range-input--read-only{background-color:transparent;border-color:transparent!important;box-shadow:none;height:inherit;padding:var(--eui-s-2xs) 0;pointer-events:none}.eui-19 .eui-date-range-selector .mat-date-range-input--read-only .eui-input-text{padding-left:var(--eui-s-s)!important}.eui-19 .eui-date-range-selector .mat-date-range-input--read-only .mat-date-range-input-separator.mat-date-range-input-separator-hidden{opacity:0}.eui-19 .eui-date-range-selector .mat-date-range-input--disabled{background-image:none;box-shadow:none;cursor:not-allowed!important;opacity:var(--eui-o-50);background-color:var(--eui-c-neutral-bg-light);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lightest)}.eui-19 .eui-date-range-selector .mat-date-range-input--disabled input{border:none!important}.eui-19 .eui-date-range-selector .mat-date-range-input--invalid{border:var(--eui-bw-xs) solid var(--eui-c-s-danger)}.eui-19 .eui-date-range-selector .eui-date-range-selector__start-date.eui-input-text,.eui-19 .eui-date-range-selector .eui-date-range-selector__end-date.eui-input-text{background-color:transparent;border-color:transparent;height:inherit;padding:calc(var(--eui-s-xs) - 1px) calc(var(--eui-s-m) - 2px);position:relative;text-align:left}.eui-19 .mat-datepicker-content .mat-calendar.eui-date-range-selector--container-height-large{height:auto}.eui-19 .mat-datepicker-content .mat-calendar.eui-date-range-selector--container-large{height:auto;width:100%}.eui-19 .eui-timerange{display:flex;justify-content:center;border-top:1px solid var(--eui-c-neutral-dark);padding:var(--eui-s-m) var(--eui-s-m) 0 var(--eui-s-m);gap:var(--eui-s-l)}.eui-19 .eui-timerange .eui-timepicker__input-container{width:unset}.eui-19 .eui-timerange .eui-timepicker__input{padding:calc(var(--eui-s-2xs) - 1px) 0!important;width:var(--eui-s-3xl)!important}.eui-19 .eui-timerange__time-container{display:flex;flex-direction:column;text-align:center}.eui-19 .eui-timerange__time-container .eui-timepicker__spacer{margin:auto}.eui-19 .eui-timerange__time-container-label{font:var(--eui-f-s-bold)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.EuiTimepickerComponent, selector: "eui-timepicker", inputs: ["e2eAttr", "inputId", "timeMask", "placeholder", "stepHours", "stepMinutes", "stepSeconds", "iconSize", "isreadOnly", "isOneInputField", "hasSeconds"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
87
87
|
}
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: EuiTimeRangepickerComponent, decorators: [{
|
89
89
|
type: Component,
|
90
90
|
args: [{ selector: 'eui-time-range-picker', encapsulation: ViewEncapsulation.None, imports: [
|
91
91
|
FormsModule,
|
@@ -133,26 +133,83 @@ class EuiDateRangeSelectorComponent {
|
|
133
133
|
this.selectedDates = { startRange: null, endRange: null };
|
134
134
|
this.startRangeFormControl = new FormControl();
|
135
135
|
this.endRangeFormControl = new FormControl();
|
136
|
+
/**
|
137
|
+
* Event emitted when the first date is selected.
|
138
|
+
*/
|
136
139
|
this.firstSelectedDate = new EventEmitter();
|
140
|
+
/**
|
141
|
+
* Event emitted when the second date is selected.
|
142
|
+
*/
|
137
143
|
this.secondSelectedDate = new EventEmitter();
|
138
144
|
this.e2eAttr = 'eui-date-range-selector';
|
145
|
+
/**
|
146
|
+
* Sets the svg icon for the toggler button.
|
147
|
+
* @default 'eui-calendar-outline'
|
148
|
+
*/
|
139
149
|
this.togglerIconSvg = 'eui-calendar-outline';
|
150
|
+
/**
|
151
|
+
* Sets the starting view of the calendar.
|
152
|
+
* @type {('month' | 'year' | 'multi-year')}
|
153
|
+
* @default 'month'
|
154
|
+
*/
|
140
155
|
this.startView = 'month';
|
156
|
+
/**
|
157
|
+
* Sets a unique id for the first input field.
|
158
|
+
* @default 'start-date-<uniqueId>'
|
159
|
+
*/
|
141
160
|
this.startDateId = `start-date-${uniqueId()}`;
|
161
|
+
/**
|
162
|
+
* Sets the step value for the hours in the time picker.
|
163
|
+
* @default 1
|
164
|
+
*/
|
142
165
|
this.stepHours = 1;
|
166
|
+
/**
|
167
|
+
* Sets the step value for the minutes in the time picker.
|
168
|
+
* @default 1
|
169
|
+
*/
|
143
170
|
this.stepMinutes = 1;
|
171
|
+
/**
|
172
|
+
* Sets the step value for the seconds in the time picker.
|
173
|
+
* @default 1
|
174
|
+
*/
|
144
175
|
this.stepSeconds = 1;
|
176
|
+
/**
|
177
|
+
* Option to define a long date format.
|
178
|
+
* @default false
|
179
|
+
*/
|
145
180
|
this.islongDateFormat = false;
|
181
|
+
/**
|
182
|
+
* Option to enable the clearable button in the input field.
|
183
|
+
* @default false
|
184
|
+
*/
|
146
185
|
this.isClearable = false;
|
186
|
+
/**
|
187
|
+
* Option to enable the readonly state.
|
188
|
+
* @default false
|
189
|
+
*/
|
147
190
|
this.isReadOnly = false;
|
191
|
+
/**
|
192
|
+
* Option to enable the disabled state.
|
193
|
+
* @default false
|
194
|
+
*/
|
148
195
|
this.isDisabled = false;
|
196
|
+
/**
|
197
|
+
* Option to make the date range field responsive.
|
198
|
+
* @default false
|
199
|
+
*/
|
149
200
|
this.isResponsive = false;
|
201
|
+
/**
|
202
|
+
* Option to enable the time range picker.
|
203
|
+
* @default false
|
204
|
+
*/
|
150
205
|
this.isTimeRange = false;
|
206
|
+
/**
|
207
|
+
* Option to enable seconds in the time range picker.
|
208
|
+
* @default false
|
209
|
+
*/
|
151
210
|
this.hasSeconds = false;
|
152
211
|
this.destroy$ = new Subject();
|
153
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars
|
154
212
|
this.propagateChange = (_) => { };
|
155
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
156
213
|
this.propagateTouched = () => { };
|
157
214
|
if (this.control) {
|
158
215
|
this.control.valueAccessor = this;
|
@@ -238,6 +295,10 @@ class EuiDateRangeSelectorComponent {
|
|
238
295
|
this.destroy$.next(true);
|
239
296
|
this.destroy$.unsubscribe();
|
240
297
|
}
|
298
|
+
/**
|
299
|
+
* Method fired when the first date field changes.
|
300
|
+
* @param e Event emitted when the first date changes.
|
301
|
+
*/
|
241
302
|
onFirstDateChange(e) {
|
242
303
|
this.startDateDefaultValue = e.value;
|
243
304
|
this.selectedDates.startRange = e.value;
|
@@ -245,6 +306,10 @@ class EuiDateRangeSelectorComponent {
|
|
245
306
|
this.propagateChange(this.selectedDates);
|
246
307
|
this.propagateTouched();
|
247
308
|
}
|
309
|
+
/**
|
310
|
+
* Method fired when the second date field changes.
|
311
|
+
* @param e Event emitted when the second date changes.
|
312
|
+
*/
|
248
313
|
onSecondDateChange(e) {
|
249
314
|
this.endDateDefaultValue = e.value;
|
250
315
|
this.selectedDates.endRange = e.value;
|
@@ -252,12 +317,18 @@ class EuiDateRangeSelectorComponent {
|
|
252
317
|
this.propagateChange(this.selectedDates);
|
253
318
|
this.propagateTouched();
|
254
319
|
}
|
320
|
+
/**
|
321
|
+
* Method fired when the first date field is cleared.
|
322
|
+
*/
|
255
323
|
onFirstDateClear() {
|
256
324
|
this.startDateDefaultValue = null;
|
257
325
|
this.selectedDates.startRange = null;
|
258
326
|
this.firstSelectedDate.emit(null);
|
259
327
|
this.propagateChange(this.selectedDates);
|
260
328
|
}
|
329
|
+
/**
|
330
|
+
* Method fired when the second date field is cleared.
|
331
|
+
*/
|
261
332
|
onSecondDateClear() {
|
262
333
|
this.endDateDefaultValue = null;
|
263
334
|
this.selectedDates.endRange = null;
|
@@ -277,6 +348,10 @@ class EuiDateRangeSelectorComponent {
|
|
277
348
|
this.endRangeFormControl.setValue(values?.endRange);
|
278
349
|
this.selectedDates = values || { startRange: null, endRange: null };
|
279
350
|
}
|
351
|
+
/**
|
352
|
+
* Sets the disabled state of the component based on the boolean value passed.
|
353
|
+
* @param isDisabled - The boolean value indicating whether the component should be disabled or not.
|
354
|
+
*/
|
280
355
|
setDisabledState(isDisabled) {
|
281
356
|
this.isDisabled = isDisabled;
|
282
357
|
if (this.isDisabled) {
|
@@ -295,7 +370,9 @@ class EuiDateRangeSelectorComponent {
|
|
295
370
|
this.propagateTouched = fn;
|
296
371
|
}
|
297
372
|
/**
|
298
|
-
* Creates
|
373
|
+
* Creates an injector for the timepicker component.
|
374
|
+
* @param data - The data to be passed to the timepicker component.
|
375
|
+
* @return {Injector} - The created injector.
|
299
376
|
* @protected
|
300
377
|
*/
|
301
378
|
createInjector(data) {
|
@@ -333,14 +410,30 @@ class EuiDateRangeSelectorComponent {
|
|
333
410
|
this.timeRangeInstance = componentRef.instance;
|
334
411
|
}
|
335
412
|
}
|
413
|
+
/**
|
414
|
+
* Fires then the time of the first date field changes.
|
415
|
+
* @param e The event emitted when the time changes.
|
416
|
+
* @protected
|
417
|
+
*/
|
336
418
|
onStartTimeChange(e) {
|
337
419
|
const time = this.extractTime(e);
|
338
420
|
this.updateStartDateTime(time.hours, time.mins, time.secs);
|
339
421
|
}
|
422
|
+
/**
|
423
|
+
* Fires then the time of the second date field changes.
|
424
|
+
* @param e The event emitted when the time changes.
|
425
|
+
* @protected
|
426
|
+
*/
|
340
427
|
onEndTimeChange(e) {
|
341
428
|
const time = this.extractTime(e);
|
342
429
|
this.updateEndDateTime(time.hours, time.mins, time.secs);
|
343
430
|
}
|
431
|
+
/**
|
432
|
+
* Extracts the time from the date input field.
|
433
|
+
* @param e The event or string containing the time.
|
434
|
+
* @return {hours: number, mins: number, secs: number} The extracted time.
|
435
|
+
* @protected
|
436
|
+
*/
|
344
437
|
extractTime(e) {
|
345
438
|
const dateTimeString = typeof e === 'string' ? e : e.target.value;
|
346
439
|
// Split the string by space to separate date and time components
|
@@ -356,6 +449,13 @@ class EuiDateRangeSelectorComponent {
|
|
356
449
|
secs: secs || 0,
|
357
450
|
};
|
358
451
|
}
|
452
|
+
/**
|
453
|
+
* Updates the start date time based on the provided hours, minutes, and seconds.
|
454
|
+
* @param hours The hours to set.
|
455
|
+
* @param mins The minutes to set.
|
456
|
+
* @param secs The seconds to set.
|
457
|
+
* @protected
|
458
|
+
*/
|
359
459
|
updateStartDateTime(hours, mins, secs) {
|
360
460
|
if (this.startDateDefaultValue) {
|
361
461
|
this.startDateDefaultValue = moment(this.startDateDefaultValue).set({ hour: hours, minute: mins, second: secs });
|
@@ -364,6 +464,13 @@ class EuiDateRangeSelectorComponent {
|
|
364
464
|
}
|
365
465
|
this.propagateChange(this.selectedDates);
|
366
466
|
}
|
467
|
+
/**
|
468
|
+
* Updates the end date time based on the provided hours, minutes, and seconds.
|
469
|
+
* @param hours The hours to set.
|
470
|
+
* @param mins The minutes to set.
|
471
|
+
* @param secs The seconds to set.
|
472
|
+
* @protected
|
473
|
+
*/
|
367
474
|
updateEndDateTime(hours, mins, secs) {
|
368
475
|
if (this.endDateDefaultValue) {
|
369
476
|
this.endDateDefaultValue = moment(this.endDateDefaultValue).set({ hour: hours, minute: mins, second: secs });
|
@@ -372,6 +479,11 @@ class EuiDateRangeSelectorComponent {
|
|
372
479
|
}
|
373
480
|
this.propagateChange(this.selectedDates);
|
374
481
|
}
|
482
|
+
/**
|
483
|
+
* Returns the class for the container based on the time range and hasSeconds conditions.
|
484
|
+
* @return {string} The class for the container.
|
485
|
+
* @protected
|
486
|
+
*/
|
375
487
|
adaptContainerClasses() {
|
376
488
|
if (this.isTimeRange && this.hasSeconds) {
|
377
489
|
return 'eui-date-range-selector--container-large';
|
@@ -385,15 +497,16 @@ class EuiDateRangeSelectorComponent {
|
|
385
497
|
}
|
386
498
|
/**
|
387
499
|
* Updates the `aria-required` attribute on the input element.
|
500
|
+
* @param control The NgControl instance to check for required validators.
|
388
501
|
* @private
|
389
502
|
*/
|
390
503
|
updateInputAriaRequiredAttribute(control) {
|
391
504
|
this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);
|
392
505
|
}
|
393
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
394
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: EuiDateRangeSelectorComponent, isStandalone: true, selector: "eui-date-range-selector", inputs: { e2eAttr: "e2eAttr", minDate: "minDate", maxDate: "maxDate", togglerIconSvg: "togglerIconSvg", togglerLabel: "togglerLabel", firstInputPlaceholder: "firstInputPlaceholder", secondInputPlaceholder: "secondInputPlaceholder", firstInputAriaLabel: "firstInputAriaLabel", secondInputAriaLabel: "secondInputAriaLabel", startDateDefaultValue: "startDateDefaultValue", endDateDefaultValue: "endDateDefaultValue", comparisonStart: "comparisonStart", comparisonEnd: "comparisonEnd", startView: "startView", startDateId: "startDateId", stepHours: "stepHours", stepMinutes: "stepMinutes", stepSeconds: "stepSeconds", islongDateFormat: ["islongDateFormat", "islongDateFormat", booleanAttribute], isClearable: ["isClearable", "isClearable", booleanAttribute], isReadOnly: ["isReadOnly", "isReadOnly", booleanAttribute], isDisabled: ["isDisabled", "isDisabled", booleanAttribute], isResponsive: ["isResponsive", "isResponsive", booleanAttribute], isTimeRange: ["isTimeRange", "isTimeRange", booleanAttribute], hasSeconds: ["hasSeconds", "hasSeconds", booleanAttribute] }, outputs: { firstSelectedDate: "firstSelectedDate", secondSelectedDate: "secondSelectedDate" }, host: { properties: { "class": "this.class", "attr.data-e2e": "this.e2eAttr" } }, providers: [provideMomentDateAdapter(DEFAULT_FORMATS)], usesOnChanges: true, ngImport: i0, template: "<mat-date-range-input\n [class.mat-date-range-input--read-only]=\"isReadOnly\"\n [class.mat-date-range-input--disabled]=\"isDisabled\"\n [class.mat-date-range-input--invalid]=\"isInvalid && isTouched\"\n [rangePicker]=\"picker\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [comparisonStart]=\"comparisonStart\"\n [comparisonEnd]=\"comparisonEnd\">\n <input\n #inputStartDate\n class=\"eui-date-range-selector__start-date\"\n euiInputText\n [id]=\"startDateId\"\n [readonly]=\"isReadOnly\"\n matStartDate\n placeholder=\"{{ firstInputPlaceholder }}\"\n attr.aria-label=\"{{ firstInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"startRangeFormControl\"\n (dateInput)=\"onFirstDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (change)=\"isTimeRange ? onStartTimeChange($event) : null\"\n (clear)=\"onFirstDateClear()\" />\n <input\n #inputEndDate\n class=\"eui-date-range-selector__end-date\"\n euiInputText\n [readonly]=\"isReadOnly\"\n matEndDate\n placeholder=\"{{ secondInputPlaceholder }}\"\n attr.aria-label=\"{{ secondInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"endRangeFormControl\"\n (dateInput)=\"onSecondDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (change)=\"isTimeRange ? onEndTimeChange($event) : null\"\n (clear)=\"onSecondDateClear()\" />\n</mat-date-range-input>\n<mat-date-range-picker\n #picker\n [startView]=\"startView\"\n (opened)=\"onOpened()\"\n [panelClass]=\"adaptContainerClasses()\" />\n@if (!isReadOnly) {\n <button\n class=\"eui-date-range-selector__toggler eui-date-range-selector__toggler-{{ !togglerLabel ? 'icon' : 'label' }}\"\n (click)=\"picker.open()\"\n euiButton\n euiSecondary\n [euiIconButton]=\"!togglerLabel ? true : false\"\n type=\"button\"\n [euiDisabled]=\"isDisabled\"\n aria-haspopup=\"dialog\">\n @if (!togglerLabel) {\n <eui-icon-svg icon=\"{{ togglerIconSvg }}\" aria-label=\"Open Calendar\" size=\"s\"></eui-icon-svg>\n } @else {\n <span>{{ togglerLabel }}</span>\n }\n </button>\n}\n", styles: [".eui-19 .eui-date-range-selector{display:inline-flex}.eui-19 .eui-date-range-selector .mat-date-range-input,.eui-19 .eui-date-range-selector .mat-date-range-input .mat-date-range-input-container{align-items:center;display:flex}.eui-19 .eui-date-range-selector .mat-date-range-input .mat-date-range-input-container .mat-date-range-input-wrapper{display:flex;overflow:visible;position:relative;width:calc(6.9 * var(--eui-s-m))}.eui-19 .eui-date-range-selector .mat-date-range-input .mat-date-range-input-container .mat-date-range-input-wrapper .mat-date-range-input-mirror{display:none}.eui-19 .eui-date-range-selector--container-height-large{height:auto}.eui-19 .eui-date-range-selector--container-large{height:auto;width:100%}.eui-19 .eui-date-range-selector--responsive{display:flex;width:100%}.eui-19 .eui-date-range-selector--responsive .mat-date-range-input-container{width:100%}.eui-19 .eui-date-range-selector--responsive .mat-date-range-input-wrapper{width:100%!important}.eui-19 .eui-date-range-selector--clearable .mat-date-range-input-inner{position:relative}.eui-19 .eui-date-range-selector--clearable:not(.eui-date-range-selector--responsive):not(.eui-date-range-selector--long-date-format) .mat-date-range-input-wrapper{width:calc(8.5 * var(--eui-s-m))}.eui-19 .eui-date-range-selector--long-date-format .mat-date-range-input-wrapper{width:calc(12.5 * var(--eui-s-m))!important}.eui-19 .eui-date-range-selector .mat-date-range-input-separator.mat-date-range-input-separator-hidden{opacity:1}.eui-19 .eui-date-range-selector__toggler{border-bottom-left-radius:0!important;border-top-left-radius:0!important;border-left:none!important;box-shadow:none!important}.eui-19 .eui-date-range-selector__toggler-label{width:auto}.eui-19 .eui-date-range-selector .mat-date-range-input{align-items:center;display:flex;box-sizing:border-box;background:var(--eui-c-white);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lighter);border-radius:var(--eui-br-m);border-bottom-right-radius:0;border-top-right-radius:0;max-height:var(--eui-s-3xl);text-align:center}.eui-19 .eui-date-range-selector .mat-date-range-input--read-only{background-color:transparent;border-color:transparent!important;box-shadow:none;height:inherit;padding:var(--eui-s-2xs) 0;pointer-events:none}.eui-19 .eui-date-range-selector .mat-date-range-input--read-only .eui-input-text{padding-left:var(--eui-s-s)!important}.eui-19 .eui-date-range-selector .mat-date-range-input--read-only .mat-date-range-input-separator.mat-date-range-input-separator-hidden{opacity:0}.eui-19 .eui-date-range-selector .mat-date-range-input--disabled{background-image:none;box-shadow:none;cursor:not-allowed!important;opacity:var(--eui-o-50);background-color:var(--eui-c-neutral-bg-light);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lightest)}.eui-19 .eui-date-range-selector .mat-date-range-input--disabled input{border:none!important}.eui-19 .eui-date-range-selector .mat-date-range-input--invalid{border:var(--eui-bw-xs) solid var(--eui-c-s-danger)}.eui-19 .eui-date-range-selector .eui-date-range-selector__start-date.eui-input-text,.eui-19 .eui-date-range-selector .eui-date-range-selector__end-date.eui-input-text{background-color:transparent;border-color:transparent;height:inherit;padding:calc(var(--eui-s-xs) - 1px) calc(var(--eui-s-m) - 2px);position:relative;text-align:left}.eui-19 .mat-datepicker-content .mat-calendar.eui-date-range-selector--container-height-large{height:auto}.eui-19 .mat-datepicker-content .mat-calendar.eui-date-range-selector--container-large{height:auto;width:100%}.eui-19 .eui-timerange{display:flex;justify-content:center;border-top:1px solid var(--eui-c-neutral-dark);padding:var(--eui-s-m) var(--eui-s-m) 0 var(--eui-s-m);gap:var(--eui-s-l)}.eui-19 .eui-timerange .eui-timepicker__input-container{width:unset}.eui-19 .eui-timerange .eui-timepicker__input{padding:calc(var(--eui-s-2xs) - 1px) 0!important;width:var(--eui-s-3xl)!important}.eui-19 .eui-timerange__time-container{display:flex;flex-direction:column;text-align:center}.eui-19 .eui-timerange__time-container .eui-timepicker__spacer{margin:auto}.eui-19 .eui-timerange__time-container-label{font:var(--eui-f-s-bold)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i5.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i5.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i5.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i5.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "ngmodule", type: MatMomentDateModule }, { kind: "component", type: i6.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i7.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i8.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["isInvalid"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
506
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: EuiDateRangeSelectorComponent, deps: [{ token: i1.TranslateService }, { token: i2.LocaleService, optional: true }, { token: i3$1.DateAdapter }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i0.ApplicationRef }, { token: i4.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
507
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.9", type: EuiDateRangeSelectorComponent, isStandalone: true, selector: "eui-date-range-selector", inputs: { e2eAttr: "e2eAttr", minDate: "minDate", maxDate: "maxDate", togglerIconSvg: "togglerIconSvg", togglerLabel: "togglerLabel", firstInputPlaceholder: "firstInputPlaceholder", secondInputPlaceholder: "secondInputPlaceholder", firstInputAriaLabel: "firstInputAriaLabel", secondInputAriaLabel: "secondInputAriaLabel", startDateDefaultValue: "startDateDefaultValue", endDateDefaultValue: "endDateDefaultValue", comparisonStart: "comparisonStart", comparisonEnd: "comparisonEnd", startView: "startView", startDateId: "startDateId", stepHours: "stepHours", stepMinutes: "stepMinutes", stepSeconds: "stepSeconds", islongDateFormat: ["islongDateFormat", "islongDateFormat", booleanAttribute], isClearable: ["isClearable", "isClearable", booleanAttribute], isReadOnly: ["isReadOnly", "isReadOnly", booleanAttribute], isDisabled: ["isDisabled", "isDisabled", booleanAttribute], isResponsive: ["isResponsive", "isResponsive", booleanAttribute], isTimeRange: ["isTimeRange", "isTimeRange", booleanAttribute], hasSeconds: ["hasSeconds", "hasSeconds", booleanAttribute] }, outputs: { firstSelectedDate: "firstSelectedDate", secondSelectedDate: "secondSelectedDate" }, host: { properties: { "class": "this.class", "attr.data-e2e": "this.e2eAttr" } }, providers: [provideMomentDateAdapter(DEFAULT_FORMATS)], usesOnChanges: true, ngImport: i0, template: "<mat-date-range-input\n [class.mat-date-range-input--read-only]=\"isReadOnly\"\n [class.mat-date-range-input--disabled]=\"isDisabled\"\n [class.mat-date-range-input--invalid]=\"isInvalid && isTouched\"\n [rangePicker]=\"picker\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [comparisonStart]=\"comparisonStart\"\n [comparisonEnd]=\"comparisonEnd\">\n <input\n #inputStartDate\n class=\"eui-date-range-selector__start-date\"\n euiInputText\n [id]=\"startDateId\"\n [readonly]=\"isReadOnly\"\n matStartDate\n placeholder=\"{{ firstInputPlaceholder }}\"\n attr.aria-label=\"{{ firstInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"startRangeFormControl\"\n (dateInput)=\"onFirstDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (change)=\"isTimeRange ? onStartTimeChange($event) : null\"\n (clear)=\"onFirstDateClear()\" />\n <input\n #inputEndDate\n class=\"eui-date-range-selector__end-date\"\n euiInputText\n [readonly]=\"isReadOnly\"\n matEndDate\n placeholder=\"{{ secondInputPlaceholder }}\"\n attr.aria-label=\"{{ secondInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"endRangeFormControl\"\n (dateInput)=\"onSecondDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (change)=\"isTimeRange ? onEndTimeChange($event) : null\"\n (clear)=\"onSecondDateClear()\" />\n</mat-date-range-input>\n<mat-date-range-picker\n #picker\n [startView]=\"startView\"\n (opened)=\"onOpened()\"\n [panelClass]=\"adaptContainerClasses()\" />\n@if (!isReadOnly) {\n <button\n class=\"eui-date-range-selector__toggler eui-date-range-selector__toggler-{{ !togglerLabel ? 'icon' : 'label' }}\"\n (click)=\"picker.open()\"\n euiButton\n euiSecondary\n [euiIconButton]=\"!togglerLabel ? true : false\"\n type=\"button\"\n [euiDisabled]=\"isDisabled\"\n aria-haspopup=\"dialog\">\n @if (!togglerLabel) {\n <eui-icon-svg icon=\"{{ togglerIconSvg }}\" aria-label=\"Open Calendar\" size=\"s\"></eui-icon-svg>\n } @else {\n <span>{{ togglerLabel }}</span>\n }\n </button>\n}\n", styles: [".eui-19 .eui-date-range-selector{display:inline-flex}.eui-19 .eui-date-range-selector .mat-date-range-input,.eui-19 .eui-date-range-selector .mat-date-range-input .mat-date-range-input-container{align-items:center;display:flex}.eui-19 .eui-date-range-selector .mat-date-range-input .mat-date-range-input-container .mat-date-range-input-wrapper{display:flex;overflow:visible;position:relative;width:calc(6.9 * var(--eui-s-m))}.eui-19 .eui-date-range-selector .mat-date-range-input .mat-date-range-input-container .mat-date-range-input-wrapper .mat-date-range-input-mirror{display:none}.eui-19 .eui-date-range-selector--container-height-large{height:auto}.eui-19 .eui-date-range-selector--container-large{height:auto;width:100%}.eui-19 .eui-date-range-selector--responsive{display:flex;width:100%}.eui-19 .eui-date-range-selector--responsive .mat-date-range-input-container{width:100%}.eui-19 .eui-date-range-selector--responsive .mat-date-range-input-wrapper{width:100%!important}.eui-19 .eui-date-range-selector--clearable .mat-date-range-input-inner{position:relative}.eui-19 .eui-date-range-selector--clearable:not(.eui-date-range-selector--responsive):not(.eui-date-range-selector--long-date-format) .mat-date-range-input-wrapper{width:calc(8.5 * var(--eui-s-m))}.eui-19 .eui-date-range-selector--long-date-format .mat-date-range-input-wrapper{width:calc(12.5 * var(--eui-s-m))!important}.eui-19 .eui-date-range-selector .mat-date-range-input-separator.mat-date-range-input-separator-hidden{opacity:1}.eui-19 .eui-date-range-selector__toggler{border-bottom-left-radius:0!important;border-top-left-radius:0!important;border-left:none!important;box-shadow:none!important}.eui-19 .eui-date-range-selector__toggler-label{width:auto}.eui-19 .eui-date-range-selector .mat-date-range-input{align-items:center;display:flex;box-sizing:border-box;background:var(--eui-c-white);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lighter);border-radius:var(--eui-br-m);border-bottom-right-radius:0;border-top-right-radius:0;max-height:var(--eui-s-3xl);text-align:center}.eui-19 .eui-date-range-selector .mat-date-range-input--read-only{background-color:transparent;border-color:transparent!important;box-shadow:none;height:inherit;padding:var(--eui-s-2xs) 0;pointer-events:none}.eui-19 .eui-date-range-selector .mat-date-range-input--read-only .eui-input-text{padding-left:var(--eui-s-s)!important}.eui-19 .eui-date-range-selector .mat-date-range-input--read-only .mat-date-range-input-separator.mat-date-range-input-separator-hidden{opacity:0}.eui-19 .eui-date-range-selector .mat-date-range-input--disabled{background-image:none;box-shadow:none;cursor:not-allowed!important;opacity:var(--eui-o-50);background-color:var(--eui-c-neutral-bg-light);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lightest)}.eui-19 .eui-date-range-selector .mat-date-range-input--disabled input{border:none!important}.eui-19 .eui-date-range-selector .mat-date-range-input--invalid{border:var(--eui-bw-xs) solid var(--eui-c-s-danger)}.eui-19 .eui-date-range-selector .eui-date-range-selector__start-date.eui-input-text,.eui-19 .eui-date-range-selector .eui-date-range-selector__end-date.eui-input-text{background-color:transparent;border-color:transparent;height:inherit;padding:calc(var(--eui-s-xs) - 1px) calc(var(--eui-s-m) - 2px);position:relative;text-align:left}.eui-19 .mat-datepicker-content .mat-calendar.eui-date-range-selector--container-height-large{height:auto}.eui-19 .mat-datepicker-content .mat-calendar.eui-date-range-selector--container-large{height:auto;width:100%}.eui-19 .eui-timerange{display:flex;justify-content:center;border-top:1px solid var(--eui-c-neutral-dark);padding:var(--eui-s-m) var(--eui-s-m) 0 var(--eui-s-m);gap:var(--eui-s-l)}.eui-19 .eui-timerange .eui-timepicker__input-container{width:unset}.eui-19 .eui-timerange .eui-timepicker__input{padding:calc(var(--eui-s-2xs) - 1px) 0!important;width:var(--eui-s-3xl)!important}.eui-19 .eui-timerange__time-container{display:flex;flex-direction:column;text-align:center}.eui-19 .eui-timerange__time-container .eui-timepicker__spacer{margin:auto}.eui-19 .eui-timerange__time-container-label{font:var(--eui-f-s-bold)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i5.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i5.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i5.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i5.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "ngmodule", type: MatMomentDateModule }, { kind: "component", type: i6.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i7.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i8.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["isInvalid"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
395
508
|
}
|
396
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
509
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: EuiDateRangeSelectorComponent, decorators: [{
|
397
510
|
type: Component,
|
398
511
|
args: [{ selector: 'eui-date-range-selector', encapsulation: ViewEncapsulation.None, imports: [
|
399
512
|
FormsModule,
|
@@ -490,13 +603,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
490
603
|
*
|
491
604
|
*/
|
492
605
|
class EuiDateRangeSelectorModule {
|
493
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
494
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
495
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
606
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: EuiDateRangeSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
607
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.9", ngImport: i0, type: EuiDateRangeSelectorModule, imports: [EuiTimeRangepickerComponent, EuiDateRangeSelectorComponent], exports: [EuiDateRangeSelectorComponent, EuiTimeRangepickerComponent] }); }
|
608
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: EuiDateRangeSelectorModule, providers: [
|
496
609
|
provideMomentDateAdapter(DEFAULT_FORMATS),
|
497
610
|
], imports: [EuiTimeRangepickerComponent, EuiDateRangeSelectorComponent] }); }
|
498
611
|
}
|
499
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
612
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: EuiDateRangeSelectorModule, decorators: [{
|
500
613
|
type: NgModule,
|
501
614
|
args: [{
|
502
615
|
imports: [EuiTimeRangepickerComponent, EuiDateRangeSelectorComponent],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-components-eui-date-range-selector.mjs","sources":["../../eui-date-range-selector/eui-time-range-picker/eui-time-range-picker.component.ts","../../eui-date-range-selector/eui-time-range-picker/eui-time-range-picker.component.html","../../eui-date-range-selector/eui-date-range-selector.component.ts","../../eui-date-range-selector/eui-date-range-selector.component.html","../../eui-date-range-selector/eui-date-range-selector.module.ts","../../eui-date-range-selector/eui-date-range-selector.validators.ts","../../eui-date-range-selector/index.ts","../../eui-date-range-selector/eui-components-eui-date-range-selector.ts"],"sourcesContent":["import {\n Component,\n Inject,\n Optional,\n ViewEncapsulation,\n HostBinding,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { DYNAMIC_COMPONENT_CONFIG } from '@eui/core';\nimport { EUI_TIMEPICKER } from '@eui/components/eui-timepicker';\nimport { EuiTimeRangePickerConfig } from '../models/eui-time-range-picker.config.model';\n\n@Component({\n selector: 'eui-time-range-picker',\n templateUrl: './eui-time-range-picker.component.html',\n styleUrls: ['../styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n FormsModule, \n ReactiveFormsModule,\n ...EUI_TIMEPICKER,\n ],\n})\nexport class EuiTimeRangepickerComponent implements OnInit, OnDestroy {\n hours: number;\n mins: number;\n secs: number;\n endHours: number;\n endMins: number;\n endSecs: number;\n stepHours: number;\n stepMinutes: number;\n stepSeconds: number;\n hasSeconds: boolean;\n startDateLabel: string;\n endDateLabel: string;\n startTimeFormControl = new FormControl();\n endTimeFormControl = new FormControl();\n @HostBinding('class')\n get class(): string {\n return ['eui-timerange'].join(' ').trim();\n }\n @HostBinding('attr.data-e2e') e2eAttr = 'eui-time-range-picker';\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n @Optional() protected translateService: TranslateService,\n @Optional() @Inject(DYNAMIC_COMPONENT_CONFIG) config: EuiTimeRangePickerConfig,\n ) {\n this.hours = config?.hours || 0;\n this.mins = config?.mins || 0;\n this.secs = config?.secs || 0;\n this.endHours = config?.endHours || 0;\n this.endMins = config?.endMins || 0;\n this.endSecs = config?.endSecs || 0;\n this.hasSeconds = config?.hasSeconds;\n this.stepHours = config? config.stepHours: this.stepHours;\n this.stepMinutes = config? config.stepMinutes: this.stepMinutes;\n this.stepSeconds = config? config.stepSeconds: this.stepSeconds;\n this.callback = config?.callback || this.callback;\n }\n\n ngOnInit(): void {\n this.translateService\n ?.stream('eui.daterangeselector.FIRSTPICKERSLABEL')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.startDateLabel = result;\n });\n\n this.translateService\n ?.stream('eui.daterangeselector.SECONDPICKERSLABEL')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.endDateLabel = result;\n });\n\n this.startTimeFormControl = new FormControl({ value: { hours: this.hours, mins: this.mins, secs: this.secs }, disabled: false });\n this.endTimeFormControl = new FormControl({ value: { hours: this.endHours, mins: this.endMins, secs: this.endSecs }, disabled: false });\n\n this.startTimeFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.hours = value.hours;\n this.mins = value.mins;\n this.secs = value.secs;\n this.callback(this.hours, this.mins, this.secs, this.endHours, this.endMins, this.endSecs);\n });\n this.endTimeFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.endHours = value.hours;\n this.endMins = value.mins;\n this.endSecs = value.secs;\n this.callback(this.hours, this.mins, this.secs, this.endHours, this.endMins, this.endSecs);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private callback: (hours: number, mins: number, secs?: number, endHours?: number, endMins?: number, endSecs?: number) => void = () => {};\n\n}\n","<div class=\"eui-timerange__time-container\">\n <span class=\"eui-timerange__time-container-label\">{{ startDateLabel }}</span>\n <eui-timepicker iconSize=\"m\" [hasSeconds]=\"hasSeconds\" [formControl]=\"startTimeFormControl\"></eui-timepicker>\n</div>\n\n<div class=\"eui-timerange__time-container\">\n <span class=\"eui-timerange__time-container-label\">{{ endDateLabel }}</span>\n <eui-timepicker iconSize=\"m\" [hasSeconds]=\"hasSeconds\" [formControl]=\"endTimeFormControl\"></eui-timepicker>\n</div>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n ApplicationRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n DoCheck,\n EventEmitter,\n HostBinding,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Self,\n SimpleChanges,\n StaticProvider,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormsModule,\n NgControl,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { MatDatepickerInputEvent, MatDatepickerModule } from '@angular/material/datepicker';\nimport { DateAdapter } from '@angular/material/core';\nimport { ComponentPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport moment from 'moment';\nimport 'moment/min/locales';\n\nimport { DYNAMIC_COMPONENT_CONFIG, LocaleService, uniqueId } from '@eui/core';\nimport { EuiDateRangeSelectorDates } from './models/eui-date-range-selector-dates.model';\nimport { EuiTimeRangepickerComponent } from './eui-time-range-picker/eui-time-range-picker.component';\nimport { EuiTimeRangePickerConfig } from './models/eui-time-range-picker.config.model';\nimport { MatMomentDateModule, provideMomentDateAdapter } from '@angular/material-moment-adapter';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\nimport { EUI_INPUT_NUMBER } from '@eui/components/eui-input-number';\nimport { EUI_TIMEPICKER } from '@eui/components/eui-timepicker';\nimport { DEFAULT_FORMATS } from '@eui/components/eui-datepicker';\n\n@Component({\n selector: 'eui-date-range-selector',\n templateUrl: './eui-date-range-selector.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n MatDatepickerModule,\n MatMomentDateModule,\n ...EUI_BUTTON,\n ...EUI_ICON,\n ...EUI_INPUT_TEXT,\n ...EUI_INPUT_NUMBER,\n ...EUI_TIMEPICKER,\n ],\n providers: [provideMomentDateAdapter(DEFAULT_FORMATS)],\n})\nexport class EuiDateRangeSelectorComponent implements OnInit, OnDestroy, OnChanges, ControlValueAccessor, DoCheck {\n selectedDates: EuiDateRangeSelectorDates = { startRange: null, endRange: null };\n public isInvalid: boolean;\n public isTouched: boolean;\n public startRangeFormControl = new FormControl();\n public endRangeFormControl = new FormControl();\n\n @Output() firstSelectedDate = new EventEmitter<any>();\n @Output() secondSelectedDate = new EventEmitter<any>();\n\n @HostBinding('class')\n get class(): string {\n return [\n 'eui-date-range-selector',\n this.isClearable ? 'eui-date-range-selector--clearable' : '',\n this.islongDateFormat || this.isTimeRange ? 'eui-date-range-selector--long-date-format' : '',\n this.isResponsive ? 'eui-date-range-selector--responsive' : '',\n ].join(' ').trim();\n }\n @HostBinding('attr.data-e2e')\n @Input() e2eAttr = 'eui-date-range-selector';\n @Input() minDate: any;\n @Input() maxDate: any;\n @Input() togglerIconSvg = 'eui-calendar-outline';\n @Input() togglerLabel: string;\n @Input() firstInputPlaceholder: string;\n @Input() secondInputPlaceholder: string;\n @Input() firstInputAriaLabel: string;\n @Input() secondInputAriaLabel: string;\n @Input() startDateDefaultValue: any;\n @Input() endDateDefaultValue: any;\n @Input() comparisonStart: any;\n @Input() comparisonEnd: any;\n @Input() startView: 'month' | 'year' | 'multi-year' = 'month';\n @Input() startDateId = `start-date-${uniqueId()}`;\n @Input() stepHours = 1;\n @Input() stepMinutes = 1;\n @Input() stepSeconds = 1;\n @Input({ transform: booleanAttribute }) islongDateFormat = false;\n @Input({ transform: booleanAttribute }) isClearable = false;\n @Input({ transform: booleanAttribute }) isReadOnly = false;\n @Input({ transform: booleanAttribute }) isDisabled = false;\n @Input({ transform: booleanAttribute }) isResponsive = false;\n @Input({ transform: booleanAttribute }) isTimeRange = false;\n @Input({ transform: booleanAttribute }) hasSeconds = false;\n\n protected hasAriaRequiredAttribute: boolean;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private portalHost: DomPortalOutlet;\n private portal: ComponentPortal<EuiTimeRangepickerComponent>;\n protected timeRangeInstance: EuiTimeRangepickerComponent;\n\n constructor(\n protected translateService: TranslateService,\n @Optional() protected localeService: LocaleService,\n protected adapter: DateAdapter<any>,\n /**\n * @deprecated will be removed in the next major version\n * @breaking-change 21.0.0\n */\n private componentFactoryResolver: ComponentFactoryResolver,\n private injector: Injector,\n private appRef: ApplicationRef,\n @Self() @Optional() protected control: NgControl,\n ) {\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n this.localeService\n .getState()\n .pipe(takeUntil(this.destroy$))\n .subscribe((state) => {\n this.adapter.setLocale(state.id);\n });\n\n this.startRangeFormControl = new FormControl({ value: this.startDateDefaultValue, disabled: this.isDisabled });\n this.endRangeFormControl = new FormControl({ value: this.endDateDefaultValue, disabled: this.isDisabled });\n\n if (!this.firstInputPlaceholder) {\n this.translateService\n .stream('eui.daterangeselector.FIRSTPICKERSLABEL')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.firstInputPlaceholder = result;\n });\n }\n // by setting the firstInputAriaLabel to dd/mm/yyyy(or the desired format) the format can be announced to the screen reader users before the users start typing\n if (!this.firstInputAriaLabel) {\n this.translateService\n .stream('eui.daterangeselector.FIRSTPICKERSPLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.firstInputAriaLabel = result;\n });\n }\n if (!this.secondInputPlaceholder) {\n this.translateService\n .stream('eui.daterangeselector.SECONDPICKERSLABEL')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.secondInputPlaceholder = result;\n });\n }\n // by setting the secondInputAriaLabel to dd/mm/yyyy(or the desired format) the format can be announced to the screen reader users before the users start typing\n if (!this.secondInputAriaLabel) {\n this.translateService\n .stream('eui.daterangeselector.SECONDPICKERSPLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.secondInputAriaLabel = result;\n });\n }\n\n this.updateInputAriaRequiredAttribute(this.control);\n this.control?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.updateInputAriaRequiredAttribute(this.control);\n });\n }\n\n ngDoCheck(): void {\n if (this.control) {\n // marks the input controls as touched/invalid if the form control is touched/invalid\n // eslint-disable-next-line\n this.control?.touched ? this.startRangeFormControl?.markAsTouched() : this.startRangeFormControl.markAsUntouched();\n // eslint-disable-next-line\n this.control?.touched ? this.endRangeFormControl.markAsTouched() : this.endRangeFormControl?.markAsUntouched();\n // eslint-disable-next-line\n this.control?.touched ? (this.isTouched = true) : (this.isTouched = false);\n // eslint-disable-next-line\n this.control?.invalid ? this.startRangeFormControl.setErrors(this.control.errors) : this.startRangeFormControl.setErrors(null);\n // eslint-disable-next-line\n this.control?.invalid ? this.endRangeFormControl.setErrors(this.control.errors) : this.endRangeFormControl.setErrors(null);\n // eslint-disable-next-line\n this.control?.invalid ? (this.isInvalid = true) : (this.isInvalid = false);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['startDateDefaultValue']) {\n this.startRangeFormControl.setValue(this.startDateDefaultValue);\n }\n if (changes && changes['endDateDefaultValue']) {\n this.endRangeFormControl.setValue(this.endDateDefaultValue);\n }\n\n if (changes && changes['isDisabled']) {\n this.setDisabledState(this.isDisabled);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public onFirstDateChange(e: MatDatepickerInputEvent<any>): void {\n this.startDateDefaultValue = e.value;\n this.selectedDates.startRange = e.value;\n this.firstSelectedDate.emit(e.value);\n this.propagateChange(this.selectedDates);\n this.propagateTouched();\n }\n\n public onSecondDateChange(e: MatDatepickerInputEvent<any>): void {\n this.endDateDefaultValue = e.value;\n this.selectedDates.endRange = e.value;\n this.secondSelectedDate.emit(e.value);\n this.propagateChange(this.selectedDates);\n this.propagateTouched();\n }\n\n onFirstDateClear(): void {\n this.startDateDefaultValue = null;\n this.selectedDates.startRange = null;\n this.firstSelectedDate.emit(null);\n this.propagateChange(this.selectedDates);\n }\n onSecondDateClear(): void {\n this.endDateDefaultValue = null;\n this.selectedDates.endRange = null;\n this.secondSelectedDate.emit(null);\n this.propagateChange(this.selectedDates);\n }\n\n writeValue(values: EuiDateRangeSelectorDates): void {\n if (values && values.startRange === undefined) {\n throw new Error('startRange of EuiDateRangeSelectorDates model must be defined');\n }\n if (values && values.endRange === undefined) {\n throw new Error('endRange of EuiDateRangeSelectorDates model must be defined');\n }\n\n this.startDateDefaultValue = values?.startRange;\n this.endDateDefaultValue = values?.endRange;\n this.startRangeFormControl.setValue(values?.startRange);\n this.endRangeFormControl.setValue(values?.endRange);\n this.selectedDates = values || { startRange: null, endRange: null };\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n if (this.isDisabled) {\n this.startRangeFormControl.disable();\n this.endRangeFormControl.disable();\n } else {\n this.startRangeFormControl.enable();\n this.endRangeFormControl.enable();\n }\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.propagateTouched = fn;\n }\n\n /**\n * Creates the injector for passing the timeconfig to the dynamic component.\n * @protected\n */\n protected createInjector(data: any): Injector {\n const injectorTokens: StaticProvider = [{ provide: DYNAMIC_COMPONENT_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens,\n });\n }\n\n /**\n * Fires when the picker opens.\n * @protected\n */\n protected onOpened(): void {\n if (this.isTimeRange) {\n this.portalHost = new DomPortalOutlet(\n document.querySelector('mat-calendar'),\n null,\n this.appRef,\n this.injector,\n );\n const timeConfig: EuiTimeRangePickerConfig = {\n hours: this.startDateDefaultValue ? moment(this.startDateDefaultValue).hours() : 0,\n mins: this.startDateDefaultValue ? moment(this.startDateDefaultValue).minutes() : 0,\n secs: this.startDateDefaultValue ? moment(this.startDateDefaultValue).seconds() : 0,\n endHours: this.endDateDefaultValue ? moment(this.endDateDefaultValue).hours() : 0,\n endMins: this.endDateDefaultValue ? moment(this.endDateDefaultValue).minutes() : 0,\n endSecs: this.endDateDefaultValue ? moment(this.endDateDefaultValue).seconds() : 0,\n hasSeconds: this.hasSeconds,\n stepHours: this.stepHours,\n stepMinutes: this.stepMinutes,\n stepSeconds: this.stepSeconds,\n callback: (hours: number, mins: number, secs: number, endHours: number, endMins: number, endSecs: number) => {\n this.updateStartDateTime(hours, mins, secs);\n\n this.updateEndDateTime(endHours, endMins, endSecs);\n },\n };\n\n this.portal = new ComponentPortal(EuiTimeRangepickerComponent, null, this.createInjector(timeConfig));\n const componentRef: ComponentRef<EuiTimeRangepickerComponent> = this.portalHost.attachComponentPortal(this.portal);\n this.timeRangeInstance = componentRef.instance;\n }\n }\n\n protected onStartTimeChange(e: string | Event): void {\n const time = this.extractTime(e);\n this.updateStartDateTime(time.hours, time.mins, time.secs);\n }\n\n protected onEndTimeChange(e: string | Event): void {\n const time = this.extractTime(e);\n this.updateEndDateTime(time.hours, time.mins, time.secs);\n }\n\n protected extractTime(e: string | Event): { hours: number, mins: number, secs: number } {\n const dateTimeString = typeof e === 'string' ? e : (e.target as HTMLInputElement).value;\n // Split the string by space to separate date and time components\n const [datePart, timePart] = dateTimeString.split(' ');\n // Ensure timePart exists to avoid errors\n if (!timePart) {\n return { hours: 0, mins: 0, secs: 0 };\n }\n const [hours, mins, secs] = timePart.split(':').map(part => parseInt(part, 10));\n return {\n hours: hours || 0,\n mins: mins || 0,\n secs: secs || 0,\n };\n }\n\n protected updateStartDateTime(hours: number, mins: number, secs: number): void {\n if (this.startDateDefaultValue) {\n this.startDateDefaultValue = moment(this.startDateDefaultValue).set({ hour: hours, minute: mins, second: secs });\n this.startRangeFormControl.setValue(this.startDateDefaultValue);\n this.selectedDates.startRange = this.startDateDefaultValue;\n }\n this.propagateChange(this.selectedDates);\n }\n protected updateEndDateTime(hours: number, mins: number, secs: number): void {\n if (this.endDateDefaultValue) {\n this.endDateDefaultValue = moment(this.endDateDefaultValue).set({ hour: hours, minute: mins, second: secs });\n this.endRangeFormControl.setValue(this.endDateDefaultValue);\n this.selectedDates.endRange = this.endDateDefaultValue;\n }\n this.propagateChange(this.selectedDates);\n }\n\n protected adaptContainerClasses(): string {\n if(this.isTimeRange && this.hasSeconds) {\n return 'eui-date-range-selector--container-large';\n } else if(this.isTimeRange) {\n return 'eui-date-range-selector--container-height-large';\n } else {\n return null;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars\n private propagateChange = (_: any): void => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private propagateTouched = (): void => {};\n\n /**\n * Updates the `aria-required` attribute on the input element.\n * @private\n */\n private updateInputAriaRequiredAttribute(control: NgControl): void {\n this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n }\n}\n","<mat-date-range-input\n [class.mat-date-range-input--read-only]=\"isReadOnly\"\n [class.mat-date-range-input--disabled]=\"isDisabled\"\n [class.mat-date-range-input--invalid]=\"isInvalid && isTouched\"\n [rangePicker]=\"picker\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [comparisonStart]=\"comparisonStart\"\n [comparisonEnd]=\"comparisonEnd\">\n <input\n #inputStartDate\n class=\"eui-date-range-selector__start-date\"\n euiInputText\n [id]=\"startDateId\"\n [readonly]=\"isReadOnly\"\n matStartDate\n placeholder=\"{{ firstInputPlaceholder }}\"\n attr.aria-label=\"{{ firstInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"startRangeFormControl\"\n (dateInput)=\"onFirstDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (change)=\"isTimeRange ? onStartTimeChange($event) : null\"\n (clear)=\"onFirstDateClear()\" />\n <input\n #inputEndDate\n class=\"eui-date-range-selector__end-date\"\n euiInputText\n [readonly]=\"isReadOnly\"\n matEndDate\n placeholder=\"{{ secondInputPlaceholder }}\"\n attr.aria-label=\"{{ secondInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"endRangeFormControl\"\n (dateInput)=\"onSecondDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (change)=\"isTimeRange ? onEndTimeChange($event) : null\"\n (clear)=\"onSecondDateClear()\" />\n</mat-date-range-input>\n<mat-date-range-picker\n #picker\n [startView]=\"startView\"\n (opened)=\"onOpened()\"\n [panelClass]=\"adaptContainerClasses()\" />\n@if (!isReadOnly) {\n <button\n class=\"eui-date-range-selector__toggler eui-date-range-selector__toggler-{{ !togglerLabel ? 'icon' : 'label' }}\"\n (click)=\"picker.open()\"\n euiButton\n euiSecondary\n [euiIconButton]=\"!togglerLabel ? true : false\"\n type=\"button\"\n [euiDisabled]=\"isDisabled\"\n aria-haspopup=\"dialog\">\n @if (!togglerLabel) {\n <eui-icon-svg icon=\"{{ togglerIconSvg }}\" aria-label=\"Open Calendar\" size=\"s\"></eui-icon-svg>\n } @else {\n <span>{{ togglerLabel }}</span>\n }\n </button>\n}\n","import { NgModule } from '@angular/core';\nimport { DEFAULT_FORMATS } from '@eui/components/eui-datepicker';\nimport { provideMomentDateAdapter } from '@angular/material-moment-adapter';\n\nimport { EuiDateRangeSelectorComponent } from './eui-date-range-selector.component';\nimport { EuiTimeRangepickerComponent } from './eui-time-range-picker/eui-time-range-picker.component';\n\n/**\n * EuiDateRangeSelectorModule is an Angular module that declares and exports the EuiDateRangeSelectorComponent\n * and EuiTimeRangepickerComponent.\n *\n * @deprecated Use {@link EuiDateRangeSelectorComponent} and {@link EuiTimeRangepickerComponent} directly.\n *\n */\n@NgModule({\n imports: [EuiTimeRangepickerComponent, EuiDateRangeSelectorComponent],\n exports: [EuiDateRangeSelectorComponent, EuiTimeRangepickerComponent],\n providers: [\n provideMomentDateAdapter(DEFAULT_FORMATS),\n ],\n})\nexport class EuiDateRangeSelectorModule {}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { DateAdapter } from '@angular/material/core';\nimport moment from 'moment';\n\n/**\n * @description\n * Validator that checks that the start date isn't after the end date.\n *\n * @usageNotes\n * If the user types a value in the input field that is not aligned with the provided format the component propagates a null value that\n * can be used to validate the input field.\n *\n * @returns An error map with the\n * `euiDateRangeInvalid` if the validation check fails, otherwise `null`.\n */\n\nexport const euiStartEndDateValidator =\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (adapter: DateAdapter<any>): ValidatorFn =>\n (control: AbstractControl): ValidationErrors | null => {\n const start = moment(adapter.getValidDateOrNull(adapter.deserialize(control.value?.startRange)));\n const end = moment(control.value?.endRange);\n return !start || !end || adapter.compareDate(start, end) <= 0 ? null : { euiDateRangeInvalid: { end, actual: start } };\n };\n","import { EuiDateRangeSelectorComponent } from './eui-date-range-selector.component';\nimport { EuiTimeRangepickerComponent } from './eui-time-range-picker/eui-time-range-picker.component';\n\nexport * from './eui-date-range-selector.module';\nexport * from './eui-date-range-selector.component';\nexport * from './eui-time-range-picker/eui-time-range-picker.component';\nexport * from './models/eui-date-range-selector-dates.model';\nexport * from './models/eui-time-range-picker.config.model';\nexport * from './eui-date-range-selector.validators';\n\nexport const EUI_DATE_RANGE_SELECTOR = [\n EuiTimeRangepickerComponent, \n EuiDateRangeSelectorComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","takeUntil","i3"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"eui-components-eui-date-range-selector.mjs","sources":["../../eui-date-range-selector/eui-time-range-picker/eui-time-range-picker.component.ts","../../eui-date-range-selector/eui-time-range-picker/eui-time-range-picker.component.html","../../eui-date-range-selector/eui-date-range-selector.component.ts","../../eui-date-range-selector/eui-date-range-selector.component.html","../../eui-date-range-selector/eui-date-range-selector.module.ts","../../eui-date-range-selector/eui-date-range-selector.validators.ts","../../eui-date-range-selector/index.ts","../../eui-date-range-selector/eui-components-eui-date-range-selector.ts"],"sourcesContent":["import {\n Component,\n Inject,\n Optional,\n ViewEncapsulation,\n HostBinding,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { DYNAMIC_COMPONENT_CONFIG } from '@eui/core';\nimport { EUI_TIMEPICKER } from '@eui/components/eui-timepicker';\nimport { EuiTimeRangePickerConfig } from '../models/eui-time-range-picker.config.model';\n\n@Component({\n selector: 'eui-time-range-picker',\n templateUrl: './eui-time-range-picker.component.html',\n styleUrls: ['../styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n FormsModule, \n ReactiveFormsModule,\n ...EUI_TIMEPICKER,\n ],\n})\nexport class EuiTimeRangepickerComponent implements OnInit, OnDestroy {\n hours: number;\n mins: number;\n secs: number;\n endHours: number;\n endMins: number;\n endSecs: number;\n stepHours: number;\n stepMinutes: number;\n stepSeconds: number;\n hasSeconds: boolean;\n startDateLabel: string;\n endDateLabel: string;\n startTimeFormControl = new FormControl();\n endTimeFormControl = new FormControl();\n @HostBinding('class')\n get class(): string {\n return ['eui-timerange'].join(' ').trim();\n }\n @HostBinding('attr.data-e2e') e2eAttr = 'eui-time-range-picker';\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n @Optional() protected translateService: TranslateService,\n @Optional() @Inject(DYNAMIC_COMPONENT_CONFIG) config: EuiTimeRangePickerConfig,\n ) {\n this.hours = config?.hours || 0;\n this.mins = config?.mins || 0;\n this.secs = config?.secs || 0;\n this.endHours = config?.endHours || 0;\n this.endMins = config?.endMins || 0;\n this.endSecs = config?.endSecs || 0;\n this.hasSeconds = config?.hasSeconds;\n this.stepHours = config? config.stepHours: this.stepHours;\n this.stepMinutes = config? config.stepMinutes: this.stepMinutes;\n this.stepSeconds = config? config.stepSeconds: this.stepSeconds;\n this.callback = config?.callback || this.callback;\n }\n\n ngOnInit(): void {\n this.translateService\n ?.stream('eui.daterangeselector.FIRSTPICKERSLABEL')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.startDateLabel = result;\n });\n\n this.translateService\n ?.stream('eui.daterangeselector.SECONDPICKERSLABEL')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.endDateLabel = result;\n });\n\n this.startTimeFormControl = new FormControl({ value: { hours: this.hours, mins: this.mins, secs: this.secs }, disabled: false });\n this.endTimeFormControl = new FormControl({ value: { hours: this.endHours, mins: this.endMins, secs: this.endSecs }, disabled: false });\n\n this.startTimeFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.hours = value.hours;\n this.mins = value.mins;\n this.secs = value.secs;\n this.callback(this.hours, this.mins, this.secs, this.endHours, this.endMins, this.endSecs);\n });\n this.endTimeFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.endHours = value.hours;\n this.endMins = value.mins;\n this.endSecs = value.secs;\n this.callback(this.hours, this.mins, this.secs, this.endHours, this.endMins, this.endSecs);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private callback: (hours: number, mins: number, secs?: number, endHours?: number, endMins?: number, endSecs?: number) => void = () => {};\n\n}\n","<div class=\"eui-timerange__time-container\">\n <span class=\"eui-timerange__time-container-label\">{{ startDateLabel }}</span>\n <eui-timepicker iconSize=\"m\" [hasSeconds]=\"hasSeconds\" [formControl]=\"startTimeFormControl\"></eui-timepicker>\n</div>\n\n<div class=\"eui-timerange__time-container\">\n <span class=\"eui-timerange__time-container-label\">{{ endDateLabel }}</span>\n <eui-timepicker iconSize=\"m\" [hasSeconds]=\"hasSeconds\" [formControl]=\"endTimeFormControl\"></eui-timepicker>\n</div>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n ApplicationRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n DoCheck,\n EventEmitter,\n HostBinding,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Self,\n SimpleChanges,\n StaticProvider,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormsModule,\n NgControl,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { MatDatepickerInputEvent, MatDatepickerModule } from '@angular/material/datepicker';\nimport { DateAdapter } from '@angular/material/core';\nimport { ComponentPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport moment from 'moment';\nimport 'moment/min/locales';\n\nimport { DYNAMIC_COMPONENT_CONFIG, LocaleService, uniqueId } from '@eui/core';\nimport { EuiDateRangeSelectorDates } from './models/eui-date-range-selector-dates.model';\nimport { EuiTimeRangepickerComponent } from './eui-time-range-picker/eui-time-range-picker.component';\nimport { EuiTimeRangePickerConfig } from './models/eui-time-range-picker.config.model';\nimport { MatMomentDateModule, provideMomentDateAdapter } from '@angular/material-moment-adapter';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\nimport { EUI_INPUT_NUMBER } from '@eui/components/eui-input-number';\nimport { EUI_TIMEPICKER } from '@eui/components/eui-timepicker';\nimport { DEFAULT_FORMATS } from '@eui/components/eui-datepicker';\n\n@Component({\n selector: 'eui-date-range-selector',\n templateUrl: './eui-date-range-selector.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n MatDatepickerModule,\n MatMomentDateModule,\n ...EUI_BUTTON,\n ...EUI_ICON,\n ...EUI_INPUT_TEXT,\n ...EUI_INPUT_NUMBER,\n ...EUI_TIMEPICKER,\n ],\n providers: [provideMomentDateAdapter(DEFAULT_FORMATS)],\n})\nexport class EuiDateRangeSelectorComponent implements OnInit, OnDestroy, OnChanges, ControlValueAccessor, DoCheck {\n selectedDates: EuiDateRangeSelectorDates = { startRange: null, endRange: null };\n public isInvalid: boolean;\n public isTouched: boolean;\n public startRangeFormControl = new FormControl();\n public endRangeFormControl = new FormControl();\n /**\n * Event emitted when the first date is selected.\n */\n @Output() firstSelectedDate = new EventEmitter<any>();\n /**\n * Event emitted when the second date is selected.\n */\n @Output() secondSelectedDate = new EventEmitter<any>();\n\n @HostBinding('class')\n get class(): string {\n return [\n 'eui-date-range-selector',\n this.isClearable ? 'eui-date-range-selector--clearable' : '',\n this.islongDateFormat || this.isTimeRange ? 'eui-date-range-selector--long-date-format' : '',\n this.isResponsive ? 'eui-date-range-selector--responsive' : '',\n ].join(' ').trim();\n }\n @HostBinding('attr.data-e2e')\n @Input() e2eAttr = 'eui-date-range-selector';\n /**\n * Sets the minimum date that can be selected.\n */\n @Input() minDate: any;\n /**\n * Sets the maximum date that can be selected.\n */\n @Input() maxDate: any;\n /**\n * Sets the svg icon for the toggler button.\n * @default 'eui-calendar-outline'\n */\n @Input() togglerIconSvg = 'eui-calendar-outline';\n /**\n * Sets the label of the toggler button.\n * @type {string}\n */\n @Input() togglerLabel: string;\n /**\n * Sets the placeholder of the first input field.\n * @type {string}\n */\n @Input() firstInputPlaceholder: string;\n /**\n * Sets the placeholder of the second input field.\n * @type {string}\n */\n @Input() secondInputPlaceholder: string;\n /**\n * Sets the aria-label of the first input field.\n * @type {string}\n */\n @Input() firstInputAriaLabel: string;\n /**\n * Sets the aria-label of the second input field.\n * @type {string}\n */\n @Input() secondInputAriaLabel: string;\n /**\n * Sets the default start date value.\n */\n @Input() startDateDefaultValue: any;\n /**\n * Sets the default end date value.\n */\n @Input() endDateDefaultValue: any;\n /**\n * Sets the first comparison date range.\n */\n @Input() comparisonStart: any;\n /**\n * Sets the second comparison date range.\n */\n @Input() comparisonEnd: any;\n /**\n * Sets the starting view of the calendar.\n * @type {('month' | 'year' | 'multi-year')}\n * @default 'month'\n */\n @Input() startView: 'month' | 'year' | 'multi-year' = 'month';\n /**\n * Sets a unique id for the first input field.\n * @default 'start-date-<uniqueId>'\n */\n @Input() startDateId = `start-date-${uniqueId()}`;\n /**\n * Sets the step value for the hours in the time picker.\n * @default 1\n */\n @Input() stepHours = 1;\n /**\n * Sets the step value for the minutes in the time picker.\n * @default 1\n */\n @Input() stepMinutes = 1;\n /**\n * Sets the step value for the seconds in the time picker.\n * @default 1\n */\n @Input() stepSeconds = 1;\n /**\n * Option to define a long date format.\n * @default false\n */\n @Input({ transform: booleanAttribute }) islongDateFormat = false;\n /**\n * Option to enable the clearable button in the input field.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isClearable = false;\n /**\n * Option to enable the readonly state.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isReadOnly = false;\n /**\n * Option to enable the disabled state.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDisabled = false;\n /**\n * Option to make the date range field responsive.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isResponsive = false;\n /**\n * Option to enable the time range picker.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isTimeRange = false;\n /**\n * Option to enable seconds in the time range picker.\n * @default false\n */\n @Input({ transform: booleanAttribute }) hasSeconds = false;\n\n protected hasAriaRequiredAttribute: boolean;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private portalHost: DomPortalOutlet;\n private portal: ComponentPortal<EuiTimeRangepickerComponent>;\n protected timeRangeInstance: EuiTimeRangepickerComponent;\n\n constructor(\n protected translateService: TranslateService,\n @Optional() protected localeService: LocaleService,\n protected adapter: DateAdapter<any>,\n /**\n * @deprecated will be removed in the next major version\n * @breaking-change 21.0.0\n */\n private componentFactoryResolver: ComponentFactoryResolver,\n private injector: Injector,\n private appRef: ApplicationRef,\n @Self() @Optional() protected control: NgControl,\n ) {\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n this.localeService\n .getState()\n .pipe(takeUntil(this.destroy$))\n .subscribe((state) => {\n this.adapter.setLocale(state.id);\n });\n\n this.startRangeFormControl = new FormControl({ value: this.startDateDefaultValue, disabled: this.isDisabled });\n this.endRangeFormControl = new FormControl({ value: this.endDateDefaultValue, disabled: this.isDisabled });\n\n if (!this.firstInputPlaceholder) {\n this.translateService\n .stream('eui.daterangeselector.FIRSTPICKERSLABEL')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.firstInputPlaceholder = result;\n });\n }\n // by setting the firstInputAriaLabel to dd/mm/yyyy(or the desired format) the format can be announced to the screen reader users before the users start typing\n if (!this.firstInputAriaLabel) {\n this.translateService\n .stream('eui.daterangeselector.FIRSTPICKERSPLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.firstInputAriaLabel = result;\n });\n }\n if (!this.secondInputPlaceholder) {\n this.translateService\n .stream('eui.daterangeselector.SECONDPICKERSLABEL')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.secondInputPlaceholder = result;\n });\n }\n // by setting the secondInputAriaLabel to dd/mm/yyyy(or the desired format) the format can be announced to the screen reader users before the users start typing\n if (!this.secondInputAriaLabel) {\n this.translateService\n .stream('eui.daterangeselector.SECONDPICKERSPLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.secondInputAriaLabel = result;\n });\n }\n\n this.updateInputAriaRequiredAttribute(this.control);\n this.control?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.updateInputAriaRequiredAttribute(this.control);\n });\n }\n\n ngDoCheck(): void {\n if (this.control) {\n // marks the input controls as touched/invalid if the form control is touched/invalid\n // eslint-disable-next-line\n this.control?.touched ? this.startRangeFormControl?.markAsTouched() : this.startRangeFormControl.markAsUntouched();\n // eslint-disable-next-line\n this.control?.touched ? this.endRangeFormControl.markAsTouched() : this.endRangeFormControl?.markAsUntouched();\n // eslint-disable-next-line\n this.control?.touched ? (this.isTouched = true) : (this.isTouched = false);\n // eslint-disable-next-line\n this.control?.invalid ? this.startRangeFormControl.setErrors(this.control.errors) : this.startRangeFormControl.setErrors(null);\n // eslint-disable-next-line\n this.control?.invalid ? this.endRangeFormControl.setErrors(this.control.errors) : this.endRangeFormControl.setErrors(null);\n // eslint-disable-next-line\n this.control?.invalid ? (this.isInvalid = true) : (this.isInvalid = false);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['startDateDefaultValue']) {\n this.startRangeFormControl.setValue(this.startDateDefaultValue);\n }\n if (changes && changes['endDateDefaultValue']) {\n this.endRangeFormControl.setValue(this.endDateDefaultValue);\n }\n\n if (changes && changes['isDisabled']) {\n this.setDisabledState(this.isDisabled);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n /**\n * Method fired when the first date field changes.\n * @param e Event emitted when the first date changes.\n */\n public onFirstDateChange(e: MatDatepickerInputEvent<any>): void {\n this.startDateDefaultValue = e.value;\n this.selectedDates.startRange = e.value;\n this.firstSelectedDate.emit(e.value);\n this.propagateChange(this.selectedDates);\n this.propagateTouched();\n }\n /**\n * Method fired when the second date field changes.\n * @param e Event emitted when the second date changes.\n */\n public onSecondDateChange(e: MatDatepickerInputEvent<any>): void {\n this.endDateDefaultValue = e.value;\n this.selectedDates.endRange = e.value;\n this.secondSelectedDate.emit(e.value);\n this.propagateChange(this.selectedDates);\n this.propagateTouched();\n }\n /**\n * Method fired when the first date field is cleared.\n */\n onFirstDateClear(): void {\n this.startDateDefaultValue = null;\n this.selectedDates.startRange = null;\n this.firstSelectedDate.emit(null);\n this.propagateChange(this.selectedDates);\n }\n /**\n * Method fired when the second date field is cleared.\n */\n onSecondDateClear(): void {\n this.endDateDefaultValue = null;\n this.selectedDates.endRange = null;\n this.secondSelectedDate.emit(null);\n this.propagateChange(this.selectedDates);\n }\n\n writeValue(values: EuiDateRangeSelectorDates): void {\n if (values && values.startRange === undefined) {\n throw new Error('startRange of EuiDateRangeSelectorDates model must be defined');\n }\n if (values && values.endRange === undefined) {\n throw new Error('endRange of EuiDateRangeSelectorDates model must be defined');\n }\n\n this.startDateDefaultValue = values?.startRange;\n this.endDateDefaultValue = values?.endRange;\n this.startRangeFormControl.setValue(values?.startRange);\n this.endRangeFormControl.setValue(values?.endRange);\n this.selectedDates = values || { startRange: null, endRange: null };\n }\n /**\n * Sets the disabled state of the component based on the boolean value passed.\n * @param isDisabled - The boolean value indicating whether the component should be disabled or not.\n */\n public setDisabledState?(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n if (this.isDisabled) {\n this.startRangeFormControl.disable();\n this.endRangeFormControl.disable();\n } else {\n this.startRangeFormControl.enable();\n this.endRangeFormControl.enable();\n }\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.propagateTouched = fn;\n }\n\n /**\n * Creates an injector for the timepicker component.\n * @param data - The data to be passed to the timepicker component.\n * @return {Injector} - The created injector.\n * @protected\n */\n protected createInjector(data: any): Injector {\n const injectorTokens: StaticProvider = [{ provide: DYNAMIC_COMPONENT_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens,\n });\n }\n\n /**\n * Fires when the picker opens.\n * @protected\n */\n protected onOpened(): void {\n if (this.isTimeRange) {\n this.portalHost = new DomPortalOutlet(\n document.querySelector('mat-calendar'),\n null,\n this.appRef,\n this.injector,\n );\n const timeConfig: EuiTimeRangePickerConfig = {\n hours: this.startDateDefaultValue ? moment(this.startDateDefaultValue).hours() : 0,\n mins: this.startDateDefaultValue ? moment(this.startDateDefaultValue).minutes() : 0,\n secs: this.startDateDefaultValue ? moment(this.startDateDefaultValue).seconds() : 0,\n endHours: this.endDateDefaultValue ? moment(this.endDateDefaultValue).hours() : 0,\n endMins: this.endDateDefaultValue ? moment(this.endDateDefaultValue).minutes() : 0,\n endSecs: this.endDateDefaultValue ? moment(this.endDateDefaultValue).seconds() : 0,\n hasSeconds: this.hasSeconds,\n stepHours: this.stepHours,\n stepMinutes: this.stepMinutes,\n stepSeconds: this.stepSeconds,\n callback: (hours: number, mins: number, secs: number, endHours: number, endMins: number, endSecs: number) => {\n this.updateStartDateTime(hours, mins, secs);\n\n this.updateEndDateTime(endHours, endMins, endSecs);\n },\n };\n\n this.portal = new ComponentPortal(EuiTimeRangepickerComponent, null, this.createInjector(timeConfig));\n const componentRef: ComponentRef<EuiTimeRangepickerComponent> = this.portalHost.attachComponentPortal(this.portal);\n this.timeRangeInstance = componentRef.instance;\n }\n }\n /**\n * Fires then the time of the first date field changes.\n * @param e The event emitted when the time changes.\n * @protected\n */\n protected onStartTimeChange(e: string | Event): void {\n const time = this.extractTime(e);\n this.updateStartDateTime(time.hours, time.mins, time.secs);\n }\n /**\n * Fires then the time of the second date field changes.\n * @param e The event emitted when the time changes.\n * @protected\n */\n protected onEndTimeChange(e: string | Event): void {\n const time = this.extractTime(e);\n this.updateEndDateTime(time.hours, time.mins, time.secs);\n }\n /**\n * Extracts the time from the date input field.\n * @param e The event or string containing the time.\n * @return {hours: number, mins: number, secs: number} The extracted time.\n * @protected\n */\n protected extractTime(e: string | Event): { hours: number, mins: number, secs: number } {\n const dateTimeString = typeof e === 'string' ? e : (e.target as HTMLInputElement).value;\n // Split the string by space to separate date and time components\n const [datePart, timePart] = dateTimeString.split(' ');\n // Ensure timePart exists to avoid errors\n if (!timePart) {\n return { hours: 0, mins: 0, secs: 0 };\n }\n const [hours, mins, secs] = timePart.split(':').map(part => parseInt(part, 10));\n return {\n hours: hours || 0,\n mins: mins || 0,\n secs: secs || 0,\n };\n }\n /**\n * Updates the start date time based on the provided hours, minutes, and seconds.\n * @param hours The hours to set.\n * @param mins The minutes to set.\n * @param secs The seconds to set.\n * @protected\n */\n protected updateStartDateTime(hours: number, mins: number, secs: number): void {\n if (this.startDateDefaultValue) {\n this.startDateDefaultValue = moment(this.startDateDefaultValue).set({ hour: hours, minute: mins, second: secs });\n this.startRangeFormControl.setValue(this.startDateDefaultValue);\n this.selectedDates.startRange = this.startDateDefaultValue;\n }\n this.propagateChange(this.selectedDates);\n }\n /**\n * Updates the end date time based on the provided hours, minutes, and seconds.\n * @param hours The hours to set.\n * @param mins The minutes to set.\n * @param secs The seconds to set.\n * @protected\n */\n protected updateEndDateTime(hours: number, mins: number, secs: number): void {\n if (this.endDateDefaultValue) {\n this.endDateDefaultValue = moment(this.endDateDefaultValue).set({ hour: hours, minute: mins, second: secs });\n this.endRangeFormControl.setValue(this.endDateDefaultValue);\n this.selectedDates.endRange = this.endDateDefaultValue;\n }\n this.propagateChange(this.selectedDates);\n }\n /**\n * Returns the class for the container based on the time range and hasSeconds conditions.\n * @return {string} The class for the container.\n * @protected\n */\n protected adaptContainerClasses(): string {\n if(this.isTimeRange && this.hasSeconds) {\n return 'eui-date-range-selector--container-large';\n } else if(this.isTimeRange) {\n return 'eui-date-range-selector--container-height-large';\n } else {\n return null;\n }\n }\n\n private propagateChange = (_: any): void => {/* empty */};\n\n private propagateTouched = (): void => {/* empty */};\n\n /**\n * Updates the `aria-required` attribute on the input element.\n * @param control The NgControl instance to check for required validators.\n * @private\n */\n private updateInputAriaRequiredAttribute(control: NgControl): void {\n this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n }\n}\n","<mat-date-range-input\n [class.mat-date-range-input--read-only]=\"isReadOnly\"\n [class.mat-date-range-input--disabled]=\"isDisabled\"\n [class.mat-date-range-input--invalid]=\"isInvalid && isTouched\"\n [rangePicker]=\"picker\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [comparisonStart]=\"comparisonStart\"\n [comparisonEnd]=\"comparisonEnd\">\n <input\n #inputStartDate\n class=\"eui-date-range-selector__start-date\"\n euiInputText\n [id]=\"startDateId\"\n [readonly]=\"isReadOnly\"\n matStartDate\n placeholder=\"{{ firstInputPlaceholder }}\"\n attr.aria-label=\"{{ firstInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"startRangeFormControl\"\n (dateInput)=\"onFirstDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (change)=\"isTimeRange ? onStartTimeChange($event) : null\"\n (clear)=\"onFirstDateClear()\" />\n <input\n #inputEndDate\n class=\"eui-date-range-selector__end-date\"\n euiInputText\n [readonly]=\"isReadOnly\"\n matEndDate\n placeholder=\"{{ secondInputPlaceholder }}\"\n attr.aria-label=\"{{ secondInputAriaLabel }}\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"endRangeFormControl\"\n (dateInput)=\"onSecondDateChange($event)\"\n [euiClearable]=\"isClearable\"\n (change)=\"isTimeRange ? onEndTimeChange($event) : null\"\n (clear)=\"onSecondDateClear()\" />\n</mat-date-range-input>\n<mat-date-range-picker\n #picker\n [startView]=\"startView\"\n (opened)=\"onOpened()\"\n [panelClass]=\"adaptContainerClasses()\" />\n@if (!isReadOnly) {\n <button\n class=\"eui-date-range-selector__toggler eui-date-range-selector__toggler-{{ !togglerLabel ? 'icon' : 'label' }}\"\n (click)=\"picker.open()\"\n euiButton\n euiSecondary\n [euiIconButton]=\"!togglerLabel ? true : false\"\n type=\"button\"\n [euiDisabled]=\"isDisabled\"\n aria-haspopup=\"dialog\">\n @if (!togglerLabel) {\n <eui-icon-svg icon=\"{{ togglerIconSvg }}\" aria-label=\"Open Calendar\" size=\"s\"></eui-icon-svg>\n } @else {\n <span>{{ togglerLabel }}</span>\n }\n </button>\n}\n","import { NgModule } from '@angular/core';\nimport { DEFAULT_FORMATS } from '@eui/components/eui-datepicker';\nimport { provideMomentDateAdapter } from '@angular/material-moment-adapter';\n\nimport { EuiDateRangeSelectorComponent } from './eui-date-range-selector.component';\nimport { EuiTimeRangepickerComponent } from './eui-time-range-picker/eui-time-range-picker.component';\n\n/**\n * EuiDateRangeSelectorModule is an Angular module that declares and exports the EuiDateRangeSelectorComponent\n * and EuiTimeRangepickerComponent.\n *\n * @deprecated Use {@link EuiDateRangeSelectorComponent} and {@link EuiTimeRangepickerComponent} directly.\n *\n */\n@NgModule({\n imports: [EuiTimeRangepickerComponent, EuiDateRangeSelectorComponent],\n exports: [EuiDateRangeSelectorComponent, EuiTimeRangepickerComponent],\n providers: [\n provideMomentDateAdapter(DEFAULT_FORMATS),\n ],\n})\nexport class EuiDateRangeSelectorModule {}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { DateAdapter } from '@angular/material/core';\nimport moment from 'moment';\n\n/**\n * @description\n * Validator that checks that the start date isn't after the end date.\n *\n * @usageNotes\n * If the user types a value in the input field that is not aligned with the provided format the component propagates a null value that\n * can be used to validate the input field.\n *\n * @returns An error map with the\n * `euiDateRangeInvalid` if the validation check fails, otherwise `null`.\n */\n\nexport const euiStartEndDateValidator =\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (adapter: DateAdapter<any>): ValidatorFn =>\n (control: AbstractControl): ValidationErrors | null => {\n const start = moment(adapter.getValidDateOrNull(adapter.deserialize(control.value?.startRange)));\n const end = moment(control.value?.endRange);\n return !start || !end || adapter.compareDate(start, end) <= 0 ? null : { euiDateRangeInvalid: { end, actual: start } };\n };\n","import { EuiDateRangeSelectorComponent } from './eui-date-range-selector.component';\nimport { EuiTimeRangepickerComponent } from './eui-time-range-picker/eui-time-range-picker.component';\n\nexport * from './eui-date-range-selector.module';\nexport * from './eui-date-range-selector.component';\nexport * from './eui-time-range-picker/eui-time-range-picker.component';\nexport * from './models/eui-date-range-selector-dates.model';\nexport * from './models/eui-time-range-picker.config.model';\nexport * from './eui-date-range-selector.validators';\n\nexport const EUI_DATE_RANGE_SELECTOR = [\n EuiTimeRangepickerComponent, \n EuiDateRangeSelectorComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","takeUntil","i3"],"mappings":"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"}
|