@eui/components 19.2.3-snapshot-1747408180222 → 19.2.3-snapshot-1747669129286

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.
Files changed (32) hide show
  1. package/docs/components/EuiAppComponent.html +1 -1
  2. package/docs/components/EuiDatepickerComponent.html +3 -173
  3. package/docs/dependencies.html +2 -2
  4. package/docs/js/menu-wc.js +24 -18
  5. package/docs/js/menu-wc_es5.js +1 -1
  6. package/docs/js/search/search_index.js +2 -2
  7. package/docs/modules/EuiTableModule.html +6 -0
  8. package/docs/modules/EuiTableV2Module.html +6 -0
  9. package/eui-breadcrumb/item/breadcrumb-item.component.d.ts.map +1 -1
  10. package/eui-date-range-selector/eui-date-range-selector.component.d.ts +1 -1
  11. package/eui-date-range-selector/eui-date-range-selector.component.d.ts.map +1 -1
  12. package/eui-date-range-selector/eui-time-range-picker/eui-time-range-picker.component.d.ts.map +1 -1
  13. package/eui-datepicker/eui-datepicker.component.d.ts +12 -25
  14. package/eui-datepicker/eui-datepicker.component.d.ts.map +1 -1
  15. package/eui-table/eui-table.module.d.ts +2 -1
  16. package/eui-table/eui-table.module.d.ts.map +1 -1
  17. package/eui-table-v2/eui-table-v2.module.d.ts +2 -1
  18. package/eui-table-v2/eui-table-v2.module.d.ts.map +1 -1
  19. package/fesm2022/eui-components-eui-breadcrumb.mjs +2 -2
  20. package/fesm2022/eui-components-eui-breadcrumb.mjs.map +1 -1
  21. package/fesm2022/eui-components-eui-date-range-selector.mjs +3 -3
  22. package/fesm2022/eui-components-eui-date-range-selector.mjs.map +1 -1
  23. package/fesm2022/eui-components-eui-datepicker.mjs +28 -47
  24. package/fesm2022/eui-components-eui-datepicker.mjs.map +1 -1
  25. package/fesm2022/eui-components-eui-table-v2.mjs +6 -2
  26. package/fesm2022/eui-components-eui-table-v2.mjs.map +1 -1
  27. package/fesm2022/eui-components-eui-table.mjs +6 -2
  28. package/fesm2022/eui-components-eui-table.mjs.map +1 -1
  29. package/fesm2022/eui-components-layout.mjs +8 -6
  30. package/fesm2022/eui-components-layout.mjs.map +1 -1
  31. package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts.map +1 -1
  32. package/package.json +3 -3
