@eui/eds 22.0.0-alpha.27 → 22.0.0-alpha.29

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_GROUP } from '@eui/eds/eds-input-group';\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_GROUP, ...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 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","<div edsInputGroup class=\"eds-datepicker__group\">\n <div edsInputGroupAddon>\n <input edsInputText\n [edsClearable]=\"false\"\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 </div>\n</div>\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 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]=\"false\"\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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"}
@@ -79,7 +79,7 @@ class EdsProgressBar {
79
79
  ...(ngDevMode ? [{ debugName: "resolvedAriaLabel" }] : /* istanbul ignore next */ []));
80
80
  }
81
81
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsProgressBar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
82
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EdsProgressBar, isStandalone: true, selector: "eds-progress-bar", inputs: { e2eAttr: { classPropertyName: "e2eAttr", publicName: "e2eAttr", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, valueText: { classPropertyName: "valueText", publicName: "valueText", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, isIndeterminate: { classPropertyName: "isIndeterminate", publicName: "isIndeterminate", isSignal: true, isRequired: false, transformFunction: null }, hasStatusIcon: { classPropertyName: "hasStatusIcon", publicName: "hasStatusIcon", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "progressbar" }, properties: { "attr.color": "color() || null", "attr.size": "size()", "attr.indeterminate": "isIndeterminate() || null", "attr.has-status-icon": "hasStatusIcon() || null", "attr.data-e2e": "e2eAttr()", "attr.aria-valuenow": "!isIndeterminate() ? progress() : null", "attr.aria-valuemin": "\"0\"", "attr.aria-valuemax": "\"100\"", "attr.aria-label": "resolvedAriaLabel()", "attr.aria-valuetext": "valueText() || null" }, classAttribute: "eds-progress-bar" }, ngImport: i0, template: "@if (label() || hasStatusIcon()) {\n <div class=\"eds-progress-bar__header\">\n @if (label()) {\n <span class=\"eds-progress-bar__header-label\">{{ label() }}</span>\n }\n @if (hasStatusIcon()) {\n <span class=\"eds-progress-bar__header-status\">\n <eds-icon-state [color]=\"color() || 'info'\" size=\"s\"/>\n </span>\n }\n </div>\n}\n<div class=\"eds-progress-bar__track\">\n <div class=\"eds-progress-bar__indicator\" [style.width]=\"!isIndeterminate() ? progress() + '%' : null\"></div>\n</div>\n", styles: [":host{--_eds-progress-bar-track-height: var(--eds-sp-2xs);--_eds-progress-bar-fill: var(--eds-c-surface-primary);display:flex;flex-direction:column;align-items:stretch;position:relative;width:100%}:host .eds-progress-bar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--eds-sp-xs)}:host .eds-progress-bar__header-label{font:var(--eds-f-label-s-semibold);color:var(--eds-c-foreground)}:host .eds-progress-bar__header-status{display:flex;align-items:center}:host .eds-progress-bar__track{background-color:var(--eds-c-surface-elevation-sunken);border-radius:var(--eds-br-xs);height:var(--_eds-progress-bar-track-height);position:relative;overflow:hidden;width:100%}:host .eds-progress-bar__indicator{background-color:var(--_eds-progress-bar-fill);border-radius:var(--eds-br-xs);height:100%;transition:width .25s ease}:host([size=xs]){--_eds-progress-bar-track-height: var(--eds-sp-3xs)}:host([size=s]){--_eds-progress-bar-track-height: var(--eds-sp-2xs)}:host([size=m]){--_eds-progress-bar-track-height: var(--eds-sp-xs)}:host([size=l]){--_eds-progress-bar-track-height: var(--eds-sp-s)}:host([color=info]){--_eds-progress-bar-fill: var(--eds-c-surface-info)}:host([color=success]){--_eds-progress-bar-fill: var(--eds-c-surface-success)}:host([color=warning]){--_eds-progress-bar-fill: var(--eds-c-surface-warning)}:host([color=critical]){--_eds-progress-bar-fill: var(--eds-c-surface-critical)}:host([indeterminate]) .eds-progress-bar__indicator{width:100%!important;background-color:transparent;background-image:linear-gradient(to right,transparent 0%,var(--_eds-progress-bar-fill) 30%,var(--_eds-progress-bar-fill) 60%,transparent 100%);background-size:40% 100%;background-repeat:no-repeat;animation:eds-progress-indeterminate 1.5s infinite ease-in-out}@keyframes eds-progress-indeterminate{0%{background-position:-40% 0}to{background-position:140% 0}}\n"], dependencies: [{ kind: "component", type: i1.EdsIconState, selector: "eds-icon-state", inputs: ["color", "size", "ariaLabel", "e2eAttr"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
82
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EdsProgressBar, isStandalone: true, selector: "eds-progress-bar", inputs: { e2eAttr: { classPropertyName: "e2eAttr", publicName: "e2eAttr", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, valueText: { classPropertyName: "valueText", publicName: "valueText", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, isIndeterminate: { classPropertyName: "isIndeterminate", publicName: "isIndeterminate", isSignal: true, isRequired: false, transformFunction: null }, hasStatusIcon: { classPropertyName: "hasStatusIcon", publicName: "hasStatusIcon", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "progressbar" }, properties: { "attr.color": "color() || null", "attr.size": "size()", "attr.indeterminate": "isIndeterminate() || null", "attr.has-status-icon": "hasStatusIcon() || null", "attr.data-e2e": "e2eAttr()", "attr.aria-valuenow": "!isIndeterminate() ? progress() : null", "attr.aria-valuemin": "\"0\"", "attr.aria-valuemax": "\"100\"", "attr.aria-label": "resolvedAriaLabel()", "attr.aria-valuetext": "valueText() || null" }, classAttribute: "eds-progress-bar" }, ngImport: i0, template: "@if (label() || hasStatusIcon()) {\n <div class=\"eds-progress-bar__header\">\n @if (label()) {\n <span class=\"eds-progress-bar__header-label\">{{ label() }}</span>\n }\n @if (hasStatusIcon()) {\n <span class=\"eds-progress-bar__header-status\">\n <eds-icon-state [color]=\"color() || 'info'\" size=\"s\"/>\n </span>\n }\n </div>\n}\n<div class=\"eds-progress-bar__track\">\n <div class=\"eds-progress-bar__indicator\" [style.width]=\"!isIndeterminate() ? progress() + '%' : null\"></div>\n</div>\n", styles: [":host{--_eds-progress-bar-track-height: var(--eds-sp-2xs);--_eds-progress-bar-fill: var(--eds-c-surface-primary);display:flex;flex-direction:column;align-items:stretch;position:relative;width:100%}:host .eds-progress-bar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--eds-sp-xs)}:host .eds-progress-bar__header-label{font:var(--eds-f-label-s);color:var(--eds-c-foreground)}:host .eds-progress-bar__header-status{display:flex;align-items:center}:host .eds-progress-bar__track{background-color:var(--eds-c-surface-elevation-sunken);border-radius:var(--eds-br-xs);height:var(--_eds-progress-bar-track-height);position:relative;overflow:hidden;width:100%}:host .eds-progress-bar__indicator{background-color:var(--_eds-progress-bar-fill);border-radius:var(--eds-br-xs);height:100%;transition:width .25s ease}:host([size=xs]){--_eds-progress-bar-track-height: var(--eds-sp-3xs)}:host([size=s]){--_eds-progress-bar-track-height: var(--eds-sp-2xs)}:host([size=m]){--_eds-progress-bar-track-height: var(--eds-sp-xs)}:host([size=l]){--_eds-progress-bar-track-height: var(--eds-sp-s)}:host([color=info]){--_eds-progress-bar-fill: var(--eds-c-surface-info)}:host([color=success]){--_eds-progress-bar-fill: var(--eds-c-surface-success)}:host([color=warning]){--_eds-progress-bar-fill: var(--eds-c-surface-warning)}:host([color=critical]){--_eds-progress-bar-fill: var(--eds-c-surface-critical)}:host([indeterminate]) .eds-progress-bar__indicator{width:100%!important;background-color:transparent;background-image:linear-gradient(to right,transparent 0%,var(--_eds-progress-bar-fill) 30%,var(--_eds-progress-bar-fill) 60%,transparent 100%);background-size:40% 100%;background-repeat:no-repeat;animation:eds-progress-indeterminate 1.5s infinite ease-in-out}@keyframes eds-progress-indeterminate{0%{background-position:-40% 0}to{background-position:140% 0}}\n"], dependencies: [{ kind: "component", type: i1.EdsIconState, selector: "eds-icon-state", inputs: ["color", "size", "ariaLabel", "e2eAttr"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
83
83
  }
84
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsProgressBar, decorators: [{
85
85
  type: Component,
@@ -96,7 +96,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
96
96
  '[attr.aria-valuemax]': '"100"',
97
97
  '[attr.aria-label]': 'resolvedAriaLabel()',
98
98
  '[attr.aria-valuetext]': 'valueText() || null',
99
- }, template: "@if (label() || hasStatusIcon()) {\n <div class=\"eds-progress-bar__header\">\n @if (label()) {\n <span class=\"eds-progress-bar__header-label\">{{ label() }}</span>\n }\n @if (hasStatusIcon()) {\n <span class=\"eds-progress-bar__header-status\">\n <eds-icon-state [color]=\"color() || 'info'\" size=\"s\"/>\n </span>\n }\n </div>\n}\n<div class=\"eds-progress-bar__track\">\n <div class=\"eds-progress-bar__indicator\" [style.width]=\"!isIndeterminate() ? progress() + '%' : null\"></div>\n</div>\n", styles: [":host{--_eds-progress-bar-track-height: var(--eds-sp-2xs);--_eds-progress-bar-fill: var(--eds-c-surface-primary);display:flex;flex-direction:column;align-items:stretch;position:relative;width:100%}:host .eds-progress-bar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--eds-sp-xs)}:host .eds-progress-bar__header-label{font:var(--eds-f-label-s-semibold);color:var(--eds-c-foreground)}:host .eds-progress-bar__header-status{display:flex;align-items:center}:host .eds-progress-bar__track{background-color:var(--eds-c-surface-elevation-sunken);border-radius:var(--eds-br-xs);height:var(--_eds-progress-bar-track-height);position:relative;overflow:hidden;width:100%}:host .eds-progress-bar__indicator{background-color:var(--_eds-progress-bar-fill);border-radius:var(--eds-br-xs);height:100%;transition:width .25s ease}:host([size=xs]){--_eds-progress-bar-track-height: var(--eds-sp-3xs)}:host([size=s]){--_eds-progress-bar-track-height: var(--eds-sp-2xs)}:host([size=m]){--_eds-progress-bar-track-height: var(--eds-sp-xs)}:host([size=l]){--_eds-progress-bar-track-height: var(--eds-sp-s)}:host([color=info]){--_eds-progress-bar-fill: var(--eds-c-surface-info)}:host([color=success]){--_eds-progress-bar-fill: var(--eds-c-surface-success)}:host([color=warning]){--_eds-progress-bar-fill: var(--eds-c-surface-warning)}:host([color=critical]){--_eds-progress-bar-fill: var(--eds-c-surface-critical)}:host([indeterminate]) .eds-progress-bar__indicator{width:100%!important;background-color:transparent;background-image:linear-gradient(to right,transparent 0%,var(--_eds-progress-bar-fill) 30%,var(--_eds-progress-bar-fill) 60%,transparent 100%);background-size:40% 100%;background-repeat:no-repeat;animation:eds-progress-indeterminate 1.5s infinite ease-in-out}@keyframes eds-progress-indeterminate{0%{background-position:-40% 0}to{background-position:140% 0}}\n"] }]
99
+ }, template: "@if (label() || hasStatusIcon()) {\n <div class=\"eds-progress-bar__header\">\n @if (label()) {\n <span class=\"eds-progress-bar__header-label\">{{ label() }}</span>\n }\n @if (hasStatusIcon()) {\n <span class=\"eds-progress-bar__header-status\">\n <eds-icon-state [color]=\"color() || 'info'\" size=\"s\"/>\n </span>\n }\n </div>\n}\n<div class=\"eds-progress-bar__track\">\n <div class=\"eds-progress-bar__indicator\" [style.width]=\"!isIndeterminate() ? progress() + '%' : null\"></div>\n</div>\n", styles: [":host{--_eds-progress-bar-track-height: var(--eds-sp-2xs);--_eds-progress-bar-fill: var(--eds-c-surface-primary);display:flex;flex-direction:column;align-items:stretch;position:relative;width:100%}:host .eds-progress-bar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--eds-sp-xs)}:host .eds-progress-bar__header-label{font:var(--eds-f-label-s);color:var(--eds-c-foreground)}:host .eds-progress-bar__header-status{display:flex;align-items:center}:host .eds-progress-bar__track{background-color:var(--eds-c-surface-elevation-sunken);border-radius:var(--eds-br-xs);height:var(--_eds-progress-bar-track-height);position:relative;overflow:hidden;width:100%}:host .eds-progress-bar__indicator{background-color:var(--_eds-progress-bar-fill);border-radius:var(--eds-br-xs);height:100%;transition:width .25s ease}:host([size=xs]){--_eds-progress-bar-track-height: var(--eds-sp-3xs)}:host([size=s]){--_eds-progress-bar-track-height: var(--eds-sp-2xs)}:host([size=m]){--_eds-progress-bar-track-height: var(--eds-sp-xs)}:host([size=l]){--_eds-progress-bar-track-height: var(--eds-sp-s)}:host([color=info]){--_eds-progress-bar-fill: var(--eds-c-surface-info)}:host([color=success]){--_eds-progress-bar-fill: var(--eds-c-surface-success)}:host([color=warning]){--_eds-progress-bar-fill: var(--eds-c-surface-warning)}:host([color=critical]){--_eds-progress-bar-fill: var(--eds-c-surface-critical)}:host([indeterminate]) .eds-progress-bar__indicator{width:100%!important;background-color:transparent;background-image:linear-gradient(to right,transparent 0%,var(--_eds-progress-bar-fill) 30%,var(--_eds-progress-bar-fill) 60%,transparent 100%);background-size:40% 100%;background-repeat:no-repeat;animation:eds-progress-indeterminate 1.5s infinite ease-in-out}@keyframes eds-progress-indeterminate{0%{background-position:-40% 0}to{background-position:140% 0}}\n"] }]
100
100
  }], propDecorators: { e2eAttr: [{ type: i0.Input, args: [{ isSignal: true, alias: "e2eAttr", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], valueText: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueText", required: false }] }], progress: [{ type: i0.Input, args: [{ isSignal: true, alias: "progress", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], isIndeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "isIndeterminate", required: false }] }], hasStatusIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasStatusIcon", required: false }] }] } });
