@eui/components 19.1.2-snapshot-1743492977329 → 19.1.2-snapshot-1743600141774

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-user-profile.mjs","sources":["../../eui-user-profile/user-profile-menu-item/user-profile-menu-item.component.ts","../../eui-user-profile/user-profile-menu/user-profile-menu.component.ts","../../eui-user-profile/user-profile.component.ts","../../eui-user-profile/user-profile.component.html","../../eui-user-profile/user-profile-card/user-profile-card.component.ts","../../eui-user-profile/user-profile-card/user-profile-card.component.html","../../eui-user-profile/user-profile.module.ts","../../eui-user-profile/eui-components-eui-user-profile.ts"],"sourcesContent":["import { Component, HostBinding, ViewEncapsulation, ElementRef } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\n@Component({\n selector: 'eui-user-profile-menu-item',\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiUserProfileMenuItemComponent implements FocusableOption {\n @HostBinding('class') class = 'eui-user-profile-menu-item';\n @HostBinding('attr.tabindex') tabindex = '-1';\n @HostBinding('attr.role') role = 'menuitem';\n\n constructor(private element: ElementRef) {}\n\n focus(): void {\n this.element.nativeElement.focus();\n }\n}\n","import {\n Component,\n HostBinding,\n ViewEncapsulation,\n AfterContentInit,\n QueryList,\n ContentChildren,\n OnDestroy,\n HostListener,\n forwardRef,\n} from '@angular/core';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { EuiUserProfileMenuItemComponent } from '../user-profile-menu-item/user-profile-menu-item.component';\nimport { EuiDropdownService } from '@eui/components/eui-dropdown';\n\n@Component({\n selector: 'eui-user-profile-menu',\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiUserProfileMenuComponent implements AfterContentInit, OnDestroy {\n @HostBinding() class = 'eui-user-profile-menu';\n @HostBinding('attr.role') role = 'menu';\n\n @ContentChildren(forwardRef(() => EuiUserProfileMenuItemComponent)) items: QueryList<EuiUserProfileMenuItemComponent>;\n private focusKeyManager: FocusKeyManager<EuiUserProfileMenuItemComponent>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private dropdownService: EuiDropdownService) {}\n\n @HostListener('keydown', ['$event'])\n onKeydown(event): void {\n this.focusKeyManager.onKeydown(event);\n }\n\n ngAfterContentInit(): void {\n this.dropdownService.isDropdownOpen.pipe(takeUntil(this.destroy$)).subscribe((isOpen: boolean) => {\n if (isOpen) {\n this.focusKeyManager = new FocusKeyManager(this.items).withWrap();\n this.focusKeyManager.setFirstItemActive();\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n","import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n OnInit,\n ViewChild,\n OnDestroy,\n forwardRef,\n QueryList,\n AfterViewInit,\n ContentChildren,\n ElementRef,\n booleanAttribute,\n Signal,\n computed,\n} from '@angular/core';\nimport { UserState } from '@eui/core';\nimport { UserService } from '@eui/core';\nimport { EuiDropdownComponent } from '@eui/components/eui-dropdown';\nimport { Subject } from 'rxjs';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiUserProfileMenuComponent } from './user-profile-menu/user-profile-menu.component';\n\n/**\n * Represents an extended user profile that includes impersonation capabilities\n * and organizational information.\n * @extends {UserState}\n *\n * When using this interface with UserService, specify it as the generic type parameter:\n * Example: private userService: UserService<UserProfile>\n */\nexport interface UserProfile extends UserState {\n /** The profile of another user being impersonated, if applicable */\n impersonatingUser?: UserProfile;\n /** The user's function or role within the system */\n function?: string;\n /** The organization details associated with the user */\n organisation?: {\n /** The unique code identifying the organization */\n code: string\n }\n}\n\n@Component({\n selector: 'eui-user-profile',\n templateUrl: './user-profile.component.html',\n styleUrls: ['./_styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiSizeS',\n 'euiSecondary',\n 'euiPrimary',\n ],\n },\n ],\n})\nexport class EuiUserProfileComponent implements OnInit, OnDestroy, AfterViewInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-user-profile'),\n this.isReverse ? 'eui-user-profile--reverse': '',\n this.isShowAvatarInitials ? 'eui-user-profile--initials': '',\n ].join(' ').trim();\n }\n\n userState: Signal<UserProfile>;\n avatarInitials: Signal<string>;\n\n @Input() welcomeLabel = 'Welcome';\n @Input() impersonateLabel = 'impersonating';\n @Input() avatarUrl: string;\n @Input() subInfos: string;\n @Input() statusVariant = 'success';\n\n @Input({ transform: booleanAttribute }) hasMenu = false;\n @Input({ transform: booleanAttribute }) hasWelcomeLabel = true;\n @Input({ transform: booleanAttribute }) isShowAvatarInitials = false;\n @Input({ transform: booleanAttribute }) hasTabNavigation = false;\n @Input({ transform: booleanAttribute }) isReverse = false;\n @Input({ transform: booleanAttribute }) hasToggle = false;\n @Input({ transform: booleanAttribute }) isHeaderUserProfile = false;\n @Input({ transform: booleanAttribute }) isShowUserInfos = true;\n\n @Input({ transform: booleanAttribute }) euiStatusSecondary = false;\n @Input({ transform: booleanAttribute }) euiStatusSuccess = false;\n @Input({ transform: booleanAttribute }) euiStatusDanger = false;\n /**\n * If true, the name will be displayed in reverse order (first name, first)\n */\n @Input() reverseNameOrder = false;\n\n @ViewChild('dropdown') dropdown: EuiDropdownComponent;\n @ContentChildren(forwardRef(() => EuiUserProfileMenuComponent), { descendants: true })\n hasMenuContent: QueryList<EuiUserProfileMenuComponent>;\n\n isDropdownOpen = false;\n\n private unsubscribeSubject$: Subject<void> = new Subject();\n\n constructor(\n private elRef: ElementRef,\n private userService: UserService<UserProfile>,\n public baseStatesDirective: BaseStatesDirective,\n ) {\n }\n\n ngOnInit(): void {\n this.userState = this.userService.getSignal();\n this.avatarInitials = computed(() => {\n const firstNameInitial = this.userState().firstName?.substring(0, 1).toUpperCase();\n const lastNameInitial = this.userState().lastName?.substring(0, 1).toUpperCase();\n return this.reverseNameOrder ?\n `${firstNameInitial}${lastNameInitial}`\n : `${lastNameInitial}${firstNameInitial}`;\n });\n }\n\n ngAfterViewInit(): void {\n let hasToolbarItemParent = false, toolbar;\n\n try {\n hasToolbarItemParent = this.elRef.nativeElement.closest('eui-toolbar-item');\n toolbar = this.elRef.nativeElement.closest('eui-toolbar');\n } catch(e) {\n console.log(e);\n // do nothing\n }\n\n setTimeout(() => {\n if (hasToolbarItemParent) {\n this.baseStatesDirective.euiSizeS = true;\n if (toolbar && toolbar.classList.contains('eui--secondary') || this.baseStatesDirective.euiSecondary) {\n this.baseStatesDirective.euiSecondary = true;\n } else {\n this.baseStatesDirective.euiPrimary = true;\n }\n }\n if (hasToolbarItemParent || !this.isHeaderUserProfile) {\n this.hasMenu = this.hasMenuContent.length !== 0;\n }\n }, 100);\n }\n\n ngOnDestroy(): void {\n this.unsubscribeSubject$.next();\n this.unsubscribeSubject$.complete();\n }\n\n closeDropdown(): void {\n this.dropdown.closeDropdown();\n this.isDropdownOpen = false;\n }\n\n onDropdownExpand(isOpen: boolean): void {\n this.isDropdownOpen = isOpen;\n }\n}\n","@if (hasMenu) {\n <eui-dropdown [hasTabNavigation]=\"hasTabNavigation\" width=\"340px\" #dropdown (expand)=\"onDropdownExpand($event)\">\n <ng-container *ngTemplateOutlet=\"userProfileContent\"/>\n <eui-dropdown-content>\n <ng-content/>\n </eui-dropdown-content>\n </eui-dropdown>\n} @else {\n <ng-container *ngTemplateOutlet=\"userProfileContent\"/>\n}\n\n<ng-template #userProfileContent>\n <button class=\"eui-user-profile-content\" [tabindex]=\"hasMenu ? '0' : '-1'\" [class.eui-user-profile-content--no-menu]=\"!hasMenu\">\n\n @if (isShowUserInfos) {\n <div class=\"eui-user-profile__infos\">\n @if (userState()?.impersonatingUser) {\n <div class=\"eui-user-profile__infos-welcome\">\n @if (hasWelcomeLabel) {\n <span>{{ welcomeLabel }}&nbsp;</span>\n }\n @if(reverseNameOrder) {\n {{ userState()?.impersonatingUser?.firstName }} <strong>{{ userState()?.impersonatingUser?.lastName}}&nbsp;</strong>\n } @else {\n <strong>{{ userState()?.impersonatingUser?.lastName }}</strong> {{ userState()?.impersonatingUser?.firstName }}\n }\n <span>{{ impersonateLabel }}</span>\n </div>\n <div class=\"eui-user-profile__infos-name\">\n @if(reverseNameOrder) {\n {{ userState()?.firstName }} <strong>{{ userState()?.lastName }}</strong>\n } @else {\n <strong>{{ userState()?.lastName }}</strong> {{ userState()?.firstName }}\n }\n </div>\n @if (subInfos) {\n <div class=\"eui-user-profile__infos-subinfos\">{{ subInfos }}</div>\n }\n } @else {\n @if (hasWelcomeLabel) {\n <div class=\"eui-user-profile__infos-welcome\">{{ welcomeLabel }}</div>\n }\n <div class=\"eui-user-profile__infos-name\">\n @if(reverseNameOrder) {\n {{ userState()?.firstName }} <strong>{{ userState()?.lastName }}</strong>\n } @else {\n <strong>{{ userState()?.lastName }}</strong> {{ userState()?.firstName }}\n }\n </div>\n @if (subInfos) {\n <div class=\"eui-user-profile__infos-subinfos\">{{ subInfos }}</div>\n }\n }\n </div>\n }\n\n <eui-avatar isFlat [euiSizeS]=\"baseStatesDirective.euiSizeS\" [hasShadow]=\"userState()?.impersonatingUser\">\n\n @if (isShowAvatarInitials) {\n <eui-avatar-text>{{ avatarInitials() }}</eui-avatar-text>\n } @else {\n <eui-avatar-image [imageUrl]=\"avatarUrl\"/>\n }\n\n @if (euiStatusSecondary || euiStatusSuccess || euiStatusDanger) {\n <eui-avatar-badge position=\"bottom\">\n @if (euiStatusSuccess) {\n <eui-badge euiSuccess euiSizeS euiIconBadge>\n <eui-icon-svg icon=\"checkmark:outline\" size=\"xs\"/>\n </eui-badge>\n } @else if (euiStatusDanger) {\n <eui-badge euiDanger euiSizeS euiIconBadge>\n <eui-icon-svg icon=\"remove:outline\" size=\"xs\"/>\n </eui-badge>\n } @else if (euiStatusSecondary) {\n <eui-badge euiSecondary euiSizeS euiIconBadge>\n <eui-icon-svg icon=\"close-circle:outline\" fillColor=\"neutral\" size=\"xs\"/>\n </eui-badge>\n }\n </eui-avatar-badge>\n }\n </eui-avatar>\n\n @if (hasMenu || hasToggle) {\n @if (isDropdownOpen) {\n <eui-icon-svg icon=\"chevron-up:sharp\" size=\"s\" class=\"eui-user-profile__drop-indicator\"/>\n } @else {\n <eui-icon-svg icon=\"chevron-down:sharp\" size=\"s\" class=\"eui-user-profile__drop-indicator\"/>\n }\n }\n </button>\n</ng-template>\n","import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n OnInit,\n EventEmitter,\n Output,\n booleanAttribute,\n computed,\n Signal,\n inject,\n} from '@angular/core';\nimport { UserProfile } from '../user-profile.component';\nimport { UserService, UserDetails } from '@eui/core';\n\n@Component({\n selector: 'eui-user-profile-card',\n templateUrl: './user-profile-card.component.html',\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiUserProfileCardComponent implements OnInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return 'eui-user-profile-card';\n }\n\n avatarInitials: Signal<string>;\n /**\n * Holds the full name of the user and the impersonated user\n */\n fullName: Signal<{ user: string, impersonated: string }>;\n userState: Signal<UserProfile>;\n /**\n * If true, the user is online\n * @deprecated This property is not used anymore\n */\n isOnline = true;\n\n @Input() impersonateLabel = 'impersonating';\n @Input() showDetailsLabel = 'Show profile details';\n @Input() avatarUrl: string;\n @Input({ transform: booleanAttribute }) isShowAvatarInitials = false;\n /**\n * If true, the name will be displayed in reverse order (first name, first)\n */\n @Input() reverseNameOrder = false;\n\n @Output() showProfileInfo: EventEmitter<void> = new EventEmitter();\n @Output() closeProfileMenu: EventEmitter<void> = new EventEmitter();\n private userService: UserService<UserProfile> = inject(UserService);\n\n ngOnInit(): void {\n this.userState = this.userService.getSignal();\n this.avatarInitials = computed(() => {\n const firstNameInitial = this.userState().firstName?.substring(0, 1).toUpperCase();\n const lastNameInitial = this.userState().lastName?.substring(0, 1).toUpperCase();\n return this.reverseNameOrder ?\n `${firstNameInitial}${lastNameInitial}`\n : `${lastNameInitial}${firstNameInitial}`;\n });\n this.fullName = computed(() => {\n const user = this.userState();\n const impersonated = this.userState().impersonatingUser;\n\n const fullName = (user: UserDetails): string=> {\n return this.reverseNameOrder\n ? `${user.firstName} ${user.lastName}`\n : `${user.lastName} ${user.firstName}`;\n };\n return {\n user: fullName(user),\n impersonated: impersonated ? fullName(impersonated) : undefined,\n };\n });\n }\n\n onShowInfoClick(): void {\n this.showProfileInfo.emit();\n }\n\n onClose(): void {\n this.closeProfileMenu.emit();\n }\n}\n","<div class=\"eui-user-profile-card__main-wrapper\">\n <div class=\"eui-user-profile-card__avatar-wrapper\">\n <eui-avatar euiSizeL isFlat>\n <eui-avatar-text *ngIf=\"isShowAvatarInitials; else noAvatarInitials\">\n {{ avatarInitials() }}\n </eui-avatar-text>\n <ng-template #noAvatarInitials>\n <eui-avatar-image *ngIf=\"!avatarUrl\"></eui-avatar-image>\n <eui-avatar-image *ngIf=\"avatarUrl\" [imageUrl]=\"avatarUrl\"></eui-avatar-image>\n </ng-template>\n </eui-avatar>\n </div>\n <div class=\"eui-user-profile-card__userInfos\">\n <div class=\"eui-u-f-xl eui-u-mb-s\">{{ fullName().user }}</div>\n <div *ngIf=\"userState().function\" class=\"eui-user-profile-card__userInfos-item\">\n {{ userState().function }}\n </div>\n <div *ngIf=\"userState().organisation && userState().organisation.code\" class=\"eui-user-profile-card__userInfos-item\">\n {{ userState().organisation.code }}\n </div>\n </div>\n <div class=\"eui-user-profile-card__main-wrapper-right-content\">\n <eui-icon-button icon=\"close:outline\" size=\"s\" euiRounded (buttonClick)=\"onClose()\"/>\n <button euiButton euiIconButton euiInfo euiSizeS class=\"eui-u-ml-auto eui-u-mt-m\" tabindex=\"0\" (click)=\"onShowInfoClick()\" title=\"{{ showDetailsLabel }}\">\n <eui-icon-svg icon=\"information:outline\"></eui-icon-svg>\n </button>\n </div>\n</div>\n\n<ng-container *ngIf=\"userState()?.impersonatingUser\">\n <div class=\"eui-user-profile-card__impersonateInfos\">\n <div>{{ fullName()?.impersonated }}</div>\n <div class=\"eui-u-mt-2xs\">{{ impersonateLabel }}</div>\n <div class=\"eui-u-mt-2xs\">\n <strong>{{ fullName().user }}</strong>\n </div>\n </div>\n</ng-container>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { EuiDropdownModule } from '@eui/components/eui-dropdown';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiUserProfileMenuComponent } from './user-profile-menu/user-profile-menu.component';\nimport { EuiUserProfileMenuItemComponent } from './user-profile-menu-item/user-profile-menu-item.component';\n\nimport { EuiUserProfileComponent } from './user-profile.component';\nimport { EuiUserProfileCardComponent } from './user-profile-card/user-profile-card.component';\n\nimport { EuiAvatarModule } from '@eui/components/eui-avatar';\nimport { EuiBadgeModule } from '@eui/components/eui-badge';\nimport { EuiIconButtonModule } from '@eui/components/eui-icon-button';\n\nconst COMPONENTS = [EuiUserProfileComponent, EuiUserProfileMenuComponent, EuiUserProfileMenuItemComponent, EuiUserProfileCardComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n EuiIconModule,\n EuiDropdownModule,\n EuiButtonModule,\n EuiAvatarModule,\n EuiIconButtonModule,\n EuiBadgeModule,\n ],\n declarations: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EuiUserProfileModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i5","i2","i3","i4"],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-user-profile.mjs","sources":["../../eui-user-profile/user-profile-menu-item/user-profile-menu-item.component.ts","../../eui-user-profile/user-profile-menu/user-profile-menu.component.ts","../../eui-user-profile/user-profile.component.ts","../../eui-user-profile/user-profile.component.html","../../eui-user-profile/user-profile-card/user-profile-card.component.ts","../../eui-user-profile/user-profile-card/user-profile-card.component.html","../../eui-user-profile/user-profile.module.ts","../../eui-user-profile/eui-components-eui-user-profile.ts"],"sourcesContent":["import { Component, HostBinding, ViewEncapsulation, ElementRef } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\n@Component({\n selector: 'eui-user-profile-menu-item',\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiUserProfileMenuItemComponent implements FocusableOption {\n @HostBinding('class') class = 'eui-user-profile-menu-item';\n @HostBinding('attr.tabindex') tabindex = '-1';\n @HostBinding('attr.role') role = 'menuitem';\n\n constructor(private element: ElementRef) {}\n\n focus(): void {\n this.element.nativeElement.focus();\n }\n}\n","import {\n Component,\n HostBinding,\n ViewEncapsulation,\n AfterContentInit,\n QueryList,\n ContentChildren,\n OnDestroy,\n HostListener,\n forwardRef,\n} from '@angular/core';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { EuiUserProfileMenuItemComponent } from '../user-profile-menu-item/user-profile-menu-item.component';\nimport { EuiDropdownService } from '@eui/components/eui-dropdown';\n\n@Component({\n selector: 'eui-user-profile-menu',\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiUserProfileMenuComponent implements AfterContentInit, OnDestroy {\n @HostBinding() class = 'eui-user-profile-menu';\n @HostBinding('attr.role') role = 'menu';\n\n @ContentChildren(forwardRef(() => EuiUserProfileMenuItemComponent)) items: QueryList<EuiUserProfileMenuItemComponent>;\n private focusKeyManager: FocusKeyManager<EuiUserProfileMenuItemComponent>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private dropdownService: EuiDropdownService) {}\n\n @HostListener('keydown', ['$event'])\n onKeydown(event): void {\n this.focusKeyManager.onKeydown(event);\n }\n\n ngAfterContentInit(): void {\n this.dropdownService.isDropdownOpen.pipe(takeUntil(this.destroy$)).subscribe((isOpen: boolean) => {\n if (isOpen) {\n this.focusKeyManager = new FocusKeyManager(this.items).withWrap();\n this.focusKeyManager.setFirstItemActive();\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n","import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n OnInit,\n ViewChild,\n OnDestroy,\n forwardRef,\n QueryList,\n AfterViewInit,\n ContentChildren,\n ElementRef,\n booleanAttribute,\n Signal,\n computed,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { UserState } from '@eui/core';\nimport { UserService } from '@eui/core';\nimport { EuiDropdownComponent } from '@eui/components/eui-dropdown';\nimport { Subject } from 'rxjs';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiUserProfileMenuComponent } from './user-profile-menu/user-profile-menu.component';\n\n/**\n * Represents an extended user profile that includes impersonation capabilities\n * and organizational information.\n * @extends {UserState}\n *\n * When using this interface with UserService, specify it as the generic type parameter:\n * Example: private userService: UserService<UserProfile>\n */\nexport interface UserProfile extends UserState {\n /** The profile of another user being impersonated, if applicable */\n impersonatingUser?: UserProfile;\n /** The user's function or role within the system */\n function?: string;\n /** The organization details associated with the user */\n organisation?: {\n /** The unique code identifying the organization */\n code: string\n }\n}\n\n@Component({\n selector: 'eui-user-profile',\n templateUrl: './user-profile.component.html',\n styleUrls: ['./_styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiSizeS',\n 'euiSecondary',\n 'euiPrimary',\n ],\n },\n ],\n})\nexport class EuiUserProfileComponent implements OnInit, OnDestroy, AfterViewInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-user-profile'),\n this.isReverse ? 'eui-user-profile--reverse': '',\n this.isShowAvatarInitials ? 'eui-user-profile--initials': '',\n ].join(' ').trim();\n }\n\n userState: Signal<UserProfile>;\n avatarInitials: Signal<string>;\n\n @Input() welcomeLabel = 'Welcome';\n @Input() impersonateLabel = 'impersonating';\n @Input() avatarUrl: string;\n @Input() subInfos: string;\n @Input() statusVariant = 'success';\n\n @Input({ transform: booleanAttribute }) hasMenu = false;\n @Input({ transform: booleanAttribute }) hasWelcomeLabel = true;\n @Input({ transform: booleanAttribute }) isShowAvatarInitials = false;\n @Input({ transform: booleanAttribute }) hasTabNavigation = false;\n @Input({ transform: booleanAttribute }) isReverse = false;\n @Input({ transform: booleanAttribute }) hasToggle = false;\n @Input({ transform: booleanAttribute }) isHeaderUserProfile = false;\n @Input({ transform: booleanAttribute }) isToolbarUserProfile = false;\n @Input({ transform: booleanAttribute }) isShowUserInfos = true;\n\n @Input({ transform: booleanAttribute }) euiStatusSecondary = false;\n @Input({ transform: booleanAttribute }) euiStatusSuccess = false;\n @Input({ transform: booleanAttribute }) euiStatusDanger = false;\n /**\n * If true, the name will be displayed in reverse order (first name, first)\n */\n @Input() reverseNameOrder = false;\n\n @ViewChild('dropdown') dropdown: EuiDropdownComponent;\n @ContentChildren(forwardRef(() => EuiUserProfileMenuComponent), { descendants: true })\n hasMenuContent: QueryList<EuiUserProfileMenuComponent>;\n\n isDropdownOpen = false;\n\n private unsubscribeSubject$: Subject<void> = new Subject();\n\n constructor(\n private elRef: ElementRef,\n private cd: ChangeDetectorRef,\n private userService: UserService<UserProfile>,\n public baseStatesDirective: BaseStatesDirective,\n ) {\n }\n\n ngOnInit(): void {\n this.userState = this.userService.getSignal();\n this.avatarInitials = computed(() => {\n const firstNameInitial = this.userState().firstName?.substring(0, 1).toUpperCase();\n const lastNameInitial = this.userState().lastName?.substring(0, 1).toUpperCase();\n return this.reverseNameOrder ?\n `${firstNameInitial}${lastNameInitial}`\n : `${lastNameInitial}${firstNameInitial}`;\n });\n }\n\n ngAfterViewInit(): void {\n this.cd.markForCheck();\n\n let hasToolbarItemParent = false, toolbar;\n\n if (this.isToolbarUserProfile) {\n this.baseStatesDirective.euiSizeS = true;\n this.hasMenu = this.hasMenuContent.length !== 0;\n \n } else {\n try {\n hasToolbarItemParent = this.elRef.nativeElement.closest('eui-toolbar-item');\n toolbar = this.elRef.nativeElement.closest('eui-toolbar');\n } catch(e) {\n // do nothing\n }\n \n setTimeout(() => {\n if (hasToolbarItemParent) {\n this.baseStatesDirective.euiSizeS = true;\n if (toolbar && toolbar.classList.contains('eui--secondary') || this.baseStatesDirective.euiSecondary) {\n this.baseStatesDirective.euiSecondary = true;\n } else {\n this.baseStatesDirective.euiPrimary = true;\n }\n }\n if (hasToolbarItemParent || !this.isHeaderUserProfile) {\n this.hasMenu = this.hasMenuContent.length !== 0;\n }\n this.cd.markForCheck();\n });\n }\n }\n\n ngOnDestroy(): void {\n this.unsubscribeSubject$.next();\n this.unsubscribeSubject$.complete();\n }\n\n closeDropdown(): void {\n this.dropdown.closeDropdown();\n this.isDropdownOpen = false;\n }\n\n onDropdownExpand(isOpen: boolean): void {\n this.isDropdownOpen = isOpen;\n }\n}\n","@if (hasMenu) {\n <eui-dropdown [hasTabNavigation]=\"hasTabNavigation\" width=\"340px\" #dropdown (expand)=\"onDropdownExpand($event)\">\n <ng-container *ngTemplateOutlet=\"userProfileContent\"/>\n <eui-dropdown-content>\n <ng-content/>\n </eui-dropdown-content>\n </eui-dropdown>\n} @else {\n <ng-container *ngTemplateOutlet=\"userProfileContent\"/>\n}\n\n<ng-template #userProfileContent>\n <button class=\"eui-user-profile-content\" [tabindex]=\"hasMenu ? '0' : '-1'\" [class.eui-user-profile-content--no-menu]=\"!hasMenu\">\n\n @if (isShowUserInfos) {\n <div class=\"eui-user-profile__infos\">\n @if (userState()?.impersonatingUser) {\n <div class=\"eui-user-profile__infos-welcome\">\n @if (hasWelcomeLabel) {\n <span>{{ welcomeLabel }}&nbsp;</span>\n }\n @if(reverseNameOrder) {\n {{ userState()?.impersonatingUser?.firstName }} <strong>{{ userState()?.impersonatingUser?.lastName}}&nbsp;</strong>\n } @else {\n <strong>{{ userState()?.impersonatingUser?.lastName }}</strong> {{ userState()?.impersonatingUser?.firstName }}\n }\n <span>{{ impersonateLabel }}</span>\n </div>\n <div class=\"eui-user-profile__infos-name\">\n @if(reverseNameOrder) {\n {{ userState()?.firstName }} <strong>{{ userState()?.lastName }}</strong>\n } @else {\n <strong>{{ userState()?.lastName }}</strong> {{ userState()?.firstName }}\n }\n </div>\n @if (subInfos) {\n <div class=\"eui-user-profile__infos-subinfos\">{{ subInfos }}</div>\n }\n } @else {\n @if (hasWelcomeLabel) {\n <div class=\"eui-user-profile__infos-welcome\">{{ welcomeLabel }}</div>\n }\n <div class=\"eui-user-profile__infos-name\">\n @if(reverseNameOrder) {\n {{ userState()?.firstName }} <strong>{{ userState()?.lastName }}</strong>\n } @else {\n <strong>{{ userState()?.lastName }}</strong> {{ userState()?.firstName }}\n }\n </div>\n @if (subInfos) {\n <div class=\"eui-user-profile__infos-subinfos\">{{ subInfos }}</div>\n }\n }\n </div>\n }\n\n <eui-avatar isFlat [euiSizeS]=\"baseStatesDirective.euiSizeS\" [hasShadow]=\"userState()?.impersonatingUser\">\n\n @if (isShowAvatarInitials) {\n <eui-avatar-text>{{ avatarInitials() }}</eui-avatar-text>\n } @else {\n <eui-avatar-image [imageUrl]=\"avatarUrl\"/>\n }\n\n @if (euiStatusSecondary || euiStatusSuccess || euiStatusDanger) {\n <eui-avatar-badge position=\"bottom\">\n @if (euiStatusSuccess) {\n <eui-badge euiSuccess euiSizeS euiIconBadge>\n <eui-icon-svg icon=\"checkmark:outline\" size=\"xs\"/>\n </eui-badge>\n } @else if (euiStatusDanger) {\n <eui-badge euiDanger euiSizeS euiIconBadge>\n <eui-icon-svg icon=\"remove:outline\" size=\"xs\"/>\n </eui-badge>\n } @else if (euiStatusSecondary) {\n <eui-badge euiSecondary euiSizeS euiIconBadge>\n <eui-icon-svg icon=\"close-circle:outline\" fillColor=\"neutral\" size=\"xs\"/>\n </eui-badge>\n }\n </eui-avatar-badge>\n }\n </eui-avatar>\n\n @if (hasMenu || hasToggle) {\n @if (isDropdownOpen) {\n <eui-icon-svg icon=\"chevron-up:sharp\" size=\"s\" class=\"eui-user-profile__drop-indicator\"/>\n } @else {\n <eui-icon-svg icon=\"chevron-down:sharp\" size=\"s\" class=\"eui-user-profile__drop-indicator\"/>\n }\n }\n </button>\n</ng-template>\n","import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n OnInit,\n EventEmitter,\n Output,\n booleanAttribute,\n computed,\n Signal,\n inject,\n} from '@angular/core';\nimport { UserProfile } from '../user-profile.component';\nimport { UserService, UserDetails } from '@eui/core';\n\n@Component({\n selector: 'eui-user-profile-card',\n templateUrl: './user-profile-card.component.html',\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiUserProfileCardComponent implements OnInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return 'eui-user-profile-card';\n }\n\n avatarInitials: Signal<string>;\n /**\n * Holds the full name of the user and the impersonated user\n */\n fullName: Signal<{ user: string, impersonated: string }>;\n userState: Signal<UserProfile>;\n /**\n * If true, the user is online\n * @deprecated This property is not used anymore\n */\n isOnline = true;\n\n @Input() impersonateLabel = 'impersonating';\n @Input() showDetailsLabel = 'Show profile details';\n @Input() avatarUrl: string;\n @Input({ transform: booleanAttribute }) isShowAvatarInitials = false;\n /**\n * If true, the name will be displayed in reverse order (first name, first)\n */\n @Input() reverseNameOrder = false;\n\n @Output() showProfileInfo: EventEmitter<void> = new EventEmitter();\n @Output() closeProfileMenu: EventEmitter<void> = new EventEmitter();\n private userService: UserService<UserProfile> = inject(UserService);\n\n ngOnInit(): void {\n this.userState = this.userService.getSignal();\n this.avatarInitials = computed(() => {\n const firstNameInitial = this.userState().firstName?.substring(0, 1).toUpperCase();\n const lastNameInitial = this.userState().lastName?.substring(0, 1).toUpperCase();\n return this.reverseNameOrder ?\n `${firstNameInitial}${lastNameInitial}`\n : `${lastNameInitial}${firstNameInitial}`;\n });\n this.fullName = computed(() => {\n const user = this.userState();\n const impersonated = this.userState().impersonatingUser;\n\n const fullName = (user: UserDetails): string=> {\n return this.reverseNameOrder\n ? `${user.firstName} ${user.lastName}`\n : `${user.lastName} ${user.firstName}`;\n };\n return {\n user: fullName(user),\n impersonated: impersonated ? fullName(impersonated) : undefined,\n };\n });\n }\n\n onShowInfoClick(): void {\n this.showProfileInfo.emit();\n }\n\n onClose(): void {\n this.closeProfileMenu.emit();\n }\n}\n","<div class=\"eui-user-profile-card__main-wrapper\">\n <div class=\"eui-user-profile-card__avatar-wrapper\">\n <eui-avatar euiSizeL isFlat>\n <eui-avatar-text *ngIf=\"isShowAvatarInitials; else noAvatarInitials\">\n {{ avatarInitials() }}\n </eui-avatar-text>\n <ng-template #noAvatarInitials>\n <eui-avatar-image *ngIf=\"!avatarUrl\"></eui-avatar-image>\n <eui-avatar-image *ngIf=\"avatarUrl\" [imageUrl]=\"avatarUrl\"></eui-avatar-image>\n </ng-template>\n </eui-avatar>\n </div>\n <div class=\"eui-user-profile-card__userInfos\">\n <div class=\"eui-u-f-xl eui-u-mb-s\">{{ fullName().user }}</div>\n <div *ngIf=\"userState().function\" class=\"eui-user-profile-card__userInfos-item\">\n {{ userState().function }}\n </div>\n <div *ngIf=\"userState().organisation && userState().organisation.code\" class=\"eui-user-profile-card__userInfos-item\">\n {{ userState().organisation.code }}\n </div>\n </div>\n <div class=\"eui-user-profile-card__main-wrapper-right-content\">\n <eui-icon-button icon=\"close:outline\" size=\"s\" euiRounded (buttonClick)=\"onClose()\"/>\n <button euiButton euiIconButton euiInfo euiSizeS class=\"eui-u-ml-auto eui-u-mt-m\" tabindex=\"0\" (click)=\"onShowInfoClick()\" title=\"{{ showDetailsLabel }}\">\n <eui-icon-svg icon=\"information:outline\"></eui-icon-svg>\n </button>\n </div>\n</div>\n\n<ng-container *ngIf=\"userState()?.impersonatingUser\">\n <div class=\"eui-user-profile-card__impersonateInfos\">\n <div>{{ fullName()?.impersonated }}</div>\n <div class=\"eui-u-mt-2xs\">{{ impersonateLabel }}</div>\n <div class=\"eui-u-mt-2xs\">\n <strong>{{ fullName().user }}</strong>\n </div>\n </div>\n</ng-container>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { EuiDropdownModule } from '@eui/components/eui-dropdown';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiUserProfileMenuComponent } from './user-profile-menu/user-profile-menu.component';\nimport { EuiUserProfileMenuItemComponent } from './user-profile-menu-item/user-profile-menu-item.component';\n\nimport { EuiUserProfileComponent } from './user-profile.component';\nimport { EuiUserProfileCardComponent } from './user-profile-card/user-profile-card.component';\n\nimport { EuiAvatarModule } from '@eui/components/eui-avatar';\nimport { EuiBadgeModule } from '@eui/components/eui-badge';\nimport { EuiIconButtonModule } from '@eui/components/eui-icon-button';\n\nconst COMPONENTS = [EuiUserProfileComponent, EuiUserProfileMenuComponent, EuiUserProfileMenuItemComponent, EuiUserProfileCardComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n EuiIconModule,\n EuiDropdownModule,\n EuiButtonModule,\n EuiAvatarModule,\n EuiIconButtonModule,\n EuiBadgeModule,\n ],\n declarations: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EuiUserProfileModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i5","i2","i3","i4"],"mappings":"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"}
@@ -302,7 +302,7 @@ class EuiAppSidebarHeaderUserProfileComponent {
302
302
  ].join(' ').trim();
303
303
  }
