@eui/eds 22.0.0-alpha.52 → 22.0.0-alpha.53

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-eds-eds-datepicker.mjs","sources":["../../eds-datepicker/eds-date-adapter.ts","../../eds-datepicker/eds-datepicker.ts","../../eds-datepicker/eds-datepicker.html","../../eds-datepicker/eds-luxon-date-adapter.ts","../../eds-datepicker/index.ts","../../eds-datepicker/eui-eds-eds-datepicker.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\n/**\n * Abstract date adapter interface for eds-datepicker.\n * Implement this to support different date libraries (native Date, Luxon, etc.)\n */\nexport interface EdsDateAdapter<D = unknown> {\n /** Create a date from year, month (0-based), day. */\n create(year: number, month: number, day: number): D;\n /** Get today's date. */\n today(): D;\n /** Get the year of a date. */\n getYear(date: D): number;\n /** Get the month (0-based) of a date. */\n getMonth(date: D): number;\n /** Get the day of the month. */\n getDate(date: D): number;\n /** Get day of week (1=Monday, 7=Sunday). */\n getDayOfWeek(date: D): number;\n /** Get number of days in the given month. */\n getDaysInMonth(date: D): number;\n /** Add months to a date. */\n addMonths(date: D, months: number): D;\n /** Format a date for display (dd/mm/yyyy by default). */\n format(date: D, formatStr?: string): string;\n /** Parse a string into a date. Returns null if invalid. */\n parse(value: string, formatStr?: string): D | null;\n /** Check if a date is before another. */\n isBefore(date: D, compare: D): boolean;\n /** Check if a date is after another. */\n isAfter(date: D, compare: D): boolean;\n /** Check if two dates are the same day. */\n isSameDay(a: D, b: D): boolean;\n /** Check if a value is a valid date. */\n isValid(date: unknown): date is D;\n}\n\n/** Injection token for the EDS date adapter. */\nexport const EDS_DATE_ADAPTER = new InjectionToken<EdsDateAdapter>('EDS_DATE_ADAPTER');\n\n/**\n * Default native Date adapter.\n */\nexport class EdsNativeDateAdapter implements EdsDateAdapter<Date> {\n create(year: number, month: number, day: number): Date {\n return new Date(year, month, day);\n }\n\n today(): Date {\n return new Date();\n }\n\n getYear(date: Date): number {\n return date.getFullYear();\n }\n\n getMonth(date: Date): number {\n return date.getMonth();\n }\n\n getDate(date: Date): number {\n return date.getDate();\n }\n\n getDayOfWeek(date: Date): number {\n // Convert Sunday=0 to Monday=1...Sunday=7\n const dow = date.getDay();\n return dow === 0 ? 7 : dow;\n }\n\n getDaysInMonth(date: Date): number {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate();\n }\n\n addMonths(date: Date, months: number): Date {\n return new Date(date.getFullYear(), date.getMonth() + months, 1);\n }\n\n format(date: Date, _formatStr?: string): string {\n const d = String(date.getDate()).padStart(2, '0');\n const m = String(date.getMonth() + 1).padStart(2, '0');\n const y = date.getFullYear();\n return `${d}/${m}/${y}`;\n }\n\n parse(value: string, _formatStr?: string): Date | null {\n const parts = value.split('/');\n if (parts.length !== 3) {\n return null;\n }\n const day = parseInt(parts[0], 10);\n const month = parseInt(parts[1], 10) - 1;\n const year = parseInt(parts[2], 10);\n if (isNaN(day) || isNaN(month) || isNaN(year)) {\n return null;\n }\n const date = new Date(year, month, day);\n if (date.getDate() !== day || date.getMonth() !== month || date.getFullYear() !== year) {\n return null;\n }\n return date;\n }\n\n isBefore(date: Date, compare: Date): boolean {\n return date.getTime() < compare.getTime();\n }\n\n isAfter(date: Date, compare: Date): boolean {\n return date.getTime() > compare.getTime();\n }\n\n isSameDay(a: Date, b: Date): boolean {\n return a.getDate() === b.getDate() &&\n a.getMonth() === b.getMonth() &&\n a.getFullYear() === b.getFullYear();\n }\n\n isValid(date: unknown): date is Date {\n return date instanceof Date && !isNaN(date.getTime());\n }\n}\n\n/** Provider helper for using the native Date adapter. */\nexport function provideEdsNativeDateAdapter(): { provide: typeof EDS_DATE_ADAPTER; useClass: typeof EdsNativeDateAdapter } {\n return { provide: EDS_DATE_ADAPTER, useClass: EdsNativeDateAdapter };\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n input,\n output,\n model,\n signal,\n computed,\n booleanAttribute,\n inject,\n ElementRef,\n HostListener,\n OnDestroy,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { EDS_ICON } from '@eui/eds/eds-icon';\nimport { EDS_INPUT_TEXT } from '@eui/eds/eds-input-text';\nimport { EDS_INPUT_BUTTON } from '@eui/eds/eds-input-button';\nimport { EDS_BUTTON } from '@eui/eds/eds-button';\nimport { EDS_TIMEPICKER } from '@eui/eds/eds-timepicker';\nimport { EDS_DATE_ADAPTER, EdsDateAdapter, EdsNativeDateAdapter } from './eds-date-adapter';\n\n@Component({\n selector: 'eds-datepicker',\n templateUrl: './eds-datepicker.html',\n styleUrl: './eds-datepicker.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [...EDS_ICON, ...EDS_INPUT_TEXT, ...EDS_INPUT_BUTTON, ...EDS_BUTTON, ...EDS_TIMEPICKER],\n host: {\n '[attr.data-e2e]': 'e2eAttr()',\n },\n})\nexport class EdsDatepicker implements ControlValueAccessor, OnDestroy {\n /** Data attribute for e2e testing. */\n e2eAttr = input('eds-datepicker');\n\n /** Input element id. */\n inputId = input('eds-datepicker-input');\n\n /** Placeholder text. */\n placeholder = input('dd/mm/yyyy');\n\n /** Aria label for the input. */\n ariaLabel = input('Date input');\n\n /** Date format for display (default: dd/mm/yyyy). */\n dateFormat = input('dd/mm/yyyy');\n\n /** Minimum selectable date. */\n minDate = input<Date | null>(null);\n\n /** Maximum selectable date. */\n maxDate = input<Date | null>(null);\n\n /** Whether the datepicker is disabled. */\n disabled = input(false, { transform: booleanAttribute });\n\n /** Whether the datepicker is readonly. */\n readonly = input(false, { transform: booleanAttribute });\n\n /** Whether to show a clear button that resets the selected date. */\n clearable = input(false, { transform: booleanAttribute });\n\n /** Whether to show a timepicker alongside the calendar. */\n isDatetimepicker = input(false, { transform: booleanAttribute });\n\n /** Whether the timepicker shows seconds. */\n hasSeconds = input(false, { transform: booleanAttribute });\n\n /** Emitted when a date is selected. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n dateChange = output<any>();\n\n /** The selected date value. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value = model<any>(null);\n\n /** Whether the calendar dropdown is open. */\n isOpen = signal(false);\n\n /** Whether the dropdown should open above the input. */\n dropUp = signal(false);\n\n /** Current viewed month/year for the calendar. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n viewDate = signal<any>(null);\n\n /** Weekday header labels. */\n weekDays = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];\n\n /** Current time selection (for datetime mode). */\n selectedTime = signal<{ hours: number; minutes: number; seconds?: number }>({ hours: 0, minutes: 0, seconds: 0 });\n\n /** The date adapter (native Date or Luxon). */\n adapter: EdsDateAdapter = inject(EDS_DATE_ADAPTER, { optional: true }) || new EdsNativeDateAdapter();\n\n /** Computed display value for the input. */\n displayValue = computed(() => {\n const date = this.value();\n if (!date || !this.adapter.isValid(date)) {\n return '';\n }\n const dateStr = this.adapter.format(date);\n if (this.isDatetimepicker()) {\n const time = this.selectedTime();\n const h = String(time.hours).padStart(2, '0');\n const m = String(time.minutes).padStart(2, '0');\n if (this.hasSeconds() && time.seconds !== undefined) {\n const s = String(time.seconds).padStart(2, '0');\n return `${dateStr} ${h}:${m}:${s}`;\n }\n return `${dateStr} ${h}:${m}`;\n }\n return dateStr;\n });\n\n /** Computed month/year label for the header. */\n monthLabel = computed(() => {\n const d = this.viewDate() || this.adapter.today();\n const months = ['January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December'];\n return `${months[this.adapter.getMonth(d)]} ${this.adapter.getYear(d)}`;\n });\n\n /** Computed calendar day grid. */\n calendarDays = computed(() => {\n const vd = this.viewDate() || this.adapter.today();\n const year = this.adapter.getYear(vd);\n const month = this.adapter.getMonth(vd);\n const firstDay = this.adapter.create(year, month, 1);\n // Monday-based: 1=Mon, 7=Sun\n const startDay = this.adapter.getDayOfWeek(firstDay) - 1;\n const daysInMonth = this.adapter.getDaysInMonth(firstDay);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const days: (any | null)[] = [];\n\n // Empty slots before first day\n for (let i = 0; i < startDay; i++) {\n days.push(null);\n }\n // Actual days\n for (let i = 1; i <= daysInMonth; i++) {\n days.push(this.adapter.create(year, month, i));\n }\n return days;\n });\n\n private _elementRef = inject(ElementRef);\n private _ngControl = inject(NgControl, { optional: true, self: true });\n private _documentClickListener: ((e: Event) => void) | null = null;\n\n constructor() {\n if (this._ngControl) {\n this._ngControl.valueAccessor = this;\n }\n this.viewDate.set(this.adapter.today());\n }\n\n ngOnDestroy(): void {\n this._removeDocumentListener();\n }\n\n // --- Public API ---\n\n toggle(): void {\n if (this.disabled() || this.readonly()) {\n return;\n }\n this.isOpen.set(!this.isOpen());\n if (this.isOpen()) {\n // Set view to selected date or today\n this.viewDate.set(this.adapter.isValid(this.value()) ? this.value() : this.adapter.today());\n\n // Check if there's enough space below — if not, open above\n const rect = this._elementRef.nativeElement.getBoundingClientRect();\n const dropdownHeight = this.isDatetimepicker() ? 420 : 320;\n const spaceBelow = window.innerHeight - rect.bottom;\n this.dropUp.set(spaceBelow < dropdownHeight && rect.top > dropdownHeight);\n\n this._addDocumentListener();\n } else {\n this._removeDocumentListener();\n }\n }\n\n onInputClick(): void {\n if (!this.isOpen()) {\n this.toggle();\n }\n }\n\n prevMonth(): void {\n this.viewDate.set(this.adapter.addMonths(this.viewDate(), -1));\n }\n\n nextMonth(): void {\n this.viewDate.set(this.adapter.addMonths(this.viewDate(), 1));\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n selectDay(date: any): void {\n this.value.set(date);\n this._onChange(date);\n this.dateChange.emit(date);\n this.isOpen.set(false);\n this._removeDocumentListener();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isToday(date: any): boolean {\n return this.adapter.isSameDay(date, this.adapter.today());\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isSelected(date: any): boolean {\n const sel = this.value();\n if (!sel || !this.adapter.isValid(sel)) {\n return false;\n }\n return this.adapter.isSameDay(date, sel);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isOutsideRange(date: any): boolean {\n const min = this.minDate();\n const max = this.maxDate();\n if (min && this.adapter.isBefore(date, min)) {\n return true;\n }\n if (max && this.adapter.isAfter(date, max)) {\n return true;\n }\n return false;\n }\n\n onInputChange(event: Event): void {\n const val = (event.target as HTMLInputElement).value;\n if (val === '') {\n this.value.set(null);\n this._onChange(null);\n this.dateChange.emit(null);\n return;\n }\n const parsed = this.adapter.parse(val);\n if (parsed) {\n this.value.set(parsed);\n this._onChange(parsed);\n this.dateChange.emit(parsed);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onTimeChange(time: any): void {\n this.selectedTime.set(time);\n // If a date is already selected, re-emit with the time applied\n // (consumer is responsible for combining date + time as needed)\n }\n\n // --- ControlValueAccessor ---\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.value.set(value);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: (value: any) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(_isDisabled: boolean): void {\n // Handled via input signal\n }\n\n // ControlValueAccessor\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n protected onTouched: () => void = () => { /* noop */ };\n\n // --- Private ---\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-explicit-any\n private _onChange: (value: any) => void = () => { /* noop */ };\n\n private _addDocumentListener(): void {\n if (!this._documentClickListener) {\n this._documentClickListener = (e: Event): void => {\n if (!this._elementRef.nativeElement.contains(e.target)) {\n this.isOpen.set(false);\n this._removeDocumentListener();\n }\n };\n document.addEventListener('click', this._documentClickListener);\n }\n }\n\n private _removeDocumentListener(): void {\n if (this._documentClickListener) {\n document.removeEventListener('click', this._documentClickListener);\n this._documentClickListener = null;\n }\n }\n}\n","<eds-input-button class=\"eds-datepicker__group\">\n <input edsInputText\n [edsClearable]=\"clearable()\"\n [id]=\"inputId()\"\n [placeholder]=\"placeholder()\"\n [value]=\"displayValue()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n [attr.aria-label]=\"ariaLabel()\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onTouched()\"\n (click)=\"onInputClick()\"/>\n @if (!readonly() && !disabled()) {\n <button edsButton variant=\"secondary\" color=\"neutral\" size=\"s\" type=\"button\" [attr.aria-label]=\"'Open calendar'\" (click)=\"toggle()\">\n <eds-icon icon=\"calendar-blank:core\"/>\n </button>\n }\n</eds-input-button>\n\n@if (isOpen()) {\n <div class=\"eds-datepicker__dropdown\" [class.eds-datepicker__dropdown--up]=\"dropUp()\" (click)=\"$event.stopPropagation()\">\n <div class=\"eds-datepicker__header\">\n <button class=\"eds-datepicker__nav-btn\" type=\"button\" (click)=\"prevMonth()\" aria-label=\"Previous month\">‹</button>\n <span class=\"eds-datepicker__month-label\">{{ monthLabel() }}</span>\n <button class=\"eds-datepicker__nav-btn\" type=\"button\" (click)=\"nextMonth()\" aria-label=\"Next month\">›</button>\n </div>\n <div class=\"eds-datepicker__weekdays\">\n @for (day of weekDays; track day) {\n <span class=\"eds-datepicker__weekday\">{{ day }}</span>\n }\n </div>\n <div class=\"eds-datepicker__days\">\n @for (day of calendarDays(); track $index) {\n @if (day === null) {\n <span class=\"eds-datepicker__day eds-datepicker__day--empty\"></span>\n } @else {\n <button class=\"eds-datepicker__day\"\n type=\"button\"\n [class.eds-datepicker__day--today]=\"isToday(day)\"\n [class.eds-datepicker__day--selected]=\"isSelected(day)\"\n [class.eds-datepicker__day--outside]=\"isOutsideRange(day)\"\n [disabled]=\"isOutsideRange(day)\"\n (click)=\"selectDay(day)\">\n {{ adapter.getDate(day) }}\n </button>\n }\n }\n </div>\n\n @if (isDatetimepicker()) {\n <div class=\"eds-datepicker__time\">\n <eds-timepicker [hasSeconds]=\"hasSeconds()\" [disabled]=\"disabled()\" (timeChange)=\"onTimeChange($event)\"/>\n </div>\n }\n </div>\n}\n","import { EdsDateAdapter, EDS_DATE_ADAPTER } from './eds-date-adapter';\n\n// Luxon is expected to be available as a peer dependency\n// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-explicit-any\nlet luxonDateTime: any = null;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-explicit-any\n luxonDateTime = (globalThis as any).__luxon_DateTime;\n} catch {\n // Will be set on first use\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getLuxonDateTime(): any {\n if (!luxonDateTime) {\n // Attempt to access luxon from the global scope (loaded via import in consumer app)\n throw new Error('Luxon DateTime not available. Ensure luxon is imported in your application and call setLuxonDateTime(DateTime) before using EdsLuxonDateAdapter.');\n }\n return luxonDateTime;\n}\n\n/**\n * Call this function to provide the Luxon DateTime class to the adapter.\n * Usage in your app:\n * ```typescript\n * import { DateTime } from 'luxon';\n * import { setLuxonDateTime } from '@eui/eds/eds-datepicker';\n * setLuxonDateTime(DateTime);\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function setLuxonDateTime(dt: any): void {\n luxonDateTime = dt;\n}\n\n/**\n * Luxon DateTime adapter for eds-datepicker.\n * Requires `luxon` package to be installed and `setLuxonDateTime(DateTime)` to be called.\n */\nexport class EdsLuxonDateAdapter implements EdsDateAdapter<unknown> {\n create(year: number, month: number, day: number): unknown {\n const DT = getLuxonDateTime();\n // Luxon months are 1-based\n return DT.local(year, month + 1, day);\n }\n\n today(): unknown {\n return getLuxonDateTime().now();\n }\n\n getYear(date: unknown): number {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (date as any).year;\n }\n\n getMonth(date: unknown): number {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (date as any).month - 1;\n }\n\n getDate(date: unknown): number {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (date as any).day;\n }\n\n getDayOfWeek(date: unknown): number {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (date as any).weekday;\n }\n\n getDaysInMonth(date: unknown): number {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (date as any).daysInMonth;\n }\n\n addMonths(date: unknown, months: number): unknown {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (date as any).plus({ months }).startOf('month');\n }\n\n format(date: unknown, formatStr?: string): string {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (date as any).toFormat(formatStr || 'dd/MM/yyyy');\n }\n\n parse(value: string, formatStr?: string): unknown | null {\n const DT = getLuxonDateTime();\n const parsed = DT.fromFormat(value, formatStr || 'dd/MM/yyyy');\n return parsed.isValid ? parsed : null;\n }\n\n isBefore(date: unknown, compare: unknown): boolean {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (date as any) < (compare as any);\n }\n\n isAfter(date: unknown, compare: unknown): boolean {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (date as any) > (compare as any);\n }\n\n isSameDay(a: unknown, b: unknown): boolean {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (a as any).hasSame(b, 'day');\n }\n\n isValid(date: unknown): date is unknown {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return date != null && (date as any).isValid === true;\n }\n}\n\n/** Provider helper for using the Luxon adapter. */\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function provideEdsLuxonDateAdapter() {\n return { provide: EDS_DATE_ADAPTER, useClass: EdsLuxonDateAdapter };\n}\n","import { EdsDatepicker } from './eds-datepicker';\n\nexport { EdsDatepicker };\nexport { EDS_DATE_ADAPTER, EdsDateAdapter, EdsNativeDateAdapter, provideEdsNativeDateAdapter } from './eds-date-adapter';\nexport { EdsLuxonDateAdapter, provideEdsLuxonDateAdapter, setLuxonDateTime } from './eds-luxon-date-adapter';\n\n/** Convenience array for importing eds-datepicker. */\nexport const EDS_DATEPICKER = [\n EdsDatepicker,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-eds-eds-datepicker.mjs","sources":["../../eds-datepicker/eds-date-adapter.ts","../../eds-datepicker/eds-datepicker.ts","../../eds-datepicker/eds-datepicker.html","../../eds-datepicker/eds-luxon-date-adapter.ts","../../eds-datepicker/index.ts","../../eds-datepicker/eui-eds-eds-datepicker.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\n/**\n * Abstract date adapter interface for eds-datepicker.\n * Implement this to support different date libraries (native Date, Luxon, etc.)\n */\nexport interface EdsDateAdapter<D = unknown> {\n /** Create a date from year, month (0-based), day. */\n create(year: number, month: number, day: number): D;\n /** Get today's date. */\n today(): D;\n /** Get the year of a date. */\n getYear(date: D): number;\n /** Get the month (0-based) of a date. */\n getMonth(date: D): number;\n /** Get the day of the month. */\n getDate(date: D): number;\n /** Get day of week (1=Monday, 7=Sunday). */\n getDayOfWeek(date: D): number;\n /** Get number of days in the given month. */\n getDaysInMonth(date: D): number;\n /** Add months to a date. */\n addMonths(date: D, months: number): D;\n /** Format a date for display (dd/mm/yyyy by default). */\n format(date: D, formatStr?: string): string;\n /** Parse a string into a date. Returns null if invalid. */\n parse(value: string, formatStr?: string): D | null;\n /** Check if a date is before another. */\n isBefore(date: D, compare: D): boolean;\n /** Check if a date is after another. */\n isAfter(date: D, compare: D): boolean;\n /** Check if two dates are the same day. */\n isSameDay(a: D, b: D): boolean;\n /** Check if a value is a valid date. */\n isValid(date: unknown): date is D;\n}\n\n/** Injection token for the EDS date adapter. */\nexport const EDS_DATE_ADAPTER = new InjectionToken<EdsDateAdapter>('EDS_DATE_ADAPTER');\n\n/**\n * Default native Date adapter.\n */\nexport class EdsNativeDateAdapter implements EdsDateAdapter<Date> {\n create(year: number, month: number, day: number): Date {\n return new Date(year, month, day);\n }\n\n today(): Date {\n return new Date();\n }\n\n getYear(date: Date): number {\n return date.getFullYear();\n }\n\n getMonth(date: Date): number {\n return date.getMonth();\n }\n\n getDate(date: Date): number {\n return date.getDate();\n }\n\n getDayOfWeek(date: Date): number {\n // Convert Sunday=0 to Monday=1...Sunday=7\n const dow = date.getDay();\n return dow === 0 ? 7 : dow;\n }\n\n getDaysInMonth(date: Date): number {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate();\n }\n\n addMonths(date: Date, months: number): Date {\n return new Date(date.getFullYear(), date.getMonth() + months, 1);\n }\n\n format(date: Date, _formatStr?: string): string {\n const d = String(date.getDate()).padStart(2, '0');\n const m = String(date.getMonth() + 1).padStart(2, '0');\n const y = date.getFullYear();\n return `${d}/${m}/${y}`;\n }\n\n parse(value: string, _formatStr?: string): Date | null {\n const parts = value.split('/');\n if (parts.length !== 3) {\n return null;\n }\n const day = parseInt(parts[0], 10);\n const month = parseInt(parts[1], 10) - 1;\n const year = parseInt(parts[2], 10);\n if (isNaN(day) || isNaN(month) || isNaN(year)) {\n return null;\n }\n const date = new Date(year, month, day);\n if (date.getDate() !== day || date.getMonth() !== month || date.getFullYear() !== year) {\n return null;\n }\n return date;\n }\n\n isBefore(date: Date, compare: Date): boolean {\n return date.getTime() < compare.getTime();\n }\n\n isAfter(date: Date, compare: Date): boolean {\n return date.getTime() > compare.getTime();\n }\n\n isSameDay(a: Date, b: Date): boolean {\n return a.getDate() === b.getDate() &&\n a.getMonth() === b.getMonth() &&\n a.getFullYear() === b.getFullYear();\n }\n\n isValid(date: unknown): date is Date {\n return date instanceof Date && !isNaN(date.getTime());\n }\n}\n\n/** Provider helper for using the native Date adapter. */\nexport function provideEdsNativeDateAdapter(): { provide: typeof EDS_DATE_ADAPTER; useClass: typeof EdsNativeDateAdapter } {\n return { provide: EDS_DATE_ADAPTER, useClass: EdsNativeDateAdapter };\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n input,\n output,\n model,\n signal,\n computed,\n booleanAttribute,\n inject,\n ElementRef,\n HostListener,\n OnDestroy,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { EDS_ICON } from '@eui/eds/eds-icon';\nimport { EDS_INPUT_TEXT } from '@eui/eds/eds-input-text';\nimport { EDS_INPUT_BUTTON } from '@eui/eds/eds-input-button';\nimport { EDS_BUTTON } from '@eui/eds/eds-button';\nimport { EDS_TIMEPICKER } from '@eui/eds/eds-timepicker';\nimport { EDS_DATE_ADAPTER, EdsDateAdapter, EdsNativeDateAdapter } from './eds-date-adapter';\n\n@Component({\n selector: 'eds-datepicker',\n templateUrl: './eds-datepicker.html',\n styleUrl: './eds-datepicker.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [...EDS_ICON, ...EDS_INPUT_TEXT, ...EDS_INPUT_BUTTON, ...EDS_BUTTON, ...EDS_TIMEPICKER],\n host: {\n '[attr.data-e2e]': 'e2eAttr()',\n },\n})\nexport class EdsDatepicker implements ControlValueAccessor, OnDestroy {\n /** Data attribute for e2e testing. */\n e2eAttr = input('eds-datepicker');\n\n /** Input element id. */\n inputId = input('eds-datepicker-input');\n\n /** Placeholder text. */\n placeholder = input('dd/mm/yyyy');\n\n /** Aria label for the input. */\n ariaLabel = input('Date input');\n\n /** Date format for display (default: dd/mm/yyyy). */\n dateFormat = input('dd/mm/yyyy');\n\n /** Minimum selectable date. */\n minDate = input<Date | null>(null);\n\n /** Maximum selectable date. */\n maxDate = input<Date | null>(null);\n\n /** Whether the datepicker is disabled. */\n disabled = input(false, { transform: booleanAttribute });\n\n /** Whether the datepicker is readonly. */\n readonly = input(false, { transform: booleanAttribute });\n\n /** Whether to show a clear button that resets the selected date. */\n clearable = input(false, { transform: booleanAttribute });\n\n /** Whether to show a timepicker alongside the calendar. */\n isDatetimepicker = input(false, { transform: booleanAttribute });\n\n /** Whether the timepicker shows seconds. */\n hasSeconds = input(false, { transform: booleanAttribute });\n\n /** Emitted when a date is selected. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n dateChange = output<any>();\n\n /** The selected date value. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value = model<any>(null);\n\n /** Whether the calendar dropdown is open. */\n isOpen = signal(false);\n\n /** Whether the dropdown should open above the input. */\n dropUp = signal(false);\n\n /** Current viewed month/year for the calendar. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n viewDate = signal<any>(null);\n\n /** Weekday header labels. */\n weekDays = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];\n\n /** Current time selection (for datetime mode). */\n selectedTime = signal<{ hours: number; minutes: number; seconds?: number }>({ hours: 0, minutes: 0, seconds: 0 });\n\n /** The date adapter (native Date or Luxon). */\n adapter: EdsDateAdapter = inject(EDS_DATE_ADAPTER, { optional: true }) || new EdsNativeDateAdapter();\n\n /** Computed display value for the input. */\n displayValue = computed(() => {\n const date = this.value();\n if (!date || !this.adapter.isValid(date)) {\n return '';\n }\n const dateStr = this.adapter.format(date);\n if (this.isDatetimepicker()) {\n const time = this.selectedTime();\n const h = String(time.hours).padStart(2, '0');\n const m = String(time.minutes).padStart(2, '0');\n if (this.hasSeconds() && time.seconds !== undefined) {\n const s = String(time.seconds).padStart(2, '0');\n return `${dateStr} ${h}:${m}:${s}`;\n }\n return `${dateStr} ${h}:${m}`;\n }\n return dateStr;\n });\n\n /** Computed month/year label for the header. */\n monthLabel = computed(() => {\n const d = this.viewDate() || this.adapter.today();\n const months = ['January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December'];\n return `${months[this.adapter.getMonth(d)]} ${this.adapter.getYear(d)}`;\n });\n\n /** Computed calendar day grid. */\n calendarDays = computed(() => {\n const vd = this.viewDate() || this.adapter.today();\n const year = this.adapter.getYear(vd);\n const month = this.adapter.getMonth(vd);\n const firstDay = this.adapter.create(year, month, 1);\n // Monday-based: 1=Mon, 7=Sun\n const startDay = this.adapter.getDayOfWeek(firstDay) - 1;\n const daysInMonth = this.adapter.getDaysInMonth(firstDay);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const days: (any | null)[] = [];\n\n // Empty slots before first day\n for (let i = 0; i < startDay; i++) {\n days.push(null);\n }\n // Actual days\n for (let i = 1; i <= daysInMonth; i++) {\n days.push(this.adapter.create(year, month, i));\n }\n return days;\n });\n\n private _elementRef = inject(ElementRef);\n private _ngControl = inject(NgControl, { optional: true, self: true });\n private _documentClickListener: ((e: Event) => void) | null = null;\n\n constructor() {\n if (this._ngControl) {\n this._ngControl.valueAccessor = this;\n }\n this.viewDate.set(this.adapter.today());\n }\n\n ngOnDestroy(): void {\n this._removeDocumentListener();\n }\n\n // --- Public API ---\n\n toggle(): void {\n if (this.disabled() || this.readonly()) {\n return;\n }\n this.isOpen.set(!this.isOpen());\n if (this.isOpen()) {\n // Set view to selected date or today\n this.viewDate.set(this.adapter.isValid(this.value()) ? this.value() : this.adapter.today());\n\n // Check if there's enough space below — if not, open above\n const rect = this._elementRef.nativeElement.getBoundingClientRect();\n const dropdownHeight = this.isDatetimepicker() ? 420 : 320;\n const spaceBelow = window.innerHeight - rect.bottom;\n this.dropUp.set(spaceBelow < dropdownHeight && rect.top > dropdownHeight);\n\n this._addDocumentListener();\n } else {\n this._removeDocumentListener();\n }\n }\n\n onInputClick(): void {\n if (!this.isOpen()) {\n this.toggle();\n }\n }\n\n prevMonth(): void {\n this.viewDate.set(this.adapter.addMonths(this.viewDate(), -1));\n }\n\n nextMonth(): void {\n this.viewDate.set(this.adapter.addMonths(this.viewDate(), 1));\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n selectDay(date: any): void {\n this.value.set(date);\n this._onChange(date);\n this.dateChange.emit(date);\n this.isOpen.set(false);\n this._removeDocumentListener();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isToday(date: any): boolean {\n return this.adapter.isSameDay(date, this.adapter.today());\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isSelected(date: any): boolean {\n const sel = this.value();\n if (!sel || !this.adapter.isValid(sel)) {\n return false;\n }\n return this.adapter.isSameDay(date, sel);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isOutsideRange(date: any): boolean {\n const min = this.minDate();\n const max = this.maxDate();\n if (min && this.adapter.isBefore(date, min)) {\n return true;\n }\n if (max && this.adapter.isAfter(date, max)) {\n return true;\n }\n return false;\n }\n\n onInputChange(event: Event): void {\n const val = (event.target as HTMLInputElement).value;\n if (val === '') {\n this.value.set(null);\n this._onChange(null);\n this.dateChange.emit(null);\n return;\n }\n const parsed = this.adapter.parse(val);\n if (parsed) {\n this.value.set(parsed);\n this._onChange(parsed);\n this.dateChange.emit(parsed);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onTimeChange(time: any): void {\n this.selectedTime.set(time);\n // If a date is already selected, re-emit with the time applied\n // (consumer is responsible for combining date + time as needed)\n }\n\n // --- ControlValueAccessor ---\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.value.set(value);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: (value: any) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(_isDisabled: boolean): void {\n // Handled via input signal\n }\n\n // ControlValueAccessor\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n protected onTouched: () => void = () => { /* noop */ };\n\n // --- Private ---\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-explicit-any\n private _onChange: (value: any) => void = () => { /* noop */ };\n\n private _addDocumentListener(): void {\n if (!this._documentClickListener) {\n this._documentClickListener = (e: Event): void => {\n if (!this._elementRef.nativeElement.contains(e.target)) {\n this.isOpen.set(false);\n this._removeDocumentListener();\n }\n };\n document.addEventListener('click', this._documentClickListener);\n }\n }\n\n private _removeDocumentListener(): void {\n if (this._documentClickListener) {\n document.removeEventListener('click', this._documentClickListener);\n this._documentClickListener = null;\n }\n }\n}\n","<eds-input-button class=\"eds-datepicker__group\">\n <input edsInputText\n [edsClearable]=\"clearable()\"\n [id]=\"inputId()\"\n [placeholder]=\"placeholder()\"\n [value]=\"displayValue()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n [attr.aria-label]=\"ariaLabel()\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onTouched()\"\n (click)=\"onInputClick()\"/>\n @if (!readonly() && !disabled()) {\n <button edsButton variant=\"secondary\" color=\"neutral\" size=\"s\" type=\"button\" [attr.aria-label]=\"'Open calendar'\" (click)=\"toggle()\">\n <eds-icon icon=\"calendar-blank:core\"/>\n </button>\n }\n</eds-input-button>\n\n@if (isOpen()) {\n <div class=\"eds-datepicker__dropdown\" [class.eds-datepicker__dropdown--up]=\"dropUp()\" (click)=\"$event.stopPropagation()\">\n <div class=\"eds-datepicker__header\">\n <button class=\"eds-datepicker__nav-btn\" type=\"button\" (click)=\"prevMonth()\" aria-label=\"Previous month\">‹</button>\n <span class=\"eds-datepicker__month-label\">{{ monthLabel() }}</span>\n <button class=\"eds-datepicker__nav-btn\" type=\"button\" (click)=\"nextMonth()\" aria-label=\"Next month\">›</button>\n </div>\n <div class=\"eds-datepicker__weekdays\">\n @for (day of weekDays; track day) {\n <span class=\"eds-datepicker__weekday\">{{ day }}</span>\n }\n </div>\n <div class=\"eds-datepicker__days\">\n @for (day of calendarDays(); track $index) {\n @if (day === null) {\n <span class=\"eds-datepicker__day eds-datepicker__day--empty\"></span>\n } @else {\n <button class=\"eds-datepicker__day\"\n type=\"button\"\n [class.eds-datepicker__day--today]=\"isToday(day)\"\n [class.eds-datepicker__day--selected]=\"isSelected(day)\"\n [class.eds-datepicker__day--outside]=\"isOutsideRange(day)\"\n [disabled]=\"isOutsideRange(day)\"\n (click)=\"selectDay(day)\">\n {{ adapter.getDate(day) }}\n </button>\n }\n }\n </div>\n\n @if (isDatetimepicker()) {\n <div class=\"eds-datepicker__time\">\n <eds-timepicker [hasSeconds]=\"hasSeconds()\" [disabled]=\"disabled()\" (timeChange)=\"onTimeChange($event)\"/>\n </div>\n }\n </div>\n}\n","import { EdsDateAdapter, EDS_DATE_ADAPTER } from './eds-date-adapter';\n\n// Luxon is expected to be available as a peer dependency\n// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-explicit-any\nlet luxonDateTime: any = null;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-explicit-any\n luxonDateTime = (globalThis as any).__luxon_DateTime;\n} catch {\n // Will be set on first use\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getLuxonDateTime(): any {\n if (!luxonDateTime) {\n // Attempt to access luxon from the global scope (loaded via import in consumer app)\n throw new Error('Luxon DateTime not available. Ensure luxon is imported in your application and call setLuxonDateTime(DateTime) before using EdsLuxonDateAdapter.');\n }\n return luxonDateTime;\n}\n\n/**\n * Call this function to provide the Luxon DateTime class to the adapter.\n * Usage in your app:\n * ```typescript\n * import { DateTime } from 'luxon';\n * import { setLuxonDateTime } from '@eui/eds/eds-datepicker';\n * setLuxonDateTime(DateTime);\n * ```\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function setLuxonDateTime(dt: any): void {\n luxonDateTime = dt;\n}\n\n/**\n * Luxon DateTime adapter for eds-datepicker.\n * Requires `luxon` package to be installed and `setLuxonDateTime(DateTime)` to be called.\n */\nexport class EdsLuxonDateAdapter implements EdsDateAdapter<unknown> {\n create(year: number, month: number, day: number): unknown {\n const DT = getLuxonDateTime();\n // Luxon months are 1-based\n return DT.local(year, month + 1, day);\n }\n\n today(): unknown {\n return getLuxonDateTime().now();\n }\n\n getYear(date: unknown): number {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (date as any).year;\n }\n\n getMonth(date: unknown): number {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (date as any).month - 1;\n }\n\n getDate(date: unknown): number {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (date as any).day;\n }\n\n getDayOfWeek(date: unknown): number {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (date as any).weekday;\n }\n\n getDaysInMonth(date: unknown): number {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (date as any).daysInMonth;\n }\n\n addMonths(date: unknown, months: number): unknown {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (date as any).plus({ months }).startOf('month');\n }\n\n format(date: unknown, formatStr?: string): string {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (date as any).toFormat(formatStr || 'dd/MM/yyyy');\n }\n\n parse(value: string, formatStr?: string): unknown | null {\n const DT = getLuxonDateTime();\n const parsed = DT.fromFormat(value, formatStr || 'dd/MM/yyyy');\n return parsed.isValid ? parsed : null;\n }\n\n isBefore(date: unknown, compare: unknown): boolean {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (date as any) < (compare as any);\n }\n\n isAfter(date: unknown, compare: unknown): boolean {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (date as any) > (compare as any);\n }\n\n isSameDay(a: unknown, b: unknown): boolean {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (a as any).hasSame(b, 'day');\n }\n\n isValid(date: unknown): date is unknown {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return date != null && (date as any).isValid === true;\n }\n}\n\n/** Provider helper for using the Luxon adapter. */\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function provideEdsLuxonDateAdapter() {\n return { provide: EDS_DATE_ADAPTER, useClass: EdsLuxonDateAdapter };\n}\n","import { EdsDatepicker } from './eds-datepicker';\n\nexport { EdsDatepicker };\nexport { EDS_DATE_ADAPTER, EdsDateAdapter, EdsNativeDateAdapter, provideEdsNativeDateAdapter } from './eds-date-adapter';\nexport { EdsLuxonDateAdapter, provideEdsLuxonDateAdapter, setLuxonDateTime } from './eds-luxon-date-adapter';\n\n/** Convenience array for importing eds-datepicker. */\nexport const EDS_DATEPICKER = [\n EdsDatepicker,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAqCA;MACa,gBAAgB,GAAG,IAAI,cAAc,CAAiB,kBAAkB;AAErF;;AAEG;MACU,oBAAoB,CAAA;AAC7B,IAAA,MAAM,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW,EAAA;QAC3C,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC;IACrC;IAEA,KAAK,GAAA;QACD,OAAO,IAAI,IAAI,EAAE;IACrB;AAEA,IAAA,OAAO,CAAC,IAAU,EAAA;AACd,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE;IAC7B;AAEA,IAAA,QAAQ,CAAC,IAAU,EAAA;AACf,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE;IAC1B;AAEA,IAAA,OAAO,CAAC,IAAU,EAAA;AACd,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE;IACzB;AAEA,IAAA,YAAY,CAAC,IAAU,EAAA;;AAEnB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE;QACzB,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG;IAC9B;AAEA,IAAA,cAAc,CAAC,IAAU,EAAA;QACrB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;IACzE;IAEA,SAAS,CAAC,IAAU,EAAE,MAAc,EAAA;AAChC,QAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACpE;IAEA,MAAM,CAAC,IAAU,EAAE,UAAmB,EAAA;AAClC,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACjD,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACtD,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE;AAC5B,QAAA,OAAO,GAAG,CAAC,CAAA,CAAA,EAAI,CAAC,CAAA,CAAA,EAAI,CAAC,EAAE;IAC3B;IAEA,KAAK,CAAC,KAAa,EAAE,UAAmB,EAAA;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9B,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACpB,YAAA,OAAO,IAAI;QACf;QACA,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAClC,QAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;QACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACnC,QAAA,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;AAC3C,YAAA,OAAO,IAAI;QACf;QACA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC;QACvC,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;AACpF,YAAA,OAAO,IAAI;QACf;AACA,QAAA,OAAO,IAAI;IACf;IAEA,QAAQ,CAAC,IAAU,EAAE,OAAa,EAAA;QAC9B,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE;IAC7C;IAEA,OAAO,CAAC,IAAU,EAAE,OAAa,EAAA;QAC7B,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE;IAC7C;IAEA,SAAS,CAAC,CAAO,EAAE,CAAO,EAAA;QACtB,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE;AAC9B,YAAA,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE;YAC7B,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE;IAC3C;AAEA,IAAA,OAAO,CAAC,IAAa,EAAA;AACjB,QAAA,OAAO,IAAI,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACzD;AACH;AAED;SACgB,2BAA2B,GAAA;IACvC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,oBAAoB,EAAE;AACxE;;MC7Fa,aAAa,CAAA;AAuHtB,IAAA,WAAA,GAAA;;QArHA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,gBAAgB;oFAAC;;QAGjC,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,sBAAsB;oFAAC;;QAGvC,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,YAAY;wFAAC;;QAGjC,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,YAAY;sFAAC;;QAG/B,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,YAAY;uFAAC;;QAGhC,IAAA,CAAA,OAAO,GAAG,KAAK,CAAc,IAAI;oFAAC;;QAGlC,IAAA,CAAA,OAAO,GAAG,KAAK,CAAc,IAAI;oFAAC;;QAGlC,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;;QAGxD,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;;QAGxD,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,KAAK,iFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;;QAGzD,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,KAAK,wFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;;QAGhE,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,KAAK,kFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;;;QAI1D,IAAA,CAAA,UAAU,GAAG,MAAM,EAAO;;;QAI1B,IAAA,CAAA,KAAK,GAAG,KAAK,CAAM,IAAI;kFAAC;;QAGxB,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,KAAK;mFAAC;;QAGtB,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,KAAK;mFAAC;;;QAItB,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAM,IAAI;qFAAC;;AAG5B,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;;AAGrD,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAuD,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;yFAAC;;AAGjH,QAAA,IAAA,CAAA,OAAO,GAAmB,MAAM,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,oBAAoB,EAAE;;AAGpG,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;AACzB,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE;AACzB,YAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACtC,gBAAA,OAAO,EAAE;YACb;YACA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;AACzC,YAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;AACzB,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE;AAChC,gBAAA,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAC7C,gBAAA,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC/C,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;AACjD,oBAAA,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;oBAC/C,OAAO,CAAA,EAAG,OAAO,CAAA,CAAA,EAAI,CAAC,IAAI,CAAC,CAAA,CAAA,EAAI,CAAC,CAAA,CAAE;gBACtC;AACA,gBAAA,OAAO,GAAG,OAAO,CAAA,CAAA,EAAI,CAAC,CAAA,CAAA,EAAI,CAAC,EAAE;YACjC;AACA,YAAA,OAAO,OAAO;QAClB,CAAC;yFAAC;;AAGF,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AACvB,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACjD,YAAA,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;gBAClE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;YACrE,OAAO,CAAA,EAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,CAAE;QAC3E,CAAC;uFAAC;;AAGF,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;AACzB,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAClD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;AACvC,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;;AAEpD,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;YACxD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC;;YAEzD,MAAM,IAAI,GAAmB,EAAE;;AAG/B,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;AAC/B,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACnB;;AAEA,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC,EAAE,EAAE;AACnC,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAClD;AACA,YAAA,OAAO,IAAI;QACf,CAAC;yFAAC;AAEM,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AAChC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9D,IAAA,CAAA,sBAAsB,GAAgC,IAAI;;;AAmIxD,QAAA,IAAA,CAAA,SAAS,GAAe,MAAK,EAAc,CAAC;;;AAK9C,QAAA,IAAA,CAAA,SAAS,GAAyB,MAAK,EAAc,CAAC;AArI1D,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI;QACxC;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC3C;IAEA,WAAW,GAAA;QACP,IAAI,CAAC,uBAAuB,EAAE;IAClC;;IAIA,MAAM,GAAA;QACF,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpC;QACJ;QACA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AAC/B,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;;AAEf,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;;YAG3F,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,qBAAqB,EAAE;AACnE,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,GAAG,GAAG,GAAG;YAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM;AACnD,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,GAAG,cAAc,IAAI,IAAI,CAAC,GAAG,GAAG,cAAc,CAAC;YAEzE,IAAI,CAAC,oBAAoB,EAAE;QAC/B;aAAO;YACH,IAAI,CAAC,uBAAuB,EAAE;QAClC;IACJ;IAEA,YAAY,GAAA;AACR,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;YAChB,IAAI,CAAC,MAAM,EAAE;QACjB;IACJ;IAEA,SAAS,GAAA;QACL,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAClE;IAEA,SAAS,GAAA;AACL,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IACjE;;AAGA,IAAA,SAAS,CAAC,IAAS,EAAA;AACf,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QACtB,IAAI,CAAC,uBAAuB,EAAE;IAClC;;AAGA,IAAA,OAAO,CAAC,IAAS,EAAA;AACb,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC7D;;AAGA,IAAA,UAAU,CAAC,IAAS,EAAA;AAChB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE;AACxB,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AACpC,YAAA,OAAO,KAAK;QAChB;QACA,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC;IAC5C;;AAGA,IAAA,cAAc,CAAC,IAAS,EAAA;AACpB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE;AAC1B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE;AAC1B,QAAA,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;AACzC,YAAA,OAAO,IAAI;QACf;AACA,QAAA,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;AACxC,YAAA,OAAO,IAAI;QACf;AACA,QAAA,OAAO,KAAK;IAChB;AAEA,IAAA,aAAa,CAAC,KAAY,EAAA;AACtB,QAAA,MAAM,GAAG,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK;AACpD,QAAA,IAAI,GAAG,KAAK,EAAE,EAAE;AACZ,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;AACpB,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AACpB,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1B;QACJ;QACA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;QACtC,IAAI,MAAM,EAAE;AACR,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;AACtB,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;AACtB,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAChC;IACJ;;AAGA,IAAA,YAAY,CAAC,IAAS,EAAA;AAClB,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;;;IAG/B;;;AAKA,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;IACzB;;AAGA,IAAA,gBAAgB,CAAC,EAAwB,EAAA;AACrC,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACvB;AAEA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACvB;AAEA,IAAA,gBAAgB,CAAC,WAAoB,EAAA;;IAErC;IAWQ,oBAAoB,GAAA;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;AAC9B,YAAA,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAQ,KAAU;AAC7C,gBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;AACpD,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;oBACtB,IAAI,CAAC,uBAAuB,EAAE;gBAClC;AACJ,YAAA,CAAC;YACD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC;QACnE;IACJ;IAEQ,uBAAuB,GAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC7B,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC;AAClE,YAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI;QACtC;IACJ;8GAhRS,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,s3DChC1B,mlFAwDA,EAAA,MAAA,EAAA,CAAA,muHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,WAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,wBAAA,EAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,SAAA,EAAA,OAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDxBa,aAAa,EAAA,UAAA,EAAA,CAAA;kBAVzB,SAAS;+BACI,gBAAgB,EAAA,eAAA,EAGT,uBAAuB,CAAC,MAAM,WACtC,CAAC,GAAG,QAAQ,EAAE,GAAG,cAAc,EAAE,GAAG,gBAAgB,EAAE,GAAG,UAAU,EAAE,GAAG,cAAc,CAAC,EAAA,IAAA,EAC1F;AACF,wBAAA,iBAAiB,EAAE,WAAW;AACjC,qBAAA,EAAA,QAAA,EAAA,mlFAAA,EAAA,MAAA,EAAA,CAAA,muHAAA,CAAA,EAAA;;;AE5BL;AACA;AACA,IAAI,aAAa,GAAQ,IAAI;AAC7B,IAAI;;AAEA,IAAA,aAAa,GAAI,UAAkB,CAAC,gBAAgB;AACxD;AAAE,MAAM;;AAER;AAEA;AACA,SAAS,gBAAgB,GAAA;IACrB,IAAI,CAAC,aAAa,EAAE;;AAEhB,QAAA,MAAM,IAAI,KAAK,CAAC,kJAAkJ,CAAC;IACvK;AACA,IAAA,OAAO,aAAa;AACxB;AAEA;;;;;;;;AAQG;AACH;AACM,SAAU,gBAAgB,CAAC,EAAO,EAAA;IACpC,aAAa,GAAG,EAAE;AACtB;AAEA;;;AAGG;MACU,mBAAmB,CAAA;AAC5B,IAAA,MAAM,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW,EAAA;AAC3C,QAAA,MAAM,EAAE,GAAG,gBAAgB,EAAE;;AAE7B,QAAA,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC;IACzC;IAEA,KAAK,GAAA;AACD,QAAA,OAAO,gBAAgB,EAAE,CAAC,GAAG,EAAE;IACnC;AAEA,IAAA,OAAO,CAAC,IAAa,EAAA;;QAEjB,OAAQ,IAAY,CAAC,IAAI;IAC7B;AAEA,IAAA,QAAQ,CAAC,IAAa,EAAA;;AAElB,QAAA,OAAQ,IAAY,CAAC,KAAK,GAAG,CAAC;IAClC;AAEA,IAAA,OAAO,CAAC,IAAa,EAAA;;QAEjB,OAAQ,IAAY,CAAC,GAAG;IAC5B;AAEA,IAAA,YAAY,CAAC,IAAa,EAAA;;QAEtB,OAAQ,IAAY,CAAC,OAAO;IAChC;AAEA,IAAA,cAAc,CAAC,IAAa,EAAA;;QAExB,OAAQ,IAAY,CAAC,WAAW;IACpC;IAEA,SAAS,CAAC,IAAa,EAAE,MAAc,EAAA;;AAEnC,QAAA,OAAQ,IAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAC1D;IAEA,MAAM,CAAC,IAAa,EAAE,SAAkB,EAAA;;QAEpC,OAAQ,IAAY,CAAC,QAAQ,CAAC,SAAS,IAAI,YAAY,CAAC;IAC5D;IAEA,KAAK,CAAC,KAAa,EAAE,SAAkB,EAAA;AACnC,QAAA,MAAM,EAAE,GAAG,gBAAgB,EAAE;AAC7B,QAAA,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,IAAI,YAAY,CAAC;QAC9D,OAAO,MAAM,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI;IACzC;IAEA,QAAQ,CAAC,IAAa,EAAE,OAAgB,EAAA;;QAEpC,OAAQ,IAAY,GAAI,OAAe;IAC3C;IAEA,OAAO,CAAC,IAAa,EAAE,OAAgB,EAAA;;QAEnC,OAAQ,IAAY,GAAI,OAAe;IAC3C;IAEA,SAAS,CAAC,CAAU,EAAE,CAAU,EAAA;;QAE5B,OAAQ,CAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC;IACvC;AAEA,IAAA,OAAO,CAAC,IAAa,EAAA;;QAEjB,OAAO,IAAI,IAAI,IAAI,IAAK,IAAY,CAAC,OAAO,KAAK,IAAI;IACzD;AACH;AAED;AACA;SACgB,0BAA0B,GAAA;IACtC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,mBAAmB,EAAE;AACvE;;AC9GA;AACO,MAAM,cAAc,GAAG;IAC1B,aAAa;;;ACRjB;;AAEG;;"}
@@ -156,7 +156,7 @@ class EdsInputButton {
156
156
  this.managedChildren().forEach((el, i) => el.setAttribute('tabindex', i === index ? '0' : '-1'));
157
157
  }
158
158
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsInputButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
159
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.2", type: EdsInputButton, isStandalone: true, selector: "eds-input-button", inputs: { e2eAttr: { classPropertyName: "e2eAttr", publicName: "e2eAttr", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, edsButtonPositionStart: { classPropertyName: "edsButtonPositionStart", publicName: "edsButtonPositionStart", isSignal: true, isRequired: false, transformFunction: null }, edsButtonPositionEnd: { classPropertyName: "edsButtonPositionEnd", publicName: "edsButtonPositionEnd", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "group" }, listeners: { "focusin": "onFocusIn($event)", "keydown": "onKeydown($event)" }, properties: { "attr.position": "position()", "attr.size": "size()", "attr.data-e2e": "e2eAttr()" }, classAttribute: "eds-input-button" }, ngImport: i0, template: "<ng-content />\n<ng-content select=\"button\"/>\n", styles: [".eui-21 :host{display:flex;width:100%;border-radius:var(--eds-br-s);outline:none;position:relative}.eui-21 :host>::ng-deep input,.eui-21 :host>::ng-deep select,.eui-21 :host>::ng-deep eds-autocomplete,.eui-21 :host>::ng-deep eds-input-addon{flex:1 1 auto;min-width:0;order:1}.eui-21 :host>::ng-deep .eds-button,.eui-21 :host>::ng-deep button{flex:0 0 auto;order:3}.eui-21 :host>::ng-deep div:has(input),.eui-21 :host>::ng-deep div:has(select){flex:1 1 auto!important;width:auto!important;min-width:0;order:1}.eui-21 :host>::ng-deep div:not(:has(input)):not(:has(select)){flex:0 0 0!important;width:0!important;min-width:0;order:2}.eui-21 :host:focus-within{outline:var(--eds-bw-s) solid var(--eds-c-border-primary);outline-offset:var(--eds-bw-s)}.eui-21 :host:focus-within ::ng-deep input:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep input:focus:not([readonly]),.eui-21 :host:focus-within ::ng-deep input[invalid]:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep input[invalid]:focus:not([readonly]),.eui-21 :host:focus-within ::ng-deep select:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep select:focus:not([readonly]),.eui-21 :host:focus-within ::ng-deep select[invalid]:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep select[invalid]:focus:not([readonly]){outline:none!important;outline-offset:0!important;box-shadow:none!important}.eui-21 :host:focus-within ::ng-deep .eds-button:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep .eds-icon-button:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:calc(-1 * var(--eds-bw-s))!important}.eui-21 :host:focus-within:has(input[invalid]),.eui-21 :host:focus-within:has(select[invalid]){outline-color:var(--eds-c-focus-critical)}.eui-21 :host:focus-within:has(input[invalid]) ::ng-deep .eds-button:focus-visible:not([readonly]),.eui-21 :host:focus-within:has(input[invalid]) ::ng-deep .eds-icon-button:focus-visible:not([readonly]),.eui-21 :host:focus-within:has(select[invalid]) ::ng-deep .eds-button:focus-visible:not([readonly]),.eui-21 :host:focus-within:has(select[invalid]) ::ng-deep .eds-icon-button:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-focus-critical)!important;outline-offset:calc(-1 * var(--eds-bw-s))!important}.eui-21 :host ::ng-deep .eds-button,.eui-21 :host ::ng-deep .eds-icon-button{border:var(--eds-bw-xs) solid var(--eds-c-border-neutral);box-sizing:border-box;height:var(--eds-si-4xl);min-height:var(--eds-si-4xl);position:relative}.eui-21 :host ::ng-deep .eds-icon-button{--_eds-icon-button-surface-hover: var(--eds-c-surface-neutral-subtler)}.eui-21 :host ::ng-deep .eds-button:not(:hover):not(:active),.eui-21 :host ::ng-deep .eds-icon-button:not(:hover):not(:active){background-color:var(--eds-c-surface-elevation)}.eui-21 :host ::ng-deep .eds-button[disabled],.eui-21 :host ::ng-deep .eds-button[aria-disabled=true],.eui-21 :host ::ng-deep .eds-icon-button[disabled],.eui-21 :host ::ng-deep .eds-icon-button[aria-disabled=true]{background-color:var(--eds-c-surface-disabled-subtle)!important;border-color:var(--eds-c-border-disabled);box-shadow:none!important;pointer-events:none}.eui-21 :host:has(input[invalid]) ::ng-deep .eds-button,.eui-21 :host:has(input[invalid]) ::ng-deep .eds-icon-button,.eui-21 :host:has(select[invalid]) ::ng-deep .eds-button,.eui-21 :host:has(select[invalid]) ::ng-deep .eds-icon-button{border-color:var(--eds-c-border-critical)}.eui-21 :host([invalid]) ::ng-deep .eds-button{border-color:var(--eds-c-border-critical)}.eui-21 :host([invalid]):focus-within{outline:var(--eds-bw-s) solid var(--eds-c-focus-critical)!important;outline-offset:var(--eds-bw-s)!important}.eui-21 :host([invalid]):focus-within ::ng-deep .eds-button:focus-visible:not([readonly]),.eui-21 :host([invalid]):focus-within ::ng-deep .eds-icon-button:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-focus-critical)!important;outline-offset:calc(-1 * var(--eds-bw-s))!important}.eui-21 :host ::ng-deep .eds-button.eds-button[aria-pressed]{padding:0 var(--eds-sp-m);--_eds-icon-size-inherit: var(--eds-is-m)}.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled):not([aria-disabled=true]):not(:checked):not(:disabled):not([readonly]):not([indeterminate=true]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled):not([aria-disabled=true]):not(:checked):not(:disabled):not([readonly]):not([indeterminate=true]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled):not([aria-disabled=true]):not(:checked):not(:disabled):not([readonly]):not([indeterminate=true]):not([invalid=true]){border-color:var(--eds-c-border)}.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox:checked:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[checked=true]:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[indeterminate=true]:not([readonly]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox:checked:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[checked=true]:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[indeterminate=true]:not([readonly]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox:checked:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[checked=true]:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[indeterminate=true]:not([readonly]){background-color:var(--eds-c-surface-primary--hover)}.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([invalid=true]){background-color:var(--eds-c-surface-elevation);border-color:var(--eds-c-border-primary--hover)}.eui-21 :host(:not([disabled])):not([readonly]):not([invalid]):not(:has(input[invalid])):not(:has(select[invalid])):hover ::ng-deep .eds-button:not(:disabled):not([aria-disabled=true]),.eui-21 :host(:not([disabled])):not([readonly]):not([invalid]):not(:has(input[invalid])):not(:has(select[invalid])):hover ::ng-deep .eds-input-text:not(:disabled):not([readonly]),.eui-21 :host(:not([disabled])):not([readonly]):not([invalid]):not(:has(input[invalid])):not(:has(select[invalid])):hover ::ng-deep input:not(:disabled):not([readonly]),.eui-21 :host(:not([disabled])):not([readonly]):not([invalid]):not(:has(input[invalid])):not(:has(select[invalid])):hover ::ng-deep select:not(:disabled):not([readonly]){border-color:var(--eds-c-border)}.eui-21 :host([invalid]) ::ng-deep input,.eui-21 :host([invalid]) ::ng-deep select{border-color:var(--eds-c-border-critical)}.eui-21 :host([invalid]:not([disabled]):not([readonly])):focus-within ::ng-deep .eds-button,.eui-21 :host([invalid]:not([disabled]):not([readonly])):focus-within ::ng-deep .eds-button:hover,.eui-21 :host([invalid]:not([disabled]):not([readonly])):focus-within ::ng-deep .eds-button:focus,.eui-21 :host([invalid]:not([disabled]):not([readonly])):hover ::ng-deep .eds-button,.eui-21 :host([invalid]:not([disabled]):not([readonly])):hover ::ng-deep .eds-button:hover,.eui-21 :host([invalid]:not([disabled]):not([readonly])):hover ::ng-deep .eds-button:focus,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):focus-within ::ng-deep .eds-button,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):focus-within ::ng-deep .eds-button:hover,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):focus-within ::ng-deep .eds-button:focus,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):hover ::ng-deep .eds-button,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):hover ::ng-deep .eds-button:hover,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):hover ::ng-deep .eds-button:focus,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):focus-within ::ng-deep .eds-button,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):focus-within ::ng-deep .eds-button:hover,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):focus-within ::ng-deep .eds-button:focus,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):hover ::ng-deep .eds-button,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):hover ::ng-deep .eds-button:hover,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):hover ::ng-deep .eds-button:focus{border-color:var(--eds-c-border-critical)!important}.eui-21 :host([size=s]) ::ng-deep .eds-button.eds-button{height:calc(var(--eds-si-3xl) + var(--eds-si-2xs));min-height:calc(var(--eds-si-3xl) + var(--eds-si-2xs))}.eui-21 :host([size=s]) ::ng-deep input,.eui-21 :host([size=s]) ::ng-deep select{--_eds-input-height: calc(var(--eds-si-3xl) + var(--eds-si-2xs));--_eds-input-pad-v: var(--eds-sp-2xs);--_eds-input-pad-h: var(--eds-sp-s)}.eui-21 :host([size=l]) ::ng-deep .eds-button.eds-button{height:var(--eds-si-6xl);min-height:var(--eds-si-6xl)}.eui-21 :host([size=l]) ::ng-deep input,.eui-21 :host([size=l]) ::ng-deep select{--_eds-input-height: var(--eds-si-6xl);--_eds-input-pad-v: var(--eds-sp-s);--_eds-input-pad-h: var(--eds-sp-m)}.eui-21 :host([position=start]){flex-direction:row-reverse}.eui-21 :host([position=start]) ::ng-deep .eds-button,.eui-21 :host([position=start]) ::ng-deep .eds-icon-button{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--eds-br-s);border-bottom-left-radius:var(--eds-br-s)}.eui-21 :host([position=start]) ::ng-deep .eds-button:after,.eui-21 :host([position=start]) ::ng-deep .eds-icon-button:after{background-color:var(--eds-c-border-divider);content:\"\";display:block;height:1.75rem;right:-1px;position:absolute;top:var(--eds-sp-2xs);width:1px}.eui-21 :host([position=start]) ::ng-deep input,.eui-21 :host([position=start]) ::ng-deep select{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.eui-21 :host([position=end]) ::ng-deep .eds-button,.eui-21 :host([position=end]) ::ng-deep .eds-icon-button{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--eds-br-s);border-bottom-right-radius:var(--eds-br-s)}.eui-21 :host([position=end]) ::ng-deep .eds-button:before,.eui-21 :host([position=end]) ::ng-deep .eds-icon-button:before{background-color:var(--eds-c-border-divider);content:\"\";display:block;left:-1px;position:absolute;bottom:var(--eds-sp-2xs);top:var(--eds-sp-2xs);width:1px}.eui-21 :host([position=end]) ::ng-deep input,.eui-21 :host([position=end]) ::ng-deep select{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
159
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.2", type: EdsInputButton, isStandalone: true, selector: "eds-input-button", inputs: { e2eAttr: { classPropertyName: "e2eAttr", publicName: "e2eAttr", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, edsButtonPositionStart: { classPropertyName: "edsButtonPositionStart", publicName: "edsButtonPositionStart", isSignal: true, isRequired: false, transformFunction: null }, edsButtonPositionEnd: { classPropertyName: "edsButtonPositionEnd", publicName: "edsButtonPositionEnd", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "group" }, listeners: { "focusin": "onFocusIn($event)", "keydown": "onKeydown($event)" }, properties: { "attr.position": "position()", "attr.size": "size()", "attr.data-e2e": "e2eAttr()" }, classAttribute: "eds-input-button" }, ngImport: i0, template: "<ng-content />\n<ng-content select=\"button\"/>\n", styles: [".eui-21 :host{display:flex;width:100%;border-radius:var(--eds-br-s);outline:none;position:relative}.eui-21 :host>::ng-deep input,.eui-21 :host>::ng-deep select,.eui-21 :host>::ng-deep eds-autocomplete,.eui-21 :host>::ng-deep eds-input-addon{flex:1 1 auto;min-width:0;order:1}.eui-21 :host>::ng-deep .eds-button,.eui-21 :host>::ng-deep button{flex:0 0 auto;order:3}.eui-21 :host>::ng-deep div:has(input),.eui-21 :host>::ng-deep div:has(select){flex:1 1 auto!important;width:auto!important;min-width:0;order:1}.eui-21 :host>::ng-deep div:not(:has(input)):not(:has(select)){flex:0 0 0!important;width:0!important;min-width:0;order:2}.eui-21 :host:focus-within{outline:var(--eds-bw-s) solid var(--eds-c-border-primary);outline-offset:var(--eds-bw-s)}.eui-21 :host:focus-within ::ng-deep input:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep input:focus:not([readonly]),.eui-21 :host:focus-within ::ng-deep input[invalid]:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep input[invalid]:focus:not([readonly]),.eui-21 :host:focus-within ::ng-deep select:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep select:focus:not([readonly]),.eui-21 :host:focus-within ::ng-deep select[invalid]:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep select[invalid]:focus:not([readonly]){outline:none!important;outline-offset:0!important;box-shadow:none!important}.eui-21 :host:focus-within ::ng-deep .eds-button:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep .eds-icon-button:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:calc(-1 * var(--eds-bw-s))!important}.eui-21 :host:focus-within:has(input[invalid]),.eui-21 :host:focus-within:has(select[invalid]){outline-color:var(--eds-c-focus-critical)}.eui-21 :host:focus-within:has(input[invalid]) ::ng-deep .eds-button:focus-visible:not([readonly]),.eui-21 :host:focus-within:has(input[invalid]) ::ng-deep .eds-icon-button:focus-visible:not([readonly]),.eui-21 :host:focus-within:has(select[invalid]) ::ng-deep .eds-button:focus-visible:not([readonly]),.eui-21 :host:focus-within:has(select[invalid]) ::ng-deep .eds-icon-button:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-focus-critical)!important;outline-offset:calc(-1 * var(--eds-bw-s))!important}.eui-21 :host ::ng-deep .eds-button,.eui-21 :host ::ng-deep .eds-icon-button{border:var(--eds-bw-xs) solid var(--eds-c-border-neutral);box-sizing:border-box;height:var(--eds-si-4xl);min-height:var(--eds-si-4xl);position:relative}.eui-21 :host ::ng-deep .eds-icon-button{--_eds-icon-button-surface-hover: var(--eds-c-surface-neutral-subtler)}.eui-21 :host ::ng-deep .eds-button:not(:hover):not(:active),.eui-21 :host ::ng-deep .eds-icon-button:not(:hover):not(:active){background-color:var(--eds-c-surface-elevation)}.eui-21 :host ::ng-deep .eds-button[disabled],.eui-21 :host ::ng-deep .eds-button[aria-disabled=true],.eui-21 :host ::ng-deep .eds-icon-button[disabled],.eui-21 :host ::ng-deep .eds-icon-button[aria-disabled=true]{background-color:var(--eds-c-surface-disabled-subtle)!important;border-color:var(--eds-c-border-disabled);box-shadow:none!important;pointer-events:none}.eui-21 :host:has(input[invalid]) ::ng-deep .eds-button,.eui-21 :host:has(input[invalid]) ::ng-deep .eds-icon-button,.eui-21 :host:has(select[invalid]) ::ng-deep .eds-button,.eui-21 :host:has(select[invalid]) ::ng-deep .eds-icon-button{border-color:var(--eds-c-border-critical)}.eui-21 :host([invalid]) ::ng-deep .eds-button{border-color:var(--eds-c-border-critical)}.eui-21 :host([invalid]):focus-within{outline:var(--eds-bw-s) solid var(--eds-c-focus-critical)!important;outline-offset:var(--eds-bw-s)!important}.eui-21 :host([invalid]):focus-within ::ng-deep .eds-button:focus-visible:not([readonly]),.eui-21 :host([invalid]):focus-within ::ng-deep .eds-icon-button:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-focus-critical)!important;outline-offset:calc(-1 * var(--eds-bw-s))!important}.eui-21 :host ::ng-deep .eds-button.eds-button[aria-pressed]{padding:0 var(--eds-sp-m);--_eds-icon-size-inherit: var(--eds-is-m)}.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled):not([aria-disabled=true]):not(:checked):not(:disabled):not([readonly]):not([indeterminate=true]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled):not([aria-disabled=true]):not(:checked):not(:disabled):not([readonly]):not([indeterminate=true]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled):not([aria-disabled=true]):not(:checked):not(:disabled):not([readonly]):not([indeterminate=true]):not([invalid=true]){border-color:var(--eds-c-border)}.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox:checked:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[checked=true]:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[indeterminate=true]:not([readonly]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox:checked:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[checked=true]:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[indeterminate=true]:not([readonly]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox:checked:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[checked=true]:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[indeterminate=true]:not([readonly]){background-color:var(--eds-c-surface-primary--hover)}.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([data-readonly]):not([invalid=true]):not([invalid]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([data-readonly]):not([invalid=true]):not([invalid]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([data-readonly]):not([invalid=true]):not([invalid]){background-color:var(--eds-c-surface-elevation);border-color:var(--eds-c-border-primary--hover)}.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([data-readonly]):not([invalid=true]):not([invalid]):before,.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([data-readonly]):not([invalid=true]):not([invalid]):before,.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([data-readonly]):not([invalid=true]):not([invalid]):before{background-color:var(--eds-c-surface-primary--hover)}.eui-21 :host(:not([disabled])):not([readonly]):not([invalid]):not(:has(input[invalid])):not(:has(select[invalid])):hover ::ng-deep .eds-button:not(:disabled):not([aria-disabled=true]),.eui-21 :host(:not([disabled])):not([readonly]):not([invalid]):not(:has(input[invalid])):not(:has(select[invalid])):hover ::ng-deep .eds-input-text:not(:disabled):not([readonly]),.eui-21 :host(:not([disabled])):not([readonly]):not([invalid]):not(:has(input[invalid])):not(:has(select[invalid])):hover ::ng-deep input:not(:disabled):not([readonly]),.eui-21 :host(:not([disabled])):not([readonly]):not([invalid]):not(:has(input[invalid])):not(:has(select[invalid])):hover ::ng-deep select:not(:disabled):not([readonly]){border-color:var(--eds-c-border)}.eui-21 :host([invalid]) ::ng-deep input,.eui-21 :host([invalid]) ::ng-deep select{border-color:var(--eds-c-border-critical)}.eui-21 :host([invalid]:not([disabled]):not([readonly])):focus-within ::ng-deep .eds-button,.eui-21 :host([invalid]:not([disabled]):not([readonly])):focus-within ::ng-deep .eds-button:hover,.eui-21 :host([invalid]:not([disabled]):not([readonly])):focus-within ::ng-deep .eds-button:focus,.eui-21 :host([invalid]:not([disabled]):not([readonly])):hover ::ng-deep .eds-button,.eui-21 :host([invalid]:not([disabled]):not([readonly])):hover ::ng-deep .eds-button:hover,.eui-21 :host([invalid]:not([disabled]):not([readonly])):hover ::ng-deep .eds-button:focus,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):focus-within ::ng-deep .eds-button,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):focus-within ::ng-deep .eds-button:hover,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):focus-within ::ng-deep .eds-button:focus,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):hover ::ng-deep .eds-button,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):hover ::ng-deep .eds-button:hover,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):hover ::ng-deep .eds-button:focus,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):focus-within ::ng-deep .eds-button,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):focus-within ::ng-deep .eds-button:hover,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):focus-within ::ng-deep .eds-button:focus,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):hover ::ng-deep .eds-button,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):hover ::ng-deep .eds-button:hover,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):hover ::ng-deep .eds-button:focus{border-color:var(--eds-c-border-critical)!important}.eui-21 :host([size=s]) ::ng-deep .eds-button.eds-button{height:calc(var(--eds-si-3xl) + var(--eds-si-2xs));min-height:calc(var(--eds-si-3xl) + var(--eds-si-2xs))}.eui-21 :host([size=s]) ::ng-deep input,.eui-21 :host([size=s]) ::ng-deep select{--_eds-input-height: calc(var(--eds-si-3xl) + var(--eds-si-2xs));--_eds-input-pad-v: var(--eds-sp-2xs);--_eds-input-pad-h: var(--eds-sp-s)}.eui-21 :host([size=l]) ::ng-deep .eds-button.eds-button{height:var(--eds-si-6xl);min-height:var(--eds-si-6xl)}.eui-21 :host([size=l]) ::ng-deep input,.eui-21 :host([size=l]) ::ng-deep select{--_eds-input-height: var(--eds-si-6xl);--_eds-input-pad-v: var(--eds-sp-s);--_eds-input-pad-h: var(--eds-sp-m)}.eui-21 :host([position=start]){flex-direction:row-reverse}.eui-21 :host([position=start]) ::ng-deep .eds-button,.eui-21 :host([position=start]) ::ng-deep .eds-icon-button{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--eds-br-s);border-bottom-left-radius:var(--eds-br-s)}.eui-21 :host([position=start]) ::ng-deep .eds-button:after,.eui-21 :host([position=start]) ::ng-deep .eds-icon-button:after{background-color:var(--eds-c-border-divider);content:\"\";display:block;height:1.75rem;right:-1px;position:absolute;top:var(--eds-sp-2xs);width:1px}.eui-21 :host([position=start]) ::ng-deep input,.eui-21 :host([position=start]) ::ng-deep select{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.eui-21 :host([position=end]) ::ng-deep .eds-button,.eui-21 :host([position=end]) ::ng-deep .eds-icon-button{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--eds-br-s);border-bottom-right-radius:var(--eds-br-s)}.eui-21 :host([position=end]) ::ng-deep .eds-button:before,.eui-21 :host([position=end]) ::ng-deep .eds-icon-button:before{background-color:var(--eds-c-border-divider);content:\"\";display:block;left:-1px;position:absolute;bottom:var(--eds-sp-2xs);top:var(--eds-sp-2xs);width:1px}.eui-21 :host([position=end]) ::ng-deep input,.eui-21 :host([position=end]) ::ng-deep select{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
160
160
  }
161
161
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsInputButton, decorators: [{
162
162
  type: Component,
@@ -170,7 +170,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
170
170
  '[attr.data-e2e]': 'e2eAttr()',
171
171
  '(focusin)': 'onFocusIn($event)',
172
172
  '(keydown)': 'onKeydown($event)',
173
- }, template: "<ng-content />\n<ng-content select=\"button\"/>\n", styles: [".eui-21 :host{display:flex;width:100%;border-radius:var(--eds-br-s);outline:none;position:relative}.eui-21 :host>::ng-deep input,.eui-21 :host>::ng-deep select,.eui-21 :host>::ng-deep eds-autocomplete,.eui-21 :host>::ng-deep eds-input-addon{flex:1 1 auto;min-width:0;order:1}.eui-21 :host>::ng-deep .eds-button,.eui-21 :host>::ng-deep button{flex:0 0 auto;order:3}.eui-21 :host>::ng-deep div:has(input),.eui-21 :host>::ng-deep div:has(select){flex:1 1 auto!important;width:auto!important;min-width:0;order:1}.eui-21 :host>::ng-deep div:not(:has(input)):not(:has(select)){flex:0 0 0!important;width:0!important;min-width:0;order:2}.eui-21 :host:focus-within{outline:var(--eds-bw-s) solid var(--eds-c-border-primary);outline-offset:var(--eds-bw-s)}.eui-21 :host:focus-within ::ng-deep input:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep input:focus:not([readonly]),.eui-21 :host:focus-within ::ng-deep input[invalid]:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep input[invalid]:focus:not([readonly]),.eui-21 :host:focus-within ::ng-deep select:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep select:focus:not([readonly]),.eui-21 :host:focus-within ::ng-deep select[invalid]:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep select[invalid]:focus:not([readonly]){outline:none!important;outline-offset:0!important;box-shadow:none!important}.eui-21 :host:focus-within ::ng-deep .eds-button:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep .eds-icon-button:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:calc(-1 * var(--eds-bw-s))!important}.eui-21 :host:focus-within:has(input[invalid]),.eui-21 :host:focus-within:has(select[invalid]){outline-color:var(--eds-c-focus-critical)}.eui-21 :host:focus-within:has(input[invalid]) ::ng-deep .eds-button:focus-visible:not([readonly]),.eui-21 :host:focus-within:has(input[invalid]) ::ng-deep .eds-icon-button:focus-visible:not([readonly]),.eui-21 :host:focus-within:has(select[invalid]) ::ng-deep .eds-button:focus-visible:not([readonly]),.eui-21 :host:focus-within:has(select[invalid]) ::ng-deep .eds-icon-button:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-focus-critical)!important;outline-offset:calc(-1 * var(--eds-bw-s))!important}.eui-21 :host ::ng-deep .eds-button,.eui-21 :host ::ng-deep .eds-icon-button{border:var(--eds-bw-xs) solid var(--eds-c-border-neutral);box-sizing:border-box;height:var(--eds-si-4xl);min-height:var(--eds-si-4xl);position:relative}.eui-21 :host ::ng-deep .eds-icon-button{--_eds-icon-button-surface-hover: var(--eds-c-surface-neutral-subtler)}.eui-21 :host ::ng-deep .eds-button:not(:hover):not(:active),.eui-21 :host ::ng-deep .eds-icon-button:not(:hover):not(:active){background-color:var(--eds-c-surface-elevation)}.eui-21 :host ::ng-deep .eds-button[disabled],.eui-21 :host ::ng-deep .eds-button[aria-disabled=true],.eui-21 :host ::ng-deep .eds-icon-button[disabled],.eui-21 :host ::ng-deep .eds-icon-button[aria-disabled=true]{background-color:var(--eds-c-surface-disabled-subtle)!important;border-color:var(--eds-c-border-disabled);box-shadow:none!important;pointer-events:none}.eui-21 :host:has(input[invalid]) ::ng-deep .eds-button,.eui-21 :host:has(input[invalid]) ::ng-deep .eds-icon-button,.eui-21 :host:has(select[invalid]) ::ng-deep .eds-button,.eui-21 :host:has(select[invalid]) ::ng-deep .eds-icon-button{border-color:var(--eds-c-border-critical)}.eui-21 :host([invalid]) ::ng-deep .eds-button{border-color:var(--eds-c-border-critical)}.eui-21 :host([invalid]):focus-within{outline:var(--eds-bw-s) solid var(--eds-c-focus-critical)!important;outline-offset:var(--eds-bw-s)!important}.eui-21 :host([invalid]):focus-within ::ng-deep .eds-button:focus-visible:not([readonly]),.eui-21 :host([invalid]):focus-within ::ng-deep .eds-icon-button:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-focus-critical)!important;outline-offset:calc(-1 * var(--eds-bw-s))!important}.eui-21 :host ::ng-deep .eds-button.eds-button[aria-pressed]{padding:0 var(--eds-sp-m);--_eds-icon-size-inherit: var(--eds-is-m)}.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled):not([aria-disabled=true]):not(:checked):not(:disabled):not([readonly]):not([indeterminate=true]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled):not([aria-disabled=true]):not(:checked):not(:disabled):not([readonly]):not([indeterminate=true]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled):not([aria-disabled=true]):not(:checked):not(:disabled):not([readonly]):not([indeterminate=true]):not([invalid=true]){border-color:var(--eds-c-border)}.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox:checked:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[checked=true]:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[indeterminate=true]:not([readonly]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox:checked:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[checked=true]:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[indeterminate=true]:not([readonly]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox:checked:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[checked=true]:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[indeterminate=true]:not([readonly]){background-color:var(--eds-c-surface-primary--hover)}.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([invalid=true]){background-color:var(--eds-c-surface-elevation);border-color:var(--eds-c-border-primary--hover)}.eui-21 :host(:not([disabled])):not([readonly]):not([invalid]):not(:has(input[invalid])):not(:has(select[invalid])):hover ::ng-deep .eds-button:not(:disabled):not([aria-disabled=true]),.eui-21 :host(:not([disabled])):not([readonly]):not([invalid]):not(:has(input[invalid])):not(:has(select[invalid])):hover ::ng-deep .eds-input-text:not(:disabled):not([readonly]),.eui-21 :host(:not([disabled])):not([readonly]):not([invalid]):not(:has(input[invalid])):not(:has(select[invalid])):hover ::ng-deep input:not(:disabled):not([readonly]),.eui-21 :host(:not([disabled])):not([readonly]):not([invalid]):not(:has(input[invalid])):not(:has(select[invalid])):hover ::ng-deep select:not(:disabled):not([readonly]){border-color:var(--eds-c-border)}.eui-21 :host([invalid]) ::ng-deep input,.eui-21 :host([invalid]) ::ng-deep select{border-color:var(--eds-c-border-critical)}.eui-21 :host([invalid]:not([disabled]):not([readonly])):focus-within ::ng-deep .eds-button,.eui-21 :host([invalid]:not([disabled]):not([readonly])):focus-within ::ng-deep .eds-button:hover,.eui-21 :host([invalid]:not([disabled]):not([readonly])):focus-within ::ng-deep .eds-button:focus,.eui-21 :host([invalid]:not([disabled]):not([readonly])):hover ::ng-deep .eds-button,.eui-21 :host([invalid]:not([disabled]):not([readonly])):hover ::ng-deep .eds-button:hover,.eui-21 :host([invalid]:not([disabled]):not([readonly])):hover ::ng-deep .eds-button:focus,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):focus-within ::ng-deep .eds-button,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):focus-within ::ng-deep .eds-button:hover,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):focus-within ::ng-deep .eds-button:focus,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):hover ::ng-deep .eds-button,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):hover ::ng-deep .eds-button:hover,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):hover ::ng-deep .eds-button:focus,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):focus-within ::ng-deep .eds-button,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):focus-within ::ng-deep .eds-button:hover,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):focus-within ::ng-deep .eds-button:focus,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):hover ::ng-deep .eds-button,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):hover ::ng-deep .eds-button:hover,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):hover ::ng-deep .eds-button:focus{border-color:var(--eds-c-border-critical)!important}.eui-21 :host([size=s]) ::ng-deep .eds-button.eds-button{height:calc(var(--eds-si-3xl) + var(--eds-si-2xs));min-height:calc(var(--eds-si-3xl) + var(--eds-si-2xs))}.eui-21 :host([size=s]) ::ng-deep input,.eui-21 :host([size=s]) ::ng-deep select{--_eds-input-height: calc(var(--eds-si-3xl) + var(--eds-si-2xs));--_eds-input-pad-v: var(--eds-sp-2xs);--_eds-input-pad-h: var(--eds-sp-s)}.eui-21 :host([size=l]) ::ng-deep .eds-button.eds-button{height:var(--eds-si-6xl);min-height:var(--eds-si-6xl)}.eui-21 :host([size=l]) ::ng-deep input,.eui-21 :host([size=l]) ::ng-deep select{--_eds-input-height: var(--eds-si-6xl);--_eds-input-pad-v: var(--eds-sp-s);--_eds-input-pad-h: var(--eds-sp-m)}.eui-21 :host([position=start]){flex-direction:row-reverse}.eui-21 :host([position=start]) ::ng-deep .eds-button,.eui-21 :host([position=start]) ::ng-deep .eds-icon-button{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--eds-br-s);border-bottom-left-radius:var(--eds-br-s)}.eui-21 :host([position=start]) ::ng-deep .eds-button:after,.eui-21 :host([position=start]) ::ng-deep .eds-icon-button:after{background-color:var(--eds-c-border-divider);content:\"\";display:block;height:1.75rem;right:-1px;position:absolute;top:var(--eds-sp-2xs);width:1px}.eui-21 :host([position=start]) ::ng-deep input,.eui-21 :host([position=start]) ::ng-deep select{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.eui-21 :host([position=end]) ::ng-deep .eds-button,.eui-21 :host([position=end]) ::ng-deep .eds-icon-button{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--eds-br-s);border-bottom-right-radius:var(--eds-br-s)}.eui-21 :host([position=end]) ::ng-deep .eds-button:before,.eui-21 :host([position=end]) ::ng-deep .eds-icon-button:before{background-color:var(--eds-c-border-divider);content:\"\";display:block;left:-1px;position:absolute;bottom:var(--eds-sp-2xs);top:var(--eds-sp-2xs);width:1px}.eui-21 :host([position=end]) ::ng-deep input,.eui-21 :host([position=end]) ::ng-deep select{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}\n"] }]
173
+ }, template: "<ng-content />\n<ng-content select=\"button\"/>\n", styles: [".eui-21 :host{display:flex;width:100%;border-radius:var(--eds-br-s);outline:none;position:relative}.eui-21 :host>::ng-deep input,.eui-21 :host>::ng-deep select,.eui-21 :host>::ng-deep eds-autocomplete,.eui-21 :host>::ng-deep eds-input-addon{flex:1 1 auto;min-width:0;order:1}.eui-21 :host>::ng-deep .eds-button,.eui-21 :host>::ng-deep button{flex:0 0 auto;order:3}.eui-21 :host>::ng-deep div:has(input),.eui-21 :host>::ng-deep div:has(select){flex:1 1 auto!important;width:auto!important;min-width:0;order:1}.eui-21 :host>::ng-deep div:not(:has(input)):not(:has(select)){flex:0 0 0!important;width:0!important;min-width:0;order:2}.eui-21 :host:focus-within{outline:var(--eds-bw-s) solid var(--eds-c-border-primary);outline-offset:var(--eds-bw-s)}.eui-21 :host:focus-within ::ng-deep input:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep input:focus:not([readonly]),.eui-21 :host:focus-within ::ng-deep input[invalid]:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep input[invalid]:focus:not([readonly]),.eui-21 :host:focus-within ::ng-deep select:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep select:focus:not([readonly]),.eui-21 :host:focus-within ::ng-deep select[invalid]:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep select[invalid]:focus:not([readonly]){outline:none!important;outline-offset:0!important;box-shadow:none!important}.eui-21 :host:focus-within ::ng-deep .eds-button:focus-visible:not([readonly]),.eui-21 :host:focus-within ::ng-deep .eds-icon-button:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:calc(-1 * var(--eds-bw-s))!important}.eui-21 :host:focus-within:has(input[invalid]),.eui-21 :host:focus-within:has(select[invalid]){outline-color:var(--eds-c-focus-critical)}.eui-21 :host:focus-within:has(input[invalid]) ::ng-deep .eds-button:focus-visible:not([readonly]),.eui-21 :host:focus-within:has(input[invalid]) ::ng-deep .eds-icon-button:focus-visible:not([readonly]),.eui-21 :host:focus-within:has(select[invalid]) ::ng-deep .eds-button:focus-visible:not([readonly]),.eui-21 :host:focus-within:has(select[invalid]) ::ng-deep .eds-icon-button:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-focus-critical)!important;outline-offset:calc(-1 * var(--eds-bw-s))!important}.eui-21 :host ::ng-deep .eds-button,.eui-21 :host ::ng-deep .eds-icon-button{border:var(--eds-bw-xs) solid var(--eds-c-border-neutral);box-sizing:border-box;height:var(--eds-si-4xl);min-height:var(--eds-si-4xl);position:relative}.eui-21 :host ::ng-deep .eds-icon-button{--_eds-icon-button-surface-hover: var(--eds-c-surface-neutral-subtler)}.eui-21 :host ::ng-deep .eds-button:not(:hover):not(:active),.eui-21 :host ::ng-deep .eds-icon-button:not(:hover):not(:active){background-color:var(--eds-c-surface-elevation)}.eui-21 :host ::ng-deep .eds-button[disabled],.eui-21 :host ::ng-deep .eds-button[aria-disabled=true],.eui-21 :host ::ng-deep .eds-icon-button[disabled],.eui-21 :host ::ng-deep .eds-icon-button[aria-disabled=true]{background-color:var(--eds-c-surface-disabled-subtle)!important;border-color:var(--eds-c-border-disabled);box-shadow:none!important;pointer-events:none}.eui-21 :host:has(input[invalid]) ::ng-deep .eds-button,.eui-21 :host:has(input[invalid]) ::ng-deep .eds-icon-button,.eui-21 :host:has(select[invalid]) ::ng-deep .eds-button,.eui-21 :host:has(select[invalid]) ::ng-deep .eds-icon-button{border-color:var(--eds-c-border-critical)}.eui-21 :host([invalid]) ::ng-deep .eds-button{border-color:var(--eds-c-border-critical)}.eui-21 :host([invalid]):focus-within{outline:var(--eds-bw-s) solid var(--eds-c-focus-critical)!important;outline-offset:var(--eds-bw-s)!important}.eui-21 :host([invalid]):focus-within ::ng-deep .eds-button:focus-visible:not([readonly]),.eui-21 :host([invalid]):focus-within ::ng-deep .eds-icon-button:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-focus-critical)!important;outline-offset:calc(-1 * var(--eds-bw-s))!important}.eui-21 :host ::ng-deep .eds-button.eds-button[aria-pressed]{padding:0 var(--eds-sp-m);--_eds-icon-size-inherit: var(--eds-is-m)}.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled):not([aria-disabled=true]):not(:checked):not(:disabled):not([readonly]):not([indeterminate=true]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled):not([aria-disabled=true]):not(:checked):not(:disabled):not([readonly]):not([indeterminate=true]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled):not([aria-disabled=true]):not(:checked):not(:disabled):not([readonly]):not([indeterminate=true]):not([invalid=true]){border-color:var(--eds-c-border)}.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox:checked:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[checked=true]:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[indeterminate=true]:not([readonly]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox:checked:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[checked=true]:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[indeterminate=true]:not([readonly]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox:checked:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[checked=true]:not([readonly]):not([invalid=true]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[indeterminate=true]:not([readonly]){background-color:var(--eds-c-surface-primary--hover)}.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([data-readonly]):not([invalid=true]):not([invalid]),.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([data-readonly]):not([invalid=true]):not([invalid]),.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([data-readonly]):not([invalid=true]):not([invalid]){background-color:var(--eds-c-surface-elevation);border-color:var(--eds-c-border-primary--hover)}.eui-21 :host(:not([disabled])) ::ng-deep input:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([data-readonly]):not([invalid=true]):not([invalid]):before,.eui-21 :host(:not([disabled])) ::ng-deep select:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([data-readonly]):not([invalid=true]):not([invalid]):before,.eui-21 :host(:not([disabled])) ::ng-deep .eds-button:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([data-readonly]):not([invalid=true]):not([invalid]):before{background-color:var(--eds-c-surface-primary--hover)}.eui-21 :host(:not([disabled])):not([readonly]):not([invalid]):not(:has(input[invalid])):not(:has(select[invalid])):hover ::ng-deep .eds-button:not(:disabled):not([aria-disabled=true]),.eui-21 :host(:not([disabled])):not([readonly]):not([invalid]):not(:has(input[invalid])):not(:has(select[invalid])):hover ::ng-deep .eds-input-text:not(:disabled):not([readonly]),.eui-21 :host(:not([disabled])):not([readonly]):not([invalid]):not(:has(input[invalid])):not(:has(select[invalid])):hover ::ng-deep input:not(:disabled):not([readonly]),.eui-21 :host(:not([disabled])):not([readonly]):not([invalid]):not(:has(input[invalid])):not(:has(select[invalid])):hover ::ng-deep select:not(:disabled):not([readonly]){border-color:var(--eds-c-border)}.eui-21 :host([invalid]) ::ng-deep input,.eui-21 :host([invalid]) ::ng-deep select{border-color:var(--eds-c-border-critical)}.eui-21 :host([invalid]:not([disabled]):not([readonly])):focus-within ::ng-deep .eds-button,.eui-21 :host([invalid]:not([disabled]):not([readonly])):focus-within ::ng-deep .eds-button:hover,.eui-21 :host([invalid]:not([disabled]):not([readonly])):focus-within ::ng-deep .eds-button:focus,.eui-21 :host([invalid]:not([disabled]):not([readonly])):hover ::ng-deep .eds-button,.eui-21 :host([invalid]:not([disabled]):not([readonly])):hover ::ng-deep .eds-button:hover,.eui-21 :host([invalid]:not([disabled]):not([readonly])):hover ::ng-deep .eds-button:focus,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):focus-within ::ng-deep .eds-button,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):focus-within ::ng-deep .eds-button:hover,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):focus-within ::ng-deep .eds-button:focus,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):hover ::ng-deep .eds-button,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):hover ::ng-deep .eds-button:hover,.eui-21 :host(:not([disabled]):not([readonly])):has(input[invalid]):hover ::ng-deep .eds-button:focus,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):focus-within ::ng-deep .eds-button,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):focus-within ::ng-deep .eds-button:hover,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):focus-within ::ng-deep .eds-button:focus,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):hover ::ng-deep .eds-button,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):hover ::ng-deep .eds-button:hover,.eui-21 :host(:not([disabled]):not([readonly])):has(select[invalid]):hover ::ng-deep .eds-button:focus{border-color:var(--eds-c-border-critical)!important}.eui-21 :host([size=s]) ::ng-deep .eds-button.eds-button{height:calc(var(--eds-si-3xl) + var(--eds-si-2xs));min-height:calc(var(--eds-si-3xl) + var(--eds-si-2xs))}.eui-21 :host([size=s]) ::ng-deep input,.eui-21 :host([size=s]) ::ng-deep select{--_eds-input-height: calc(var(--eds-si-3xl) + var(--eds-si-2xs));--_eds-input-pad-v: var(--eds-sp-2xs);--_eds-input-pad-h: var(--eds-sp-s)}.eui-21 :host([size=l]) ::ng-deep .eds-button.eds-button{height:var(--eds-si-6xl);min-height:var(--eds-si-6xl)}.eui-21 :host([size=l]) ::ng-deep input,.eui-21 :host([size=l]) ::ng-deep select{--_eds-input-height: var(--eds-si-6xl);--_eds-input-pad-v: var(--eds-sp-s);--_eds-input-pad-h: var(--eds-sp-m)}.eui-21 :host([position=start]){flex-direction:row-reverse}.eui-21 :host([position=start]) ::ng-deep .eds-button,.eui-21 :host([position=start]) ::ng-deep .eds-icon-button{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--eds-br-s);border-bottom-left-radius:var(--eds-br-s)}.eui-21 :host([position=start]) ::ng-deep .eds-button:after,.eui-21 :host([position=start]) ::ng-deep .eds-icon-button:after{background-color:var(--eds-c-border-divider);content:\"\";display:block;height:1.75rem;right:-1px;position:absolute;top:var(--eds-sp-2xs);width:1px}.eui-21 :host([position=start]) ::ng-deep input,.eui-21 :host([position=start]) ::ng-deep select{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.eui-21 :host([position=end]) ::ng-deep .eds-button,.eui-21 :host([position=end]) ::ng-deep .eds-icon-button{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--eds-br-s);border-bottom-right-radius:var(--eds-br-s)}.eui-21 :host([position=end]) ::ng-deep .eds-button:before,.eui-21 :host([position=end]) ::ng-deep .eds-icon-button:before{background-color:var(--eds-c-border-divider);content:\"\";display:block;left:-1px;position:absolute;bottom:var(--eds-sp-2xs);top:var(--eds-sp-2xs);width:1px}.eui-21 :host([position=end]) ::ng-deep input,.eui-21 :host([position=end]) ::ng-deep select{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}\n"] }]
174
174
  }], ctorParameters: () => [], propDecorators: { e2eAttr: [{ type: i0.Input, args: [{ isSignal: true, alias: "e2eAttr", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], edsButtonPositionStart: [{ type: i0.Input, args: [{ isSignal: true, alias: "edsButtonPositionStart", required: false }] }], edsButtonPositionEnd: [{ type: i0.Input, args: [{ isSignal: true, alias: "edsButtonPositionEnd", required: false }] }] } });
175
175
 
176
176
  /** Convenience array for importing all eds-input-button components. */
@@ -1 +1 @@
1
- {"version":3,"file":"eui-eds-eds-input-button.mjs","sources":["../../eds-input-button/eds-input-button.ts","../../eds-input-button/eds-input-button.html","../../eds-input-button/index.ts","../../eds-input-button/eui-eds-eds-input-button.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n afterNextRender,\n booleanAttribute,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\n\n/**\n * A layout component that positions button elements relative to input fields.\n * Enables the creation of input groups with leading or trailing action buttons,\n * commonly used for search inputs, password visibility toggles, or clear actions.\n */\n@Component({\n selector: 'eds-input-button',\n templateUrl: './eds-input-button.html',\n styleUrl: './eds-input-button.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'eds-input-button',\n role: 'group',\n '[attr.position]': 'position()',\n // `size` always reflects (default `m`), so the field-group size rules\n // always apply — a standalone eds-input-button renders as `size=\"m\"`.\n '[attr.size]': 'size()',\n '[attr.data-e2e]': 'e2eAttr()',\n '(focusin)': 'onFocusIn($event)',\n '(keydown)': 'onKeydown($event)',\n },\n})\nexport class EdsInputButton {\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /**\n * Data attribute value for end-to-end testing identification.\n * Applied as data-e2e attribute on the host element.\n * @default 'eds-input-button'\n */\n e2eAttr = input('eds-input-button');\n\n /**\n * Field size for the whole group — it drives both the button segment and the\n * projected input height so both halves share one height. Defaults to `'m'`\n * and is ALWAYS reflected as the `size` host attribute, so even a standalone\n * eds-input-button with no explicit size renders as `size=\"m\"`. A composing\n * parent (e.g. eds-input-password) sets `s` / `l` to resize the whole field.\n * @default 'm'\n */\n size = input<'s' | 'm' | 'l'>('m');\n\n /**\n * Positions the button at the start (left in LTR, right in RTL) of the input field.\n * When true, overrides edsButtonPositionEnd. Defaults to false.\n */\n edsButtonPositionStart = input(false, { transform: booleanAttribute });\n\n /**\n * Positions the button at the end (right in LTR, left in RTL) of the input field.\n * Ignored when edsButtonPositionStart is true. Defaults to true.\n */\n edsButtonPositionEnd = input(true, { transform: booleanAttribute });\n\n /**\n * Resolved button position, reflected as the `position` host attribute.\n * `start` takes precedence when both inputs are set.\n */\n protected readonly position = computed<'start' | 'end'>(() =>\n this.edsButtonPositionStart() ? 'start' : 'end',\n );\n\n /** Index (within {@link managedChildren}) of the roving active control. */\n private readonly activeIndex = signal(0);\n\n constructor() {\n afterNextRender(() => this.resetRovingTabStop());\n }\n\n /**\n * The group's controls that participate in arrow-key roving, in DOM order:\n * the projected input/button plus the clearable \"✕\" icon (a `[tabindex]`\n * element the eds-input-text clearable directive injects). Disabled and\n * not-currently-rendered controls (e.g. the hidden clearable icon when the\n * field is empty) are excluded so the cycle only visits reachable targets.\n */\n private managedChildren(): HTMLElement[] {\n const selector = 'input, button, select, textarea, .eds-clearable-icon';\n return Array.from(\n this.host.nativeElement.querySelectorAll<HTMLElement>(selector),\n ).filter((el) => {\n // Exclude disabled controls from the roving cycle. An eds-button keeps itself\n // focusable-disabled via `aria-disabled=\"true\"` (it forces the native `disabled`\n // attribute off), so a plain `[disabled]` check misses it — check both.\n if (\n el === this.host.nativeElement ||\n el.hasAttribute('disabled') ||\n el.getAttribute('aria-disabled') === 'true'\n ) {\n return false;\n }\n // Skip controls that are not actually visible/rendered — notably the\n // clearable icon, which is hidden (visibility:hidden) when empty.\n if (getComputedStyle(el).visibility === 'hidden') {\n return false;\n }\n return el.offsetParent !== null || getComputedStyle(el).position === 'fixed';\n });\n }\n\n /**\n * Index of the primary control that owns the natural tab stop — the input\n * field (first `input`/`textarea`/`select`), so `Tab` lands directly on it.\n * Falls back to the first child when there is no input-like control.\n */\n private primaryIndex(): number {\n const children = this.managedChildren();\n const inputIndex = children.findIndex((el) =>\n /^(input|textarea|select)$/i.test(el.tagName),\n );\n return inputIndex >= 0 ? inputIndex : 0;\n }\n\n /**\n * Roving tabindex: the primary (input) control stays in the natural tab\n * order so `Tab` focuses it directly; every other control is reachable only\n * via the arrow keys.\n */\n private resetRovingTabStop(): void {\n const primary = this.primaryIndex();\n this.activeIndex.set(primary);\n this.managedChildren().forEach((el, index) =>\n el.setAttribute('tabindex', index === primary ? '0' : '-1'),\n );\n }\n\n /**\n * Track focus entering a projected control so the arrow keys continue from\n * the control the user is actually on (e.g. after a click), and keep the\n * roving tab stop in sync so a subsequent `Tab` leaves from here.\n */\n protected onFocusIn(event: FocusEvent): void {\n const target = event.target as HTMLElement;\n const index = this.managedChildren().indexOf(target);\n if (index >= 0) {\n this.setActive(index);\n }\n }\n\n protected onKeydown(event: KeyboardEvent): void {\n const children = this.managedChildren();\n if (children.length === 0) {\n return;\n }\n\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowDown':\n event.preventDefault();\n this.focusChild(this.nextIndex(1));\n break;\n case 'ArrowLeft':\n case 'ArrowUp':\n event.preventDefault();\n this.focusChild(this.nextIndex(-1));\n break;\n case 'Home':\n event.preventDefault();\n this.focusChild(0);\n break;\n case 'End':\n event.preventDefault();\n this.focusChild(children.length - 1);\n break;\n default:\n break;\n }\n }\n\n private nextIndex(delta: number): number {\n const count = this.managedChildren().length;\n const current = this.activeIndex();\n return (current + delta + count) % count;\n }\n\n private focusChild(index: number): void {\n const target = this.managedChildren()[index];\n if (!target) {\n return;\n }\n this.setActive(index);\n target.focus();\n }\n\n /**\n * Move the single roving tab stop (`tabindex=\"0\"`) onto the active control\n * and set every other control to `tabindex=\"-1\"`, so after arrow navigation\n * `Tab` leaves the group from wherever focus currently is.\n */\n private setActive(index: number): void {\n this.activeIndex.set(index);\n this.managedChildren().forEach((el, i) =>\n el.setAttribute('tabindex', i === index ? '0' : '-1'),\n );\n }\n}\n","<ng-content />\n<ng-content select=\"button\"/>\n","import { EdsInputButton } from './eds-input-button';\n\nexport { EdsInputButton };\n\n/** Convenience array for importing all eds-input-button components. */\nexport const EDS_INPUT_BUTTON = [\n EdsInputButton,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-eds-eds-input-button.mjs","sources":["../../eds-input-button/eds-input-button.ts","../../eds-input-button/eds-input-button.html","../../eds-input-button/index.ts","../../eds-input-button/eui-eds-eds-input-button.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n afterNextRender,\n booleanAttribute,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\n\n/**\n * A layout component that positions button elements relative to input fields.\n * Enables the creation of input groups with leading or trailing action buttons,\n * commonly used for search inputs, password visibility toggles, or clear actions.\n */\n@Component({\n selector: 'eds-input-button',\n templateUrl: './eds-input-button.html',\n styleUrl: './eds-input-button.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'eds-input-button',\n role: 'group',\n '[attr.position]': 'position()',\n // `size` always reflects (default `m`), so the field-group size rules\n // always apply — a standalone eds-input-button renders as `size=\"m\"`.\n '[attr.size]': 'size()',\n '[attr.data-e2e]': 'e2eAttr()',\n '(focusin)': 'onFocusIn($event)',\n '(keydown)': 'onKeydown($event)',\n },\n})\nexport class EdsInputButton {\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /**\n * Data attribute value for end-to-end testing identification.\n * Applied as data-e2e attribute on the host element.\n * @default 'eds-input-button'\n */\n e2eAttr = input('eds-input-button');\n\n /**\n * Field size for the whole group — it drives both the button segment and the\n * projected input height so both halves share one height. Defaults to `'m'`\n * and is ALWAYS reflected as the `size` host attribute, so even a standalone\n * eds-input-button with no explicit size renders as `size=\"m\"`. A composing\n * parent (e.g. eds-input-password) sets `s` / `l` to resize the whole field.\n * @default 'm'\n */\n size = input<'s' | 'm' | 'l'>('m');\n\n /**\n * Positions the button at the start (left in LTR, right in RTL) of the input field.\n * When true, overrides edsButtonPositionEnd. Defaults to false.\n */\n edsButtonPositionStart = input(false, { transform: booleanAttribute });\n\n /**\n * Positions the button at the end (right in LTR, left in RTL) of the input field.\n * Ignored when edsButtonPositionStart is true. Defaults to true.\n */\n edsButtonPositionEnd = input(true, { transform: booleanAttribute });\n\n /**\n * Resolved button position, reflected as the `position` host attribute.\n * `start` takes precedence when both inputs are set.\n */\n protected readonly position = computed<'start' | 'end'>(() =>\n this.edsButtonPositionStart() ? 'start' : 'end',\n );\n\n /** Index (within {@link managedChildren}) of the roving active control. */\n private readonly activeIndex = signal(0);\n\n constructor() {\n afterNextRender(() => this.resetRovingTabStop());\n }\n\n /**\n * The group's controls that participate in arrow-key roving, in DOM order:\n * the projected input/button plus the clearable \"✕\" icon (a `[tabindex]`\n * element the eds-input-text clearable directive injects). Disabled and\n * not-currently-rendered controls (e.g. the hidden clearable icon when the\n * field is empty) are excluded so the cycle only visits reachable targets.\n */\n private managedChildren(): HTMLElement[] {\n const selector = 'input, button, select, textarea, .eds-clearable-icon';\n return Array.from(\n this.host.nativeElement.querySelectorAll<HTMLElement>(selector),\n ).filter((el) => {\n // Exclude disabled controls from the roving cycle. An eds-button keeps itself\n // focusable-disabled via `aria-disabled=\"true\"` (it forces the native `disabled`\n // attribute off), so a plain `[disabled]` check misses it — check both.\n if (\n el === this.host.nativeElement ||\n el.hasAttribute('disabled') ||\n el.getAttribute('aria-disabled') === 'true'\n ) {\n return false;\n }\n // Skip controls that are not actually visible/rendered — notably the\n // clearable icon, which is hidden (visibility:hidden) when empty.\n if (getComputedStyle(el).visibility === 'hidden') {\n return false;\n }\n return el.offsetParent !== null || getComputedStyle(el).position === 'fixed';\n });\n }\n\n /**\n * Index of the primary control that owns the natural tab stop — the input\n * field (first `input`/`textarea`/`select`), so `Tab` lands directly on it.\n * Falls back to the first child when there is no input-like control.\n */\n private primaryIndex(): number {\n const children = this.managedChildren();\n const inputIndex = children.findIndex((el) =>\n /^(input|textarea|select)$/i.test(el.tagName),\n );\n return inputIndex >= 0 ? inputIndex : 0;\n }\n\n /**\n * Roving tabindex: the primary (input) control stays in the natural tab\n * order so `Tab` focuses it directly; every other control is reachable only\n * via the arrow keys.\n */\n private resetRovingTabStop(): void {\n const primary = this.primaryIndex();\n this.activeIndex.set(primary);\n this.managedChildren().forEach((el, index) =>\n el.setAttribute('tabindex', index === primary ? '0' : '-1'),\n );\n }\n\n /**\n * Track focus entering a projected control so the arrow keys continue from\n * the control the user is actually on (e.g. after a click), and keep the\n * roving tab stop in sync so a subsequent `Tab` leaves from here.\n */\n protected onFocusIn(event: FocusEvent): void {\n const target = event.target as HTMLElement;\n const index = this.managedChildren().indexOf(target);\n if (index >= 0) {\n this.setActive(index);\n }\n }\n\n protected onKeydown(event: KeyboardEvent): void {\n const children = this.managedChildren();\n if (children.length === 0) {\n return;\n }\n\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowDown':\n event.preventDefault();\n this.focusChild(this.nextIndex(1));\n break;\n case 'ArrowLeft':\n case 'ArrowUp':\n event.preventDefault();\n this.focusChild(this.nextIndex(-1));\n break;\n case 'Home':\n event.preventDefault();\n this.focusChild(0);\n break;\n case 'End':\n event.preventDefault();\n this.focusChild(children.length - 1);\n break;\n default:\n break;\n }\n }\n\n private nextIndex(delta: number): number {\n const count = this.managedChildren().length;\n const current = this.activeIndex();\n return (current + delta + count) % count;\n }\n\n private focusChild(index: number): void {\n const target = this.managedChildren()[index];\n if (!target) {\n return;\n }\n this.setActive(index);\n target.focus();\n }\n\n /**\n * Move the single roving tab stop (`tabindex=\"0\"`) onto the active control\n * and set every other control to `tabindex=\"-1\"`, so after arrow navigation\n * `Tab` leaves the group from wherever focus currently is.\n */\n private setActive(index: number): void {\n this.activeIndex.set(index);\n this.managedChildren().forEach((el, i) =>\n el.setAttribute('tabindex', i === index ? '0' : '-1'),\n );\n }\n}\n","<ng-content />\n<ng-content select=\"button\"/>\n","import { EdsInputButton } from './eds-input-button';\n\nexport { EdsInputButton };\n\n/** Convenience array for importing all eds-input-button components. */\nexport const EDS_INPUT_BUTTON = [\n EdsInputButton,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAYA;;;;AAIG;MAkBU,cAAc,CAAA;AA2CvB,IAAA,WAAA,GAAA;AA1CiB,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAA0B,UAAU,CAAC;AAEnE;;;;AAIG;QACH,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,kBAAkB;oFAAC;AAEnC;;;;;;;AAOG;QACH,IAAA,CAAA,IAAI,GAAG,KAAK,CAAkB,GAAG;iFAAC;AAElC;;;AAGG;QACH,IAAA,CAAA,sBAAsB,GAAG,KAAK,CAAC,KAAK,8FAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAEtE;;;AAGG;QACH,IAAA,CAAA,oBAAoB,GAAG,KAAK,CAAC,IAAI,4FAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAEnE;;;AAGG;AACgB,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAkB,MACpD,IAAI,CAAC,sBAAsB,EAAE,GAAG,OAAO,GAAG,KAAK;qFAClD;;QAGgB,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,CAAC;wFAAC;QAGpC,eAAe,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACpD;AAEA;;;;;;AAMG;IACK,eAAe,GAAA;QACnB,MAAM,QAAQ,GAAG,sDAAsD;QACvE,OAAO,KAAK,CAAC,IAAI,CACb,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAc,QAAQ,CAAC,CAClE,CAAC,MAAM,CAAC,CAAC,EAAE,KAAI;;;;AAIZ,YAAA,IACI,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa;AAC9B,gBAAA,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC;gBAC3B,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM,EAC7C;AACE,gBAAA,OAAO,KAAK;YAChB;;;YAGA,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC,UAAU,KAAK,QAAQ,EAAE;AAC9C,gBAAA,OAAO,KAAK;YAChB;AACA,YAAA,OAAO,EAAE,CAAC,YAAY,KAAK,IAAI,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC,QAAQ,KAAK,OAAO;AAChF,QAAA,CAAC,CAAC;IACN;AAEA;;;;AAIG;IACK,YAAY,GAAA;AAChB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE;QACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KACrC,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAChD;QACD,OAAO,UAAU,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC;IAC3C;AAEA;;;;AAIG;IACK,kBAAkB,GAAA;AACtB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE;AACnC,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;AAC7B,QAAA,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,KACrC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,KAAK,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,CAC9D;IACL;AAEA;;;;AAIG;AACO,IAAA,SAAS,CAAC,KAAiB,EAAA;AACjC,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;AACpD,QAAA,IAAI,KAAK,IAAI,CAAC,EAAE;AACZ,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACzB;IACJ;AAEU,IAAA,SAAS,CAAC,KAAoB,EAAA;AACpC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE;AACvC,QAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB;QACJ;AAEA,QAAA,QAAQ,KAAK,CAAC,GAAG;AACb,YAAA,KAAK,YAAY;AACjB,YAAA,KAAK,WAAW;gBACZ,KAAK,CAAC,cAAc,EAAE;gBACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAClC;AACJ,YAAA,KAAK,WAAW;AAChB,YAAA,KAAK,SAAS;gBACV,KAAK,CAAC,cAAc,EAAE;gBACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC;AACJ,YAAA,KAAK,MAAM;gBACP,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAClB;AACJ,YAAA,KAAK,KAAK;gBACN,KAAK,CAAC,cAAc,EAAE;gBACtB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;gBACpC;AACJ,YAAA;gBACI;;IAEZ;AAEQ,IAAA,SAAS,CAAC,KAAa,EAAA;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM;AAC3C,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE;QAClC,OAAO,CAAC,OAAO,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK;IAC5C;AAEQ,IAAA,UAAU,CAAC,KAAa,EAAA;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC;QAC5C,IAAI,CAAC,MAAM,EAAE;YACT;QACJ;AACA,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACrB,MAAM,CAAC,KAAK,EAAE;IAClB;AAEA;;;;AAIG;AACK,IAAA,SAAS,CAAC,KAAa,EAAA;AAC3B,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,KACjC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,KAAK,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,CACxD;IACL;8GA5KS,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,65BClC3B,mDAEA,EAAA,MAAA,EAAA,CAAA,8rYAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDgCa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAjB1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,eAAA,EAGX,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACF,wBAAA,KAAK,EAAE,kBAAkB;AACzB,wBAAA,IAAI,EAAE,OAAO;AACb,wBAAA,iBAAiB,EAAE,YAAY;;;AAG/B,wBAAA,aAAa,EAAE,QAAQ;AACvB,wBAAA,iBAAiB,EAAE,WAAW;AAC9B,wBAAA,WAAW,EAAE,mBAAmB;AAChC,wBAAA,WAAW,EAAE,mBAAmB;AACnC,qBAAA,EAAA,QAAA,EAAA,mDAAA,EAAA,MAAA,EAAA,CAAA,8rYAAA,CAAA,EAAA;;;AE5BL;AACO,MAAM,gBAAgB,GAAG;IAC5B,cAAc;;;ACNlB;;AAEG;;"}
@@ -330,7 +330,7 @@ class EdsInputNumber {
330
330
  return isNaN(num) ? null : num;
331
331
  }
332
332
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsInputNumber, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
333
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.2", type: EdsInputNumber, isStandalone: true, selector: "input[edsInputNumber]", inputs: { e2eAttr: { classPropertyName: "e2eAttr", publicName: "e2eAttr", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, fractionDigits: { classPropertyName: "fractionDigits", publicName: "fractionDigits", isSignal: true, isRequired: false, transformFunction: null }, fillFraction: { classPropertyName: "fillFraction", publicName: "fillFraction", isSignal: true, isRequired: false, transformFunction: null }, noFormat: { classPropertyName: "noFormat", publicName: "noFormat", isSignal: true, isRequired: false, transformFunction: null }, isRounded: { classPropertyName: "isRounded", publicName: "isRounded", isSignal: true, isRequired: false, transformFunction: null }, hasLeadingZero: { classPropertyName: "hasLeadingZero", publicName: "hasLeadingZero", isSignal: true, isRequired: false, transformFunction: null }, minIntegerDigits: { classPropertyName: "minIntegerDigits", publicName: "minIntegerDigits", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "input": "onHostInput($event)", "blur": "onBlur()", "keydown": "onKeyDown($event)", "paste": "onPaste($event)" }, properties: { "attr.invalid": "_isInvalid() || null", "attr.input-size": "size()", "attr.rounded": "isRounded() || null", "attr.leading-zero": "hasLeadingZero() || null", "attr.data-e2e": "e2eAttr()", "attr.inputmode": "\"decimal\"", "disabled": "_disabled()", "attr.readonly": "readonly() || null" }, classAttribute: "eds-input-number" }, hostDirectives: [{ directive: i1.EdsClearableDirective, inputs: ["edsClearable", "edsClearable", "readonly", "readonly", "disabled", "disabled"] }, { directive: i1.EdsLoadingDirective, inputs: ["edsLoading", "edsLoading", "readonly", "readonly"] }], ngImport: i0, template: '', isInline: true, styles: [".eui-21 :host.eds-input-number{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;--_eds-input-height: var(--eds-si-4xl);--_eds-input-pad-v: var(--eds-sp-xs);--_eds-input-pad-h: var(--eds-sp-s);--_eds-input-font: var(--eds-f-paragraph-m);--_eds-input-font-weight: var(--eds-f-w-regular);--_eds-input-placeholder-font: var(--eds-f-placeholder-m);--_eds-input-placeholder-font-weight: var(--eds-f-w-light);font:var(--_eds-input-font);font-weight:var(--_eds-input-font-weight);appearance:none;background-color:var(--eds-c-surface-elevation);border:var(--eds-bw-xs) solid var(--eds-c-border-neutral);border-radius:var(--eds-br-s);box-shadow:none;color:var(--eds-c-foreground-default);height:var(--_eds-input-height);padding:var(--_eds-input-pad-v) var(--_eds-input-pad-h);width:100%}.eui-21 :host.eds-input-number:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:2px!important}.eui-21 :host.eds-input-number:not([hidden]){display:block}.eui-21 :host.eds-input-number::placeholder{color:var(--eds-c-foreground-placeholder);font:var(--_eds-input-placeholder-font);font-weight:var(--_eds-input-placeholder-font-weight);opacity:1}.eui-21 :host.eds-input-number[readonly]{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0;pointer-events:none}.eui-21 :host.eds-input-number:disabled:not([readonly]),.eui-21 :host.eds-input-number--disabled:not([readonly]){background-color:var(--eds-c-surface-disabled-subtle);border-color:var(--eds-c-border-disabled);color:var(--eds-c-foreground-disabled);pointer-events:none}.eui-21 :host.eds-input-number[invalid]:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-critical)!important;outline-offset:2px!important}.eui-21 :host.eds-input-number--loading{padding-right:var(--eds-sp-7xl)}.eui-21 :host.eds-input-number--loading-icon{align-items:center;display:flex}.eui-21 :host.eds-input-number--loading-icon:after,.eui-21 :host.eds-input-number--loading-icon:before{content:\"\";height:var(--eds-sp-l);position:absolute;right:var(--eds-sp-s);width:var(--eds-sp-l)}.eui-21 :host.eds-input-number--loading-icon:before{border:var(--eds-sp-3xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-21 :host.eds-input-number--loading-icon:after{animation:loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-c-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eds-sp-3xs);box-shadow:0 0 0 1px transparent}.eui-21 :host.eds-input-number--loading-icon--sm:after,.eui-21 :host.eds-input-number--loading-icon--sm:before{height:var(--eds-sp-m);width:var(--eds-sp-m)}@keyframes loading{to{transform:rotate(360deg)}}.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled):not([aria-disabled=true]):not(:checked):not(:disabled):not([readonly]):not([indeterminate=true]):not([invalid=true]){border-color:var(--eds-c-border)}.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox:checked:not([readonly]):not([invalid=true]),.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[checked=true]:not([readonly]):not([invalid=true]),.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[indeterminate=true]:not([readonly]){background-color:var(--eds-c-surface-primary--hover)}.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([invalid=true]){background-color:var(--eds-c-surface-elevation);border-color:var(--eds-c-border-primary--hover)}.eui-21 :host.eds-input-number[input-size=s]{--_eds-input-height: calc(var(--eds-si-3xl) + var(--eds-si-2xs));--_eds-input-pad-v: var(--eds-sp-2xs);--_eds-input-pad-h: var(--eds-sp-s)}.eui-21 :host.eds-input-number[input-size=l]{--_eds-input-height: var(--eds-si-6xl);--_eds-input-pad-v: var(--eds-sp-s);--_eds-input-pad-h: var(--eds-sp-m)}.eui-21 :host.eds-input-number[readonly]{pointer-events:auto}.eui-21 :host.eds-input-number[readonly]::placeholder{color:transparent}.eui-21 :host.eds-input-number.eds-input-text--clearable{padding-right:calc(var(--eds-sp-s) + 24px)}.eui-21 :host.eds-input-number.eds-input-text--loading:not(.eds-input-text--clearable){padding-right:calc(var(--eds-sp-s) + 28px)}.eui-21 :host.eds-input-number.eds-input-text--loading.eds-input-text--clearable{padding-right:calc(var(--eds-sp-s) + 28px)}.eui-21 :host.eds-input-number[invalid]{border-color:var(--eds-c-border-critical)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
333
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.2", type: EdsInputNumber, isStandalone: true, selector: "input[edsInputNumber]", inputs: { e2eAttr: { classPropertyName: "e2eAttr", publicName: "e2eAttr", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, fractionDigits: { classPropertyName: "fractionDigits", publicName: "fractionDigits", isSignal: true, isRequired: false, transformFunction: null }, fillFraction: { classPropertyName: "fillFraction", publicName: "fillFraction", isSignal: true, isRequired: false, transformFunction: null }, noFormat: { classPropertyName: "noFormat", publicName: "noFormat", isSignal: true, isRequired: false, transformFunction: null }, isRounded: { classPropertyName: "isRounded", publicName: "isRounded", isSignal: true, isRequired: false, transformFunction: null }, hasLeadingZero: { classPropertyName: "hasLeadingZero", publicName: "hasLeadingZero", isSignal: true, isRequired: false, transformFunction: null }, minIntegerDigits: { classPropertyName: "minIntegerDigits", publicName: "minIntegerDigits", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "input": "onHostInput($event)", "blur": "onBlur()", "keydown": "onKeyDown($event)", "paste": "onPaste($event)" }, properties: { "attr.invalid": "_isInvalid() || null", "attr.input-size": "size()", "attr.rounded": "isRounded() || null", "attr.leading-zero": "hasLeadingZero() || null", "attr.data-e2e": "e2eAttr()", "attr.inputmode": "\"decimal\"", "disabled": "_disabled()", "attr.readonly": "readonly() || null" }, classAttribute: "eds-input-number" }, hostDirectives: [{ directive: i1.EdsClearableDirective, inputs: ["edsClearable", "edsClearable", "readonly", "readonly", "disabled", "disabled"] }, { directive: i1.EdsLoadingDirective, inputs: ["edsLoading", "edsLoading", "readonly", "readonly"] }], ngImport: i0, template: '', isInline: true, styles: [".eui-21 :host.eds-input-number{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;--_eds-input-height: var(--eds-si-4xl);--_eds-input-pad-v: var(--eds-sp-xs);--_eds-input-pad-h: var(--eds-sp-s);--_eds-input-font: var(--eds-f-paragraph-m);--_eds-input-font-weight: var(--eds-f-w-regular);--_eds-input-placeholder-font: var(--eds-f-placeholder-m);--_eds-input-placeholder-font-weight: var(--eds-f-w-light);font:var(--_eds-input-font);font-weight:var(--_eds-input-font-weight);appearance:none;background-color:var(--eds-c-surface-elevation);border:var(--eds-bw-xs) solid var(--eds-c-border-neutral);border-radius:var(--eds-br-s);box-shadow:none;color:var(--eds-c-foreground-default);height:var(--_eds-input-height);padding:var(--_eds-input-pad-v) var(--_eds-input-pad-h);width:100%}.eui-21 :host.eds-input-number:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:2px!important}.eui-21 :host.eds-input-number:not([hidden]){display:block}.eui-21 :host.eds-input-number::placeholder{color:var(--eds-c-foreground-placeholder);font:var(--_eds-input-placeholder-font);font-weight:var(--_eds-input-placeholder-font-weight);opacity:1}.eui-21 :host.eds-input-number[readonly]{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0;pointer-events:none}.eui-21 :host.eds-input-number:disabled:not([readonly]),.eui-21 :host.eds-input-number--disabled:not([readonly]){background-color:var(--eds-c-surface-disabled-subtle);border-color:var(--eds-c-border-disabled);color:var(--eds-c-foreground-disabled);pointer-events:none}.eui-21 :host.eds-input-number[invalid]:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-focus-critical)!important;outline-offset:2px!important}.eui-21 :host.eds-input-number--loading{padding-right:var(--eds-sp-7xl)}.eui-21 :host.eds-input-number--loading-icon{align-items:center;display:flex}.eui-21 :host.eds-input-number--loading-icon:after,.eui-21 :host.eds-input-number--loading-icon:before{content:\"\";height:var(--eds-sp-l);position:absolute;right:var(--eds-sp-s);width:var(--eds-sp-l)}.eui-21 :host.eds-input-number--loading-icon:before{border:var(--eds-sp-3xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-21 :host.eds-input-number--loading-icon:after{animation:loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-c-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eds-sp-3xs);box-shadow:0 0 0 1px transparent}.eui-21 :host.eds-input-number--loading-icon--sm:after,.eui-21 :host.eds-input-number--loading-icon--sm:before{height:var(--eds-sp-m);width:var(--eds-sp-m)}@keyframes loading{to{transform:rotate(360deg)}}.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled):not([aria-disabled=true]):not(:checked):not(:disabled):not([readonly]):not([indeterminate=true]):not([invalid=true]){border-color:var(--eds-c-border)}.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox:checked:not([readonly]):not([invalid=true]),.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[checked=true]:not([readonly]):not([invalid=true]),.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[indeterminate=true]:not([readonly]){background-color:var(--eds-c-surface-primary--hover)}.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([data-readonly]):not([invalid=true]):not([invalid]){background-color:var(--eds-c-surface-elevation);border-color:var(--eds-c-border-primary--hover)}.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([data-readonly]):not([invalid=true]):not([invalid]):before{background-color:var(--eds-c-surface-primary--hover)}.eui-21 :host.eds-input-number[input-size=s]{--_eds-input-height: calc(var(--eds-si-3xl) + var(--eds-si-2xs));--_eds-input-pad-v: var(--eds-sp-2xs);--_eds-input-pad-h: var(--eds-sp-s)}.eui-21 :host.eds-input-number[input-size=l]{--_eds-input-height: var(--eds-si-6xl);--_eds-input-pad-v: var(--eds-sp-s);--_eds-input-pad-h: var(--eds-sp-m)}.eui-21 :host.eds-input-number[readonly]{pointer-events:auto}.eui-21 :host.eds-input-number[readonly]::placeholder{color:transparent}.eui-21 :host.eds-input-number.eds-input-text--clearable{padding-right:calc(var(--eds-sp-s) + 24px)}.eui-21 :host.eds-input-number.eds-input-text--loading:not(.eds-input-text--clearable){padding-right:calc(var(--eds-sp-s) + 28px)}.eui-21 :host.eds-input-number.eds-input-text--loading.eds-input-text--clearable{padding-right:calc(var(--eds-sp-s) + 28px)}.eui-21 :host.eds-input-number[invalid]{border-color:var(--eds-c-border-critical)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
334
334
  }