@@ -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 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 styleUrl: './eui-time-range-picker.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 protected translateService = inject(TranslateService, { optional: true })!;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor() {\n const config = inject<EuiTimeRangePickerConfig>(DYNAMIC_COMPONENT_CONFIG, { optional: true })!;\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 ComponentRef,\n DoCheck,\n EventEmitter,\n HostBinding,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n StaticProvider,\n ViewEncapsulation,\n booleanAttribute,\n inject,\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 { 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 styleUrl: './eui-date-range-selector.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 ],\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 protected translateService = inject(TranslateService);\n protected localeService = inject(LocaleService, { optional: true })!;\n protected adapter = inject<DateAdapter<any>>(DateAdapter);\n protected control = inject(NgControl, { self: true, optional: true })!;\n private injector = inject(Injector);\n private appRef = inject(ApplicationRef);\n\n constructor() {\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":["takeUntil"],"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 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, injectOptional } 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 styleUrl: './eui-time-range-picker.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 protected translateService = injectOptional(TranslateService);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor() {\n const config = inject<EuiTimeRangePickerConfig>(DYNAMIC_COMPONENT_CONFIG, { optional: true })!;\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 ComponentRef,\n DoCheck,\n EventEmitter,\n HostBinding,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n StaticProvider,\n ViewEncapsulation,\n booleanAttribute,\n inject,\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, injectOptional, 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 { 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 styleUrl: './eui-date-range-selector.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 ],\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 protected translateService = inject(TranslateService);\n protected localeService = injectOptional(LocaleService);\n protected adapter = inject<DateAdapter<any>>(DateAdapter);\n protected control = inject(NgControl, { self: true, optional: true })!;\n private injector = inject(Injector);\n private appRef = inject(ApplicationRef);\n\n constructor() {\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":["takeUntil"],"mappings":"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"}
@@ -1,30 +1,27 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, inject, Injector, forwardRef, ElementRef, booleanAttribute, Input, Output, ContentChild, ViewChild, HostBinding, Optional, Inject, Self, ViewEncapsulation, Component, Directive, NgModule } from '@angular/core';
3
- import * as i5 from '@angular/forms';
4
- import { FormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
5
- import * as i1 from '@angular/material/core';
6
- import { MAT_DATE_FORMATS } from '@angular/material/core';
7
- import * as i6 from '@angular/material/datepicker';
2
+ import { inject, EventEmitter, Injector, ApplicationRef, ViewContainerRef, ElementRef, booleanAttribute, Input, Output, forwardRef, ContentChild, ViewChild, HostBinding, ViewEncapsulation, Component, Directive, NgModule } from '@angular/core';
3
+ import * as i3 from '@angular/forms';
4
+ import { FormControl, NgControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
5
+ import { MAT_DATE_FORMATS, DateAdapter } from '@angular/material/core';
6
+ import * as i2 from '@angular/material/datepicker';
8
7
  import { MatDatepickerModule } from '@angular/material/datepicker';
9
8
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
10
9
  import { TemplatePortal, DomPortalOutlet, ComponentPortal } from '@angular/cdk/portal';
11
- import * as i2 from '@ngx-translate/core';
12
- import { TranslateModule } from '@ngx-translate/core';
10
+ import { TranslateService, TranslateModule } from '@ngx-translate/core';
13
11
  import { Subject, takeUntil, fromEvent } from 'rxjs';
14
12
  import _rollupMoment from 'moment';
15
13
  import 'moment/min/locales';
16
- import { EuiTimepickerComponent, EUI_TIMEPICKER } from '@eui/components/eui-timepicker';
17
- import * as i3 from '@eui/core';
18
- import { uniqueId, DYNAMIC_COMPONENT_CONFIG } from '@eui/core';
19
- import * as i4 from '@eui/components/shared';
14
+ import { EuiTimepickerComponent } from '@eui/components/eui-timepicker';
15
+ import { uniqueId, injectOptional, LocaleService, EuiAppShellService, DYNAMIC_COMPONENT_CONFIG } from '@eui/core';
16
+ import * as i1 from '@eui/components/shared';
20
17
  import { BaseStatesDirective } from '@eui/components/shared';
21
- import * as i7 from '@eui/components/eui-input-text';
18
+ import * as i4 from '@eui/components/eui-input-text';
22
19
  import { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';
23
- import * as i8 from '@eui/components/eui-input-group';
20
+ import * as i5 from '@eui/components/eui-input-group';
24
21
  import { EUI_INPUT_GROUP } from '@eui/components/eui-input-group';
25
- import * as i9 from '@eui/components/eui-button';
22
+ import * as i6 from '@eui/components/eui-button';
26
23
  import { EUI_BUTTON } from '@eui/components/eui-button';
27
- import * as i10 from '@eui/components/eui-icon';
24
+ import * as i7 from '@eui/components/eui-icon';
28
25
  import { EUI_ICON } from '@eui/components/eui-icon';
29
26
  import { MatMomentDateModule, provideMomentDateAdapter } from '@angular/material-moment-adapter';
30
27
 
@@ -71,23 +68,9 @@ class EuiDatepickerComponent {
71
68
  console.error(e);
72
69
  }
73
70
  }
74
- constructor(adapter, translateService, localeService, EuiAppShellService,
75
- /**
76
- * @deprecated will be removed in the next major version
77
- * @breaking-change 21.0.0
78
- */
79
- componentFactoryResolver, injector, appRef, viewContainerRef, baseStatesDirective, euiLetterFormat, control) {
80
- this.adapter = adapter;
81
- this.translateService = translateService;
82
- this.localeService = localeService;
83
- this.EuiAppShellService = EuiAppShellService;
84
- this.componentFactoryResolver = componentFactoryResolver;
85
- this.injector = injector;
86
- this.appRef = appRef;
87
- this.viewContainerRef = viewContainerRef;
88
- this.baseStatesDirective = baseStatesDirective;
89
- this.euiLetterFormat = euiLetterFormat;
90
- this.control = control;
71
+ constructor() {
72
+ this.baseStatesDirective = inject(BaseStatesDirective);
73
+ this.euiLetterFormat = inject(EuiLetterFormatDirective, { optional: true });
91
74
  this.e2eAttr = 'eui-datepicker';
92
75
  this.inputFormControl = new FormControl();
93
76
  this.breakpointsValue = {
@@ -203,6 +186,14 @@ class EuiDatepickerComponent {
203
186
  this.destroy$ = new Subject();
204
187
  this.format = inject(MAT_DATE_FORMATS, { optional: true });
205
188
  this.isNull = false;
189
+ this.adapter = inject(DateAdapter);
190
+ this.translateService = inject(TranslateService);
191
+ this.localeService = injectOptional(LocaleService);
192
+ this.EuiAppShellService = inject(EuiAppShellService);
193
+ this.injector = inject(Injector);
194
+ this.appRef = inject(ApplicationRef);
195
+ this.viewContainerRef = inject(ViewContainerRef);
196
+ this.control = inject(NgControl, { self: true, optional: true });
206
197
  this.propagateChange = (_) => { };
207
198
  this.propagateTouched = () => { };
208
199
  if (this.control) {
@@ -214,7 +205,7 @@ class EuiDatepickerComponent {
214
205
  // eslint-disable-next-line
215
206
  this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();
216
207
  this.localeService
217
- .getState()
208
+ ?.getState()
218
209
  .pipe(takeUntil(this.destroy$))
219
210
  .subscribe((state) => {
220
211
  this.adapter.setLocale(state.id);
@@ -752,8 +743,8 @@ class EuiDatepickerComponent {
752
743
  updateInputAriaRequiredAttribute(control) {
753
744
  this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);
754
745
  }
755
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: EuiDatepickerComponent, deps: [{ token: i1.DateAdapter }, { token: i2.TranslateService }, { token: i3.LocaleService }, { token: i3.EuiAppShellService }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i0.ApplicationRef }, { token: i0.ViewContainerRef }, { token: i4.BaseStatesDirective }, { token: forwardRef(() => EuiLetterFormatDirective), optional: true }, { token: i5.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
756
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.9", type: EuiDatepickerComponent, isStandalone: true, selector: "eui-datepicker", inputs: { e2eAttr: "e2eAttr", value: "value", togglerIconSvg: "togglerIconSvg", togglerLabel: "togglerLabel", placeholder: "placeholder", type: "type", startView: "startView", minDate: "minDate", maxDate: "maxDate", datepickerFilter: "datepickerFilter", dateOutputFormat: "dateOutputFormat", customHeader: "customHeader", dateClass: "dateClass", stepHours: "stepHours", stepMinutes: "stepMinutes", stepSeconds: "stepSeconds", inputId: "inputId", isDatetimepicker: ["isDatetimepicker", "isDatetimepicker", booleanAttribute], hasSeconds: ["hasSeconds", "hasSeconds", booleanAttribute], isOneInputField: ["isOneInputField", "isOneInputField", booleanAttribute], hasNoButton: ["hasNoButton", "hasNoButton", booleanAttribute], isDatepickerBlock: ["isDatepickerBlock", "isDatepickerBlock", booleanAttribute], isReadOnly: ["isReadOnly", "isReadOnly", booleanAttribute], isDisabled: ["isDisabled", "isDisabled", booleanAttribute], isInputDisabled: ["isInputDisabled", "isInputDisabled", booleanAttribute], isButtonDisabled: ["isButtonDisabled", "isButtonDisabled", booleanAttribute], isPickerDisabled: ["isPickerDisabled", "isPickerDisabled", booleanAttribute], isShownOnInputClick: ["isShownOnInputClick", "isShownOnInputClick", booleanAttribute], isClearable: "isClearable", restrictToRegex: "restrictToRegex" }, outputs: { inputChange: "inputChange", dateSelect: "dateSelect" }, host: { properties: { "class": "this.cssClasses", "attr.data-e2e": "this.e2eAttr" } }, queries: [{ propertyName: "euiActionButtons", first: true, predicate: i0.forwardRef(() => EuiActionButtonsDirective), descendants: true }], viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true, static: true }, { propertyName: "templatePortalRef", first: true, predicate: ["templatePortalRef"], descendants: true }, { propertyName: "inputRef", first: true, predicate: ["input"], descendants: true, read: ElementRef }], usesOnChanges: true, hostDirectives: [{ directive: i4.BaseStatesDirective, inputs: ["euiSuccess", "euiSuccess", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiVariant", "euiVariant"] }], ngImport: i0, template: "<div euiInputGroup>\n <div euiInputGroupAddOn>\n <input\n #input\n euiInputText\n [id]=\"inputId\"\n [readonly]=\"isReadOnly\"\n [euiClearable]=\"isClearable\"\n (clear)=\"onClear()\"\n [class.eui-datepicker--no-button]=\"hasNoButton\"\n [class.eui-datepicker--long-format]=\"!isDatepickerBlock && (isDatetimepicker || euiLetterFormat)\"\n [class.eui-datepicker--block]=\"isDatepickerBlock\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"inputFormControl\"\n [matDatepicker]=\"calendar\"\n placeholder=\"{{ placeholder }}\"\n (dateInput)=\"onDateInput($event)\"\n (dateChange)=\"onDateChange($event)\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [matDatepickerFilter]=\"datepickerFilter\"\n (click)=\"isShownOnInputClick? openCalendar(): null\"\n autocomplete=\"off\"\n aria-label=\"Date Input Field\"\n (keypress)=\"onKeypress($event)\"\n (focusout)=\"onFocusOut()\"\n (change)=\"isDatetimepicker ? changedInput($event) : null\" />\n <mat-datepicker\n #calendar\n panelClass=\"mat-calendar-{{ type }}\"\n [startView]=\"type === 'regular' ? (startView ? startView : convTypeToStartView(type)) : convTypeToStartView(type)\"\n (yearSelected)=\"type === 'year' ? chosenDateHandler($event, calendar) : null\"\n (monthSelected)=\"type === 'month' ? chosenDateHandler($event, calendar) : null\"\n [touchUi]=\"breakpointsValue.isTablet || breakpointsValue.isMobile\"\n [panelClass]=\"isDatetimepicker ? 'eui-datepicker--container-height-large' : null\"\n [disabled]=\"isPickerDisabled\"\n [calendarHeaderComponent]=\"customHeader\"\n [dateClass]=\"dateClass\"\n (opened)=\"onOpened()\">\n </mat-datepicker>\n @if (!hasNoButton && showDateButton) {\n <button\n (click)=\"openCalendar()\"\n euiButton\n type=\"button\"\n euiSecondary\n [euiIconButton]=\"!togglerLabel\"\n [euiDisabled]=\"isButtonDisabled\"\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 </div>\n</div>\n\n\n<ng-template #templatePortalRef>\n <ng-content select=\"eui-action-buttons\" />\n</ng-template>\n", styles: [".eui-19 .eui-datepicker{display:flex}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) .eui-input-group-addon{width:unset!important}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input{border-bottom-right-radius:0;border-top-right-radius:0;width:calc(8.5 * var(--eui-s-m))}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-input-text--clearable{width:calc(9 * var(--eui-s-m))}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--long-format{width:calc(12.5 * var(--eui-s-m))}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--block{width:100%}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--no-button{border-bottom-right-radius:var(--eui-br-m);border-top-right-radius:var(--eui-br-m)}.eui-19 .eui-datepicker .eui-input-group{margin-bottom:0!important}.eui-19 .eui-datepicker--responsive{width:100%}.eui-19 .eui-datepicker--responsive .eui-input-group-addon{width:100%!important}.eui-19 .eui-datepicker--container-height-large{height:auto!important}.eui-19 .eui-datepicker__action-buttons{display:flex;justify-content:flex-end;align-items:center;padding:0 var(--eui-s-xs) var(--eui-s-xs) var(--eui-s-xs)}.eui-19 .eui-datepicker__actions-cancel-button{margin-right:var(--eui-s-m)}.eui-19 .mat-calendar.mat-calendar-year .mat-calendar-period-button{display:none}.eui-19 .mat-datepicker-dialog .mat-datepicker-content-touch{max-height:none}.eui-19 .mat-datepicker-content-touch .mat-datepicker-content-container{height:auto!important;max-height:fit-content!important}.eui-19 .mat-mdc-icon-button:disabled{color:var(--eui-c-neutral-lighter)!important}.eui-19 .eui-datepicker--primary input{background-color:var(--eui-c-s-primary-surface-light)}.eui-19 .eui-datepicker--secondary input{background-color:var(--eui-c-s-secondary)}.eui-19 .eui-datepicker--info input{background-color:var(--eui-c-s-info-surface-light)}.eui-19 .eui-datepicker--success input{background-color:var(--eui-c-s-success-surface-light)}.eui-19 .eui-datepicker--warning input{background-color:var(--eui-c-s-warning-surface-light)}.eui-19 .eui-datepicker--danger input{background-color:var(--eui-c-s-danger-surface-light)}.eui-19 .eui-datepicker--accent input{background-color:var(--eui-c-s-accent-surface-light)}\n"], dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i6.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i6.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: MatMomentDateModule }, { kind: "component", type: i7.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["isInvalid"] }, { kind: "component", type: i8.EuiInputGroupComponent, selector: "div[euiInputGroup]", inputs: ["e2eAttr"] }, { kind: "component", type: i8.EuiInputGroupAddOnComponent, selector: "div[euiInputGroupAddOn], eui-input-group-addon", inputs: ["e2eAttr"] }, { kind: "component", type: i9.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiCTAButton", "euiBlockButton", "euiIconButton", "euiLineWrap", "isCompact", "hasNoFocusRing", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i10.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"] }], encapsulation: i0.ViewEncapsulation.None }); }
746
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: EuiDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
747
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.9", type: EuiDatepickerComponent, isStandalone: true, selector: "eui-datepicker", inputs: { e2eAttr: "e2eAttr", value: "value", togglerIconSvg: "togglerIconSvg", togglerLabel: "togglerLabel", placeholder: "placeholder", type: "type", startView: "startView", minDate: "minDate", maxDate: "maxDate", datepickerFilter: "datepickerFilter", dateOutputFormat: "dateOutputFormat", customHeader: "customHeader", dateClass: "dateClass", stepHours: "stepHours", stepMinutes: "stepMinutes", stepSeconds: "stepSeconds", inputId: "inputId", isDatetimepicker: ["isDatetimepicker", "isDatetimepicker", booleanAttribute], hasSeconds: ["hasSeconds", "hasSeconds", booleanAttribute], isOneInputField: ["isOneInputField", "isOneInputField", booleanAttribute], hasNoButton: ["hasNoButton", "hasNoButton", booleanAttribute], isDatepickerBlock: ["isDatepickerBlock", "isDatepickerBlock", booleanAttribute], isReadOnly: ["isReadOnly", "isReadOnly", booleanAttribute], isDisabled: ["isDisabled", "isDisabled", booleanAttribute], isInputDisabled: ["isInputDisabled", "isInputDisabled", booleanAttribute], isButtonDisabled: ["isButtonDisabled", "isButtonDisabled", booleanAttribute], isPickerDisabled: ["isPickerDisabled", "isPickerDisabled", booleanAttribute], isShownOnInputClick: ["isShownOnInputClick", "isShownOnInputClick", booleanAttribute], isClearable: "isClearable", restrictToRegex: "restrictToRegex" }, outputs: { inputChange: "inputChange", dateSelect: "dateSelect" }, host: { properties: { "class": "this.cssClasses", "attr.data-e2e": "this.e2eAttr" } }, queries: [{ propertyName: "euiActionButtons", first: true, predicate: i0.forwardRef(() => EuiActionButtonsDirective), descendants: true }], viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true, static: true }, { propertyName: "templatePortalRef", first: true, predicate: ["templatePortalRef"], descendants: true }, { propertyName: "inputRef", first: true, predicate: ["input"], descendants: true, read: ElementRef }], usesOnChanges: true, hostDirectives: [{ directive: i1.BaseStatesDirective, inputs: ["euiSuccess", "euiSuccess", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiVariant", "euiVariant"] }], ngImport: i0, template: "<div euiInputGroup>\n <div euiInputGroupAddOn>\n <input\n #input\n euiInputText\n [id]=\"inputId\"\n [readonly]=\"isReadOnly\"\n [euiClearable]=\"isClearable\"\n (clear)=\"onClear()\"\n [class.eui-datepicker--no-button]=\"hasNoButton\"\n [class.eui-datepicker--long-format]=\"!isDatepickerBlock && (isDatetimepicker || euiLetterFormat)\"\n [class.eui-datepicker--block]=\"isDatepickerBlock\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"inputFormControl\"\n [matDatepicker]=\"calendar\"\n placeholder=\"{{ placeholder }}\"\n (dateInput)=\"onDateInput($event)\"\n (dateChange)=\"onDateChange($event)\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [matDatepickerFilter]=\"datepickerFilter\"\n (click)=\"isShownOnInputClick? openCalendar(): null\"\n autocomplete=\"off\"\n aria-label=\"Date Input Field\"\n (keypress)=\"onKeypress($event)\"\n (focusout)=\"onFocusOut()\"\n (change)=\"isDatetimepicker ? changedInput($event) : null\" />\n <mat-datepicker\n #calendar\n panelClass=\"mat-calendar-{{ type }}\"\n [startView]=\"type === 'regular' ? (startView ? startView : convTypeToStartView(type)) : convTypeToStartView(type)\"\n (yearSelected)=\"type === 'year' ? chosenDateHandler($event, calendar) : null\"\n (monthSelected)=\"type === 'month' ? chosenDateHandler($event, calendar) : null\"\n [touchUi]=\"breakpointsValue.isTablet || breakpointsValue.isMobile\"\n [panelClass]=\"isDatetimepicker ? 'eui-datepicker--container-height-large' : null\"\n [disabled]=\"isPickerDisabled\"\n [calendarHeaderComponent]=\"customHeader\"\n [dateClass]=\"dateClass\"\n (opened)=\"onOpened()\">\n </mat-datepicker>\n @if (!hasNoButton && showDateButton) {\n <button\n (click)=\"openCalendar()\"\n euiButton\n type=\"button\"\n euiSecondary\n [euiIconButton]=\"!togglerLabel\"\n [euiDisabled]=\"isButtonDisabled\"\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 </div>\n</div>\n\n\n<ng-template #templatePortalRef>\n <ng-content select=\"eui-action-buttons\" />\n</ng-template>\n", styles: [".eui-19 .eui-datepicker{display:flex}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) .eui-input-group-addon{width:unset!important}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input{border-bottom-right-radius:0;border-top-right-radius:0;width:calc(8.5 * var(--eui-s-m))}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-input-text--clearable{width:calc(9 * var(--eui-s-m))}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--long-format{width:calc(12.5 * var(--eui-s-m))}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--block{width:100%}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--no-button{border-bottom-right-radius:var(--eui-br-m);border-top-right-radius:var(--eui-br-m)}.eui-19 .eui-datepicker .eui-input-group{margin-bottom:0!important}.eui-19 .eui-datepicker--responsive{width:100%}.eui-19 .eui-datepicker--responsive .eui-input-group-addon{width:100%!important}.eui-19 .eui-datepicker--container-height-large{height:auto!important}.eui-19 .eui-datepicker__action-buttons{display:flex;justify-content:flex-end;align-items:center;padding:0 var(--eui-s-xs) var(--eui-s-xs) var(--eui-s-xs)}.eui-19 .eui-datepicker__actions-cancel-button{margin-right:var(--eui-s-m)}.eui-19 .mat-calendar.mat-calendar-year .mat-calendar-period-button{display:none}.eui-19 .mat-datepicker-dialog .mat-datepicker-content-touch{max-height:none}.eui-19 .mat-datepicker-content-touch .mat-datepicker-content-container{height:auto!important;max-height:fit-content!important}.eui-19 .mat-mdc-icon-button:disabled{color:var(--eui-c-neutral-lighter)!important}.eui-19 .eui-datepicker--primary input{background-color:var(--eui-c-s-primary-surface-light)}.eui-19 .eui-datepicker--secondary input{background-color:var(--eui-c-s-secondary)}.eui-19 .eui-datepicker--info input{background-color:var(--eui-c-s-info-surface-light)}.eui-19 .eui-datepicker--success input{background-color:var(--eui-c-s-success-surface-light)}.eui-19 .eui-datepicker--warning input{background-color:var(--eui-c-s-warning-surface-light)}.eui-19 .eui-datepicker--danger input{background-color:var(--eui-c-s-danger-surface-light)}.eui-19 .eui-datepicker--accent input{background-color:var(--eui-c-s-accent-surface-light)}\n"], dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: MatMomentDateModule }, { kind: "component", type: i4.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["isInvalid"] }, { kind: "component", type: i5.EuiInputGroupComponent, selector: "div[euiInputGroup]", inputs: ["e2eAttr"] }, { kind: "component", type: i5.EuiInputGroupAddOnComponent, selector: "div[euiInputGroupAddOn], eui-input-group-addon", inputs: ["e2eAttr"] }, { kind: "component", type: i6.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiCTAButton", "euiBlockButton", "euiIconButton", "euiLineWrap", "isCompact", "hasNoFocusRing", "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"] }], encapsulation: i0.ViewEncapsulation.None }); }
757
748
  }
