@eui/eds 23.0.0-alpha.6 → 23.0.0-alpha.7
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/changelog.html +41 -0
- package/docs/classes/EdsChipModel.html +6 -6
- package/docs/classes/{EuiChipTooltip.html → EdsChipTooltip.html} +2 -2
- package/docs/components/EdsAlert.html +27 -226
- package/docs/components/EdsAlertTitle.html +2 -2
- package/docs/components/EdsAvatar.html +35 -108
- package/docs/components/EdsAvatarBadge.html +2 -2
- package/docs/components/EdsAvatarContent.html +2 -2
- package/docs/components/EdsAvatarContentLabel.html +2 -2
- package/docs/components/EdsAvatarContentSublabel.html +2 -2
- package/docs/components/EdsAvatarIcon.html +2 -2
- package/docs/components/EdsAvatarImage.html +2 -2
- package/docs/components/EdsAvatarList.html +2 -2
- package/docs/components/EdsAvatarText.html +2 -2
- package/docs/components/EdsBadge.html +41 -175
- package/docs/components/EdsButton.html +123 -123
- package/docs/components/EdsChip.html +135 -254
- package/docs/components/EdsIcon.html +93 -145
- package/docs/components/EdsIconButton.html +72 -86
- package/docs/components/EdsIconImage.html +5 -5
- package/docs/components/EdsIconState.html +47 -61
- package/docs/components/EdsLanguageSelector.html +870 -0
- package/docs/components/EdsMenu.html +631 -0
- package/docs/components/EdsMenuItemComponent.html +728 -0
- package/docs/components/EdsOverlay.html +804 -0
- package/docs/components/EdsOverlayContent.html +315 -0
- package/docs/components/EdsOverlayFooter.html +315 -0
- package/docs/components/EdsOverlayHeader.html +458 -0
- package/docs/components/EdsOverlayHeaderActionItems.html +315 -0
- package/docs/components/EdsOverlayHeaderLabel.html +315 -0
- package/docs/components/EdsOverlayHeaderSublabel.html +315 -0
- package/docs/components/EdsPage.html +315 -0
- package/docs/components/EdsPageContent.html +319 -0
- package/docs/components/EdsPageFooter.html +387 -0
- package/docs/components/EdsPageHeader.html +673 -0
- package/docs/components/EdsPageHeaderActionItems.html +315 -0
- package/docs/components/EdsPageHeaderBody.html +315 -0
- package/docs/components/EdsPageHeaderLabel.html +315 -0
- package/docs/components/EdsPageHeaderSublabel.html +315 -0
- package/docs/components/EdsShell.html +1078 -0
- package/docs/components/EdsShellContent.html +315 -0
- package/docs/components/EdsShellFooter.html +383 -0
- package/docs/components/EdsShellHeader.html +383 -0
- package/docs/components/EdsShellHeaderApp.html +443 -0
- package/docs/components/EdsShellHeaderEnd.html +311 -0
- package/docs/components/EdsShellHeaderEnvironment.html +315 -0
- package/docs/components/EdsShellHeaderLogo.html +561 -0
- package/docs/components/EdsShellHeaderStart.html +311 -0
- package/docs/components/EdsShellMenuToggle.html +458 -0
- package/docs/components/EdsShellSidebar.html +413 -0
- package/docs/components/EdsShellSidebarBottomNav.html +624 -0
- package/docs/components/EdsShellSidebarFooter.html +315 -0
- package/docs/components/EdsShellSidebarHeader.html +508 -0
- package/docs/components/EdsShellSidebarNav.html +624 -0
- package/docs/components/EdsShellToolbar.html +315 -0
- package/docs/components/EdsShellToolbarApp.html +443 -0
- package/docs/components/EdsShellToolbarEnd.html +315 -0
- package/docs/components/EdsShellToolbarEnvironment.html +315 -0
- package/docs/components/EdsShellToolbarLogo.html +315 -0
- package/docs/components/EdsShellToolbarStart.html +315 -0
- package/docs/components/EdsShellTopMessage.html +574 -0
- package/docs/components/EdsTab.html +6 -10
- package/docs/components/EdsTabBody.html +6 -10
- package/docs/components/EdsTabHeader.html +6 -10
- package/docs/components/EdsTabHeaderLabel.html +2 -2
- package/docs/components/EdsTabHeaderLeftContent.html +2 -2
- package/docs/components/EdsTabHeaderRightContent.html +2 -2
- package/docs/components/EdsTabHeaderSublabel.html +2 -2
- package/docs/components/EdsTabs.html +61 -126
- package/docs/components/EdsTabsRightContent.html +2 -2
- package/docs/components/EdsTag.html +82 -182
- package/docs/components/EdsTooltipContainer.html +2 -2
- package/docs/components/EdsUserProfile.html +1336 -0
- package/docs/components/EdsUserProfileMenu.html +315 -0
- package/docs/components/EdsUserProfileMenuItem.html +511 -0
- package/docs/directives/{EuiBaseColorVariantsDirective.html → EdsBaseColorVariantsDirective.html} +174 -91
- package/docs/directives/{EuiBaseSizeVariantsDirective.html → EdsBaseSizeVariantsDirective.html} +107 -107
- package/docs/directives/EdsResizable.html +586 -0
- package/docs/directives/EdsTooltip.html +21 -21
- package/docs/interfaces/EdsLanguage.html +368 -0
- package/docs/interfaces/EdsMenuItem.html +731 -0
- package/docs/js/menu-wc.js +146 -5
- package/docs/js/search/search_index.js +2 -2
- package/docs/json/EdsAlert.md +7 -7
- package/docs/json/EdsAvatar.md +8 -7
- package/docs/json/EdsBadge.md +14 -14
- package/docs/json/EdsBaseColorVariantsDirective.md +22 -0
- package/docs/json/EdsBaseSizeVariantsDirective.md +23 -0
- package/docs/json/EdsButton.md +21 -21
- package/docs/json/EdsChip.md +15 -14
- package/docs/json/EdsIcon.md +23 -23
- package/docs/json/EdsIconButton.md +18 -17
- package/docs/json/EdsIconImage.md +10 -10
- package/docs/json/EdsIconState.md +12 -12
- package/docs/json/EdsLanguageSelector.md +16 -0
- package/docs/json/EdsMenu.md +17 -0
- package/docs/json/EdsMenuItemComponent.md +18 -0
- package/docs/json/EdsOverlay.md +19 -0
- package/docs/json/EdsOverlayContent.md +8 -0
- package/docs/json/EdsOverlayFooter.md +8 -0
- package/docs/json/EdsOverlayHeader.md +11 -0
- package/docs/json/EdsOverlayHeaderActionItems.md +8 -0
- package/docs/json/EdsOverlayHeaderLabel.md +8 -0
- package/docs/json/EdsOverlayHeaderSublabel.md +8 -0
- package/docs/json/EdsPage.md +8 -0
- package/docs/json/EdsPageContent.md +8 -0
- package/docs/json/EdsPageFooter.md +11 -0
- package/docs/json/EdsPageHeader.md +18 -0
- package/docs/json/EdsPageHeaderActionItems.md +8 -0
- package/docs/json/EdsPageHeaderBody.md +8 -0
- package/docs/json/EdsPageHeaderLabel.md +8 -0
- package/docs/json/EdsPageHeaderSublabel.md +8 -0
- package/docs/json/EdsResizable.md +24 -0
- package/docs/json/EdsShell.md +14 -0
- package/docs/json/EdsShellContent.md +8 -0
- package/docs/json/EdsShellFooter.md +11 -0
- package/docs/json/EdsShellHeader.md +11 -0
- package/docs/json/EdsShellHeaderApp.md +13 -0
- package/docs/json/EdsShellHeaderEnd.md +8 -0
- package/docs/json/EdsShellHeaderEnvironment.md +8 -0
- package/docs/json/EdsShellHeaderLogo.md +15 -0
- package/docs/json/EdsShellHeaderStart.md +8 -0
- package/docs/json/EdsShellMenuToggle.md +11 -0
- package/docs/json/EdsShellSidebar.md +12 -0
- package/docs/json/EdsShellSidebarBottomNav.md +17 -0
- package/docs/json/EdsShellSidebarFooter.md +8 -0
- package/docs/json/EdsShellSidebarHeader.md +15 -0
- package/docs/json/EdsShellSidebarNav.md +17 -0
- package/docs/json/EdsShellToolbar.md +8 -0
- package/docs/json/EdsShellToolbarApp.md +13 -0
- package/docs/json/EdsShellToolbarEnd.md +8 -0
- package/docs/json/EdsShellToolbarEnvironment.md +8 -0
- package/docs/json/EdsShellToolbarLogo.md +8 -0
- package/docs/json/EdsShellToolbarStart.md +8 -0
- package/docs/json/EdsShellTopMessage.md +19 -0
- package/docs/json/EdsTabs.md +4 -4
- package/docs/json/EdsTag.md +14 -13
- package/docs/json/EdsTooltip.md +7 -7
- package/docs/json/EdsUserProfile.md +21 -0
- package/docs/json/EdsUserProfileMenu.md +8 -0
- package/docs/json/EdsUserProfileMenuItem.md +8 -0
- package/docs/json/documentation.json +9649 -5338
- package/docs/llms.txt +641 -123
- package/docs/miscellaneous/typealiases.html +309 -0
- package/docs/miscellaneous/variables.html +342 -0
- package/docs/overview.html +3 -3
- package/docs/properties.html +1 -1
- package/eds-language-selector/package.json +4 -0
- package/eds-menu/package.json +4 -0
- package/eds-overlay/package.json +4 -0
- package/eds-page/package.json +4 -0
- package/eds-resizable/package.json +4 -0
- package/eds-shell/package.json +4 -0
- package/eds-user-profile/package.json +4 -0
- package/fesm2022/eui-eds-eds-alert.mjs +33 -61
- package/fesm2022/eui-eds-eds-alert.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-avatar.mjs +29 -43
- package/fesm2022/eui-eds-eds-avatar.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-badge.mjs +65 -89
- package/fesm2022/eui-eds-eds-badge.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-button.mjs +70 -99
- package/fesm2022/eui-eds-eds-button.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-chip.mjs +118 -111
- package/fesm2022/eui-eds-eds-chip.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-icon-button.mjs +49 -55
- package/fesm2022/eui-eds-eds-icon-button.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-icon-state.mjs +38 -34
- package/fesm2022/eui-eds-eds-icon-state.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-icon.mjs +92 -107
- package/fesm2022/eui-eds-eds-icon.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-language-selector.mjs +67 -0
- package/fesm2022/eui-eds-eds-language-selector.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-menu.mjs +90 -0
- package/fesm2022/eui-eds-eds-menu.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-overlay.mjs +141 -0
- package/fesm2022/eui-eds-eds-overlay.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-page.mjs +129 -0
- package/fesm2022/eui-eds-eds-page.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-resizable.mjs +193 -0
- package/fesm2022/eui-eds-eds-resizable.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-shell.mjs +481 -0
- package/fesm2022/eui-eds-eds-shell.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-tabs.mjs +71 -101
- package/fesm2022/eui-eds-eds-tabs.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-tag.mjs +74 -77
- package/fesm2022/eui-eds-eds-tag.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-tooltip.mjs +23 -23
- package/fesm2022/eui-eds-eds-tooltip.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-user-profile.mjs +231 -0
- package/fesm2022/eui-eds-eds-user-profile.mjs.map +1 -0
- package/fesm2022/eui-eds-shared.mjs +255 -243
- package/fesm2022/eui-eds-shared.mjs.map +1 -1
- package/package.json +29 -1
- package/types/eui-eds-eds-alert.d.ts +7 -29
- package/types/eui-eds-eds-alert.d.ts.map +1 -1
- package/types/eui-eds-eds-avatar.d.ts +11 -12
- package/types/eui-eds-eds-avatar.d.ts.map +1 -1
- package/types/eui-eds-eds-badge.d.ts +15 -20
- package/types/eui-eds-eds-badge.d.ts.map +1 -1
- package/types/eui-eds-eds-button.d.ts +22 -30
- package/types/eui-eds-eds-button.d.ts.map +1 -1
- package/types/eui-eds-eds-chip.d.ts +36 -36
- package/types/eui-eds-eds-chip.d.ts.map +1 -1
- package/types/eui-eds-eds-icon-button.d.ts +13 -16
- package/types/eui-eds-eds-icon-button.d.ts.map +1 -1
- package/types/eui-eds-eds-icon-state.d.ts +8 -8
- package/types/eui-eds-eds-icon-state.d.ts.map +1 -1
- package/types/eui-eds-eds-icon.d.ts +22 -29
- package/types/eui-eds-eds-icon.d.ts.map +1 -1
- package/types/eui-eds-eds-language-selector.d.ts +34 -0
- package/types/eui-eds-eds-language-selector.d.ts.map +1 -0
- package/types/eui-eds-eds-menu.d.ts +65 -0
- package/types/eui-eds-eds-menu.d.ts.map +1 -0
- package/types/eui-eds-eds-overlay.d.ts +64 -0
- package/types/eui-eds-eds-overlay.d.ts.map +1 -0
- package/types/eui-eds-eds-page.d.ts +63 -0
- package/types/eui-eds-eds-page.d.ts.map +1 -0
- package/types/eui-eds-eds-resizable.d.ts +49 -0
- package/types/eui-eds-eds-resizable.d.ts.map +1 -0
- package/types/eui-eds-eds-shell.d.ts +229 -0
- package/types/eui-eds-eds-shell.d.ts.map +1 -0
- package/types/eui-eds-eds-tabs.d.ts +32 -30
- package/types/eui-eds-eds-tabs.d.ts.map +1 -1
- package/types/eui-eds-eds-tag.d.ts +22 -25
- package/types/eui-eds-eds-tag.d.ts.map +1 -1
- package/types/eui-eds-eds-tooltip.d.ts +16 -16
- package/types/eui-eds-eds-user-profile.d.ts +78 -0
- package/types/eui-eds-eds-user-profile.d.ts.map +1 -0
- package/types/eui-eds-shared.d.ts +82 -79
- package/types/eui-eds-shared.d.ts.map +1 -1
- package/docs/json/EuiBaseColorVariantsDirective.md +0 -21
- package/docs/json/EuiBaseSizeVariantsDirective.md +0 -23
|
@@ -104,43 +104,43 @@ class EdsTooltip {
|
|
|
104
104
|
*
|
|
105
105
|
* @default false
|
|
106
106
|
*/
|
|
107
|
-
this.
|
|
107
|
+
this.edsTooltipPrimary = false;
|
|
108
108
|
/**
|
|
109
109
|
* Whether the tooltip has a Secondary state.
|
|
110
110
|
*
|
|
111
111
|
* @default false
|
|
112
112
|
*/
|
|
113
|
-
this.
|
|
113
|
+
this.edsTooltipSecondary = false;
|
|
114
114
|
/**
|
|
115
115
|
* Whether the tooltip has Info state.
|
|
116
116
|
*
|
|
117
117
|
* @default false
|
|
118
118
|
*/
|
|
119
|
-
this.
|
|
119
|
+
this.edsTooltipInfo = false;
|
|
120
120
|
/**
|
|
121
121
|
* Whether the tooltip has a Success state.
|
|
122
122
|
*
|
|
123
123
|
* @default false
|
|
124
124
|
*/
|
|
125
|
-
this.
|
|
125
|
+
this.edsTooltipSuccess = false;
|
|
126
126
|
/**
|
|
127
127
|
* Whether the tooltip has a Warning state.
|
|
128
128
|
*
|
|
129
129
|
* @default false
|
|
130
130
|
*/
|
|
131
|
-
this.
|
|
131
|
+
this.edsTooltipWarning = false;
|
|
132
132
|
/**
|
|
133
133
|
* Whether the tooltip has a Danger state.
|
|
134
134
|
*
|
|
135
135
|
* @default false
|
|
136
136
|
*/
|
|
137
|
-
this.
|
|
137
|
+
this.edsTooltipDanger = false;
|
|
138
138
|
/**
|
|
139
139
|
* Whether the tooltip has Accent state.
|
|
140
140
|
*
|
|
141
141
|
* @default false
|
|
142
142
|
*/
|
|
143
|
-
this.
|
|
143
|
+
this.edsTooltipAccent = false;
|
|
144
144
|
this.originX = 'center';
|
|
145
145
|
this.originY = 'top';
|
|
146
146
|
this.overlayX = 'center';
|
|
@@ -270,29 +270,29 @@ class EdsTooltip {
|
|
|
270
270
|
/**
|
|
271
271
|
* Generates and returns the tooltip configuration based on the defined tooltip properties.
|
|
272
272
|
*
|
|
273
|
-
* @returns {
|
|
273
|
+
* @returns {edsTooltipInterface} The tooltip configuration object, including attributes used in container component.
|
|
274
274
|
*/
|
|
275
275
|
getTooltipConfig() {
|
|
276
276
|
let colorClass = 'secondary';
|
|
277
|
-
if (this.
|
|
277
|
+
if (this.edsTooltipPrimary) {
|
|
278
278
|
colorClass = 'primary';
|
|
279
279
|
}
|
|
280
|
-
if (this.
|
|
280
|
+
if (this.edsTooltipSecondary) {
|
|
281
281
|
colorClass = 'secondary';
|
|
282
282
|
}
|
|
283
|
-
if (this.
|
|
283
|
+
if (this.edsTooltipInfo) {
|
|
284
284
|
colorClass = 'info';
|
|
285
285
|
}
|
|
286
|
-
if (this.
|
|
286
|
+
if (this.edsTooltipSuccess) {
|
|
287
287
|
colorClass = 'success';
|
|
288
288
|
}
|
|
289
|
-
if (this.
|
|
289
|
+
if (this.edsTooltipWarning) {
|
|
290
290
|
colorClass = 'warning';
|
|
291
291
|
}
|
|
292
|
-
if (this.
|
|
292
|
+
if (this.edsTooltipDanger) {
|
|
293
293
|
colorClass = 'danger';
|
|
294
294
|
}
|
|
295
|
-
if (this.
|
|
295
|
+
if (this.edsTooltipAccent) {
|
|
296
296
|
colorClass = 'accent';
|
|
297
297
|
}
|
|
298
298
|
return {
|
|
@@ -362,7 +362,7 @@ class EdsTooltip {
|
|
|
362
362
|
}
|
|
363
363
|
}
|
|
364
364
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsTooltip, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
365
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "22.0.5", type: EdsTooltip, isStandalone: true, selector: "[edsTooltip]", inputs: { e2eAttr: "e2eAttr", showDelay: ["showDelay", "showDelay", numberAttribute], hideDelay: ["hideDelay", "hideDelay", numberAttribute], contentAlignment: "contentAlignment", position: "position", isDisabled: ["isDisabled", "isDisabled", booleanAttribute], tooltipContent: ["edsTooltip", "tooltipContent"],
|
|
365
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "22.0.5", type: EdsTooltip, isStandalone: true, selector: "[edsTooltip]", inputs: { e2eAttr: "e2eAttr", showDelay: ["showDelay", "showDelay", numberAttribute], hideDelay: ["hideDelay", "hideDelay", numberAttribute], contentAlignment: "contentAlignment", position: "position", isDisabled: ["isDisabled", "isDisabled", booleanAttribute], tooltipContent: ["edsTooltip", "tooltipContent"], edsTooltipPrimary: ["edsTooltipPrimary", "edsTooltipPrimary", booleanAttribute], edsTooltipSecondary: ["edsTooltipSecondary", "edsTooltipSecondary", booleanAttribute], edsTooltipInfo: ["edsTooltipInfo", "edsTooltipInfo", booleanAttribute], edsTooltipSuccess: ["edsTooltipSuccess", "edsTooltipSuccess", booleanAttribute], edsTooltipWarning: ["edsTooltipWarning", "edsTooltipWarning", booleanAttribute], edsTooltipDanger: ["edsTooltipDanger", "edsTooltipDanger", booleanAttribute], edsTooltipAccent: ["edsTooltipAccent", "edsTooltipAccent", booleanAttribute] }, host: { listeners: { "mouseenter": "mouseEntering($event)", "focus": "focused($event)", "keydown.esc": "onEscapePressed($any($event))" } }, exportAs: ["edsTooltip"], usesOnChanges: true, ngImport: i0 }); }
|
|
366
366
|
}
|
|
367
367
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsTooltip, decorators: [{
|
|
368
368
|
type: Directive,
|
|
@@ -388,25 +388,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
388
388
|
}], tooltipContent: [{
|
|
389
389
|
type: Input,
|
|
390
390
|
args: ['edsTooltip']
|
|
391
|
-
}],
|
|
391
|
+
}], edsTooltipPrimary: [{
|
|
392
392
|
type: Input,
|
|
393
393
|
args: [{ transform: booleanAttribute }]
|
|
394
|
-
}],
|
|
394
|
+
}], edsTooltipSecondary: [{
|
|
395
395
|
type: Input,
|
|
396
396
|
args: [{ transform: booleanAttribute }]
|
|
397
|
-
}],
|
|
397
|
+
}], edsTooltipInfo: [{
|
|
398
398
|
type: Input,
|
|
399
399
|
args: [{ transform: booleanAttribute }]
|
|
400
|
-
}],
|
|
400
|
+
}], edsTooltipSuccess: [{
|
|
401
401
|
type: Input,
|
|
402
402
|
args: [{ transform: booleanAttribute }]
|
|
403
|
-
}],
|
|
403
|
+
}], edsTooltipWarning: [{
|
|
404
404
|
type: Input,
|
|
405
405
|
args: [{ transform: booleanAttribute }]
|
|
406
|
-
}],
|
|
406
|
+
}], edsTooltipDanger: [{
|
|
407
407
|
type: Input,
|
|
408
408
|
args: [{ transform: booleanAttribute }]
|
|
409
|
-
}],
|
|
409
|
+
}], edsTooltipAccent: [{
|
|
410
410
|
type: Input,
|
|
411
411
|
args: [{ transform: booleanAttribute }]
|
|
412
412
|
}], mouseEntering: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-eds-eds-tooltip.mjs","sources":["../../eds-tooltip/eds-tooltip-animations.ts","../../eds-tooltip/eds-tooltip-container.ts","../../eds-tooltip/eds-tooltip-container.html","../../eds-tooltip/eds-tooltip.ts","../../eds-tooltip/eui-eds-eds-tooltip.ts"],"sourcesContent":["import { animate, state, style, transition, trigger, keyframes } from '@angular/animations';\n\n/**\n * Tooltip display animation.\n */\nexport const showHide = trigger('showHide', [\n state('initial, void, hidden', style({ opacity: 0, transform: 'scale(0)' })),\n state('visible', style({ transform: 'scale(1)' })),\n transition(\n '* => visible',\n animate(\n '200ms cubic-bezier(0, 0, 0.2, 1)',\n keyframes([\n style({ opacity: 0, transform: 'scale(0)', offset: 0 }),\n style({ opacity: 0.5, transform: 'scale(0.99)', offset: 0.5 }),\n style({ opacity: 1, transform: 'scale(1)', offset: 1 }),\n ]),\n ),\n ),\n transition('* => hidden', animate('100ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0 }))),\n]);\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport { showHide } from './eds-tooltip-animations';\nimport { EdsTooltipInterface } from './eds-tooltip.config';\n\n@Component({\n selector: 'eds-tooltip-container',\n templateUrl: 'eds-tooltip-container.html',\n styleUrl: './eds-tooltip-container.scss', \n // Styles are in globals: \\packages\\styles\\src\\styles\\07-elements\\directives\\_eui-tooltip.scss\n animations: [showHide],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsTooltipContainer {\n /**\n * Configuration provided by euiTooltip directive at instantiation.\n *\n * @type {EuiTooltipInterface} A config object containing e2eAttr, tooltipContent, position, contentAlign, colorClass.\n */\n @Input() config!: EdsTooltipInterface;\n /**\n * Sets the `data-e2e` attribute for the host element.\n *\n * @default 'eds-tooltip'\n */\n @HostBinding('attr.data-e2e') e2e = 'eds-tooltip';\n /**\n * @description\n * Computes and returns the CSS classes for the component based on its current state.\n *\n * @returns {string} Space-separated string of CSS class names\n */\n @HostBinding('class')\n get cssClasses(): string {\n return ['eds-tooltip', 'eds-tooltip--content-' + this.config.contentAlign, 'eds-tooltip--' + this.config.colorClass]\n .join(' ')\n .trim();\n }\n @HostBinding('@showHide') get showHide(): string {\n return 'visible';\n }\n}\n","<div [innerHTML]=\"config.tooltipContent\"></div>\n","import {\n Directive,\n Input,\n OnInit,\n OnDestroy,\n ElementRef,\n HostListener,\n OnChanges,\n numberAttribute,\n booleanAttribute,\n ComponentRef,\n inject,\n} from '@angular/core';\nimport {\n ConnectedOverlayPositionChange,\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategyOrigin,\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { BehaviorSubject, fromEvent, Subject, Subscription, take, timer } from 'rxjs';\nimport { ComponentPortal } from '@angular/cdk/portal';\n\nimport { EdsTooltipContainer } from './eds-tooltip-container';\nimport { EdsTooltipInterface } from './eds-tooltip.config';\n\n@Directive({\n selector: '[edsTooltip]',\n exportAs: 'edsTooltip',\n})\nexport class EdsTooltip implements OnChanges, OnInit, OnDestroy {\n /**\n * Sets the `data-e2e` attribute for the host element.\n *\n * @default 'eds-tooltip'\n */\n @Input() e2eAttr = 'eds-tooltip';\n /**\n * Sets the delay for the tooltip to be visible.\n *\n * @default 0\n */\n @Input({ transform: numberAttribute }) showDelay = 0;\n /**\n * Sets the delay for the tooltip to be hidden\n *\n * @default 0\n */\n @Input({ transform: numberAttribute }) hideDelay = 0;\n /**\n * Sets the alignment of the content in the tooltip.\n *\n * @default 'center''\n */\n @Input() contentAlignment: 'left' | 'right' | 'center' | 'justify' = 'center';\n /**\n * Sets the position of the tooltip relative to its trigger element.\n *\n * @default 'center''\n */\n @Input() position: 'left' | 'right' | 'above' | 'below' | 'before' | 'after' | string = 'above';\n /**\n * Whether the tooltip is disabled.\n *\n * @default false (enable)\n */\n @Input({ transform: booleanAttribute }) isDisabled = false;\n /**\n * Tooltip content.\n */\n @Input('edsTooltip') tooltipContent!: string;\n /**\n * Whether the tooltip has a Primary state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipPrimary = false;\n /**\n * Whether the tooltip has a Secondary state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipSecondary = false;\n /**\n * Whether the tooltip has Info state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipInfo = false;\n /**\n * Whether the tooltip has a Success state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipSuccess = false;\n /**\n * Whether the tooltip has a Warning state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipWarning = false;\n /**\n * Whether the tooltip has a Danger state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipDanger = false;\n /**\n * Whether the tooltip has Accent state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) euiTooltipAccent = false;\n\n private originX: 'start' | 'end' | 'center' = 'center';\n private originY: 'top' | 'bottom' | 'center' = 'top';\n private overlayX: 'start' | 'end' | 'center' = 'center';\n private overlayY: 'top' | 'bottom' | 'center' = 'bottom';\n private fallbackOriginX: 'start' | 'end' | 'center' = 'center';\n private fallbackOriginY: 'top' | 'bottom' | 'center' = 'bottom';\n private fallbackOverlayX: 'start' | 'end' | 'center' = 'center';\n private fallbackOverlayY: 'top' | 'bottom' | 'center' = 'top';\n private overlayRef!: OverlayRef | null;\n private destroy$ = new Subject<boolean>();\n private isOpen$ = new BehaviorSubject<boolean>(false);\n private mouseleaveSubscription = new Subscription();\n private blurSubscription = new Subscription();\n private showDelaySubscription = new Subscription();\n private positionStrategySubscription = new Subscription();\n private tooltipInstance!: ComponentRef<EdsTooltipContainer>;\n private overlay = inject(Overlay);\n private host = inject<ElementRef<HTMLElement>>(ElementRef);\n\n ngOnChanges(): void {\n if (this.tooltipInstance) {\n this.tooltipInstance.setInput('config', this.getTooltipConfig());\n }\n\n this.setPosition();\n }\n\n ngOnInit(): void {\n this.setPosition();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.mouseleaveSubscription.unsubscribe();\n this.blurSubscription.unsubscribe();\n this.showDelaySubscription.unsubscribe();\n this.positionStrategySubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n }\n\n @HostListener('mouseenter', ['$event'])\n mouseEntering(event: MouseEvent): void {\n this.show(event.target ?? undefined);\n }\n\n @HostListener('focus', ['$event'])\n focused(event: FocusEvent): void {\n this.show(event.target ?? undefined);\n }\n\n /**\n * Returns the current open state.\n *\n * @returns {boolean} `true` if the element is open, otherwise `false`.\n */\n get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n /**\n * Method that shows a tooltip.\n *\n * @param origin Origin of the tooltip. Where it will be displayed.\n */\n public show(origin: EventTarget = this.host.nativeElement): void {\n this.mouseleaveSubscription.unsubscribe();\n this.blurSubscription.unsubscribe();\n this.showDelaySubscription.unsubscribe();\n \n this.showDelaySubscription = timer(this.showDelay).subscribe(() => {\n if (!this.isOpen && !this.isDisabled && this.tooltipContent) {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(origin as FlexibleConnectedPositionStrategyOrigin)\n .withPositions([\n new ConnectionPositionPair(\n { originX: this.originX, originY: this.originY },\n { overlayX: this.overlayX, overlayY: this.overlayY },\n ),\n new ConnectionPositionPair(\n { originX: this.fallbackOriginX, originY: this.fallbackOriginY },\n { overlayX: this.fallbackOverlayX, overlayY: this.fallbackOverlayY },\n ),\n ])\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: false,\n usePopover: false,\n panelClass: ['eds-tooltip-panel', 'eui-21'],\n positionStrategy,\n scrollStrategy,\n });\n\n this.positionStrategySubscription = positionStrategy.positionChanges.subscribe((overlayPosition) => {\n this.position = this.getPosition(overlayPosition);\n const positionClasses = [\n 'eds-tooltip--left',\n 'eds-tooltip--right',\n 'eds-tooltip--above',\n 'eds-tooltip--below',\n 'eds-tooltip--before',\n 'eds-tooltip--after',\n ];\n this.overlayRef?.removePanelClass(positionClasses);\n this.overlayRef?.addPanelClass(['eds-tooltip--' + this.position]);\n });\n\n const componentPortal = new ComponentPortal<EdsTooltipContainer>(\n EdsTooltipContainer,\n null,\n );\n\n this.tooltipInstance = this.overlayRef.attach(componentPortal);\n this.tooltipInstance.setInput('config', this.getTooltipConfig());\n\n this.isOpen$.next(true);\n }\n });\n\n this.mouseleaveSubscription = fromEvent(origin, 'mouseleave').subscribe(() => {\n this.hide();\n });\n\n this.blurSubscription = fromEvent(origin, 'blur').subscribe(() => {\n this.hide();\n });\n }\n\n /**\n * Method that closes a tooltip.\n */\n public hide(): void {\n timer(this.hideDelay)\n .pipe(take(1))\n .subscribe(() => {\n this.isOpen$.next(false);\n this.mouseleaveSubscription.unsubscribe();\n this.blurSubscription.unsubscribe();\n this.showDelaySubscription.unsubscribe();\n this.positionStrategySubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n });\n }\n\n @HostListener('keydown.esc', ['$any($event)'])\n protected onEscapePressed(event: KeyboardEvent): void {\n if (this.isOpen) {\n event.stopPropagation();\n this.hide();\n }\n }\n\n /**\n * Generates and returns the tooltip configuration based on the defined tooltip properties.\n *\n * @returns {EuiTooltipInterface} The tooltip configuration object, including attributes used in container component.\n */\n private getTooltipConfig(): EdsTooltipInterface {\n let colorClass = 'secondary';\n if (this.euiTooltipPrimary) {\n colorClass = 'primary';\n }\n if (this.euiTooltipSecondary) {\n colorClass = 'secondary';\n }\n if (this.euiTooltipInfo) {\n colorClass = 'info';\n }\n if (this.euiTooltipSuccess) {\n colorClass = 'success';\n }\n if (this.euiTooltipWarning) {\n colorClass = 'warning';\n }\n if (this.euiTooltipDanger) {\n colorClass = 'danger';\n }\n if (this.euiTooltipAccent) {\n colorClass = 'accent';\n }\n\n return {\n e2eAttr: this.e2eAttr,\n tooltipContent: this.tooltipContent,\n position: this.position,\n contentAlign: this.contentAlignment,\n colorClass,\n };\n }\n\n /**\n * Determines and returns the tooltip's position based on the overlay's connection pair.\n *\n * @param {ConnectedOverlayPositionChange} overlayPosition - The overlay position change event.\n * @returns {string} The calculated position (`'above'`, `'below'`, `'left'`, or `'right'`).\n */\n private getPosition(overlayPosition: ConnectedOverlayPositionChange): string {\n if (overlayPosition.connectionPair.originY === 'top' && overlayPosition.connectionPair.overlayY === 'bottom') {\n return 'above';\n }\n if (overlayPosition.connectionPair.originY === 'bottom' && overlayPosition.connectionPair.overlayY === 'top') {\n return 'below';\n }\n if (overlayPosition.connectionPair.originX === 'start' && overlayPosition.connectionPair.overlayX === 'end') {\n return 'left';\n }\n if (overlayPosition.connectionPair.originX === 'end' && overlayPosition.connectionPair.overlayX === 'start') {\n return 'right';\n }\n return this.position;\n }\n\n /**\n * Sets the position-related properties based on the current `position` value.\n */\n private setPosition(): void {\n if (this.position === 'above') {\n this.originY = 'top';\n this.overlayY = 'bottom';\n this.fallbackOriginY = 'bottom';\n this.fallbackOverlayY = 'top';\n }\n if (this.position === 'right' || this.position === 'after') {\n this.originX = 'end';\n this.originY = 'center';\n this.overlayX = 'start';\n this.overlayY = 'center';\n this.fallbackOriginX = 'start';\n this.fallbackOriginY = 'center';\n this.fallbackOverlayX = 'end';\n this.fallbackOverlayY = 'center';\n }\n if (this.position === 'below') {\n this.originY = 'bottom';\n this.overlayY = 'top';\n this.fallbackOriginY = 'top';\n this.fallbackOverlayY = 'bottom';\n }\n if (this.position === 'left' || this.position === 'before') {\n this.originX = 'start';\n this.originY = 'center';\n this.overlayX = 'end';\n this.overlayY = 'center';\n this.fallbackOriginX = 'end';\n this.fallbackOriginY = 'center';\n this.fallbackOverlayX = 'start';\n this.fallbackOverlayY = 'center';\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-eds-eds-tooltip.mjs","sources":["../../eds-tooltip/eds-tooltip-animations.ts","../../eds-tooltip/eds-tooltip-container.ts","../../eds-tooltip/eds-tooltip-container.html","../../eds-tooltip/eds-tooltip.ts","../../eds-tooltip/eui-eds-eds-tooltip.ts"],"sourcesContent":["import { animate, state, style, transition, trigger, keyframes } from '@angular/animations';\n\n/**\n * Tooltip display animation.\n */\nexport const showHide = trigger('showHide', [\n state('initial, void, hidden', style({ opacity: 0, transform: 'scale(0)' })),\n state('visible', style({ transform: 'scale(1)' })),\n transition(\n '* => visible',\n animate(\n '200ms cubic-bezier(0, 0, 0.2, 1)',\n keyframes([\n style({ opacity: 0, transform: 'scale(0)', offset: 0 }),\n style({ opacity: 0.5, transform: 'scale(0.99)', offset: 0.5 }),\n style({ opacity: 1, transform: 'scale(1)', offset: 1 }),\n ]),\n ),\n ),\n transition('* => hidden', animate('100ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0 }))),\n]);\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport { showHide } from './eds-tooltip-animations';\nimport { EdsTooltipInterface } from './eds-tooltip.config';\n\n@Component({\n selector: 'eds-tooltip-container',\n templateUrl: 'eds-tooltip-container.html',\n styleUrl: './eds-tooltip-container.scss', \n // Styles are in globals: \\packages\\styles\\src\\styles\\07-elements\\directives\\_eui-tooltip.scss\n animations: [showHide],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsTooltipContainer {\n /**\n * Configuration provided by euiTooltip directive at instantiation.\n *\n * @type {EuiTooltipInterface} A config object containing e2eAttr, tooltipContent, position, contentAlign, colorClass.\n */\n @Input() config!: EdsTooltipInterface;\n /**\n * Sets the `data-e2e` attribute for the host element.\n *\n * @default 'eds-tooltip'\n */\n @HostBinding('attr.data-e2e') e2e = 'eds-tooltip';\n /**\n * @description\n * Computes and returns the CSS classes for the component based on its current state.\n *\n * @returns {string} Space-separated string of CSS class names\n */\n @HostBinding('class')\n get cssClasses(): string {\n return ['eds-tooltip', 'eds-tooltip--content-' + this.config.contentAlign, 'eds-tooltip--' + this.config.colorClass]\n .join(' ')\n .trim();\n }\n @HostBinding('@showHide') get showHide(): string {\n return 'visible';\n }\n}\n","<div [innerHTML]=\"config.tooltipContent\"></div>\n","import {\n Directive,\n Input,\n OnInit,\n OnDestroy,\n ElementRef,\n HostListener,\n OnChanges,\n numberAttribute,\n booleanAttribute,\n ComponentRef,\n inject,\n} from '@angular/core';\nimport {\n ConnectedOverlayPositionChange,\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategyOrigin,\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { BehaviorSubject, fromEvent, Subject, Subscription, take, timer } from 'rxjs';\nimport { ComponentPortal } from '@angular/cdk/portal';\n\nimport { EdsTooltipContainer } from './eds-tooltip-container';\nimport { EdsTooltipInterface } from './eds-tooltip.config';\n\n@Directive({\n selector: '[edsTooltip]',\n exportAs: 'edsTooltip',\n})\nexport class EdsTooltip implements OnChanges, OnInit, OnDestroy {\n /**\n * Sets the `data-e2e` attribute for the host element.\n *\n * @default 'eds-tooltip'\n */\n @Input() e2eAttr = 'eds-tooltip';\n /**\n * Sets the delay for the tooltip to be visible.\n *\n * @default 0\n */\n @Input({ transform: numberAttribute }) showDelay = 0;\n /**\n * Sets the delay for the tooltip to be hidden\n *\n * @default 0\n */\n @Input({ transform: numberAttribute }) hideDelay = 0;\n /**\n * Sets the alignment of the content in the tooltip.\n *\n * @default 'center''\n */\n @Input() contentAlignment: 'left' | 'right' | 'center' | 'justify' = 'center';\n /**\n * Sets the position of the tooltip relative to its trigger element.\n *\n * @default 'center''\n */\n @Input() position: 'left' | 'right' | 'above' | 'below' | 'before' | 'after' | string = 'above';\n /**\n * Whether the tooltip is disabled.\n *\n * @default false (enable)\n */\n @Input({ transform: booleanAttribute }) isDisabled = false;\n /**\n * Tooltip content.\n */\n @Input('edsTooltip') tooltipContent!: string;\n /**\n * Whether the tooltip has a Primary state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) edsTooltipPrimary = false;\n /**\n * Whether the tooltip has a Secondary state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) edsTooltipSecondary = false;\n /**\n * Whether the tooltip has Info state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) edsTooltipInfo = false;\n /**\n * Whether the tooltip has a Success state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) edsTooltipSuccess = false;\n /**\n * Whether the tooltip has a Warning state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) edsTooltipWarning = false;\n /**\n * Whether the tooltip has a Danger state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) edsTooltipDanger = false;\n /**\n * Whether the tooltip has Accent state.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) edsTooltipAccent = false;\n\n private originX: 'start' | 'end' | 'center' = 'center';\n private originY: 'top' | 'bottom' | 'center' = 'top';\n private overlayX: 'start' | 'end' | 'center' = 'center';\n private overlayY: 'top' | 'bottom' | 'center' = 'bottom';\n private fallbackOriginX: 'start' | 'end' | 'center' = 'center';\n private fallbackOriginY: 'top' | 'bottom' | 'center' = 'bottom';\n private fallbackOverlayX: 'start' | 'end' | 'center' = 'center';\n private fallbackOverlayY: 'top' | 'bottom' | 'center' = 'top';\n private overlayRef!: OverlayRef | null;\n private destroy$ = new Subject<boolean>();\n private isOpen$ = new BehaviorSubject<boolean>(false);\n private mouseleaveSubscription = new Subscription();\n private blurSubscription = new Subscription();\n private showDelaySubscription = new Subscription();\n private positionStrategySubscription = new Subscription();\n private tooltipInstance!: ComponentRef<EdsTooltipContainer>;\n private overlay = inject(Overlay);\n private host = inject<ElementRef<HTMLElement>>(ElementRef);\n\n ngOnChanges(): void {\n if (this.tooltipInstance) {\n this.tooltipInstance.setInput('config', this.getTooltipConfig());\n }\n\n this.setPosition();\n }\n\n ngOnInit(): void {\n this.setPosition();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.mouseleaveSubscription.unsubscribe();\n this.blurSubscription.unsubscribe();\n this.showDelaySubscription.unsubscribe();\n this.positionStrategySubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n }\n\n @HostListener('mouseenter', ['$event'])\n mouseEntering(event: MouseEvent): void {\n this.show(event.target ?? undefined);\n }\n\n @HostListener('focus', ['$event'])\n focused(event: FocusEvent): void {\n this.show(event.target ?? undefined);\n }\n\n /**\n * Returns the current open state.\n *\n * @returns {boolean} `true` if the element is open, otherwise `false`.\n */\n get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n /**\n * Method that shows a tooltip.\n *\n * @param origin Origin of the tooltip. Where it will be displayed.\n */\n public show(origin: EventTarget = this.host.nativeElement): void {\n this.mouseleaveSubscription.unsubscribe();\n this.blurSubscription.unsubscribe();\n this.showDelaySubscription.unsubscribe();\n \n this.showDelaySubscription = timer(this.showDelay).subscribe(() => {\n if (!this.isOpen && !this.isDisabled && this.tooltipContent) {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(origin as FlexibleConnectedPositionStrategyOrigin)\n .withPositions([\n new ConnectionPositionPair(\n { originX: this.originX, originY: this.originY },\n { overlayX: this.overlayX, overlayY: this.overlayY },\n ),\n new ConnectionPositionPair(\n { originX: this.fallbackOriginX, originY: this.fallbackOriginY },\n { overlayX: this.fallbackOverlayX, overlayY: this.fallbackOverlayY },\n ),\n ])\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: false,\n usePopover: false,\n panelClass: ['eds-tooltip-panel', 'eui-21'],\n positionStrategy,\n scrollStrategy,\n });\n\n this.positionStrategySubscription = positionStrategy.positionChanges.subscribe((overlayPosition) => {\n this.position = this.getPosition(overlayPosition);\n const positionClasses = [\n 'eds-tooltip--left',\n 'eds-tooltip--right',\n 'eds-tooltip--above',\n 'eds-tooltip--below',\n 'eds-tooltip--before',\n 'eds-tooltip--after',\n ];\n this.overlayRef?.removePanelClass(positionClasses);\n this.overlayRef?.addPanelClass(['eds-tooltip--' + this.position]);\n });\n\n const componentPortal = new ComponentPortal<EdsTooltipContainer>(\n EdsTooltipContainer,\n null,\n );\n\n this.tooltipInstance = this.overlayRef.attach(componentPortal);\n this.tooltipInstance.setInput('config', this.getTooltipConfig());\n\n this.isOpen$.next(true);\n }\n });\n\n this.mouseleaveSubscription = fromEvent(origin, 'mouseleave').subscribe(() => {\n this.hide();\n });\n\n this.blurSubscription = fromEvent(origin, 'blur').subscribe(() => {\n this.hide();\n });\n }\n\n /**\n * Method that closes a tooltip.\n */\n public hide(): void {\n timer(this.hideDelay)\n .pipe(take(1))\n .subscribe(() => {\n this.isOpen$.next(false);\n this.mouseleaveSubscription.unsubscribe();\n this.blurSubscription.unsubscribe();\n this.showDelaySubscription.unsubscribe();\n this.positionStrategySubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n });\n }\n\n @HostListener('keydown.esc', ['$any($event)'])\n protected onEscapePressed(event: KeyboardEvent): void {\n if (this.isOpen) {\n event.stopPropagation();\n this.hide();\n }\n }\n\n /**\n * Generates and returns the tooltip configuration based on the defined tooltip properties.\n *\n * @returns {edsTooltipInterface} The tooltip configuration object, including attributes used in container component.\n */\n private getTooltipConfig(): EdsTooltipInterface {\n let colorClass = 'secondary';\n if (this.edsTooltipPrimary) {\n colorClass = 'primary';\n }\n if (this.edsTooltipSecondary) {\n colorClass = 'secondary';\n }\n if (this.edsTooltipInfo) {\n colorClass = 'info';\n }\n if (this.edsTooltipSuccess) {\n colorClass = 'success';\n }\n if (this.edsTooltipWarning) {\n colorClass = 'warning';\n }\n if (this.edsTooltipDanger) {\n colorClass = 'danger';\n }\n if (this.edsTooltipAccent) {\n colorClass = 'accent';\n }\n\n return {\n e2eAttr: this.e2eAttr,\n tooltipContent: this.tooltipContent,\n position: this.position,\n contentAlign: this.contentAlignment,\n colorClass,\n };\n }\n\n /**\n * Determines and returns the tooltip's position based on the overlay's connection pair.\n *\n * @param {ConnectedOverlayPositionChange} overlayPosition - The overlay position change event.\n * @returns {string} The calculated position (`'above'`, `'below'`, `'left'`, or `'right'`).\n */\n private getPosition(overlayPosition: ConnectedOverlayPositionChange): string {\n if (overlayPosition.connectionPair.originY === 'top' && overlayPosition.connectionPair.overlayY === 'bottom') {\n return 'above';\n }\n if (overlayPosition.connectionPair.originY === 'bottom' && overlayPosition.connectionPair.overlayY === 'top') {\n return 'below';\n }\n if (overlayPosition.connectionPair.originX === 'start' && overlayPosition.connectionPair.overlayX === 'end') {\n return 'left';\n }\n if (overlayPosition.connectionPair.originX === 'end' && overlayPosition.connectionPair.overlayX === 'start') {\n return 'right';\n }\n return this.position;\n }\n\n /**\n * Sets the position-related properties based on the current `position` value.\n */\n private setPosition(): void {\n if (this.position === 'above') {\n this.originY = 'top';\n this.overlayY = 'bottom';\n this.fallbackOriginY = 'bottom';\n this.fallbackOverlayY = 'top';\n }\n if (this.position === 'right' || this.position === 'after') {\n this.originX = 'end';\n this.originY = 'center';\n this.overlayX = 'start';\n this.overlayY = 'center';\n this.fallbackOriginX = 'start';\n this.fallbackOriginY = 'center';\n this.fallbackOverlayX = 'end';\n this.fallbackOverlayY = 'center';\n }\n if (this.position === 'below') {\n this.originY = 'bottom';\n this.overlayY = 'top';\n this.fallbackOriginY = 'top';\n this.fallbackOverlayY = 'bottom';\n }\n if (this.position === 'left' || this.position === 'before') {\n this.originX = 'start';\n this.originY = 'center';\n this.overlayX = 'end';\n this.overlayY = 'center';\n this.fallbackOriginX = 'end';\n this.fallbackOriginY = 'center';\n this.fallbackOverlayX = 'start';\n this.fallbackOverlayY = 'center';\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component, inject, ElementRef, contentChild, computed, signal, input, HostListener, HostBinding } from '@angular/core';
|
|
3
|
+
import * as i1 from '@eui/eds/eds-avatar';
|
|
4
|
+
import { EDS_AVATAR } from '@eui/eds/eds-avatar';
|
|
5
|
+
import * as i2 from '@eui/eds/eds-icon';
|
|
6
|
+
import { EDS_ICON } from '@eui/eds/eds-icon';
|
|
7
|
+
import * as i3 from '@angular/cdk/a11y';
|
|
8
|
+
import { A11yModule } from '@angular/cdk/a11y';
|
|
9
|
+
|
|
10
|
+
class EdsUserProfileMenu {
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsUserProfileMenu, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: EdsUserProfileMenu, isStandalone: true, selector: "eds-user-profile-menu", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".eui-21 :host{display:block;padding:var(--eds-sp-xs) var(--eds-sp-none)}\n"] }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsUserProfileMenu, decorators: [{
|
|
15
|
+
type: Component,
|
|
16
|
+
args: [{ selector: 'eds-user-profile-menu', template: "<ng-content></ng-content>\n", styles: [".eui-21 :host{display:block;padding:var(--eds-sp-xs) var(--eds-sp-none)}\n"] }]
|
|
17
|
+
}] });
|
|
18
|
+
|
|
19
|
+
class EdsUserProfile {
|
|
20
|
+
constructor() {
|
|
21
|
+
this.el = inject(ElementRef);
|
|
22
|
+
/** Detects whether a menu is projected. */
|
|
23
|
+
this.menuChild = contentChild(EdsUserProfileMenu, /* @ts-ignore */
|
|
24
|
+
...(ngDevMode ? [{ debugName: "menuChild" }] : /* istanbul ignore next */ []));
|
|
25
|
+
/** Whether the component has a dropdown menu. */
|
|
26
|
+
this.hasMenu = computed(() => !!this.menuChild(), /* @ts-ignore */
|
|
27
|
+
...(ngDevMode ? [{ debugName: "hasMenu" }] : /* istanbul ignore next */ []));
|
|
28
|
+
/** Whether reverse mode is forced by context (e.g. inside eds-shell-header). */
|
|
29
|
+
this.contextReverse = signal(false, /* @ts-ignore */
|
|
30
|
+
...(ngDevMode ? [{ debugName: "contextReverse" }] : /* istanbul ignore next */ []));
|
|
31
|
+
/** Whether the avatar should use medium size (e.g. inside eds-shell-toolbar). */
|
|
32
|
+
this.isInToolbar = signal(false, /* @ts-ignore */
|
|
33
|
+
...(ngDevMode ? [{ debugName: "isInToolbar" }] : /* istanbul ignore next */ []));
|
|
34
|
+
/** Index of the currently focused menu item (-1 = none). */
|
|
35
|
+
this.focusedIndex = signal(-1, /* @ts-ignore */
|
|
36
|
+
...(ngDevMode ? [{ debugName: "focusedIndex" }] : /* istanbul ignore next */ []));
|
|
37
|
+
this.menuItems = [];
|
|
38
|
+
this.needsFocusOnOpen = false;
|
|
39
|
+
/** Full name of the user. */
|
|
40
|
+
this.fullName = input('', /* @ts-ignore */
|
|
41
|
+
...(ngDevMode ? [{ debugName: "fullName" }] : /* istanbul ignore next */ []));
|
|
42
|
+
/** First name. */
|
|
43
|
+
this.firstName = input('', /* @ts-ignore */
|
|
44
|
+
...(ngDevMode ? [{ debugName: "firstName" }] : /* istanbul ignore next */ []));
|
|
45
|
+
/** Last name. */
|
|
46
|
+
this.lastName = input('', /* @ts-ignore */
|
|
47
|
+
...(ngDevMode ? [{ debugName: "lastName" }] : /* istanbul ignore next */ []));
|
|
48
|
+
/** URL of the avatar image. */
|
|
49
|
+
this.avatarUrl = input('', /* @ts-ignore */
|
|
50
|
+
...(ngDevMode ? [{ debugName: "avatarUrl" }] : /* istanbul ignore next */ []));
|
|
51
|
+
/** Additional info displayed below the name (e.g. email, role). */
|
|
52
|
+
this.subInfos = input('', /* @ts-ignore */
|
|
53
|
+
...(ngDevMode ? [{ debugName: "subInfos" }] : /* istanbul ignore next */ []));
|
|
54
|
+
/** Welcome label displayed before the user name. */
|
|
55
|
+
this.welcomeLabel = input('Welcome', /* @ts-ignore */
|
|
56
|
+
...(ngDevMode ? [{ debugName: "welcomeLabel" }] : /* istanbul ignore next */ []));
|
|
57
|
+
/** Whether to show the welcome label. */
|
|
58
|
+
this.hasWelcomeLabel = input(true, /* @ts-ignore */
|
|
59
|
+
...(ngDevMode ? [{ debugName: "hasWelcomeLabel" }] : /* istanbul ignore next */ []));
|
|
60
|
+
/** Whether to show user name and info text. */
|
|
61
|
+
this.isShowUserInfos = input(true, /* @ts-ignore */
|
|
62
|
+
...(ngDevMode ? [{ debugName: "isShowUserInfos" }] : /* istanbul ignore next */ []));
|
|
63
|
+
/** Whether to show initials in the avatar when no image. */
|
|
64
|
+
this.isShowAvatarInitials = input(true, /* @ts-ignore */
|
|
65
|
+
...(ngDevMode ? [{ debugName: "isShowAvatarInitials" }] : /* istanbul ignore next */ []));
|
|
66
|
+
/** Reverse the layout (name on left, avatar on right). */
|
|
67
|
+
this.isReverse = input(false, /* @ts-ignore */
|
|
68
|
+
...(ngDevMode ? [{ debugName: "isReverse" }] : /* istanbul ignore next */ []));
|
|
69
|
+
/** Effective reverse state: true if input or context forces it. */
|
|
70
|
+
this.effectiveReverse = computed(() => this.isReverse() || this.contextReverse(), /* @ts-ignore */
|
|
71
|
+
...(ngDevMode ? [{ debugName: "effectiveReverse" }] : /* istanbul ignore next */ []));
|
|
72
|
+
/** Whether to reverse name order (firstName first). */
|
|
73
|
+
this.reverseNameOrder = input(false, /* @ts-ignore */
|
|
74
|
+
...(ngDevMode ? [{ debugName: "reverseNameOrder" }] : /* istanbul ignore next */ []));
|
|
75
|
+
/** Whether dropdown menu is open. */
|
|
76
|
+
this.isMenuOpen = signal(false, /* @ts-ignore */
|
|
77
|
+
...(ngDevMode ? [{ debugName: "isMenuOpen" }] : /* istanbul ignore next */ []));
|
|
78
|
+
/** Whether the dropdown should align to the left edge instead of right. */
|
|
79
|
+
this.alignLeft = signal(false, /* @ts-ignore */
|
|
80
|
+
...(ngDevMode ? [{ debugName: "alignLeft" }] : /* istanbul ignore next */ []));
|
|
81
|
+
/** Computed display name. */
|
|
82
|
+
this.displayName = computed(() => {
|
|
83
|
+
if (this.fullName())
|
|
84
|
+
return this.fullName();
|
|
85
|
+
const first = this.firstName();
|
|
86
|
+
const last = this.lastName();
|
|
87
|
+
if (this.reverseNameOrder()) {
|
|
88
|
+
return `${first} ${last}`.trim();
|
|
89
|
+
}
|
|
90
|
+
return `${last} ${first}`.trim();
|
|
91
|
+
}, /* @ts-ignore */
|
|
92
|
+
...(ngDevMode ? [{ debugName: "displayName" }] : /* istanbul ignore next */ []));
|
|
93
|
+
/** Computed initials from name. */
|
|
94
|
+
this.initials = computed(() => {
|
|
95
|
+
const first = this.firstName();
|
|
96
|
+
const last = this.lastName();
|
|
97
|
+
if (first && last) {
|
|
98
|
+
return `${first.charAt(0)}${last.charAt(0)}`.toUpperCase();
|
|
99
|
+
}
|
|
100
|
+
const full = this.fullName();
|
|
101
|
+
if (full) {
|
|
102
|
+
const parts = full.split(' ').filter(Boolean);
|
|
103
|
+
if (parts.length >= 2) {
|
|
104
|
+
return `${parts[0].charAt(0)}${parts[parts.length - 1].charAt(0)}`.toUpperCase();
|
|
105
|
+
}
|
|
106
|
+
return full.substring(0, 2).toUpperCase();
|
|
107
|
+
}
|
|
108
|
+
return '';
|
|
109
|
+
}, /* @ts-ignore */
|
|
110
|
+
...(ngDevMode ? [{ debugName: "initials" }] : /* istanbul ignore next */ []));
|
|
111
|
+
}
|
|
112
|
+
ngOnInit() {
|
|
113
|
+
if (this.el.nativeElement.closest('eds-shell-header')) {
|
|
114
|
+
this.contextReverse.set(true);
|
|
115
|
+
}
|
|
116
|
+
if (this.el.nativeElement.closest('eds-shell-toolbar')) {
|
|
117
|
+
this.isInToolbar.set(true);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
ngAfterViewChecked() {
|
|
121
|
+
if (this.needsFocusOnOpen && this.isMenuOpen()) {
|
|
122
|
+
this.menuItems = Array.from(this.el.nativeElement.querySelectorAll('eds-user-profile-menu-item'));
|
|
123
|
+
if (this.menuItems.length > 0) {
|
|
124
|
+
this.focusedIndex.set(0);
|
|
125
|
+
this.menuItems[0].focus();
|
|
126
|
+
this.needsFocusOnOpen = false;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
onDocumentClick(event) {
|
|
131
|
+
if (this.isMenuOpen() && !this.el.nativeElement.contains(event.target)) {
|
|
132
|
+
this.closeMenu();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
toggleMenu() {
|
|
136
|
+
if (!this.isMenuOpen()) {
|
|
137
|
+
this.updateAlignment();
|
|
138
|
+
this.isMenuOpen.set(true);
|
|
139
|
+
this.needsFocusOnOpen = true;
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
this.closeMenu();
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
closeMenu() {
|
|
146
|
+
this.isMenuOpen.set(false);
|
|
147
|
+
this.focusedIndex.set(-1);
|
|
148
|
+
this.menuItems = [];
|
|
149
|
+
}
|
|
150
|
+
onMenuKeydown(event) {
|
|
151
|
+
if (event.key === 'ArrowDown') {
|
|
152
|
+
event.preventDefault();
|
|
153
|
+
this.moveFocus(1);
|
|
154
|
+
}
|
|
155
|
+
else if (event.key === 'ArrowUp') {
|
|
156
|
+
event.preventDefault();
|
|
157
|
+
this.moveFocus(-1);
|
|
158
|
+
}
|
|
159
|
+
else if (event.key === 'Escape') {
|
|
160
|
+
this.closeMenu();
|
|
161
|
+
// Return focus to trigger
|
|
162
|
+
const trigger = this.el.nativeElement.querySelector('.user-profile');
|
|
163
|
+
trigger?.focus();
|
|
164
|
+
}
|
|
165
|
+
else if (event.key === 'Enter' || event.key === ' ') {
|
|
166
|
+
event.preventDefault();
|
|
167
|
+
const idx = this.focusedIndex();
|
|
168
|
+
if (idx >= 0 && idx < this.menuItems.length) {
|
|
169
|
+
this.menuItems[idx].click();
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
moveFocus(direction) {
|
|
174
|
+
if (this.menuItems.length === 0)
|
|
175
|
+
return;
|
|
176
|
+
let newIndex = this.focusedIndex() + direction;
|
|
177
|
+
if (newIndex < 0)
|
|
178
|
+
newIndex = this.menuItems.length - 1;
|
|
179
|
+
if (newIndex >= this.menuItems.length)
|
|
180
|
+
newIndex = 0;
|
|
181
|
+
this.focusedIndex.set(newIndex);
|
|
182
|
+
this.menuItems[newIndex].focus();
|
|
183
|
+
}
|
|
184
|
+
updateAlignment() {
|
|
185
|
+
const rect = this.el.nativeElement.getBoundingClientRect();
|
|
186
|
+
const viewportWidth = window.innerWidth;
|
|
187
|
+
this.alignLeft.set(rect.right < viewportWidth / 2);
|
|
188
|
+
}
|
|
189
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsUserProfile, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
190
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EdsUserProfile, isStandalone: true, selector: "eds-user-profile", inputs: { fullName: { classPropertyName: "fullName", publicName: "fullName", isSignal: true, isRequired: false, transformFunction: null }, firstName: { classPropertyName: "firstName", publicName: "firstName", isSignal: true, isRequired: false, transformFunction: null }, lastName: { classPropertyName: "lastName", publicName: "lastName", isSignal: true, isRequired: false, transformFunction: null }, avatarUrl: { classPropertyName: "avatarUrl", publicName: "avatarUrl", isSignal: true, isRequired: false, transformFunction: null }, subInfos: { classPropertyName: "subInfos", publicName: "subInfos", isSignal: true, isRequired: false, transformFunction: null }, welcomeLabel: { classPropertyName: "welcomeLabel", publicName: "welcomeLabel", isSignal: true, isRequired: false, transformFunction: null }, hasWelcomeLabel: { classPropertyName: "hasWelcomeLabel", publicName: "hasWelcomeLabel", isSignal: true, isRequired: false, transformFunction: null }, isShowUserInfos: { classPropertyName: "isShowUserInfos", publicName: "isShowUserInfos", isSignal: true, isRequired: false, transformFunction: null }, isShowAvatarInitials: { classPropertyName: "isShowAvatarInitials", publicName: "isShowAvatarInitials", isSignal: true, isRequired: false, transformFunction: null }, isReverse: { classPropertyName: "isReverse", publicName: "isReverse", isSignal: true, isRequired: false, transformFunction: null }, reverseNameOrder: { classPropertyName: "reverseNameOrder", publicName: "reverseNameOrder", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, queries: [{ propertyName: "menuChild", first: true, predicate: EdsUserProfileMenu, descendants: true, isSignal: true }], ngImport: i0, template: "<div\n class=\"user-profile\"\n [class.reverse]=\"effectiveReverse()\"\n [class.in-toolbar]=\"isInToolbar()\"\n [class.has-menu]=\"hasMenu()\"\n [attr.tabindex]=\"hasMenu() ? 0 : null\"\n [attr.role]=\"hasMenu() ? 'button' : null\"\n (click)=\"hasMenu() && toggleMenu()\"\n (keydown.enter)=\"hasMenu() && toggleMenu()\"\n (keydown.space)=\"hasMenu() && toggleMenu(); $event.preventDefault()\"\n (keydown.escape)=\"closeMenu()\">\n\n <!-- Avatar -->\n @if (isInToolbar()) {\n <eds-avatar edsSizeM>\n @if (avatarUrl()) {\n <eds-avatar-icon>\n <eds-avatar-image [imageUrl]=\"avatarUrl()\" />\n </eds-avatar-icon>\n } @else if (isShowAvatarInitials() && initials()) {\n <eds-avatar-icon>\n <eds-avatar-text>{{ initials() }}</eds-avatar-text>\n </eds-avatar-icon>\n } @else {\n <eds-avatar-icon>\n <eds-avatar-text>\uD83D\uDC64</eds-avatar-text>\n </eds-avatar-icon>\n }\n </eds-avatar>\n } @else {\n <eds-avatar edsSizeL>\n @if (avatarUrl()) {\n <eds-avatar-icon>\n <eds-avatar-image [imageUrl]=\"avatarUrl()\" />\n </eds-avatar-icon>\n } @else if (isShowAvatarInitials() && initials()) {\n <eds-avatar-icon>\n <eds-avatar-text>{{ initials() }}</eds-avatar-text>\n </eds-avatar-icon>\n } @else {\n <eds-avatar-icon>\n <eds-avatar-text>\uD83D\uDC64</eds-avatar-text>\n </eds-avatar-icon>\n }\n </eds-avatar>\n }\n\n <!-- User info -->\n @if (isShowUserInfos()) {\n <div class=\"user-info\">\n @if (hasWelcomeLabel() && welcomeLabel()) {\n <span class=\"welcome\">{{ welcomeLabel() }}</span>\n }\n <span class=\"name\">{{ displayName() }}</span>\n @if (subInfos()) {\n <span class=\"sub-info\">{{ subInfos() }}</span>\n }\n </div>\n }\n\n <!-- Chevron indicator (only when menu is present) -->\n @if (hasMenu()) {\n <eds-icon class=\"chevron\" [class.chevron-brand]=\"isInToolbar()\" [icon]=\"isMenuOpen() ? 'caret-up' : 'caret-down'\" edsSizeS />\n }\n</div>\n\n<!-- Dropdown menu (content projected) -->\n@if (isMenuOpen()) {\n <div class=\"profile-menu\"\n [class.align-left]=\"alignLeft()\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n role=\"menu\"\n (keydown)=\"onMenuKeydown($event)\">\n <ng-content select=\"eds-user-profile-menu\"></ng-content>\n </div>\n}\n", styles: [".eui-21 :host{display:inline-flex;position:relative}.eui-21 :host .user-profile{display:flex;align-items:center;gap:var(--eds-sp-xs);border-radius:var(--eds-br-s);padding:var(--eds-sp-3xs) var(--eds-sp-xs);transition:background .15s ease}.eui-21 :host .user-profile.has-menu{cursor:pointer}.eui-21 :host .user-profile.has-menu:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:1px!important;border-radius:var(--eds-br-xs)!important}.eui-21 :host .user-profile.has-menu:hover{background:var(--eds-c-surface-elevation-sunken)}.eui-21 :host .user-profile.has-menu.in-toolbar:hover{background:var(--eds-c-surface-brand--hover)}.eui-21 :host .user-profile.reverse .user-info{order:-1;text-align:right}.eui-21 :host .user-info{display:flex;flex-direction:column;min-width:0}.eui-21 :host .welcome{font:var(--eds-f-microcopy-xs);color:var(--eds-c-foreground-subtler)}.eui-21 :host .name{font:var(--eds-f-label-m-semi-bold);color:var(--eds-c-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eui-21 :host .sub-info{font:var(--eds-f-microcopy-xs);color:var(--eds-c-foreground-subtler);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eui-21 :host .chevron{flex-shrink:0;color:var(--eds-c-foreground-subtler);transition:transform .2s ease}.eui-21 :host .chevron.chevron-brand{color:var(--eds-c-on-surface-brand)}.eui-21 :host .profile-menu{position:absolute;top:100%;right:0;z-index:200;min-width:220px;margin-top:var(--eds-sp-3xs);background:var(--eds-c-surface-elevation-overlay);border:var(--eds-bw-xs) solid var(--eds-c-border-divider);border-radius:var(--eds-br-m);box-shadow:var(--eds-sh-3);overflow:hidden}.eui-21 :host .profile-menu.align-left{right:auto;left:0}\n"], dependencies: [{ kind: "component", type: i1.EdsAvatar, selector: "div[edsAvatar], span[edsAvatar], eds-avatar", inputs: ["e2eAttr", "aria-label", "colorPalette"] }, { kind: "component", type: i1.EdsAvatarIcon, selector: "eds-avatar-icon" }, { kind: "component", type: i1.EdsAvatarText, selector: "eds-avatar-text" }, { kind: "component", type: i1.EdsAvatarImage, selector: "eds-avatar-image", inputs: ["imageUrl"] }, { kind: "component", type: i2.EdsIcon, selector: "eds-icon, span[edsIcon]", inputs: ["icon", "set", "ariaLabel", "ariaHidden"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }] }); }
|
|
191
|
+
}
|
|
192
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsUserProfile, decorators: [{
|
|
193
|
+
type: Component,
|
|
194
|
+
args: [{ selector: 'eds-user-profile', imports: [...EDS_AVATAR, ...EDS_ICON, A11yModule], template: "<div\n class=\"user-profile\"\n [class.reverse]=\"effectiveReverse()\"\n [class.in-toolbar]=\"isInToolbar()\"\n [class.has-menu]=\"hasMenu()\"\n [attr.tabindex]=\"hasMenu() ? 0 : null\"\n [attr.role]=\"hasMenu() ? 'button' : null\"\n (click)=\"hasMenu() && toggleMenu()\"\n (keydown.enter)=\"hasMenu() && toggleMenu()\"\n (keydown.space)=\"hasMenu() && toggleMenu(); $event.preventDefault()\"\n (keydown.escape)=\"closeMenu()\">\n\n <!-- Avatar -->\n @if (isInToolbar()) {\n <eds-avatar edsSizeM>\n @if (avatarUrl()) {\n <eds-avatar-icon>\n <eds-avatar-image [imageUrl]=\"avatarUrl()\" />\n </eds-avatar-icon>\n } @else if (isShowAvatarInitials() && initials()) {\n <eds-avatar-icon>\n <eds-avatar-text>{{ initials() }}</eds-avatar-text>\n </eds-avatar-icon>\n } @else {\n <eds-avatar-icon>\n <eds-avatar-text>\uD83D\uDC64</eds-avatar-text>\n </eds-avatar-icon>\n }\n </eds-avatar>\n } @else {\n <eds-avatar edsSizeL>\n @if (avatarUrl()) {\n <eds-avatar-icon>\n <eds-avatar-image [imageUrl]=\"avatarUrl()\" />\n </eds-avatar-icon>\n } @else if (isShowAvatarInitials() && initials()) {\n <eds-avatar-icon>\n <eds-avatar-text>{{ initials() }}</eds-avatar-text>\n </eds-avatar-icon>\n } @else {\n <eds-avatar-icon>\n <eds-avatar-text>\uD83D\uDC64</eds-avatar-text>\n </eds-avatar-icon>\n }\n </eds-avatar>\n }\n\n <!-- User info -->\n @if (isShowUserInfos()) {\n <div class=\"user-info\">\n @if (hasWelcomeLabel() && welcomeLabel()) {\n <span class=\"welcome\">{{ welcomeLabel() }}</span>\n }\n <span class=\"name\">{{ displayName() }}</span>\n @if (subInfos()) {\n <span class=\"sub-info\">{{ subInfos() }}</span>\n }\n </div>\n }\n\n <!-- Chevron indicator (only when menu is present) -->\n @if (hasMenu()) {\n <eds-icon class=\"chevron\" [class.chevron-brand]=\"isInToolbar()\" [icon]=\"isMenuOpen() ? 'caret-up' : 'caret-down'\" edsSizeS />\n }\n</div>\n\n<!-- Dropdown menu (content projected) -->\n@if (isMenuOpen()) {\n <div class=\"profile-menu\"\n [class.align-left]=\"alignLeft()\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n role=\"menu\"\n (keydown)=\"onMenuKeydown($event)\">\n <ng-content select=\"eds-user-profile-menu\"></ng-content>\n </div>\n}\n", styles: [".eui-21 :host{display:inline-flex;position:relative}.eui-21 :host .user-profile{display:flex;align-items:center;gap:var(--eds-sp-xs);border-radius:var(--eds-br-s);padding:var(--eds-sp-3xs) var(--eds-sp-xs);transition:background .15s ease}.eui-21 :host .user-profile.has-menu{cursor:pointer}.eui-21 :host .user-profile.has-menu:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:1px!important;border-radius:var(--eds-br-xs)!important}.eui-21 :host .user-profile.has-menu:hover{background:var(--eds-c-surface-elevation-sunken)}.eui-21 :host .user-profile.has-menu.in-toolbar:hover{background:var(--eds-c-surface-brand--hover)}.eui-21 :host .user-profile.reverse .user-info{order:-1;text-align:right}.eui-21 :host .user-info{display:flex;flex-direction:column;min-width:0}.eui-21 :host .welcome{font:var(--eds-f-microcopy-xs);color:var(--eds-c-foreground-subtler)}.eui-21 :host .name{font:var(--eds-f-label-m-semi-bold);color:var(--eds-c-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eui-21 :host .sub-info{font:var(--eds-f-microcopy-xs);color:var(--eds-c-foreground-subtler);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eui-21 :host .chevron{flex-shrink:0;color:var(--eds-c-foreground-subtler);transition:transform .2s ease}.eui-21 :host .chevron.chevron-brand{color:var(--eds-c-on-surface-brand)}.eui-21 :host .profile-menu{position:absolute;top:100%;right:0;z-index:200;min-width:220px;margin-top:var(--eds-sp-3xs);background:var(--eds-c-surface-elevation-overlay);border:var(--eds-bw-xs) solid var(--eds-c-border-divider);border-radius:var(--eds-br-m);box-shadow:var(--eds-sh-3);overflow:hidden}.eui-21 :host .profile-menu.align-left{right:auto;left:0}\n"] }]
|
|
195
|
+
}], propDecorators: { menuChild: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EdsUserProfileMenu), { isSignal: true }] }], onDocumentClick: [{
|
|
196
|
+
type: HostListener,
|
|
197
|
+
args: ['document:click', ['$event']]
|
|
198
|
+
}], fullName: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullName", required: false }] }], firstName: [{ type: i0.Input, args: [{ isSignal: true, alias: "firstName", required: false }] }], lastName: [{ type: i0.Input, args: [{ isSignal: true, alias: "lastName", required: false }] }], avatarUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatarUrl", required: false }] }], subInfos: [{ type: i0.Input, args: [{ isSignal: true, alias: "subInfos", required: false }] }], welcomeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "welcomeLabel", required: false }] }], hasWelcomeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasWelcomeLabel", required: false }] }], isShowUserInfos: [{ type: i0.Input, args: [{ isSignal: true, alias: "isShowUserInfos", required: false }] }], isShowAvatarInitials: [{ type: i0.Input, args: [{ isSignal: true, alias: "isShowAvatarInitials", required: false }] }], isReverse: [{ type: i0.Input, args: [{ isSignal: true, alias: "isReverse", required: false }] }], reverseNameOrder: [{ type: i0.Input, args: [{ isSignal: true, alias: "reverseNameOrder", required: false }] }] } });
|
|
199
|
+
|
|
200
|
+
class EdsUserProfileMenuItem {
|
|
201
|
+
constructor() {
|
|
202
|
+
this.tabindex = -1;
|
|
203
|
+
this.role = 'menuitem';
|
|
204
|
+
}
|
|
205
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsUserProfileMenuItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
206
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: EdsUserProfileMenuItem, isStandalone: true, selector: "eds-user-profile-menu-item", host: { properties: { "attr.tabindex": "this.tabindex", "attr.role": "this.role" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".eui-21 :host{display:block;padding:var(--eds-sp-xs) var(--eds-sp-m);font:var(--eds-f-paragraph-s);color:var(--eds-c-foreground);cursor:pointer;outline:none;transition:background .15s ease}.eui-21 :host:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:1px!important;border-radius:var(--eds-br-xs)!important}.eui-21 :host:hover{background:var(--eds-c-surface-elevation-sunken)}.eui-21 :host:first-child{background:var(--eds-c-surface-selected)}.eui-21 :host:focus{background:var(--eds-c-surface-selected)}\n"] }); }
|
|
207
|
+
}
|
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsUserProfileMenuItem, decorators: [{
|
|
209
|
+
type: Component,
|
|
210
|
+
args: [{ selector: 'eds-user-profile-menu-item', template: "<ng-content></ng-content>\n", styles: [".eui-21 :host{display:block;padding:var(--eds-sp-xs) var(--eds-sp-m);font:var(--eds-f-paragraph-s);color:var(--eds-c-foreground);cursor:pointer;outline:none;transition:background .15s ease}.eui-21 :host:focus-visible:not([readonly]){outline:var(--eds-bw-s) solid var(--eds-c-border-primary)!important;outline-offset:1px!important;border-radius:var(--eds-br-xs)!important}.eui-21 :host:hover{background:var(--eds-c-surface-elevation-sunken)}.eui-21 :host:first-child{background:var(--eds-c-surface-selected)}.eui-21 :host:focus{background:var(--eds-c-surface-selected)}\n"] }]
|
|
211
|
+
}], propDecorators: { tabindex: [{
|
|
212
|
+
type: HostBinding,
|
|
213
|
+
args: ['attr.tabindex']
|
|
214
|
+
}], role: [{
|
|
215
|
+
type: HostBinding,
|
|
216
|
+
args: ['attr.role']
|
|
217
|
+
}] } });
|
|
218
|
+
|
|
219
|
+
/** Convenience array for importing all eds-user-profile components. */
|
|
220
|
+
const EDS_USER_PROFILE = [
|
|
221
|
+
EdsUserProfile,
|
|
222
|
+
EdsUserProfileMenu,
|
|
223
|
+
EdsUserProfileMenuItem,
|
|
224
|
+
];
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Generated bundle index. Do not edit.
|
|
228
|
+
*/
|
|
229
|
+
|
|
230
|
+
export { EDS_USER_PROFILE, EdsUserProfile, EdsUserProfileMenu, EdsUserProfileMenuItem };
|
|
231
|
+
//# sourceMappingURL=eui-eds-eds-user-profile.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eui-eds-eds-user-profile.mjs","sources":["../../eds-user-profile/eds-user-profile-menu.ts","../../eds-user-profile/eds-user-profile-menu.html","../../eds-user-profile/eds-user-profile.ts","../../eds-user-profile/eds-user-profile.html","../../eds-user-profile/eds-user-profile-menu-item.ts","../../eds-user-profile/eds-user-profile-menu-item.html","../../eds-user-profile/index.ts","../../eds-user-profile/eui-eds-eds-user-profile.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'eds-user-profile-menu',\n templateUrl: './eds-user-profile-menu.html',\n styleUrl: './eds-user-profile-menu.scss',\n})\nexport class EdsUserProfileMenu {}\n","<ng-content></ng-content>\n","import { Component, input, signal, computed, ElementRef, inject, HostListener, OnInit, contentChild, AfterViewChecked } from '@angular/core';\nimport { EDS_AVATAR } from '@eui/eds/eds-avatar';\nimport { EDS_ICON } from '@eui/eds/eds-icon';\nimport { EdsUserProfileMenu } from './eds-user-profile-menu';\nimport { A11yModule } from '@angular/cdk/a11y';\n\n@Component({\n selector: 'eds-user-profile',\n imports: [...EDS_AVATAR, ...EDS_ICON, A11yModule],\n templateUrl: './eds-user-profile.html',\n styleUrl: './eds-user-profile.scss',\n})\nexport class EdsUserProfile implements OnInit, AfterViewChecked {\n private el = inject(ElementRef);\n\n /** Detects whether a menu is projected. */\n private menuChild = contentChild(EdsUserProfileMenu);\n\n /** Whether the component has a dropdown menu. */\n hasMenu = computed(() => !!this.menuChild());\n\n /** Whether reverse mode is forced by context (e.g. inside eds-shell-header). */\n private contextReverse = signal(false);\n\n /** Whether the avatar should use medium size (e.g. inside eds-shell-toolbar). */\n isInToolbar = signal(false);\n\n /** Index of the currently focused menu item (-1 = none). */\n focusedIndex = signal(-1);\n\n private menuItems: HTMLElement[] = [];\n private needsFocusOnOpen = false;\n\n ngOnInit(): void {\n if (this.el.nativeElement.closest('eds-shell-header')) {\n this.contextReverse.set(true);\n }\n if (this.el.nativeElement.closest('eds-shell-toolbar')) {\n this.isInToolbar.set(true);\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.needsFocusOnOpen && this.isMenuOpen()) {\n this.menuItems = Array.from(\n this.el.nativeElement.querySelectorAll('eds-user-profile-menu-item'),\n );\n if (this.menuItems.length > 0) {\n this.focusedIndex.set(0);\n this.menuItems[0].focus();\n this.needsFocusOnOpen = false;\n }\n }\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: MouseEvent): void {\n if (this.isMenuOpen() && !this.el.nativeElement.contains(event.target)) {\n this.closeMenu();\n }\n }\n\n /** Full name of the user. */\n fullName = input<string>('');\n\n /** First name. */\n firstName = input<string>('');\n\n /** Last name. */\n lastName = input<string>('');\n\n /** URL of the avatar image. */\n avatarUrl = input<string>('');\n\n /** Additional info displayed below the name (e.g. email, role). */\n subInfos = input<string>('');\n\n /** Welcome label displayed before the user name. */\n welcomeLabel = input<string>('Welcome');\n\n /** Whether to show the welcome label. */\n hasWelcomeLabel = input<boolean>(true);\n\n /** Whether to show user name and info text. */\n isShowUserInfos = input<boolean>(true);\n\n /** Whether to show initials in the avatar when no image. */\n isShowAvatarInitials = input<boolean>(true);\n\n /** Reverse the layout (name on left, avatar on right). */\n isReverse = input<boolean>(false);\n\n /** Effective reverse state: true if input or context forces it. */\n effectiveReverse = computed(() => this.isReverse() || this.contextReverse());\n\n /** Whether to reverse name order (firstName first). */\n reverseNameOrder = input<boolean>(false);\n\n /** Whether dropdown menu is open. */\n isMenuOpen = signal(false);\n\n /** Whether the dropdown should align to the left edge instead of right. */\n alignLeft = signal(false);\n\n /** Computed display name. */\n displayName = computed(() => {\n if (this.fullName()) return this.fullName();\n const first = this.firstName();\n const last = this.lastName();\n if (this.reverseNameOrder()) {\n return `${first} ${last}`.trim();\n }\n return `${last} ${first}`.trim();\n });\n\n /** Computed initials from name. */\n initials = computed(() => {\n const first = this.firstName();\n const last = this.lastName();\n if (first && last) {\n return `${first.charAt(0)}${last.charAt(0)}`.toUpperCase();\n }\n const full = this.fullName();\n if (full) {\n const parts = full.split(' ').filter(Boolean);\n if (parts.length >= 2) {\n return `${parts[0].charAt(0)}${parts[parts.length - 1].charAt(0)}`.toUpperCase();\n }\n return full.substring(0, 2).toUpperCase();\n }\n return '';\n });\n\n toggleMenu(): void {\n if (!this.isMenuOpen()) {\n this.updateAlignment();\n this.isMenuOpen.set(true);\n this.needsFocusOnOpen = true;\n } else {\n this.closeMenu();\n }\n }\n\n closeMenu(): void {\n this.isMenuOpen.set(false);\n this.focusedIndex.set(-1);\n this.menuItems = [];\n }\n\n onMenuKeydown(event: KeyboardEvent): void {\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n this.moveFocus(1);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n this.moveFocus(-1);\n } else if (event.key === 'Escape') {\n this.closeMenu();\n // Return focus to trigger\n const trigger = this.el.nativeElement.querySelector('.user-profile') as HTMLElement;\n trigger?.focus();\n } else if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n const idx = this.focusedIndex();\n if (idx >= 0 && idx < this.menuItems.length) {\n this.menuItems[idx].click();\n }\n }\n }\n\n private moveFocus(direction: number): void {\n if (this.menuItems.length === 0) return;\n\n let newIndex = this.focusedIndex() + direction;\n if (newIndex < 0) newIndex = this.menuItems.length - 1;\n if (newIndex >= this.menuItems.length) newIndex = 0;\n\n this.focusedIndex.set(newIndex);\n this.menuItems[newIndex].focus();\n }\n\n private updateAlignment(): void {\n const rect = this.el.nativeElement.getBoundingClientRect();\n const viewportWidth = window.innerWidth;\n this.alignLeft.set(rect.right < viewportWidth / 2);\n }\n}\n","<div\n class=\"user-profile\"\n [class.reverse]=\"effectiveReverse()\"\n [class.in-toolbar]=\"isInToolbar()\"\n [class.has-menu]=\"hasMenu()\"\n [attr.tabindex]=\"hasMenu() ? 0 : null\"\n [attr.role]=\"hasMenu() ? 'button' : null\"\n (click)=\"hasMenu() && toggleMenu()\"\n (keydown.enter)=\"hasMenu() && toggleMenu()\"\n (keydown.space)=\"hasMenu() && toggleMenu(); $event.preventDefault()\"\n (keydown.escape)=\"closeMenu()\">\n\n <!-- Avatar -->\n @if (isInToolbar()) {\n <eds-avatar edsSizeM>\n @if (avatarUrl()) {\n <eds-avatar-icon>\n <eds-avatar-image [imageUrl]=\"avatarUrl()\" />\n </eds-avatar-icon>\n } @else if (isShowAvatarInitials() && initials()) {\n <eds-avatar-icon>\n <eds-avatar-text>{{ initials() }}</eds-avatar-text>\n </eds-avatar-icon>\n } @else {\n <eds-avatar-icon>\n <eds-avatar-text>👤</eds-avatar-text>\n </eds-avatar-icon>\n }\n </eds-avatar>\n } @else {\n <eds-avatar edsSizeL>\n @if (avatarUrl()) {\n <eds-avatar-icon>\n <eds-avatar-image [imageUrl]=\"avatarUrl()\" />\n </eds-avatar-icon>\n } @else if (isShowAvatarInitials() && initials()) {\n <eds-avatar-icon>\n <eds-avatar-text>{{ initials() }}</eds-avatar-text>\n </eds-avatar-icon>\n } @else {\n <eds-avatar-icon>\n <eds-avatar-text>👤</eds-avatar-text>\n </eds-avatar-icon>\n }\n </eds-avatar>\n }\n\n <!-- User info -->\n @if (isShowUserInfos()) {\n <div class=\"user-info\">\n @if (hasWelcomeLabel() && welcomeLabel()) {\n <span class=\"welcome\">{{ welcomeLabel() }}</span>\n }\n <span class=\"name\">{{ displayName() }}</span>\n @if (subInfos()) {\n <span class=\"sub-info\">{{ subInfos() }}</span>\n }\n </div>\n }\n\n <!-- Chevron indicator (only when menu is present) -->\n @if (hasMenu()) {\n <eds-icon class=\"chevron\" [class.chevron-brand]=\"isInToolbar()\" [icon]=\"isMenuOpen() ? 'caret-up' : 'caret-down'\" edsSizeS />\n }\n</div>\n\n<!-- Dropdown menu (content projected) -->\n@if (isMenuOpen()) {\n <div class=\"profile-menu\"\n [class.align-left]=\"alignLeft()\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n role=\"menu\"\n (keydown)=\"onMenuKeydown($event)\">\n <ng-content select=\"eds-user-profile-menu\"></ng-content>\n </div>\n}\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'eds-user-profile-menu-item',\n templateUrl: './eds-user-profile-menu-item.html',\n styleUrl: './eds-user-profile-menu-item.scss',\n})\nexport class EdsUserProfileMenuItem {\n @HostBinding('attr.tabindex') tabindex = -1;\n @HostBinding('attr.role') role = 'menuitem';\n}\n","<ng-content></ng-content>\n","import { EdsUserProfile } from './eds-user-profile';\nimport { EdsUserProfileMenu } from './eds-user-profile-menu';\nimport { EdsUserProfileMenuItem } from './eds-user-profile-menu-item';\n\nexport { EdsUserProfile, EdsUserProfileMenu, EdsUserProfileMenuItem };\n\n/** Convenience array for importing all eds-user-profile components. */\nexport const EDS_USER_PROFILE = [\n EdsUserProfile,\n EdsUserProfileMenu,\n EdsUserProfileMenuItem,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|