@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.
@@ -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 [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", 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 }); }
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 [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", 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"] }]
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: [{