@eui/eds 22.0.0-alpha.16 → 22.0.0-alpha.18

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.
Files changed (72) hide show
  1. package/docs/changelog.html +28 -0
  2. package/docs/components/EdsLanguageSelectorDialog.html +1 -1
  3. package/docs/js/search/search_index.js +2 -2
  4. package/docs/json/documentation.json +42 -42
  5. package/docs/llms.txt +1 -1
  6. package/docs/properties.html +1 -1
  7. package/fesm2022/eui-eds-charts-eds-chart-legend.mjs +2 -2
  8. package/fesm2022/eui-eds-charts-eds-chart-legend.mjs.map +1 -1
  9. package/fesm2022/eui-eds-eds-accordion.mjs +2 -2
  10. package/fesm2022/eui-eds-eds-accordion.mjs.map +1 -1
  11. package/fesm2022/eui-eds-eds-alert.mjs +2 -2
  12. package/fesm2022/eui-eds-eds-alert.mjs.map +1 -1
  13. package/fesm2022/eui-eds-eds-autocomplete.mjs +2 -2
  14. package/fesm2022/eui-eds-eds-autocomplete.mjs.map +1 -1
  15. package/fesm2022/eui-eds-eds-avatar.mjs +4 -4
  16. package/fesm2022/eui-eds-eds-avatar.mjs.map +1 -1
  17. package/fesm2022/eui-eds-eds-blockquote.mjs +2 -2
  18. package/fesm2022/eui-eds-eds-blockquote.mjs.map +1 -1
  19. package/fesm2022/eui-eds-eds-calendar.mjs +4 -4
  20. package/fesm2022/eui-eds-eds-calendar.mjs.map +1 -1
  21. package/fesm2022/eui-eds-eds-card.mjs +2 -2
  22. package/fesm2022/eui-eds-eds-card.mjs.map +1 -1
  23. package/fesm2022/eui-eds-eds-date-block.mjs +2 -2
  24. package/fesm2022/eui-eds-eds-date-block.mjs.map +1 -1
  25. package/fesm2022/eui-eds-eds-datepicker.mjs +2 -2
  26. package/fesm2022/eui-eds-eds-datepicker.mjs.map +1 -1
  27. package/fesm2022/eui-eds-eds-discussion-thread.mjs +4 -4
  28. package/fesm2022/eui-eds-eds-discussion-thread.mjs.map +1 -1
  29. package/fesm2022/eui-eds-eds-empty-state.mjs +2 -2
  30. package/fesm2022/eui-eds-eds-empty-state.mjs.map +1 -1
  31. package/fesm2022/eui-eds-eds-fieldset.mjs +2 -2
  32. package/fesm2022/eui-eds-eds-fieldset.mjs.map +1 -1
  33. package/fesm2022/eui-eds-eds-file-upload.mjs +2 -2
  34. package/fesm2022/eui-eds-eds-file-upload.mjs.map +1 -1
  35. package/fesm2022/eui-eds-eds-growl.mjs +2 -2
  36. package/fesm2022/eui-eds-eds-growl.mjs.map +1 -1
  37. package/fesm2022/eui-eds-eds-language-selector.mjs +4 -4
  38. package/fesm2022/eui-eds-eds-language-selector.mjs.map +1 -1
  39. package/fesm2022/eui-eds-eds-list.mjs +2 -2
  40. package/fesm2022/eui-eds-eds-list.mjs.map +1 -1
  41. package/fesm2022/eui-eds-eds-menu.mjs +2 -2
  42. package/fesm2022/eui-eds-eds-menu.mjs.map +1 -1
  43. package/fesm2022/eui-eds-eds-multiselect.mjs +2 -2
  44. package/fesm2022/eui-eds-eds-multiselect.mjs.map +1 -1
  45. package/fesm2022/eui-eds-eds-page.mjs +2 -2
  46. package/fesm2022/eui-eds-eds-page.mjs.map +1 -1
  47. package/fesm2022/eui-eds-eds-popover.mjs +2 -2
  48. package/fesm2022/eui-eds-eds-popover.mjs.map +1 -1
  49. package/fesm2022/eui-eds-eds-progress-bar.mjs +2 -2
  50. package/fesm2022/eui-eds-eds-progress-bar.mjs.map +1 -1
  51. package/fesm2022/eui-eds-eds-progress-circle.mjs +2 -2
  52. package/fesm2022/eui-eds-eds-progress-circle.mjs.map +1 -1
  53. package/fesm2022/eui-eds-eds-select.mjs +2 -2
  54. package/fesm2022/eui-eds-eds-select.mjs.map +1 -1
  55. package/fesm2022/eui-eds-eds-shell.mjs +4 -4
  56. package/fesm2022/eui-eds-eds-shell.mjs.map +1 -1
  57. package/fesm2022/eui-eds-eds-table.mjs +2 -2
  58. package/fesm2022/eui-eds-eds-table.mjs.map +1 -1
  59. package/fesm2022/eui-eds-eds-tabs.mjs +2 -2
  60. package/fesm2022/eui-eds-eds-tabs.mjs.map +1 -1
  61. package/fesm2022/eui-eds-eds-timeline.mjs +2 -2
  62. package/fesm2022/eui-eds-eds-timeline.mjs.map +1 -1
  63. package/fesm2022/eui-eds-eds-timepicker.mjs +2 -2
  64. package/fesm2022/eui-eds-eds-timepicker.mjs.map +1 -1
  65. package/fesm2022/eui-eds-eds-user-profile.mjs +2 -2
  66. package/fesm2022/eui-eds-eds-user-profile.mjs.map +1 -1
  67. package/fesm2022/eui-eds-eds-wizard.mjs +2 -2
  68. package/fesm2022/eui-eds-utilities-eds-label.mjs +2 -2
  69. package/fesm2022/eui-eds-utilities-eds-label.mjs.map +1 -1
  70. package/fesm2022/eui-eds-utilities-eds-trend.mjs +2 -2
  71. package/fesm2022/eui-eds-utilities-eds-trend.mjs.map +1 -1
  72. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"eui-eds-eds-timepicker.mjs","sources":["../../eds-timepicker/eds-timepicker.ts","../../eds-timepicker/eds-timepicker.html","../../eds-timepicker/index.ts","../../eds-timepicker/eui-eds-eds-timepicker.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n input,\n output,\n signal,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { EdsTime } from './eds-time.model';\n\n@Component({\n selector: 'eds-timepicker',\n templateUrl: './eds-timepicker.html',\n styleUrl: './eds-timepicker.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-e2e]': 'e2eAttr()',\n },\n})\nexport class EdsTimepicker implements ControlValueAccessor {\n /** Data attribute for e2e testing. */\n e2eAttr = input('eds-timepicker');\n\n /** Step for hour increment/decrement. */\n stepHours = input(1);\n\n /** Step for minute increment/decrement. */\n stepMinutes = input(1);\n\n /** Step for second increment/decrement. */\n stepSeconds = input(1);\n\n /** Whether to show seconds field. */\n hasSeconds = input(false, { transform: booleanAttribute });\n\n /** Whether the component is disabled. */\n disabled = input(false, { transform: booleanAttribute });\n\n /** Whether the component is readonly. */\n readonly = input(false, { transform: booleanAttribute });\n\n /** Emitted when the time value changes. */\n timeChange = output<EdsTime>();\n\n /** Current hours value. */\n hours = signal(0);\n\n /** Current minutes value. */\n minutes = signal(0);\n\n /** Current seconds value. */\n seconds = signal(0);\n\n private _ngControl = inject(NgControl, { optional: true, self: true });\n\n constructor() {\n if (this._ngControl) {\n this._ngControl.valueAccessor = this;\n }\n }\n\n padded(val: number): string {\n return String(val ?? 0).padStart(2, '0');\n }\n\n changeHours(step: number): void {\n const val = ((this.hours() ?? 0) + step + 24) % 24;\n this.hours.set(val);\n this._emit();\n }\n\n changeMinutes(step: number): void {\n let val = (this.minutes() ?? 0) + step;\n if (val >= 60) {\n val = val % 60;\n this.changeHours(1);\n } else if (val < 0) {\n val = 60 + (val % 60);\n this.changeHours(-1);\n }\n this.minutes.set(val);\n this._emit();\n }\n\n changeSeconds(step: number): void {\n let val = (this.seconds() ?? 0) + step;\n if (val >= 60) {\n val = val % 60;\n this.changeMinutes(1);\n } else if (val < 0) {\n val = 60 + (val % 60);\n this.changeMinutes(-1);\n }\n this.seconds.set(val);\n this._emit();\n }\n\n onHoursInput(event: Event): void {\n const val = parseInt((event.target as HTMLInputElement).value, 10);\n if (!isNaN(val)) {\n this.hours.set(((val % 24) + 24) % 24);\n this._emit();\n }\n }\n\n onMinutesInput(event: Event): void {\n const val = parseInt((event.target as HTMLInputElement).value, 10);\n if (!isNaN(val)) {\n this.minutes.set(((val % 60) + 60) % 60);\n this._emit();\n }\n }\n\n onSecondsInput(event: Event): void {\n const val = parseInt((event.target as HTMLInputElement).value, 10);\n if (!isNaN(val)) {\n this.seconds.set(((val % 60) + 60) % 60);\n this._emit();\n }\n }\n\n // --- ControlValueAccessor ---\n\n writeValue(value: EdsTime | null): void {\n if (value) {\n this.hours.set(value.hours ?? 0);\n this.minutes.set(value.minutes ?? 0);\n this.seconds.set(value.seconds ?? 0);\n } else {\n this.hours.set(0);\n this.minutes.set(0);\n this.seconds.set(0);\n }\n }\n\n registerOnChange(fn: (value: EdsTime | null) => 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 // --- Private ---\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private _onChange: (value: EdsTime | null) => void = () => { /* noop */ };\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private _onTouched: () => void = () => { /* noop */ };\n\n private _emit(): void {\n const time: EdsTime = {\n hours: this.hours(),\n minutes: this.minutes(),\n seconds: this.hasSeconds() ? this.seconds() : undefined,\n };\n this._onChange(time);\n this.timeChange.emit(time);\n }\n}\n","<div class=\"eds-timepicker\">\n <div class=\"eds-timepicker__field\">\n @if (!readonly()) {\n <button class=\"eds-timepicker__btn\" type=\"button\" [disabled]=\"disabled()\" (click)=\"changeHours(stepHours())\" aria-label=\"Increase hours\">▲</button>\n }\n <input class=\"eds-timepicker__input\" type=\"text\" [value]=\"padded(hours())\" [disabled]=\"disabled()\" [readonly]=\"readonly()\" (change)=\"onHoursInput($event)\" aria-label=\"Hours\"/>\n @if (!readonly()) {\n <button class=\"eds-timepicker__btn\" type=\"button\" [disabled]=\"disabled()\" (click)=\"changeHours(-stepHours())\" aria-label=\"Decrease hours\">▼</button>\n }\n </div>\n\n <span class=\"eds-timepicker__separator\">:</span>\n\n <div class=\"eds-timepicker__field\">\n @if (!readonly()) {\n <button class=\"eds-timepicker__btn\" type=\"button\" [disabled]=\"disabled()\" (click)=\"changeMinutes(stepMinutes())\" aria-label=\"Increase minutes\">▲</button>\n }\n <input class=\"eds-timepicker__input\" type=\"text\" [value]=\"padded(minutes())\" [disabled]=\"disabled()\" [readonly]=\"readonly()\" (change)=\"onMinutesInput($event)\" aria-label=\"Minutes\"/>\n @if (!readonly()) {\n <button class=\"eds-timepicker__btn\" type=\"button\" [disabled]=\"disabled()\" (click)=\"changeMinutes(-stepMinutes())\" aria-label=\"Decrease minutes\">▼</button>\n }\n </div>\n\n @if (hasSeconds()) {\n <span class=\"eds-timepicker__separator\">:</span>\n\n <div class=\"eds-timepicker__field\">\n @if (!readonly()) {\n <button class=\"eds-timepicker__btn\" type=\"button\" [disabled]=\"disabled()\" (click)=\"changeSeconds(stepSeconds())\" aria-label=\"Increase seconds\">▲</button>\n }\n <input class=\"eds-timepicker__input\" type=\"text\" [value]=\"padded(seconds())\" [disabled]=\"disabled()\" [readonly]=\"readonly()\" (change)=\"onSecondsInput($event)\" aria-label=\"Seconds\"/>\n @if (!readonly()) {\n <button class=\"eds-timepicker__btn\" type=\"button\" [disabled]=\"disabled()\" (click)=\"changeSeconds(-stepSeconds())\" aria-label=\"Decrease seconds\">▼</button>\n }\n </div>\n }\n</div>\n","import { EdsTimepicker } from './eds-timepicker';\n\nexport { EdsTimepicker };\nexport { EdsTime } from './eds-time.model';\n\n/** Convenience array for importing eds-timepicker. */\nexport const EDS_TIMEPICKER = [\n EdsTimepicker,\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-timepicker.mjs","sources":["../../eds-timepicker/eds-timepicker.ts","../../eds-timepicker/eds-timepicker.html","../../eds-timepicker/index.ts","../../eds-timepicker/eui-eds-eds-timepicker.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n input,\n output,\n signal,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { EdsTime } from './eds-time.model';\n\n@Component({\n selector: 'eds-timepicker',\n templateUrl: './eds-timepicker.html',\n styleUrl: './eds-timepicker.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-e2e]': 'e2eAttr()',\n },\n})\nexport class EdsTimepicker implements ControlValueAccessor {\n /** Data attribute for e2e testing. */\n e2eAttr = input('eds-timepicker');\n\n /** Step for hour increment/decrement. */\n stepHours = input(1);\n\n /** Step for minute increment/decrement. */\n stepMinutes = input(1);\n\n /** Step for second increment/decrement. */\n stepSeconds = input(1);\n\n /** Whether to show seconds field. */\n hasSeconds = input(false, { transform: booleanAttribute });\n\n /** Whether the component is disabled. */\n disabled = input(false, { transform: booleanAttribute });\n\n /** Whether the component is readonly. */\n readonly = input(false, { transform: booleanAttribute });\n\n /** Emitted when the time value changes. */\n timeChange = output<EdsTime>();\n\n /** Current hours value. */\n hours = signal(0);\n\n /** Current minutes value. */\n minutes = signal(0);\n\n /** Current seconds value. */\n seconds = signal(0);\n\n private _ngControl = inject(NgControl, { optional: true, self: true });\n\n constructor() {\n if (this._ngControl) {\n this._ngControl.valueAccessor = this;\n }\n }\n\n padded(val: number): string {\n return String(val ?? 0).padStart(2, '0');\n }\n\n changeHours(step: number): void {\n const val = ((this.hours() ?? 0) + step + 24) % 24;\n this.hours.set(val);\n this._emit();\n }\n\n changeMinutes(step: number): void {\n let val = (this.minutes() ?? 0) + step;\n if (val >= 60) {\n val = val % 60;\n this.changeHours(1);\n } else if (val < 0) {\n val = 60 + (val % 60);\n this.changeHours(-1);\n }\n this.minutes.set(val);\n this._emit();\n }\n\n changeSeconds(step: number): void {\n let val = (this.seconds() ?? 0) + step;\n if (val >= 60) {\n val = val % 60;\n this.changeMinutes(1);\n } else if (val < 0) {\n val = 60 + (val % 60);\n this.changeMinutes(-1);\n }\n this.seconds.set(val);\n this._emit();\n }\n\n onHoursInput(event: Event): void {\n const val = parseInt((event.target as HTMLInputElement).value, 10);\n if (!isNaN(val)) {\n this.hours.set(((val % 24) + 24) % 24);\n this._emit();\n }\n }\n\n onMinutesInput(event: Event): void {\n const val = parseInt((event.target as HTMLInputElement).value, 10);\n if (!isNaN(val)) {\n this.minutes.set(((val % 60) + 60) % 60);\n this._emit();\n }\n }\n\n onSecondsInput(event: Event): void {\n const val = parseInt((event.target as HTMLInputElement).value, 10);\n if (!isNaN(val)) {\n this.seconds.set(((val % 60) + 60) % 60);\n this._emit();\n }\n }\n\n // --- ControlValueAccessor ---\n\n writeValue(value: EdsTime | null): void {\n if (value) {\n this.hours.set(value.hours ?? 0);\n this.minutes.set(value.minutes ?? 0);\n this.seconds.set(value.seconds ?? 0);\n } else {\n this.hours.set(0);\n this.minutes.set(0);\n this.seconds.set(0);\n }\n }\n\n registerOnChange(fn: (value: EdsTime | null) => 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 // --- Private ---\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private _onChange: (value: EdsTime | null) => void = () => { /* noop */ };\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private _onTouched: () => void = () => { /* noop */ };\n\n private _emit(): void {\n const time: EdsTime = {\n hours: this.hours(),\n minutes: this.minutes(),\n seconds: this.hasSeconds() ? this.seconds() : undefined,\n };\n this._onChange(time);\n this.timeChange.emit(time);\n }\n}\n","<div class=\"eds-timepicker\">\n <div class=\"eds-timepicker__field\">\n @if (!readonly()) {\n <button class=\"eds-timepicker__btn\" type=\"button\" [disabled]=\"disabled()\" (click)=\"changeHours(stepHours())\" aria-label=\"Increase hours\">▲</button>\n }\n <input class=\"eds-timepicker__input\" type=\"text\" [value]=\"padded(hours())\" [disabled]=\"disabled()\" [readonly]=\"readonly()\" (change)=\"onHoursInput($event)\" aria-label=\"Hours\"/>\n @if (!readonly()) {\n <button class=\"eds-timepicker__btn\" type=\"button\" [disabled]=\"disabled()\" (click)=\"changeHours(-stepHours())\" aria-label=\"Decrease hours\">▼</button>\n }\n </div>\n\n <span class=\"eds-timepicker__separator\">:</span>\n\n <div class=\"eds-timepicker__field\">\n @if (!readonly()) {\n <button class=\"eds-timepicker__btn\" type=\"button\" [disabled]=\"disabled()\" (click)=\"changeMinutes(stepMinutes())\" aria-label=\"Increase minutes\">▲</button>\n }\n <input class=\"eds-timepicker__input\" type=\"text\" [value]=\"padded(minutes())\" [disabled]=\"disabled()\" [readonly]=\"readonly()\" (change)=\"onMinutesInput($event)\" aria-label=\"Minutes\"/>\n @if (!readonly()) {\n <button class=\"eds-timepicker__btn\" type=\"button\" [disabled]=\"disabled()\" (click)=\"changeMinutes(-stepMinutes())\" aria-label=\"Decrease minutes\">▼</button>\n }\n </div>\n\n @if (hasSeconds()) {\n <span class=\"eds-timepicker__separator\">:</span>\n\n <div class=\"eds-timepicker__field\">\n @if (!readonly()) {\n <button class=\"eds-timepicker__btn\" type=\"button\" [disabled]=\"disabled()\" (click)=\"changeSeconds(stepSeconds())\" aria-label=\"Increase seconds\">▲</button>\n }\n <input class=\"eds-timepicker__input\" type=\"text\" [value]=\"padded(seconds())\" [disabled]=\"disabled()\" [readonly]=\"readonly()\" (change)=\"onSecondsInput($event)\" aria-label=\"Seconds\"/>\n @if (!readonly()) {\n <button class=\"eds-timepicker__btn\" type=\"button\" [disabled]=\"disabled()\" (click)=\"changeSeconds(-stepSeconds())\" aria-label=\"Decrease seconds\">▼</button>\n }\n </div>\n }\n</div>\n","import { EdsTimepicker } from './eds-timepicker';\n\nexport { EdsTimepicker };\nexport { EdsTime } from './eds-time.model';\n\n/** Convenience array for importing eds-timepicker. */\nexport const EDS_TIMEPICKER = [\n EdsTimepicker,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -226,11 +226,11 @@ class EdsUserProfile {
226
226
  this.alignLeft.set(rect.right < viewportWidth / 2);
227
227
  }
228
228
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsUserProfile, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
229
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EdsUserProfile, isStandalone: true, selector: "eds-user-profile", inputs: { fullName: { classPropertyName: "fullName", publicName: "fullName", isSignal: true, isRequired: false, transformFunction: null }, firstName: { classPropertyName: "firstName", publicName: "firstName", isSignal: true, isRequired: false, transformFunction: null }, lastName: { classPropertyName: "lastName", publicName: "lastName", isSignal: true, isRequired: false, transformFunction: null }, avatarUrl: { classPropertyName: "avatarUrl", publicName: "avatarUrl", isSignal: true, isRequired: false, transformFunction: null }, subInfos: { classPropertyName: "subInfos", publicName: "subInfos", isSignal: true, isRequired: false, transformFunction: null }, welcomeLabel: { classPropertyName: "welcomeLabel", publicName: "welcomeLabel", isSignal: true, isRequired: false, transformFunction: null }, hasWelcomeLabel: { classPropertyName: "hasWelcomeLabel", publicName: "hasWelcomeLabel", isSignal: true, isRequired: false, transformFunction: null }, isShowUserInfos: { classPropertyName: "isShowUserInfos", publicName: "isShowUserInfos", isSignal: true, isRequired: false, transformFunction: null }, isShowAvatarInitials: { classPropertyName: "isShowAvatarInitials", publicName: "isShowAvatarInitials", isSignal: true, isRequired: false, transformFunction: null }, isReverse: { classPropertyName: "isReverse", publicName: "isReverse", isSignal: true, isRequired: false, transformFunction: null }, reverseNameOrder: { classPropertyName: "reverseNameOrder", publicName: "reverseNameOrder", isSignal: true, isRequired: false, transformFunction: null }, hasIconOnly: { classPropertyName: "hasIconOnly", publicName: "hasIconOnly", isSignal: true, isRequired: false, transformFunction: null }, isLoggedIn: { classPropertyName: "isLoggedIn", publicName: "isLoggedIn", isSignal: true, isRequired: false, transformFunction: null }, loginLabel: { classPropertyName: "loginLabel", publicName: "loginLabel", isSignal: true, isRequired: false, transformFunction: null }, loggedInLabel: { classPropertyName: "loggedInLabel", publicName: "loggedInLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { loginClick: "loginClick" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, queries: [{ propertyName: "menuChild", first: true, predicate: EdsUserProfileMenu, descendants: true, isSignal: true }], ngImport: i0, template: "<div\n class=\"user-profile\"\n [class.reverse]=\"effectiveReverse()\"\n [class.in-toolbar]=\"isInToolbar()\"\n [class.has-menu]=\"isInteractive()\"\n [class.icon-only]=\"hasIconOnly()\"\n [attr.tabindex]=\"isInteractive() ? 0 : null\"\n [attr.role]=\"isInteractive() ? 'button' : null\"\n (click)=\"onProfileClick()\"\n (keydown.enter)=\"onProfileClick()\"\n (keydown.space)=\"onProfileClick(); $event.preventDefault()\"\n (keydown.escape)=\"closeMenu()\">\n\n @if (hasIconOnly()) {\n <!-- Icon-only mode: icon + login label -->\n <eds-icon [icon]=\"iconOnlyIcon()\" size=\"m\" />\n <span class=\"icon-only-label\">{{ iconOnlyLabel() }}</span>\n } @else {\n <!-- Avatar -->\n @if (isInToolbar()) {\n <eds-avatar size=\"m\">\n @if (avatarUrl()) {\n <eds-avatar-icon>\n <eds-avatar-image [imageUrl]=\"avatarUrl()\" />\n </eds-avatar-icon>\n } @else if (isShowAvatarInitials() && initials()) {\n <eds-avatar-icon>\n <eds-avatar-text>{{ initials() }}</eds-avatar-text>\n </eds-avatar-icon>\n } @else {\n <eds-avatar-icon>\n <eds-avatar-text>\uD83D\uDC64</eds-avatar-text>\n </eds-avatar-icon>\n }\n </eds-avatar>\n } @else {\n <eds-avatar size=\"l\">\n @if (avatarUrl()) {\n <eds-avatar-icon>\n <eds-avatar-image [imageUrl]=\"avatarUrl()\" />\n </eds-avatar-icon>\n } @else if (isShowAvatarInitials() && initials()) {\n <eds-avatar-icon>\n <eds-avatar-text>{{ initials() }}</eds-avatar-text>\n </eds-avatar-icon>\n } @else {\n <eds-avatar-icon>\n <eds-avatar-text>\uD83D\uDC64</eds-avatar-text>\n </eds-avatar-icon>\n }\n </eds-avatar>\n }\n\n <!-- User info -->\n @if (isShowUserInfos()) {\n <div class=\"user-info\">\n @if (hasWelcomeLabel() && welcomeLabel()) {\n <span class=\"welcome\">{{ welcomeLabel() }}</span>\n }\n <span class=\"name\">{{ displayName() }}</span>\n @if (subInfos()) {\n <span class=\"sub-info\">{{ subInfos() }}</span>\n }\n </div>\n }\n }\n\n <!-- Chevron indicator (only when menu is present) -->\n @if (hasMenu()) {\n <eds-icon class=\"chevron\" [color]=\"isInToolbar() ? 'brand' : 'neutral'\" [icon]=\"isMenuOpen() ? 'caret-up' : 'caret-down'\" size=\"xs\" />\n }\n</div>\n\n<!-- Dropdown menu (content projected) -->\n@if (isMenuOpen()) {\n <div class=\"profile-menu\"\n [class.align-left]=\"alignLeft()\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n role=\"menu\"\n (keydown)=\"onMenuKeydown($event)\"\n (click)=\"closeMenu()\">\n <ng-content select=\"eds-user-profile-menu\"></ng-content>\n </div>\n}\n", styles: [".eui-21 :host{display:inline-flex;position:relative}.eui-21 :host .user-profile{display:flex;align-items:center;gap:var(--eds-sp-3xs);border-radius:var(--eds-br-s);padding:var(--eds-sp-3xs) var(--eds-sp-xs);transition:background .15s ease}.eui-21 :host .user-profile.has-menu{cursor:pointer}.eui-21 :host .user-profile.has-menu:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:1px!important;border-radius:var(--eds-br-xs)!important}.eui-21 :host .user-profile.has-menu:hover{background:var(--eds-c-surface-elevation-sunken)}.eui-21 :host .user-profile.has-menu.in-toolbar:hover{background:var(--eds-c-surface-brand--hover)}.eui-21 :host .user-profile.reverse .user-info{order:-1;text-align:right}.eui-21 :host .user-info{display:flex;flex-direction:column;min-width:0}.eui-21 :host .welcome{font:var(--eds-f-microcopy-xs);color:var(--eds-c-foreground-subtler)}.eui-21 :host .name{font:var(--eds-f-label-m-semi-bold);color:var(--eds-c-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eui-21 :host .sub-info{font:var(--eds-f-microcopy-xs);color:var(--eds-c-foreground-subtler);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eui-21 :host .chevron{flex-shrink:0;color:var(--eds-c-foreground-subtler);transition:transform .2s ease}.eui-21 :host .chevron.chevron-brand{color:var(--eds-c-on-surface-brand)}.eui-21 :host .icon-only-label{font:var(--eds-f-label-m-semi-bold);color:var(--eds-c-foreground);white-space:nowrap}.eui-21 :host .user-profile.icon-only.in-toolbar .icon-only-label{color:var(--eds-c-on-surface-brand)}.eui-21 :host .profile-menu{position:absolute;top:100%;right:0;z-index:200;min-width:220px;margin-top:var(--eds-sp-3xs);background:var(--eds-c-surface-elevation-overlay);border:var(--eds-bw-xs) solid var(--eds-c-border-divider);border-radius:var(--eds-br-m);box-shadow:var(--eds-sh-3);overflow:hidden}.eui-21 :host .profile-menu.align-left{right:auto;left:0}\n"], dependencies: [{ kind: "component", type: i1.EdsAvatar, selector: "div[edsAvatar], span[edsAvatar], eds-avatar", inputs: ["e2eAttr", "size", "aria-label", "color"] }, { kind: "component", type: i1.EdsAvatarIcon, selector: "eds-avatar-icon" }, { kind: "component", type: i1.EdsAvatarText, selector: "eds-avatar-text" }, { kind: "component", type: i1.EdsAvatarImage, selector: "eds-avatar-image", inputs: ["imageUrl"] }, { kind: "component", type: i2.EdsIcon, selector: "eds-icon, span[edsIcon]", inputs: ["icon", "set", "color", "size", "ariaLabel", "ariaHidden", "rounded", "isLoading"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }] }); }
229
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EdsUserProfile, isStandalone: true, selector: "eds-user-profile", inputs: { fullName: { classPropertyName: "fullName", publicName: "fullName", isSignal: true, isRequired: false, transformFunction: null }, firstName: { classPropertyName: "firstName", publicName: "firstName", isSignal: true, isRequired: false, transformFunction: null }, lastName: { classPropertyName: "lastName", publicName: "lastName", isSignal: true, isRequired: false, transformFunction: null }, avatarUrl: { classPropertyName: "avatarUrl", publicName: "avatarUrl", isSignal: true, isRequired: false, transformFunction: null }, subInfos: { classPropertyName: "subInfos", publicName: "subInfos", isSignal: true, isRequired: false, transformFunction: null }, welcomeLabel: { classPropertyName: "welcomeLabel", publicName: "welcomeLabel", isSignal: true, isRequired: false, transformFunction: null }, hasWelcomeLabel: { classPropertyName: "hasWelcomeLabel", publicName: "hasWelcomeLabel", isSignal: true, isRequired: false, transformFunction: null }, isShowUserInfos: { classPropertyName: "isShowUserInfos", publicName: "isShowUserInfos", isSignal: true, isRequired: false, transformFunction: null }, isShowAvatarInitials: { classPropertyName: "isShowAvatarInitials", publicName: "isShowAvatarInitials", isSignal: true, isRequired: false, transformFunction: null }, isReverse: { classPropertyName: "isReverse", publicName: "isReverse", isSignal: true, isRequired: false, transformFunction: null }, reverseNameOrder: { classPropertyName: "reverseNameOrder", publicName: "reverseNameOrder", isSignal: true, isRequired: false, transformFunction: null }, hasIconOnly: { classPropertyName: "hasIconOnly", publicName: "hasIconOnly", isSignal: true, isRequired: false, transformFunction: null }, isLoggedIn: { classPropertyName: "isLoggedIn", publicName: "isLoggedIn", isSignal: true, isRequired: false, transformFunction: null }, loginLabel: { classPropertyName: "loginLabel", publicName: "loginLabel", isSignal: true, isRequired: false, transformFunction: null }, loggedInLabel: { classPropertyName: "loggedInLabel", publicName: "loggedInLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { loginClick: "loginClick" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, queries: [{ propertyName: "menuChild", first: true, predicate: EdsUserProfileMenu, descendants: true, isSignal: true }], ngImport: i0, template: "<div\n class=\"user-profile\"\n [class.reverse]=\"effectiveReverse()\"\n [class.in-toolbar]=\"isInToolbar()\"\n [class.has-menu]=\"isInteractive()\"\n [class.icon-only]=\"hasIconOnly()\"\n [attr.tabindex]=\"isInteractive() ? 0 : null\"\n [attr.role]=\"isInteractive() ? 'button' : null\"\n (click)=\"onProfileClick()\"\n (keydown.enter)=\"onProfileClick()\"\n (keydown.space)=\"onProfileClick(); $event.preventDefault()\"\n (keydown.escape)=\"closeMenu()\">\n\n @if (hasIconOnly()) {\n <!-- Icon-only mode: icon + login label -->\n <eds-icon [icon]=\"iconOnlyIcon()\" size=\"m\" />\n <span class=\"icon-only-label\">{{ iconOnlyLabel() }}</span>\n } @else {\n <!-- Avatar -->\n @if (isInToolbar()) {\n <eds-avatar size=\"m\">\n @if (avatarUrl()) {\n <eds-avatar-icon>\n <eds-avatar-image [imageUrl]=\"avatarUrl()\" />\n </eds-avatar-icon>\n } @else if (isShowAvatarInitials() && initials()) {\n <eds-avatar-icon>\n <eds-avatar-text>{{ initials() }}</eds-avatar-text>\n </eds-avatar-icon>\n } @else {\n <eds-avatar-icon>\n <eds-avatar-text>\uD83D\uDC64</eds-avatar-text>\n </eds-avatar-icon>\n }\n </eds-avatar>\n } @else {\n <eds-avatar size=\"l\">\n @if (avatarUrl()) {\n <eds-avatar-icon>\n <eds-avatar-image [imageUrl]=\"avatarUrl()\" />\n </eds-avatar-icon>\n } @else if (isShowAvatarInitials() && initials()) {\n <eds-avatar-icon>\n <eds-avatar-text>{{ initials() }}</eds-avatar-text>\n </eds-avatar-icon>\n } @else {\n <eds-avatar-icon>\n <eds-avatar-text>\uD83D\uDC64</eds-avatar-text>\n </eds-avatar-icon>\n }\n </eds-avatar>\n }\n\n <!-- User info -->\n @if (isShowUserInfos()) {\n <div class=\"user-info\">\n @if (hasWelcomeLabel() && welcomeLabel()) {\n <span class=\"welcome\">{{ welcomeLabel() }}</span>\n }\n <span class=\"name\">{{ displayName() }}</span>\n @if (subInfos()) {\n <span class=\"sub-info\">{{ subInfos() }}</span>\n }\n </div>\n }\n }\n\n <!-- Chevron indicator (only when menu is present) -->\n @if (hasMenu()) {\n <eds-icon class=\"chevron\" [color]=\"isInToolbar() ? 'brand' : 'neutral'\" [icon]=\"isMenuOpen() ? 'caret-up' : 'caret-down'\" size=\"xs\" />\n }\n</div>\n\n<!-- Dropdown menu (content projected) -->\n@if (isMenuOpen()) {\n <div class=\"profile-menu\"\n [class.align-left]=\"alignLeft()\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n role=\"menu\"\n (keydown)=\"onMenuKeydown($event)\"\n (click)=\"closeMenu()\">\n <ng-content select=\"eds-user-profile-menu\"></ng-content>\n </div>\n}\n", styles: [".eui-21 :host{display:inline-flex;position:relative}.eui-21 :host .user-profile{display:flex;align-items:center;gap:var(--eds-sp-3xs);border-radius:var(--eds-br-s);padding:var(--eds-sp-3xs) var(--eds-sp-xs);transition:background .15s ease}.eui-21 :host .user-profile.has-menu{cursor:pointer}.eui-21 :host .user-profile.has-menu:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:1px!important;border-radius:var(--eds-br-xs)!important}.eui-21 :host .user-profile.has-menu:hover{background:var(--eds-c-surface-elevation-sunken)}.eui-21 :host .user-profile.has-menu.in-toolbar:hover{background:var(--eds-c-surface-brand--hover)}.eui-21 :host .user-profile.reverse .user-info{order:-1;text-align:right}.eui-21 :host .user-info{display:flex;flex-direction:column;min-width:0}.eui-21 :host .welcome{font:var(--eds-f-microcopy-xs);color:var(--eds-c-foreground-subtler)}.eui-21 :host .name{font:var(--eds-f-label-m-semibold);color:var(--eds-c-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eui-21 :host .sub-info{font:var(--eds-f-microcopy-xs);color:var(--eds-c-foreground-subtler);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eui-21 :host .chevron{flex-shrink:0;color:var(--eds-c-foreground-subtler);transition:transform .2s ease}.eui-21 :host .chevron.chevron-brand{color:var(--eds-c-on-surface-brand)}.eui-21 :host .icon-only-label{font:var(--eds-f-label-m-semibold);color:var(--eds-c-foreground);white-space:nowrap}.eui-21 :host .user-profile.icon-only.in-toolbar .icon-only-label{color:var(--eds-c-on-surface-brand)}.eui-21 :host .profile-menu{position:absolute;top:100%;right:0;z-index:200;min-width:220px;margin-top:var(--eds-sp-3xs);background:var(--eds-c-surface-elevation-overlay);border:var(--eds-bw-xs) solid var(--eds-c-border-divider);border-radius:var(--eds-br-m);box-shadow:var(--eds-sh-3);overflow:hidden}.eui-21 :host .profile-menu.align-left{right:auto;left:0}\n"], dependencies: [{ kind: "component", type: i1.EdsAvatar, selector: "div[edsAvatar], span[edsAvatar], eds-avatar", inputs: ["e2eAttr", "size", "aria-label", "color"] }, { kind: "component", type: i1.EdsAvatarIcon, selector: "eds-avatar-icon" }, { kind: "component", type: i1.EdsAvatarText, selector: "eds-avatar-text" }, { kind: "component", type: i1.EdsAvatarImage, selector: "eds-avatar-image", inputs: ["imageUrl"] }, { kind: "component", type: i2.EdsIcon, selector: "eds-icon, span[edsIcon]", inputs: ["icon", "set", "color", "size", "ariaLabel", "ariaHidden", "rounded", "isLoading"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }] }); }
230
230
  }
