@eui/components 19.0.0-next.13 → 19.0.0-next.15
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.
- package/docs/components/EuiAppSidebarMenuComponent.html +1 -1
- package/docs/components/EuiEditorComponent.html +1 -1
- package/docs/components/EuiToolbarMenuComponent.html +5 -5
- package/docs/components/EuiUserProfileCardComponent.html +3 -3
- package/docs/components/EuiUserProfileComponent.html +5 -28
- package/docs/dependencies.html +2 -2
- package/docs/index.html +1 -1
- package/docs/interfaces/ToolbarItem.html +372 -0
- package/docs/js/menu-wc.js +6 -3
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/eui-user-profile/user-profile-card/user-profile-card.component.d.ts +3 -3
- package/eui-user-profile/user-profile-card/user-profile-card.component.d.ts.map +1 -1
- package/eui-user-profile/user-profile.component.d.ts +4 -5
- package/eui-user-profile/user-profile.component.d.ts.map +1 -1
- package/eui-user-profile/user-profile.module.d.ts.map +1 -1
- package/fesm2022/eui-components-eui-user-profile.mjs +25 -30
- package/fesm2022/eui-components-eui-user-profile.mjs.map +1 -1
- package/fesm2022/eui-components-layout.mjs +1 -0
- package/fesm2022/eui-components-layout.mjs.map +1 -1
- package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts +4 -4
- package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts.map +1 -1
- package/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.d.ts +12 -7
- package/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.d.ts.map +1 -1
- package/package.json +3 -3
@@ -1,12 +1,12 @@
|
|
1
|
-
import { OnInit, EventEmitter, OnDestroy } from '@angular/core';
|
1
|
+
import { OnInit, EventEmitter, OnDestroy, Signal } from '@angular/core';
|
2
2
|
import { UserProfile } from '../user-profile.component';
|
3
3
|
import { UserService } from '@eui/core';
|
4
4
|
import * as i0 from "@angular/core";
|
5
5
|
export declare class EuiUserProfileCardComponent implements OnInit, OnDestroy {
|
6
6
|
private userService;
|
7
7
|
get cssClasses(): string;
|
8
|
-
avatarInitials: string
|
9
|
-
userState: UserProfile
|
8
|
+
avatarInitials: Signal<string>;
|
9
|
+
userState: Signal<UserProfile>;
|
10
10
|
isOnline: boolean;
|
11
11
|
impersonateLabel: string;
|
12
12
|
showDetailsLabel: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"user-profile-card.component.d.ts","sourceRoot":"","sources":["../../../eui-user-profile/user-profile-card/user-profile-card.component.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"user-profile-card.component.d.ts","sourceRoot":"","sources":["../../../eui-user-profile/user-profile-card/user-profile-card.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,MAAM,EACN,YAAY,EAEZ,SAAS,EAGT,MAAM,EACT,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;;AAGxC,qBAOa,2BAA4B,YAAW,MAAM,EAAE,SAAS;IAqB7D,OAAO,CAAC,WAAW;IApBvB,IACW,UAAU,IAAI,MAAM,CAE9B;IAED,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/B,QAAQ,UAAQ;IAEP,gBAAgB,SAAmB;IACnC,gBAAgB,SAA0B;IAC1C,SAAS,EAAE,MAAM,CAAC;IACa,oBAAoB,UAAS;IAE3D,eAAe,EAAE,YAAY,CAAC,IAAI,CAAC,CAAsB;IACzD,gBAAgB,EAAE,YAAY,CAAC,IAAI,CAAC,CAAsB;IAEpE,OAAO,CAAC,mBAAmB,CAAgC;gBAG/C,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC;IAIjD,QAAQ,IAAI,IAAI;IAShB,WAAW,IAAI,IAAI;IAKnB,eAAe,IAAI,IAAI;IAIvB,OAAO,IAAI,IAAI;yCA3CN,2BAA2B;2CAA3B,2BAA2B;mDA+CygxC,OAAQ;CADxjxC"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { OnInit, OnDestroy, QueryList, AfterViewInit, ElementRef } from '@angular/core';
|
1
|
+
import { OnInit, OnDestroy, QueryList, AfterViewInit, ElementRef, Signal } from '@angular/core';
|
2
2
|
import { UserState } from '@eui/core';
|
3
3
|
import { UserService } from '@eui/core';
|
4
4
|
import { EuiDropdownComponent } from '@eui/components/eui-dropdown';
|
@@ -18,9 +18,8 @@ export declare class EuiUserProfileComponent implements OnInit, OnDestroy, After
|
|
18
18
|
private userService;
|
19
19
|
baseStatesDirective: BaseStatesDirective;
|
20
20
|
get cssClasses(): string;
|
21
|
-
userState: UserProfile
|
22
|
-
|
23
|
-
avatarInitials: string;
|
21
|
+
userState: Signal<UserProfile>;
|
22
|
+
avatarInitials: Signal<string>;
|
24
23
|
welcomeLabel: string;
|
25
24
|
impersonateLabel: string;
|
26
25
|
avatarUrl: string;
|
@@ -41,7 +40,7 @@ export declare class EuiUserProfileComponent implements OnInit, OnDestroy, After
|
|
41
40
|
hasMenuContent: QueryList<EuiUserProfileMenuComponent>;
|
42
41
|
isDropdownOpen: boolean;
|
43
42
|
private unsubscribeSubject$;
|
44
|
-
constructor(elRef: ElementRef, userService: UserService
|
43
|
+
constructor(elRef: ElementRef, userService: UserService<UserProfile>, baseStatesDirective: BaseStatesDirective);
|
45
44
|
ngOnInit(): void;
|
46
45
|
ngAfterViewInit(): void;
|
47
46
|
ngOnDestroy(): void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"user-profile.component.d.ts","sourceRoot":"","sources":["../../eui-user-profile/user-profile.component.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"user-profile.component.d.ts","sourceRoot":"","sources":["../../eui-user-profile/user-profile.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,MAAM,EAEN,SAAS,EAET,SAAS,EACT,aAAa,EAEb,UAAU,EAEV,MAAM,EAET,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,iDAAiD,CAAC;;;AAE9F,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC1C,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAA;KACf,CAAA;CACJ;AAED,qBAkBa,uBAAwB,YAAW,MAAM,EAAE,SAAS,EAAE,aAAa;IAyCxE,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,WAAW;IACZ,mBAAmB,EAAE,mBAAmB;IA1CnD,IACW,UAAU,IAAI,MAAM,CAM9B;IAED,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEtB,YAAY,SAAa;IACzB,gBAAgB,SAAmB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,SAAa;IAEK,OAAO,UAAS;IAChB,eAAe,UAAQ;IACvB,oBAAoB,UAAS;IAC7B,gBAAgB,UAAS;IACzB,SAAS,UAAS;IAClB,SAAS,UAAS;IAClB,mBAAmB,UAAS;IAC5B,eAAe,UAAQ;IAEvB,kBAAkB,UAAS;IAC3B,gBAAgB,UAAS;IACzB,eAAe,UAAS;IAEzC,QAAQ,EAAE,oBAAoB,CAAC;IAEtD,cAAc,EAAE,SAAS,CAAC,2BAA2B,CAAC,CAAC;IAEvD,cAAc,UAAS;IAEvB,OAAO,CAAC,mBAAmB,CAAgC;gBAG/C,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,EACtC,mBAAmB,EAAE,mBAAmB;IAInD,QAAQ,IAAI,IAAI;IAShB,eAAe,IAAI,IAAI;IAyBvB,WAAW,IAAI,IAAI;IAKnB,aAAa,IAAI,IAAI;IAKrB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;yCA3F9B,uBAAuB;2CAAvB,uBAAuB;sCA+FyyrC,OAAQ;8CAAR,OAAQ;mDAAR,OAAQ;+CAAR,OAAQ;wCAAR,OAAQ;wCAAR,OAAQ;kDAAR,OAAQ;8CAAR,OAAQ;iDAAR,OAAQ;+CAAR,OAAQ;8CAAR,OAAQ;CADp1rC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"user-profile.module.d.ts","sourceRoot":"","sources":["../../eui-user-profile/user-profile.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAkBA,
|
1
|
+
{"version":3,"file":"user-profile.module.d.ts","sourceRoot":"","sources":["../../eui-user-profile/user-profile.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAkBA,qBAaa,oBAAoB;yCAApB,oBAAoB;0CAApB,oBAAoB;0CAApB,oBAAoB;CAAG"}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { Component, ViewEncapsulation, HostBinding, ContentChildren, forwardRef, HostListener, booleanAttribute, ChangeDetectionStrategy, Input, ViewChild, EventEmitter, Output, NgModule } from '@angular/core';
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
2
|
+
import { Component, ViewEncapsulation, HostBinding, ContentChildren, forwardRef, HostListener, computed, booleanAttribute, ChangeDetectionStrategy, Input, ViewChild, EventEmitter, Output, NgModule } from '@angular/core';
|
4
3
|
import { Subject } from 'rxjs';
|
5
4
|
import * as i2 from '@eui/components/shared';
|
6
5
|
import { BaseStatesDirective } from '@eui/components/shared';
|
7
6
|
import { FocusKeyManager } from '@angular/cdk/a11y';
|
7
|
+
import { takeUntil } from 'rxjs/operators';
|
8
8
|
import * as i1 from '@eui/components/eui-dropdown';
|
9
9
|
import { EuiDropdownModule } from '@eui/components/eui-dropdown';
|
10
10
|
import * as i1$1 from '@eui/core';
|
@@ -111,7 +111,6 @@ class EuiUserProfileComponent {
|
|
111
111
|
this.elRef = elRef;
|
112
112
|
this.userService = userService;
|
113
113
|
this.baseStatesDirective = baseStatesDirective;
|
114
|
-
this.isOnline = true;
|
115
114
|
this.welcomeLabel = 'Welcome';
|
116
115
|
this.impersonateLabel = 'impersonating';
|
117
116
|
this.statusVariant = 'success';
|
@@ -130,16 +129,11 @@ class EuiUserProfileComponent {
|
|
130
129
|
this.unsubscribeSubject$ = new Subject();
|
131
130
|
}
|
132
131
|
ngOnInit() {
|
133
|
-
this.userService
|
134
|
-
|
135
|
-
.
|
136
|
-
.
|
137
|
-
|
138
|
-
this.userState = state;
|
139
|
-
const firstNameInitial = state.firstName?.substring(0, 1).toUpperCase();
|
140
|
-
const lastNameInitial = state.lastName?.substring(0, 1).toUpperCase();
|
141
|
-
this.avatarInitials = `${firstNameInitial}${lastNameInitial}`;
|
142
|
-
}
|
132
|
+
this.userState = this.userService.getSignal();
|
133
|
+
this.avatarInitials = computed(() => {
|
134
|
+
const firstNameInitial = this.userState().firstName?.substring(0, 1).toUpperCase();
|
135
|
+
const lastNameInitial = this.userState().lastName?.substring(0, 1).toUpperCase();
|
136
|
+
return `${firstNameInitial}${lastNameInitial}`;
|
143
137
|
});
|
144
138
|
}
|
145
139
|
ngAfterViewInit() {
|
@@ -178,7 +172,7 @@ class EuiUserProfileComponent {
|
|
178
172
|
this.isDropdownOpen = isOpen;
|
179
173
|
}
|
180
174
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: EuiUserProfileComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.UserService }, { token: i2.BaseStatesDirective }], target: i0.ɵɵFactoryTarget.Component }); }
|
181
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.0", type: EuiUserProfileComponent, isStandalone: false, selector: "eui-user-profile", inputs: { welcomeLabel: "welcomeLabel", impersonateLabel: "impersonateLabel", avatarUrl: "avatarUrl", subInfos: "subInfos", statusVariant: "statusVariant", hasMenu: ["hasMenu", "hasMenu", booleanAttribute], hasWelcomeLabel: ["hasWelcomeLabel", "hasWelcomeLabel", booleanAttribute], isShowAvatarInitials: ["isShowAvatarInitials", "isShowAvatarInitials", booleanAttribute], hasTabNavigation: ["hasTabNavigation", "hasTabNavigation", booleanAttribute], isReverse: ["isReverse", "isReverse", booleanAttribute], hasToggle: ["hasToggle", "hasToggle", booleanAttribute], isHeaderUserProfile: ["isHeaderUserProfile", "isHeaderUserProfile", booleanAttribute], isShowUserInfos: ["isShowUserInfos", "isShowUserInfos", booleanAttribute], euiStatusSecondary: ["euiStatusSecondary", "euiStatusSecondary", booleanAttribute], euiStatusSuccess: ["euiStatusSuccess", "euiStatusSuccess", booleanAttribute], euiStatusDanger: ["euiStatusDanger", "euiStatusDanger", booleanAttribute] }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "hasMenuContent", predicate: i0.forwardRef(() => EuiUserProfileMenuComponent), descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], hostDirectives: [{ directive: i2.BaseStatesDirective, inputs: ["euiSizeS", "euiSizeS", "euiSecondary", "euiSecondary", "euiPrimary", "euiPrimary"] }], ngImport: i0, template: "@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 }}</span>\n }\n {{ userState?.impersonatingUser?.firstName }} <strong>{{ userState?.impersonatingUser?.lastName}}</strong>\n <span> {{ impersonateLabel }}</span>\n </div>\n <div class=\"eui-user-profile__infos-name\">\n {{ userState?.firstName }} <strong>{{ userState?.lastName }}</strong>\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 {{ userState?.firstName }} <strong>{{ userState?.lastName }}</strong>\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", styles: [".eui-19 .eui-user-profile{display:flex;position:relative}.eui-19 .eui-user-profile-content{align-items:center;background:none;border:var(--eui-bw-none);cursor:pointer;display:flex;padding:var(--eui-s-2xs) 0;gap:var(--eui-s-xs)}.eui-19 .eui-user-profile-content:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-user-profile-content--no-menu{cursor:default}.eui-19 .eui-user-profile__infos{align-items:flex-end;display:flex;flex-direction:column}.eui-19 .eui-user-profile__infos-container{justify-content:flex-end;align-items:center;display:flex;width:100%}.eui-19 .eui-user-profile__infos-welcome{text-align:right;font:var(--eui-f-xs-compact)}.eui-19 .eui-user-profile__infos-name{color:var(--eui-c-branding);text-align:right;font:var(--eui-f-m-compact)}.eui-19 .eui-user-profile__infos-subinfos{color:var(--eui-c-neutral);text-align:right;font:var(--eui-f-xs-compact)}.eui-19 .eui-user-profile__drop-indicator{margin-left:calc(-1 * var(--eui-s-xs))}.eui-19 .eui--secondary .eui-user-profile__infos-name,.eui-19 .eui--secondary .eui-user-profile__infos-welcome{color:var(--eui-c-neutral)!important}@media screen and (max-width: 767px){.eui-19 .eui-app-shell-header-toolbar-items .eui-user-profile{display:flex}.eui-19 .eui-app .eui-app-toolbar .eui-user-profile__infos{display:none}}@media screen and (min-width: 768px){.eui-19 .eui-app-shell-header-toolbar-items .eui-user-profile{display:none}.eui-19 .is-header-shrink .eui-user-profile{display:flex}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-19 .eui-app .eui-app-toolbar .eui-user-profile__infos{display:none}}.eui-19 .eui-user-profile--primary .eui-user-profile__infos-name{color:var(--eui-c-white)}.eui-19 .eui-user-profile--primary .eui-user-profile__infos-welcome,.eui-19 .eui-user-profile--primary .eui-user-profile__infos-subinfos{color:var(--eui-c-neutral-lightest)}.eui-19 .eui-user-profile--primary .eui-user-profile__drop-indicator svg{fill:var(--eui-c-white);color:var(--eui-c-white)}.eui-19 .eui-user-profile--reverse .eui-user-profile-content{flex-direction:row-reverse}.eui-19 .eui-user-profile--reverse .eui-user-profile__infos{margin-left:var(--eui-s-m)}.eui-19 .eui-user-profile--initials .eui-avatar-content{background-color:var(--eui-c-branding-light)}.eui-19 .eui-user-profile--initials .eui-avatar-text{color:var(--eui-c-branding-light-contrast)}.eui-19 .eui-user-profile-menu{height:auto;min-width:340px;position:relative}.eui-19 .eui-user-profile-menu-item{align-items:center;border-bottom:1px solid var(--eui-c-neutral-lightest);cursor:pointer;display:flex;padding:var(--eui-s-xs) var(--eui-s-s);gap:var(--eui-s-xs)}.eui-19 .eui-user-profile-menu-item:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-user-profile-menu-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-user-profile-menu-item [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-user-profile-menu-item:hover{background-color:var(--eui-c-hover);cursor:pointer}.eui-19 .eui-user-profile-menu-item:last-child{border-bottom:0}.eui-19 .eui-user-profile-menu-item a{color:var(--eui-c-text);text-decoration:none}.eui-19 .eui-user-profile-menu-item.link{cursor:pointer}.eui-19 .eui-user-profile-menu-item-right-content{margin-left:auto}.eui-19 .eui-user-profile-card{width:100%}.eui-19 .eui-user-profile-card__main-wrapper{display:flex;flex-direction:row;padding:var(--eui-s-m) var(--eui-s-m) var(--eui-s-m) 0}.eui-19 .eui-user-profile-card__main-wrapper-right-content{display:flex;flex-direction:column;margin-left:auto}.eui-19 .eui-user-profile-card__avatar-wrapper{display:flex}.eui-19 .eui-user-profile-card__userInfos{display:flex;flex-direction:column;padding-left:var(--eui-s-s)}.eui-19 .eui-user-profile-card__userInfos-item{padding-bottom:var(--eui-s-xs)}.eui-19 .eui-user-profile-card__impersonateInfos{background-color:var(--eui-c-neutral-bg-light);padding:var(--eui-s-s)}\n"], dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.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: i1.EuiDropdownComponent, selector: "eui-dropdown", inputs: ["e2eAttr", "tabIndex", "width", "position", "subDropdownPosition", "isBlock", "isDropDownRightAligned", "hasClosedOnClickInside", "isLabelUpdatedFromSelectedItem", "isExpandOnHover", "hasTabNavigation", "isRightClickEnabled", "euiDisabled"], outputs: ["expand"] }, { kind: "directive", type: i1.EuiDropdownContentDirective, selector: "eui-dropdown-content" }, { kind: "component", type: i6.EuiAvatarComponent, selector: "div[euiAvatar], span[euiAvatar], eui-avatar", inputs: ["e2eAttr", "aria-label", "hasShadow", "isShapeSquare", "isFlat", "hasNoBackground"] }, { kind: "component", type: i6.EuiAvatarTextComponent, selector: "eui-avatar-text" }, { kind: "component", type: i6.EuiAvatarImageComponent, selector: "eui-avatar-image", inputs: ["imageUrl"] }, { kind: "component", type: i6.EuiAvatarBadgeComponent, selector: "eui-avatar-badge", inputs: ["position"] }, { kind: "component", type: i7.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["e2eAttr", "aria-label", "maxCharCount", "charReplacement", "euiIconBadge", "euiDottedBadge"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
175
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.0", type: EuiUserProfileComponent, isStandalone: false, selector: "eui-user-profile", inputs: { welcomeLabel: "welcomeLabel", impersonateLabel: "impersonateLabel", avatarUrl: "avatarUrl", subInfos: "subInfos", statusVariant: "statusVariant", hasMenu: ["hasMenu", "hasMenu", booleanAttribute], hasWelcomeLabel: ["hasWelcomeLabel", "hasWelcomeLabel", booleanAttribute], isShowAvatarInitials: ["isShowAvatarInitials", "isShowAvatarInitials", booleanAttribute], hasTabNavigation: ["hasTabNavigation", "hasTabNavigation", booleanAttribute], isReverse: ["isReverse", "isReverse", booleanAttribute], hasToggle: ["hasToggle", "hasToggle", booleanAttribute], isHeaderUserProfile: ["isHeaderUserProfile", "isHeaderUserProfile", booleanAttribute], isShowUserInfos: ["isShowUserInfos", "isShowUserInfos", booleanAttribute], euiStatusSecondary: ["euiStatusSecondary", "euiStatusSecondary", booleanAttribute], euiStatusSuccess: ["euiStatusSuccess", "euiStatusSuccess", booleanAttribute], euiStatusDanger: ["euiStatusDanger", "euiStatusDanger", booleanAttribute] }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "hasMenuContent", predicate: i0.forwardRef(() => EuiUserProfileMenuComponent), descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], hostDirectives: [{ directive: i2.BaseStatesDirective, inputs: ["euiSizeS", "euiSizeS", "euiSecondary", "euiSecondary", "euiPrimary", "euiPrimary"] }], ngImport: i0, template: "@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 }}</span>\n }\n {{ userState()?.impersonatingUser?.firstName }} <strong>{{ userState()?.impersonatingUser?.lastName}}</strong>\n <span> {{ impersonateLabel }}</span>\n </div>\n <div class=\"eui-user-profile__infos-name\">\n {{ userState()?.firstName }} <strong>{{ userState()?.lastName }}</strong>\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 {{ userState()?.firstName }} <strong>{{ userState()?.lastName }}</strong>\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", styles: [".eui-19 .eui-user-profile{display:flex;position:relative}.eui-19 .eui-user-profile-content{align-items:center;background:none;border:var(--eui-bw-none);cursor:pointer;display:flex;padding:var(--eui-s-2xs) 0;gap:var(--eui-s-xs)}.eui-19 .eui-user-profile-content:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-user-profile-content--no-menu{cursor:default}.eui-19 .eui-user-profile__infos{align-items:flex-end;display:flex;flex-direction:column}.eui-19 .eui-user-profile__infos-container{justify-content:flex-end;align-items:center;display:flex;width:100%}.eui-19 .eui-user-profile__infos-welcome{text-align:right;font:var(--eui-f-xs-compact)}.eui-19 .eui-user-profile__infos-name{color:var(--eui-c-branding);text-align:right;font:var(--eui-f-m-compact)}.eui-19 .eui-user-profile__infos-subinfos{color:var(--eui-c-neutral);text-align:right;font:var(--eui-f-xs-compact)}.eui-19 .eui-user-profile__drop-indicator{margin-left:calc(-1 * var(--eui-s-xs))}.eui-19 .eui--secondary .eui-user-profile__infos-name,.eui-19 .eui--secondary .eui-user-profile__infos-welcome{color:var(--eui-c-neutral)!important}@media screen and (max-width: 767px){.eui-19 .eui-app-shell-header-toolbar-items .eui-user-profile{display:flex}.eui-19 .eui-app .eui-app-toolbar .eui-user-profile__infos{display:none}}@media screen and (min-width: 768px){.eui-19 .eui-app-shell-header-toolbar-items .eui-user-profile{display:none}.eui-19 .is-header-shrink .eui-user-profile{display:flex}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-19 .eui-app .eui-app-toolbar .eui-user-profile__infos{display:none}}.eui-19 .eui-user-profile--primary .eui-user-profile__infos-name{color:var(--eui-c-white)}.eui-19 .eui-user-profile--primary .eui-user-profile__infos-welcome,.eui-19 .eui-user-profile--primary .eui-user-profile__infos-subinfos{color:var(--eui-c-neutral-lightest)}.eui-19 .eui-user-profile--primary .eui-user-profile__drop-indicator svg{fill:var(--eui-c-white);color:var(--eui-c-white)}.eui-19 .eui-user-profile--reverse .eui-user-profile-content{flex-direction:row-reverse}.eui-19 .eui-user-profile--reverse .eui-user-profile__infos{margin-left:var(--eui-s-m)}.eui-19 .eui-user-profile--initials .eui-avatar-content{background-color:var(--eui-c-branding-light)}.eui-19 .eui-user-profile--initials .eui-avatar-text{color:var(--eui-c-branding-light-contrast)}.eui-19 .eui-user-profile-menu{height:auto;min-width:340px;position:relative}.eui-19 .eui-user-profile-menu-item{align-items:center;border-bottom:1px solid var(--eui-c-neutral-lightest);cursor:pointer;display:flex;padding:var(--eui-s-xs) var(--eui-s-s);gap:var(--eui-s-xs)}.eui-19 .eui-user-profile-menu-item:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-user-profile-menu-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-user-profile-menu-item [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-user-profile-menu-item:hover{background-color:var(--eui-c-hover);cursor:pointer}.eui-19 .eui-user-profile-menu-item:last-child{border-bottom:0}.eui-19 .eui-user-profile-menu-item a{color:var(--eui-c-text);text-decoration:none}.eui-19 .eui-user-profile-menu-item.link{cursor:pointer}.eui-19 .eui-user-profile-menu-item-right-content{margin-left:auto}.eui-19 .eui-user-profile-card{width:100%}.eui-19 .eui-user-profile-card__main-wrapper{display:flex;flex-direction:row;padding:var(--eui-s-m) var(--eui-s-m) var(--eui-s-m) 0}.eui-19 .eui-user-profile-card__main-wrapper-right-content{display:flex;flex-direction:column;margin-left:auto}.eui-19 .eui-user-profile-card__avatar-wrapper{display:flex}.eui-19 .eui-user-profile-card__userInfos{display:flex;flex-direction:column;padding-left:var(--eui-s-s)}.eui-19 .eui-user-profile-card__userInfos-item{padding-bottom:var(--eui-s-xs)}.eui-19 .eui-user-profile-card__impersonateInfos{background-color:var(--eui-c-neutral-bg-light);padding:var(--eui-s-s)}\n"], dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.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: i1.EuiDropdownComponent, selector: "eui-dropdown", inputs: ["e2eAttr", "tabIndex", "width", "position", "subDropdownPosition", "isBlock", "isDropDownRightAligned", "hasClosedOnClickInside", "isLabelUpdatedFromSelectedItem", "isExpandOnHover", "hasTabNavigation", "isRightClickEnabled", "euiDisabled"], outputs: ["expand"] }, { kind: "directive", type: i1.EuiDropdownContentDirective, selector: "eui-dropdown-content" }, { kind: "component", type: i6.EuiAvatarComponent, selector: "div[euiAvatar], span[euiAvatar], eui-avatar", inputs: ["e2eAttr", "aria-label", "hasShadow", "isShapeSquare", "isFlat", "hasNoBackground"] }, { kind: "component", type: i6.EuiAvatarTextComponent, selector: "eui-avatar-text" }, { kind: "component", type: i6.EuiAvatarImageComponent, selector: "eui-avatar-image", inputs: ["imageUrl"] }, { kind: "component", type: i6.EuiAvatarBadgeComponent, selector: "eui-avatar-badge", inputs: ["position"] }, { kind: "component", type: i7.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["e2eAttr", "aria-label", "maxCharCount", "charReplacement", "euiIconBadge", "euiDottedBadge"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
182
176
|
}
|
183
177
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: EuiUserProfileComponent, decorators: [{
|
184
178
|
type: Component,
|
@@ -191,7 +185,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
|
|
191
185
|
'euiPrimary',
|
192
186
|
],
|
193
187
|
},
|
194
|
-
], template: "@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 }}</span>\n }\n {{ userState?.impersonatingUser?.firstName }} <strong>{{ userState?.impersonatingUser?.lastName}}</strong>\n <span> {{ impersonateLabel }}</span>\n </div>\n <div class=\"eui-user-profile__infos-name\">\n {{ userState?.firstName }} <strong>{{ userState?.lastName }}</strong>\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 {{ userState?.firstName }} <strong>{{ userState?.lastName }}</strong>\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", styles: [".eui-19 .eui-user-profile{display:flex;position:relative}.eui-19 .eui-user-profile-content{align-items:center;background:none;border:var(--eui-bw-none);cursor:pointer;display:flex;padding:var(--eui-s-2xs) 0;gap:var(--eui-s-xs)}.eui-19 .eui-user-profile-content:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-user-profile-content--no-menu{cursor:default}.eui-19 .eui-user-profile__infos{align-items:flex-end;display:flex;flex-direction:column}.eui-19 .eui-user-profile__infos-container{justify-content:flex-end;align-items:center;display:flex;width:100%}.eui-19 .eui-user-profile__infos-welcome{text-align:right;font:var(--eui-f-xs-compact)}.eui-19 .eui-user-profile__infos-name{color:var(--eui-c-branding);text-align:right;font:var(--eui-f-m-compact)}.eui-19 .eui-user-profile__infos-subinfos{color:var(--eui-c-neutral);text-align:right;font:var(--eui-f-xs-compact)}.eui-19 .eui-user-profile__drop-indicator{margin-left:calc(-1 * var(--eui-s-xs))}.eui-19 .eui--secondary .eui-user-profile__infos-name,.eui-19 .eui--secondary .eui-user-profile__infos-welcome{color:var(--eui-c-neutral)!important}@media screen and (max-width: 767px){.eui-19 .eui-app-shell-header-toolbar-items .eui-user-profile{display:flex}.eui-19 .eui-app .eui-app-toolbar .eui-user-profile__infos{display:none}}@media screen and (min-width: 768px){.eui-19 .eui-app-shell-header-toolbar-items .eui-user-profile{display:none}.eui-19 .is-header-shrink .eui-user-profile{display:flex}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-19 .eui-app .eui-app-toolbar .eui-user-profile__infos{display:none}}.eui-19 .eui-user-profile--primary .eui-user-profile__infos-name{color:var(--eui-c-white)}.eui-19 .eui-user-profile--primary .eui-user-profile__infos-welcome,.eui-19 .eui-user-profile--primary .eui-user-profile__infos-subinfos{color:var(--eui-c-neutral-lightest)}.eui-19 .eui-user-profile--primary .eui-user-profile__drop-indicator svg{fill:var(--eui-c-white);color:var(--eui-c-white)}.eui-19 .eui-user-profile--reverse .eui-user-profile-content{flex-direction:row-reverse}.eui-19 .eui-user-profile--reverse .eui-user-profile__infos{margin-left:var(--eui-s-m)}.eui-19 .eui-user-profile--initials .eui-avatar-content{background-color:var(--eui-c-branding-light)}.eui-19 .eui-user-profile--initials .eui-avatar-text{color:var(--eui-c-branding-light-contrast)}.eui-19 .eui-user-profile-menu{height:auto;min-width:340px;position:relative}.eui-19 .eui-user-profile-menu-item{align-items:center;border-bottom:1px solid var(--eui-c-neutral-lightest);cursor:pointer;display:flex;padding:var(--eui-s-xs) var(--eui-s-s);gap:var(--eui-s-xs)}.eui-19 .eui-user-profile-menu-item:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-user-profile-menu-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-user-profile-menu-item [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-user-profile-menu-item:hover{background-color:var(--eui-c-hover);cursor:pointer}.eui-19 .eui-user-profile-menu-item:last-child{border-bottom:0}.eui-19 .eui-user-profile-menu-item a{color:var(--eui-c-text);text-decoration:none}.eui-19 .eui-user-profile-menu-item.link{cursor:pointer}.eui-19 .eui-user-profile-menu-item-right-content{margin-left:auto}.eui-19 .eui-user-profile-card{width:100%}.eui-19 .eui-user-profile-card__main-wrapper{display:flex;flex-direction:row;padding:var(--eui-s-m) var(--eui-s-m) var(--eui-s-m) 0}.eui-19 .eui-user-profile-card__main-wrapper-right-content{display:flex;flex-direction:column;margin-left:auto}.eui-19 .eui-user-profile-card__avatar-wrapper{display:flex}.eui-19 .eui-user-profile-card__userInfos{display:flex;flex-direction:column;padding-left:var(--eui-s-s)}.eui-19 .eui-user-profile-card__userInfos-item{padding-bottom:var(--eui-s-xs)}.eui-19 .eui-user-profile-card__impersonateInfos{background-color:var(--eui-c-neutral-bg-light);padding:var(--eui-s-s)}\n"] }]
|
188
|
+
], template: "@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 }}</span>\n }\n {{ userState()?.impersonatingUser?.firstName }} <strong>{{ userState()?.impersonatingUser?.lastName}}</strong>\n <span> {{ impersonateLabel }}</span>\n </div>\n <div class=\"eui-user-profile__infos-name\">\n {{ userState()?.firstName }} <strong>{{ userState()?.lastName }}</strong>\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 {{ userState()?.firstName }} <strong>{{ userState()?.lastName }}</strong>\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", styles: [".eui-19 .eui-user-profile{display:flex;position:relative}.eui-19 .eui-user-profile-content{align-items:center;background:none;border:var(--eui-bw-none);cursor:pointer;display:flex;padding:var(--eui-s-2xs) 0;gap:var(--eui-s-xs)}.eui-19 .eui-user-profile-content:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-user-profile-content--no-menu{cursor:default}.eui-19 .eui-user-profile__infos{align-items:flex-end;display:flex;flex-direction:column}.eui-19 .eui-user-profile__infos-container{justify-content:flex-end;align-items:center;display:flex;width:100%}.eui-19 .eui-user-profile__infos-welcome{text-align:right;font:var(--eui-f-xs-compact)}.eui-19 .eui-user-profile__infos-name{color:var(--eui-c-branding);text-align:right;font:var(--eui-f-m-compact)}.eui-19 .eui-user-profile__infos-subinfos{color:var(--eui-c-neutral);text-align:right;font:var(--eui-f-xs-compact)}.eui-19 .eui-user-profile__drop-indicator{margin-left:calc(-1 * var(--eui-s-xs))}.eui-19 .eui--secondary .eui-user-profile__infos-name,.eui-19 .eui--secondary .eui-user-profile__infos-welcome{color:var(--eui-c-neutral)!important}@media screen and (max-width: 767px){.eui-19 .eui-app-shell-header-toolbar-items .eui-user-profile{display:flex}.eui-19 .eui-app .eui-app-toolbar .eui-user-profile__infos{display:none}}@media screen and (min-width: 768px){.eui-19 .eui-app-shell-header-toolbar-items .eui-user-profile{display:none}.eui-19 .is-header-shrink .eui-user-profile{display:flex}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-19 .eui-app .eui-app-toolbar .eui-user-profile__infos{display:none}}.eui-19 .eui-user-profile--primary .eui-user-profile__infos-name{color:var(--eui-c-white)}.eui-19 .eui-user-profile--primary .eui-user-profile__infos-welcome,.eui-19 .eui-user-profile--primary .eui-user-profile__infos-subinfos{color:var(--eui-c-neutral-lightest)}.eui-19 .eui-user-profile--primary .eui-user-profile__drop-indicator svg{fill:var(--eui-c-white);color:var(--eui-c-white)}.eui-19 .eui-user-profile--reverse .eui-user-profile-content{flex-direction:row-reverse}.eui-19 .eui-user-profile--reverse .eui-user-profile__infos{margin-left:var(--eui-s-m)}.eui-19 .eui-user-profile--initials .eui-avatar-content{background-color:var(--eui-c-branding-light)}.eui-19 .eui-user-profile--initials .eui-avatar-text{color:var(--eui-c-branding-light-contrast)}.eui-19 .eui-user-profile-menu{height:auto;min-width:340px;position:relative}.eui-19 .eui-user-profile-menu-item{align-items:center;border-bottom:1px solid var(--eui-c-neutral-lightest);cursor:pointer;display:flex;padding:var(--eui-s-xs) var(--eui-s-s);gap:var(--eui-s-xs)}.eui-19 .eui-user-profile-menu-item:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-user-profile-menu-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-user-profile-menu-item [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-19 .eui-user-profile-menu-item:hover{background-color:var(--eui-c-hover);cursor:pointer}.eui-19 .eui-user-profile-menu-item:last-child{border-bottom:0}.eui-19 .eui-user-profile-menu-item a{color:var(--eui-c-text);text-decoration:none}.eui-19 .eui-user-profile-menu-item.link{cursor:pointer}.eui-19 .eui-user-profile-menu-item-right-content{margin-left:auto}.eui-19 .eui-user-profile-card{width:100%}.eui-19 .eui-user-profile-card__main-wrapper{display:flex;flex-direction:row;padding:var(--eui-s-m) var(--eui-s-m) var(--eui-s-m) 0}.eui-19 .eui-user-profile-card__main-wrapper-right-content{display:flex;flex-direction:column;margin-left:auto}.eui-19 .eui-user-profile-card__avatar-wrapper{display:flex}.eui-19 .eui-user-profile-card__userInfos{display:flex;flex-direction:column;padding-left:var(--eui-s-s)}.eui-19 .eui-user-profile-card__userInfos-item{padding-bottom:var(--eui-s-xs)}.eui-19 .eui-user-profile-card__impersonateInfos{background-color:var(--eui-c-neutral-bg-light);padding:var(--eui-s-s)}\n"] }]
|
195
189
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$1.UserService }, { type: i2.BaseStatesDirective }], propDecorators: { cssClasses: [{
|
196
190
|
type: HostBinding,
|
197
191
|
args: ['class']
|
@@ -261,16 +255,11 @@ class EuiUserProfileCardComponent {
|
|
261
255
|
this.unsubscribeSubject$ = new Subject();
|
262
256
|
}
|
263
257
|
ngOnInit() {
|
264
|
-
this.userService
|
265
|
-
|
266
|
-
.
|
267
|
-
.
|
268
|
-
|
269
|
-
const firstNameInitial = state.firstName?.substring(0, 1).toUpperCase();
|
270
|
-
const lastNameInitial = state.lastName?.substring(0, 1).toUpperCase();
|
271
|
-
this.avatarInitials = `${firstNameInitial}${lastNameInitial}`;
|
272
|
-
this.userState = state;
|
273
|
-
}
|
258
|
+
this.userState = this.userService.getSignal();
|
259
|
+
this.avatarInitials = computed(() => {
|
260
|
+
const firstNameInitial = this.userState().firstName?.substring(0, 1).toUpperCase();
|
261
|
+
const lastNameInitial = this.userState().lastName?.substring(0, 1).toUpperCase();
|
262
|
+
return `${firstNameInitial}${lastNameInitial}`;
|
274
263
|
});
|
275
264
|
}
|
276
265
|
ngOnDestroy() {
|
@@ -284,11 +273,11 @@ class EuiUserProfileCardComponent {
|
|
284
273
|
this.closeProfileMenu.emit();
|
285
274
|
}
|
286
275
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: EuiUserProfileCardComponent, deps: [{ token: i1$1.UserService }], target: i0.ɵɵFactoryTarget.Component }); }
|
287
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.0.0", type: EuiUserProfileCardComponent, isStandalone: false, selector: "eui-user-profile-card", inputs: { impersonateLabel: "impersonateLabel", showDetailsLabel: "showDetailsLabel", avatarUrl: "avatarUrl", isShowAvatarInitials: ["isShowAvatarInitials", "isShowAvatarInitials", booleanAttribute] }, outputs: { showProfileInfo: "showProfileInfo", closeProfileMenu: "closeProfileMenu" }, host: { properties: { "class": "this.cssClasses" } }, ngImport: i0, template: "<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\">{{ userState.fullName }}</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>{{ userState?.impersonatingUser?.firstName }} {{ userState?.impersonatingUser?.lastName }}</div>\n <div class=\"eui-u-mt-2xs\">{{ impersonateLabel }}</div>\n <div class=\"eui-u-mt-2xs\">\n <strong>{{ userState?.fullName }}</strong>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.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$1.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i6.EuiAvatarComponent, selector: "div[euiAvatar], span[euiAvatar], eui-avatar", inputs: ["e2eAttr", "aria-label", "hasShadow", "isShapeSquare", "isFlat", "hasNoBackground"] }, { kind: "component", type: i6.EuiAvatarTextComponent, selector: "eui-avatar-text" }, { kind: "component", type: i6.EuiAvatarImageComponent, selector: "eui-avatar-image", inputs: ["imageUrl"] }, { kind: "component", type: i6$1.EuiIconButtonComponent, selector: "eui-icon-button", inputs: ["icon", "fillColor", "size", "ariaLabel", "tabindex", "hasNoPadding", "hasFocusHoverColor", "hasFocusHoverBg", "euiRounded", "euiDisabled"], outputs: ["buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
276
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.0.0", type: EuiUserProfileCardComponent, isStandalone: false, selector: "eui-user-profile-card", inputs: { impersonateLabel: "impersonateLabel", showDetailsLabel: "showDetailsLabel", avatarUrl: "avatarUrl", isShowAvatarInitials: ["isShowAvatarInitials", "isShowAvatarInitials", booleanAttribute] }, outputs: { showProfileInfo: "showProfileInfo", closeProfileMenu: "closeProfileMenu" }, host: { properties: { "class": "this.cssClasses" } }, ngImport: i0, template: "<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\">{{ userState().fullName }}</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>{{ userState()?.impersonatingUser?.firstName }} {{ userState()?.impersonatingUser?.lastName }}</div>\n <div class=\"eui-u-mt-2xs\">{{ impersonateLabel }}</div>\n <div class=\"eui-u-mt-2xs\">\n <strong>{{ userState()?.fullName }}</strong>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.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$1.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i6.EuiAvatarComponent, selector: "div[euiAvatar], span[euiAvatar], eui-avatar", inputs: ["e2eAttr", "aria-label", "hasShadow", "isShapeSquare", "isFlat", "hasNoBackground"] }, { kind: "component", type: i6.EuiAvatarTextComponent, selector: "eui-avatar-text" }, { kind: "component", type: i6.EuiAvatarImageComponent, selector: "eui-avatar-image", inputs: ["imageUrl"] }, { kind: "component", type: i6$1.EuiIconButtonComponent, selector: "eui-icon-button", inputs: ["icon", "fillColor", "size", "ariaLabel", "tabindex", "hasNoPadding", "hasFocusHoverColor", "hasFocusHoverBg", "euiRounded", "euiDisabled"], outputs: ["buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
288
277
|
}
|
289
278
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: EuiUserProfileCardComponent, decorators: [{
|
290
279
|
type: Component,
|
291
|
-
args: [{ selector: 'eui-user-profile-card', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, standalone: false, template: "<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\">{{ userState.fullName }}</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>{{ userState?.impersonatingUser?.firstName }} {{ userState?.impersonatingUser?.lastName }}</div>\n <div class=\"eui-u-mt-2xs\">{{ impersonateLabel }}</div>\n <div class=\"eui-u-mt-2xs\">\n <strong>{{ userState?.fullName }}</strong>\n </div>\n </div>\n</ng-container>\n" }]
|
280
|
+
args: [{ selector: 'eui-user-profile-card', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, standalone: false, template: "<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\">{{ userState().fullName }}</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>{{ userState()?.impersonatingUser?.firstName }} {{ userState()?.impersonatingUser?.lastName }}</div>\n <div class=\"eui-u-mt-2xs\">{{ impersonateLabel }}</div>\n <div class=\"eui-u-mt-2xs\">\n <strong>{{ userState()?.fullName }}</strong>\n </div>\n </div>\n</ng-container>\n" }]
|
292
281
|
}], ctorParameters: () => [{ type: i1$1.UserService }], propDecorators: { cssClasses: [{
|
293
282
|
type: HostBinding,
|
294
283
|
args: ['class']
|
@@ -312,12 +301,16 @@ class EuiUserProfileModule {
|
|
312
301
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: EuiUserProfileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
313
302
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0", ngImport: i0, type: EuiUserProfileModule, declarations: [EuiUserProfileComponent, EuiUserProfileMenuComponent, EuiUserProfileMenuItemComponent, EuiUserProfileCardComponent], imports: [CommonModule,
|
314
303
|
EuiIconModule,
|
315
|
-
EuiDropdownModule,
|
304
|
+
EuiDropdownModule,
|
305
|
+
EuiButtonModule,
|
306
|
+
EuiAvatarModule,
|
316
307
|
EuiIconButtonModule,
|
317
308
|
EuiBadgeModule], exports: [EuiUserProfileComponent, EuiUserProfileMenuComponent, EuiUserProfileMenuItemComponent, EuiUserProfileCardComponent] }); }
|
318
309
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: EuiUserProfileModule, imports: [CommonModule,
|
319
310
|
EuiIconModule,
|
320
|
-
EuiDropdownModule,
|
311
|
+
EuiDropdownModule,
|
312
|
+
EuiButtonModule,
|
313
|
+
EuiAvatarModule,
|
321
314
|
EuiIconButtonModule,
|
322
315
|
EuiBadgeModule] }); }
|
323
316
|
}
|
@@ -327,7 +320,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
|
|
327
320
|
imports: [
|
328
321
|
CommonModule,
|
329
322
|
EuiIconModule,
|
330
|
-
EuiDropdownModule,
|
323
|
+
EuiDropdownModule,
|
324
|
+
EuiButtonModule,
|
325
|
+
EuiAvatarModule,
|
331
326
|
EuiIconButtonModule,
|
332
327
|
EuiBadgeModule,
|
333
328
|
],
|
@@ -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 { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input, OnInit, ViewChild, OnDestroy, Host, Optional, Inject, forwardRef, AfterContentInit, ContentChild, QueryList, AfterViewInit, ContentChildren, ElementRef, booleanAttribute, Renderer2 } from '@angular/core';\nimport { UserState } from '@eui/core';\nimport { UserService } from '@eui/core';\nimport { takeUntil } from 'rxjs/operators';\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\nexport interface UserProfile extends UserState {\n impersonatingUser?: UserProfile;\n function?: string;\n organisation?: {\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 changeDetection: ChangeDetectionStrategy.Default,\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: UserProfile;\n isOnline = true;\n avatarInitials: 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 @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,\n public baseStatesDirective: BaseStatesDirective,\n ) {\n }\n\n ngOnInit(): void {\n this.userService\n .getState()\n .pipe(takeUntil(this.unsubscribeSubject$))\n .subscribe((state: UserProfile) => {\n if (state) {\n this.userState = state;\n const firstNameInitial = state.firstName?.substring(0, 1).toUpperCase();\n const lastNameInitial = state.lastName?.substring(0, 1).toUpperCase();\n this.avatarInitials = `${firstNameInitial}${lastNameInitial}`;\n }\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 // 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 });\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 }}</span>\n }\n {{ userState?.impersonatingUser?.firstName }} <strong>{{ userState?.impersonatingUser?.lastName}}</strong>\n <span> {{ impersonateLabel }}</span>\n </div>\n <div class=\"eui-user-profile__infos-name\">\n {{ userState?.firstName }} <strong>{{ userState?.lastName }}</strong>\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 {{ userState?.firstName }} <strong>{{ userState?.lastName }}</strong>\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 { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input, OnInit, EventEmitter, Output, OnDestroy, booleanAttribute } from '@angular/core';\nimport { UserProfile } from '../user-profile.component';\nimport { UserService } from '@eui/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\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, OnDestroy {\n @HostBinding('class')\n public get cssClasses(): string {\n return 'eui-user-profile-card';\n }\n\n avatarInitials: string;\n userState: UserProfile;\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 @Output() showProfileInfo: EventEmitter<void> = new EventEmitter();\n @Output() closeProfileMenu: EventEmitter<void> = new EventEmitter();\n\n private unsubscribeSubject$: Subject<void> = new Subject();\n\n constructor(\n private userService: UserService<UserProfile>,\n ) {}\n\n ngOnInit(): void {\n this.userService\n .getState()\n .pipe(\n takeUntil(this.unsubscribeSubject$),\n )\n .subscribe((state) => {\n if (state) {\n const firstNameInitial = state.firstName?.substring(0, 1).toUpperCase();\n const lastNameInitial = state.lastName?.substring(0, 1).toUpperCase();\n this.avatarInitials = `${firstNameInitial}${lastNameInitial}`;\n this.userState = state;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.unsubscribeSubject$.next();\n this.unsubscribeSubject$.complete();\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\">{{ userState.fullName }}</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>{{ userState?.impersonatingUser?.firstName }} {{ userState?.impersonatingUser?.lastName }}</div>\n <div class=\"eui-u-mt-2xs\">{{ impersonateLabel }}</div>\n <div class=\"eui-u-mt-2xs\">\n <strong>{{ userState?.fullName }}</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, EuiButtonModule, 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","i6"],"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 ChangeDetectionStrategy,\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\nexport interface UserProfile extends UserState {\n impersonatingUser?: UserProfile;\n function?: string;\n organisation?: {\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 changeDetection: ChangeDetectionStrategy.Default,\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 @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 `${firstNameInitial}${lastNameInitial}`;\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 // 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 });\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 }}</span>\n }\n {{ userState()?.impersonatingUser?.firstName }} <strong>{{ userState()?.impersonatingUser?.lastName}}</strong>\n <span> {{ impersonateLabel }}</span>\n </div>\n <div class=\"eui-user-profile__infos-name\">\n {{ userState()?.firstName }} <strong>{{ userState()?.lastName }}</strong>\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 {{ userState()?.firstName }} <strong>{{ userState()?.lastName }}</strong>\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 OnDestroy,\n booleanAttribute,\n computed,\n Signal,\n} from '@angular/core';\nimport { UserProfile } from '../user-profile.component';\nimport { UserService } from '@eui/core';\nimport { Subject } from 'rxjs';\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, OnDestroy {\n @HostBinding('class')\n public get cssClasses(): string {\n return 'eui-user-profile-card';\n }\n\n avatarInitials: Signal<string>;\n userState: Signal<UserProfile>;\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 @Output() showProfileInfo: EventEmitter<void> = new EventEmitter();\n @Output() closeProfileMenu: EventEmitter<void> = new EventEmitter();\n\n private unsubscribeSubject$: Subject<void> = new Subject();\n\n constructor(\n private userService: UserService<UserProfile>,\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 `${firstNameInitial}${lastNameInitial}`;\n });\n }\n\n ngOnDestroy(): void {\n this.unsubscribeSubject$.next();\n this.unsubscribeSubject$.complete();\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\">{{ userState().fullName }}</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>{{ userState()?.impersonatingUser?.firstName }} {{ userState()?.impersonatingUser?.lastName }}</div>\n <div class=\"eui-u-mt-2xs\">{{ impersonateLabel }}</div>\n <div class=\"eui-u-mt-2xs\">\n <strong>{{ userState()?.fullName }}</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","i6"],"mappings":"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"}
|
@@ -144,6 +144,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
|
|
144
144
|
type: HostBinding
|
145
145
|
}] } });
|
146
146
|
|
147
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
147
148
|
class EuiAppSidebarMenuComponent {
|
148
149
|
constructor(asService) {
|
149
150
|
this.asService = asService;
|