335
335
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsInputNumber, decorators: [{
336
336
  type: Component,
@@ -357,7 +357,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
357
357
  '(blur)': 'onBlur()',
358
358
  '(keydown)': 'onKeyDown($event)',
359
359
  '(paste)': 'onPaste($event)',
360
- }, styles: [".eui-21 :host.eds-input-number{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;--_eds-input-height: var(--eds-si-4xl);--_eds-input-pad-v: var(--eds-sp-xs);--_eds-input-pad-h: var(--eds-sp-s);--_eds-input-font: var(--eds-f-paragraph-m);--_eds-input-font-weight: var(--eds-f-w-regular);--_eds-input-placeholder-font: var(--eds-f-placeholder-m);--_eds-input-placeholder-font-weight: var(--eds-f-w-light);font:var(--_eds-input-font);font-weight:var(--_eds-input-font-weight);appearance:none;background-color:var(--eds-c-surface-elevation);border:var(--eds-bw-xs) solid var(--eds-c-border-neutral);border-radius:var(--eds-br-s);box-shadow:none;color:var(--eds-c-foreground-default);height:var(--_eds-input-height);padding:var(--_eds-input-pad-v) var(--_eds-input-pad-h);width:100%}.eui-21 :host.eds-input-number:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:2px!important}.eui-21 :host.eds-input-number:not([hidden]){display:block}.eui-21 :host.eds-input-number::placeholder{color:var(--eds-c-foreground-placeholder);font:var(--_eds-input-placeholder-font);font-weight:var(--_eds-input-placeholder-font-weight);opacity:1}.eui-21 :host.eds-input-number[readonly]{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0;pointer-events:none}.eui-21 :host.eds-input-number:disabled:not([readonly]),.eui-21 :host.eds-input-number--disabled:not([readonly]){background-color:var(--eds-c-surface-disabled-subtle);border-color:var(--eds-c-border-disabled);color:var(--eds-c-foreground-disabled);pointer-events:none}.eui-21 :host.eds-input-number[invalid]:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-critical)!important;outline-offset:2px!important}.eui-21 :host.eds-input-number--loading{padding-right:var(--eds-sp-7xl)}.eui-21 :host.eds-input-number--loading-icon{align-items:center;display:flex}.eui-21 :host.eds-input-number--loading-icon:after,.eui-21 :host.eds-input-number--loading-icon:before{content:\"\";height:var(--eds-sp-l);position:absolute;right:var(--eds-sp-s);width:var(--eds-sp-l)}.eui-21 :host.eds-input-number--loading-icon:before{border:var(--eds-sp-3xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-21 :host.eds-input-number--loading-icon:after{animation:loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-c-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eds-sp-3xs);box-shadow:0 0 0 1px transparent}.eui-21 :host.eds-input-number--loading-icon--sm:after,.eui-21 :host.eds-input-number--loading-icon--sm:before{height:var(--eds-sp-m);width:var(--eds-sp-m)}@keyframes loading{to{transform:rotate(360deg)}}.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled):not([aria-disabled=true]):not(:checked):not(:disabled):not([readonly]):not([indeterminate=true]):not([invalid=true]){border-color:var(--eds-c-border)}.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox:checked:not([readonly]):not([invalid=true]),.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[checked=true]:not([readonly]):not([invalid=true]),.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[indeterminate=true]:not([readonly]){background-color:var(--eds-c-surface-primary--hover)}.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([invalid=true]){background-color:var(--eds-c-surface-elevation);border-color:var(--eds-c-border-primary--hover)}.eui-21 :host.eds-input-number[input-size=s]{--_eds-input-height: calc(var(--eds-si-3xl) + var(--eds-si-2xs));--_eds-input-pad-v: var(--eds-sp-2xs);--_eds-input-pad-h: var(--eds-sp-s)}.eui-21 :host.eds-input-number[input-size=l]{--_eds-input-height: var(--eds-si-6xl);--_eds-input-pad-v: var(--eds-sp-s);--_eds-input-pad-h: var(--eds-sp-m)}.eui-21 :host.eds-input-number[readonly]{pointer-events:auto}.eui-21 :host.eds-input-number[readonly]::placeholder{color:transparent}.eui-21 :host.eds-input-number.eds-input-text--clearable{padding-right:calc(var(--eds-sp-s) + 24px)}.eui-21 :host.eds-input-number.eds-input-text--loading:not(.eds-input-text--clearable){padding-right:calc(var(--eds-sp-s) + 28px)}.eui-21 :host.eds-input-number.eds-input-text--loading.eds-input-text--clearable{padding-right:calc(var(--eds-sp-s) + 28px)}.eui-21 :host.eds-input-number[invalid]{border-color:var(--eds-c-border-critical)}\n"] }]
360
+ }, styles: [".eui-21 :host.eds-input-number{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;--_eds-input-height: var(--eds-si-4xl);--_eds-input-pad-v: var(--eds-sp-xs);--_eds-input-pad-h: var(--eds-sp-s);--_eds-input-font: var(--eds-f-paragraph-m);--_eds-input-font-weight: var(--eds-f-w-regular);--_eds-input-placeholder-font: var(--eds-f-placeholder-m);--_eds-input-placeholder-font-weight: var(--eds-f-w-light);font:var(--_eds-input-font);font-weight:var(--_eds-input-font-weight);appearance:none;background-color:var(--eds-c-surface-elevation);border:var(--eds-bw-xs) solid var(--eds-c-border-neutral);border-radius:var(--eds-br-s);box-shadow:none;color:var(--eds-c-foreground-default);height:var(--_eds-input-height);padding:var(--_eds-input-pad-v) var(--_eds-input-pad-h);width:100%}.eui-21 :host.eds-input-number:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:2px!important}.eui-21 :host.eds-input-number:not([hidden]){display:block}.eui-21 :host.eds-input-number::placeholder{color:var(--eds-c-foreground-placeholder);font:var(--_eds-input-placeholder-font);font-weight:var(--_eds-input-placeholder-font-weight);opacity:1}.eui-21 :host.eds-input-number[readonly]{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0;pointer-events:none}.eui-21 :host.eds-input-number:disabled:not([readonly]),.eui-21 :host.eds-input-number--disabled:not([readonly]){background-color:var(--eds-c-surface-disabled-subtle);border-color:var(--eds-c-border-disabled);color:var(--eds-c-foreground-disabled);pointer-events:none}.eui-21 :host.eds-input-number[invalid]:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-focus-critical)!important;outline-offset:2px!important}.eui-21 :host.eds-input-number--loading{padding-right:var(--eds-sp-7xl)}.eui-21 :host.eds-input-number--loading-icon{align-items:center;display:flex}.eui-21 :host.eds-input-number--loading-icon:after,.eui-21 :host.eds-input-number--loading-icon:before{content:\"\";height:var(--eds-sp-l);position:absolute;right:var(--eds-sp-s);width:var(--eds-sp-l)}.eui-21 :host.eds-input-number--loading-icon:before{border:var(--eds-sp-3xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-21 :host.eds-input-number--loading-icon:after{animation:loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-c-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eds-sp-3xs);box-shadow:0 0 0 1px transparent}.eui-21 :host.eds-input-number--loading-icon--sm:after,.eui-21 :host.eds-input-number--loading-icon--sm:before{height:var(--eds-sp-m);width:var(--eds-sp-m)}@keyframes loading{to{transform:rotate(360deg)}}.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled):not([aria-disabled=true]):not(:checked):not(:disabled):not([readonly]):not([indeterminate=true]):not([invalid=true]){border-color:var(--eds-c-border)}.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox:checked:not([readonly]):not([invalid=true]),.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[checked=true]:not([readonly]):not([invalid=true]),.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled).eds-checkbox[indeterminate=true]:not([readonly]){background-color:var(--eds-c-surface-primary--hover)}.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([data-readonly]):not([invalid=true]):not([invalid]){background-color:var(--eds-c-surface-elevation);border-color:var(--eds-c-border-primary--hover)}.eui-21 :host.eds-input-number:hover:not([aria-disabled=true]):not(:disabled).eds-radio:checked:not([readonly]):not([data-readonly]):not([invalid=true]):not([invalid]):before{background-color:var(--eds-c-surface-primary--hover)}.eui-21 :host.eds-input-number[input-size=s]{--_eds-input-height: calc(var(--eds-si-3xl) + var(--eds-si-2xs));--_eds-input-pad-v: var(--eds-sp-2xs);--_eds-input-pad-h: var(--eds-sp-s)}.eui-21 :host.eds-input-number[input-size=l]{--_eds-input-height: var(--eds-si-6xl);--_eds-input-pad-v: var(--eds-sp-s);--_eds-input-pad-h: var(--eds-sp-m)}.eui-21 :host.eds-input-number[readonly]{pointer-events:auto}.eui-21 :host.eds-input-number[readonly]::placeholder{color:transparent}.eui-21 :host.eds-input-number.eds-input-text--clearable{padding-right:calc(var(--eds-sp-s) + 24px)}.eui-21 :host.eds-input-number.eds-input-text--loading:not(.eds-input-text--clearable){padding-right:calc(var(--eds-sp-s) + 28px)}.eui-21 :host.eds-input-number.eds-input-text--loading.eds-input-text--clearable{padding-right:calc(var(--eds-sp-s) + 28px)}.eui-21 :host.eds-input-number[invalid]{border-color:var(--eds-c-border-critical)}\n"] }]
361
361
  }], ctorParameters: () => [], propDecorators: { e2eAttr: [{ type: i0.Input, args: [{ isSignal: true, alias: "e2eAttr", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], isInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "isInvalid", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], fractionDigits: [{ type: i0.Input, args: [{ isSignal: true, alias: "fractionDigits", required: false }] }], fillFraction: [{ type: i0.Input, args: [{ isSignal: true, alias: "fillFraction", required: false }] }], noFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "noFormat", required: false }] }], isRounded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isRounded", required: false }] }], hasLeadingZero: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasLeadingZero", required: false }] }], minIntegerDigits: [{ type: i0.Input, args: [{ isSignal: true, alias: "minIntegerDigits", required: false }] }] } });
362
362
 
363
363
  /** Convenience array for importing eds-input-number. */