231
231
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsUserProfile, decorators: [{
232
232
  type: Component,
233
- args: [{ selector: 'eds-user-profile', imports: [...EDS_AVATAR, ...EDS_ICON, A11yModule], template: "<div\n class=\"user-profile\"\n [class.reverse]=\"effectiveReverse()\"\n [class.in-toolbar]=\"isInToolbar()\"\n [class.has-menu]=\"isInteractive()\"\n [class.icon-only]=\"hasIconOnly()\"\n [attr.tabindex]=\"isInteractive() ? 0 : null\"\n [attr.role]=\"isInteractive() ? 'button' : null\"\n (click)=\"onProfileClick()\"\n (keydown.enter)=\"onProfileClick()\"\n (keydown.space)=\"onProfileClick(); $event.preventDefault()\"\n (keydown.escape)=\"closeMenu()\">\n\n @if (hasIconOnly()) {\n <!-- Icon-only mode: icon + login label -->\n <eds-icon [icon]=\"iconOnlyIcon()\" size=\"m\" />\n <span class=\"icon-only-label\">{{ iconOnlyLabel() }}</span>\n } @else {\n <!-- Avatar -->\n @if (isInToolbar()) {\n <eds-avatar size=\"m\">\n @if (avatarUrl()) {\n <eds-avatar-icon>\n <eds-avatar-image [imageUrl]=\"avatarUrl()\" />\n </eds-avatar-icon>\n } @else if (isShowAvatarInitials() && initials()) {\n <eds-avatar-icon>\n <eds-avatar-text>{{ initials() }}</eds-avatar-text>\n </eds-avatar-icon>\n } @else {\n <eds-avatar-icon>\n <eds-avatar-text>\uD83D\uDC64</eds-avatar-text>\n </eds-avatar-icon>\n }\n </eds-avatar>\n } @else {\n <eds-avatar size=\"l\">\n @if (avatarUrl()) {\n <eds-avatar-icon>\n <eds-avatar-image [imageUrl]=\"avatarUrl()\" />\n </eds-avatar-icon>\n } @else if (isShowAvatarInitials() && initials()) {\n <eds-avatar-icon>\n <eds-avatar-text>{{ initials() }}</eds-avatar-text>\n </eds-avatar-icon>\n } @else {\n <eds-avatar-icon>\n <eds-avatar-text>\uD83D\uDC64</eds-avatar-text>\n </eds-avatar-icon>\n }\n </eds-avatar>\n }\n\n <!-- User info -->\n @if (isShowUserInfos()) {\n <div class=\"user-info\">\n @if (hasWelcomeLabel() && welcomeLabel()) {\n <span class=\"welcome\">{{ welcomeLabel() }}</span>\n }\n <span class=\"name\">{{ displayName() }}</span>\n @if (subInfos()) {\n <span class=\"sub-info\">{{ subInfos() }}</span>\n }\n </div>\n }\n }\n\n <!-- Chevron indicator (only when menu is present) -->\n @if (hasMenu()) {\n <eds-icon class=\"chevron\" [color]=\"isInToolbar() ? 'brand' : 'neutral'\" [icon]=\"isMenuOpen() ? 'caret-up' : 'caret-down'\" size=\"xs\" />\n }\n</div>\n\n<!-- Dropdown menu (content projected) -->\n@if (isMenuOpen()) {\n <div class=\"profile-menu\"\n [class.align-left]=\"alignLeft()\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n role=\"menu\"\n (keydown)=\"onMenuKeydown($event)\"\n (click)=\"closeMenu()\">\n <ng-content select=\"eds-user-profile-menu\"></ng-content>\n </div>\n}\n", styles: [".eui-21 :host{display:inline-flex;position:relative}.eui-21 :host .user-profile{display:flex;align-items:center;gap:var(--eds-sp-3xs);border-radius:var(--eds-br-s);padding:var(--eds-sp-3xs) var(--eds-sp-xs);transition:background .15s ease}.eui-21 :host .user-profile.has-menu{cursor:pointer}.eui-21 :host .user-profile.has-menu:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:1px!important;border-radius:var(--eds-br-xs)!important}.eui-21 :host .user-profile.has-menu:hover{background:var(--eds-c-surface-elevation-sunken)}.eui-21 :host .user-profile.has-menu.in-toolbar:hover{background:var(--eds-c-surface-brand--hover)}.eui-21 :host .user-profile.reverse .user-info{order:-1;text-align:right}.eui-21 :host .user-info{display:flex;flex-direction:column;min-width:0}.eui-21 :host .welcome{font:var(--eds-f-microcopy-xs);color:var(--eds-c-foreground-subtler)}.eui-21 :host .name{font:var(--eds-f-label-m-semi-bold);color:var(--eds-c-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eui-21 :host .sub-info{font:var(--eds-f-microcopy-xs);color:var(--eds-c-foreground-subtler);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eui-21 :host .chevron{flex-shrink:0;color:var(--eds-c-foreground-subtler);transition:transform .2s ease}.eui-21 :host .chevron.chevron-brand{color:var(--eds-c-on-surface-brand)}.eui-21 :host .icon-only-label{font:var(--eds-f-label-m-semi-bold);color:var(--eds-c-foreground);white-space:nowrap}.eui-21 :host .user-profile.icon-only.in-toolbar .icon-only-label{color:var(--eds-c-on-surface-brand)}.eui-21 :host .profile-menu{position:absolute;top:100%;right:0;z-index:200;min-width:220px;margin-top:var(--eds-sp-3xs);background:var(--eds-c-surface-elevation-overlay);border:var(--eds-bw-xs) solid var(--eds-c-border-divider);border-radius:var(--eds-br-m);box-shadow:var(--eds-sh-3);overflow:hidden}.eui-21 :host .profile-menu.align-left{right:auto;left:0}\n"] }]
233
+ args: [{ selector: 'eds-user-profile', imports: [...EDS_AVATAR, ...EDS_ICON, A11yModule], template: "<div\n class=\"user-profile\"\n [class.reverse]=\"effectiveReverse()\"\n [class.in-toolbar]=\"isInToolbar()\"\n [class.has-menu]=\"isInteractive()\"\n [class.icon-only]=\"hasIconOnly()\"\n [attr.tabindex]=\"isInteractive() ? 0 : null\"\n [attr.role]=\"isInteractive() ? 'button' : null\"\n (click)=\"onProfileClick()\"\n (keydown.enter)=\"onProfileClick()\"\n (keydown.space)=\"onProfileClick(); $event.preventDefault()\"\n (keydown.escape)=\"closeMenu()\">\n\n @if (hasIconOnly()) {\n <!-- Icon-only mode: icon + login label -->\n <eds-icon [icon]=\"iconOnlyIcon()\" size=\"m\" />\n <span class=\"icon-only-label\">{{ iconOnlyLabel() }}</span>\n } @else {\n <!-- Avatar -->\n @if (isInToolbar()) {\n <eds-avatar size=\"m\">\n @if (avatarUrl()) {\n <eds-avatar-icon>\n <eds-avatar-image [imageUrl]=\"avatarUrl()\" />\n </eds-avatar-icon>\n } @else if (isShowAvatarInitials() && initials()) {\n <eds-avatar-icon>\n <eds-avatar-text>{{ initials() }}</eds-avatar-text>\n </eds-avatar-icon>\n } @else {\n <eds-avatar-icon>\n <eds-avatar-text>\uD83D\uDC64</eds-avatar-text>\n </eds-avatar-icon>\n }\n </eds-avatar>\n } @else {\n <eds-avatar size=\"l\">\n @if (avatarUrl()) {\n <eds-avatar-icon>\n <eds-avatar-image [imageUrl]=\"avatarUrl()\" />\n </eds-avatar-icon>\n } @else if (isShowAvatarInitials() && initials()) {\n <eds-avatar-icon>\n <eds-avatar-text>{{ initials() }}</eds-avatar-text>\n </eds-avatar-icon>\n } @else {\n <eds-avatar-icon>\n <eds-avatar-text>\uD83D\uDC64</eds-avatar-text>\n </eds-avatar-icon>\n }\n </eds-avatar>\n }\n\n <!-- User info -->\n @if (isShowUserInfos()) {\n <div class=\"user-info\">\n @if (hasWelcomeLabel() && welcomeLabel()) {\n <span class=\"welcome\">{{ welcomeLabel() }}</span>\n }\n <span class=\"name\">{{ displayName() }}</span>\n @if (subInfos()) {\n <span class=\"sub-info\">{{ subInfos() }}</span>\n }\n </div>\n }\n }\n\n <!-- Chevron indicator (only when menu is present) -->\n @if (hasMenu()) {\n <eds-icon class=\"chevron\" [color]=\"isInToolbar() ? 'brand' : 'neutral'\" [icon]=\"isMenuOpen() ? 'caret-up' : 'caret-down'\" size=\"xs\" />\n }\n</div>\n\n<!-- Dropdown menu (content projected) -->\n@if (isMenuOpen()) {\n <div class=\"profile-menu\"\n [class.align-left]=\"alignLeft()\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n role=\"menu\"\n (keydown)=\"onMenuKeydown($event)\"\n (click)=\"closeMenu()\">\n <ng-content select=\"eds-user-profile-menu\"></ng-content>\n </div>\n}\n", styles: [".eui-21 :host{display:inline-flex;position:relative}.eui-21 :host .user-profile{display:flex;align-items:center;gap:var(--eds-sp-3xs);border-radius:var(--eds-br-s);padding:var(--eds-sp-3xs) var(--eds-sp-xs);transition:background .15s ease}.eui-21 :host .user-profile.has-menu{cursor:pointer}.eui-21 :host .user-profile.has-menu:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:1px!important;border-radius:var(--eds-br-xs)!important}.eui-21 :host .user-profile.has-menu:hover{background:var(--eds-c-surface-elevation-sunken)}.eui-21 :host .user-profile.has-menu.in-toolbar:hover{background:var(--eds-c-surface-brand--hover)}.eui-21 :host .user-profile.reverse .user-info{order:-1;text-align:right}.eui-21 :host .user-info{display:flex;flex-direction:column;min-width:0}.eui-21 :host .welcome{font:var(--eds-f-microcopy-xs);color:var(--eds-c-foreground-subtler)}.eui-21 :host .name{font:var(--eds-f-label-m-semibold);color:var(--eds-c-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eui-21 :host .sub-info{font:var(--eds-f-microcopy-xs);color:var(--eds-c-foreground-subtler);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eui-21 :host .chevron{flex-shrink:0;color:var(--eds-c-foreground-subtler);transition:transform .2s ease}.eui-21 :host .chevron.chevron-brand{color:var(--eds-c-on-surface-brand)}.eui-21 :host .icon-only-label{font:var(--eds-f-label-m-semibold);color:var(--eds-c-foreground);white-space:nowrap}.eui-21 :host .user-profile.icon-only.in-toolbar .icon-only-label{color:var(--eds-c-on-surface-brand)}.eui-21 :host .profile-menu{position:absolute;top:100%;right:0;z-index:200;min-width:220px;margin-top:var(--eds-sp-3xs);background:var(--eds-c-surface-elevation-overlay);border:var(--eds-bw-xs) solid var(--eds-c-border-divider);border-radius:var(--eds-br-m);box-shadow:var(--eds-sh-3);overflow:hidden}.eui-21 :host .profile-menu.align-left{right:auto;left:0}\n"] }]
234
234
  }], propDecorators: { fullName: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullName", required: false }] }], firstName: [{ type: i0.Input, args: [{ isSignal: true, alias: "firstName", required: false }] }], lastName: [{ type: i0.Input, args: [{ isSignal: true, alias: "lastName", required: false }] }], avatarUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatarUrl", required: false }] }], subInfos: [{ type: i0.Input, args: [{ isSignal: true, alias: "subInfos", required: false }] }], welcomeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "welcomeLabel", required: false }] }], hasWelcomeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasWelcomeLabel", required: false }] }], isShowUserInfos: [{ type: i0.Input, args: [{ isSignal: true, alias: "isShowUserInfos", required: false }] }], isShowAvatarInitials: [{ type: i0.Input, args: [{ isSignal: true, alias: "isShowAvatarInitials", required: false }] }], isReverse: [{ type: i0.Input, args: [{ isSignal: true, alias: "isReverse", required: false }] }], reverseNameOrder: [{ type: i0.Input, args: [{ isSignal: true, alias: "reverseNameOrder", required: false }] }], hasIconOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasIconOnly", required: false }] }], isLoggedIn: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoggedIn", required: false }] }], loginLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "loginLabel", required: false }] }], loggedInLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "loggedInLabel", required: false }] }], loginClick: [{ type: i0.Output, args: ["loginClick"] }], menuChild: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EdsUserProfileMenu), { isSignal: true }] }], onDocumentClick: [{
