@eui/components 19.2.3-snapshot-1747334355458 → 19.2.3-snapshot-1747395391757
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/components/EuiButtonComponent.html +1 -1
- package/docs/components/EuiLanguageSelectorComponent.html +1 -1
- package/docs/dependencies.html +2 -2
- package/docs/directives/BaseStatesDirective.html +81 -0
- package/docs/js/menu-wc.js +3 -3
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/eui-button/eui-button.component.d.ts +1 -1
- package/eui-button/eui-button.component.d.ts.map +1 -1
- package/fesm2022/eui-components-eui-button.mjs +3 -2
- package/fesm2022/eui-components-eui-button.mjs.map +1 -1
- package/fesm2022/eui-components-eui-datepicker.mjs +2 -2
- package/fesm2022/eui-components-eui-datepicker.mjs.map +1 -1
- package/fesm2022/eui-components-eui-language-selector.mjs +2 -2
- package/fesm2022/eui-components-eui-language-selector.mjs.map +1 -1
- package/fesm2022/eui-components-shared.mjs +13 -1
- package/fesm2022/eui-components-shared.mjs.map +1 -1
- package/package.json +3 -3
- package/shared/base/base-states.directive.d.ts +4 -1
- package/shared/base/base-states.directive.d.ts.map +1 -1
| @@ -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    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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"}
         | 
| @@ -181,7 +181,7 @@ class EuiLanguageSelectorComponent { | |
| 181 181 | 
             
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: EuiLanguageSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
         | 
| 182 182 | 
             
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.9", type: EuiLanguageSelectorComponent, isStandalone: true, selector: "eui-language-selector", inputs: { hasLanguageSelection: ["hasLanguageSelection", "hasLanguageSelection", booleanAttribute], isToolbarSelector: ["isToolbarSelector", "isToolbarSelector", booleanAttribute], euiPrimary: ["euiPrimary", "euiPrimary", booleanAttribute], ariaLabel: ["aria-label", "ariaLabel"] }, outputs: { languageSelectorClick: "languageSelectorClick" }, host: { properties: { "class": "this.cssClasses" } }, providers: [
         | 
| 183 183 | 
             
                        EuiDialogService,
         | 
| 184 | 
            -
                    ], usesOnChanges: true, ngImport: i0, template: "@if (!hasLanguageSelection) {\n    <button class=\"eui-language-selector__button\"\n        euiButton | 
| 184 | 
            +
                    ], usesOnChanges: true, ngImport: i0, template: "@if (!hasLanguageSelection) {\n    <button class=\"eui-language-selector__button\"\n        euiButton\n        euiBasicButton\n        [euiBranding]=\"isToolbarSelector\"\n        (click)=\"onClick()\"\n        [attr.aria-label]=\"ariaLabel\">\n        <ng-template *ngTemplateOutlet=\"languageSelectorIcon\"></ng-template>\n        <span class=\"eui-language-selector__code\">{{ (appShellService.state$ | async).activeLanguage }}</span>\n    </button>\n\n} @else if (hasLanguageSelection && isShowDropDown) {\n    <eui-dropdown>\n        <button class=\"eui-language-selector__button\"\n            [attr.aria-label]=\"ariaLabel\"\n            euiButton\n            euiBasicButton\n            [euiBranding]=\"isToolbarSelector\">\n            <ng-template *ngTemplateOutlet=\"languageSelectorIcon\"></ng-template>\n            <span class=\"eui-language-selector__code\">{{ (appShellService.state$ | async).activeLanguage }}</span>\n        </button>\n\n        <eui-dropdown-content>\n            <div class=\"eui-language-selector-menu\">\n                @for (language of languages; track language) {\n                    <button\n                        euiDropdownItem\n                        attr.data-e2e=\"eui-language-selector-item_{{ language.code }}\"\n                        class=\"eui-language-selector-menu-language-item\"\n                        (click)=\"onLanguageChanged(language)\">\n                        {{ language.label }} ({{ language.code }})\n                    </button>\n                }\n            </div>\n        </eui-dropdown-content>\n    </eui-dropdown>\n\n} @else if (hasLanguageSelection && isShowModal) {\n    <button class=\"eui-language-selector__button\"\n        euiButton euiBasicButton\n        [euiPrimary]=\"isToolbarSelector\"\n        (click)=\"onOpen()\"\n        [attr.aria-label]=\"ariaLabel\">\n        <ng-template *ngTemplateOutlet=\"languageSelectorIcon\"></ng-template>\n        <span class=\"eui-language-selector__code\">{{ (appShellService.state$ | async).activeLanguage }}</span>\n    </button>\n}\n\n<ng-template #languageSelectorIcon>\n    <eui-icon-svg icon=\"eui-ecl-global\" />\n</ng-template>\n", styles: [".eui-19 .eui-language-selector{align-items:center;cursor:pointer;display:flex;position:relative}.eui-19 .eui-language-selector__button{padding-left:var(--eui-s-s);padding-right:var(--eui-s-s)}.eui-19 .eui-language-selector__code{text-transform:uppercase}.eui-19 .eui-language-selector-menu-language-item{padding:var(--eui-s-m);border-bottom:1px solid var(--eui-c-neutral-bg-light);text-align:center;cursor:pointer}.eui-19 .eui-language-selector-menu-language-item:hover{background:var(--eui-c-neutral-bg-light)}.eui-19 .eui-language-selector--empty{display:none}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$1.EuiDropdownComponent, selector: "eui-dropdown", inputs: ["e2eAttr", "tabIndex", "width", "height", "position", "subDropdownPosition", "isBlock", "isDropDownRightAligned", "hasClosedOnClickInside", "isLabelUpdatedFromSelectedItem", "isExpandOnHover", "hasTabNavigation", "isRightClickEnabled", "euiDisabled"], outputs: ["expand"] }, { kind: "component", type: i1$1.EuiDropdownItemComponent, selector: "eui-dropdown-item, [euiDropdownItem]", inputs: ["subDropdown", "isActive", "isFocus"] }, { kind: "directive", type: i1$1.EuiDropdownContentDirective, selector: "eui-dropdown-content" }, { kind: "component", type: i2.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i1.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiCTAButton", "euiBlockButton", "euiIconButton", "euiLineWrap", "isCompact", "hasNoFocusRing", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
         | 
| 185 185 | 
             
            }
         | 