304
304
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: EuiAppSidebarHeaderUserProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
305
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.1", type: EuiAppSidebarHeaderUserProfileComponent, isStandalone: false, selector: "eui-app-sidebar-header-user-profile", inputs: { welcomeLabel: "welcomeLabel", impersonateLabel: "impersonateLabel", avatarUrl: "avatarUrl", isShowUserInfos: ["isShowUserInfos", "isShowUserInfos", booleanAttribute], isShowAvatarInitials: ["isShowAvatarInitials", "isShowAvatarInitials", booleanAttribute], isOnline: ["isOnline", "isOnline", booleanAttribute], hasWelcomeLabel: ["hasWelcomeLabel", "hasWelcomeLabel", booleanAttribute], hasTabNavigation: ["hasTabNavigation", "hasTabNavigation", booleanAttribute], hasToggle: ["hasToggle", "hasToggle", booleanAttribute], hasProfileDrawer: ["hasProfileDrawer", "hasProfileDrawer", booleanAttribute] }, outputs: { toggle: "toggle" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "userProfileMenu", predicate: i0.forwardRef(() => EuiUserProfileMenuComponent) }], ngImport: i0, template: "<eui-user-profile\n [hasWelcomeLabel]=\"hasWelcomeLabel\"\n [welcomeLabel]=\"welcomeLabel\"\n [impersonateLabel]=\"impersonateLabel\"\n [avatarUrl]=\"avatarUrl\"\n [hasMenu]=\"userProfileMenu.length !== 0\"\n [isShowUserInfos]=\"isShowUserInfos\"\n [isShowAvatarInitials]=\"isShowAvatarInitials\"\n [hasTabNavigation]=\"hasTabNavigation\"\n isReverse\n [hasToggle]=\"hasToggle\"\n #userProfile>\n <ng-content select=\"eui-user-profile-menu\"></ng-content>\n</eui-user-profile>\n\n<button *ngIf=\"hasProfileDrawer\" euiButton euiRounded euiIconButton euiBasicButton euiSecondary class=\"eui-u-ml-auto\" aria-label=\"Toggle user profile details\">\n <eui-icon-svg [icon]=\"toggleProfile ? 'chevron-up:sharp' : 'chevron-down:sharp'\"></eui-icon-svg>\n</button>\n", styles: [".eui-app-sidebar-header-user-profile{border-bottom:1px solid var(--eui-c-neutral-lightest);display:flex;height:var(--eui-app-sidebar-header-user-profile);padding:var(--eui-s-s) var(--eui-s-m);position:relative;width:100%}.eui-app-sidebar-header-user-profile--has-drawer,.eui-app-sidebar-header-user-profile--has-drawer .eui-user-profile-content--no-menu{cursor:pointer}@media screen and (min-width: 996px){.eui-app-sidebar-header-user-profile{display:none}}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i2$2.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i4.EuiUserProfileComponent, selector: "eui-user-profile", inputs: ["welcomeLabel", "impersonateLabel", "avatarUrl", "subInfos", "statusVariant", "hasMenu", "hasWelcomeLabel", "isShowAvatarInitials", "hasTabNavigation", "isReverse", "hasToggle", "isHeaderUserProfile", "isShowUserInfos", "euiStatusSecondary", "euiStatusSuccess", "euiStatusDanger", "reverseNameOrder"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
305
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.1", type: EuiAppSidebarHeaderUserProfileComponent, isStandalone: false, selector: "eui-app-sidebar-header-user-profile", inputs: { welcomeLabel: "welcomeLabel", impersonateLabel: "impersonateLabel", avatarUrl: "avatarUrl", isShowUserInfos: ["isShowUserInfos", "isShowUserInfos", booleanAttribute], isShowAvatarInitials: ["isShowAvatarInitials", "isShowAvatarInitials", booleanAttribute], isOnline: ["isOnline", "isOnline", booleanAttribute], hasWelcomeLabel: ["hasWelcomeLabel", "hasWelcomeLabel", booleanAttribute], hasTabNavigation: ["hasTabNavigation", "hasTabNavigation", booleanAttribute], hasToggle: ["hasToggle", "hasToggle", booleanAttribute], hasProfileDrawer: ["hasProfileDrawer", "hasProfileDrawer", booleanAttribute] }, outputs: { toggle: "toggle" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "userProfileMenu", predicate: i0.forwardRef(() => EuiUserProfileMenuComponent) }], ngImport: i0, template: "<eui-user-profile\n [hasWelcomeLabel]=\"hasWelcomeLabel\"\n [welcomeLabel]=\"welcomeLabel\"\n [impersonateLabel]=\"impersonateLabel\"\n [avatarUrl]=\"avatarUrl\"\n [hasMenu]=\"userProfileMenu.length !== 0\"\n [isShowUserInfos]=\"isShowUserInfos\"\n [isShowAvatarInitials]=\"isShowAvatarInitials\"\n [hasTabNavigation]=\"hasTabNavigation\"\n isReverse\n [hasToggle]=\"hasToggle\"\n #userProfile>\n <ng-content select=\"eui-user-profile-menu\"></ng-content>\n</eui-user-profile>\n\n<button *ngIf=\"hasProfileDrawer\" euiButton euiRounded euiIconButton euiBasicButton euiSecondary class=\"eui-u-ml-auto\" aria-label=\"Toggle user profile details\">\n <eui-icon-svg [icon]=\"toggleProfile ? 'chevron-up:sharp' : 'chevron-down:sharp'\"></eui-icon-svg>\n</button>\n", styles: [".eui-app-sidebar-header-user-profile{border-bottom:1px solid var(--eui-c-neutral-lightest);display:flex;height:var(--eui-app-sidebar-header-user-profile);padding:var(--eui-s-s) var(--eui-s-m);position:relative;width:100%}.eui-app-sidebar-header-user-profile--has-drawer,.eui-app-sidebar-header-user-profile--has-drawer .eui-user-profile-content--no-menu{cursor:pointer}@media screen and (min-width: 996px){.eui-app-sidebar-header-user-profile{display:none}}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i2$2.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i4.EuiUserProfileComponent, selector: "eui-user-profile", inputs: ["welcomeLabel", "impersonateLabel", "avatarUrl", "subInfos", "statusVariant", "hasMenu", "hasWelcomeLabel", "isShowAvatarInitials", "hasTabNavigation", "isReverse", "hasToggle", "isHeaderUserProfile", "isToolbarUserProfile", "isShowUserInfos", "euiStatusSecondary", "euiStatusSuccess", "euiStatusDanger", "reverseNameOrder"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
306
306
  }
307
307
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: EuiAppSidebarHeaderUserProfileComponent, decorators: [{
308
308
  type: Component,
@@ -2060,7 +2060,7 @@ class EuiHeaderUserProfileComponent {
2060
2060
  this.hasMenu = this.hasMenuContent.length !== 0;
2061
2061
  }
2062
2062
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: EuiHeaderUserProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2063
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.1", type: EuiHeaderUserProfileComponent, isStandalone: true, selector: "eui-header-user-profile", inputs: { isShowUserInfos: ["isShowUserInfos", "isShowUserInfos", booleanAttribute], hasWelcomeLabel: ["hasWelcomeLabel", "hasWelcomeLabel", booleanAttribute], isShowAvatarInitials: ["isShowAvatarInitials", "isShowAvatarInitials", booleanAttribute], hasTabNavigation: ["hasTabNavigation", "hasTabNavigation", booleanAttribute], welcomeLabel: "welcomeLabel", impersonateLabel: "impersonateLabel", avatarUrl: "avatarUrl", subInfos: "subInfos" }, host: { properties: { "class": "this.cssClass" } }, queries: [{ propertyName: "hasMenuContent", predicate: i0.forwardRef(() => EuiUserProfileMenuComponent), descendants: true }], viewQueries: [{ propertyName: "userProfile", first: true, predicate: ["userProfile"], descendants: true }], ngImport: i0, template: "<eui-user-profile\n [hasWelcomeLabel]=\"hasWelcomeLabel\"\n [welcomeLabel]=\"welcomeLabel\"\n [impersonateLabel]=\"impersonateLabel\"\n [avatarUrl]=\"avatarUrl\"\n [isShowUserInfos]=\"isShowUserInfos\"\n [isShowAvatarInitials]=\"isShowAvatarInitials\"\n [hasTabNavigation]=\"hasTabNavigation\"\n [subInfos]=\"subInfos\"\n [hasMenu]=\"hasMenu\"\n isHeaderUserProfile\n #userProfile>\n <ng-content select=\"eui-user-profile-menu\"></ng-content>\n</eui-user-profile>\n", styles: [".eui-header-user-profile{display:flex;margin-left:auto}\n"], dependencies: [{ kind: "ngmodule", type: EuiUserProfileModule }, { kind: "component", type: i4.EuiUserProfileComponent, selector: "eui-user-profile", inputs: ["welcomeLabel", "impersonateLabel", "avatarUrl", "subInfos", "statusVariant", "hasMenu", "hasWelcomeLabel", "isShowAvatarInitials", "hasTabNavigation", "isReverse", "hasToggle", "isHeaderUserProfile", "isShowUserInfos", "euiStatusSecondary", "euiStatusSuccess", "euiStatusDanger", "reverseNameOrder"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
2063
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.1", type: EuiHeaderUserProfileComponent, isStandalone: true, selector: "eui-header-user-profile", inputs: { isShowUserInfos: ["isShowUserInfos", "isShowUserInfos", booleanAttribute], hasWelcomeLabel: ["hasWelcomeLabel", "hasWelcomeLabel", booleanAttribute], isShowAvatarInitials: ["isShowAvatarInitials", "isShowAvatarInitials", booleanAttribute], hasTabNavigation: ["hasTabNavigation", "hasTabNavigation", booleanAttribute], welcomeLabel: "welcomeLabel", impersonateLabel: "impersonateLabel", avatarUrl: "avatarUrl", subInfos: "subInfos" }, host: { properties: { "class": "this.cssClass" } }, queries: [{ propertyName: "hasMenuContent", predicate: i0.forwardRef(() => EuiUserProfileMenuComponent), descendants: true }], viewQueries: [{ propertyName: "userProfile", first: true, predicate: ["userProfile"], descendants: true }], ngImport: i0, template: "<eui-user-profile\n [hasWelcomeLabel]=\"hasWelcomeLabel\"\n [welcomeLabel]=\"welcomeLabel\"\n [impersonateLabel]=\"impersonateLabel\"\n [avatarUrl]=\"avatarUrl\"\n [isShowUserInfos]=\"isShowUserInfos\"\n [isShowAvatarInitials]=\"isShowAvatarInitials\"\n [hasTabNavigation]=\"hasTabNavigation\"\n [subInfos]=\"subInfos\"\n [hasMenu]=\"hasMenu\"\n isHeaderUserProfile\n #userProfile>\n <ng-content select=\"eui-user-profile-menu\"></ng-content>\n</eui-user-profile>\n", styles: [".eui-header-user-profile{display:flex;margin-left:auto}\n"], dependencies: [{ kind: "ngmodule", type: EuiUserProfileModule }, { kind: "component", type: i4.EuiUserProfileComponent, selector: "eui-user-profile", inputs: ["welcomeLabel", "impersonateLabel", "avatarUrl", "subInfos", "statusVariant", "hasMenu", "hasWelcomeLabel", "isShowAvatarInitials", "hasTabNavigation", "isReverse", "hasToggle", "isHeaderUserProfile", "isToolbarUserProfile", "isShowUserInfos", "euiStatusSecondary", "euiStatusSuccess", "euiStatusDanger", "reverseNameOrder"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
2064
2064
  }
2065
2065
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: EuiHeaderUserProfileComponent, decorators: [{
2066
2066
  type: Component,