235
235
  type: HostListener,
236
236
  args: ['document:click', ['$event']]
@@ -1 +1 @@
1
- {"version":3,"file":"eui-eds-eds-user-profile.mjs","sources":["../../eds-user-profile/eds-user-profile-menu.ts","../../eds-user-profile/eds-user-profile-menu.html","../../eds-user-profile/eds-user-profile.ts","../../eds-user-profile/eds-user-profile.html","../../eds-user-profile/eds-user-profile-menu-item.ts","../../eds-user-profile/eds-user-profile-menu-item.html","../../eds-user-profile/index.ts","../../eds-user-profile/eui-eds-eds-user-profile.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'eds-user-profile-menu',\n templateUrl: './eds-user-profile-menu.html',\n styleUrl: './eds-user-profile-menu.scss',\n})\nexport class EdsUserProfileMenu {}\n","<ng-content></ng-content>\n","import { Component, input, signal, computed, ElementRef, inject, HostListener, OnInit, contentChild, AfterViewChecked, output } from '@angular/core';\nimport { EDS_AVATAR } from '@eui/eds/eds-avatar';\nimport { EDS_ICON } from '@eui/eds/eds-icon';\nimport { EdsUserProfileMenu } from './eds-user-profile-menu';\nimport { A11yModule } from '@angular/cdk/a11y';\n\n@Component({\n selector: 'eds-user-profile',\n imports: [...EDS_AVATAR, ...EDS_ICON, A11yModule],\n templateUrl: './eds-user-profile.html',\n styleUrl: './eds-user-profile.scss',\n})\nexport class EdsUserProfile implements OnInit, AfterViewChecked {\n /** Full name of the user. */\n fullName = input<string>('');\n\n /** First name. */\n firstName = input<string>('');\n\n /** Last name. */\n lastName = input<string>('');\n\n /** URL of the avatar image. */\n avatarUrl = input<string>('');\n\n /** Additional info displayed below the name (e.g. email, role). */\n subInfos = input<string>('');\n\n /** Welcome label displayed before the user name. */\n welcomeLabel = input<string>('Welcome');\n\n /** Whether to show the welcome label. */\n hasWelcomeLabel = input<boolean>(true);\n\n /** Whether to show user name and info text. */\n isShowUserInfos = input<boolean>(true);\n\n /** Whether to show initials in the avatar when no image. */\n isShowAvatarInitials = input<boolean>(true);\n\n /** Reverse the layout (name on left, avatar on right). */\n isReverse = input<boolean>(false);\n\n /** Whether to reverse name order (firstName first). */\n reverseNameOrder = input<boolean>(false);\n\n /** Whether to show only an icon with a login/logged-in label (no avatar, no name). */\n hasIconOnly = input<boolean>(false);\n\n /** Whether the user is currently logged in (used with hasIconOnly). */\n isLoggedIn = input<boolean>(false);\n\n /** Label shown when not logged in (hasIconOnly mode). */\n loginLabel = input<string>('Log in');\n\n /** Label shown when logged in (hasIconOnly mode). */\n loggedInLabel = input<string>('Logged in');\n\n /** Emitted when the icon-only profile is clicked while not logged in. */\n loginClick = output<void>();\n\n /** Icon to display in icon-only mode based on login state. */\n iconOnlyIcon = computed(() => this.isLoggedIn() ? 'user-check:regular' : 'user:regular');\n\n /** Label to display in icon-only mode based on login state. */\n iconOnlyLabel = computed(() => this.isLoggedIn() ? this.loggedInLabel() : this.loginLabel());\n\n /** Whether the component has a dropdown menu. */\n hasMenu = computed(() => {\n // In icon-only mode, menu is only available when logged in\n if (this.hasIconOnly() && !this.isLoggedIn()) return false;\n return !!this.menuChild();\n });\n\n /** Whether the component is interactive (clickable/tabbable). */\n isInteractive = computed(() => this.hasMenu() || this.hasIconOnly());\n\n /** Whether reverse mode is forced by context (e.g. inside eds-shell-header). */\n isInToolbar = signal(false);\n\n /** Index of the currently focused menu item (-1 = none). */\n focusedIndex = signal(-1);\n\n /** Effective reverse state: true if input or context forces it. */\n effectiveReverse = computed(() => this.isReverse() || this.contextReverse());\n\n /** Whether dropdown menu is open. */\n isMenuOpen = signal(false);\n\n /** Whether the dropdown should align to the left edge instead of right. */\n alignLeft = signal(false);\n\n /** Computed display name. */\n displayName = computed(() => {\n if (this.fullName()) return this.fullName();\n const first = this.firstName();\n const last = this.lastName();\n if (this.reverseNameOrder()) {\n return `${first} ${last}`.trim();\n }\n return `${last} ${first}`.trim();\n });\n\n /** Computed initials from name. */\n initials = computed(() => {\n const first = this.firstName();\n const last = this.lastName();\n if (first && last) {\n return `${first.charAt(0)}${last.charAt(0)}`.toUpperCase();\n }\n const full = this.fullName();\n if (full) {\n const parts = full.split(' ').filter(Boolean);\n if (parts.length >= 2) {\n return `${parts[0].charAt(0)}${parts[parts.length - 1].charAt(0)}`.toUpperCase();\n }\n return full.substring(0, 2).toUpperCase();\n }\n return '';\n });\n\n private el = inject(ElementRef);\n\n /** Detects whether a menu is projected. */\n private menuChild = contentChild(EdsUserProfileMenu);\n\n /** Whether reverse mode is forced by context (e.g. inside eds-shell-header). */\n private contextReverse = signal(false);\n\n private menuItems: HTMLElement[] = [];\n private needsFocusOnOpen = false;\n\n ngOnInit(): void {\n if (this.el.nativeElement.closest('eds-shell-header')) {\n this.contextReverse.set(true);\n }\n if (this.el.nativeElement.closest('eds-shell-toolbar')) {\n this.isInToolbar.set(true);\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.needsFocusOnOpen && this.isMenuOpen()) {\n this.menuItems = Array.from(\n this.el.nativeElement.querySelectorAll('eds-user-profile-menu-item'),\n );\n if (this.menuItems.length > 0) {\n this.focusedIndex.set(0);\n this.menuItems[0].focus();\n this.needsFocusOnOpen = false;\n }\n }\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: MouseEvent): void {\n if (this.isMenuOpen() && !this.el.nativeElement.contains(event.target)) {\n this.closeMenu();\n }\n }\n\n toggleMenu(): void {\n if (!this.isMenuOpen()) {\n this.updateAlignment();\n this.isMenuOpen.set(true);\n this.needsFocusOnOpen = true;\n } else {\n this.closeMenu();\n }\n }\n\n /** Handles click on the profile element. */\n onProfileClick(): void {\n if (this.hasIconOnly() && !this.isLoggedIn()) {\n // Not logged in, icon-only mode: emit login click, no menu\n this.loginClick.emit();\n return;\n }\n if (this.hasMenu()) {\n this.toggleMenu();\n }\n }\n\n closeMenu(): void {\n this.isMenuOpen.set(false);\n this.focusedIndex.set(-1);\n this.menuItems = [];\n }\n\n onMenuKeydown(event: KeyboardEvent): void {\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n this.moveFocus(1);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n this.moveFocus(-1);\n } else if (event.key === 'Escape') {\n this.closeMenu();\n // Return focus to trigger\n const trigger = this.el.nativeElement.querySelector('.user-profile') as HTMLElement;\n trigger?.focus();\n } else if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n const idx = this.focusedIndex();\n if (idx >= 0 && idx < this.menuItems.length) {\n this.menuItems[idx].click();\n }\n }\n }\n\n private moveFocus(direction: number): void {\n if (this.menuItems.length === 0) return;\n\n let newIndex = this.focusedIndex() + direction;\n if (newIndex < 0) newIndex = this.menuItems.length - 1;\n if (newIndex >= this.menuItems.length) newIndex = 0;\n\n this.focusedIndex.set(newIndex);\n this.menuItems[newIndex].focus();\n }\n\n private updateAlignment(): void {\n const rect = this.el.nativeElement.getBoundingClientRect();\n const viewportWidth = window.innerWidth;\n this.alignLeft.set(rect.right < viewportWidth / 2);\n }\n}\n","<div\n class=\"user-profile\"\n [class.reverse]=\"effectiveReverse()\"\n [class.in-toolbar]=\"isInToolbar()\"\n [class.has-menu]=\"isInteractive()\"\n [class.icon-only]=\"hasIconOnly()\"\n [attr.tabindex]=\"isInteractive() ? 0 : null\"\n [attr.role]=\"isInteractive() ? 'button' : null\"\n (click)=\"onProfileClick()\"\n (keydown.enter)=\"onProfileClick()\"\n (keydown.space)=\"onProfileClick(); $event.preventDefault()\"\n (keydown.escape)=\"closeMenu()\">\n\n @if (hasIconOnly()) {\n <!-- Icon-only mode: icon + login label -->\n <eds-icon [icon]=\"iconOnlyIcon()\" size=\"m\" />\n <span class=\"icon-only-label\">{{ iconOnlyLabel() }}</span>\n } @else {\n <!-- Avatar -->\n @if (isInToolbar()) {\n <eds-avatar size=\"m\">\n @if (avatarUrl()) {\n <eds-avatar-icon>\n <eds-avatar-image [imageUrl]=\"avatarUrl()\" />\n </eds-avatar-icon>\n } @else if (isShowAvatarInitials() && initials()) {\n <eds-avatar-icon>\n <eds-avatar-text>{{ initials() }}</eds-avatar-text>\n </eds-avatar-icon>\n } @else {\n <eds-avatar-icon>\n <eds-avatar-text>👤</eds-avatar-text>\n </eds-avatar-icon>\n }\n </eds-avatar>\n } @else {\n <eds-avatar size=\"l\">\n @if (avatarUrl()) {\n <eds-avatar-icon>\n <eds-avatar-image [imageUrl]=\"avatarUrl()\" />\n </eds-avatar-icon>\n } @else if (isShowAvatarInitials() && initials()) {\n <eds-avatar-icon>\n <eds-avatar-text>{{ initials() }}</eds-avatar-text>\n </eds-avatar-icon>\n } @else {\n <eds-avatar-icon>\n <eds-avatar-text>👤</eds-avatar-text>\n </eds-avatar-icon>\n }\n </eds-avatar>\n }\n\n <!-- User info -->\n @if (isShowUserInfos()) {\n <div class=\"user-info\">\n @if (hasWelcomeLabel() && welcomeLabel()) {\n <span class=\"welcome\">{{ welcomeLabel() }}</span>\n }\n <span class=\"name\">{{ displayName() }}</span>\n @if (subInfos()) {\n <span class=\"sub-info\">{{ subInfos() }}</span>\n }\n </div>\n }\n }\n\n <!-- Chevron indicator (only when menu is present) -->\n @if (hasMenu()) {\n <eds-icon class=\"chevron\" [color]=\"isInToolbar() ? 'brand' : 'neutral'\" [icon]=\"isMenuOpen() ? 'caret-up' : 'caret-down'\" size=\"xs\" />\n }\n</div>\n\n<!-- Dropdown menu (content projected) -->\n@if (isMenuOpen()) {\n <div class=\"profile-menu\"\n [class.align-left]=\"alignLeft()\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n role=\"menu\"\n (keydown)=\"onMenuKeydown($event)\"\n (click)=\"closeMenu()\">\n <ng-content select=\"eds-user-profile-menu\"></ng-content>\n </div>\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'eds-user-profile-menu-item',\n templateUrl: './eds-user-profile-menu-item.html',\n styleUrl: './eds-user-profile-menu-item.scss',\n})\nexport class EdsUserProfileMenuItem {\n @HostBinding('attr.tabindex') tabindex = -1;\n @HostBinding('attr.role') role = 'menuitem';\n}\n","<ng-content></ng-content>\n","import { EdsUserProfile } from './eds-user-profile';\nimport { EdsUserProfileMenu } from './eds-user-profile-menu';\nimport { EdsUserProfileMenuItem } from './eds-user-profile-menu-item';\n\nexport { EdsUserProfile, EdsUserProfileMenu, EdsUserProfileMenuItem };\n\n/** Convenience array for importing all eds-user-profile components. */\nexport const EDS_USER_PROFILE = [\n EdsUserProfile,\n EdsUserProfileMenu,\n EdsUserProfileMenuItem,\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-user-profile.mjs","sources":["../../eds-user-profile/eds-user-profile-menu.ts","../../eds-user-profile/eds-user-profile-menu.html","../../eds-user-profile/eds-user-profile.ts","../../eds-user-profile/eds-user-profile.html","../../eds-user-profile/eds-user-profile-menu-item.ts","../../eds-user-profile/eds-user-profile-menu-item.html","../../eds-user-profile/index.ts","../../eds-user-profile/eui-eds-eds-user-profile.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'eds-user-profile-menu',\n templateUrl: './eds-user-profile-menu.html',\n styleUrl: './eds-user-profile-menu.scss',\n})\nexport class EdsUserProfileMenu {}\n","<ng-content></ng-content>\n","import { Component, input, signal, computed, ElementRef, inject, HostListener, OnInit, contentChild, AfterViewChecked, output } from '@angular/core';\nimport { EDS_AVATAR } from '@eui/eds/eds-avatar';\nimport { EDS_ICON } from '@eui/eds/eds-icon';\nimport { EdsUserProfileMenu } from './eds-user-profile-menu';\nimport { A11yModule } from '@angular/cdk/a11y';\n\n@Component({\n selector: 'eds-user-profile',\n imports: [...EDS_AVATAR, ...EDS_ICON, A11yModule],\n templateUrl: './eds-user-profile.html',\n styleUrl: './eds-user-profile.scss',\n})\nexport class EdsUserProfile implements OnInit, AfterViewChecked {\n /** Full name of the user. */\n fullName = input<string>('');\n\n /** First name. */\n firstName = input<string>('');\n\n /** Last name. */\n lastName = input<string>('');\n\n /** URL of the avatar image. */\n avatarUrl = input<string>('');\n\n /** Additional info displayed below the name (e.g. email, role). */\n subInfos = input<string>('');\n\n /** Welcome label displayed before the user name. */\n welcomeLabel = input<string>('Welcome');\n\n /** Whether to show the welcome label. */\n hasWelcomeLabel = input<boolean>(true);\n\n /** Whether to show user name and info text. */\n isShowUserInfos = input<boolean>(true);\n\n /** Whether to show initials in the avatar when no image. */\n isShowAvatarInitials = input<boolean>(true);\n\n /** Reverse the layout (name on left, avatar on right). */\n isReverse = input<boolean>(false);\n\n /** Whether to reverse name order (firstName first). */\n reverseNameOrder = input<boolean>(false);\n\n /** Whether to show only an icon with a login/logged-in label (no avatar, no name). */\n hasIconOnly = input<boolean>(false);\n\n /** Whether the user is currently logged in (used with hasIconOnly). */\n isLoggedIn = input<boolean>(false);\n\n /** Label shown when not logged in (hasIconOnly mode). */\n loginLabel = input<string>('Log in');\n\n /** Label shown when logged in (hasIconOnly mode). */\n loggedInLabel = input<string>('Logged in');\n\n /** Emitted when the icon-only profile is clicked while not logged in. */\n loginClick = output<void>();\n\n /** Icon to display in icon-only mode based on login state. */\n iconOnlyIcon = computed(() => this.isLoggedIn() ? 'user-check:regular' : 'user:regular');\n\n /** Label to display in icon-only mode based on login state. */\n iconOnlyLabel = computed(() => this.isLoggedIn() ? this.loggedInLabel() : this.loginLabel());\n\n /** Whether the component has a dropdown menu. */\n hasMenu = computed(() => {\n // In icon-only mode, menu is only available when logged in\n if (this.hasIconOnly() && !this.isLoggedIn()) return false;\n return !!this.menuChild();\n });\n\n /** Whether the component is interactive (clickable/tabbable). */\n isInteractive = computed(() => this.hasMenu() || this.hasIconOnly());\n\n /** Whether reverse mode is forced by context (e.g. inside eds-shell-header). */\n isInToolbar = signal(false);\n\n /** Index of the currently focused menu item (-1 = none). */\n focusedIndex = signal(-1);\n\n /** Effective reverse state: true if input or context forces it. */\n effectiveReverse = computed(() => this.isReverse() || this.contextReverse());\n\n /** Whether dropdown menu is open. */\n isMenuOpen = signal(false);\n\n /** Whether the dropdown should align to the left edge instead of right. */\n alignLeft = signal(false);\n\n /** Computed display name. */\n displayName = computed(() => {\n if (this.fullName()) return this.fullName();\n const first = this.firstName();\n const last = this.lastName();\n if (this.reverseNameOrder()) {\n return `${first} ${last}`.trim();\n }\n return `${last} ${first}`.trim();\n });\n\n /** Computed initials from name. */\n initials = computed(() => {\n const first = this.firstName();\n const last = this.lastName();\n if (first && last) {\n return `${first.charAt(0)}${last.charAt(0)}`.toUpperCase();\n }\n const full = this.fullName();\n if (full) {\n const parts = full.split(' ').filter(Boolean);\n if (parts.length >= 2) {\n return `${parts[0].charAt(0)}${parts[parts.length - 1].charAt(0)}`.toUpperCase();\n }\n return full.substring(0, 2).toUpperCase();\n }\n return '';\n });\n\n private el = inject(ElementRef);\n\n /** Detects whether a menu is projected. */\n private menuChild = contentChild(EdsUserProfileMenu);\n\n /** Whether reverse mode is forced by context (e.g. inside eds-shell-header). */\n private contextReverse = signal(false);\n\n private menuItems: HTMLElement[] = [];\n private needsFocusOnOpen = false;\n\n ngOnInit(): void {\n if (this.el.nativeElement.closest('eds-shell-header')) {\n this.contextReverse.set(true);\n }\n if (this.el.nativeElement.closest('eds-shell-toolbar')) {\n this.isInToolbar.set(true);\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.needsFocusOnOpen && this.isMenuOpen()) {\n this.menuItems = Array.from(\n this.el.nativeElement.querySelectorAll('eds-user-profile-menu-item'),\n );\n if (this.menuItems.length > 0) {\n this.focusedIndex.set(0);\n this.menuItems[0].focus();\n this.needsFocusOnOpen = false;\n }\n }\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: MouseEvent): void {\n if (this.isMenuOpen() && !this.el.nativeElement.contains(event.target)) {\n this.closeMenu();\n }\n }\n\n toggleMenu(): void {\n if (!this.isMenuOpen()) {\n this.updateAlignment();\n this.isMenuOpen.set(true);\n this.needsFocusOnOpen = true;\n } else {\n this.closeMenu();\n }\n }\n\n /** Handles click on the profile element. */\n onProfileClick(): void {\n if (this.hasIconOnly() && !this.isLoggedIn()) {\n // Not logged in, icon-only mode: emit login click, no menu\n this.loginClick.emit();\n return;\n }\n if (this.hasMenu()) {\n this.toggleMenu();\n }\n }\n\n closeMenu(): void {\n this.isMenuOpen.set(false);\n this.focusedIndex.set(-1);\n this.menuItems = [];\n }\n\n onMenuKeydown(event: KeyboardEvent): void {\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n this.moveFocus(1);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n this.moveFocus(-1);\n } else if (event.key === 'Escape') {\n this.closeMenu();\n // Return focus to trigger\n const trigger = this.el.nativeElement.querySelector('.user-profile') as HTMLElement;\n trigger?.focus();\n } else if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n const idx = this.focusedIndex();\n if (idx >= 0 && idx < this.menuItems.length) {\n this.menuItems[idx].click();\n }\n }\n }\n\n private moveFocus(direction: number): void {\n if (this.menuItems.length === 0) return;\n\n let newIndex = this.focusedIndex() + direction;\n if (newIndex < 0) newIndex = this.menuItems.length - 1;\n if (newIndex >= this.menuItems.length) newIndex = 0;\n\n this.focusedIndex.set(newIndex);\n this.menuItems[newIndex].focus();\n }\n\n private updateAlignment(): void {\n const rect = this.el.nativeElement.getBoundingClientRect();\n const viewportWidth = window.innerWidth;\n this.alignLeft.set(rect.right < viewportWidth / 2);\n }\n}\n","<div\n class=\"user-profile\"\n [class.reverse]=\"effectiveReverse()\"\n [class.in-toolbar]=\"isInToolbar()\"\n [class.has-menu]=\"isInteractive()\"\n [class.icon-only]=\"hasIconOnly()\"\n [attr.tabindex]=\"isInteractive() ? 0 : null\"\n [attr.role]=\"isInteractive() ? 'button' : null\"\n (click)=\"onProfileClick()\"\n (keydown.enter)=\"onProfileClick()\"\n (keydown.space)=\"onProfileClick(); $event.preventDefault()\"\n (keydown.escape)=\"closeMenu()\">\n\n @if (hasIconOnly()) {\n <!-- Icon-only mode: icon + login label -->\n <eds-icon [icon]=\"iconOnlyIcon()\" size=\"m\" />\n <span class=\"icon-only-label\">{{ iconOnlyLabel() }}</span>\n } @else {\n <!-- Avatar -->\n @if (isInToolbar()) {\n <eds-avatar size=\"m\">\n @if (avatarUrl()) {\n <eds-avatar-icon>\n <eds-avatar-image [imageUrl]=\"avatarUrl()\" />\n </eds-avatar-icon>\n } @else if (isShowAvatarInitials() && initials()) {\n <eds-avatar-icon>\n <eds-avatar-text>{{ initials() }}</eds-avatar-text>\n </eds-avatar-icon>\n } @else {\n <eds-avatar-icon>\n <eds-avatar-text>👤</eds-avatar-text>\n </eds-avatar-icon>\n }\n </eds-avatar>\n } @else {\n <eds-avatar size=\"l\">\n @if (avatarUrl()) {\n <eds-avatar-icon>\n <eds-avatar-image [imageUrl]=\"avatarUrl()\" />\n </eds-avatar-icon>\n } @else if (isShowAvatarInitials() && initials()) {\n <eds-avatar-icon>\n <eds-avatar-text>{{ initials() }}</eds-avatar-text>\n </eds-avatar-icon>\n } @else {\n <eds-avatar-icon>\n <eds-avatar-text>👤</eds-avatar-text>\n </eds-avatar-icon>\n }\n </eds-avatar>\n }\n\n <!-- User info -->\n @if (isShowUserInfos()) {\n <div class=\"user-info\">\n @if (hasWelcomeLabel() && welcomeLabel()) {\n <span class=\"welcome\">{{ welcomeLabel() }}</span>\n }\n <span class=\"name\">{{ displayName() }}</span>\n @if (subInfos()) {\n <span class=\"sub-info\">{{ subInfos() }}</span>\n }\n </div>\n }\n }\n\n <!-- Chevron indicator (only when menu is present) -->\n @if (hasMenu()) {\n <eds-icon class=\"chevron\" [color]=\"isInToolbar() ? 'brand' : 'neutral'\" [icon]=\"isMenuOpen() ? 'caret-up' : 'caret-down'\" size=\"xs\" />\n }\n</div>\n\n<!-- Dropdown menu (content projected) -->\n@if (isMenuOpen()) {\n <div class=\"profile-menu\"\n [class.align-left]=\"alignLeft()\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n role=\"menu\"\n (keydown)=\"onMenuKeydown($event)\"\n (click)=\"closeMenu()\">\n <ng-content select=\"eds-user-profile-menu\"></ng-content>\n </div>\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'eds-user-profile-menu-item',\n templateUrl: './eds-user-profile-menu-item.html',\n styleUrl: './eds-user-profile-menu-item.scss',\n})\nexport class EdsUserProfileMenuItem {\n @HostBinding('attr.tabindex') tabindex = -1;\n @HostBinding('attr.role') role = 'menuitem';\n}\n","<ng-content></ng-content>\n","import { EdsUserProfile } from './eds-user-profile';\nimport { EdsUserProfileMenu } from './eds-user-profile-menu';\nimport { EdsUserProfileMenuItem } from './eds-user-profile-menu-item';\n\nexport { EdsUserProfile, EdsUserProfileMenu, EdsUserProfileMenuItem };\n\n/** Convenience array for importing all eds-user-profile components. */\nexport const EDS_USER_PROFILE = [\n EdsUserProfile,\n EdsUserProfileMenu,\n EdsUserProfileMenuItem,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -183,14 +183,14 @@ class EdsWizard {
183
183
  }
184
184
  }
185
185
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsWizard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
186
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EdsWizard, isStandalone: true, selector: "eds-wizard", inputs: { e2eAttr: { classPropertyName: "e2eAttr", publicName: "e2eAttr", isSignal: true, isRequired: false, transformFunction: null }, activeStepIndex: { classPropertyName: "activeStepIndex", publicName: "activeStepIndex", isSignal: true, isRequired: false, transformFunction: null }, steps: { classPropertyName: "steps", publicName: "steps", isSignal: true, isRequired: false, transformFunction: null }, showLabels: { classPropertyName: "showLabels", publicName: "showLabels", isSignal: true, isRequired: false, transformFunction: null }, navigationAllowed: { classPropertyName: "navigationAllowed", publicName: "navigationAllowed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { stepSelect: "stepSelect" }, host: { properties: { "class": "hostClasses()", "attr.data-e2e": "e2eAttr()" } }, queries: [{ propertyName: "childSteps", predicate: EdsWizardStepComponent, isSignal: true }], viewQueries: [{ propertyName: "stepElements", predicate: ["stepEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"eds-wizard__steps\" role=\"tablist\" aria-orientation=\"horizontal\">\n @for (step of resolvedSteps(); track step.id ?? $index; let idx = $index; let last = $last) {\n <div\n #stepEl\n class=\"eds-wizard__step\"\n role=\"tab\"\n [class.eds-wizard__step--active]=\"idx === activeIndex()\"\n [class.eds-wizard__step--completed]=\"step.isCompleted\"\n [class.eds-wizard__step--disabled]=\"step.isDisabled\"\n [class.eds-wizard__step--warning]=\"step.colorVariant === 'warning'\"\n [class.eds-wizard__step--critical]=\"step.colorVariant === 'critical'\"\n [class.eds-wizard__step--success]=\"step.colorVariant === 'success'\"\n [attr.aria-selected]=\"idx === activeIndex()\"\n [attr.aria-disabled]=\"step.isDisabled\"\n [attr.aria-label]=\"step.label\"\n [attr.tabindex]=\"getTabIndex(idx)\"\n (click)=\"onStepClick(step, idx)\"\n (keydown)=\"onKeydown($event)\">\n\n <div class=\"eds-wizard__step-indicator\">\n <div class=\"eds-wizard__step-circle\">\n @if (step.icon) {\n <eds-icon [icon]=\"step.icon\" size=\"s\"/>\n } @else if (step.isCompleted) {\n <eds-icon icon=\"check:core\" size=\"s\"/>\n } @else if (step.colorVariant === 'critical') {\n <eds-icon icon=\"warning:core\" size=\"s\"/>\n } @else {\n <span class=\"eds-wizard__step-number\">{{ step.indexLabel ?? idx + 1 }}</span>\n }\n </div>\n\n @if (!last) {\n <div class=\"eds-wizard__step-connector\"\n [class.eds-wizard__step-connector--completed]=\"step.isCompleted\">\n </div>\n }\n </div>\n\n @if (showLabels()) {\n <div class=\"eds-wizard__step-labels\">\n @if (step.label) {\n <span class=\"eds-wizard__step-label\">{{ step.label }}</span>\n }\n @if (step.subLabel) {\n <span class=\"eds-wizard__step-sublabel\">{{ step.subLabel }}</span>\n }\n </div>\n }\n </div>\n }\n</div>\n\n<div class=\"eds-wizard__content\" role=\"tabpanel\">\n <ng-content/>\n</div>\n", styles: [".eui-21 :host.eds-wizard{display:block}.eui-21 :host .eds-wizard__steps{display:flex;padding:var(--eds-sp-m) 0}.eui-21 :host .eds-wizard__step{display:flex;flex-direction:column;align-items:flex-start;flex:1 1 0;cursor:pointer;outline:none}.eui-21 :host .eds-wizard__step:first-child .eds-wizard__step-labels{text-align:left;align-items:flex-start}.eui-21 :host .eds-wizard__step:last-child{flex:0 0 auto}.eui-21 :host .eds-wizard__step:last-child .eds-wizard__step-connector{display:none}.eui-21 :host .eds-wizard__step:last-child .eds-wizard__step-labels{text-align:right;align-items:flex-end}.eui-21 :host .eds-wizard__step:focus-visible .eds-wizard__step-circle:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:1px!important;border-radius:var(--eds-br-full)!important}.eui-21 :host .eds-wizard__step-indicator{display:flex;align-items:center;width:100%}.eui-21 :host .eds-wizard__step-circle{--_circle-size: 2rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--_circle-size);height:var(--_circle-size);border-radius:var(--eds-br-full);border:2px solid var(--eds-c-border-neutral);background-color:var(--eds-c-surface-default);font:var(--eds-f-label-m-semi-bold);color:var(--eds-c-foreground-subtler);transition:background-color .15s,border-color .15s,color .15s}.eui-21 :host .eds-wizard__step-number{font:var(--eds-f-label-m-semi-bold);line-height:1}.eui-21 :host .eds-wizard__step-connector{flex:1 1 0;height:2px;background-color:var(--eds-c-border-divider);margin:0 var(--eds-sp-2xs);transition:background-color .15s}.eui-21 :host .eds-wizard__step-connector--completed{background-color:var(--eds-c-border-primary)}.eui-21 :host .eds-wizard__step-labels{display:flex;flex-direction:column;margin-top:var(--eds-sp-2xs);width:var(--_circle-size, 2rem);text-align:center;align-items:center}.eui-21 :host .eds-wizard__step-label{font:var(--eds-f-label-s);color:var(--eds-c-foreground-subtler);transition:color .15s;white-space:nowrap}.eui-21 :host .eds-wizard__step-sublabel{font:var(--eds-f-paragraph-s);color:var(--eds-c-foreground-subtler);margin-top:var(--eds-sp-3xs);white-space:nowrap}.eui-21 :host .eds-wizard__content{margin-top:var(--eds-sp-m)}.eui-21 :host .eds-wizard__step--active .eds-wizard__step-circle{background-color:var(--eds-c-surface-primary);border-color:var(--eds-c-border-primary);color:var(--eds-c-on-surface-primary)}.eui-21 :host .eds-wizard__step--active .eds-wizard__step-circle ::ng-deep .eds-icon{--_on-surface: var(--eds-c-on-surface-primary)}.eui-21 :host .eds-wizard__step--active .eds-wizard__step-label{color:var(--eds-c-foreground-primary)}.eui-21 :host .eds-wizard__step--active .eds-wizard__step-sublabel{color:var(--eds-c-foreground-primary)}.eui-21 :host .eds-wizard__step--completed .eds-wizard__step-circle{background-color:var(--eds-c-surface-primary);border-color:var(--eds-c-border-primary);color:var(--eds-c-on-surface-primary)}.eui-21 :host .eds-wizard__step--completed .eds-wizard__step-label{color:var(--eds-c-foreground-default)}.eui-21 :host .eds-wizard__step--critical:not(.eds-wizard__step--active) .eds-wizard__step-circle{border-color:var(--eds-c-border-critical);color:var(--eds-c-foreground-critical)}.eui-21 :host .eds-wizard__step--critical .eds-wizard__step-label{color:var(--eds-c-foreground-critical)}.eui-21 :host .eds-wizard__step--critical .eds-wizard__step-sublabel{color:var(--eds-c-foreground-critical)}.eui-21 :host .eds-wizard__step--warning:not(.eds-wizard__step--active) .eds-wizard__step-circle{border-color:var(--eds-c-border-warning);color:var(--eds-c-foreground-warning)}.eui-21 :host .eds-wizard__step--warning .eds-wizard__step-label{color:var(--eds-c-foreground-warning)}.eui-21 :host .eds-wizard__step--warning .eds-wizard__step-sublabel{color:var(--eds-c-foreground-warning)}.eui-21 :host .eds-wizard__step--success .eds-wizard__step-circle{border-color:var(--eds-c-border-success);color:var(--eds-c-foreground-success)}.eui-21 :host .eds-wizard__step--success .eds-wizard__step-label{color:var(--eds-c-foreground-success)}.eui-21 :host .eds-wizard__step--success .eds-wizard__step-sublabel{color:var(--eds-c-foreground-success)}.eui-21 :host .eds-wizard__step--disabled{cursor:not-allowed;opacity:.4}\n"], dependencies: [{ kind: "component", type: i1$1.EdsIcon, selector: "eds-icon, span[edsIcon]", inputs: ["icon", "set", "color", "size", "ariaLabel", "ariaHidden", "rounded", "isLoading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
186
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EdsWizard, isStandalone: true, selector: "eds-wizard", inputs: { e2eAttr: { classPropertyName: "e2eAttr", publicName: "e2eAttr", isSignal: true, isRequired: false, transformFunction: null }, activeStepIndex: { classPropertyName: "activeStepIndex", publicName: "activeStepIndex", isSignal: true, isRequired: false, transformFunction: null }, steps: { classPropertyName: "steps", publicName: "steps", isSignal: true, isRequired: false, transformFunction: null }, showLabels: { classPropertyName: "showLabels", publicName: "showLabels", isSignal: true, isRequired: false, transformFunction: null }, navigationAllowed: { classPropertyName: "navigationAllowed", publicName: "navigationAllowed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { stepSelect: "stepSelect" }, host: { properties: { "class": "hostClasses()", "attr.data-e2e": "e2eAttr()" } }, queries: [{ propertyName: "childSteps", predicate: EdsWizardStepComponent, isSignal: true }], viewQueries: [{ propertyName: "stepElements", predicate: ["stepEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"eds-wizard__steps\" role=\"tablist\" aria-orientation=\"horizontal\">\n @for (step of resolvedSteps(); track step.id ?? $index; let idx = $index; let last = $last) {\n <div\n #stepEl\n class=\"eds-wizard__step\"\n role=\"tab\"\n [class.eds-wizard__step--active]=\"idx === activeIndex()\"\n [class.eds-wizard__step--completed]=\"step.isCompleted\"\n [class.eds-wizard__step--disabled]=\"step.isDisabled\"\n [class.eds-wizard__step--warning]=\"step.colorVariant === 'warning'\"\n [class.eds-wizard__step--critical]=\"step.colorVariant === 'critical'\"\n [class.eds-wizard__step--success]=\"step.colorVariant === 'success'\"\n [attr.aria-selected]=\"idx === activeIndex()\"\n [attr.aria-disabled]=\"step.isDisabled\"\n [attr.aria-label]=\"step.label\"\n [attr.tabindex]=\"getTabIndex(idx)\"\n (click)=\"onStepClick(step, idx)\"\n (keydown)=\"onKeydown($event)\">\n\n <div class=\"eds-wizard__step-indicator\">\n <div class=\"eds-wizard__step-circle\">\n @if (step.icon) {\n <eds-icon [icon]=\"step.icon\" size=\"s\"/>\n } @else if (step.isCompleted) {\n <eds-icon icon=\"check:core\" size=\"s\"/>\n } @else if (step.colorVariant === 'critical') {\n <eds-icon icon=\"warning:core\" size=\"s\"/>\n } @else {\n <span class=\"eds-wizard__step-number\">{{ step.indexLabel ?? idx + 1 }}</span>\n }\n </div>\n\n @if (!last) {\n <div class=\"eds-wizard__step-connector\"\n [class.eds-wizard__step-connector--completed]=\"step.isCompleted\">\n </div>\n }\n </div>\n\n @if (showLabels()) {\n <div class=\"eds-wizard__step-labels\">\n @if (step.label) {\n <span class=\"eds-wizard__step-label\">{{ step.label }}</span>\n }\n @if (step.subLabel) {\n <span class=\"eds-wizard__step-sublabel\">{{ step.subLabel }}</span>\n }\n </div>\n }\n </div>\n }\n</div>\n\n<div class=\"eds-wizard__content\" role=\"tabpanel\">\n <ng-content/>\n</div>\n", styles: [".eui-21 :host.eds-wizard{display:block}.eui-21 :host .eds-wizard__steps{display:flex;padding:var(--eds-sp-m) 0}.eui-21 :host .eds-wizard__step{display:flex;flex-direction:column;align-items:flex-start;flex:1 1 0;cursor:pointer;outline:none}.eui-21 :host .eds-wizard__step:first-child .eds-wizard__step-labels{text-align:left;align-items:flex-start}.eui-21 :host .eds-wizard__step:last-child{flex:0 0 auto}.eui-21 :host .eds-wizard__step:last-child .eds-wizard__step-connector{display:none}.eui-21 :host .eds-wizard__step:last-child .eds-wizard__step-labels{text-align:right;align-items:flex-end}.eui-21 :host .eds-wizard__step:focus-visible .eds-wizard__step-circle:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:1px!important;border-radius:var(--eds-br-full)!important}.eui-21 :host .eds-wizard__step-indicator{display:flex;align-items:center;width:100%}.eui-21 :host .eds-wizard__step-circle{--_circle-size: 2rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--_circle-size);height:var(--_circle-size);border-radius:var(--eds-br-full);border:2px solid var(--eds-c-border-neutral);background-color:var(--eds-c-surface-elevation);font:var(--eds-f-label-m-semibold);color:var(--eds-c-foreground-subtler);transition:background-color .15s,border-color .15s,color .15s}.eui-21 :host .eds-wizard__step-number{font:var(--eds-f-label-m-semibold);line-height:1}.eui-21 :host .eds-wizard__step-connector{flex:1 1 0;height:2px;background-color:var(--eds-c-border-divider);margin:0 var(--eds-sp-2xs);transition:background-color .15s}.eui-21 :host .eds-wizard__step-connector--completed{background-color:var(--eds-c-border-primary)}.eui-21 :host .eds-wizard__step-labels{display:flex;flex-direction:column;margin-top:var(--eds-sp-2xs);width:var(--_circle-size, 2rem);text-align:center;align-items:center}.eui-21 :host .eds-wizard__step-label{font:var(--eds-f-label-s);color:var(--eds-c-foreground-subtler);transition:color .15s;white-space:nowrap}.eui-21 :host .eds-wizard__step-sublabel{font:var(--eds-f-paragraph-s);color:var(--eds-c-foreground-subtler);margin-top:var(--eds-sp-3xs);white-space:nowrap}.eui-21 :host .eds-wizard__content{margin-top:var(--eds-sp-m)}.eui-21 :host .eds-wizard__step--active .eds-wizard__step-circle{background-color:var(--eds-c-surface-primary);border-color:var(--eds-c-border-primary);color:var(--eds-c-on-surface-primary)}.eui-21 :host .eds-wizard__step--active .eds-wizard__step-circle ::ng-deep .eds-icon{--_on-surface: var(--eds-c-on-surface-primary)}.eui-21 :host .eds-wizard__step--active .eds-wizard__step-label{color:var(--eds-c-foreground-primary)}.eui-21 :host .eds-wizard__step--active .eds-wizard__step-sublabel{color:var(--eds-c-foreground-primary)}.eui-21 :host .eds-wizard__step--completed .eds-wizard__step-circle{background-color:var(--eds-c-surface-primary);border-color:var(--eds-c-border-primary);color:var(--eds-c-on-surface-primary)}.eui-21 :host .eds-wizard__step--completed .eds-wizard__step-label{color:var(--eds-c-foreground-default)}.eui-21 :host .eds-wizard__step--critical:not(.eds-wizard__step--active) .eds-wizard__step-circle{border-color:var(--eds-c-border-critical);color:var(--eds-c-foreground-critical)}.eui-21 :host .eds-wizard__step--critical .eds-wizard__step-label{color:var(--eds-c-foreground-critical)}.eui-21 :host .eds-wizard__step--critical .eds-wizard__step-sublabel{color:var(--eds-c-foreground-critical)}.eui-21 :host .eds-wizard__step--warning:not(.eds-wizard__step--active) .eds-wizard__step-circle{border-color:var(--eds-c-border-warning);color:var(--eds-c-foreground-warning)}.eui-21 :host .eds-wizard__step--warning .eds-wizard__step-label{color:var(--eds-c-foreground-warning)}.eui-21 :host .eds-wizard__step--warning .eds-wizard__step-sublabel{color:var(--eds-c-foreground-warning)}.eui-21 :host .eds-wizard__step--success .eds-wizard__step-circle{border-color:var(--eds-c-border-success);color:var(--eds-c-foreground-success)}.eui-21 :host .eds-wizard__step--success .eds-wizard__step-label{color:var(--eds-c-foreground-success)}.eui-21 :host .eds-wizard__step--success .eds-wizard__step-sublabel{color:var(--eds-c-foreground-success)}.eui-21 :host .eds-wizard__step--disabled{cursor:not-allowed;opacity:.4}\n"], dependencies: [{ kind: "component", type: i1$1.EdsIcon, selector: "eds-icon, span[edsIcon]", inputs: ["icon", "set", "color", "size", "ariaLabel", "ariaHidden", "rounded", "isLoading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
187
187
  }
188
188
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsWizard, decorators: [{
189
189
  type: Component,
190
190
  args: [{ selector: 'eds-wizard', changeDetection: ChangeDetectionStrategy.OnPush, imports: [...EDS_ICON], host: {
191
191
  '[class]': 'hostClasses()',
192
192
  '[attr.data-e2e]': 'e2eAttr()',
193
- }, template: "<div class=\"eds-wizard__steps\" role=\"tablist\" aria-orientation=\"horizontal\">\n @for (step of resolvedSteps(); track step.id ?? $index; let idx = $index; let last = $last) {\n <div\n #stepEl\n class=\"eds-wizard__step\"\n role=\"tab\"\n [class.eds-wizard__step--active]=\"idx === activeIndex()\"\n [class.eds-wizard__step--completed]=\"step.isCompleted\"\n [class.eds-wizard__step--disabled]=\"step.isDisabled\"\n [class.eds-wizard__step--warning]=\"step.colorVariant === 'warning'\"\n [class.eds-wizard__step--critical]=\"step.colorVariant === 'critical'\"\n [class.eds-wizard__step--success]=\"step.colorVariant === 'success'\"\n [attr.aria-selected]=\"idx === activeIndex()\"\n [attr.aria-disabled]=\"step.isDisabled\"\n [attr.aria-label]=\"step.label\"\n [attr.tabindex]=\"getTabIndex(idx)\"\n (click)=\"onStepClick(step, idx)\"\n (keydown)=\"onKeydown($event)\">\n\n <div class=\"eds-wizard__step-indicator\">\n <div class=\"eds-wizard__step-circle\">\n @if (step.icon) {\n <eds-icon [icon]=\"step.icon\" size=\"s\"/>\n } @else if (step.isCompleted) {\n <eds-icon icon=\"check:core\" size=\"s\"/>\n } @else if (step.colorVariant === 'critical') {\n <eds-icon icon=\"warning:core\" size=\"s\"/>\n } @else {\n <span class=\"eds-wizard__step-number\">{{ step.indexLabel ?? idx + 1 }}</span>\n }\n </div>\n\n @if (!last) {\n <div class=\"eds-wizard__step-connector\"\n [class.eds-wizard__step-connector--completed]=\"step.isCompleted\">\n </div>\n }\n </div>\n\n @if (showLabels()) {\n <div class=\"eds-wizard__step-labels\">\n @if (step.label) {\n <span class=\"eds-wizard__step-label\">{{ step.label }}</span>\n }\n @if (step.subLabel) {\n <span class=\"eds-wizard__step-sublabel\">{{ step.subLabel }}</span>\n }\n </div>\n }\n </div>\n }\n</div>\n\n<div class=\"eds-wizard__content\" role=\"tabpanel\">\n <ng-content/>\n</div>\n", styles: [".eui-21 :host.eds-wizard{display:block}.eui-21 :host .eds-wizard__steps{display:flex;padding:var(--eds-sp-m) 0}.eui-21 :host .eds-wizard__step{display:flex;flex-direction:column;align-items:flex-start;flex:1 1 0;cursor:pointer;outline:none}.eui-21 :host .eds-wizard__step:first-child .eds-wizard__step-labels{text-align:left;align-items:flex-start}.eui-21 :host .eds-wizard__step:last-child{flex:0 0 auto}.eui-21 :host .eds-wizard__step:last-child .eds-wizard__step-connector{display:none}.eui-21 :host .eds-wizard__step:last-child .eds-wizard__step-labels{text-align:right;align-items:flex-end}.eui-21 :host .eds-wizard__step:focus-visible .eds-wizard__step-circle:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:1px!important;border-radius:var(--eds-br-full)!important}.eui-21 :host .eds-wizard__step-indicator{display:flex;align-items:center;width:100%}.eui-21 :host .eds-wizard__step-circle{--_circle-size: 2rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--_circle-size);height:var(--_circle-size);border-radius:var(--eds-br-full);border:2px solid var(--eds-c-border-neutral);background-color:var(--eds-c-surface-default);font:var(--eds-f-label-m-semi-bold);color:var(--eds-c-foreground-subtler);transition:background-color .15s,border-color .15s,color .15s}.eui-21 :host .eds-wizard__step-number{font:var(--eds-f-label-m-semi-bold);line-height:1}.eui-21 :host .eds-wizard__step-connector{flex:1 1 0;height:2px;background-color:var(--eds-c-border-divider);margin:0 var(--eds-sp-2xs);transition:background-color .15s}.eui-21 :host .eds-wizard__step-connector--completed{background-color:var(--eds-c-border-primary)}.eui-21 :host .eds-wizard__step-labels{display:flex;flex-direction:column;margin-top:var(--eds-sp-2xs);width:var(--_circle-size, 2rem);text-align:center;align-items:center}.eui-21 :host .eds-wizard__step-label{font:var(--eds-f-label-s);color:var(--eds-c-foreground-subtler);transition:color .15s;white-space:nowrap}.eui-21 :host .eds-wizard__step-sublabel{font:var(--eds-f-paragraph-s);color:var(--eds-c-foreground-subtler);margin-top:var(--eds-sp-3xs);white-space:nowrap}.eui-21 :host .eds-wizard__content{margin-top:var(--eds-sp-m)}.eui-21 :host .eds-wizard__step--active .eds-wizard__step-circle{background-color:var(--eds-c-surface-primary);border-color:var(--eds-c-border-primary);color:var(--eds-c-on-surface-primary)}.eui-21 :host .eds-wizard__step--active .eds-wizard__step-circle ::ng-deep .eds-icon{--_on-surface: var(--eds-c-on-surface-primary)}.eui-21 :host .eds-wizard__step--active .eds-wizard__step-label{color:var(--eds-c-foreground-primary)}.eui-21 :host .eds-wizard__step--active .eds-wizard__step-sublabel{color:var(--eds-c-foreground-primary)}.eui-21 :host .eds-wizard__step--completed .eds-wizard__step-circle{background-color:var(--eds-c-surface-primary);border-color:var(--eds-c-border-primary);color:var(--eds-c-on-surface-primary)}.eui-21 :host .eds-wizard__step--completed .eds-wizard__step-label{color:var(--eds-c-foreground-default)}.eui-21 :host .eds-wizard__step--critical:not(.eds-wizard__step--active) .eds-wizard__step-circle{border-color:var(--eds-c-border-critical);color:var(--eds-c-foreground-critical)}.eui-21 :host .eds-wizard__step--critical .eds-wizard__step-label{color:var(--eds-c-foreground-critical)}.eui-21 :host .eds-wizard__step--critical .eds-wizard__step-sublabel{color:var(--eds-c-foreground-critical)}.eui-21 :host .eds-wizard__step--warning:not(.eds-wizard__step--active) .eds-wizard__step-circle{border-color:var(--eds-c-border-warning);color:var(--eds-c-foreground-warning)}.eui-21 :host .eds-wizard__step--warning .eds-wizard__step-label{color:var(--eds-c-foreground-warning)}.eui-21 :host .eds-wizard__step--warning .eds-wizard__step-sublabel{color:var(--eds-c-foreground-warning)}.eui-21 :host .eds-wizard__step--success .eds-wizard__step-circle{border-color:var(--eds-c-border-success);color:var(--eds-c-foreground-success)}.eui-21 :host .eds-wizard__step--success .eds-wizard__step-label{color:var(--eds-c-foreground-success)}.eui-21 :host .eds-wizard__step--success .eds-wizard__step-sublabel{color:var(--eds-c-foreground-success)}.eui-21 :host .eds-wizard__step--disabled{cursor:not-allowed;opacity:.4}\n"] }]
193
+ }, template: "<div class=\"eds-wizard__steps\" role=\"tablist\" aria-orientation=\"horizontal\">\n @for (step of resolvedSteps(); track step.id ?? $index; let idx = $index; let last = $last) {\n <div\n #stepEl\n class=\"eds-wizard__step\"\n role=\"tab\"\n [class.eds-wizard__step--active]=\"idx === activeIndex()\"\n [class.eds-wizard__step--completed]=\"step.isCompleted\"\n [class.eds-wizard__step--disabled]=\"step.isDisabled\"\n [class.eds-wizard__step--warning]=\"step.colorVariant === 'warning'\"\n [class.eds-wizard__step--critical]=\"step.colorVariant === 'critical'\"\n [class.eds-wizard__step--success]=\"step.colorVariant === 'success'\"\n [attr.aria-selected]=\"idx === activeIndex()\"\n [attr.aria-disabled]=\"step.isDisabled\"\n [attr.aria-label]=\"step.label\"\n [attr.tabindex]=\"getTabIndex(idx)\"\n (click)=\"onStepClick(step, idx)\"\n (keydown)=\"onKeydown($event)\">\n\n <div class=\"eds-wizard__step-indicator\">\n <div class=\"eds-wizard__step-circle\">\n @if (step.icon) {\n <eds-icon [icon]=\"step.icon\" size=\"s\"/>\n } @else if (step.isCompleted) {\n <eds-icon icon=\"check:core\" size=\"s\"/>\n } @else if (step.colorVariant === 'critical') {\n <eds-icon icon=\"warning:core\" size=\"s\"/>\n } @else {\n <span class=\"eds-wizard__step-number\">{{ step.indexLabel ?? idx + 1 }}</span>\n }\n </div>\n\n @if (!last) {\n <div class=\"eds-wizard__step-connector\"\n [class.eds-wizard__step-connector--completed]=\"step.isCompleted\">\n </div>\n }\n </div>\n\n @if (showLabels()) {\n <div class=\"eds-wizard__step-labels\">\n @if (step.label) {\n <span class=\"eds-wizard__step-label\">{{ step.label }}</span>\n }\n @if (step.subLabel) {\n <span class=\"eds-wizard__step-sublabel\">{{ step.subLabel }}</span>\n }\n </div>\n }\n </div>\n }\n</div>\n\n<div class=\"eds-wizard__content\" role=\"tabpanel\">\n <ng-content/>\n</div>\n", styles: [".eui-21 :host.eds-wizard{display:block}.eui-21 :host .eds-wizard__steps{display:flex;padding:var(--eds-sp-m) 0}.eui-21 :host .eds-wizard__step{display:flex;flex-direction:column;align-items:flex-start;flex:1 1 0;cursor:pointer;outline:none}.eui-21 :host .eds-wizard__step:first-child .eds-wizard__step-labels{text-align:left;align-items:flex-start}.eui-21 :host .eds-wizard__step:last-child{flex:0 0 auto}.eui-21 :host .eds-wizard__step:last-child .eds-wizard__step-connector{display:none}.eui-21 :host .eds-wizard__step:last-child .eds-wizard__step-labels{text-align:right;align-items:flex-end}.eui-21 :host .eds-wizard__step:focus-visible .eds-wizard__step-circle:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:1px!important;border-radius:var(--eds-br-full)!important}.eui-21 :host .eds-wizard__step-indicator{display:flex;align-items:center;width:100%}.eui-21 :host .eds-wizard__step-circle{--_circle-size: 2rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--_circle-size);height:var(--_circle-size);border-radius:var(--eds-br-full);border:2px solid var(--eds-c-border-neutral);background-color:var(--eds-c-surface-elevation);font:var(--eds-f-label-m-semibold);color:var(--eds-c-foreground-subtler);transition:background-color .15s,border-color .15s,color .15s}.eui-21 :host .eds-wizard__step-number{font:var(--eds-f-label-m-semibold);line-height:1}.eui-21 :host .eds-wizard__step-connector{flex:1 1 0;height:2px;background-color:var(--eds-c-border-divider);margin:0 var(--eds-sp-2xs);transition:background-color .15s}.eui-21 :host .eds-wizard__step-connector--completed{background-color:var(--eds-c-border-primary)}.eui-21 :host .eds-wizard__step-labels{display:flex;flex-direction:column;margin-top:var(--eds-sp-2xs);width:var(--_circle-size, 2rem);text-align:center;align-items:center}.eui-21 :host .eds-wizard__step-label{font:var(--eds-f-label-s);color:var(--eds-c-foreground-subtler);transition:color .15s;white-space:nowrap}.eui-21 :host .eds-wizard__step-sublabel{font:var(--eds-f-paragraph-s);color:var(--eds-c-foreground-subtler);margin-top:var(--eds-sp-3xs);white-space:nowrap}.eui-21 :host .eds-wizard__content{margin-top:var(--eds-sp-m)}.eui-21 :host .eds-wizard__step--active .eds-wizard__step-circle{background-color:var(--eds-c-surface-primary);border-color:var(--eds-c-border-primary);color:var(--eds-c-on-surface-primary)}.eui-21 :host .eds-wizard__step--active .eds-wizard__step-circle ::ng-deep .eds-icon{--_on-surface: var(--eds-c-on-surface-primary)}.eui-21 :host .eds-wizard__step--active .eds-wizard__step-label{color:var(--eds-c-foreground-primary)}.eui-21 :host .eds-wizard__step--active .eds-wizard__step-sublabel{color:var(--eds-c-foreground-primary)}.eui-21 :host .eds-wizard__step--completed .eds-wizard__step-circle{background-color:var(--eds-c-surface-primary);border-color:var(--eds-c-border-primary);color:var(--eds-c-on-surface-primary)}.eui-21 :host .eds-wizard__step--completed .eds-wizard__step-label{color:var(--eds-c-foreground-default)}.eui-21 :host .eds-wizard__step--critical:not(.eds-wizard__step--active) .eds-wizard__step-circle{border-color:var(--eds-c-border-critical);color:var(--eds-c-foreground-critical)}.eui-21 :host .eds-wizard__step--critical .eds-wizard__step-label{color:var(--eds-c-foreground-critical)}.eui-21 :host .eds-wizard__step--critical .eds-wizard__step-sublabel{color:var(--eds-c-foreground-critical)}.eui-21 :host .eds-wizard__step--warning:not(.eds-wizard__step--active) .eds-wizard__step-circle{border-color:var(--eds-c-border-warning);color:var(--eds-c-foreground-warning)}.eui-21 :host .eds-wizard__step--warning .eds-wizard__step-label{color:var(--eds-c-foreground-warning)}.eui-21 :host .eds-wizard__step--warning .eds-wizard__step-sublabel{color:var(--eds-c-foreground-warning)}.eui-21 :host .eds-wizard__step--success .eds-wizard__step-circle{border-color:var(--eds-c-border-success);color:var(--eds-c-foreground-success)}.eui-21 :host .eds-wizard__step--success .eds-wizard__step-label{color:var(--eds-c-foreground-success)}.eui-21 :host .eds-wizard__step--success .eds-wizard__step-sublabel{color:var(--eds-c-foreground-success)}.eui-21 :host .eds-wizard__step--disabled{cursor:not-allowed;opacity:.4}\n"] }]
194
194
  }], ctorParameters: () => [], propDecorators: { e2eAttr: [{ type: i0.Input, args: [{ isSignal: true, alias: "e2eAttr", required: false }] }], activeStepIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeStepIndex", required: false }] }], steps: [{ type: i0.Input, args: [{ isSignal: true, alias: "steps", required: false }] }], showLabels: [{ type: i0.Input, args: [{ isSignal: true, alias: "showLabels", required: false }] }], navigationAllowed: [{ type: i0.Input, args: [{ isSignal: true, alias: "navigationAllowed", required: false }] }], stepSelect: [{ type: i0.Output, args: ["stepSelect"] }], stepElements: [{ type: i0.ViewChildren, args: ['stepEl', { isSignal: true }] }], childSteps: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => EdsWizardStepComponent), { isSignal: true }] }] } });
195
195
 
196
196
  /** Convenience array for importing all eds-wizard components. */
@@ -27,7 +27,7 @@ class EdsLabel {
27
27
  ...(ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []));
28
28
  }
29
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsLabel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.2", type: EdsLabel, isStandalone: true, selector: "label[edsLabel], span[edsLabel], div[edsLabel]", inputs: { edsRequired: { classPropertyName: "edsRequired", publicName: "edsRequired", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, hostDirectives: [{ directive: i1.EdsColorDirective, inputs: ["edsNeutral", "edsNeutral", "edsCritical", "edsCritical", "edsColorVariant", "edsColorVariant"] }], ngImport: i0, template: '<ng-content/>', isInline: true, styles: [".eui-21 :host.eds-label{display:inline-block;font:var(--eds-f-label-m-semi-bold);color:var(--eds-c-foreground)}.eui-21 :host.eds-label--required:after{color:var(--eds-c-foreground-critical);content:\" *\";font:var(--eds-f-label-m-semi-bold)}.eui-21 :host.eds-label--neutral{color:var(--eds-c-foreground)}.eui-21 :host.eds-label--critical{color:var(--eds-c-foreground-critical)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.2", type: EdsLabel, isStandalone: true, selector: "label[edsLabel], span[edsLabel], div[edsLabel]", inputs: { edsRequired: { classPropertyName: "edsRequired", publicName: "edsRequired", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "hostClasses()" } }, hostDirectives: [{ directive: i1.EdsColorDirective, inputs: ["edsNeutral", "edsNeutral", "edsCritical", "edsCritical", "edsColorVariant", "edsColorVariant"] }], ngImport: i0, template: '<ng-content/>', isInline: true, styles: [".eui-21 :host.eds-label{display:inline-block;font:var(--eds-f-label-m-semibold);color:var(--eds-c-foreground)}.eui-21 :host.eds-label--required:after{color:var(--eds-c-foreground-critical);content:\" *\";font:var(--eds-f-label-m-semibold)}.eui-21 :host.eds-label--neutral{color:var(--eds-c-foreground)}.eui-21 :host.eds-label--critical{color:var(--eds-c-foreground-critical)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
31
  }
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsLabel, decorators: [{
33
33
  type: Component,
@@ -42,7 +42,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
42
42
  },
43
43
  ], host: {
44
44
  '[class]': 'hostClasses()',
45
- }, styles: [".eui-21 :host.eds-label{display:inline-block;font:var(--eds-f-label-m-semi-bold);color:var(--eds-c-foreground)}.eui-21 :host.eds-label--required:after{color:var(--eds-c-foreground-critical);content:\" *\";font:var(--eds-f-label-m-semi-bold)}.eui-21 :host.eds-label--neutral{color:var(--eds-c-foreground)}.eui-21 :host.eds-label--critical{color:var(--eds-c-foreground-critical)}\n"] }]
45
+ }, styles: [".eui-21 :host.eds-label{display:inline-block;font:var(--eds-f-label-m-semibold);color:var(--eds-c-foreground)}.eui-21 :host.eds-label--required:after{color:var(--eds-c-foreground-critical);content:\" *\";font:var(--eds-f-label-m-semibold)}.eui-21 :host.eds-label--neutral{color:var(--eds-c-foreground)}.eui-21 :host.eds-label--critical{color:var(--eds-c-foreground-critical)}\n"] }]
46
46
  }], propDecorators: { edsRequired: [{ type: i0.Input, args: [{ isSignal: true, alias: "edsRequired", required: false }] }] } });