| 186 186 | 
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: EuiLanguageSelectorComponent, decorators: [{
         | 
| 187 187 | 
             
                        type: Component,
         | 
| @@ -194,7 +194,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor | |
| 194 194 | 
             
                                    ...EUI_BUTTON,
         | 
| 195 195 | 
             
                                ], providers: [
         | 
| 196 196 | 
             
                                    EuiDialogService,
         | 
| 197 | 
            -
                                ], template: "@if (!hasLanguageSelection) {\n    <button class=\"eui-language-selector__button\"\n        euiButton | 
| 197 | 
            +
                                ], template: "@if (!hasLanguageSelection) {\n    <button class=\"eui-language-selector__button\"\n        euiButton\n        euiBasicButton\n        [euiBranding]=\"isToolbarSelector\"\n        (click)=\"onClick()\"\n        [attr.aria-label]=\"ariaLabel\">\n        <ng-template *ngTemplateOutlet=\"languageSelectorIcon\"></ng-template>\n        <span class=\"eui-language-selector__code\">{{ (appShellService.state$ | async).activeLanguage }}</span>\n    </button>\n\n} @else if (hasLanguageSelection && isShowDropDown) {\n    <eui-dropdown>\n        <button class=\"eui-language-selector__button\"\n            [attr.aria-label]=\"ariaLabel\"\n            euiButton\n            euiBasicButton\n            [euiBranding]=\"isToolbarSelector\">\n            <ng-template *ngTemplateOutlet=\"languageSelectorIcon\"></ng-template>\n            <span class=\"eui-language-selector__code\">{{ (appShellService.state$ | async).activeLanguage }}</span>\n        </button>\n\n        <eui-dropdown-content>\n            <div class=\"eui-language-selector-menu\">\n                @for (language of languages; track language) {\n                    <button\n                        euiDropdownItem\n                        attr.data-e2e=\"eui-language-selector-item_{{ language.code }}\"\n                        class=\"eui-language-selector-menu-language-item\"\n                        (click)=\"onLanguageChanged(language)\">\n                        {{ language.label }} ({{ language.code }})\n                    </button>\n                }\n            </div>\n        </eui-dropdown-content>\n    </eui-dropdown>\n\n} @else if (hasLanguageSelection && isShowModal) {\n    <button class=\"eui-language-selector__button\"\n        euiButton euiBasicButton\n        [euiPrimary]=\"isToolbarSelector\"\n        (click)=\"onOpen()\"\n        [attr.aria-label]=\"ariaLabel\">\n        <ng-template *ngTemplateOutlet=\"languageSelectorIcon\"></ng-template>\n        <span class=\"eui-language-selector__code\">{{ (appShellService.state$ | async).activeLanguage }}</span>\n    </button>\n}\n\n<ng-template #languageSelectorIcon>\n    <eui-icon-svg icon=\"eui-ecl-global\" />\n</ng-template>\n", styles: [".eui-19 .eui-language-selector{align-items:center;cursor:pointer;display:flex;position:relative}.eui-19 .eui-language-selector__button{padding-left:var(--eui-s-s);padding-right:var(--eui-s-s)}.eui-19 .eui-language-selector__code{text-transform:uppercase}.eui-19 .eui-language-selector-menu-language-item{padding:var(--eui-s-m);border-bottom:1px solid var(--eui-c-neutral-bg-light);text-align:center;cursor:pointer}.eui-19 .eui-language-selector-menu-language-item:hover{background:var(--eui-c-neutral-bg-light)}.eui-19 .eui-language-selector--empty{display:none}\n"] }]
         | 