101
101
 
102
102
  /** Convenience array for importing all eds-progress-bar components. */
@@ -1 +1 @@
1
- {"version":3,"file":"eui-eds-eds-progress-bar.mjs","sources":["../../eds-progress-bar/eds-progress-bar.ts","../../eds-progress-bar/eds-progress-bar.html","../../eds-progress-bar/index.ts","../../eds-progress-bar/eui-eds-eds-progress-bar.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n computed,\n input,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\nimport { EDS_ICON_STATE } from '@eui/eds/eds-icon-state';\n\n/** Transform that clamps progress to 0–100 range. */\nconst progressTransform = (value: unknown): number => Math.max(0, Math.min(numberAttribute(value, 0), 100));\n\n/** Local narrowed color union — the progress-bar variant contract (String-Props model). */\nexport type EdsProgressBarColor = 'info' | 'success' | 'warning' | 'critical';\n\n/** Local narrowed size union — the progress-bar variant contract (String-Props model). */\nexport type EdsProgressBarSize = 'xs' | 's' | 'm' | 'l';\n\n/**\n * Horizontal progress indicator component that visualizes task completion or loading states.\n * Supports determinate progress with percentage values and indeterminate loading animations.\n * Provides optional labeling and status icons for contextual feedback.\n *\n * Semantic color variants (`info`, `success`, `warning`, `critical`) are set via the `color`\n * string input and size variants (`xs`, `s`, `m`, `l`) via the `size` string input, both\n * reflected onto the host as attributes and styled with `:host([color=\"…\"])` / `:host([size=\"…\"])`.\n */\n@Component({\n selector: 'eds-progress-bar',\n templateUrl: './eds-progress-bar.html',\n styleUrl: './eds-progress-bar.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [...EDS_ICON_STATE],\n host: {\n class: 'eds-progress-bar',\n role: 'progressbar',\n '[attr.color]': 'color() || null',\n '[attr.size]': 'size()',\n '[attr.indeterminate]': 'isIndeterminate() || null',\n '[attr.has-status-icon]': 'hasStatusIcon() || null',\n '[attr.data-e2e]': 'e2eAttr()',\n '[attr.aria-valuenow]': '!isIndeterminate() ? progress() : null',\n '[attr.aria-valuemin]': '\"0\"',\n '[attr.aria-valuemax]': '\"100\"',\n '[attr.aria-label]': 'resolvedAriaLabel()',\n '[attr.aria-valuetext]': 'valueText() || null',\n },\n})\nexport class EdsProgressBar {\n /**\n * Data attribute value for end-to-end testing identification.\n * @default 'eds-progress-bar'\n */\n e2eAttr = input('eds-progress-bar');\n\n /** Optional label displayed above the progress bar. Also used as the accessible name. */\n label = input('');\n\n /**\n * Explicit accessible name for the progress bar. Use when there is no visible `label`\n * (e.g. the bar sits in a table cell or under a custom header). Defaults to the visible\n * `label` when set, otherwise a generic `'Progress'` so the progressbar always has a name\n * (WCAG 1.1.1). Provide a specific value for context.\n */\n ariaLabel = input<string>('');\n\n /**\n * Human-readable text alternative for the current value.\n * Use when the numeric percentage alone isn't meaningful\n * (e.g. \"Step 3 of 5\", \"Uploading file 2 of 10\").\n * Maps to aria-valuetext.\n */\n valueText = input('');\n\n /**\n * Current progress value (0–100).\n * Values outside the range are clamped automatically.\n * @default 0\n */\n progress = input(0, { transform: progressTransform });\n\n /**\n * Semantic color variant, reflected as the `color` host attribute.\n * When unset, the default primary fill is used.\n */\n color = input<EdsProgressBarColor | null>(null);\n\n /**\n * Size variant, reflected as the `size` host attribute.\n * @default 's'\n */\n size = input<EdsProgressBarSize>('s');\n\n /**\n * When true, shows an indeterminate progress animation\n * instead of a specific progress value.\n * @default false\n */\n isIndeterminate = input(false, { transform: booleanAttribute });\n\n /**\n * When true, displays a status icon based on the current color variant\n * (success, warning, critical, info).\n * @default false\n */\n hasStatusIcon = input(false, { transform: booleanAttribute });\n\n /**\n * Resolved accessible name for the host: an explicit `ariaLabel`, otherwise the visible\n * `label`, otherwise a generic `'Progress'` fallback so the progressbar always has a name.\n */\n protected readonly resolvedAriaLabel = computed(() => this.ariaLabel() || this.label() || 'Progress');\n}\n","@if (label() || hasStatusIcon()) {\n <div class=\"eds-progress-bar__header\">\n @if (label()) {\n <span class=\"eds-progress-bar__header-label\">{{ label() }}</span>\n }\n @if (hasStatusIcon()) {\n <span class=\"eds-progress-bar__header-status\">\n <eds-icon-state [color]=\"color() || 'info'\" size=\"s\"/>\n </span>\n }\n </div>\n}\n<div class=\"eds-progress-bar__track\">\n <div class=\"eds-progress-bar__indicator\" [style.width]=\"!isIndeterminate() ? progress() + '%' : null\"></div>\n</div>\n","import { EdsProgressBar } from './eds-progress-bar';\n\nexport { EdsProgressBar };\n\n/** Convenience array for importing all eds-progress-bar components. */\nexport const EDS_PROGRESS_BAR = [\n EdsProgressBar,\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-progress-bar.mjs","sources":["../../eds-progress-bar/eds-progress-bar.ts","../../eds-progress-bar/eds-progress-bar.html","../../eds-progress-bar/index.ts","../../eds-progress-bar/eui-eds-eds-progress-bar.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n computed,\n input,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\nimport { EDS_ICON_STATE } from '@eui/eds/eds-icon-state';\n\n/** Transform that clamps progress to 0–100 range. */\nconst progressTransform = (value: unknown): number => Math.max(0, Math.min(numberAttribute(value, 0), 100));\n\n/** Local narrowed color union — the progress-bar variant contract (String-Props model). */\nexport type EdsProgressBarColor = 'info' | 'success' | 'warning' | 'critical';\n\n/** Local narrowed size union — the progress-bar variant contract (String-Props model). */\nexport type EdsProgressBarSize = 'xs' | 's' | 'm' | 'l';\n\n/**\n * Horizontal progress indicator component that visualizes task completion or loading states.\n * Supports determinate progress with percentage values and indeterminate loading animations.\n * Provides optional labeling and status icons for contextual feedback.\n *\n * Semantic color variants (`info`, `success`, `warning`, `critical`) are set via the `color`\n * string input and size variants (`xs`, `s`, `m`, `l`) via the `size` string input, both\n * reflected onto the host as attributes and styled with `:host([color=\"…\"])` / `:host([size=\"…\"])`.\n */\n@Component({\n selector: 'eds-progress-bar',\n templateUrl: './eds-progress-bar.html',\n styleUrl: './eds-progress-bar.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [...EDS_ICON_STATE],\n host: {\n class: 'eds-progress-bar',\n role: 'progressbar',\n '[attr.color]': 'color() || null',\n '[attr.size]': 'size()',\n '[attr.indeterminate]': 'isIndeterminate() || null',\n '[attr.has-status-icon]': 'hasStatusIcon() || null',\n '[attr.data-e2e]': 'e2eAttr()',\n '[attr.aria-valuenow]': '!isIndeterminate() ? progress() : null',\n '[attr.aria-valuemin]': '\"0\"',\n '[attr.aria-valuemax]': '\"100\"',\n '[attr.aria-label]': 'resolvedAriaLabel()',\n '[attr.aria-valuetext]': 'valueText() || null',\n },\n})\nexport class EdsProgressBar {\n /**\n * Data attribute value for end-to-end testing identification.\n * @default 'eds-progress-bar'\n */\n e2eAttr = input('eds-progress-bar');\n\n /** Optional label displayed above the progress bar. Also used as the accessible name. */\n label = input('');\n\n /**\n * Explicit accessible name for the progress bar. Use when there is no visible `label`\n * (e.g. the bar sits in a table cell or under a custom header). Defaults to the visible\n * `label` when set, otherwise a generic `'Progress'` so the progressbar always has a name\n * (WCAG 1.1.1). Provide a specific value for context.\n */\n ariaLabel = input<string>('');\n\n /**\n * Human-readable text alternative for the current value.\n * Use when the numeric percentage alone isn't meaningful\n * (e.g. \"Step 3 of 5\", \"Uploading file 2 of 10\").\n * Maps to aria-valuetext.\n */\n valueText = input('');\n\n /**\n * Current progress value (0–100).\n * Values outside the range are clamped automatically.\n * @default 0\n */\n progress = input(0, { transform: progressTransform });\n\n /**\n * Semantic color variant, reflected as the `color` host attribute.\n * When unset, the default primary fill is used.\n */\n color = input<EdsProgressBarColor | null>(null);\n\n /**\n * Size variant, reflected as the `size` host attribute.\n * @default 's'\n */\n size = input<EdsProgressBarSize>('s');\n\n /**\n * When true, shows an indeterminate progress animation\n * instead of a specific progress value.\n * @default false\n */\n isIndeterminate = input(false, { transform: booleanAttribute });\n\n /**\n * When true, displays a status icon based on the current color variant\n * (success, warning, critical, info).\n * @default false\n */\n hasStatusIcon = input(false, { transform: booleanAttribute });\n\n /**\n * Resolved accessible name for the host: an explicit `ariaLabel`, otherwise the visible\n * `label`, otherwise a generic `'Progress'` fallback so the progressbar always has a name.\n */\n protected readonly resolvedAriaLabel = computed(() => this.ariaLabel() || this.label() || 'Progress');\n}\n","@if (label() || hasStatusIcon()) {\n <div class=\"eds-progress-bar__header\">\n @if (label()) {\n <span class=\"eds-progress-bar__header-label\">{{ label() }}</span>\n }\n @if (hasStatusIcon()) {\n <span class=\"eds-progress-bar__header-status\">\n <eds-icon-state [color]=\"color() || 'info'\" size=\"s\"/>\n </span>\n }\n </div>\n}\n<div class=\"eds-progress-bar__track\">\n <div class=\"eds-progress-bar__indicator\" [style.width]=\"!isIndeterminate() ? progress() + '%' : null\"></div>\n</div>\n","import { EdsProgressBar } from './eds-progress-bar';\n\nexport { EdsProgressBar };\n\n/** Convenience array for importing all eds-progress-bar components. */\nexport const EDS_PROGRESS_BAR = [\n EdsProgressBar,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eui/eds",
3
- "version": "22.0.0-alpha.27",
3
+ "version": "22.0.0-alpha.29",
4
4
  "tag": "next",
5
5
  "description": "eUI EDS components package",
6
6
  "homepage": "https://eui.ecdevops.eu",
@@ -51,6 +51,11 @@ declare class EdsBreadcrumbItem {
51
51
  icon: _angular_core.InputSignal<string>;
52
52
  /** ARIA label for accessibility (especially useful for icon-only items). */
53
53
  ariaLabel: _angular_core.InputSignal<string>;
54
+ /**
55
+ * Data attribute value for end-to-end testing identification.
56
+ * @default 'eds-breadcrumb-item'
57
+ */
58
+ e2eAttr: _angular_core.InputSignal<string>;
54
59
  /** Navigation target — string URL or Router commands array. Undefined makes item non-clickable. */
55
60
  link: _angular_core.InputSignal<string | any[]>;
56
61
  /** Additional navigation options passed to Angular Router. */
@@ -62,7 +67,7 @@ declare class EdsBreadcrumbItem {
62
67
  private _router;
63
68
  onClick(): void;
64
69
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EdsBreadcrumbItem, never>;
65
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<EdsBreadcrumbItem, "eds-breadcrumb-item", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "link": { "alias": "link"; "required": false; "isSignal": true; }; "navigationExtras": { "alias": "navigationExtras"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
70
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EdsBreadcrumbItem, "eds-breadcrumb-item", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "e2eAttr": { "alias": "e2eAttr"; "required": false; "isSignal": true; }; "link": { "alias": "link"; "required": false; "isSignal": true; }; "navigationExtras": { "alias": "navigationExtras"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
66
71
  }
67
72
 
68
73
  /** Convenience array for importing all eds-breadcrumb components. */
@@ -1 +1 @@
1
- {"version":3,"file":"eui-eds-eds-breadcrumb.d.ts","sources":["../../eds-breadcrumb/eds-breadcrumb.ts","../../eds-breadcrumb/eds-breadcrumb-item.ts","../../eds-breadcrumb/index.ts"],"mappings":";;;AASA;;;;;;;;;;;;;AAaG;AACH,cAWa,aAAa;AACtB;;;AAGG;AACH,eAAS,aAAA,CAAA,WAAA;AAET;;;AAGG;AACH,aAAO,aAAA,CAAA,WAAA;;;oDAXE,aAAa;sDAAb,aAAa;AAwBzB;;ACjDD;;;;;;;;;;;AAWG;AACH,cAgBa,iBAAiB;;AAE1B,WAAK,aAAA,CAAA,WAAA;;AAGL,UAAI,aAAA,CAAA,WAAA;;AAGJ,eAAS,aAAA,CAAA,WAAA;;AAIT,UAAI,aAAA,CAAA,WAAA;;AAGJ,sBAAgB,aAAA,CAAA,WAAA,CAAA,gBAAA;;AAGhB;;AAGA;;AAIA;oDAzBS,iBAAiB;sDAAjB,iBAAiB;AAuC7B;;ACvED;AACA,cAAa,cAAc,mBAAA,aAAA,SAAA,iBAAA;;;;","names":[]}
1
+ {"version":3,"file":"eui-eds-eds-breadcrumb.d.ts","sources":["../../eds-breadcrumb/eds-breadcrumb.ts","../../eds-breadcrumb/eds-breadcrumb-item.ts","../../eds-breadcrumb/index.ts"],"mappings":";;;AASA;;;;;;;;;;;;;AAaG;AACH,cAWa,aAAa;AACtB;;;AAGG;AACH,eAAS,aAAA,CAAA,WAAA;AAET;;;AAGG;AACH,aAAO,aAAA,CAAA,WAAA;;;oDAXE,aAAa;sDAAb,aAAa;AAwBzB;;ACjDD;;;;;;;;;;;AAWG;AACH,cAiBa,iBAAiB;;AAE1B,WAAK,aAAA,CAAA,WAAA;;AAGL,UAAI,aAAA,CAAA,WAAA;;AAGJ,eAAS,aAAA,CAAA,WAAA;AAET;;;AAGG;AACH,aAAO,aAAA,CAAA,WAAA;;AAIP,UAAI,aAAA,CAAA,WAAA;;AAGJ,sBAAgB,aAAA,CAAA,WAAA,CAAA,gBAAA;;AAGhB;;AAGA;;AAIA;oDA/BS,iBAAiB;sDAAjB,iBAAiB;AA6C7B;;AC9ED;AACA,cAAa,cAAc,mBAAA,aAAA,SAAA,iBAAA;;;;","names":[]}