47
47
 
48
48
  /** Convenience array for importing eds-label. */
@@ -1 +1 @@
1
- {"version":3,"file":"eui-eds-utilities-eds-label.mjs","sources":["../../utilities/eds-label/eds-label.ts","../../utilities/eds-label/index.ts","../../utilities/eds-label/eui-eds-utilities-eds-label.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n input,\n computed,\n booleanAttribute,\n inject,\n} from '@angular/core';\n\nimport { EdsColorDirective } from '@eui/eds/shared';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'label[edsLabel], span[edsLabel], div[edsLabel]',\n template: '<ng-content/>',\n styleUrl: './eds-label.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: EdsColorDirective,\n inputs: [\n 'edsNeutral',\n 'edsCritical',\n 'edsColorVariant',\n ],\n },\n ],\n host: {\n '[class]': 'hostClasses()',\n },\n})\nexport class EdsLabel {\n /**\n * Marks the label as required (appends a red asterisk).\n * @default false\n */\n edsRequired = input(false, { transform: booleanAttribute });\n\n protected colorDirective = inject(EdsColorDirective);\n\n /**\n * Computed host CSS classes based on current state.\n */\n hostClasses = computed(() => {\n const colorClass = this.colorDirective.getCssClass('eds-label');\n return [\n 'eds-label',\n colorClass || 'eds-label--neutral',\n this.edsRequired() ? 'eds-label--required' : '',\n ]\n .join(' ')\n .trim();\n });\n}\n","import { EdsLabel } from './eds-label';\n\nexport { EdsLabel };\n\n/** Convenience array for importing eds-label. */\nexport const EDS_LABEL = [\n EdsLabel,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MA+Ba,QAAQ,CAAA;AApBrB,IAAA,WAAA,GAAA;AAqBI;;;AAGG;QACH,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,KAAK,mFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAEjD,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAEpD;;AAEG;AACH,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;YACxB,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC;YAC/D,OAAO;gBACH,WAAW;AACX,gBAAA,UAAU,IAAI,oBAAoB;gBAClC,IAAI,CAAC,WAAW,EAAE,GAAG,qBAAqB,GAAG,EAAE;AAClD;iBACI,IAAI,CAAC,GAAG;AACR,iBAAA,IAAI,EAAE;QACf,CAAC;wFAAC;AACL,IAAA;8GAtBY,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,qdAjBP,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,6XAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAiBhB,QAAQ,EAAA,UAAA,EAAA,CAAA;kBApBpB,SAAS;AAEI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gDAAgD,YAChD,eAAe,EAAA,eAAA,EAER,uBAAuB,CAAC,MAAM,EAAA,cAAA,EAC/B;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,iBAAiB;AAC5B,4BAAA,MAAM,EAAE;gCACJ,YAAY;gCACZ,aAAa;gCACb,iBAAiB;AACpB,6BAAA;AACJ,yBAAA;qBACJ,EAAA,IAAA,EACK;AACF,wBAAA,SAAS,EAAE,eAAe;AAC7B,qBAAA,EAAA,MAAA,EAAA,CAAA,6XAAA,CAAA,EAAA;;;ACzBL;AACO,MAAM,SAAS,GAAG;IACrB,QAAQ;;;ACNZ;;AAEG;;;;"}
1
+ {"version":3,"file":"eui-eds-utilities-eds-label.mjs","sources":["../../utilities/eds-label/eds-label.ts","../../utilities/eds-label/index.ts","../../utilities/eds-label/eui-eds-utilities-eds-label.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n input,\n computed,\n booleanAttribute,\n inject,\n} from '@angular/core';\n\nimport { EdsColorDirective } from '@eui/eds/shared';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'label[edsLabel], span[edsLabel], div[edsLabel]',\n template: '<ng-content/>',\n styleUrl: './eds-label.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: EdsColorDirective,\n inputs: [\n 'edsNeutral',\n 'edsCritical',\n 'edsColorVariant',\n ],\n },\n ],\n host: {\n '[class]': 'hostClasses()',\n },\n})\nexport class EdsLabel {\n /**\n * Marks the label as required (appends a red asterisk).\n * @default false\n */\n edsRequired = input(false, { transform: booleanAttribute });\n\n protected colorDirective = inject(EdsColorDirective);\n\n /**\n * Computed host CSS classes based on current state.\n */\n hostClasses = computed(() => {\n const colorClass = this.colorDirective.getCssClass('eds-label');\n return [\n 'eds-label',\n colorClass || 'eds-label--neutral',\n this.edsRequired() ? 'eds-label--required' : '',\n ]\n .join(' ')\n .trim();\n });\n}\n","import { EdsLabel } from './eds-label';\n\nexport { EdsLabel };\n\n/** Convenience array for importing eds-label. */\nexport const EDS_LABEL = [\n EdsLabel,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MA+Ba,QAAQ,CAAA;AApBrB,IAAA,WAAA,GAAA;AAqBI;;;AAGG;QACH,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,KAAK,mFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAEjD,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAEpD;;AAEG;AACH,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;YACxB,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC;YAC/D,OAAO;gBACH,WAAW;AACX,gBAAA,UAAU,IAAI,oBAAoB;gBAClC,IAAI,CAAC,WAAW,EAAE,GAAG,qBAAqB,GAAG,EAAE;AAClD;iBACI,IAAI,CAAC,GAAG;AACR,iBAAA,IAAI,EAAE;QACf,CAAC;wFAAC;AACL,IAAA;8GAtBY,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,qdAjBP,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2XAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAiBhB,QAAQ,EAAA,UAAA,EAAA,CAAA;kBApBpB,SAAS;AAEI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gDAAgD,YAChD,eAAe,EAAA,eAAA,EAER,uBAAuB,CAAC,MAAM,EAAA,cAAA,EAC/B;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,iBAAiB;AAC5B,4BAAA,MAAM,EAAE;gCACJ,YAAY;gCACZ,aAAa;gCACb,iBAAiB;AACpB,6BAAA;AACJ,yBAAA;qBACJ,EAAA,IAAA,EACK;AACF,wBAAA,SAAS,EAAE,eAAe;AAC7B,qBAAA,EAAA,MAAA,EAAA,CAAA,2XAAA,CAAA,EAAA;;;ACzBL;AACO,MAAM,SAAS,GAAG;IACrB,QAAQ;;;ACNZ;;AAEG;;;;"}
@@ -91,7 +91,7 @@ class EdsTrend {
91
91
  @if (label()) {
92
92
  <span class="eds-trend__label">{{ label() }}</span>
93
93
  }
94
- `, isInline: true, styles: [".eui-21 :host{display:inline-flex;align-items:center;gap:var(--eds-sp-3xs);font:var(--eds-f-paragraph-xs);white-space:nowrap}.eui-21 :host .eds-trend__value{font:var(--eds-f-label-s-semi-bold)}.eui-21 :host .eds-trend__label{color:var(--eds-c-foreground-subtler);font:var(--eds-f-paragraph-xs)}.eui-21 :host.eds-trend--success{color:var(--eds-c-foreground-success)}.eui-21 :host.eds-trend--critical{color:var(--eds-c-foreground-critical)}.eui-21 :host.eds-trend--neutral{color:var(--eds-c-foreground-subtler)}\n"], dependencies: [{ kind: "component", type: i1.EdsIcon, selector: "eds-icon, span[edsIcon]", inputs: ["icon", "set", "color", "size", "ariaLabel", "ariaHidden", "rounded", "isLoading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
94
+ `, isInline: true, styles: [".eui-21 :host{display:inline-flex;align-items:center;gap:var(--eds-sp-3xs);font:var(--eds-f-paragraph-xs);white-space:nowrap}.eui-21 :host .eds-trend__value{font:var(--eds-f-label-s-semibold)}.eui-21 :host .eds-trend__label{color:var(--eds-c-foreground-subtler);font:var(--eds-f-paragraph-xs)}.eui-21 :host.eds-trend--success{color:var(--eds-c-foreground-success)}.eui-21 :host.eds-trend--critical{color:var(--eds-c-foreground-critical)}.eui-21 :host.eds-trend--neutral{color:var(--eds-c-foreground-subtler)}\n"], dependencies: [{ kind: "component", type: i1.EdsIcon, selector: "eds-icon, span[edsIcon]", inputs: ["icon", "set", "color", "size", "ariaLabel", "ariaHidden", "rounded", "isLoading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
95
95
  }
96
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsTrend, decorators: [{
97
97
  type: Component,
@@ -106,7 +106,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
106
106
  '[attr.data-e2e]': '"eds-trend"',
107
107
  '[attr.aria-label]': 'ariaLabelText()',
108
108
  role: 'status',
109
- }, styles: [".eui-21 :host{display:inline-flex;align-items:center;gap:var(--eds-sp-3xs);font:var(--eds-f-paragraph-xs);white-space:nowrap}.eui-21 :host .eds-trend__value{font:var(--eds-f-label-s-semi-bold)}.eui-21 :host .eds-trend__label{color:var(--eds-c-foreground-subtler);font:var(--eds-f-paragraph-xs)}.eui-21 :host.eds-trend--success{color:var(--eds-c-foreground-success)}.eui-21 :host.eds-trend--critical{color:var(--eds-c-foreground-critical)}.eui-21 :host.eds-trend--neutral{color:var(--eds-c-foreground-subtler)}\n"] }]
109
+ }, styles: [".eui-21 :host{display:inline-flex;align-items:center;gap:var(--eds-sp-3xs);font:var(--eds-f-paragraph-xs);white-space:nowrap}.eui-21 :host .eds-trend__value{font:var(--eds-f-label-s-semibold)}.eui-21 :host .eds-trend__label{color:var(--eds-c-foreground-subtler);font:var(--eds-f-paragraph-xs)}.eui-21 :host.eds-trend--success{color:var(--eds-c-foreground-success)}.eui-21 :host.eds-trend--critical{color:var(--eds-c-foreground-critical)}.eui-21 :host.eds-trend--neutral{color:var(--eds-c-foreground-subtler)}\n"] }]
110
110
  }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }], invertColors: [{ type: i0.Input, args: [{ isSignal: true, alias: "invertColors", required: false }] }] } });