| 198 198 | 
             
                    }], propDecorators: { cssClasses: [{
         | 
| 199 199 | 
             
                            type: HostBinding,
         | 
| 200 200 | 
             
                            args: ['class']
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"eui-components-eui-language-selector.mjs","sources":["../../eui-language-selector/modal-selector/modal-selector.component.ts","../../eui-language-selector/modal-selector/modal-selector.component.html","../../eui-language-selector/language-selector.component.ts","../../eui-language-selector/language-selector.component.html","../../eui-language-selector/language-selector.module.ts","../../eui-language-selector/index.ts","../../eui-language-selector/eui-components-eui-language-selector.ts"],"sourcesContent":["import { Component, ViewEncapsulation, ChangeDetectionStrategy, OnInit, inject } from '@angular/core';\nimport { EuiEuLanguages, EuiLanguage } from '@eui/core';\n\nimport { DIALOG_COMPONENT_CONFIG } from '@eui/components/eui-dialog';\nimport { EuiDialogService } from '@eui/components/eui-dialog';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\n\n@Component({\n    selector: 'eui-modal-selector',\n    templateUrl: './modal-selector.component.html',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        ...EUI_BUTTON,\n    ],\n})\nexport class EuiModalSelectorComponent implements OnInit {\n    config = inject<{\n    languages: EuiLanguage[];\n    selectedLanguage: EuiLanguage;\n    languageChanged: (language: EuiLanguage) => void;\n}>(DIALOG_COMPONENT_CONFIG);\n\n    public languageRows: EuiLanguage[][] = [];\n    public additionaLanguageRows: EuiLanguage[][] = [];\n\n    private selectedLanguage: EuiLanguage;\n    private euiDialogService = inject(EuiDialogService);\n\n    ngOnInit(): void {\n        this.languageRows = this.prepareLanguageRows(EuiEuLanguages.filterEULanguages(this.config.languages));\n        this.additionaLanguageRows = this.prepareLanguageRows(EuiEuLanguages.filterNonEULanguages(this.config.languages));\n    }\n\n    selectLanguage(languageCode: EuiLanguage): void {\n        if (this.selectedLanguage?.code !== languageCode.code) {\n            for (const language of this.config.languages) {\n                if (language.code === languageCode.code) {\n                    this.selectedLanguage = language;\n                    break;\n                }\n            }\n        }\n\n        this.config.languageChanged(languageCode);\n        this.euiDialogService.closeDialog();\n    }\n\n    private prepareLanguageRows(languages: EuiLanguage[]): EuiLanguage[][] {\n        const rows: EuiLanguage[][] = [];\n        let row: EuiLanguage[] = [];\n\n        for (let i = 0; i < languages.length; i++) {\n            if (i % 4 === 0) {\n                if (row.length > 0) {\n                    rows.push(row);\n                    row = [];\n                }\n            }\n            row.push(languages[i]);\n        }\n\n        if (row.length > 0) {\n            rows.push(row);\n        }\n\n        return rows;\n    }\n}\n","@if (additionaLanguageRows?.length > 0) {\n    <h4>EU official languages</h4>\n}\n@for (row of languageRows; track row) {\n    <div id=\"eu_languages\" class=\"row\">\n        @for (language of row; track language) {\n            <div class=\"col-md-6 mb-2\">\n                <button\n                    type=\"button\"\n                    e2eAttr=\"eui-language-selector-item_{{ language.code }}\"\n                    euiButton\n                    euiBlockButton\n                    [euiSecondary]=\"language.code !== config.selectedLanguage.code\"\n                    [euiPrimary]=\"language.code === config.selectedLanguage.code\"\n                    (click)=\"selectLanguage(language)\">\n                    {{ language.label }} ({{ language.code }})\n                </button>\n            </div>\n        }\n    </div>\n}\n@if (additionaLanguageRows?.length > 0) {\n    <br />\n    <h4>Non-EU Languages</h4>\n    @for (row of additionaLanguageRows; track row) {\n        <div id=\"extra_languages\" class=\"row\">\n            @for (language of row; track language) {\n                <div class=\"col-md-6 mb-2\">\n                    <button\n                        type=\"button\"\n                        e2eAttr=\"eui-language-selector-item_{{ language.code }}\"\n                        euiButton\n                        euiBlockButton\n                        [euiSecondary]=\"language.code !== config.selectedLanguage.code\"\n                        [euiPrimary]=\"language.code === config.selectedLanguage.code\"\n                        (click)=\"selectLanguage(language)\">\n                        {{ language.label }} ({{ language.code }})\n                    </button>\n                </div>\n            }\n        </div>\n    }\n}\n","import {\n    Component,\n    ViewEncapsulation,\n    HostBinding,\n    OnDestroy,\n    OnInit,\n    ChangeDetectorRef,\n    Input,\n    Output,\n    EventEmitter,\n    booleanAttribute,\n    ElementRef,\n    AfterViewInit,\n    SimpleChanges,\n    OnChanges,\n    inject,\n} from '@angular/core';\nimport { distinctUntilKeyChanged, map, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { EuiEuLanguages, EuiLanguage } from '@eui/core';\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiDialogConfig, EUI_DIALOG, EuiDialogService } from '@eui/components/eui-dialog';\n\nimport { EuiModalSelectorComponent } from './modal-selector/modal-selector.component';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_DROPDOWN } from '@eui/components/eui-dropdown';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\n\n@Component({\n    selector: 'eui-language-selector',\n    templateUrl: './language-selector.component.html',\n    styleUrl: './language-selector.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        AsyncPipe,\n        NgTemplateOutlet,\n        ...EUI_DIALOG,\n        ...EUI_DROPDOWN,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n    ],\n    providers: [\n        EuiDialogService,\n    ],\n})\nexport class EuiLanguageSelectorComponent implements OnInit, AfterViewInit, OnDestroy, OnChanges {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-language-selector',\n            this.languages?.length <= 1 ? 'eui-language-selector--empty' : '',\n            this.isToolbarSelector ? 'eui-language-selector--toolbar-selector' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    languages: EuiLanguage[];\n    selectedLanguage: EuiLanguage;\n\n    @Input({ transform: booleanAttribute }) hasLanguageSelection = true;\n    @Input({ transform: booleanAttribute }) isToolbarSelector = false;\n    @Input({ transform: booleanAttribute }) euiPrimary = false;\n    @Input('aria-label') ariaLabel: string;\n\n    @Output() languageSelectorClick = new EventEmitter<null>();\n\n    appShellService = inject(EuiAppShellService);\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private isAriaLabelChanged = false;\n    private cd = inject(ChangeDetectorRef);\n    private euiDialogService = inject(EuiDialogService);\n    private translateService = inject(TranslateService);\n    private elRef = inject(ElementRef);\n\n    /**\n     * returns true if there are at least one and max four languages.\n     */\n    get isShowDropDown(): boolean {\n        return this.languages?.length > 1 && this.languages?.length < 4;\n    }\n\n    /**\n     * returns true if there are at least five languages.\n     */\n    get isShowModal(): boolean {\n        return this.languages?.length >= 4;\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes && changes['ariaLabel']) {\n            this.isAriaLabelChanged = true;\n            this.ariaLabel = changes['ariaLabel'].currentValue;\n        }\n    }\n\n    ngOnInit(): void {\n        // update languages array based on AppShell State 'language' changes\n        this.appShellService.state$\n            .pipe(\n                takeUntil(this.destroy$),\n                distinctUntilKeyChanged('languages'),\n                map((state) => state.languages),\n            )\n            .subscribe((languages) => {\n                this.languages = languages ? EuiEuLanguages.getOrderedLanguages(languages) : EuiEuLanguages.getLanguages();\n                this.cd.detectChanges();\n            });\n\n        // update activeLanguage array based on AppShell State 'language' changes\n        this.appShellService.state$\n            .pipe(\n                takeUntil(this.destroy$),\n                distinctUntilKeyChanged('activeLanguage'),\n                map((state) => state.activeLanguage),\n            )\n            .subscribe((activeLanguage) => {\n                this.selectedLanguage = this.getLanguage(activeLanguage);\n                if (!this.isAriaLabelChanged) {\n                    this.ariaLabel = `Change Language - Current Language: ${this.selectedLanguage.label}`;\n                }\n                this.cd.detectChanges();\n            });\n    }\n\n    ngAfterViewInit(): void {\n        let hasToolbarParent = false;\n        try {\n            hasToolbarParent = this.elRef.nativeElement.closest('eui-toolbar');\n        } catch (e) {\n            // do nothing\n        }\n\n        if (hasToolbarParent) {\n            setTimeout(() => {\n                this.isToolbarSelector = true;\n            }, 1);\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    onLanguageChanged(language: EuiLanguage): void {\n        // Update the AppShellService state\n        this.appShellService.setState({\n            ...this.appShellService.state,\n            activeLanguage: language.code,\n        });\n    }\n\n    /**\n     * Opens the modal that renders the UxLanguage array with modal actions bindings to this Component\n     */\n    onOpen(titleLabel: string = this.translateService.instant('eui.languageSelector.modalTitle')): void {\n        this.euiDialogService.openDialog(\n            new EuiDialogConfig({\n                title: titleLabel,\n                hasFooter: false,\n                hasClosedOnClickOutside: true,\n                bodyComponent: {\n                    component: EuiModalSelectorComponent,\n                    config: {\n                        languages: this.languages,\n                        selectedLanguage: this.selectedLanguage,\n                        languageChanged: (language: EuiLanguage): void => this.onLanguageChanged(language),\n                    },\n                },\n            }),\n        );\n    }\n\n    onClick(): void {\n        this.languageSelectorClick.emit();\n    }\n\n    /**\n     * returns the UxLanguage Object from a given language code\n     *\n     * @param languageCode two char language code\n     * @protected\n     */\n    protected getLanguage(languageCode: string): EuiLanguage {\n        return this.languages.find((lang) => lang.code === languageCode);\n    }\n}\n","@if (!hasLanguageSelection) {\n    <button class=\"eui-language-selector__button\"\n        euiButton [euiBasicButton]=\"!isToolbarSelector\"\n        [euiBranding]=\"isToolbarSelector\"\n        (click)=\"onClick()\"\n        [attr.aria-label]=\"ariaLabel\">\n        <ng-template *ngTemplateOutlet=\"languageSelectorIcon\"></ng-template>\n        <span class=\"eui-language-selector__code\">{{ (appShellService.state$ | async).activeLanguage }}</span>\n    </button>\n\n} @else if (hasLanguageSelection && isShowDropDown) {\n    <eui-dropdown>\n        <button class=\"eui-language-selector__button\"\n            [attr.aria-label]=\"ariaLabel\"\n            euiButton [euiBasicButton]=\"!isToolbarSelector\"\n            [euiBranding]=\"isToolbarSelector\">\n            <ng-template *ngTemplateOutlet=\"languageSelectorIcon\"></ng-template>\n            <span class=\"eui-language-selector__code\">{{ (appShellService.state$ | async).activeLanguage }}</span>\n        </button>\n\n        <eui-dropdown-content>\n            <div class=\"eui-language-selector-menu\">\n                @for (language of languages; track language) {\n                    <button\n                        euiDropdownItem\n                        attr.data-e2e=\"eui-language-selector-item_{{ language.code }}\"\n                        class=\"eui-language-selector-menu-language-item\"\n                        (click)=\"onLanguageChanged(language)\">\n                        {{ language.label }} ({{ language.code }})\n                    </button>\n                }\n            </div>\n        </eui-dropdown-content>\n    </eui-dropdown>\n\n} @else if (hasLanguageSelection && isShowModal) {\n    <button class=\"eui-language-selector__button\"\n        euiButton euiBasicButton\n        [euiPrimary]=\"isToolbarSelector\"\n        (click)=\"onOpen()\"\n        [attr.aria-label]=\"ariaLabel\">\n        <ng-template *ngTemplateOutlet=\"languageSelectorIcon\"></ng-template>\n        <span class=\"eui-language-selector__code\">{{ (appShellService.state$ | async).activeLanguage }}</span>\n    </button>\n}\n\n<ng-template #languageSelectorIcon>\n    <eui-icon-svg icon=\"eui-ecl-global\" />\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { EuiLanguageSelectorComponent } from './language-selector.component';\nimport { EuiModalSelectorComponent } from './modal-selector/modal-selector.component';\n\n/**\n * @description\n * Module that declares and exports the EuiLanguageSelectorComponent.\n *\n * @deprecated Use {@link EUI_LANGUAGE_SELECTOR} instead\n */\n@NgModule({\n    imports: [EuiLanguageSelectorComponent, EuiModalSelectorComponent],\n    exports: [EuiLanguageSelectorComponent, EuiModalSelectorComponent],\n})\nexport class EuiLanguageSelectorModule {}\n","import { EuiLanguageSelectorComponent } from './language-selector.component';\nimport { EuiModalSelectorComponent } from './modal-selector/modal-selector.component';\n\nexport * from './language-selector.component';\nexport * from './modal-selector/modal-selector.component';\nexport * from './language-selector.module';\n\nexport const EUI_LANGUAGE_SELECTOR = [\n    EuiLanguageSelectorComponent, \n    EuiModalSelectorComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i3"],"mappings":"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"}
         | 
| 1 | 
            +
            {"version":3,"file":"eui-components-eui-language-selector.mjs","sources":["../../eui-language-selector/modal-selector/modal-selector.component.ts","../../eui-language-selector/modal-selector/modal-selector.component.html","../../eui-language-selector/language-selector.component.ts","../../eui-language-selector/language-selector.component.html","../../eui-language-selector/language-selector.module.ts","../../eui-language-selector/index.ts","../../eui-language-selector/eui-components-eui-language-selector.ts"],"sourcesContent":["import { Component, ViewEncapsulation, ChangeDetectionStrategy, OnInit, inject } from '@angular/core';\nimport { EuiEuLanguages, EuiLanguage } from '@eui/core';\n\nimport { DIALOG_COMPONENT_CONFIG } from '@eui/components/eui-dialog';\nimport { EuiDialogService } from '@eui/components/eui-dialog';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\n\n@Component({\n    selector: 'eui-modal-selector',\n    templateUrl: './modal-selector.component.html',\n    changeDetection: ChangeDetectionStrategy.Default,\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        ...EUI_BUTTON,\n    ],\n})\nexport class EuiModalSelectorComponent implements OnInit {\n    config = inject<{\n    languages: EuiLanguage[];\n    selectedLanguage: EuiLanguage;\n    languageChanged: (language: EuiLanguage) => void;\n}>(DIALOG_COMPONENT_CONFIG);\n\n    public languageRows: EuiLanguage[][] = [];\n    public additionaLanguageRows: EuiLanguage[][] = [];\n\n    private selectedLanguage: EuiLanguage;\n    private euiDialogService = inject(EuiDialogService);\n\n    ngOnInit(): void {\n        this.languageRows = this.prepareLanguageRows(EuiEuLanguages.filterEULanguages(this.config.languages));\n        this.additionaLanguageRows = this.prepareLanguageRows(EuiEuLanguages.filterNonEULanguages(this.config.languages));\n    }\n\n    selectLanguage(languageCode: EuiLanguage): void {\n        if (this.selectedLanguage?.code !== languageCode.code) {\n            for (const language of this.config.languages) {\n                if (language.code === languageCode.code) {\n                    this.selectedLanguage = language;\n                    break;\n                }\n            }\n        }\n\n        this.config.languageChanged(languageCode);\n        this.euiDialogService.closeDialog();\n    }\n\n    private prepareLanguageRows(languages: EuiLanguage[]): EuiLanguage[][] {\n        const rows: EuiLanguage[][] = [];\n        let row: EuiLanguage[] = [];\n\n        for (let i = 0; i < languages.length; i++) {\n            if (i % 4 === 0) {\n                if (row.length > 0) {\n                    rows.push(row);\n                    row = [];\n                }\n            }\n            row.push(languages[i]);\n        }\n\n        if (row.length > 0) {\n            rows.push(row);\n        }\n\n        return rows;\n    }\n}\n","@if (additionaLanguageRows?.length > 0) {\n    <h4>EU official languages</h4>\n}\n@for (row of languageRows; track row) {\n    <div id=\"eu_languages\" class=\"row\">\n        @for (language of row; track language) {\n            <div class=\"col-md-6 mb-2\">\n                <button\n                    type=\"button\"\n                    e2eAttr=\"eui-language-selector-item_{{ language.code }}\"\n                    euiButton\n                    euiBlockButton\n                    [euiSecondary]=\"language.code !== config.selectedLanguage.code\"\n                    [euiPrimary]=\"language.code === config.selectedLanguage.code\"\n                    (click)=\"selectLanguage(language)\">\n                    {{ language.label }} ({{ language.code }})\n                </button>\n            </div>\n        }\n    </div>\n}\n@if (additionaLanguageRows?.length > 0) {\n    <br />\n    <h4>Non-EU Languages</h4>\n    @for (row of additionaLanguageRows; track row) {\n        <div id=\"extra_languages\" class=\"row\">\n            @for (language of row; track language) {\n                <div class=\"col-md-6 mb-2\">\n                    <button\n                        type=\"button\"\n                        e2eAttr=\"eui-language-selector-item_{{ language.code }}\"\n                        euiButton\n                        euiBlockButton\n                        [euiSecondary]=\"language.code !== config.selectedLanguage.code\"\n                        [euiPrimary]=\"language.code === config.selectedLanguage.code\"\n                        (click)=\"selectLanguage(language)\">\n                        {{ language.label }} ({{ language.code }})\n                    </button>\n                </div>\n            }\n        </div>\n    }\n}\n","import {\n    Component,\n    ViewEncapsulation,\n    HostBinding,\n    OnDestroy,\n    OnInit,\n    ChangeDetectorRef,\n    Input,\n    Output,\n    EventEmitter,\n    booleanAttribute,\n    ElementRef,\n    AfterViewInit,\n    SimpleChanges,\n    OnChanges,\n    inject,\n} from '@angular/core';\nimport { distinctUntilKeyChanged, map, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { EuiEuLanguages, EuiLanguage } from '@eui/core';\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiDialogConfig, EUI_DIALOG, EuiDialogService } from '@eui/components/eui-dialog';\n\nimport { EuiModalSelectorComponent } from './modal-selector/modal-selector.component';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_BUTTON } from '@eui/components/eui-button';\nimport { EUI_DROPDOWN } from '@eui/components/eui-dropdown';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\n\n@Component({\n    selector: 'eui-language-selector',\n    templateUrl: './language-selector.component.html',\n    styleUrl: './language-selector.scss',\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        AsyncPipe,\n        NgTemplateOutlet,\n        ...EUI_DIALOG,\n        ...EUI_DROPDOWN,\n        ...EUI_ICON,\n        ...EUI_BUTTON,\n    ],\n    providers: [\n        EuiDialogService,\n    ],\n})\nexport class EuiLanguageSelectorComponent implements OnInit, AfterViewInit, OnDestroy, OnChanges {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            'eui-language-selector',\n            this.languages?.length <= 1 ? 'eui-language-selector--empty' : '',\n            this.isToolbarSelector ? 'eui-language-selector--toolbar-selector' : '',\n        ]\n            .join(' ')\n            .trim();\n    }\n\n    languages: EuiLanguage[];\n    selectedLanguage: EuiLanguage;\n\n    @Input({ transform: booleanAttribute }) hasLanguageSelection = true;\n    @Input({ transform: booleanAttribute }) isToolbarSelector = false;\n    @Input({ transform: booleanAttribute }) euiPrimary = false;\n    @Input('aria-label') ariaLabel: string;\n\n    @Output() languageSelectorClick = new EventEmitter<null>();\n\n    appShellService = inject(EuiAppShellService);\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private isAriaLabelChanged = false;\n    private cd = inject(ChangeDetectorRef);\n    private euiDialogService = inject(EuiDialogService);\n    private translateService = inject(TranslateService);\n    private elRef = inject(ElementRef);\n\n    /**\n     * returns true if there are at least one and max four languages.\n     */\n    get isShowDropDown(): boolean {\n        return this.languages?.length > 1 && this.languages?.length < 4;\n    }\n\n    /**\n     * returns true if there are at least five languages.\n     */\n    get isShowModal(): boolean {\n        return this.languages?.length >= 4;\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes && changes['ariaLabel']) {\n            this.isAriaLabelChanged = true;\n            this.ariaLabel = changes['ariaLabel'].currentValue;\n        }\n    }\n\n    ngOnInit(): void {\n        // update languages array based on AppShell State 'language' changes\n        this.appShellService.state$\n            .pipe(\n                takeUntil(this.destroy$),\n                distinctUntilKeyChanged('languages'),\n                map((state) => state.languages),\n            )\n            .subscribe((languages) => {\n                this.languages = languages ? EuiEuLanguages.getOrderedLanguages(languages) : EuiEuLanguages.getLanguages();\n                this.cd.detectChanges();\n            });\n\n        // update activeLanguage array based on AppShell State 'language' changes\n        this.appShellService.state$\n            .pipe(\n                takeUntil(this.destroy$),\n                distinctUntilKeyChanged('activeLanguage'),\n                map((state) => state.activeLanguage),\n            )\n            .subscribe((activeLanguage) => {\n                this.selectedLanguage = this.getLanguage(activeLanguage);\n                if (!this.isAriaLabelChanged) {\n                    this.ariaLabel = `Change Language - Current Language: ${this.selectedLanguage.label}`;\n                }\n                this.cd.detectChanges();\n            });\n    }\n\n    ngAfterViewInit(): void {\n        let hasToolbarParent = false;\n        try {\n            hasToolbarParent = this.elRef.nativeElement.closest('eui-toolbar');\n        } catch (e) {\n            // do nothing\n        }\n\n        if (hasToolbarParent) {\n            setTimeout(() => {\n                this.isToolbarSelector = true;\n            }, 1);\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    onLanguageChanged(language: EuiLanguage): void {\n        // Update the AppShellService state\n        this.appShellService.setState({\n            ...this.appShellService.state,\n            activeLanguage: language.code,\n        });\n    }\n\n    /**\n     * Opens the modal that renders the UxLanguage array with modal actions bindings to this Component\n     */\n    onOpen(titleLabel: string = this.translateService.instant('eui.languageSelector.modalTitle')): void {\n        this.euiDialogService.openDialog(\n            new EuiDialogConfig({\n                title: titleLabel,\n                hasFooter: false,\n                hasClosedOnClickOutside: true,\n                bodyComponent: {\n                    component: EuiModalSelectorComponent,\n                    config: {\n                        languages: this.languages,\n                        selectedLanguage: this.selectedLanguage,\n                        languageChanged: (language: EuiLanguage): void => this.onLanguageChanged(language),\n                    },\n                },\n            }),\n        );\n    }\n\n    onClick(): void {\n        this.languageSelectorClick.emit();\n    }\n\n    /**\n     * returns the UxLanguage Object from a given language code\n     *\n     * @param languageCode two char language code\n     * @protected\n     */\n    protected getLanguage(languageCode: string): EuiLanguage {\n        return this.languages.find((lang) => lang.code === languageCode);\n    }\n}\n","@if (!hasLanguageSelection) {\n    <button class=\"eui-language-selector__button\"\n        euiButton\n        euiBasicButton\n        [euiBranding]=\"isToolbarSelector\"\n        (click)=\"onClick()\"\n        [attr.aria-label]=\"ariaLabel\">\n        <ng-template *ngTemplateOutlet=\"languageSelectorIcon\"></ng-template>\n        <span class=\"eui-language-selector__code\">{{ (appShellService.state$ | async).activeLanguage }}</span>\n    </button>\n\n} @else if (hasLanguageSelection && isShowDropDown) {\n    <eui-dropdown>\n        <button class=\"eui-language-selector__button\"\n            [attr.aria-label]=\"ariaLabel\"\n            euiButton\n            euiBasicButton\n            [euiBranding]=\"isToolbarSelector\">\n            <ng-template *ngTemplateOutlet=\"languageSelectorIcon\"></ng-template>\n            <span class=\"eui-language-selector__code\">{{ (appShellService.state$ | async).activeLanguage }}</span>\n        </button>\n\n        <eui-dropdown-content>\n            <div class=\"eui-language-selector-menu\">\n                @for (language of languages; track language) {\n                    <button\n                        euiDropdownItem\n                        attr.data-e2e=\"eui-language-selector-item_{{ language.code }}\"\n                        class=\"eui-language-selector-menu-language-item\"\n                        (click)=\"onLanguageChanged(language)\">\n                        {{ language.label }} ({{ language.code }})\n                    </button>\n                }\n            </div>\n        </eui-dropdown-content>\n    </eui-dropdown>\n\n} @else if (hasLanguageSelection && isShowModal) {\n    <button class=\"eui-language-selector__button\"\n        euiButton euiBasicButton\n        [euiPrimary]=\"isToolbarSelector\"\n        (click)=\"onOpen()\"\n        [attr.aria-label]=\"ariaLabel\">\n        <ng-template *ngTemplateOutlet=\"languageSelectorIcon\"></ng-template>\n        <span class=\"eui-language-selector__code\">{{ (appShellService.state$ | async).activeLanguage }}</span>\n    </button>\n}\n\n<ng-template #languageSelectorIcon>\n    <eui-icon-svg icon=\"eui-ecl-global\" />\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { EuiLanguageSelectorComponent } from './language-selector.component';\nimport { EuiModalSelectorComponent } from './modal-selector/modal-selector.component';\n\n/**\n * @description\n * Module that declares and exports the EuiLanguageSelectorComponent.\n *\n * @deprecated Use {@link EUI_LANGUAGE_SELECTOR} instead\n */\n@NgModule({\n    imports: [EuiLanguageSelectorComponent, EuiModalSelectorComponent],\n    exports: [EuiLanguageSelectorComponent, EuiModalSelectorComponent],\n})\nexport class EuiLanguageSelectorModule {}\n","import { EuiLanguageSelectorComponent } from './language-selector.component';\nimport { EuiModalSelectorComponent } from './modal-selector/modal-selector.component';\n\nexport * from './language-selector.component';\nexport * from './modal-selector/modal-selector.component';\nexport * from './language-selector.module';\n\nexport const EUI_LANGUAGE_SELECTOR = [\n    EuiLanguageSelectorComponent, \n    EuiModalSelectorComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i3"],"mappings":"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"}
         | 
| @@ -153,6 +153,7 @@ class BaseStatesDirective { | |
| 153 153 | 
             
                    this._euiWarning = false;
         | 
| 154 154 | 
             
                    this._euiDanger = false;
         | 
| 155 155 | 
             
                    this._euiAccent = false;
         | 
| 156 | 
            +
                    this._euiInverse = false;
         | 
| 156 157 | 
             
                    this._euiSize2XS = false;
         | 
| 157 158 | 
             
                    this._euiSizeXS = false;
         | 
| 158 159 | 
             
                    this._euiSizeS = false;
         | 
| @@ -234,6 +235,13 @@ class BaseStatesDirective { | |
| 234 235 | 
             
                    this._euiAccent = coerceBooleanProperty(value);
         | 
| 235 236 | 
             
                    this._euiVariant = this._euiAccent ? 'accent' : '';
         | 
| 236 237 | 
             
                }
         | 
| 238 | 
            +
                get euiInverse() {
         | 
| 239 | 
            +
                    return this._euiInverse;
         | 
| 240 | 
            +
                }
         | 
| 241 | 
            +
                set euiInverse(value) {
         | 
| 242 | 
            +
                    this._euiInverse = coerceBooleanProperty(value);
         | 
| 243 | 
            +
                    this._euiVariant = this._euiInverse ? 'inverse' : '';
         | 
| 244 | 
            +
                }
         | 
| 237 245 | 
             
                get euiVariant() {
         | 
| 238 246 | 
             
                    return this._euiVariant;
         | 
| 239 247 | 
             
                }
         | 
| @@ -247,6 +255,7 @@ class BaseStatesDirective { | |
| 247 255 | 
             
                    this.euiSuccess = value === 'success';
         | 
| 248 256 | 
             
                    this.euiDanger = value === 'danger';
         | 
| 249 257 | 
             
                    this.euiAccent = value === 'accent';
         | 
| 258 | 
            +
                    this.euiInverse = value === 'inverse';
         | 
| 250 259 | 
             
                    this._euiVariant = value;
         | 
| 251 260 | 
             
                }
         | 
| 252 261 | 
             
                // SIZES
         | 
| @@ -356,6 +365,7 @@ class BaseStatesDirective { | |
| 356 365 | 
             
                        this.euiWarning ? `${rootClass}--warning eui--warning` : '',
         | 
| 357 366 | 
             
                        this.euiDanger ? `${rootClass}--danger eui--danger` : '',
         | 
| 358 367 | 
             
                        this.euiAccent ? `${rootClass}--accent eui--accent` : '',
         | 
| 368 | 
            +
                        this.euiInverse ? `${rootClass}--inverse eui--inverse` : '',
         | 
| 359 369 | 
             
                        this.euiSize2XS ? `${rootClass}--size-2xs eui--size-2xs` : '',
         | 
| 360 370 | 
             
                        this.euiSizeXS ? `${rootClass}--size-xs eui--size-xs` : '',
         | 
| 361 371 | 
             
                        this.euiSizeS ? `${rootClass}--size-s eui--size-s` : '',
         | 
| @@ -384,7 +394,7 @@ class BaseStatesDirective { | |
| 384 394 | 
             
                        .trim();
         | 
| 385 395 | 
             
                }
         | 
| 386 396 | 
             
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: BaseStatesDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
         | 
| 387 | 
            -
                static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.9", type: BaseStatesDirective, isStandalone: true, selector: "[euiBase]", inputs: { euiPrimary: "euiPrimary", euiBranding: "euiBranding", euiSecondary: "euiSecondary", euiSecondaryLight: "euiSecondaryLight", euiInfo: "euiInfo", euiSuccess: "euiSuccess", euiWarning: "euiWarning", euiDanger: "euiDanger", euiAccent: "euiAccent", euiVariant: "euiVariant", euiSize2XS: "euiSize2XS", euiSizeXS: "euiSizeXS", euiSizeS: "euiSizeS", euiSizeM: "euiSizeM", euiSizeL: "euiSizeL", euiSizeXL: "euiSizeXL", euiSize2XL: "euiSize2XL", euiSize3XL: "euiSize3XL", euiSize4XL: "euiSize4XL", euiSize5XL: "euiSize5XL", euiSizeAuto: "euiSizeAuto", euiSizeVariant: "euiSizeVariant", euiRounded: ["euiRounded", "euiRounded", booleanAttribute], euiOutline: ["euiOutline", "euiOutline", booleanAttribute], euiCompact: ["euiCompact", "euiCompact", booleanAttribute], euiDisabled: ["euiDisabled", "euiDisabled", booleanAttribute], euiResponsive: ["euiResponsive", "euiResponsive", booleanAttribute], euiHighlighted: ["euiHighlighted", "euiHighlighted", booleanAttribute], euiClearable: ["euiClearable", "euiClearable", booleanAttribute], euiLoading: ["euiLoading", "euiLoading", booleanAttribute], euiInverted: ["euiInverted", "euiInverted", booleanAttribute], euiStart: ["euiStart", "euiStart", booleanAttribute], euiEnd: ["euiEnd", "euiEnd", booleanAttribute] }, host: { properties: { "attr.aria-disabled": "this.ariaDisabled" } }, ngImport: i0 }); }
         | 
| 397 | 
            +
                static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.9", type: BaseStatesDirective, isStandalone: true, selector: "[euiBase]", inputs: { euiPrimary: "euiPrimary", euiBranding: "euiBranding", euiSecondary: "euiSecondary", euiSecondaryLight: "euiSecondaryLight", euiInfo: "euiInfo", euiSuccess: "euiSuccess", euiWarning: "euiWarning", euiDanger: "euiDanger", euiAccent: "euiAccent", euiInverse: "euiInverse", euiVariant: "euiVariant", euiSize2XS: "euiSize2XS", euiSizeXS: "euiSizeXS", euiSizeS: "euiSizeS", euiSizeM: "euiSizeM", euiSizeL: "euiSizeL", euiSizeXL: "euiSizeXL", euiSize2XL: "euiSize2XL", euiSize3XL: "euiSize3XL", euiSize4XL: "euiSize4XL", euiSize5XL: "euiSize5XL", euiSizeAuto: "euiSizeAuto", euiSizeVariant: "euiSizeVariant", euiRounded: ["euiRounded", "euiRounded", booleanAttribute], euiOutline: ["euiOutline", "euiOutline", booleanAttribute], euiCompact: ["euiCompact", "euiCompact", booleanAttribute], euiDisabled: ["euiDisabled", "euiDisabled", booleanAttribute], euiResponsive: ["euiResponsive", "euiResponsive", booleanAttribute], euiHighlighted: ["euiHighlighted", "euiHighlighted", booleanAttribute], euiClearable: ["euiClearable", "euiClearable", booleanAttribute], euiLoading: ["euiLoading", "euiLoading", booleanAttribute], euiInverted: ["euiInverted", "euiInverted", booleanAttribute], euiStart: ["euiStart", "euiStart", booleanAttribute], euiEnd: ["euiEnd", "euiEnd", booleanAttribute] }, host: { properties: { "attr.aria-disabled": "this.ariaDisabled" } }, ngImport: i0 }); }
         | 
| 388 398 | 
             
            }
         | 
| 389 399 | 
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: BaseStatesDirective, decorators: [{
         | 
| 390 400 | 
             
                        type: Directive,
         | 
| @@ -412,6 +422,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor | |
| 412 422 | 
             
                            type: Input
         | 
| 413 423 | 
             
                        }], euiAccent: [{
         | 
| 414 424 | 
             
                            type: Input
         | 
| 425 | 
            +
                        }], euiInverse: [{
         | 
| 426 | 
            +
                            type: Input
         | 
| 415 427 | 
             
                        }], euiVariant: [{
         | 
| 416 428 | 
             
                            type: Input
         | 
| 417 429 | 
             
                        }], euiSize2XS: [{
         |