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

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.
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-datepicker.mjs","sources":["../../eui-datepicker/eui-datepicker.component.ts","../../eui-datepicker/eui-datepicker.component.html","../../eui-datepicker/eui-datepicker.module.ts","../../eui-datepicker/eui-datepicker.validators.ts","../../eui-datepicker/index.ts","../../eui-datepicker/eui-components-eui-datepicker.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n ApplicationRef,\n Component,\n EventEmitter,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n DoCheck,\n OnInit,\n Output,\n SimpleChanges,\n StaticProvider,\n ViewChild,\n ViewEncapsulation,\n Directive,\n forwardRef,\n HostBinding,\n ContentChild,\n AfterViewInit,\n TemplateRef,\n ViewContainerRef,\n ComponentRef,\n booleanAttribute,\n inject,\n ElementRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormsModule,\n NgControl,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { DateAdapter, MatDateFormats, MAT_DATE_FORMATS } from '@angular/material/core';\nimport {\n MatCalendarCellClassFunction,\n MatDatepicker,\n MatDatepickerInputEvent,\n MatDatepickerModule,\n} from '@angular/material/datepicker';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { ComponentPortal, DomPortalOutlet, TemplatePortal } from '@angular/cdk/portal';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport _moment, { Moment } from 'moment';\nimport { default as _rollupMoment } from 'moment';\nimport 'moment/min/locales';\n\nimport { EUI_TIMEPICKER, EuiTimepickerComponent, EuiDateTimePickerConfig } from '@eui/components/eui-timepicker';\nimport { DYNAMIC_COMPONENT_CONFIG, LocaleService, EuiAppShellService, uniqueId } from '@eui/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\nimport { EUI_INPUT_GROUP } from '@eui/components/eui-input-group';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\n\nconst moment = _rollupMoment || _moment;\n\n@Component({\n selector: 'eui-datepicker',\n templateUrl: './eui-datepicker.component.html',\n styleUrl: './eui-datepicker.scss',\n encapsulation: ViewEncapsulation.None,\n imports: [\n MatDatepickerModule,\n FormsModule,\n\n ReactiveFormsModule,\n TranslateModule,\n MatMomentDateModule,\n ...EUI_INPUT_TEXT,\n ...EUI_INPUT_GROUP,\n ...EUI_BUTTON,\n ...EUI_ICON,\n ],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiSuccess',\n 'euiInfo',\n 'euiWarning',\n 'euiDanger',\n 'euiVariant',\n ],\n },\n ],\n})\nexport class EuiDatepickerComponent implements OnInit, AfterViewInit, ControlValueAccessor, OnDestroy, OnChanges, DoCheck {\n baseStatesDirective = inject(BaseStatesDirective);\n euiLetterFormat = inject(EuiLetterFormatDirective, { optional: true })!;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-datepicker'),\n this.isDatepickerBlock ? 'eui-datepicker--responsive' : '',\n ].join(' ').trim();\n }\n\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-datepicker';\n\n public inputFormControl = new FormControl();\n public breakpointsValue: any = {\n isMobile: false,\n isTablet: false,\n isLtDesktop: false,\n isDesktop: false,\n isXL: false,\n isXXL: false,\n };\n showDateButton = true;\n timePickerInstance: EuiTimepickerComponent;\n @ViewChild('calendar', { static: true }) calendar: MatDatepicker<any>;\n @ViewChild('templatePortalRef') templatePortalRef: TemplateRef<EuiActionButtonsDirective>;\n @ViewChild('input', { read: ElementRef }) public inputRef: ElementRef<HTMLInputElement>; //used to access the input raw value trough reference\n\n @ContentChild(forwardRef(() => EuiActionButtonsDirective)) euiActionButtons: EuiActionButtonsDirective;\n /**\n * Event emitted when there is a change in the input value.\n */\n @Output() inputChange = new EventEmitter<any>();\n /**\n * Event emitted upon date selection.\n */\n @Output() dateSelect = new EventEmitter<any>();\n /**\n * Sets the default value of the input field.\n */\n @Input() value: any;\n /**\n * Sets the svg icon for the calendar toggler button.\n * @default 'eui-calendar-outline'\n */\n @Input() togglerIconSvg = 'eui-calendar-outline';\n /**\n * Sets the name of the calendar toggler button label.\n * @type {string}\n */\n @Input() togglerLabel: string;\n /**\n * Sets the placeholder of the input field.\n * @type {string}\n */\n @Input() placeholder: string;\n /**\n * Sets the type of the calendar.\n * @type {('year' | 'month' | 'regular')}\n * @default 'regular'\n */\n @Input() type: 'year' | 'month' | 'regular' = 'regular';\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';\n /**\n * Sets minimum date in the calendar.\n */\n @Input() minDate: any;\n /**\n * Sets maximum date in the calendar.\n */\n @Input() maxDate: any;\n /**\n * Provides date validation based on the boolean value returned from the function.\n * @param {any} d - The date type which is chosen by the adapter used.\n * @returns {boolean} - Returns true if the date is valid, otherwise false.\n */\n @Input() datepickerFilter: (d: any) => boolean = this.datepickerFiltering;\n /**\n * Sets the date output format.\n * @type {string}\n */\n @Input() dateOutputFormat: string;\n /**\n * Option to replace the current calendar header by a new one specified through a component class.\n */\n @Input() customHeader: any;\n /**\n * Option to apply one or more css classes to some dates in the calendar.\n * @type {MatCalendarCellClassFunction<any>}\n */\n @Input() dateClass: MatCalendarCellClassFunction<any>;\n /**\n * Sets the step for increasing/decreasing hours.\n * @default 1\n */\n @Input() stepHours = 1;\n /**\n * Sets the step for increasing/decreasing minutes.\n * @default 1\n */\n @Input() stepMinutes = 1;\n /**\n * Sets the step for increasing/decreasing seconds.\n * @default 1\n */\n @Input() stepSeconds = 1;\n /**\n * Sets a unique id for the input field.\n * @default 'eui-datepicker-<uniqueId>'\n */\n @Input() inputId = `eui-datepicker-${uniqueId()}`;\n /**\n * Option to inject timepicker into the calendar.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDatetimepicker = false;\n /**\n * Option for adding seconds in the calendar timepicker view.\n * @default false\n */\n @Input({ transform: booleanAttribute }) hasSeconds = false;\n /**\n * Option for enabling a one input field timepicker in the calendar.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isOneInputField = false;\n /**\n * Option for hiding the calendar button.\n * @default false\n */\n @Input({ transform: booleanAttribute }) hasNoButton = false;\n /**\n * Option for making the input field responsive.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDatepickerBlock = false;\n /**\n * Option for making the input field read-only.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isReadOnly = false;\n /**\n * Option for disabling the whole component.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDisabled = false;\n /**\n * Option for disabling only the input field.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isInputDisabled = false;\n /**\n * Option for disabling only the trigger button.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isButtonDisabled = false;\n /**\n * Option for disabling the calendar picker.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isPickerDisabled = false;\n /**\n * Option for opening the calendar upon clicking in the input field.\n * @default true\n */\n @Input({ transform: booleanAttribute }) isShownOnInputClick = true;\n /**\n * Sets the clearable attribute for the input field when read-only is false.\n * @default false\n */\n @Input()\n get isClearable(): boolean {\n return this._isClearable && !this.isReadOnly;\n }\n set isClearable(value: BooleanInput) {\n this._isClearable = coerceBooleanProperty(value);\n }\n private _isClearable = false;\n /**\n * Option for restricting the input value to a specific regex pattern.\n * @type {string | RegExp}\n * @default null\n */\n @Input()\n get restrictToRegex(): RegExp {\n return this._restrictToRegex;\n }\n set restrictToRegex(value: string | RegExp) {\n try {\n if (value instanceof RegExp) {\n this._restrictToRegex = value;\n } else if (typeof value === 'string') {\n this._restrictToRegex = new RegExp(value);\n } else {\n throw new Error(`restrictToRegex can only be string or RegExp, it cannot be ${typeof value}`);\n }\n } catch (e) {\n console.error(e);\n }\n }\n private _restrictToRegex: RegExp;\n\n protected hasAriaRequiredAttribute: boolean;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private format: MatDateFormats = inject(MAT_DATE_FORMATS, { optional: true });\n private portalHost: DomPortalOutlet;\n private portal: ComponentPortal<EuiTimepickerComponent>;\n private templatePortal: TemplatePortal<EuiActionButtonsDirective>;\n private isNull = false;\n private adapter = inject<DateAdapter<any>>(DateAdapter);\n private translateService = inject(TranslateService);\n private localeService = inject(LocaleService);\n private EuiAppShellService = inject(EuiAppShellService);\n private injector = inject(Injector);\n private appRef = inject(ApplicationRef);\n private viewContainerRef = inject(ViewContainerRef);\n private control = inject(NgControl, { self: true, optional: true })!;\n\n constructor() {\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n this.inputFormControl.setValue(this.value);\n // eslint-disable-next-line\n this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n\n this.localeService\n .getState()\n .pipe(takeUntil(this.destroy$))\n .subscribe((state) => {\n this.adapter.setLocale(state.id);\n });\n\n if (this.isDatetimepicker && (this.minDate || this.maxDate)) {\n this.inputFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.checkTimePickerValidity();\n });\n }\n\n if (!this.placeholder) {\n if (this.type === 'regular' && !this.isDatetimepicker) {\n this.translateService\n .stream('eui.datepicker.PLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.placeholder = result;\n });\n } else if (this.type === 'regular' && this.isDatetimepicker) {\n this.translateService\n .stream('eui.datepicker.ISDATETIMEPICKER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.placeholder = result;\n });\n } else if (this.type === 'year') {\n this.translateService\n .stream('eui.datepicker.YEAR-PLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.placeholder = result;\n });\n } else if (this.type === 'month') {\n this.translateService\n .stream('eui.datepicker.MONTH-PLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.placeholder = result;\n });\n }\n }\n\n this.EuiAppShellService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe((bkps) => (this.breakpointsValue = bkps));\n\n this.updateInputAriaRequiredAttribute(this.control);\n this.control?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.updateInputAriaRequiredAttribute(this.control);\n });\n }\n\n ngAfterViewInit(): void {\n if (this.euiActionButtons) {\n this.templatePortal = new TemplatePortal(this.templatePortalRef, this.viewContainerRef);\n }\n\n if (this.isDatetimepicker || this.euiActionButtons) {\n this.calendar['closeCalendar'] = this.calendar.close;\n this.calendar.close = (): boolean => false;\n }\n }\n\n ngDoCheck(): void {\n if (this.control) {\n // marks the input control as touched/invalid if the form control is touched/invalid\n // eslint-disable-next-line\n this.control?.touched ? this.inputFormControl.markAsTouched() : this.inputFormControl.markAsUntouched();\n // eslint-disable-next-line\n this.control?.invalid ? this.inputFormControl.setErrors(this.control.errors) : this.inputFormControl.setErrors(null);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['isReadOnly']) {\n if (this.isReadOnly) {\n this.showDateButton = false;\n } else {\n this.showDateButton = true;\n }\n }\n\n if (changes && changes['isDisabled']) {\n this.setDisabledState(this.isDisabled);\n }\n\n if (changes && changes['value']) {\n this.inputFormControl.setValue(this.value);\n } else {\n if (this.dateOutputFormat && this.value) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n }\n }\n\n if (changes && changes['isClearable']) {\n // when is clearable is used listen if onclear is fired and update the value\n if (this.isClearable) {\n this.inputChange.pipe(takeUntil(this.destroy$)).subscribe((event) => {\n if (event === null) {\n this.value = event;\n this.propagateChange(event);\n }\n });\n }\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 */\n 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 * Opens the calendar if read-only is false, listens to the keydown event when isDatetimepicker or euiActionButtons used\n * and creates the time config passed to the timepicker component.\n */\n openCalendar(): void {\n if (!this.isReadOnly) {\n this.calendar.open();\n\n if (this.isDatetimepicker || this.euiActionButtons) {\n this.calendar.opened = true;\n // listens to the keydown event once the calendar opened\n fromEvent<KeyboardEvent>(document, 'keydown')\n .pipe(takeUntil(this.destroy$))\n .subscribe((event: KeyboardEvent) => {\n switch (event.key) {\n case 'Escape': //closes the calendar on Escape\n this.closeCalendar();\n break;\n case 'Enter': {\n //closes the calendar if pressing Enter on the close calendar button only\n this.getEventPath(event).forEach((p: any) => {\n if (p.className && p.className.indexOf('mat-datepicker-close-button') !== -1) {\n this.closeCalendar();\n }\n });\n break;\n }\n }\n });\n }\n\n if (this.isDatetimepicker) {\n this.portalHost = new DomPortalOutlet(\n document.querySelector('mat-calendar'),\n null,\n this.appRef,\n this.injector,\n );\n const timeConfig: EuiDateTimePickerConfig = {\n hours: this.value && moment(this.value).hours(),\n mins: this.value && moment(this.value).minutes(),\n secs: this.value && moment(this.value).seconds(),\n isDatetimepicker: this.isDatetimepicker,\n hasSeconds: this.hasSeconds,\n isOneInputField: this.isOneInputField,\n stepHours: this.stepHours,\n stepMinutes: this.stepMinutes,\n stepSeconds: this.stepSeconds,\n callbackFn: (hours: number, mins: number, secs: number) => {\n if (this.euiActionButtons) {\n this.value = moment();\n }\n\n this.value =\n typeof this.value === 'string'\n ? moment(this.value, moment.ISO_8601)\n : moment(this.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: mins || 0,\n second: secs || 0,\n });\n\n if (!this.euiActionButtons) {\n this.inputFormControl.setValue(this.value);\n if (this.dateOutputFormat) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n } else {\n this.propagateChange(moment(this.value));\n }\n }\n },\n };\n\n this.portal = new ComponentPortal(EuiTimepickerComponent, null, this.createInjector(timeConfig));\n const componentRef: ComponentRef<EuiTimepickerComponent> = this.portalHost.attachComponentPortal(this.portal);\n this.timePickerInstance = componentRef.instance;\n }\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n\n this.portalHost?.detach();\n }\n\n /**\n * When calendar opens and isDatetimepicker or eui-action-buttons directive used, it closes the calendar when clicking outside of the\n * overlay. If eui-action-buttons directive is used it registers the template portal where the user can add projected content as a\n * footer.\n */\n onOpened(): void {\n if (this.isDatetimepicker || this.euiActionButtons) {\n if (this.euiActionButtons) {\n this.calendar.registerActions(this.templatePortal);\n }\n\n this.calendar['_overlayRef']['_pane'].classList.add('eui-19');\n\n this.calendar['_overlayRef']['_backdropClick'].pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.closeCalendar();\n });\n }\n }\n\n /**\n * Retrieves the event path for a given event. This method provides a fallback\n * for browsers that do not support the `event.path` property by constructing\n * the path manually.\n *\n * @param event - The event object of type `KeyboardEvent`.\n * @returns An array representing the event path, starting from the event target\n * and traversing up through its ancestors, ending with the `document`\n * and `window` objects.\n */\n getEventPath(event: KeyboardEvent): EventTarget[] {\n if (event.composedPath) {\n return event.composedPath();\n }\n\n // Fallback for browsers that do not support composedPath()\n const path: EventTarget[] = [];\n let target: EventTarget | null = event.target as EventTarget;\n\n while (target) {\n path.push(target);\n target = (target as HTMLElement).parentNode as EventTarget;\n }\n\n path.push(document, window);\n\n return path;\n }\n /**\n * Fires when the type of the calendar is either month or year,\n * formats the date if dateOutputFormat used\n * emits and propagates the selected date value\n * and closes the calendar.\n * @param normalizedDate - The selected date in the calendar.\n * @param calendar - The MatDatepicker instance.\n */\n chosenDateHandler(normalizedDate: any, calendar: MatDatepicker<any>): void {\n if (this.dateOutputFormat) {\n const formattedValue = moment(normalizedDate, this.dateOutputFormat);\n this.value = formattedValue;\n this.inputFormControl.setValue(formattedValue);\n\n this.propagateChange(formattedValue.format(this.dateOutputFormat));\n this.inputChange.emit(formattedValue.format(this.dateOutputFormat));\n this.dateSelect.emit(formattedValue.format(this.dateOutputFormat));\n } else {\n this.value = normalizedDate;\n this.inputFormControl.setValue(this.value);\n\n this.propagateChange(this.value);\n this.dateSelect.emit(this.value ? this.value : null);\n this.inputChange.emit(this.value ? this.value : null);\n }\n calendar.close();\n }\n /**\n * Method which returns true in order to mark the date as valid.\n * @returns {boolean} - Returns true if the date is valid.\n */\n public datepickerFiltering(): boolean {\n return true;\n }\n /**\n * Method which fires when the datepicker input value changes and applies logic when isDatetimepicker is false.\n * @param e - The MatDatepickerInputEvent object containing the new value.\n */\n public onDateInput(e: MatDatepickerInputEvent<Moment | Date | string>): void {\n if (!this.isDatetimepicker) {\n if (e.value === null) {\n this.propagateChange(null);\n this.inputChange.emit(null);\n } else if (this.dateOutputFormat) {\n this.value = moment(e.value, this.dateOutputFormat);\n this.propagateChange(this.value.format(this.dateOutputFormat));\n this.inputChange.emit(this.value.format(this.dateOutputFormat));\n } else {\n this.propagateChange(e.value);\n this.inputChange.emit(e?.value ? e.value : null);\n }\n this.propagateTouched();\n }\n }\n /**\n * Method which fires when there is a date change from the calendar popup,\n * formats, emits and propagates the new value also when isDatetimepicker true.\n * @param e - The MatDatepickerInputEvent object containing the new value.\n */\n public onDateChange(e: MatDatepickerInputEvent<Moment | Date | string>): void {\n if (e.value === null) {\n this.propagateChange(null);\n this.dateSelect.emit(null);\n this.isNull = true;\n } else {\n this.isNull = false;\n if (this.isDatetimepicker) {\n const hours = this.value && moment(this.value).hours();\n const mins = this.value && moment(this.value).minutes();\n const secs = this.value && moment(this.value).seconds();\n\n this.value = moment(e.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: mins || 0,\n second: secs || 0,\n });\n\n if (this.calendar.opened) {\n this.inputFormControl.setValue(this.value);\n }\n\n if (this.dateOutputFormat && this.value != null) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n } else {\n this.propagateChange(moment(this.value));\n }\n } else {\n if (this.dateOutputFormat) {\n this.value = moment(e.value, this.dateOutputFormat);\n this.dateSelect.emit(this.value.format(this.dateOutputFormat));\n } else {\n this.dateSelect.emit(e?.value ? e.value : null);\n }\n }\n }\n }\n /**\n * Method which fires when the input value changes and applies logic when isDatetimepicker true.\n * @param e - The new value of the input field.\n */\n changedInput(e: string | Event): void {\n const value = typeof e === 'string' ? e : (e.target as HTMLInputElement).value;\n if (!this.isNull) {\n this.value = moment(value, this.format.parse.dateInput);\n this.inputFormControl.setValue(this.value);\n if (this.dateOutputFormat && this.value != null) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n } else {\n this.propagateChange(moment(this.value));\n }\n }\n }\n /**\n * Method which fires when clearing the input field and emits/propagates the null value.\n */\n onClear(): void {\n this.dateSelect.emit(null);\n this.inputChange.emit(null);\n this.propagateChange(null);\n }\n /**\n * Method which fires upon keypress and opens the calendar if isShownOnInputClick is true and the Enter key is pressed.\n * Also if there is a restrictToRegex, it prevents the default action if the key is not matching the regex.\n * @param e - The KeyboardEvent object.\n */\n onKeypress(e: KeyboardEvent): void {\n if (e.key === 'Enter' && this.isShownOnInputClick) {\n this.openCalendar();\n e.preventDefault();\n }\n\n if (this._restrictToRegex) {\n if (!this._restrictToRegex.test(e.key)) {\n e.preventDefault();\n }\n }\n }\n\n /**\n * Selects today's date\n */\n selectToday(): void {\n this.inputFormControl.setValue(moment());\n }\n\n /**\n * Closes the calendar when isDatetimepicker or eui-action-buttons used and removes the applied footer when eui-action-buttons used\n */\n closeCalendar(): void {\n this.calendar['closeCalendar']();\n\n if (this.euiActionButtons) {\n this.calendar.removeActions(this.templatePortal);\n }\n }\n\n /**\n * When eui-action-buttons used, it applies the date selection and closes the calendar\n */\n onDateSelectApply(): void {\n this.calendar._applyPendingSelection();\n this.closeCalendar();\n }\n\n writeValue(value: any): void {\n this.value = value || '';\n this.inputFormControl.setValue(value);\n }\n\n registerOnChange(fn: () => void): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.propagateTouched = fn;\n }\n /**\n * Converts the type of the calendar to the corresponding start view.\n * @param type - The type of the calendar.\n * @returns {('year' | 'month' | 'multi-year')} - The start view of the calendar.\n */\n convTypeToStartView(type: string): 'year' | 'month' | 'multi-year' {\n switch (type) {\n case 'month':\n return 'year';\n case 'year':\n return 'multi-year';\n case 'regular':\n return 'month';\n }\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 (isDisabled) {\n // disables only the input through reactive forms\n if (this.isInputDisabled && !this.isPickerDisabled) {\n this.isInputDisabled = true;\n this.isButtonDisabled = this.isPickerDisabled = false;\n // disables only the button through reactive forms\n } else if (this.isButtonDisabled && !this.isInputDisabled) {\n this.isInputDisabled = false;\n this.isButtonDisabled = this.isPickerDisabled = true;\n } else {\n this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = true;\n }\n } else {\n this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = false;\n }\n\n // eslint-disable-next-line\n this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n }\n\n /**\n * Marks the form field as touched when focusing out to trigger validation\n */\n protected onFocusOut(): void {\n this.propagateTouched();\n }\n /**\n * Checks the validity of the time picker based on the minDate and maxDate properties.\n * If the value is outside the range, it adjusts the time picker values accordingly.\n */\n private checkTimePickerValidity(): void {\n if (this.minDate && (!moment(this.minDate).isBefore(this.value) || this.areSameDates(moment(this.value).toDate(), this.minDate))) {\n this.timePickerInstance.hoursDownDisable(true);\n this.timePickerInstance.minutesDownDisable(true);\n this.timePickerInstance.secondsDownDisable(true);\n\n if (!moment(this.minDate).isBefore(this.value)) {\n const hours = this.minDate.getHours();\n const minutes = this.minDate.getMinutes();\n const seconds = this.minDate.getSeconds();\n\n setTimeout(() => {\n this.timePickerInstance.hours = hours;\n this.timePickerInstance.mins = minutes;\n this.timePickerInstance.secs = seconds;\n });\n\n this.value = typeof this.value === 'string' ? moment(this.value, moment.ISO_8601) : moment(this.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: minutes || 0,\n second: seconds || 0,\n });\n }\n } else {\n this.timePickerInstance?.hoursDownDisable(false);\n this.timePickerInstance?.minutesDownDisable(false);\n this.timePickerInstance?.secondsDownDisable(false);\n }\n\n if (this.maxDate && (!moment(this.maxDate).isAfter(this.value) || this.areSameDates(moment(this.value).toDate(), this.maxDate))) {\n this.timePickerInstance.hoursUpDisable(true);\n this.timePickerInstance.minutesUpDisable(true);\n this.timePickerInstance.secondsUpDisable(true);\n\n if (!moment(this.maxDate).isAfter(this.value)) {\n const hours = this.maxDate.getHours();\n const minutes = this.maxDate.getMinutes();\n const seconds = this.maxDate.getSeconds();\n\n setTimeout(() => {\n this.timePickerInstance.hours = hours;\n this.timePickerInstance.mins = minutes;\n this.timePickerInstance.secs = seconds;\n });\n\n this.value = typeof this.value === 'string' ? moment(this.value, moment.ISO_8601) : moment(this.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: minutes || 0,\n second: seconds || 0,\n });\n }\n\n if (this.value.hour() === 0 && this.value.minute() === 0 && this.value.second() === 0 &&\n moment(this.maxDate).hour() === 0 && moment(this.maxDate).minute() === 0 && moment(this.maxDate).second() === 0) {\n this.timePickerInstance.hoursDownDisable(true);\n this.timePickerInstance.minutesDownDisable(true);\n this.timePickerInstance.secondsDownDisable(true);\n } else {\n this.timePickerInstance.hoursDownDisable(false);\n this.timePickerInstance.minutesDownDisable(false);\n this.timePickerInstance.secondsDownDisable(false);\n }\n } else {\n this.timePickerInstance.hoursUpDisable(false);\n this.timePickerInstance.minutesUpDisable(false);\n this.timePickerInstance.secondsUpDisable(false);\n }\n }\n /**\n * Compares two dates and checks if they are the same.\n * @param date1 - The first date to compare.\n * @param date2 - The second date to compare.\n * @returns {boolean} - Returns true if the dates are the same, otherwise false.\n */\n private areSameDates(date1: Date, date2: Date): boolean {\n return (\n date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getDate() === date2.getDate() &&\n date1.getHours() === date2.getHours() &&\n date1.getMinutes() === date2.getMinutes() &&\n date1.getSeconds() === date2.getSeconds()\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 * @private\n */\n private updateInputAriaRequiredAttribute(control: NgControl): void {\n this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n }\n}\n\nexport const LETTER_FORMAT = {\n parse: {\n dateInput: 'LL',\n },\n display: {\n dateInput: 'LL',\n monthYearLabel: 'LL',\n },\n};\n\nexport const YEAR_FORMAT = {\n parse: {\n dateInput: 'YYYY',\n },\n display: {\n dateInput: 'YYYY',\n monthYearLabel: 'YYYY',\n dateA11yLabel: 'YYYY',\n monthYearA11yLabel: 'YYYY',\n },\n};\n\nexport const MONTH_YEAR_FORMAT = {\n parse: {\n dateInput: 'MM/YYYY',\n },\n display: {\n dateInput: 'MM/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n@Directive({\n selector: '[euiLetterFormat]',\n providers: [{ provide: MAT_DATE_FORMATS, useValue: LETTER_FORMAT }],\n})\nexport class EuiLetterFormatDirective {}\n\n@Directive({\n selector: '[euiYearFormat]',\n providers: [{ provide: MAT_DATE_FORMATS, useValue: YEAR_FORMAT }],\n})\nexport class EuiYearFormatDirective {}\n\n@Directive({\n selector: '[euiMonthYearFormat]',\n providers: [{ provide: MAT_DATE_FORMATS, useValue: MONTH_YEAR_FORMAT }],\n})\nexport class EuiMonthYearFormatDirective {}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-action-buttons' })\nexport class EuiActionButtonsDirective {\n @HostBinding('class') class = 'eui-datepicker__action-buttons';\n }\n","<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","import { NgModule } from '@angular/core';\nimport { provideMomentDateAdapter } from '@angular/material-moment-adapter';\n\nimport {\n EuiActionButtonsDirective,\n EuiDatepickerComponent,\n EuiLetterFormatDirective,\n EuiMonthYearFormatDirective,\n EuiYearFormatDirective,\n} from './eui-datepicker.component';\n\nexport const DEFAULT_FORMATS = {\n parse: {\n dateInput: 'L',\n },\n display: {\n dateInput: 'L',\n monthYearLabel: 'MM/YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'LL',\n },\n};\n\n/**\n * @description\n * A module for the datepicker component. This module imports the\n *\n * @deprecated Use the {@link EUI_DATEPICKER} instead.\n */\n@NgModule({\n imports: [\n EuiDatepickerComponent,\n EuiLetterFormatDirective,\n EuiYearFormatDirective,\n EuiMonthYearFormatDirective,\n EuiActionButtonsDirective,\n ],\n exports: [\n EuiDatepickerComponent,\n EuiLetterFormatDirective,\n EuiYearFormatDirective,\n EuiMonthYearFormatDirective,\n EuiActionButtonsDirective,\n ],\n providers: [\n provideMomentDateAdapter(DEFAULT_FORMATS),\n ],\n})\nexport class EuiDatepickerModule {}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\n/**\n * @description\n * Validator that validates the date based on the provided format.\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 * `invalidDate` if the validation check fails, otherwise `null`.\n */\nexport const dateInputValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null =>\n control.value === null ? { invalidDate: true } : null;\n","import { EuiActionButtonsDirective, EuiDatepickerComponent, EuiLetterFormatDirective, EuiMonthYearFormatDirective, EuiYearFormatDirective } from './eui-datepicker.component';\n\nexport * from './eui-datepicker.module';\nexport * from './eui-datepicker.component';\nexport * from './eui-datepicker.validators';\n\nexport const EUI_DATEPICKER = [\n EuiDatepickerComponent,\n EuiLetterFormatDirective,\n EuiYearFormatDirective,\n EuiMonthYearFormatDirective,\n EuiActionButtonsDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_moment"],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-datepicker.mjs","sources":["../../eui-datepicker/eui-datepicker.component.ts","../../eui-datepicker/eui-datepicker.component.html","../../eui-datepicker/eui-datepicker.module.ts","../../eui-datepicker/eui-datepicker.validators.ts","../../eui-datepicker/index.ts","../../eui-datepicker/eui-components-eui-datepicker.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n ApplicationRef,\n Component,\n ComponentFactoryResolver,\n EventEmitter,\n Inject,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n DoCheck,\n OnInit,\n Optional,\n Output,\n Self,\n SimpleChanges,\n StaticProvider,\n ViewChild,\n ViewEncapsulation,\n Directive,\n forwardRef,\n HostBinding,\n ContentChild,\n AfterViewInit,\n TemplateRef,\n ViewContainerRef,\n ComponentRef,\n booleanAttribute,\n inject,\n ElementRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormsModule,\n NgControl,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { DateAdapter, MatDateFormats, MAT_DATE_FORMATS } from '@angular/material/core';\nimport {\n MatCalendarCellClassFunction,\n MatDatepicker,\n MatDatepickerInputEvent,\n MatDatepickerModule,\n} from '@angular/material/datepicker';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { ComponentPortal, DomPortalOutlet, TemplatePortal } from '@angular/cdk/portal';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport _moment, { Moment } from 'moment';\nimport { default as _rollupMoment } from 'moment';\nimport 'moment/min/locales';\n\nimport { EUI_TIMEPICKER, EuiTimepickerComponent, EuiDateTimePickerConfig } from '@eui/components/eui-timepicker';\nimport { DYNAMIC_COMPONENT_CONFIG, LocaleService, EuiAppShellService, uniqueId } from '@eui/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\nimport { EUI_INPUT_GROUP } from '@eui/components/eui-input-group';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\n\nconst moment = _rollupMoment || _moment;\n\n@Component({\n selector: 'eui-datepicker',\n templateUrl: './eui-datepicker.component.html',\n styleUrl: './eui-datepicker.scss',\n encapsulation: ViewEncapsulation.None,\n imports: [\n MatDatepickerModule,\n FormsModule,\n\n ReactiveFormsModule,\n TranslateModule,\n MatMomentDateModule,\n ...EUI_INPUT_TEXT,\n ...EUI_INPUT_GROUP,\n ...EUI_BUTTON,\n ...EUI_ICON,\n ...EUI_TIMEPICKER,\n ],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiSuccess',\n 'euiInfo',\n 'euiWarning',\n 'euiDanger',\n 'euiVariant',\n ],\n },\n ],\n})\nexport class EuiDatepickerComponent implements OnInit, AfterViewInit, ControlValueAccessor, OnDestroy, OnChanges, DoCheck {\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-datepicker'),\n this.isDatepickerBlock ? 'eui-datepicker--responsive' : '',\n ].join(' ').trim();\n }\n\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-datepicker';\n\n public inputFormControl = new FormControl();\n public breakpointsValue: any = {\n isMobile: false,\n isTablet: false,\n isLtDesktop: false,\n isDesktop: false,\n isXL: false,\n isXXL: false,\n };\n showDateButton = true;\n timePickerInstance: EuiTimepickerComponent;\n @ViewChild('calendar', { static: true }) calendar: MatDatepicker<any>;\n @ViewChild('templatePortalRef') templatePortalRef: TemplateRef<EuiActionButtonsDirective>;\n @ViewChild('input', { read: ElementRef }) public inputRef: ElementRef<HTMLInputElement>; //used to access the input raw value trough reference\n\n @ContentChild(forwardRef(() => EuiActionButtonsDirective)) euiActionButtons: EuiActionButtonsDirective;\n /**\n * Event emitted when there is a change in the input value.\n */\n @Output() inputChange = new EventEmitter<any>();\n /**\n * Event emitted upon date selection.\n */\n @Output() dateSelect = new EventEmitter<any>();\n /**\n * Sets the default value of the input field.\n */\n @Input() value: any;\n /**\n * Sets the svg icon for the calendar toggler button.\n * @default 'eui-calendar-outline'\n */\n @Input() togglerIconSvg = 'eui-calendar-outline';\n /**\n * Sets the name of the calendar toggler button label.\n * @type {string}\n */\n @Input() togglerLabel: string;\n /**\n * Sets the placeholder of the input field.\n * @type {string}\n */\n @Input() placeholder: string;\n /**\n * Sets the type of the calendar.\n * @type {('year' | 'month' | 'regular')}\n * @default 'regular'\n */\n @Input() type: 'year' | 'month' | 'regular' = 'regular';\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';\n /**\n * Sets minimum date in the calendar.\n */\n @Input() minDate: any;\n /**\n * Sets maximum date in the calendar.\n */\n @Input() maxDate: any;\n /**\n * Provides date validation based on the boolean value returned from the function.\n * @param {any} d - The date type which is chosen by the adapter used.\n * @returns {boolean} - Returns true if the date is valid, otherwise false.\n */\n @Input() datepickerFilter: (d: any) => boolean = this.datepickerFiltering;\n /**\n * Sets the date output format.\n * @type {string}\n */\n @Input() dateOutputFormat: string;\n /**\n * Option to replace the current calendar header by a new one specified through a component class.\n */\n @Input() customHeader: any;\n /**\n * Option to apply one or more css classes to some dates in the calendar.\n * @type {MatCalendarCellClassFunction<any>}\n */\n @Input() dateClass: MatCalendarCellClassFunction<any>;\n /**\n * Sets the step for increasing/decreasing hours.\n * @default 1\n */\n @Input() stepHours = 1;\n /**\n * Sets the step for increasing/decreasing minutes.\n * @default 1\n */\n @Input() stepMinutes = 1;\n /**\n * Sets the step for increasing/decreasing seconds.\n * @default 1\n */\n @Input() stepSeconds = 1;\n /**\n * Sets a unique id for the input field.\n * @default 'eui-datepicker-<uniqueId>'\n */\n @Input() inputId = `eui-datepicker-${uniqueId()}`;\n /**\n * Option to inject timepicker into the calendar.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDatetimepicker = false;\n /**\n * Option for adding seconds in the calendar timepicker view.\n * @default false\n */\n @Input({ transform: booleanAttribute }) hasSeconds = false;\n /**\n * Option for enabling a one input field timepicker in the calendar.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isOneInputField = false;\n /**\n * Option for hiding the calendar button.\n * @default false\n */\n @Input({ transform: booleanAttribute }) hasNoButton = false;\n /**\n * Option for making the input field responsive.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDatepickerBlock = false;\n /**\n * Option for making the input field read-only.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isReadOnly = false;\n /**\n * Option for disabling the whole component.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDisabled = false;\n /**\n * Option for disabling only the input field.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isInputDisabled = false;\n /**\n * Option for disabling only the trigger button.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isButtonDisabled = false;\n /**\n * Option for disabling the calendar picker.\n * @default false\n */\n @Input({ transform: booleanAttribute }) isPickerDisabled = false;\n /**\n * Option for opening the calendar upon clicking in the input field.\n * @default true\n */\n @Input({ transform: booleanAttribute }) isShownOnInputClick = true;\n /**\n * Sets the clearable attribute for the input field when read-only is false.\n * @default false\n */\n @Input()\n get isClearable(): boolean {\n return this._isClearable && !this.isReadOnly;\n }\n set isClearable(value: BooleanInput) {\n this._isClearable = coerceBooleanProperty(value);\n }\n private _isClearable = false;\n /**\n * Option for restricting the input value to a specific regex pattern.\n * @type {string | RegExp}\n * @default null\n */\n @Input()\n get restrictToRegex(): RegExp {\n return this._restrictToRegex;\n }\n set restrictToRegex(value: string | RegExp) {\n try {\n if (value instanceof RegExp) {\n this._restrictToRegex = value;\n } else if (typeof value === 'string') {\n this._restrictToRegex = new RegExp(value);\n } else {\n throw new Error(`restrictToRegex can only be string or RegExp, it cannot be ${typeof value}`);\n }\n } catch (e) {\n console.error(e);\n }\n }\n private _restrictToRegex: RegExp;\n\n protected hasAriaRequiredAttribute: boolean;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private format: MatDateFormats = inject(MAT_DATE_FORMATS, { optional: true });\n private portalHost: DomPortalOutlet;\n private portal: ComponentPortal<EuiTimepickerComponent>;\n private templatePortal: TemplatePortal<EuiActionButtonsDirective>;\n private isNull = false;\n\n constructor(\n private adapter: DateAdapter<any>,\n private translateService: TranslateService,\n private localeService: LocaleService,\n private EuiAppShellService: EuiAppShellService,\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 private viewContainerRef: ViewContainerRef,\n public baseStatesDirective: BaseStatesDirective,\n @Optional() @Inject(forwardRef(() => EuiLetterFormatDirective)) public euiLetterFormat: EuiLetterFormatDirective,\n @Self() @Optional() private control: NgControl,\n ) {\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n this.inputFormControl.setValue(this.value);\n // eslint-disable-next-line\n this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n\n this.localeService\n .getState()\n .pipe(takeUntil(this.destroy$))\n .subscribe((state) => {\n this.adapter.setLocale(state.id);\n });\n\n if (this.isDatetimepicker && (this.minDate || this.maxDate)) {\n this.inputFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.checkTimePickerValidity();\n });\n }\n\n if (!this.placeholder) {\n if (this.type === 'regular' && !this.isDatetimepicker) {\n this.translateService\n .stream('eui.datepicker.PLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.placeholder = result;\n });\n } else if (this.type === 'regular' && this.isDatetimepicker) {\n this.translateService\n .stream('eui.datepicker.ISDATETIMEPICKER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.placeholder = result;\n });\n } else if (this.type === 'year') {\n this.translateService\n .stream('eui.datepicker.YEAR-PLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.placeholder = result;\n });\n } else if (this.type === 'month') {\n this.translateService\n .stream('eui.datepicker.MONTH-PLACEHOLDER')\n .pipe(takeUntil(this.destroy$))\n .subscribe((result: string) => {\n this.placeholder = result;\n });\n }\n }\n\n this.EuiAppShellService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe((bkps) => (this.breakpointsValue = bkps));\n\n this.updateInputAriaRequiredAttribute(this.control);\n this.control?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.updateInputAriaRequiredAttribute(this.control);\n });\n }\n\n ngAfterViewInit(): void {\n if (this.euiActionButtons) {\n this.templatePortal = new TemplatePortal(this.templatePortalRef, this.viewContainerRef);\n }\n\n if (this.isDatetimepicker || this.euiActionButtons) {\n this.calendar['closeCalendar'] = this.calendar.close;\n this.calendar.close = (): boolean => false;\n }\n }\n\n ngDoCheck(): void {\n if (this.control) {\n // marks the input control as touched/invalid if the form control is touched/invalid\n // eslint-disable-next-line\n this.control?.touched ? this.inputFormControl.markAsTouched() : this.inputFormControl.markAsUntouched();\n // eslint-disable-next-line\n this.control?.invalid ? this.inputFormControl.setErrors(this.control.errors) : this.inputFormControl.setErrors(null);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['isReadOnly']) {\n if (this.isReadOnly) {\n this.showDateButton = false;\n } else {\n this.showDateButton = true;\n }\n }\n\n if (changes && changes['isDisabled']) {\n this.setDisabledState(this.isDisabled);\n }\n\n if (changes && changes['value']) {\n this.inputFormControl.setValue(this.value);\n } else {\n if (this.dateOutputFormat && this.value) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n }\n }\n\n if (changes && changes['isClearable']) {\n // when is clearable is used listen if onclear is fired and update the value\n if (this.isClearable) {\n this.inputChange.pipe(takeUntil(this.destroy$)).subscribe((event) => {\n if (event === null) {\n this.value = event;\n this.propagateChange(event);\n }\n });\n }\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 */\n 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 * Opens the calendar if read-only is false, listens to the keydown event when isDatetimepicker or euiActionButtons used\n * and creates the time config passed to the timepicker component.\n */\n openCalendar(): void {\n if (!this.isReadOnly) {\n this.calendar.open();\n\n if (this.isDatetimepicker || this.euiActionButtons) {\n this.calendar.opened = true;\n // listens to the keydown event once the calendar opened\n fromEvent<KeyboardEvent>(document, 'keydown')\n .pipe(takeUntil(this.destroy$))\n .subscribe((event: KeyboardEvent) => {\n switch (event.key) {\n case 'Escape': //closes the calendar on Escape\n this.closeCalendar();\n break;\n case 'Enter': {\n //closes the calendar if pressing Enter on the close calendar button only\n this.getEventPath(event).forEach((p: any) => {\n if (p.className && p.className.indexOf('mat-datepicker-close-button') !== -1) {\n this.closeCalendar();\n }\n });\n break;\n }\n }\n });\n }\n\n if (this.isDatetimepicker) {\n this.portalHost = new DomPortalOutlet(\n document.querySelector('mat-calendar'),\n null,\n this.appRef,\n this.injector,\n );\n const timeConfig: EuiDateTimePickerConfig = {\n hours: this.value && moment(this.value).hours(),\n mins: this.value && moment(this.value).minutes(),\n secs: this.value && moment(this.value).seconds(),\n isDatetimepicker: this.isDatetimepicker,\n hasSeconds: this.hasSeconds,\n isOneInputField: this.isOneInputField,\n stepHours: this.stepHours,\n stepMinutes: this.stepMinutes,\n stepSeconds: this.stepSeconds,\n callbackFn: (hours: number, mins: number, secs: number) => {\n if (this.euiActionButtons) {\n this.value = moment();\n }\n\n this.value =\n typeof this.value === 'string'\n ? moment(this.value, moment.ISO_8601)\n : moment(this.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: mins || 0,\n second: secs || 0,\n });\n\n if (!this.euiActionButtons) {\n this.inputFormControl.setValue(this.value);\n if (this.dateOutputFormat) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n } else {\n this.propagateChange(moment(this.value));\n }\n }\n },\n };\n\n this.portal = new ComponentPortal(EuiTimepickerComponent, null, this.createInjector(timeConfig));\n const componentRef: ComponentRef<EuiTimepickerComponent> = this.portalHost.attachComponentPortal(this.portal);\n this.timePickerInstance = componentRef.instance;\n }\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n\n this.portalHost?.detach();\n }\n\n /**\n * When calendar opens and isDatetimepicker or eui-action-buttons directive used, it closes the calendar when clicking outside of the\n * overlay. If eui-action-buttons directive is used it registers the template portal where the user can add projected content as a\n * footer.\n */\n onOpened(): void {\n if (this.isDatetimepicker || this.euiActionButtons) {\n if (this.euiActionButtons) {\n this.calendar.registerActions(this.templatePortal);\n }\n\n this.calendar['_overlayRef']['_pane'].classList.add('eui-19');\n\n this.calendar['_overlayRef']['_backdropClick'].pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.closeCalendar();\n });\n }\n }\n \n /**\n * Retrieves the event path for a given event. This method provides a fallback\n * for browsers that do not support the `event.path` property by constructing\n * the path manually.\n *\n * @param event - The event object of type `KeyboardEvent`.\n * @returns An array representing the event path, starting from the event target\n * and traversing up through its ancestors, ending with the `document`\n * and `window` objects.\n */\n getEventPath(event: KeyboardEvent): EventTarget[] {\n if (event.composedPath) {\n return event.composedPath();\n }\n \n // Fallback for browsers that do not support composedPath()\n const path: EventTarget[] = [];\n let target: EventTarget | null = event.target as EventTarget;\n \n while (target) {\n path.push(target);\n target = (target as HTMLElement).parentNode as EventTarget;\n }\n \n path.push(document, window);\n \n return path;\n }\n /**\n * Fires when the type of the calendar is either month or year,\n * formats the date if dateOutputFormat used\n * emits and propagates the selected date value\n * and closes the calendar.\n * @param normalizedDate - The selected date in the calendar.\n * @param calendar - The MatDatepicker instance.\n */\n chosenDateHandler(normalizedDate: any, calendar: MatDatepicker<any>): void {\n if (this.dateOutputFormat) {\n const formattedValue = moment(normalizedDate, this.dateOutputFormat);\n this.value = formattedValue;\n this.inputFormControl.setValue(formattedValue);\n\n this.propagateChange(formattedValue.format(this.dateOutputFormat));\n this.inputChange.emit(formattedValue.format(this.dateOutputFormat));\n this.dateSelect.emit(formattedValue.format(this.dateOutputFormat));\n } else {\n this.value = normalizedDate;\n this.inputFormControl.setValue(this.value);\n\n this.propagateChange(this.value);\n this.dateSelect.emit(this.value ? this.value : null);\n this.inputChange.emit(this.value ? this.value : null);\n }\n calendar.close();\n }\n /**\n * Method which returns true in order to mark the date as valid.\n * @returns {boolean} - Returns true if the date is valid.\n */\n public datepickerFiltering(): boolean {\n return true;\n }\n /**\n * Method which fires when the datepicker input value changes and applies logic when isDatetimepicker is false.\n * @param e - The MatDatepickerInputEvent object containing the new value.\n */\n public onDateInput(e: MatDatepickerInputEvent<Moment | Date | string>): void {\n if (!this.isDatetimepicker) {\n if (e.value === null) {\n this.propagateChange(null);\n this.inputChange.emit(null);\n } else if (this.dateOutputFormat) {\n this.value = moment(e.value, this.dateOutputFormat);\n this.propagateChange(this.value.format(this.dateOutputFormat));\n this.inputChange.emit(this.value.format(this.dateOutputFormat));\n } else {\n this.propagateChange(e.value);\n this.inputChange.emit(e?.value ? e.value : null);\n }\n this.propagateTouched();\n }\n }\n /**\n * Method which fires when there is a date change from the calendar popup,\n * formats, emits and propagates the new value also when isDatetimepicker true.\n * @param e - The MatDatepickerInputEvent object containing the new value.\n */\n public onDateChange(e: MatDatepickerInputEvent<Moment | Date | string>): void {\n if (e.value === null) {\n this.propagateChange(null);\n this.dateSelect.emit(null);\n this.isNull = true;\n } else {\n this.isNull = false;\n if (this.isDatetimepicker) {\n const hours = this.value && moment(this.value).hours();\n const mins = this.value && moment(this.value).minutes();\n const secs = this.value && moment(this.value).seconds();\n\n this.value = moment(e.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: mins || 0,\n second: secs || 0,\n });\n\n if (this.calendar.opened) {\n this.inputFormControl.setValue(this.value);\n }\n\n if (this.dateOutputFormat && this.value != null) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n } else {\n this.propagateChange(moment(this.value));\n }\n } else {\n if (this.dateOutputFormat) {\n this.value = moment(e.value, this.dateOutputFormat);\n this.dateSelect.emit(this.value.format(this.dateOutputFormat));\n } else {\n this.dateSelect.emit(e?.value ? e.value : null);\n }\n }\n }\n }\n /**\n * Method which fires when the input value changes and applies logic when isDatetimepicker true.\n * @param e - The new value of the input field.\n */\n changedInput(e: string | Event): void {\n const value = typeof e === 'string' ? e : (e.target as HTMLInputElement).value;\n if (!this.isNull) {\n this.value = moment(value, this.format.parse.dateInput);\n this.inputFormControl.setValue(this.value);\n if (this.dateOutputFormat && this.value != null) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n } else {\n this.propagateChange(moment(this.value));\n }\n }\n }\n /**\n * Method which fires when clearing the input field and emits/propagates the null value.\n */\n onClear(): void {\n this.dateSelect.emit(null);\n this.inputChange.emit(null);\n this.propagateChange(null);\n }\n /**\n * Method which fires upon keypress and opens the calendar if isShownOnInputClick is true and the Enter key is pressed.\n * Also if there is a restrictToRegex, it prevents the default action if the key is not matching the regex.\n * @param e - The KeyboardEvent object.\n */\n onKeypress(e: KeyboardEvent): void {\n if (e.key === 'Enter' && this.isShownOnInputClick) {\n this.openCalendar();\n e.preventDefault();\n }\n\n if (this._restrictToRegex) {\n if (!this._restrictToRegex.test(e.key)) {\n e.preventDefault();\n }\n }\n }\n\n /**\n * Selects today's date\n */\n selectToday(): void {\n this.inputFormControl.setValue(moment());\n }\n\n /**\n * Closes the calendar when isDatetimepicker or eui-action-buttons used and removes the applied footer when eui-action-buttons used\n */\n closeCalendar(): void {\n this.calendar['closeCalendar']();\n\n if (this.euiActionButtons) {\n this.calendar.removeActions(this.templatePortal);\n }\n }\n\n /**\n * When eui-action-buttons used, it applies the date selection and closes the calendar\n */\n onDateSelectApply(): void {\n this.calendar._applyPendingSelection();\n this.closeCalendar();\n }\n\n writeValue(value: any): void {\n this.value = value || '';\n this.inputFormControl.setValue(value);\n }\n\n registerOnChange(fn: () => void): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.propagateTouched = fn;\n }\n /**\n * Converts the type of the calendar to the corresponding start view.\n * @param type - The type of the calendar.\n * @returns {('year' | 'month' | 'multi-year')} - The start view of the calendar.\n */\n convTypeToStartView(type: string): 'year' | 'month' | 'multi-year' {\n switch (type) {\n case 'month':\n return 'year';\n case 'year':\n return 'multi-year';\n case 'regular':\n return 'month';\n }\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 (isDisabled) {\n // disables only the input through reactive forms\n if (this.isInputDisabled && !this.isPickerDisabled) {\n this.isInputDisabled = true;\n this.isButtonDisabled = this.isPickerDisabled = false;\n // disables only the button through reactive forms\n } else if (this.isButtonDisabled && !this.isInputDisabled) {\n this.isInputDisabled = false;\n this.isButtonDisabled = this.isPickerDisabled = true;\n } else {\n this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = true;\n }\n } else {\n this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = false;\n }\n\n // eslint-disable-next-line\n this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n }\n\n /**\n * Marks the form field as touched when focusing out to trigger validation\n */\n protected onFocusOut(): void {\n this.propagateTouched();\n }\n /**\n * Checks the validity of the time picker based on the minDate and maxDate properties.\n * If the value is outside the range, it adjusts the time picker values accordingly.\n */\n private checkTimePickerValidity(): void {\n if (this.minDate && (!moment(this.minDate).isBefore(this.value) || this.areSameDates(moment(this.value).toDate(), this.minDate))) {\n this.timePickerInstance.hoursDownDisable(true);\n this.timePickerInstance.minutesDownDisable(true);\n this.timePickerInstance.secondsDownDisable(true);\n\n if (!moment(this.minDate).isBefore(this.value)) {\n const hours = this.minDate.getHours();\n const minutes = this.minDate.getMinutes();\n const seconds = this.minDate.getSeconds();\n\n setTimeout(() => {\n this.timePickerInstance.hours = hours;\n this.timePickerInstance.mins = minutes;\n this.timePickerInstance.secs = seconds;\n });\n\n this.value = typeof this.value === 'string' ? moment(this.value, moment.ISO_8601) : moment(this.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: minutes || 0,\n second: seconds || 0,\n });\n }\n } else {\n this.timePickerInstance?.hoursDownDisable(false);\n this.timePickerInstance?.minutesDownDisable(false);\n this.timePickerInstance?.secondsDownDisable(false);\n }\n\n if (this.maxDate && (!moment(this.maxDate).isAfter(this.value) || this.areSameDates(moment(this.value).toDate(), this.maxDate))) {\n this.timePickerInstance.hoursUpDisable(true);\n this.timePickerInstance.minutesUpDisable(true);\n this.timePickerInstance.secondsUpDisable(true);\n\n if (!moment(this.maxDate).isAfter(this.value)) {\n const hours = this.maxDate.getHours();\n const minutes = this.maxDate.getMinutes();\n const seconds = this.maxDate.getSeconds();\n\n setTimeout(() => {\n this.timePickerInstance.hours = hours;\n this.timePickerInstance.mins = minutes;\n this.timePickerInstance.secs = seconds;\n });\n\n this.value = typeof this.value === 'string' ? moment(this.value, moment.ISO_8601) : moment(this.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: minutes || 0,\n second: seconds || 0,\n });\n }\n\n if (this.value.hour() === 0 && this.value.minute() === 0 && this.value.second() === 0 &&\n moment(this.maxDate).hour() === 0 && moment(this.maxDate).minute() === 0 && moment(this.maxDate).second() === 0) {\n this.timePickerInstance.hoursDownDisable(true);\n this.timePickerInstance.minutesDownDisable(true);\n this.timePickerInstance.secondsDownDisable(true);\n } else {\n this.timePickerInstance.hoursDownDisable(false);\n this.timePickerInstance.minutesDownDisable(false);\n this.timePickerInstance.secondsDownDisable(false);\n }\n } else {\n this.timePickerInstance.hoursUpDisable(false);\n this.timePickerInstance.minutesUpDisable(false);\n this.timePickerInstance.secondsUpDisable(false);\n }\n }\n /**\n * Compares two dates and checks if they are the same.\n * @param date1 - The first date to compare.\n * @param date2 - The second date to compare.\n * @returns {boolean} - Returns true if the dates are the same, otherwise false.\n */\n private areSameDates(date1: Date, date2: Date): boolean {\n return (\n date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getDate() === date2.getDate() &&\n date1.getHours() === date2.getHours() &&\n date1.getMinutes() === date2.getMinutes() &&\n date1.getSeconds() === date2.getSeconds()\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 * @private\n */\n private updateInputAriaRequiredAttribute(control: NgControl): void {\n this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n }\n}\n\nexport const LETTER_FORMAT = {\n parse: {\n dateInput: 'LL',\n },\n display: {\n dateInput: 'LL',\n monthYearLabel: 'LL',\n },\n};\n\nexport const YEAR_FORMAT = {\n parse: {\n dateInput: 'YYYY',\n },\n display: {\n dateInput: 'YYYY',\n monthYearLabel: 'YYYY',\n dateA11yLabel: 'YYYY',\n monthYearA11yLabel: 'YYYY',\n },\n};\n\nexport const MONTH_YEAR_FORMAT = {\n parse: {\n dateInput: 'MM/YYYY',\n },\n display: {\n dateInput: 'MM/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n@Directive({\n selector: '[euiLetterFormat]',\n providers: [{ provide: MAT_DATE_FORMATS, useValue: LETTER_FORMAT }],\n})\nexport class EuiLetterFormatDirective {}\n\n@Directive({\n selector: '[euiYearFormat]',\n providers: [{ provide: MAT_DATE_FORMATS, useValue: YEAR_FORMAT }],\n})\nexport class EuiYearFormatDirective {}\n\n@Directive({\n selector: '[euiMonthYearFormat]',\n providers: [{ provide: MAT_DATE_FORMATS, useValue: MONTH_YEAR_FORMAT }],\n})\nexport class EuiMonthYearFormatDirective {}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-action-buttons' })\nexport class EuiActionButtonsDirective {\n @HostBinding('class') class = 'eui-datepicker__action-buttons';\n }","<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","import { NgModule } from '@angular/core';\nimport { provideMomentDateAdapter } from '@angular/material-moment-adapter';\n\nimport {\n EuiActionButtonsDirective,\n EuiDatepickerComponent,\n EuiLetterFormatDirective,\n EuiMonthYearFormatDirective,\n EuiYearFormatDirective,\n} from './eui-datepicker.component';\n\nexport const DEFAULT_FORMATS = {\n parse: {\n dateInput: 'L',\n },\n display: {\n dateInput: 'L',\n monthYearLabel: 'MM/YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'LL',\n },\n};\n\n/**\n * @description\n * A module for the datepicker component. This module imports the\n *\n * @deprecated Use the {@link EUI_DATEPICKER} instead.\n */\n@NgModule({\n imports: [\n EuiDatepickerComponent,\n EuiLetterFormatDirective,\n EuiYearFormatDirective,\n EuiMonthYearFormatDirective,\n EuiActionButtonsDirective,\n ],\n exports: [\n EuiDatepickerComponent,\n EuiLetterFormatDirective,\n EuiYearFormatDirective,\n EuiMonthYearFormatDirective,\n EuiActionButtonsDirective,\n ],\n providers: [\n provideMomentDateAdapter(DEFAULT_FORMATS),\n ],\n})\nexport class EuiDatepickerModule {}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\n/**\n * @description\n * Validator that validates the date based on the provided format.\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 * `invalidDate` if the validation check fails, otherwise `null`.\n */\nexport const dateInputValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null =>\n control.value === null ? { invalidDate: true } : null;\n","import { EuiActionButtonsDirective, EuiDatepickerComponent, EuiLetterFormatDirective, EuiMonthYearFormatDirective, EuiYearFormatDirective } from './eui-datepicker.component';\n\nexport * from './eui-datepicker.module';\nexport * from './eui-datepicker.component';\nexport * from './eui-datepicker.validators';\n\nexport const EUI_DATEPICKER = [\n EuiDatepickerComponent,\n EuiLetterFormatDirective,\n EuiYearFormatDirective,\n EuiMonthYearFormatDirective,\n EuiActionButtonsDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_moment"],"mappings":"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"}
@@ -24,6 +24,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
24
24
  name: 'euiTruncate',
25
25
  }]
