{"version":3,"file":"eui-components-eui-user-profile.mjs","sources":["../../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-menu-item/user-profile-menu-item.component.ts","../../eui-user-profile/user-profile.component.ts","../../eui-user-profile/user-profile.component.html","../../eui-user-profile/user-profile-menu/user-profile-menu.component.ts","../../eui-user-profile/index.ts","../../eui-user-profile/eui-components-eui-user-profile.ts"],"sourcesContent":["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';\nimport { EUI_AVATAR } from '@eui/components/eui-avatar';\n\n/**\n * @description\n * User profile card component that displays detailed user information including avatar, name,\n * function, and organization. Designed for use within dropdown menus or profile panels.\n * Automatically fetches user data from UserService and supports impersonation display.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Simple profile card -->\n * <eui-user-profile-card\n *   [isShowAvatarInitials]=\"true\"\n *   (showProfileInfo)=\"onShowProfile()\"\n *   (closeProfileMenu)=\"onClose()\" />\n *\n * <!-- With custom avatar -->\n * <eui-user-profile-card\n *   [avatarUrl]=\"user.avatarUrl\"\n *   [reverseNameOrder]=\"true\"\n *   showDetailsLabel=\"View Details\" />\n * ```\n *\n * ```typescript\n * onShowProfile(): void {\n *   this.router.navigate(['/profile']);\n * }\n * ```\n *\n * ### Accessibility\n * - Avatar has semantic meaning with user initials or image\n * - Profile details link is keyboard accessible with tabindex\n * - User information structured with proper heading hierarchy\n * - Impersonation status clearly indicated for screen readers\n *\n * ### Notes\n * - Automatically displays user function and organization if available\n * - Impersonation mode shows both impersonated and actual user\n * - Avatar initials computed from user name (configurable order)\n * - Integrates seamlessly with eui-user-profile dropdown\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    imports: [\n        ...EUI_AVATAR,\n    ],\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> = inject(UserService).getSignal();\n    /**\n     * If true, the user is online\n     * @deprecated This property is not used anymore\n     */\n    isOnline = true;\n\n    @Input() impersonateLabel = 'acting as';\n    @Input() showDetailsLabel = 'Show profile details';\n    @Input() avatarUrl: string;\n    @Input({ transform: booleanAttribute }) isShowAvatarInitials = true;\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\n    ngOnInit(): void {\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>\n            @if (isShowAvatarInitials) {\n                <eui-avatar-text>\n                    {{ avatarInitials() }}\n                </eui-avatar-text>\n            } @else {\n                @if (!avatarUrl) {\n                    <eui-avatar-image></eui-avatar-image>\n                }\n                @if (avatarUrl) {\n                    <eui-avatar-image [imageUrl]=\"avatarUrl\"></eui-avatar-image>\n                }\n            }\n        </eui-avatar>\n    </div>\n    <div class=\"eui-user-profile-card__userInfos\">\n        <div class=\"eui-u-f-m-semi-bold\">{{ fullName().user }}</div>\n        @if (userState().function) {\n            <div class=\"eui-user-profile-card__userInfos-item eui-u-f-s\">\n                {{ userState().function }}\n            </div>\n        }\n        @if (userState().organisation && userState().organisation.code) {\n            <div class=\"eui-user-profile-card__userInfos-item eui-u-f-s\">\n                {{ userState().organisation.code }}\n            </div>\n        }\n        <a class=\"eui-u-text-link eui-u-f-s eui-u-mt-s\" tabindex=\"0\" (click)=\"onShowInfoClick()\">{{showDetailsLabel}}</a>\n    </div>\n</div>\n\n@if (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}\n","import { Component, HostBinding, ViewEncapsulation, ElementRef, inject } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\n/**\n * @description\n * Individual menu item component for user profile menus. Implements FocusableOption\n * for keyboard navigation support. Used within eui-user-profile-menu to create\n * actionable menu entries.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-user-profile-menu>\n *   <eui-user-profile-menu-item (click)=\"viewProfile()\">\n *     <eui-icon-svg icon=\"eui-user\" size=\"s\" />\n *     My Profile\n *   </eui-user-profile-menu-item>\n *   \n *   <eui-user-profile-menu-item (click)=\"changePassword()\">\n *     <eui-icon-svg icon=\"eui-lock\" size=\"s\" />\n *     Change Password\n *   </eui-user-profile-menu-item>\n *   \n *   <eui-user-profile-menu-item (click)=\"logout()\">\n *     <eui-icon-svg icon=\"eui-logout\" size=\"s\" />\n *     Logout\n *   </eui-user-profile-menu-item>\n * </eui-user-profile-menu>\n * ```\n *\n * ### Accessibility\n * - Implements ARIA menuitem role\n * - Keyboard focusable with proper tabindex management\n * - Supports focus() method for programmatic focus\n * - Works with parent menu's keyboard navigation\n *\n * ### Notes\n * - Must be used within eui-user-profile-menu\n * - Supports any content (text, icons, badges)\n * - Click events handled through standard Angular event binding\n * - Focus managed by parent menu's FocusKeyManager\n */\n@Component({\n    selector: 'eui-user-profile-menu-item',\n    template: '<ng-content/>',\n    encapsulation: ViewEncapsulation.None,\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    private element = inject(ElementRef);\n\n    focus(): void {\n        this.element.nativeElement.focus();\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    inject,\n} from '@angular/core';\nimport { UserState } from '@eui/core';\nimport { UserService } from '@eui/core';\nimport { EUI_DROPDOWN, EuiDropdownComponent, EuiDropdownService } from '@eui/components/eui-dropdown';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiUserProfileMenuComponent } from './user-profile-menu/user-profile-menu.component';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EUI_AVATAR } from '@eui/components/eui-avatar';\nimport { EUI_BADGE } from '@eui/components/eui-badge';\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/**\n * @description\n * User profile component that displays user information with avatar, name, and optional dropdown menu.\n * Integrates with UserService to display current user state and supports impersonation indicators.\n * Provides customizable layouts for header, toolbar, or standalone usage.\n * Supports avatar display with initials, status indicators, and optional menu with navigation items.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Simple user profile -->\n * <eui-user-profile\n *   [hasMenu]=\"true\"\n *   [isShowAvatarInitials]=\"true\">\n *   <eui-user-profile-menu>\n *     <eui-user-profile-menu-item (click)=\"viewProfile()\">\n *       Profile\n *     </eui-user-profile-menu-item>\n *     <eui-user-profile-menu-item (click)=\"logout()\">\n *       Logout\n *     </eui-user-profile-menu-item>\n *   </eui-user-profile-menu>\n * </eui-user-profile>\n *\n * <!-- Header user profile -->\n * <eui-user-profile\n *   [isHeaderUserProfile]=\"true\"\n *   [avatarUrl]=\"user.avatarUrl\"\n *   [subInfos]=\"user.email\" />\n * ```\n *\n * ### Accessibility\n * - Avatar has appropriate alt text with user name\n * - Dropdown menu is keyboard accessible\n * - Status indicators have aria-label describing state\n * - Focus management for menu navigation\n *\n * ### Notes\n * - Automatically fetches user data from UserService\n * - Supports impersonation mode with visual indicator\n * - Avatar initials generated from user name when no image provided\n * - Status variants: success, secondary, danger\n * - Reverse layout option for right-to-left designs\n */@Component({\n    selector: 'eui-user-profile',\n    templateUrl: './user-profile.component.html',\n    styleUrls: ['./_styles/_index.scss'],\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        NgTemplateOutlet,\n        ...EUI_DROPDOWN,\n        ...EUI_ICON,\n        ...EUI_AVATAR,\n        ...EUI_BADGE,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSizeS',\n                'euiSecondary',\n                'euiPrimary',\n            ],\n        },\n    ],\n    providers: [EuiDropdownService],\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            this.subInfos ? 'eui-user-profile--has-subinfos': '',\n        ].join(' ').trim();\n    }\n\n    userState: Signal<UserProfile>;\n    avatarInitials: Signal<string>;\n\n    @Input() welcomeLabel = 'Welcome';\n    @Input() impersonateLabel = 'acting as';\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    @Input({ transform: booleanAttribute }) isMobileOnly = true;\n\n    @Input({ transform: booleanAttribute }) euiStatusSecondary = false;\n    @Input({ transform: booleanAttribute }) euiStatusSuccess = false;\n    @Input({ transform: booleanAttribute }) euiStatusDanger = false;\n    @Input() dropContentWidth = '300px';\n\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    baseStatesDirective = inject(BaseStatesDirective);\n    $isDropdownOpen = new BehaviorSubject<boolean>(false);\n    private unsubscribeSubject$: Subject<void> = new Subject();\n    private elRef = inject(ElementRef);\n    private cd = inject(ChangeDetectorRef);\n    private userService = inject<UserService<UserProfile>>(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    }\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                if (this.isMobileOnly) {\n                    this.baseStatesDirective.euiSizeS = true;\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    onOpenChange(open: boolean): void {\n        this.isDropdownOpen = open;\n        this.$isDropdownOpen.next(open);\n    }\n}\n","@if (hasMenu) {\n    <eui-dropdown [hasTabNavigation]=\"hasTabNavigation\"\n                  width=\"{{dropContentWidth}}\"\n                  #dropdown\n                  (isDropdownOpen)=\"onOpenChange($event)\"\n                  (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}}</strong>\n                        } @else {\n                            <strong>{{ userState()?.impersonatingUser?.lastName }}</strong> {{ userState()?.impersonatingUser?.firstName }}\n                        }\n                        <span>,&nbsp;{{ 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=\"eui-checkmark\" size=\"xs\"/>\n                        </eui-badge>\n                    } @else if (euiStatusDanger) {\n                        <eui-badge euiDanger euiSizeS euiIconBadge>\n                            <eui-icon-svg icon=\"eui-remove\" size=\"xs\"/>\n                        </eui-badge>\n                    } @else if (euiStatusSecondary) {\n                        <eui-badge euiSecondary euiSizeS euiIconBadge>\n                            <eui-icon-svg icon=\"eui-close\" 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=\"eui-chevron-up\" size=\"xs\" class=\"eui-user-profile__drop-indicator\"/>\n            } @else {\n                <eui-icon-svg icon=\"eui-chevron-down\" size=\"xs\" class=\"eui-user-profile__drop-indicator\"/>\n            }\n        }\n    </button>\n</ng-template>\n","import {\n    Component,\n    HostBinding,\n    ViewEncapsulation,\n    AfterViewInit,\n    QueryList,\n    ContentChildren,\n    OnDestroy,\n    HostListener,\n    forwardRef,\n    inject,\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 { EuiUserProfileComponent } from '../user-profile.component';\n\n/**\n * @description\n * Container component for user profile menu items. Provides keyboard navigation\n * and focus management for menu items within a user profile dropdown.\n * Uses CDK FocusKeyManager for accessible keyboard interaction.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-user-profile [hasMenu]=\"true\">\n *   <eui-user-profile-menu>\n *     <eui-user-profile-menu-item (click)=\"viewProfile()\">\n *       My Profile\n *     </eui-user-profile-menu-item>\n *     <eui-user-profile-menu-item (click)=\"settings()\">\n *       Settings\n *     </eui-user-profile-menu-item>\n *     <eui-user-profile-menu-item (click)=\"logout()\">\n *       Logout\n *     </eui-user-profile-menu-item>\n *   </eui-user-profile-menu>\n * </eui-user-profile>\n * ```\n *\n * ### Accessibility\n * - Implements ARIA menu role for proper semantics\n * - Keyboard navigation with arrow keys (up/down)\n * - Focus wraps from last to first item\n * - Automatically focuses first item when menu opens\n * - Integrates with CDK FocusKeyManager for standard behavior\n *\n * ### Notes\n * - Must be used within eui-user-profile component\n * - Automatically manages focus state of child menu items\n * - Keyboard navigation activates on dropdown open\n * - Use eui-user-profile-menu-item for menu entries\n */\n@Component({\n    selector: 'eui-user-profile-menu',\n    template: '<ng-content/>',\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiUserProfileMenuComponent implements OnDestroy, AfterViewInit {\n    @HostBinding() class = 'eui-user-profile-menu';\n    @HostBinding('attr.role') role = 'menu';\n\n    @ContentChildren(forwardRef(() => EuiUserProfileMenuItemComponent)) items: QueryList<EuiUserProfileMenuItemComponent>;\n\n    public parent: EuiUserProfileComponent = inject(forwardRef(() => EuiUserProfileComponent), { optional: true });\n    private focusKeyManager: FocusKeyManager<EuiUserProfileMenuItemComponent>;\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n\n    @HostListener('keydown', ['$event'])\n    onKeydown(event): void {\n        if (this.focusKeyManager) {\n            this.focusKeyManager.onKeydown(event);\n        }\n    }\n\n    ngAfterViewInit(): void {\n        this.subscribeToParent();\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n\n    subscribeToParent(): void {\n        this.parent?.$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","import { EuiUserProfileCardComponent } from './user-profile-card/user-profile-card.component';\nimport { EuiUserProfileMenuItemComponent } from './user-profile-menu-item/user-profile-menu-item.component';\nimport { EuiUserProfileMenuComponent } from './user-profile-menu/user-profile-menu.component';\nimport { EuiUserProfileComponent } from './user-profile.component';\n\nexport * from './user-profile.component';\nexport * from './user-profile-menu/user-profile-menu.component';\nexport * from './user-profile-menu-item/user-profile-menu-item.component';\nexport * from './user-profile-card/user-profile-card.component';\n\nexport const EUI_USER_PROFILE = [\n        EuiUserProfileComponent,\n        EuiUserProfileMenuComponent,\n        EuiUserProfileMenuItemComponent,\n        EuiUserProfileCardComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}