111
111
 
112
112
  /** Convenience array for importing eds-trend. */
@@ -1 +1 @@
1
- {"version":3,"file":"eui-eds-utilities-eds-trend.mjs","sources":["../../utilities/eds-trend/eds-trend.ts","../../utilities/eds-trend/index.ts","../../utilities/eds-trend/eui-eds-utilities-eds-trend.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n input,\n computed,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\n\nimport { EDS_ICON } from '@eui/eds/eds-icon';\n\n/** Direction the trend arrow points. */\nexport type EdsTrendDirection = 'up' | 'down' | 'flat';\n\n/**\n * Trend indicator component.\n * Displays a directional arrow with a percentage value and optional context label.\n * Color-coded: green for positive, red for negative, neutral for flat.\n * Use `invertColors` when a decrease is positive (e.g. bounce rate, churn).\n *\n * @example\n * ```html\n * <eds-trend [value]=\"20\" label=\"vs last month\" />\n * <eds-trend [value]=\"-3.59\" label=\"vs last month\" />\n * <eds-trend [value]=\"0\" direction=\"flat\" />\n * <eds-trend [value]=\"5\" label=\"vs last week\" invertColors />\n * ```\n */\n@Component({\n selector: 'eds-trend',\n template: `\n <eds-icon [icon]=\"iconName()\" edsSizeXS />\n <span class=\"eds-trend__value\">{{ formattedValue() }}</span>\n @if (label()) {\n <span class=\"eds-trend__label\">{{ label() }}</span>\n }\n `,\n styleUrl: './eds-trend.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [...EDS_ICON],\n host: {\n '[class]': 'hostClasses()',\n '[attr.data-e2e]': '\"eds-trend\"',\n '[attr.aria-label]': 'ariaLabelText()',\n role: 'status',\n },\n})\nexport class EdsTrend {\n /** The trend value (positive = up, negative = down, 0 = flat). */\n value = input(0, { transform: numberAttribute });\n\n /** Optional context label displayed after the value (e.g. \"vs last month\"). */\n label = input<string>();\n\n /** Explicit direction override. If not set, direction is inferred from value. */\n direction = input<EdsTrendDirection>();\n\n /**\n * Invert color semantics (green for down, red for up).\n * Useful for metrics where decrease is positive (e.g. bounce rate, churn).\n */\n invertColors = input(false, { transform: booleanAttribute });\n\n protected resolvedDirection = computed((): EdsTrendDirection => {\n const explicit = this.direction();\n if (explicit) return explicit;\n const val = this.value();\n if (val > 0) return 'up';\n if (val < 0) return 'down';\n return 'flat';\n });\n\n protected iconName = computed(() => {\n const dir = this.resolvedDirection();\n if (dir === 'up') return 'arrow-up';\n if (dir === 'down') return 'arrow-down';\n return 'minus';\n });\n\n protected formattedValue = computed(() => {\n const val = this.value();\n const abs = Math.abs(val);\n const sign = val > 0 ? '+' : val < 0 ? '-' : '';\n return `${sign}${abs}%`;\n });\n\n protected ariaLabelText = computed(() => {\n const dir = this.resolvedDirection();\n const val = Math.abs(this.value());\n const label = this.label() || '';\n return `Trend ${dir} ${val}% ${label}`.trim();\n });\n\n hostClasses = computed(() => {\n const dir = this.resolvedDirection();\n const invert = this.invertColors();\n let colorClass = '';\n\n if (dir === 'up') {\n colorClass = invert ? 'eds-trend--critical' : 'eds-trend--success';\n } else if (dir === 'down') {\n colorClass = invert ? 'eds-trend--success' : 'eds-trend--critical';\n } else {\n colorClass = 'eds-trend--neutral';\n }\n\n return ['eds-trend', colorClass].join(' ').trim();\n });\n}\n","import { EdsTrend } from './eds-trend';\n\nexport { EdsTrend };\nexport type { EdsTrendDirection } from './eds-trend';\n\n/** Convenience array for importing eds-trend. */\nexport const EDS_TREND = [\n EdsTrend,\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-utilities-eds-trend.mjs","sources":["../../utilities/eds-trend/eds-trend.ts","../../utilities/eds-trend/index.ts","../../utilities/eds-trend/eui-eds-utilities-eds-trend.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n input,\n computed,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\n\nimport { EDS_ICON } from '@eui/eds/eds-icon';\n\n/** Direction the trend arrow points. */\nexport type EdsTrendDirection = 'up' | 'down' | 'flat';\n\n/**\n * Trend indicator component.\n * Displays a directional arrow with a percentage value and optional context label.\n * Color-coded: green for positive, red for negative, neutral for flat.\n * Use `invertColors` when a decrease is positive (e.g. bounce rate, churn).\n *\n * @example\n * ```html\n * <eds-trend [value]=\"20\" label=\"vs last month\" />\n * <eds-trend [value]=\"-3.59\" label=\"vs last month\" />\n * <eds-trend [value]=\"0\" direction=\"flat\" />\n * <eds-trend [value]=\"5\" label=\"vs last week\" invertColors />\n * ```\n */\n@Component({\n selector: 'eds-trend',\n template: `\n <eds-icon [icon]=\"iconName()\" edsSizeXS />\n <span class=\"eds-trend__value\">{{ formattedValue() }}</span>\n @if (label()) {\n <span class=\"eds-trend__label\">{{ label() }}</span>\n }\n `,\n styleUrl: './eds-trend.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [...EDS_ICON],\n host: {\n '[class]': 'hostClasses()',\n '[attr.data-e2e]': '\"eds-trend\"',\n '[attr.aria-label]': 'ariaLabelText()',\n role: 'status',\n },\n})\nexport class EdsTrend {\n /** The trend value (positive = up, negative = down, 0 = flat). */\n value = input(0, { transform: numberAttribute });\n\n /** Optional context label displayed after the value (e.g. \"vs last month\"). */\n label = input<string>();\n\n /** Explicit direction override. If not set, direction is inferred from value. */\n direction = input<EdsTrendDirection>();\n\n /**\n * Invert color semantics (green for down, red for up).\n * Useful for metrics where decrease is positive (e.g. bounce rate, churn).\n */\n invertColors = input(false, { transform: booleanAttribute });\n\n protected resolvedDirection = computed((): EdsTrendDirection => {\n const explicit = this.direction();\n if (explicit) return explicit;\n const val = this.value();\n if (val > 0) return 'up';\n if (val < 0) return 'down';\n return 'flat';\n });\n\n protected iconName = computed(() => {\n const dir = this.resolvedDirection();\n if (dir === 'up') return 'arrow-up';\n if (dir === 'down') return 'arrow-down';\n return 'minus';\n });\n\n protected formattedValue = computed(() => {\n const val = this.value();\n const abs = Math.abs(val);\n const sign = val > 0 ? '+' : val < 0 ? '-' : '';\n return `${sign}${abs}%`;\n });\n\n protected ariaLabelText = computed(() => {\n const dir = this.resolvedDirection();\n const val = Math.abs(this.value());\n const label = this.label() || '';\n return `Trend ${dir} ${val}% ${label}`.trim();\n });\n\n hostClasses = computed(() => {\n const dir = this.resolvedDirection();\n const invert = this.invertColors();\n let colorClass = '';\n\n if (dir === 'up') {\n colorClass = invert ? 'eds-trend--critical' : 'eds-trend--success';\n } else if (dir === 'down') {\n colorClass = invert ? 'eds-trend--success' : 'eds-trend--critical';\n } else {\n colorClass = 'eds-trend--neutral';\n }\n\n return ['eds-trend', colorClass].join(' ').trim();\n });\n}\n","import { EdsTrend } from './eds-trend';\n\nexport { EdsTrend };\nexport type { EdsTrendDirection } from './eds-trend';\n\n/** Convenience array for importing eds-trend. */\nexport const EDS_TREND = [\n EdsTrend,\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.16",
3
+ "version": "22.0.0-alpha.18",
4
4
  "tag": "next",
5
5
  "description": "eUI EDS components package",
6
6
  "homepage": "https://eui.ecdevops.eu",