26
26
  }] });
27
+ /**
28
+ * @description
29
+ * Module that provides the EuiTruncatePipe pipe.
30
+ *
31
+ * @deprecated Use {@link EuiTruncatePipe} instead.
32
+ */
27
33
  class EuiTruncatePipeModule {
28
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: EuiTruncatePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
29
35
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.9", ngImport: i0, type: EuiTruncatePipeModule, imports: [EuiTruncatePipe], exports: [EuiTruncatePipe] }); }
@@ -51,6 +57,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
51
57
  pure: true,
52
58
  }]
53
59
  }] });
60
+ /**
61
+ * @description
62
+ * Module that provides the EuiCoerceBooleanPipe pipe.
63
+ *
64
+ * @deprecated Use {@link EuiCoerceBooleanPipe} instead.
65
+ */
54
66
  class EuiCoerceBooleanPipeModule {
55
67
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: EuiCoerceBooleanPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
56
68
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.9", ngImport: i0, type: EuiCoerceBooleanPipeModule, imports: [EuiCoerceBooleanPipe], exports: [EuiCoerceBooleanPipe] }); }
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-pipes.mjs","sources":["../../pipes/eui-truncate.pipe.ts","../../pipes/eui-is-empty.pipe.ts","../../pipes/eui-components-pipes.ts"],"sourcesContent":["import { Pipe, PipeTransform, NgModule } from '@angular/core';\n\n@Pipe({\n name: 'euiTruncate',\n})\nexport class EuiTruncatePipe implements PipeTransform {\n transform(value: string, limit = 40, trail = '\\u2026'): string {\n if (value) {\n if (limit < 0) {\n limit *= -1;\n return value.length > limit ? trail + value.substring(value.length - limit, value.length) : value;\n } else {\n return value.length > limit ? value.substring(0, limit) + trail : value;\n }\n }\n return;\n }\n}\n\n@NgModule({\n imports: [EuiTruncatePipe],\n exports: [EuiTruncatePipe],\n})\nexport class EuiTruncatePipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\n@Pipe({\n name: 'coerceBool',\n pure: true,\n})\nexport class EuiCoerceBooleanPipe implements PipeTransform {\n transform(value: BooleanInput): boolean {\n return coerceBooleanProperty(value);\n }\n}\n\n@NgModule({\n imports: [EuiCoerceBooleanPipe],\n exports: [EuiCoerceBooleanPipe],\n})\nexport class EuiCoerceBooleanPipeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAKa,eAAe,CAAA;IACxB,SAAS,CAAC,KAAa,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,QAAQ,EAAA;QACjD,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,KAAK,GAAG,CAAC,EAAE;gBACX,KAAK,IAAI,CAAC,CAAC;AACX,gBAAA,OAAO,KAAK,CAAC,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK;;iBAC9F;gBACH,OAAO,KAAK,CAAC,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK;;;QAG/E;;8GAVK,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,aAAa;AACtB,iBAAA;;MAmBY,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAArB,qBAAqB,EAAA,OAAA,EAAA,CAlBrB,eAAe,CAAA,EAAA,OAAA,EAAA,CAAf,eAAe,CAAA,EAAA,CAAA,CAAA;+GAkBf,qBAAqB,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,eAAe,CAAC;oBAC1B,OAAO,EAAE,CAAC,eAAe,CAAC;AAC7B,iBAAA;;;MCfY,oBAAoB,CAAA;AAC7B,IAAA,SAAS,CAAC,KAAmB,EAAA;AACzB,QAAA,OAAO,qBAAqB,CAAC,KAAK,CAAC;;8GAF9B,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,IAAI,EAAE,IAAI;AACb,iBAAA;;MAWY,0BAA0B,CAAA;8GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAA1B,0BAA0B,EAAA,OAAA,EAAA,CAV1B,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAApB,oBAAoB,CAAA,EAAA,CAAA,CAAA;+GAUpB,0BAA0B,EAAA,CAAA,CAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAClC,iBAAA;;;AChBD;;AAEG;;;;"}
1
+ {"version":3,"file":"eui-components-pipes.mjs","sources":["../../pipes/eui-truncate.pipe.ts","../../pipes/eui-is-empty.pipe.ts","../../pipes/eui-components-pipes.ts"],"sourcesContent":["import { Pipe, PipeTransform, NgModule } from '@angular/core';\n\n@Pipe({\n name: 'euiTruncate',\n})\nexport class EuiTruncatePipe implements PipeTransform {\n transform(value: string, limit = 40, trail = '\\u2026'): string {\n if (value) {\n if (limit < 0) {\n limit *= -1;\n return value.length > limit ? trail + value.substring(value.length - limit, value.length) : value;\n } else {\n return value.length > limit ? value.substring(0, limit) + trail : value;\n }\n }\n return;\n }\n}\n\n/**\n * @description\n * Module that provides the EuiTruncatePipe pipe.\n *\n * @deprecated Use {@link EuiTruncatePipe} instead.\n */\n@NgModule({\n imports: [EuiTruncatePipe],\n exports: [EuiTruncatePipe],\n})\nexport class EuiTruncatePipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\n@Pipe({\n name: 'coerceBool',\n pure: true,\n})\nexport class EuiCoerceBooleanPipe implements PipeTransform {\n transform(value: BooleanInput): boolean {\n return coerceBooleanProperty(value);\n }\n}\n\n/**\n * @description\n * Module that provides the EuiCoerceBooleanPipe pipe.\n *\n * @deprecated Use {@link EuiCoerceBooleanPipe} instead.\n */\n@NgModule({\n imports: [EuiCoerceBooleanPipe],\n exports: [EuiCoerceBooleanPipe],\n})\nexport class EuiCoerceBooleanPipeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAKa,eAAe,CAAA;IACxB,SAAS,CAAC,KAAa,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,QAAQ,EAAA;QACjD,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,KAAK,GAAG,CAAC,EAAE;gBACX,KAAK,IAAI,CAAC,CAAC;AACX,gBAAA,OAAO,KAAK,CAAC,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK;;iBAC9F;gBACH,OAAO,KAAK,CAAC,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK;;;QAG/E;;8GAVK,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,aAAa;AACtB,iBAAA;;AAeD;;;;;AAKG;MAKU,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAArB,qBAAqB,EAAA,OAAA,EAAA,CAxBrB,eAAe,CAAA,EAAA,OAAA,EAAA,CAAf,eAAe,CAAA,EAAA,CAAA,CAAA;+GAwBf,qBAAqB,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,eAAe,CAAC;oBAC1B,OAAO,EAAE,CAAC,eAAe,CAAC;AAC7B,iBAAA;;;MCrBY,oBAAoB,CAAA;AAC7B,IAAA,SAAS,CAAC,KAAmB,EAAA;AACzB,QAAA,OAAO,qBAAqB,CAAC,KAAK,CAAC;;8GAF9B,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,IAAI,EAAE,IAAI;AACb,iBAAA;;AAOD;;;;;AAKG;MAKU,0BAA0B,CAAA;8GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAA1B,0BAA0B,EAAA,OAAA,EAAA,CAhB1B,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAApB,oBAAoB,CAAA,EAAA,CAAA,CAAA;+GAgBpB,0BAA0B,EAAA,CAAA,CAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAClC,iBAAA;;;ACtBD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eui/components",
3
- "version": "19.2.3-snapshot-1747400598528",
3
+ "version": "19.2.3-snapshot-1747408180222",
4
4
  "tag": "snapshot",
5
5
  "description": "eUI components package",
6
6
  "homepage": "https://eui.ecdevops.eu",
@@ -10,8 +10,8 @@
10
10
  "url": "https://citnet.tech.ec.europa.eu/CITnet/stash/projects/CSDR/repos/eui/browse/packages/components"
11
11
  },
12
12
  "peerDependencies": {
13
- "@eui/core": "19.2.3-snapshot-1747400598528",
14
- "@eui/base": "19.2.3-snapshot-1747400598528",
13
+ "@eui/core": "19.2.3-snapshot-1747408180222",
14
+ "@eui/base": "19.2.3-snapshot-1747408180222",
15
15
  "@angular/common": "^18.0.0 || ^19.0.0",
16
16
  "@angular/core": "^18.0.0 || ^19.0.0",
17
17
  "@angular/forms": "^18.0.0 || ^19.0.0",
@@ -6,6 +6,12 @@ export declare class EuiCoerceBooleanPipe implements PipeTransform {
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<EuiCoerceBooleanPipe, never>;
7
7
  static ɵpipe: i0.ɵɵPipeDeclaration<EuiCoerceBooleanPipe, "coerceBool", true>;
8
8
  }
9
+ /**
10
+ * @description
11
+ * Module that provides the EuiCoerceBooleanPipe pipe.
12
+ *
13
+ * @deprecated Use {@link EuiCoerceBooleanPipe} instead.
14
+ */
9
15
  export declare class EuiCoerceBooleanPipeModule {
10
16
  static ɵfac: i0.ɵɵFactoryDeclaration<EuiCoerceBooleanPipeModule, never>;
11
17
  static ɵmod: i0.ɵɵNgModuleDeclaration<EuiCoerceBooleanPipeModule, never, [typeof EuiCoerceBooleanPipe], [typeof EuiCoerceBooleanPipe]>;
@@ -1 +1 @@
1
- {"version":3,"file":"eui-is-empty.pipe.d.ts","sourceRoot":"","sources":["../../pipes/eui-is-empty.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAyB,MAAM,uBAAuB,CAAC;;AAE5E,qBAIa,oBAAqB,YAAW,aAAa;IACtD,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO;yCAD9B,oBAAoB;uCAApB,oBAAoB;CAIhC;AAED,qBAIa,0BAA0B;yCAA1B,0BAA0B;0CAA1B,0BAA0B,iBAV1B,oBAAoB,WAApB,oBAAoB;0CAUpB,0BAA0B;CAAG"}
1
+ {"version":3,"file":"eui-is-empty.pipe.d.ts","sourceRoot":"","sources":["../../pipes/eui-is-empty.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAyB,MAAM,uBAAuB,CAAC;;AAE5E,qBAIa,oBAAqB,YAAW,aAAa;IACtD,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO;yCAD9B,oBAAoB;uCAApB,oBAAoB;CAIhC;AAED;;;;;GAKG;AACH,qBAIa,0BAA0B;yCAA1B,0BAA0B;0CAA1B,0BAA0B,iBAhB1B,oBAAoB,WAApB,oBAAoB;0CAgBpB,0BAA0B;CAAG"}
@@ -5,6 +5,12 @@ export declare class EuiTruncatePipe implements PipeTransform {
5
5
  static ɵfac: i0.ɵɵFactoryDeclaration<EuiTruncatePipe, never>;
6
6
  static ɵpipe: i0.ɵɵPipeDeclaration<EuiTruncatePipe, "euiTruncate", true>;
7
7
  }
8
+ /**
9
+ * @description
10
+ * Module that provides the EuiTruncatePipe pipe.
11
+ *
12
+ * @deprecated Use {@link EuiTruncatePipe} instead.
13
+ */
8
14
  export declare class EuiTruncatePipeModule {
9
15
  static ɵfac: i0.ɵɵFactoryDeclaration<EuiTruncatePipeModule, never>;
10
16
  static ɵmod: i0.ɵɵNgModuleDeclaration<EuiTruncatePipeModule, never, [typeof EuiTruncatePipe], [typeof EuiTruncatePipe]>;
@@ -1 +1 @@
1
- {"version":3,"file":"eui-truncate.pipe.d.ts","sourceRoot":"","sources":["../../pipes/eui-truncate.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAY,MAAM,eAAe,CAAC;;AAE9D,qBAGa,eAAgB,YAAW,aAAa;IACjD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,KAAK,SAAW,GAAG,MAAM;yCADrD,eAAe;uCAAf,eAAe;CAY3B;AAED,qBAIa,qBAAqB;yCAArB,qBAAqB;0CAArB,qBAAqB,iBAlBrB,eAAe,WAAf,eAAe;0CAkBf,qBAAqB;CAAG"}
1
+ {"version":3,"file":"eui-truncate.pipe.d.ts","sourceRoot":"","sources":["../../pipes/eui-truncate.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAY,MAAM,eAAe,CAAC;;AAE9D,qBAGa,eAAgB,YAAW,aAAa;IACjD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,KAAK,SAAW,GAAG,MAAM;yCADrD,eAAe;uCAAf,eAAe;CAY3B;AAED;;;;;GAKG;AACH,qBAIa,qBAAqB;yCAArB,qBAAqB;0CAArB,qBAAqB,iBAxBrB,eAAe,WAAf,eAAe;0CAwBf,qBAAqB;CAAG"}