758
749
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: EuiDatepickerComponent, decorators: [{
759
750
  type: Component,
@@ -767,7 +758,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
767
758
  ...EUI_INPUT_GROUP,
768
759
  ...EUI_BUTTON,
769
760
  ...EUI_ICON,
770
- ...EUI_TIMEPICKER,
771
761
  ], hostDirectives: [
772
762
  {
773
763
  directive: BaseStatesDirective,
@@ -780,16 +770,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
780
770
  ],
781
771
  },
782
772
  ], template: "<div euiInputGroup>\n <div euiInputGroupAddOn>\n <input\n #input\n euiInputText\n [id]=\"inputId\"\n [readonly]=\"isReadOnly\"\n [euiClearable]=\"isClearable\"\n (clear)=\"onClear()\"\n [class.eui-datepicker--no-button]=\"hasNoButton\"\n [class.eui-datepicker--long-format]=\"!isDatepickerBlock && (isDatetimepicker || euiLetterFormat)\"\n [class.eui-datepicker--block]=\"isDatepickerBlock\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n [formControl]=\"inputFormControl\"\n [matDatepicker]=\"calendar\"\n placeholder=\"{{ placeholder }}\"\n (dateInput)=\"onDateInput($event)\"\n (dateChange)=\"onDateChange($event)\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [matDatepickerFilter]=\"datepickerFilter\"\n (click)=\"isShownOnInputClick? openCalendar(): null\"\n autocomplete=\"off\"\n aria-label=\"Date Input Field\"\n (keypress)=\"onKeypress($event)\"\n (focusout)=\"onFocusOut()\"\n (change)=\"isDatetimepicker ? changedInput($event) : null\" />\n <mat-datepicker\n #calendar\n panelClass=\"mat-calendar-{{ type }}\"\n [startView]=\"type === 'regular' ? (startView ? startView : convTypeToStartView(type)) : convTypeToStartView(type)\"\n (yearSelected)=\"type === 'year' ? chosenDateHandler($event, calendar) : null\"\n (monthSelected)=\"type === 'month' ? chosenDateHandler($event, calendar) : null\"\n [touchUi]=\"breakpointsValue.isTablet || breakpointsValue.isMobile\"\n [panelClass]=\"isDatetimepicker ? 'eui-datepicker--container-height-large' : null\"\n [disabled]=\"isPickerDisabled\"\n [calendarHeaderComponent]=\"customHeader\"\n [dateClass]=\"dateClass\"\n (opened)=\"onOpened()\">\n </mat-datepicker>\n @if (!hasNoButton && showDateButton) {\n <button\n (click)=\"openCalendar()\"\n euiButton\n type=\"button\"\n euiSecondary\n [euiIconButton]=\"!togglerLabel\"\n [euiDisabled]=\"isButtonDisabled\"\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 </div>\n</div>\n\n\n<ng-template #templatePortalRef>\n <ng-content select=\"eui-action-buttons\" />\n</ng-template>\n", styles: [".eui-19 .eui-datepicker{display:flex}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) .eui-input-group-addon{width:unset!important}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input{border-bottom-right-radius:0;border-top-right-radius:0;width:calc(8.5 * var(--eui-s-m))}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-input-text--clearable{width:calc(9 * var(--eui-s-m))}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--long-format{width:calc(12.5 * var(--eui-s-m))}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--block{width:100%}.eui-19 .eui-datepicker:not(.eui-datepicker--responsive) input.eui-datepicker--no-button{border-bottom-right-radius:var(--eui-br-m);border-top-right-radius:var(--eui-br-m)}.eui-19 .eui-datepicker .eui-input-group{margin-bottom:0!important}.eui-19 .eui-datepicker--responsive{width:100%}.eui-19 .eui-datepicker--responsive .eui-input-group-addon{width:100%!important}.eui-19 .eui-datepicker--container-height-large{height:auto!important}.eui-19 .eui-datepicker__action-buttons{display:flex;justify-content:flex-end;align-items:center;padding:0 var(--eui-s-xs) var(--eui-s-xs) var(--eui-s-xs)}.eui-19 .eui-datepicker__actions-cancel-button{margin-right:var(--eui-s-m)}.eui-19 .mat-calendar.mat-calendar-year .mat-calendar-period-button{display:none}.eui-19 .mat-datepicker-dialog .mat-datepicker-content-touch{max-height:none}.eui-19 .mat-datepicker-content-touch .mat-datepicker-content-container{height:auto!important;max-height:fit-content!important}.eui-19 .mat-mdc-icon-button:disabled{color:var(--eui-c-neutral-lighter)!important}.eui-19 .eui-datepicker--primary input{background-color:var(--eui-c-s-primary-surface-light)}.eui-19 .eui-datepicker--secondary input{background-color:var(--eui-c-s-secondary)}.eui-19 .eui-datepicker--info input{background-color:var(--eui-c-s-info-surface-light)}.eui-19 .eui-datepicker--success input{background-color:var(--eui-c-s-success-surface-light)}.eui-19 .eui-datepicker--warning input{background-color:var(--eui-c-s-warning-surface-light)}.eui-19 .eui-datepicker--danger input{background-color:var(--eui-c-s-danger-surface-light)}.eui-19 .eui-datepicker--accent input{background-color:var(--eui-c-s-accent-surface-light)}\n"] }]
783
- }], ctorParameters: () => [{ type: i1.DateAdapter }, { type: i2.TranslateService }, { type: i3.LocaleService }, { type: i3.EuiAppShellService }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i0.ApplicationRef }, { type: i0.ViewContainerRef }, { type: i4.BaseStatesDirective }, { type: EuiLetterFormatDirective, decorators: [{
784
- type: Optional
785
- }, {
786
- type: Inject,
787
- args: [forwardRef(() => EuiLetterFormatDirective)]
788
- }] }, { type: i5.NgControl, decorators: [{
789
- type: Self
790
- }, {
791
- type: Optional
792
- }] }], propDecorators: { cssClasses: [{
773
+ }], ctorParameters: () => [], propDecorators: { cssClasses: [{
793
774
  type: HostBinding,
794
775
  args: ['class']
795
776
  }], e2eAttr: [{