@eui/components 21.0.0-alpha.18 → 21.0.0-alpha.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/docs/changelog.html +60 -0
  2. package/docs/components/EuiAppComponent.html +7 -3
  3. package/docs/components/EuiAppHeaderComponent.html +1 -1
  4. package/docs/components/EuiAppToolbarComponent.html +1 -1
  5. package/docs/js/search/search_index.js +2 -2
  6. package/docs/miscellaneous/variables.html +48 -506
  7. package/docs/properties.html +1 -1
  8. package/fesm2022/eui-components-layout.mjs +2358 -15
  9. package/fesm2022/eui-components-layout.mjs.map +1 -1
  10. package/fesm2022/eui-components.mjs +1 -146
  11. package/fesm2022/eui-components.mjs.map +1 -1
  12. package/index.d.ts +1 -69
  13. package/index.d.ts.map +1 -1
  14. package/layout/index.d.ts +743 -9
  15. package/layout/index.d.ts.map +1 -1
  16. package/package.json +28 -56
  17. package/fesm2022/eui-components-layout-eui-app.mjs +0 -841
  18. package/fesm2022/eui-components-layout-eui-app.mjs.map +0 -1
  19. package/fesm2022/eui-components-layout-eui-footer.mjs +0 -37
  20. package/fesm2022/eui-components-layout-eui-footer.mjs.map +0 -1
  21. package/fesm2022/eui-components-layout-eui-header.mjs +0 -420
  22. package/fesm2022/eui-components-layout-eui-header.mjs.map +0 -1
  23. package/fesm2022/eui-components-layout-eui-notifications-v2.mjs +0 -264
  24. package/fesm2022/eui-components-layout-eui-notifications-v2.mjs.map +0 -1
  25. package/fesm2022/eui-components-layout-eui-notifications.mjs +0 -277
  26. package/fesm2022/eui-components-layout-eui-notifications.mjs.map +0 -1
  27. package/fesm2022/eui-components-layout-eui-sidebar-toggle.mjs +0 -57
  28. package/fesm2022/eui-components-layout-eui-sidebar-toggle.mjs.map +0 -1
  29. package/fesm2022/eui-components-layout-eui-toolbar.mjs +0 -621
  30. package/fesm2022/eui-components-layout-eui-toolbar.mjs.map +0 -1
  31. package/layout/eui-app/index.d.ts +0 -259
  32. package/layout/eui-app/index.d.ts.map +0 -1
  33. package/layout/eui-app/package.json +0 -3
  34. package/layout/eui-footer/index.d.ts +0 -14
  35. package/layout/eui-footer/index.d.ts.map +0 -1
  36. package/layout/eui-footer/package.json +0 -3
  37. package/layout/eui-header/index.d.ts +0 -136
  38. package/layout/eui-header/index.d.ts.map +0 -1
  39. package/layout/eui-header/package.json +0 -3
  40. package/layout/eui-notifications/index.d.ts +0 -99
  41. package/layout/eui-notifications/index.d.ts.map +0 -1
  42. package/layout/eui-notifications/package.json +0 -3
  43. package/layout/eui-notifications-v2/index.d.ts +0 -88
  44. package/layout/eui-notifications-v2/index.d.ts.map +0 -1
  45. package/layout/eui-notifications-v2/package.json +0 -3
  46. package/layout/eui-sidebar-toggle/index.d.ts +0 -17
  47. package/layout/eui-sidebar-toggle/index.d.ts.map +0 -1
  48. package/layout/eui-sidebar-toggle/package.json +0 -3
  49. package/layout/eui-toolbar/index.d.ts +0 -193
  50. package/layout/eui-toolbar/index.d.ts.map +0 -1
  51. package/layout/eui-toolbar/package.json +0 -3
@@ -1,24 +1,2367 @@
1
- import { EUI_APP } from '@eui/components/layout/eui-app';
2
- import { EUI_TOOLBAR } from '@eui/components/layout/eui-toolbar';
3
- import { EUI_FOOTER } from '@eui/components/layout/eui-footer';
4
- import { EUI_HEADER } from '@eui/components/layout/eui-header';
5
- import { EUI_NOTIFICATIONS } from '@eui/components/layout/eui-notifications';
6
- import { EUI_NOTIFICATIONS_V2 } from '@eui/components/layout/eui-notifications-v2';
7
- import { EUI_SIDEBAR_TOGGLE } from '@eui/components/layout/eui-sidebar-toggle';
1
+ import * as i0 from '@angular/core';
2
+ import { inject, HostListener, Input, HostBinding, ViewEncapsulation, ChangeDetectionStrategy, Component, booleanAttribute, ElementRef, forwardRef, ContentChild, EventEmitter, ContentChildren, Output, ViewChild, ChangeDetectorRef, PLATFORM_ID, Directive, NgZone } from '@angular/core';
3
+ import { DOCUMENT, NgTemplateOutlet, KeyValuePipe, JsonPipe, AsyncPipe, isPlatformBrowser, NgClass, DatePipe } from '@angular/common';
4
+ import { Subscription, Subject, fromEvent, takeUntil as takeUntil$1, startWith } from 'rxjs';
5
+ import { filter, takeUntil, debounceTime } from 'rxjs/operators';
6
+ import { EUI_CONFIG_TOKEN, EuiAppShellService, CssUtils, consumeEvent, EuiGrowlService, EuiThemeService } from '@eui/core';
7
+ import * as i2$1 from '@eui/components/eui-dimmer';
8
+ import { EUI_DIMMER } from '@eui/components/eui-dimmer';
9
+ import { Router, RouterLink, RouterLinkActive, RouterOutlet } from '@angular/router';
10
+ import * as i1$5 from '@eui/components/eui-growl';
11
+ import { EUI_GROWL } from '@eui/components/eui-growl';
12
+ import * as i3$2 from '@eui/components/eui-block-document';
13
+ import { EUI_BLOCK_DOCUMENT } from '@eui/components/eui-block-document';
14
+ import * as i1$3 from '@eui/components/eui-user-profile';
15
+ import { EUI_USER_PROFILE, EuiUserProfileMenuComponent } from '@eui/components/eui-user-profile';
16
+ import * as i1 from '@eui/components/eui-icon';
17
+ import { EUI_ICON } from '@eui/components/eui-icon';
18
+ import * as i3 from '@eui/components/eui-badge';
19
+ import { EUI_BADGE } from '@eui/components/eui-badge';
20
+ import * as i3$1 from '@eui/components/eui-dropdown';
21
+ import { EUI_DROPDOWN } from '@eui/components/eui-dropdown';
22
+ import * as i1$1 from '@eui/components/eui-button';
23
+ import { EUI_BUTTON } from '@eui/components/eui-button';
24
+ import * as i2 from '@eui/components/eui-icon-button';
25
+ import { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';
26
+ import * as i4 from '@eui/components/eui-autocomplete';
27
+ import { EUI_AUTOCOMPLETE } from '@eui/components/eui-autocomplete';
28
+ import { EuiTemplateDirective } from '@eui/components/directives';
29
+ import * as i5 from '@eui/components/eui-icon-input';
30
+ import { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';
31
+ import * as i6 from '@eui/components/eui-input-text';
32
+ import { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';
33
+ import * as i7 from '@angular/forms';
34
+ import { FormsModule } from '@angular/forms';
35
+ import * as i1$2 from '@eui/components/eui-menu';
36
+ import { EUI_MENU } from '@eui/components/eui-menu';
37
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
38
+ import * as i1$4 from '@eui/components/eui-language-selector';
39
+ import { EUI_LANGUAGE_SELECTOR } from '@eui/components/eui-language-selector';
40
+ import { ViewportRuler, ScrollDispatcher } from '@angular/cdk/scrolling';
41
+ import * as i1$6 from '@eui/components/shared';
42
+ import { BaseStatesDirective } from '@eui/components/shared';
43
+ import { ContentObserver } from '@angular/cdk/observers';
44
+ import * as i2$2 from '@ngx-translate/core';
45
+ import { TranslateModule } from '@ngx-translate/core';
46
+ import * as i5$1 from '@eui/components/eui-input-group';
47
+ import { EUI_INPUT_GROUP } from '@eui/components/eui-input-group';
48
+ import { EuiTruncatePipe } from '@eui/components/pipes';
49
+ import * as i4$1 from '@eui/components/eui-overlay';
50
+ import { EUI_OVERLAY } from '@eui/components/eui-overlay';
51
+
52
+ class EuiToolbarLogoComponent {
53
+ constructor() {
54
+ this.class = 'eui-toolbar-logo';
55
+ this.homeUrl = '..';
56
+ this.logoHeight = '36px';
57
+ this.logoWidth = '53px';
58
+ this.router = inject(Router);
59
+ this.config = inject(EUI_CONFIG_TOKEN, { optional: true });
60
+ }
61
+ onClick() {
62
+ this.router.navigate([this.homeUrl]);
63
+ }
64
+ ngOnInit() {
65
+ let assetsBaseUrl = this.config?.appConfig?.global?.eui?.assetsBaseUrl;
66
+ if (!assetsBaseUrl) {
67
+ assetsBaseUrl = 'assets';
68
+ }
69
+ if (!this.logoUrl) {
70
+ this.logoUrlGenerated = `${assetsBaseUrl}/images/ec-europa/logos/europa-flag-small.png`;
71
+ }
72
+ else {
73
+ this.logoUrlGenerated = this.logoUrl;
74
+ }
75
+ this.logoStyle = `width:${this.logoWidth}; height:${this.logoHeight};`;
76
+ }
77
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
78
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EuiToolbarLogoComponent, isStandalone: true, selector: "eui-toolbar-logo", inputs: { homeUrl: "homeUrl", logoUrl: "logoUrl", logoHeight: "logoHeight", logoWidth: "logoWidth" }, host: { listeners: { "click": "onClick()" }, properties: { "class": "this.class" } }, ngImport: i0, template: "<img [src]=\"logoUrlGenerated\" class=\"eui-toolbar-logo__image\" alt=\"application logo\" [style]=\"logoStyle\"/>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
79
+ }
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarLogoComponent, decorators: [{
81
+ type: Component,
82
+ args: [{ selector: 'eui-toolbar-logo', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<img [src]=\"logoUrlGenerated\" class=\"eui-toolbar-logo__image\" alt=\"application logo\" [style]=\"logoStyle\"/>\n" }]
83
+ }], propDecorators: { class: [{
84
+ type: HostBinding
85
+ }], homeUrl: [{
86
+ type: Input
87
+ }], logoUrl: [{
88
+ type: Input
89
+ }], logoHeight: [{
90
+ type: Input
91
+ }], logoWidth: [{
92
+ type: Input
93
+ }], onClick: [{
94
+ type: HostListener,
95
+ args: ['click']
96
+ }] } });
97
+
98
+ class EuiToolbarEnvironmentComponent {
99
+ constructor() {
100
+ this.class = 'eui-toolbar-environment';
101
+ }
102
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarEnvironmentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
103
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EuiToolbarEnvironmentComponent, isStandalone: true, selector: "eui-toolbar-environment", host: { properties: { "class": "this.class" } }, ngImport: i0, template: '<ng-content />', isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
104
+ }
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarEnvironmentComponent, decorators: [{
106
+ type: Component,
107
+ args: [{
108
+ selector: 'eui-toolbar-environment',
109
+ template: '<ng-content />',
110
+ encapsulation: ViewEncapsulation.None,
111
+ }]
112
+ }], propDecorators: { class: [{
113
+ type: HostBinding
114
+ }] } });
115
+
116
+ class EuiToolbarAppComponent {
117
+ constructor() {
118
+ this.class = 'eui-toolbar-app';
119
+ }
120
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarAppComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
121
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiToolbarAppComponent, isStandalone: true, selector: "eui-toolbar-app", inputs: { appName: "appName", appSubTitle: "appSubTitle" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "@if (appSubTitle) {\n <div class=\"eui-toolbar-app__name\">\n {{ appName }}\n </div>\n <div class=\"eui-toolbar-app__subTitle\">\n {{ appSubTitle }}\n </div>\n} @else {\n {{ appName }}\n}\n", encapsulation: i0.ViewEncapsulation.None }); }
122
+ }
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarAppComponent, decorators: [{
124
+ type: Component,
125
+ args: [{ selector: 'eui-toolbar-app', encapsulation: ViewEncapsulation.None, template: "@if (appSubTitle) {\n <div class=\"eui-toolbar-app__name\">\n {{ appName }}\n </div>\n <div class=\"eui-toolbar-app__subTitle\">\n {{ appSubTitle }}\n </div>\n} @else {\n {{ appName }}\n}\n" }]
126
+ }], propDecorators: { class: [{
127
+ type: HostBinding
128
+ }], appName: [{
129
+ type: Input
130
+ }], appSubTitle: [{
131
+ type: Input
132
+ }] } });
133
+
134
+ class EuiToolbarItemsComponent {
135
+ constructor() {
136
+ this.euiEnd = false;
137
+ this.euiPositionRight = false;
138
+ }
139
+ get cssClasses() {
140
+ const rootClass = 'eui-toolbar-items';
141
+ return [
142
+ rootClass,
143
+ this.euiEnd ? `${rootClass}--position-right` : '',
144
+ this.euiPositionRight ? `${rootClass}--position-right` : '',
145
+ ].join(' ').trim();
146
+ }
147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarItemsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
148
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.0-next.3", type: EuiToolbarItemsComponent, isStandalone: true, selector: "eui-toolbar-items", inputs: { euiEnd: ["euiEnd", "euiEnd", booleanAttribute], euiPositionRight: ["euiPositionRight", "euiPositionRight", booleanAttribute] }, host: { properties: { "class": "this.cssClasses" } }, ngImport: i0, template: '<ng-content />', isInline: true }); }
149
+ }
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarItemsComponent, decorators: [{
151
+ type: Component,
152
+ args: [{
153
+ selector: 'eui-toolbar-items',
154
+ template: '<ng-content />',
155
+ }]
156
+ }], propDecorators: { cssClasses: [{
157
+ type: HostBinding,
158
+ args: ['class']
159
+ }], euiEnd: [{
160
+ type: Input,
161
+ args: [{ transform: booleanAttribute }]
162
+ }], euiPositionRight: [{
163
+ type: Input,
164
+ args: [{ transform: booleanAttribute }]
165
+ }] } });
166
+
167
+ class EuiToolbarItemComponent {
168
+ constructor() {
169
+ this.string = 'eui-toolbar-item';
170
+ }
171
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
172
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EuiToolbarItemComponent, isStandalone: true, selector: "eui-toolbar-item", host: { properties: { "class": "this.string" } }, ngImport: i0, template: '<ng-content />', isInline: true }); }
173
+ }
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarItemComponent, decorators: [{
175
+ type: Component,
176
+ args: [{
177
+ selector: 'eui-toolbar-item',
178
+ template: '<ng-content />',
179
+ }]
180
+ }], propDecorators: { string: [{
181
+ type: HostBinding,
182
+ args: ['class']
183
+ }] } });
184
+
185
+ class EuiToolbarMegaMenuComponent {
186
+ constructor() {
187
+ this.string = 'eui-toolbar-mega-menu';
188
+ this.role = 'nav';
189
+ this.activeMenu = null;
190
+ this.asService = inject(EuiAppShellService);
191
+ this.document = inject(DOCUMENT);
192
+ this.subs = new Subscription();
193
+ }
194
+ ngOnInit() {
195
+ // console.log(this.items);
196
+ this.asService.activateToolbarMegaMenu();
197
+ this.megaMenuItems = this.filterMegaMenuItems(this.items);
198
+ // console.log(this.megaMenuItems);
199
+ // console.log(this.groupByColIdPerParent(this.megaMenuItems));
200
+ this.megaMenuItemsGrouped = this.groupByColIdPerParent(this.megaMenuItems);
201
+ // subscribe to state changes
202
+ this.subs.add(this.asService.getState('menuLinks').subscribe((links) => (this.items = links)));
203
+ }
204
+ ngOnChanges(changes) {
205
+ if (changes.items) {
206
+ this.asService.setState({
207
+ ...this.asService.state,
208
+ menuLinks: changes.items.currentValue,
209
+ });
210
+ }
211
+ }
212
+ ngOnDestroy() {
213
+ this.asService.setState({
214
+ ...this.asService.state,
215
+ hasToolbarMegaMenu: false,
216
+ });
217
+ this.document.documentElement.style.removeProperty('--eui-app-toolbar-mega-menu-height');
218
+ }
219
+ closeMenu() {
220
+ this.activeMenu = null;
221
+ }
222
+ openMenu(menuIndex) {
223
+ this.activeMenu = menuIndex;
224
+ }
225
+ groupByColIdPerParent(items) {
226
+ const result = {};
227
+ items.forEach((parent, index) => {
228
+ const group = {};
229
+ parent['children']?.forEach((child) => {
230
+ const colId = child['megaMenuColIndex'] ?? 'eui-no-col-label';
231
+ const colLabel = child['megaMenuColLabel'] ?? 'eui-no-label';
232
+ if (!group[colId]) {
233
+ group[colId] = {};
234
+ }
235
+ if (!group[colId][colLabel]) {
236
+ group[colId][colLabel] = [];
237
+ }
238
+ group[colId][colLabel].push(child);
239
+ });
240
+ result[index] = group;
241
+ });
242
+ return result;
243
+ }
244
+ filterMegaMenuItems(items) {
245
+ return items
246
+ // .filter((item) => item['isMegaMenu'])
247
+ .map((item) => {
248
+ const newItem = { ...item };
249
+ if (newItem['children']) {
250
+ newItem['children'] = this.filterMegaMenuItems(newItem['children']);
251
+ }
252
+ return newItem;
253
+ });
254
+ }
255
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarMegaMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
256
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiToolbarMegaMenuComponent, isStandalone: true, selector: "eui-toolbar-mega-menu", inputs: { items: "items" }, host: { properties: { "class": "this.string", "attr.role": "this.role" } }, usesOnChanges: true, ngImport: i0, template: "<nav (mouseleave)=\"closeMenu()\">\n <ul>\n @for(megaMenuItem of megaMenuItems; track $index; let i = $index) {\n <li>\n @if (megaMenuItem['children'] && megaMenuItem['children'].length > 0) {\n <a href=\"javascript: void(0)\"\n [class.active]=\"activeMenu === i\"\n [class.mega-menu-item--disabled]=\"megaMenuItem['disabled']\"\n [attr.aria-disabled]=\"megaMenuItem['disabled']\"\n (click)=\"openMenu(i)\"\n (focus)=\"openMenu(i)\">\n @if (megaMenuItem['iconSvgName']) {\n <eui-icon-svg\n icon=\"{{ megaMenuItem['iconSvgName'] }}\"\n fillColor=\"{{ megaMenuItem['iconTypeClass'] || null }}\"\n class=\"mega-menu-item-icon\" />\n }\n {{ megaMenuItem['label'] }}\n <eui-icon-svg icon=\"eui-chevron-down:eui\" size=\"xs\" class=\"eui-u-ml-s\" />\n </a>\n } @else {\n <a [routerLink]=\"!megaMenuItem['disabled'] ? megaMenuItem['url'] : null\"\n [class.active]=\"activeMenu === i\"\n [class.mega-menu-item--disabled]=\"megaMenuItem['disabled']\"\n [attr.aria-disabled]=\"megaMenuItem['disabled']\"\n (click)=\"openMenu(i)\"\n (focus)=\"openMenu(i)\">\n {{ megaMenuItem['label'] }}\n </a>\n }\n \n @if (activeMenu === i && megaMenuItem['children'] && megaMenuItem['children'].length > 0 && !megaMenuItem['disabled']) {\n <div class=\"mega-menu__container\">\n @for (col of megaMenuItemsGrouped[i] | keyvalue; track $index) {\n <div class=\"mega-menu__container-col\">\n <ul class=\"mega-menu-items\">\n @for (label of col.value | keyvalue; track $index) {\n\n <div class=\"mega-menu-item\">\n @if (label.key !== 'eui-no-label') {\n <div class=\"mega-menu-item__category\">{{ label.key }}</div>\n }\n \n @for (item of label.value; track $index) {\n <li class=\"mega-menu-item__link\">\n @if (item['url']) {\n <a [routerLink]=\"!item['disabled'] ? item['url'] : null\"\n [class.mega-menu-item--disabled]=\"item['disabled']\"\n [attr.aria-disabled]=\"item['disabled']\">\n <ng-template [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\" />\n </a>\n\n } @else if (item['urlExternal']) {\n <a [href]=\"!item['disabled'] ? item['urlExternal'] : null\"\n [target]=\"item['urlExternalTarget'] ? item['urlExternalTarget'] :'_blank'\"\n [class.mega-menu-item--disabled]=\"item['disabled']\"\n [attr.aria-disabled]=\"item['disabled']\">\n <ng-template [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\" />\n </a>\n }\n </li>\n }\n </div>\n }\n </ul>\n </div>\n }\n </div>\n }\n </li>\n }\n </ul>\n</nav>\n\n<!-- PROJECTED CONTENT -->\n<ng-template #itemContent let-item>\n <div class=\"mega-menu-item__link-start-block\">\n @if (item['iconSvgName']) {\n <eui-icon-svg class=\"mega-menu-item__link-icon\" icon=\"{{ item['iconSvgName'] }}\"\n fillColor=\"{{ item['iconTypeClass'] || null }}\" />\n } @else if (item['hasMarker']) {\n <!-- MARKER -->\n <eui-icon-svg fillColor=\"{{ item['markerTypeClass'] || null }}\" icon=\"ellipse:sharp\" size=\"2xs\"\n [aria-label]=\"item['markerTypeClass'] + ' ' + 'marker'\" />\n }\n </div>\n\n <div class=\"mega-menu-item__link-content-block\">\n <div class=\"mega-menu-item__link-label-container\">\n <span class=\"mega-menu-item__link-label\">{{ item['label'] }}</span>\n </div>\n </div>\n\n <div class=\"mega-menu-item__link-end-block\">\n @if (item['tagLabel']) {\n <eui-badge euiOutline euiVariant=\"{{ item['tagTypeClass'] }}\">{{ item['tagLabel'] }}</eui-badge>\n }\n </div>\n</ng-template>\n", styles: [".eui-toolbar-mega-menu{width:100%;position:fixed;left:0;background-color:var(--eui-c-branding);padding:0;margin:0;top:calc(var(--eui-app-header-height) + var(--eui-app-top-message-height));height:var(--eui-app-toolbar-mega-menu-height)}.eui-toolbar-mega-menu nav{height:100%;margin:0;padding:0;width:100%}.eui-toolbar-mega-menu nav ul{display:flex;height:100%;list-style:none;margin:0;padding:0;position:relative}.eui-toolbar-mega-menu nav ul>li{align-items:center;display:flex}.eui-toolbar-mega-menu nav ul>li a{align-items:center;color:var(--eui-c-branding-contrast);display:flex;height:100%;padding:0 var(--eui-s-l);text-decoration:none}.eui-toolbar-mega-menu nav ul>li a:hover,.eui-toolbar-mega-menu nav ul>li a.active{background-color:var(--eui-c-branding-contrast);color:var(--eui-c-branding)}.eui-toolbar-mega-menu nav ul>li a .mega-menu-item-icon{margin-right:var(--eui-s-xs)}.eui-toolbar-mega-menu nav ul>li a .mega-menu-item-icon:hover .eui-icon-svg>svg,.eui-toolbar-mega-menu nav ul>li a .mega-menu-item-icon.active .eui-icon-svg>svg{fill:var(--eui-c-branding)}.eui-toolbar-mega-menu nav ul>li .mega-menu__container{position:absolute;top:var(--eui-app-toolbar-mega-menu-height);background-color:var(--eui-c-surface-shell);box-shadow:var(--eui-sh-8);gap:var(--eui-s-m);max-height:85vh;overflow:auto;display:flex}.eui-toolbar-mega-menu nav ul>li .mega-menu__container-col{border-right:var(--eui-bw-xs) solid var(--eui-c-divider-light);width:300px}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items{border:var(--eui-bw-xs) solid transparent;display:flex;display:list-item;flex-direction:column;overflow:auto;position:relative;width:100%}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item{display:flex;flex-direction:column;position:relative;width:100%}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item:hover,.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item.active{background-color:var(--eui-c-surface-shell);color:var(--eui-c-text)}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__category{color:var(--eui-c-text);cursor:default;font:var(--eui-f-l-bold);padding:var(--eui-s-xl) var(--eui-s-m) var(--eui-s-xs) var(--eui-s-m);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__category:empty{display:none}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link{align-items:center;display:flex;outline:var(--eui-bw-xs) solid transparent;outline-offset:-1px;width:100%}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link a{color:var(--eui-c-text);cursor:pointer;display:flex;font:var(--eui-f-m);gap:var(--eui-s-xs);outline:var(--eui-bw-xs) solid transparent;outline-offset:-1px;padding:var(--eui-s-xs) var(--eui-s-m);text-decoration:none;width:100%}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link a:hover{background-color:var(--eui-c-primary-surface-light);text-decoration:underline}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link a:focus-visible{outline:var(--eui-bw-xs) solid var(--eui-c-focus-visible)}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link-start-block{align-items:center;display:flex}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link-start-block:empty{display:none}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link-content-block{display:flex;flex-direction:column;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link-content-block .mega-menu-item__link-label-container{align-items:center;display:flex;position:relative;width:100%}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link-content-block .mega-menu-item__link-label-container .mega-menu-item__link-label{color:var(--eui-c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link-end-block{align-items:center;display:flex;gap:var(--eui-s-xs);text-decoration:none}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link-end-block:empty{display:none}.eui-toolbar-mega-menu .mega-menu-item--disabled{cursor:default;opacity:var(--eui-o-50);pointer-events:none}\n"], dependencies: [{ kind: "component", type: i1.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: i3.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["e2eAttr", "aria-label", "maxCharCount", "charReplacement", "euiIconBadge", "euiDottedBadge"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
257
+ }
258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarMegaMenuComponent, decorators: [{
259
+ type: Component,
260
+ args: [{ selector: 'eui-toolbar-mega-menu', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, imports: [...EUI_ICON, ...EUI_BADGE, RouterLink, RouterLinkActive, JsonPipe, KeyValuePipe, NgTemplateOutlet], template: "<nav (mouseleave)=\"closeMenu()\">\n <ul>\n @for(megaMenuItem of megaMenuItems; track $index; let i = $index) {\n <li>\n @if (megaMenuItem['children'] && megaMenuItem['children'].length > 0) {\n <a href=\"javascript: void(0)\"\n [class.active]=\"activeMenu === i\"\n [class.mega-menu-item--disabled]=\"megaMenuItem['disabled']\"\n [attr.aria-disabled]=\"megaMenuItem['disabled']\"\n (click)=\"openMenu(i)\"\n (focus)=\"openMenu(i)\">\n @if (megaMenuItem['iconSvgName']) {\n <eui-icon-svg\n icon=\"{{ megaMenuItem['iconSvgName'] }}\"\n fillColor=\"{{ megaMenuItem['iconTypeClass'] || null }}\"\n class=\"mega-menu-item-icon\" />\n }\n {{ megaMenuItem['label'] }}\n <eui-icon-svg icon=\"eui-chevron-down:eui\" size=\"xs\" class=\"eui-u-ml-s\" />\n </a>\n } @else {\n <a [routerLink]=\"!megaMenuItem['disabled'] ? megaMenuItem['url'] : null\"\n [class.active]=\"activeMenu === i\"\n [class.mega-menu-item--disabled]=\"megaMenuItem['disabled']\"\n [attr.aria-disabled]=\"megaMenuItem['disabled']\"\n (click)=\"openMenu(i)\"\n (focus)=\"openMenu(i)\">\n {{ megaMenuItem['label'] }}\n </a>\n }\n \n @if (activeMenu === i && megaMenuItem['children'] && megaMenuItem['children'].length > 0 && !megaMenuItem['disabled']) {\n <div class=\"mega-menu__container\">\n @for (col of megaMenuItemsGrouped[i] | keyvalue; track $index) {\n <div class=\"mega-menu__container-col\">\n <ul class=\"mega-menu-items\">\n @for (label of col.value | keyvalue; track $index) {\n\n <div class=\"mega-menu-item\">\n @if (label.key !== 'eui-no-label') {\n <div class=\"mega-menu-item__category\">{{ label.key }}</div>\n }\n \n @for (item of label.value; track $index) {\n <li class=\"mega-menu-item__link\">\n @if (item['url']) {\n <a [routerLink]=\"!item['disabled'] ? item['url'] : null\"\n [class.mega-menu-item--disabled]=\"item['disabled']\"\n [attr.aria-disabled]=\"item['disabled']\">\n <ng-template [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\" />\n </a>\n\n } @else if (item['urlExternal']) {\n <a [href]=\"!item['disabled'] ? item['urlExternal'] : null\"\n [target]=\"item['urlExternalTarget'] ? item['urlExternalTarget'] :'_blank'\"\n [class.mega-menu-item--disabled]=\"item['disabled']\"\n [attr.aria-disabled]=\"item['disabled']\">\n <ng-template [ngTemplateOutlet]=\"itemContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\" />\n </a>\n }\n </li>\n }\n </div>\n }\n </ul>\n </div>\n }\n </div>\n }\n </li>\n }\n </ul>\n</nav>\n\n<!-- PROJECTED CONTENT -->\n<ng-template #itemContent let-item>\n <div class=\"mega-menu-item__link-start-block\">\n @if (item['iconSvgName']) {\n <eui-icon-svg class=\"mega-menu-item__link-icon\" icon=\"{{ item['iconSvgName'] }}\"\n fillColor=\"{{ item['iconTypeClass'] || null }}\" />\n } @else if (item['hasMarker']) {\n <!-- MARKER -->\n <eui-icon-svg fillColor=\"{{ item['markerTypeClass'] || null }}\" icon=\"ellipse:sharp\" size=\"2xs\"\n [aria-label]=\"item['markerTypeClass'] + ' ' + 'marker'\" />\n }\n </div>\n\n <div class=\"mega-menu-item__link-content-block\">\n <div class=\"mega-menu-item__link-label-container\">\n <span class=\"mega-menu-item__link-label\">{{ item['label'] }}</span>\n </div>\n </div>\n\n <div class=\"mega-menu-item__link-end-block\">\n @if (item['tagLabel']) {\n <eui-badge euiOutline euiVariant=\"{{ item['tagTypeClass'] }}\">{{ item['tagLabel'] }}</eui-badge>\n }\n </div>\n</ng-template>\n", styles: [".eui-toolbar-mega-menu{width:100%;position:fixed;left:0;background-color:var(--eui-c-branding);padding:0;margin:0;top:calc(var(--eui-app-header-height) + var(--eui-app-top-message-height));height:var(--eui-app-toolbar-mega-menu-height)}.eui-toolbar-mega-menu nav{height:100%;margin:0;padding:0;width:100%}.eui-toolbar-mega-menu nav ul{display:flex;height:100%;list-style:none;margin:0;padding:0;position:relative}.eui-toolbar-mega-menu nav ul>li{align-items:center;display:flex}.eui-toolbar-mega-menu nav ul>li a{align-items:center;color:var(--eui-c-branding-contrast);display:flex;height:100%;padding:0 var(--eui-s-l);text-decoration:none}.eui-toolbar-mega-menu nav ul>li a:hover,.eui-toolbar-mega-menu nav ul>li a.active{background-color:var(--eui-c-branding-contrast);color:var(--eui-c-branding)}.eui-toolbar-mega-menu nav ul>li a .mega-menu-item-icon{margin-right:var(--eui-s-xs)}.eui-toolbar-mega-menu nav ul>li a .mega-menu-item-icon:hover .eui-icon-svg>svg,.eui-toolbar-mega-menu nav ul>li a .mega-menu-item-icon.active .eui-icon-svg>svg{fill:var(--eui-c-branding)}.eui-toolbar-mega-menu nav ul>li .mega-menu__container{position:absolute;top:var(--eui-app-toolbar-mega-menu-height);background-color:var(--eui-c-surface-shell);box-shadow:var(--eui-sh-8);gap:var(--eui-s-m);max-height:85vh;overflow:auto;display:flex}.eui-toolbar-mega-menu nav ul>li .mega-menu__container-col{border-right:var(--eui-bw-xs) solid var(--eui-c-divider-light);width:300px}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items{border:var(--eui-bw-xs) solid transparent;display:flex;display:list-item;flex-direction:column;overflow:auto;position:relative;width:100%}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item{display:flex;flex-direction:column;position:relative;width:100%}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item:hover,.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item.active{background-color:var(--eui-c-surface-shell);color:var(--eui-c-text)}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__category{color:var(--eui-c-text);cursor:default;font:var(--eui-f-l-bold);padding:var(--eui-s-xl) var(--eui-s-m) var(--eui-s-xs) var(--eui-s-m);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__category:empty{display:none}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link{align-items:center;display:flex;outline:var(--eui-bw-xs) solid transparent;outline-offset:-1px;width:100%}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link a{color:var(--eui-c-text);cursor:pointer;display:flex;font:var(--eui-f-m);gap:var(--eui-s-xs);outline:var(--eui-bw-xs) solid transparent;outline-offset:-1px;padding:var(--eui-s-xs) var(--eui-s-m);text-decoration:none;width:100%}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link a:hover{background-color:var(--eui-c-primary-surface-light);text-decoration:underline}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link a:focus-visible{outline:var(--eui-bw-xs) solid var(--eui-c-focus-visible)}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link-start-block{align-items:center;display:flex}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link-start-block:empty{display:none}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link-content-block{display:flex;flex-direction:column;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link-content-block .mega-menu-item__link-label-container{align-items:center;display:flex;position:relative;width:100%}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link-content-block .mega-menu-item__link-label-container .mega-menu-item__link-label{color:var(--eui-c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link-end-block{align-items:center;display:flex;gap:var(--eui-s-xs);text-decoration:none}.eui-toolbar-mega-menu nav ul>li .mega-menu__container ul.mega-menu-items .mega-menu-item__link-end-block:empty{display:none}.eui-toolbar-mega-menu .mega-menu-item--disabled{cursor:default;opacity:var(--eui-o-50);pointer-events:none}\n"] }]
261
+ }], ctorParameters: () => [], propDecorators: { string: [{
262
+ type: HostBinding,
263
+ args: ['class']
264
+ }], role: [{
265
+ type: HostBinding,
266
+ args: ['attr.role']
267
+ }], items: [{
268
+ type: Input
269
+ }] } });
270
+
271
+ class EuiToolbarComponent {
272
+ constructor() {
273
+ this.euiSecondary = false;
274
+ this.euiPrimary = true;
275
+ this.asService = inject(EuiAppShellService);
276
+ this.elRef = inject(ElementRef);
277
+ }
278
+ get cssClasses() {
279
+ return [
280
+ 'eui-toolbar',
281
+ this.euiSecondary ? 'eui-toolbar--secondary eui--secondary' : '',
282
+ this.euiPrimary ? 'eui-toolbar--primary eui--primary' : '',
283
+ ].join(' ').trim();
284
+ }
285
+ ngOnInit() {
286
+ if (this.euiSecondary) {
287
+ this.euiPrimary = false;
288
+ }
289
+ }
290
+ ngAfterViewInit() {
291
+ const appToolbar = this.elRef.nativeElement.closest('eui-app-toolbar');
292
+ setTimeout(() => {
293
+ if (appToolbar && appToolbar.classList.contains('eui--secondary')) {
294
+ this.euiSecondary = true;
295
+ this.euiPrimary = false;
296
+ }
297
+ }, 1);
298
+ }
299
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
300
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiToolbarComponent, isStandalone: true, selector: "eui-toolbar", inputs: { euiSecondary: ["euiSecondary", "euiSecondary", booleanAttribute], euiPrimary: ["euiPrimary", "euiPrimary", booleanAttribute] }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "hasMegaMenu", first: true, predicate: i0.forwardRef(() => EuiToolbarMegaMenuComponent), descendants: true }], ngImport: i0, template: "@if ( (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile ) {\n\n <div class=\"eui-toolbar__left\">\n @if ( ( asService.state$ | async).hasHeaderLogo ) {\n <eui-toolbar-logo></eui-toolbar-logo>\n }\n @if ( ( asService.state$ | async).hasHeaderEnvironment ) {\n <eui-toolbar-environment>\n {{ (asService.state$ | async).environmentValue }}\n </eui-toolbar-environment>\n }\n @if ( (asService.state$ | async).appName ) {\n <eui-toolbar-app appName=\"{{ (asService.state$ | async).appName }}\"></eui-toolbar-app>\n }\n </div>\n\n <ng-container *ngTemplateOutlet=\"toolbarItems\" />\n\n <ng-container *ngTemplateOutlet=\"toolbarLanguageSelector\" />\n\n} @else {\n @if ( (asService.state$ | async).hasHeader ) {\n\n @if ( hasMegaMenu ) {\n <ng-container *ngTemplateOutlet=\"toolbarMegaMenu\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"toolbarNavbar\" />\n <ng-container *ngTemplateOutlet=\"toolbarCenter\" />\n }\n <ng-container *ngTemplateOutlet=\"toolbarItems\" />\n\n } @else {\n\n <div class=\"eui-toolbar__left\">\n <ng-content select=\"eui-toolbar-logo\"></ng-content>\n <ng-content select=\"eui-toolbar-app\"></ng-content>\n <ng-content select=\"eui-toolbar-environment\"></ng-content>\n <ng-container *ngTemplateOutlet=\"toolbarNavbar\"></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"toolbarCenter\" />\n\n <div class=\"eui-toolbar__right\">\n <ng-container *ngTemplateOutlet=\"toolbarItems\"></ng-container>\n </div>\n }\n <ng-container *ngTemplateOutlet=\"toolbarLanguageSelector\" />\n}\n\n<ng-template #toolbarCenter>\n <ng-content select=\"eui-toolbar-center\" />\n</ng-template>\n\n<ng-template #toolbarItems>\n <ng-content select=\"eui-toolbar-items\" />\n</ng-template>\n\n<ng-template #toolbarNavbar>\n <ng-content select=\"eui-toolbar-navbar\" />\n</ng-template>\n\n<ng-template #toolbarMegaMenu>\n @if (hasMegaMenu) {\n <ng-content select=\"eui-toolbar-mega-menu\"></ng-content>\n }\n</ng-template>\n\n<ng-template #toolbarLanguageSelector>\n <ng-content select=\"eui-language-selector\" />\n</ng-template>\n", styles: [".eui-toolbar{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;height:var(--eui-app-toolbar-height);justify-content:space-between;padding:0 var(--eui-s-m) 0 var(--eui-s-s);position:relative;width:100%;border-bottom:1px solid var(--eui-c-divider);overflow:hidden}.eui-toolbar__left,.eui-toolbar__start{display:flex;align-items:center;flex:1}.eui-toolbar__center{display:block;margin-left:auto;text-align:center}.eui-toolbar__right{align-items:center;display:flex;flex:1;justify-content:right}.eui-toolbar-items{align-items:center;display:flex;margin-left:auto;position:relative;gap:var(--eui-s-s)}.eui-toolbar-items--position-left{margin-right:auto}.eui-toolbar-items--position-right{margin-left:auto}.eui-toolbar-items>*{display:inline-flex}.eui-toolbar-item{display:flex;align-items:center}.eui-toolbar-logo{display:flex;margin-right:var(--eui-s-m)}.eui-toolbar-logo__image{background-size:cover;cursor:pointer;height:40px}.eui-toolbar-app{font:var(--eui-f-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-toolbar-app__name{font:var(--eui-f-l);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-toolbar-app__subTitle{font:var(--eui-f-m);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-toolbar-environment{background-color:var(--eui-c-danger);color:var(--eui-c-white);cursor:pointer;font:var(--eui-f-s);left:var(--eui-s-4xs);pointer-events:none;position:absolute;text-align:center;transform:rotate(-20deg);width:4.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-toolbar--primary{background-color:var(--eui-c-branding);color:var(--eui-c-white)}.eui-toolbar--secondary,.eui--secondary .eui-toolbar{background-color:var(--eui-c-surface-shell);color:var(--eui-c-text)}.eui--primary .eui-toolbar{background-color:var(--eui-c-branding);color:var(--eui-c-white)}.eui--primary .eui-toolbar-item .eui-icon-svg{--_color: var(--eui-c-white)}.eui--primary .eui-icon-button--has-focus-hover-bg .eui-icon-button__button:hover{background-color:var(--eui-c-branding-light)!important;color:var(--eui-c-branding-light-contrast)!important}.eui--primary .eui-icon-button--has-focus-hover-bg .eui-icon-button__button:hover .eui-icon-svg svg{color:var(--eui-c-branding-light-contrast)!important;fill:var(--eui-c-branding-light-contrast)!important}@media screen and (max-width: 767px){.eui-toolbar{flex-wrap:initial;padding:0 var(--eui-s-xs) 0 var(--eui-s-m)}.eui-toolbar-logo{display:none}.eui-toolbar-app{display:block;font:var(--eui-f-xl);padding-left:0;text-overflow:inherit;overflow:visible}.eui-toolbar-environment{display:none}.eui-t-ec .eui-toolbar-app{margin-top:0}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EuiToolbarLogoComponent, selector: "eui-toolbar-logo", inputs: ["homeUrl", "logoUrl", "logoHeight", "logoWidth"] }, { kind: "component", type: EuiToolbarEnvironmentComponent, selector: "eui-toolbar-environment" }, { kind: "component", type: EuiToolbarAppComponent, selector: "eui-toolbar-app", inputs: ["appName", "appSubTitle"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
301
+ }
302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarComponent, decorators: [{
303
+ type: Component,
304
+ args: [{ selector: 'eui-toolbar', encapsulation: ViewEncapsulation.None, imports: [
305
+ AsyncPipe,
306
+ NgTemplateOutlet,
307
+ EuiToolbarLogoComponent,
308
+ EuiToolbarEnvironmentComponent,
309
+ EuiToolbarAppComponent,
310
+ EuiToolbarItemsComponent,
311
+ EuiToolbarItemComponent,
312
+ ...EUI_USER_PROFILE,
313
+ ], template: "@if ( (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile ) {\n\n <div class=\"eui-toolbar__left\">\n @if ( ( asService.state$ | async).hasHeaderLogo ) {\n <eui-toolbar-logo></eui-toolbar-logo>\n }\n @if ( ( asService.state$ | async).hasHeaderEnvironment ) {\n <eui-toolbar-environment>\n {{ (asService.state$ | async).environmentValue }}\n </eui-toolbar-environment>\n }\n @if ( (asService.state$ | async).appName ) {\n <eui-toolbar-app appName=\"{{ (asService.state$ | async).appName }}\"></eui-toolbar-app>\n }\n </div>\n\n <ng-container *ngTemplateOutlet=\"toolbarItems\" />\n\n <ng-container *ngTemplateOutlet=\"toolbarLanguageSelector\" />\n\n} @else {\n @if ( (asService.state$ | async).hasHeader ) {\n\n @if ( hasMegaMenu ) {\n <ng-container *ngTemplateOutlet=\"toolbarMegaMenu\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"toolbarNavbar\" />\n <ng-container *ngTemplateOutlet=\"toolbarCenter\" />\n }\n <ng-container *ngTemplateOutlet=\"toolbarItems\" />\n\n } @else {\n\n <div class=\"eui-toolbar__left\">\n <ng-content select=\"eui-toolbar-logo\"></ng-content>\n <ng-content select=\"eui-toolbar-app\"></ng-content>\n <ng-content select=\"eui-toolbar-environment\"></ng-content>\n <ng-container *ngTemplateOutlet=\"toolbarNavbar\"></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"toolbarCenter\" />\n\n <div class=\"eui-toolbar__right\">\n <ng-container *ngTemplateOutlet=\"toolbarItems\"></ng-container>\n </div>\n }\n <ng-container *ngTemplateOutlet=\"toolbarLanguageSelector\" />\n}\n\n<ng-template #toolbarCenter>\n <ng-content select=\"eui-toolbar-center\" />\n</ng-template>\n\n<ng-template #toolbarItems>\n <ng-content select=\"eui-toolbar-items\" />\n</ng-template>\n\n<ng-template #toolbarNavbar>\n <ng-content select=\"eui-toolbar-navbar\" />\n</ng-template>\n\n<ng-template #toolbarMegaMenu>\n @if (hasMegaMenu) {\n <ng-content select=\"eui-toolbar-mega-menu\"></ng-content>\n }\n</ng-template>\n\n<ng-template #toolbarLanguageSelector>\n <ng-content select=\"eui-language-selector\" />\n</ng-template>\n", styles: [".eui-toolbar{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;height:var(--eui-app-toolbar-height);justify-content:space-between;padding:0 var(--eui-s-m) 0 var(--eui-s-s);position:relative;width:100%;border-bottom:1px solid var(--eui-c-divider);overflow:hidden}.eui-toolbar__left,.eui-toolbar__start{display:flex;align-items:center;flex:1}.eui-toolbar__center{display:block;margin-left:auto;text-align:center}.eui-toolbar__right{align-items:center;display:flex;flex:1;justify-content:right}.eui-toolbar-items{align-items:center;display:flex;margin-left:auto;position:relative;gap:var(--eui-s-s)}.eui-toolbar-items--position-left{margin-right:auto}.eui-toolbar-items--position-right{margin-left:auto}.eui-toolbar-items>*{display:inline-flex}.eui-toolbar-item{display:flex;align-items:center}.eui-toolbar-logo{display:flex;margin-right:var(--eui-s-m)}.eui-toolbar-logo__image{background-size:cover;cursor:pointer;height:40px}.eui-toolbar-app{font:var(--eui-f-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-toolbar-app__name{font:var(--eui-f-l);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-toolbar-app__subTitle{font:var(--eui-f-m);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-toolbar-environment{background-color:var(--eui-c-danger);color:var(--eui-c-white);cursor:pointer;font:var(--eui-f-s);left:var(--eui-s-4xs);pointer-events:none;position:absolute;text-align:center;transform:rotate(-20deg);width:4.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-toolbar--primary{background-color:var(--eui-c-branding);color:var(--eui-c-white)}.eui-toolbar--secondary,.eui--secondary .eui-toolbar{background-color:var(--eui-c-surface-shell);color:var(--eui-c-text)}.eui--primary .eui-toolbar{background-color:var(--eui-c-branding);color:var(--eui-c-white)}.eui--primary .eui-toolbar-item .eui-icon-svg{--_color: var(--eui-c-white)}.eui--primary .eui-icon-button--has-focus-hover-bg .eui-icon-button__button:hover{background-color:var(--eui-c-branding-light)!important;color:var(--eui-c-branding-light-contrast)!important}.eui--primary .eui-icon-button--has-focus-hover-bg .eui-icon-button__button:hover .eui-icon-svg svg{color:var(--eui-c-branding-light-contrast)!important;fill:var(--eui-c-branding-light-contrast)!important}@media screen and (max-width: 767px){.eui-toolbar{flex-wrap:initial;padding:0 var(--eui-s-xs) 0 var(--eui-s-m)}.eui-toolbar-logo{display:none}.eui-toolbar-app{display:block;font:var(--eui-f-xl);padding-left:0;text-overflow:inherit;overflow:visible}.eui-toolbar-environment{display:none}.eui-t-ec .eui-toolbar-app{margin-top:0}}\n"] }]
314
+ }], propDecorators: { cssClasses: [{
315
+ type: HostBinding,
316
+ args: ['class']
317
+ }], euiSecondary: [{
318
+ type: Input,
319
+ args: [{ transform: booleanAttribute }]
320
+ }], euiPrimary: [{
321
+ type: Input,
322
+ args: [{ transform: booleanAttribute }]
323
+ }], hasMegaMenu: [{
324
+ type: ContentChild,
325
+ args: [forwardRef(() => EuiToolbarMegaMenuComponent)]
326
+ }] } });
327
+
328
+ class EuiToolbarCenterComponent {
329
+ constructor() {
330
+ this.string = 'eui-toolbar__center';
331
+ }
332
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarCenterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
333
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EuiToolbarCenterComponent, isStandalone: true, selector: "eui-toolbar-center", host: { properties: { "class": "this.string" } }, ngImport: i0, template: '<ng-content />', isInline: true }); }
334
+ }
335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarCenterComponent, decorators: [{
336
+ type: Component,
337
+ args: [{
338
+ selector: 'eui-toolbar-center',
339
+ template: '<ng-content />',
340
+ }]
341
+ }], propDecorators: { string: [{
342
+ type: HostBinding,
343
+ args: ['class']
344
+ }] } });
345
+
346
+ class EuiToolbarNavbarItemComponent {
347
+ get cssClasses() {
348
+ return [
349
+ 'eui-toolbar-navbar-item',
350
+ this.isActive ? 'eui-toolbar-navbar-item--active' : '',
351
+ ].join(' ').trim();
352
+ }
353
+ constructor() {
354
+ this.tabindex = 0;
355
+ this.isActive = false;
356
+ const navBarComponent = inject(EuiToolbarNavbarComponent, { host: true, optional: true });
357
+ this.navBarComponentParent = navBarComponent;
358
+ }
359
+ onClick() {
360
+ this._click();
361
+ }
362
+ onKeydown(event) {
363
+ switch (event.code) {
364
+ case 'Enter':
365
+ case 'Space':
366
+ event.preventDefault();
367
+ event.stopPropagation();
368
+ this._click();
369
+ break;
370
+ }
371
+ }
372
+ _click() {
373
+ this.navBarComponentParent.itemSelected(this.id);
374
+ }
375
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarNavbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
376
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.0-next.3", type: EuiToolbarNavbarItemComponent, isStandalone: true, selector: "eui-toolbar-navbar-item", inputs: { id: "id", label: "label", isActive: ["isActive", "isActive", booleanAttribute] }, host: { listeners: { "click": "onClick()", "keydown": "onKeydown($event)" }, properties: { "class": "this.cssClasses", "attr.tabindex": "this.tabindex" } }, ngImport: i0, template: '{{ label }}', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
377
+ }
378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarNavbarItemComponent, decorators: [{
379
+ type: Component,
380
+ args: [{
381
+ selector: 'eui-toolbar-navbar-item',
382
+ template: '{{ label }}',
383
+ changeDetection: ChangeDetectionStrategy.OnPush,
384
+ }]
385
+ }], ctorParameters: () => [], propDecorators: { cssClasses: [{
386
+ type: HostBinding,
387
+ args: ['class']
388
+ }], tabindex: [{
389
+ type: HostBinding,
390
+ args: ['attr.tabindex']
391
+ }], id: [{
392
+ type: Input
393
+ }], label: [{
394
+ type: Input
395
+ }], isActive: [{
396
+ type: Input,
397
+ args: [{ transform: booleanAttribute }]
398
+ }], onClick: [{
399
+ type: HostListener,
400
+ args: ['click']
401
+ }], onKeydown: [{
402
+ type: HostListener,
403
+ args: ['keydown', ['$event']]
404
+ }] } });
405
+
406
+ class EuiToolbarNavbarComponent {
407
+ constructor() {
408
+ this.class = 'eui-toolbar-navbar';
409
+ this.itemClick = new EventEmitter();
410
+ this.asService = inject(EuiAppShellService);
411
+ this.isDropdownView = false;
412
+ this.elementRef = inject(ElementRef);
413
+ }
414
+ ngAfterContentInit() {
415
+ this.baseItemSelected = this.items.filter((i) => i.isActive)[0];
416
+ }
417
+ ngAfterViewInit() {
418
+ // if (!this.asService?.state?.hasHeader) {
419
+ const parentWidth = this.elementRef.nativeElement.closest('eui-toolbar').clientWidth;
420
+ const width = this.elementRef.nativeElement.clientWidth;
421
+ if (width > parentWidth) {
422
+ setTimeout(() => {
423
+ this.isDropdownView = true;
424
+ }, 1);
425
+ }
426
+ // }
427
+ }
428
+ itemSelected(id) {
429
+ this.items.forEach((item) => {
430
+ if (item.id === id) {
431
+ item.isActive = true;
432
+ }
433
+ else {
434
+ item.isActive = false;
435
+ }
436
+ });
437
+ this.itemClick.emit(id);
438
+ }
439
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
440
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiToolbarNavbarComponent, isStandalone: true, selector: "eui-toolbar-navbar", outputs: { itemClick: "itemClick" }, host: { properties: { "class": "this.class" } }, queries: [{ propertyName: "items", predicate: i0.forwardRef(() => EuiToolbarNavbarItemComponent) }], ngImport: i0, template: "@if ( (asService.breakpoints$ | async).isLtLargeTablet || isDropdownView ) {\n <eui-dropdown isLabelUpdatedFromSelectedItem>\n <button euiButton euiSecondary euiSizeS [attr.aria-label]=\"'Button trigger'\">\n <span class=\"eui-label\">{{ baseItemSelected.label }}</span>\n <eui-icon-svg icon=\"chevron-down:sharp\" size=\"s\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n @for (item of items; track item) {\n <button euiDropdownItem (click)=\"itemSelected(item.id)\" ariaLabel=\"{{ item.label }}\">\n {{ item.label }}\n </button>\n }\n </eui-dropdown-content>\n </eui-dropdown>\n} @else {\n <ng-content />\n}\n", styles: [".eui-toolbar-navbar{display:flex;align-items:center;width:100%;padding:0 var(--eui-s-s);height:var(--eui-s-7xl)}.eui-toolbar-navbar-item{display:flex;align-items:center;height:100%;padding:var(--eui-s-m) var(--eui-s-s);border-bottom:2px solid transparent;font:var(--eui-f-m-semi-bold);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}.eui-toolbar-navbar-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-toolbar-navbar-item:hover{background-color:var(--eui-c-branding-dark)}.eui-toolbar-navbar-item--active{border-bottom:3px solid var(--eui-c-white);color:var(--eui-c-white)}.eui--secondary .eui-toolbar-navbar-item:hover{background-color:var(--eui-c-surface-container-1)}.eui--secondary .eui-toolbar-navbar-item--active{border-bottom:3px solid var(--eui-c-active);color:var(--eui-c-active)}\n"], dependencies: [{ kind: "component", type: i1.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$1.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiCTAButton", "euiBlockButton", "euiIconButton", "euiAvatarButton", "euiLineWrap", "isCompact", "hasNoFocusRing", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i3$1.EuiDropdownComponent, selector: "eui-dropdown", inputs: ["e2eAttr", "tabIndex", "width", "height", "position", "subDropdownPosition", "isBlock", "isDropDownRightAligned", "hasClosedOnClickInside", "isLabelUpdatedFromSelectedItem", "isExpandOnHover", "hasTabNavigation", "isRightClickEnabled", "euiDisabled"], outputs: ["expand", "isDropdownOpen"] }, { kind: "component", type: i3$1.EuiDropdownItemComponent, selector: "eui-dropdown-item, [euiDropdownItem]", inputs: ["subDropdown", "isActive", "isFocus"] }, { kind: "directive", type: i3$1.EuiDropdownContentDirective, selector: "eui-dropdown-content" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
441
+ }
442
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarNavbarComponent, decorators: [{
443
+ type: Component,
444
+ args: [{ selector: 'eui-toolbar-navbar', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, imports: [
445
+ AsyncPipe,
446
+ ...EUI_ICON,
447
+ ...EUI_BUTTON,
448
+ ...EUI_DROPDOWN,
449
+ ], template: "@if ( (asService.breakpoints$ | async).isLtLargeTablet || isDropdownView ) {\n <eui-dropdown isLabelUpdatedFromSelectedItem>\n <button euiButton euiSecondary euiSizeS [attr.aria-label]=\"'Button trigger'\">\n <span class=\"eui-label\">{{ baseItemSelected.label }}</span>\n <eui-icon-svg icon=\"chevron-down:sharp\" size=\"s\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n @for (item of items; track item) {\n <button euiDropdownItem (click)=\"itemSelected(item.id)\" ariaLabel=\"{{ item.label }}\">\n {{ item.label }}\n </button>\n }\n </eui-dropdown-content>\n </eui-dropdown>\n} @else {\n <ng-content />\n}\n", styles: [".eui-toolbar-navbar{display:flex;align-items:center;width:100%;padding:0 var(--eui-s-s);height:var(--eui-s-7xl)}.eui-toolbar-navbar-item{display:flex;align-items:center;height:100%;padding:var(--eui-s-m) var(--eui-s-s);border-bottom:2px solid transparent;font:var(--eui-f-m-semi-bold);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}.eui-toolbar-navbar-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-toolbar-navbar-item:hover{background-color:var(--eui-c-branding-dark)}.eui-toolbar-navbar-item--active{border-bottom:3px solid var(--eui-c-white);color:var(--eui-c-white)}.eui--secondary .eui-toolbar-navbar-item:hover{background-color:var(--eui-c-surface-container-1)}.eui--secondary .eui-toolbar-navbar-item--active{border-bottom:3px solid var(--eui-c-active);color:var(--eui-c-active)}\n"] }]
450
+ }], propDecorators: { class: [{
451
+ type: HostBinding
452
+ }], itemClick: [{
453
+ type: Output
454
+ }], items: [{
455
+ type: ContentChildren,
456
+ args: [forwardRef(() => EuiToolbarNavbarItemComponent)]
457
+ }] } });
458
+
459
+ class EuiToolbarSelectorComponent {
460
+ constructor() {
461
+ this.class = 'eui-toolbar-selector';
462
+ this.euiDisabled = false;
463
+ this.selectorClick = new EventEmitter();
464
+ this.asService = inject(EuiAppShellService);
465
+ }
466
+ onClick() {
467
+ this.selectorClick.emit(true);
468
+ }
469
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
470
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiToolbarSelectorComponent, isStandalone: true, selector: "eui-toolbar-selector", inputs: { label: "label", iconSvgName: "iconSvgName", euiDisabled: ["euiDisabled", "euiDisabled", booleanAttribute] }, outputs: { selectorClick: "selectorClick" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "@if ((asService.breakpoints$ | async).isLtLargeTablet) {\n <eui-icon-button [icon]=\"iconSvgName\" fillColor=\"neutral-bg\" (buttonClick)=\"onClick()\"/>\n} @else {\n <button euiButton euiButtonOutline [euiDisabled]=\"euiDisabled\" (click)=\"onClick()\" class=\"eui-toolbar-selector__button\">\n {{ label }}\n <eui-icon-svg [icon]=\"iconSvgName\" fillColor=\"neutral-bg\" size=\"s\" class=\"eui-u-ml-m\"></eui-icon-svg>\n </button>\n}\n", styles: [".eui-toolbar-selector__button{background-color:var(--eui-c-branding-dark)!important;border-color:var(--eui-c-branding-light)!important;border-radius:var(--eui-br-xl)!important;color:var(--eui-c-surface-container-2)!important}.eui-toolbar-selector__button:hover{border-color:var(--eui-c-white)!important;color:var(--eui-c-white)!important}.eui-toolbar-selector__button:hover .eui-icon-svg svg{fill:var(--eui-c-white)!important;color:var(--eui-c-white)!important}\n"], dependencies: [{ kind: "component", type: i1$1.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiCTAButton", "euiBlockButton", "euiIconButton", "euiAvatarButton", "euiLineWrap", "isCompact", "hasNoFocusRing", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i1.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: i2.EuiIconButtonComponent, selector: "eui-icon-button", inputs: ["icon", "iconUrl", "fillColor", "size", "ariaLabel", "tabindex", "hasNoPadding", "hasOverflowHover", "hasFocusHoverColor", "hasFocusHoverBg", "euiRounded", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
471
+ }
472
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarSelectorComponent, decorators: [{
473
+ type: Component,
474
+ args: [{ selector: 'eui-toolbar-selector', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
475
+ AsyncPipe,
476
+ ...EUI_BUTTON,
477
+ ...EUI_ICON,
478
+ ...EUI_ICON_BUTTON,
479
+ ], template: "@if ((asService.breakpoints$ | async).isLtLargeTablet) {\n <eui-icon-button [icon]=\"iconSvgName\" fillColor=\"neutral-bg\" (buttonClick)=\"onClick()\"/>\n} @else {\n <button euiButton euiButtonOutline [euiDisabled]=\"euiDisabled\" (click)=\"onClick()\" class=\"eui-toolbar-selector__button\">\n {{ label }}\n <eui-icon-svg [icon]=\"iconSvgName\" fillColor=\"neutral-bg\" size=\"s\" class=\"eui-u-ml-m\"></eui-icon-svg>\n </button>\n}\n", styles: [".eui-toolbar-selector__button{background-color:var(--eui-c-branding-dark)!important;border-color:var(--eui-c-branding-light)!important;border-radius:var(--eui-br-xl)!important;color:var(--eui-c-surface-container-2)!important}.eui-toolbar-selector__button:hover{border-color:var(--eui-c-white)!important;color:var(--eui-c-white)!important}.eui-toolbar-selector__button:hover .eui-icon-svg svg{fill:var(--eui-c-white)!important;color:var(--eui-c-white)!important}\n"] }]
480
+ }], propDecorators: { class: [{
481
+ type: HostBinding
482
+ }], label: [{
483
+ type: Input
484
+ }], iconSvgName: [{
485
+ type: Input
486
+ }], euiDisabled: [{
487
+ type: Input,
488
+ args: [{ transform: booleanAttribute }]
489
+ }], selectorClick: [{
490
+ type: Output
491
+ }] } });
492
+
493
+ class EuiToolbarSearchComponent {
494
+ constructor() {
495
+ this.isInputFocus = false;
496
+ this.searchInput = '';
497
+ this.panelWidth = '25vw';
498
+ this.searchResults = [];
499
+ this.isAutocomplete = false;
500
+ this.isInputText = false;
501
+ this.hasSearchButton = false;
502
+ this.hasExpandAnimation = true;
503
+ // eslint-disable-next-line @angular-eslint/no-output-native
504
+ this.search = new EventEmitter();
505
+ this.selectionChange = new EventEmitter();
506
+ this.searchClick = new EventEmitter();
507
+ this.inputFocus = new EventEmitter();
508
+ this.inputBlur = new EventEmitter();
509
+ this.asService = inject(EuiAppShellService);
510
+ }
511
+ get cssClasses() {
512
+ return [
513
+ 'eui-toolbar-search',
514
+ this.isInputFocus ? 'eui-toolbar-search--focus' : '',
515
+ !this.hasExpandAnimation ? 'eui-toolbar-search--no-animation' : '',
516
+ ]
517
+ .join(' ')
518
+ .trim();
519
+ }
520
+ ngAfterContentInit() {
521
+ if (this.isAutocomplete) {
522
+ this.isInputText = false;
523
+ }
524
+ if (this.isInputText) {
525
+ this.isAutocomplete = false;
526
+ }
527
+ if (!this.isInputText && !this.isAutocomplete) {
528
+ this.isAutocomplete = true;
529
+ }
530
+ }
531
+ ngAfterViewInit() {
532
+ this.templates.forEach((item) => {
533
+ if (item.getType() === 'resultItemTemplate') {
534
+ this.resultItemTemplate = item.template;
535
+ }
536
+ });
537
+ }
538
+ onSelectionChange(items) {
539
+ this.selectionChange.emit(items);
540
+ }
541
+ onInputFocus() {
542
+ this.inputFocus.emit();
543
+ this.isInputFocus = true;
544
+ }
545
+ onInputBlur() {
546
+ if (!this.hasSearchButton || (this.hasSearchButton && this.searchInput === '')) {
547
+ this.inputBlur.emit();
548
+ this.isInputFocus = false;
549
+ }
550
+ }
551
+ onSearch(e) {
552
+ this.searchTerm = e;
553
+ this.search.emit(e);
554
+ }
555
+ onSearchInput(e) {
556
+ if (e.code === 'Enter' || e.code === 'NumpadEnter') {
557
+ this.searchTerm = this.searchInput;
558
+ this.search.emit(this.searchInput);
559
+ }
560
+ }
561
+ onSearchClick(isIconOnly) {
562
+ if (isIconOnly) {
563
+ this.searchClick.emit(null);
564
+ }
565
+ else {
566
+ this.isInputFocus = false;
567
+ if (this.searchInput) {
568
+ this.searchClick.emit(this.searchInput);
569
+ }
570
+ }
571
+ }
572
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
573
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiToolbarSearchComponent, isStandalone: true, selector: "eui-toolbar-search", inputs: { placeholderLabel: "placeholderLabel", panelWidth: "panelWidth", searchResults: "searchResults", isAutocomplete: ["isAutocomplete", "isAutocomplete", booleanAttribute], isInputText: ["isInputText", "isInputText", booleanAttribute], hasSearchButton: ["hasSearchButton", "hasSearchButton", booleanAttribute], hasExpandAnimation: ["hasExpandAnimation", "hasExpandAnimation", booleanAttribute] }, outputs: { search: "search", selectionChange: "selectionChange", searchClick: "searchClick", inputFocus: "inputFocus", inputBlur: "inputBlur" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "templates", predicate: EuiTemplateDirective }], ngImport: i0, template: "@if ((asService.breakpoints$ | async).isLtLargeTablet) {\n <eui-icon-button icon=\"eui-search-ecl-search\" (buttonClick)=\"onSearchClick(true)\"/>\n\n} @else {\n <eui-icon-input euiIconPositionEnd>\n @if (isAutocomplete) {\n <eui-autocomplete [autocompleteData]=\"searchResults\"\n placeholder=\"{{placeholderLabel}}\"\n panelWidth=\"{{panelWidth}}\"\n (inputBlur)=\"onInputBlur()\"\n (inputFocus)=\"onInputFocus()\"\n (selectionChange)=\"onSelectionChange($event)\"\n (inputChange)=\"onSearch($event)\">\n @if (templates.length !== 0) {\n <ng-template let-option euiTemplate=\"dropdownOption\">\n <ng-container\n [ngTemplateOutlet]=\"resultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option }\" />\n </ng-template>\n }\n </eui-autocomplete>\n } @else {\n @if (isInputText) {\n <input euiInputText class=\"eui-toolbar-search-bar__input\" [(ngModel)]=\"searchInput\"\n placeholder=\"{{ placeholderLabel }}\"\n (focus)=\"onInputFocus()\" (blur)=\"onInputBlur()\" (keydown)=\"onSearchInput($event)\" />\n }\n }\n\n @if (hasSearchButton) {\n <button class=\"eui-toolbar-search__input-button\"\n euiButton\n euiIconButton\n euiSizeS\n [euiSecondary]=\"isInputFocus\"\n [euiPrimary]=\"!isInputFocus\"\n (click)=\"onSearchClick(false)\"\n aria-label=\"search button\">\n <eui-icon-svg icon=\"eui-search\" size=\"s\"></eui-icon-svg>\n </button>\n } @else {\n <eui-icon-svg icon=\"eui-search\" size=\"s\" />\n }\n </eui-icon-input>\n\n}\n\n", styles: [".eui-19 :host.eui-toolbar-search{display:flex;top:0}.eui-19 :host.eui-toolbar-search .eui-button .eui-button__container{justify-content:center}.eui-19 :host.eui-toolbar-search ::ng-deep .eui-input-text{background-color:var(--eui-c-branding-dark);border-color:var(--eui-c-branding-light);text-overflow:ellipsis;transition:width .25s ease-in-out;color:var(--eui-c-branding-dark-contrast);width:200px}.eui-19 :host.eui-toolbar-search ::ng-deep .eui-input-text--clearable-icon{display:none}.eui-19 :host.eui-toolbar-search--focus ::ng-deep .eui-input-text{background-color:var(--eui-c-surface-container);color:var(--eui-c-black);width:300px}.eui-19 :host.eui-toolbar-search--focus ::ng-deep .eui-button{border-color:var(--eui-c-primary-surface)}.eui-19 :host.eui-toolbar-search--focus ::ng-deep .eui-button:hover svg{color:var(--eui-c-white);fill:var(--eui-c-white)}.eui-19 :host.eui-toolbar-search--focus ::ng-deep .eui-button svg{color:var(--eui-c-secondary-surface-medium);fill:var(--eui-c-secondary-surface-medium)}.eui-19 :host.eui-toolbar-search--focus .eui-search__icon{display:none}.eui-19 :host.eui-toolbar-search ::ng-deep .eui-button{position:absolute;right:2px;top:2px;color:var(--eui-c-secondary-surface-medium);background-color:var(--eui-c-primary)}.eui-19 :host.eui-toolbar-search ::ng-deep .eui-button .eui-icon-svg{z-index:1}.eui-19 :host.eui-toolbar--no-animation ::ng-deep .eui-input-text{transition:none}.eui-19 :host.eui-toolbar-search--focus.eui-toolbar-search--no-animation ::ng-deep .eui-input-text{width:200px}.eui-19 .eui--secondary :host.eui-toolbar-search ::ng-deep .eui-input-text{background-color:var(--eui-c-surface-container);border-color:var(--eui-c-secondary-border-light);color:var(--eui-c-neugral-bg-light-contrast)}.eui-19 .eui--secondary :host.eui-toolbar-search ::ng-deep .eui-button{background-color:var(--eui-c-surface-container-1);color:var(--eui-c-text);border-color:var(--eui-c-secondary-border-light)}.eui-19 .eui--secondary :host.eui-toolbar-search ::ng-deep .eui-button:hover,.eui-19 .eui--secondary :host.eui-toolbar-search ::ng-deep .eui-button:focus{background-color:var(--eui-c-surface-container-3);color:var(--eui-c-text)}.eui-19 .eui--secondary :host.eui-toolbar-search ::ng-deep .eui-button .eui-icon-svg svg{fill:var(--eui-c-text);color:var(--eui-c-text)}\n"], dependencies: [{ kind: "component", type: i1$1.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiCTAButton", "euiBlockButton", "euiIconButton", "euiAvatarButton", "euiLineWrap", "isCompact", "hasNoFocusRing", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i1.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: i2.EuiIconButtonComponent, selector: "eui-icon-button", inputs: ["icon", "iconUrl", "fillColor", "size", "ariaLabel", "tabindex", "hasNoPadding", "hasOverflowHover", "hasFocusHoverColor", "hasFocusHoverBg", "euiRounded", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i4.EuiAutocompleteComponent, selector: "eui-autocomplete, input[euiAutocomplete]", inputs: ["inputId", "autocompleteData", "visibleOptions", "matching", "placeholder", "autocompleteDataSelected", "chipsSortOrder", "itemsSortOrder", "chipsPosition", "groupBy", "toggleLinkMoreLabel", "toggleLinkLessLabel", "classList", "panelWidth", "dragAndDropSourceName", "dragAndDropConnectedTo", "isFreeValueAllowed", "isReadonly", "isLoading", "hasChips", "isAsync", "isChipsSorted", "isItemsSorted", "isChipsRemovable", "isDuplicateValueAllowed", "isAddOnBlur", "isForceSelection", "maxVisibleChipsCount", "chipsLabelTruncateCount", "isMaxVisibleChipsOpened", "isChipsDragAndDrop"], outputs: ["panelClose", "panelOpen", "inputFocus", "inputBlur", "clear", "selectionChange", "itemAdd", "itemRemove", "inputChange", "chipDragStart", "chipDragRelease", "chipDrop"] }, { kind: "component", type: i5.EuiIconInputComponent, selector: "eui-icon-input", inputs: ["euiIconPositionStart", "euiIconPositionEnd"] }, { kind: "component", type: i6.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["isInvalid"] }, { kind: "directive", type: EuiTemplateDirective, selector: "[euiTemplate]", inputs: ["type", "euiTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
574
+ }
575
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarSearchComponent, decorators: [{
576
+ type: Component,
577
+ args: [{ selector: 'eui-toolbar-search', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
578
+ ...EUI_BUTTON,
579
+ ...EUI_ICON,
580
+ ...EUI_ICON_BUTTON,
581
+ ...EUI_AUTOCOMPLETE,
582
+ ...EUI_ICON_INPUT,
583
+ ...EUI_INPUT_TEXT,
584
+ EuiTemplateDirective,
585
+ NgTemplateOutlet,
586
+ FormsModule,
587
+ AsyncPipe,
588
+ ], template: "@if ((asService.breakpoints$ | async).isLtLargeTablet) {\n <eui-icon-button icon=\"eui-search-ecl-search\" (buttonClick)=\"onSearchClick(true)\"/>\n\n} @else {\n <eui-icon-input euiIconPositionEnd>\n @if (isAutocomplete) {\n <eui-autocomplete [autocompleteData]=\"searchResults\"\n placeholder=\"{{placeholderLabel}}\"\n panelWidth=\"{{panelWidth}}\"\n (inputBlur)=\"onInputBlur()\"\n (inputFocus)=\"onInputFocus()\"\n (selectionChange)=\"onSelectionChange($event)\"\n (inputChange)=\"onSearch($event)\">\n @if (templates.length !== 0) {\n <ng-template let-option euiTemplate=\"dropdownOption\">\n <ng-container\n [ngTemplateOutlet]=\"resultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option }\" />\n </ng-template>\n }\n </eui-autocomplete>\n } @else {\n @if (isInputText) {\n <input euiInputText class=\"eui-toolbar-search-bar__input\" [(ngModel)]=\"searchInput\"\n placeholder=\"{{ placeholderLabel }}\"\n (focus)=\"onInputFocus()\" (blur)=\"onInputBlur()\" (keydown)=\"onSearchInput($event)\" />\n }\n }\n\n @if (hasSearchButton) {\n <button class=\"eui-toolbar-search__input-button\"\n euiButton\n euiIconButton\n euiSizeS\n [euiSecondary]=\"isInputFocus\"\n [euiPrimary]=\"!isInputFocus\"\n (click)=\"onSearchClick(false)\"\n aria-label=\"search button\">\n <eui-icon-svg icon=\"eui-search\" size=\"s\"></eui-icon-svg>\n </button>\n } @else {\n <eui-icon-svg icon=\"eui-search\" size=\"s\" />\n }\n </eui-icon-input>\n\n}\n\n", styles: [".eui-19 :host.eui-toolbar-search{display:flex;top:0}.eui-19 :host.eui-toolbar-search .eui-button .eui-button__container{justify-content:center}.eui-19 :host.eui-toolbar-search ::ng-deep .eui-input-text{background-color:var(--eui-c-branding-dark);border-color:var(--eui-c-branding-light);text-overflow:ellipsis;transition:width .25s ease-in-out;color:var(--eui-c-branding-dark-contrast);width:200px}.eui-19 :host.eui-toolbar-search ::ng-deep .eui-input-text--clearable-icon{display:none}.eui-19 :host.eui-toolbar-search--focus ::ng-deep .eui-input-text{background-color:var(--eui-c-surface-container);color:var(--eui-c-black);width:300px}.eui-19 :host.eui-toolbar-search--focus ::ng-deep .eui-button{border-color:var(--eui-c-primary-surface)}.eui-19 :host.eui-toolbar-search--focus ::ng-deep .eui-button:hover svg{color:var(--eui-c-white);fill:var(--eui-c-white)}.eui-19 :host.eui-toolbar-search--focus ::ng-deep .eui-button svg{color:var(--eui-c-secondary-surface-medium);fill:var(--eui-c-secondary-surface-medium)}.eui-19 :host.eui-toolbar-search--focus .eui-search__icon{display:none}.eui-19 :host.eui-toolbar-search ::ng-deep .eui-button{position:absolute;right:2px;top:2px;color:var(--eui-c-secondary-surface-medium);background-color:var(--eui-c-primary)}.eui-19 :host.eui-toolbar-search ::ng-deep .eui-button .eui-icon-svg{z-index:1}.eui-19 :host.eui-toolbar--no-animation ::ng-deep .eui-input-text{transition:none}.eui-19 :host.eui-toolbar-search--focus.eui-toolbar-search--no-animation ::ng-deep .eui-input-text{width:200px}.eui-19 .eui--secondary :host.eui-toolbar-search ::ng-deep .eui-input-text{background-color:var(--eui-c-surface-container);border-color:var(--eui-c-secondary-border-light);color:var(--eui-c-neugral-bg-light-contrast)}.eui-19 .eui--secondary :host.eui-toolbar-search ::ng-deep .eui-button{background-color:var(--eui-c-surface-container-1);color:var(--eui-c-text);border-color:var(--eui-c-secondary-border-light)}.eui-19 .eui--secondary :host.eui-toolbar-search ::ng-deep .eui-button:hover,.eui-19 .eui--secondary :host.eui-toolbar-search ::ng-deep .eui-button:focus{background-color:var(--eui-c-surface-container-3);color:var(--eui-c-text)}.eui-19 .eui--secondary :host.eui-toolbar-search ::ng-deep .eui-button .eui-icon-svg svg{fill:var(--eui-c-text);color:var(--eui-c-text)}\n"] }]
589
+ }], propDecorators: { cssClasses: [{
590
+ type: HostBinding,
591
+ args: ['class']
592
+ }], placeholderLabel: [{
593
+ type: Input
594
+ }], panelWidth: [{
595
+ type: Input
596
+ }], searchResults: [{
597
+ type: Input
598
+ }], isAutocomplete: [{
599
+ type: Input,
600
+ args: [{ transform: booleanAttribute }]
601
+ }], isInputText: [{
602
+ type: Input,
603
+ args: [{ transform: booleanAttribute }]
604
+ }], hasSearchButton: [{
605
+ type: Input,
606
+ args: [{ transform: booleanAttribute }]
607
+ }], hasExpandAnimation: [{
608
+ type: Input,
609
+ args: [{ transform: booleanAttribute }]
610
+ }], search: [{
611
+ type: Output
612
+ }], selectionChange: [{
613
+ type: Output
614
+ }], searchClick: [{
615
+ type: Output
616
+ }], inputFocus: [{
617
+ type: Output
618
+ }], inputBlur: [{
619
+ type: Output
620
+ }], templates: [{
621
+ type: ContentChildren,
622
+ args: [EuiTemplateDirective]
623
+ }] } });
624
+
625
+ class EuiAppSidebarComponent {
626
+ constructor() {
627
+ this.string = 'eui-app-sidebar';
628
+ this.asService = inject(EuiAppShellService, { optional: true });
629
+ this.subscriptions = [];
630
+ this.document = inject(DOCUMENT);
631
+ }
632
+ close() {
633
+ if (this.asService &&
634
+ (this.asService.state.breakpoints.isMobile || this.asService.state.breakpoints.isTablet || this.asService.state.isSidebarHidden)) {
635
+ this.asService.isSidebarOpen = false;
636
+ }
637
+ }
638
+ ngOnInit() {
639
+ this.asService?.activateSidebar();
640
+ this.subscriptions.push(this.asService
641
+ ?.getState('breakpoints.isMobile')
642
+ .pipe(filter((s) => s === true))
643
+ .subscribe(() => (this.asService.isSidebarOpen = false)));
644
+ this.subscriptions.push(this.asService
645
+ ?.getState('breakpoints.isTablet')
646
+ .pipe(filter((s) => s === true))
647
+ .subscribe(() => (this.asService.isSidebarOpen = false)));
648
+ }
649
+ ngOnDestroy() {
650
+ this.subscriptions.forEach((s) => s.unsubscribe());
651
+ this.asService?.setState({
652
+ ...this.asService.state,
653
+ hasSidebar: false,
654
+ });
655
+ CssUtils.removeSidebarCssVars(this.document);
656
+ }
657
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppSidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
658
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EuiAppSidebarComponent, isStandalone: true, selector: "eui-app-sidebar", host: { listeners: { "body:click": "close()" }, properties: { "class": "this.string" } }, ngImport: i0, template: "<aside class=\"eui-app-sidebar-content\">\n <ng-content select=\"eui-app-sidebar-header-user-profile\"></ng-content>\n <ng-content select=\"eui-app-sidebar-header\"></ng-content>\n <ng-content select=\"eui-app-sidebar-body\"></ng-content>\n <ng-content select=\"eui-app-sidebar-footer\"></ng-content>\n <ng-content select=\"eui-app-sidebar-drawer\"></ng-content>\n</aside>\n", styles: [".eui-app-sidebar{background-color:var(--eui-c-surface-shell);height:100%;left:0;position:fixed;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-toolbar-mega-menu-height) + var(--eui-app-top-message-height));transition:top .1s ease,width .1s ease-in,margin-left .1s ease-in;width:var(--eui-app-sidebar-width);box-shadow:var(--eui-sh-10)}.eui-app-sidebar-header{align-items:center;background-color:var(--eui-c-surface-shell);border-bottom:1px solid var(--eui-c-divider-light);display:flex;width:100%}.eui-app-sidebar-body{display:flex;height:100%;max-height:calc(100% - (var(--eui-app-sidebar-header-height) + var(--eui-app-sidebar-footer-height)));overflow-x:hidden;overflow-y:scroll}.eui-app-sidebar-body::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-c-secondary-surface-light)}.eui-app-sidebar-body::-webkit-scrollbar-thumb{background-color:var(--_eui-scrollbars-foreground-color);border-radius:5rem}.eui-app-sidebar-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-secondary-surface)}.eui-app-sidebar-body::-webkit-scrollbar-track{background-color:var(--eui-c-secondary-surface-light);border-radius:0}@-moz-document url-prefix(){.eui-app-sidebar-body{scrollbar-color:var(--eui-c-secondary-surface) var(--eui-c-secondary-surface-light);scrollbar-width:auto}}.eui-app-sidebar-footer{align-items:center;display:flex;flex:0 0 auto;justify-content:center;padding:var(--eui-s-xs)}.sidebar--close:not(.sidebar--hover) .eui-app-sidebar-body{max-height:100%}.eui-app-sidebar-menu{display:flex;height:100%;width:100%}.eui-app-sidebar-content{border-right:1px solid var(--eui-c-divider-light);background-color:var(--eui-c-surface-shell);box-shadow:var(--eui-sh-2);display:flex;flex-direction:column;height:100%;max-height:calc(100% - (var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height)));overflow:hidden;position:relative}.modal-open .eui-app-sidebar{z-index:auto}@media screen and (max-width: 767px){.eui-app-sidebar{z-index:var(--eui-zi-sidebar)}.eui-app-sidebar-body{max-height:100%}.sidebar--close .eui-app-sidebar{box-shadow:none!important;margin-left:calc(var(--eui-app-sidebar-width-active) * -1)}.sidebar--open .eui-app-sidebar{display:initial;margin-left:0;width:75%}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-app-sidebar{z-index:var(--eui-zi-sidebar)}.eui-app-sidebar-body{max-height:100%}.sidebar--close .eui-app-sidebar{box-shadow:none!important;margin-left:calc(var(--eui-app-sidebar-width-active) * -1)}.sidebar--open .eui-app-sidebar{display:initial;margin-left:0;width:50%}.sidebar--hidden.sidebar--open .eui-app-sidebar{box-shadow:var(--eui-sh-4);width:var(--eui-app-sidebar-width-active)}}@media screen and (min-width: 996px){.sidebar--hover .eui-app-sidebar{z-index:var(--eui-zi-sidebar)}.sidebar--close:not(.sidebar--hover) .eui-app-sidebar{width:var(--eui-app-sidebar-width-close)}.sidebar--close:not(.sidebar--hover) .eui-app-sidebar-header{display:none}.sidebar--close:not(.sidebar--hover) .eui-app-sidebar-footer{text-indent:-9999px}.sidebar--hidden.sidebar--close .eui-app-sidebar{margin-left:calc(var(--eui-app-sidebar-width-active) * -1)}.sidebar--hidden.sidebar--open .eui-app-sidebar{box-shadow:var(--eui-sh-4);display:initial;margin-left:0;width:var(--eui-app-sidebar-width-active);z-index:var(--eui-zi-sidebar)}}.eui-app-sidebar-drawer{display:none}.eui-app.sidebar--open.md .eui-app-sidebar-drawer,.eui-app.sidebar--open.xs .eui-app-sidebar-drawer,.eui-app.sidebar--open.sm .eui-app-sidebar-drawer{display:flex;height:100%;position:fixed;top:100vh;transition:top .25s ease-in-out}.eui-app.sidebar--open.md .eui-app-sidebar-drawer-content,.eui-app.sidebar--open.xs .eui-app-sidebar-drawer-content,.eui-app.sidebar--open.sm .eui-app-sidebar-drawer-content{background:var(--eui-c-surface-shell);border-top:1px solid var(--eui-c-divider);height:calc(100% - var(--eui-app-sidebar-header-user-profile));overflow-y:auto;padding:var(--eui-s-s);width:100%}.eui-app.sidebar--open.md .eui-app-sidebar-drawer-content::-webkit-scrollbar,.eui-app.sidebar--open.xs .eui-app-sidebar-drawer-content::-webkit-scrollbar,.eui-app.sidebar--open.sm .eui-app-sidebar-drawer-content::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-c-secondary-surface-light)}.eui-app.sidebar--open.md .eui-app-sidebar-drawer-content::-webkit-scrollbar-thumb,.eui-app.sidebar--open.xs .eui-app-sidebar-drawer-content::-webkit-scrollbar-thumb,.eui-app.sidebar--open.sm .eui-app-sidebar-drawer-content::-webkit-scrollbar-thumb{background-color:var(--_eui-scrollbars-foreground-color);border-radius:5rem}.eui-app.sidebar--open.md .eui-app-sidebar-drawer-content::-webkit-scrollbar-thumb:hover,.eui-app.sidebar--open.xs .eui-app-sidebar-drawer-content::-webkit-scrollbar-thumb:hover,.eui-app.sidebar--open.sm .eui-app-sidebar-drawer-content::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-secondary-surface)}.eui-app.sidebar--open.md .eui-app-sidebar-drawer-content::-webkit-scrollbar-track,.eui-app.sidebar--open.xs .eui-app-sidebar-drawer-content::-webkit-scrollbar-track,.eui-app.sidebar--open.sm .eui-app-sidebar-drawer-content::-webkit-scrollbar-track{background-color:var(--eui-c-secondary-surface-light);border-radius:0}@-moz-document url-prefix(){.eui-app.sidebar--open.md .eui-app-sidebar-drawer-content,.eui-app.sidebar--open.xs .eui-app-sidebar-drawer-content,.eui-app.sidebar--open.sm .eui-app-sidebar-drawer-content{scrollbar-color:var(--eui-c-secondary-surface) var(--eui-c-secondary-surface-light);scrollbar-width:auto}}.eui-app.sidebar--open.md .eui-app-sidebar-drawer--expanded,.eui-app.sidebar--open.xs .eui-app-sidebar-drawer--expanded,.eui-app.sidebar--open.sm .eui-app-sidebar-drawer--expanded{top:var(--eui-app-sidebar-header-user-profile);position:absolute;width:100%}.eui-app.sidebar--close.md .eui-app-sidebar-drawer,.eui-app.sidebar--close.xs .eui-app-sidebar-drawer,.eui-app.sidebar--close.sm .eui-app-sidebar-drawer{position:fixed;top:100vh}@media screen and (max-width: 767px){.eui-app-sidebar-drawer,.eui-app-sidebar-drawer--expanded{width:75%}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-app-sidebar-drawer,.eui-app-sidebar-drawer--expanded{width:50%}}\n"], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
659
+ }
660
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppSidebarComponent, decorators: [{
661
+ type: Component,
662
+ args: [{ selector: 'eui-app-sidebar', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<aside class=\"eui-app-sidebar-content\">\n <ng-content select=\"eui-app-sidebar-header-user-profile\"></ng-content>\n <ng-content select=\"eui-app-sidebar-header\"></ng-content>\n <ng-content select=\"eui-app-sidebar-body\"></ng-content>\n <ng-content select=\"eui-app-sidebar-footer\"></ng-content>\n <ng-content select=\"eui-app-sidebar-drawer\"></ng-content>\n</aside>\n", styles: [".eui-app-sidebar{background-color:var(--eui-c-surface-shell);height:100%;left:0;position:fixed;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-toolbar-mega-menu-height) + var(--eui-app-top-message-height));transition:top .1s ease,width .1s ease-in,margin-left .1s ease-in;width:var(--eui-app-sidebar-width);box-shadow:var(--eui-sh-10)}.eui-app-sidebar-header{align-items:center;background-color:var(--eui-c-surface-shell);border-bottom:1px solid var(--eui-c-divider-light);display:flex;width:100%}.eui-app-sidebar-body{display:flex;height:100%;max-height:calc(100% - (var(--eui-app-sidebar-header-height) + var(--eui-app-sidebar-footer-height)));overflow-x:hidden;overflow-y:scroll}.eui-app-sidebar-body::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-c-secondary-surface-light)}.eui-app-sidebar-body::-webkit-scrollbar-thumb{background-color:var(--_eui-scrollbars-foreground-color);border-radius:5rem}.eui-app-sidebar-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-secondary-surface)}.eui-app-sidebar-body::-webkit-scrollbar-track{background-color:var(--eui-c-secondary-surface-light);border-radius:0}@-moz-document url-prefix(){.eui-app-sidebar-body{scrollbar-color:var(--eui-c-secondary-surface) var(--eui-c-secondary-surface-light);scrollbar-width:auto}}.eui-app-sidebar-footer{align-items:center;display:flex;flex:0 0 auto;justify-content:center;padding:var(--eui-s-xs)}.sidebar--close:not(.sidebar--hover) .eui-app-sidebar-body{max-height:100%}.eui-app-sidebar-menu{display:flex;height:100%;width:100%}.eui-app-sidebar-content{border-right:1px solid var(--eui-c-divider-light);background-color:var(--eui-c-surface-shell);box-shadow:var(--eui-sh-2);display:flex;flex-direction:column;height:100%;max-height:calc(100% - (var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height)));overflow:hidden;position:relative}.modal-open .eui-app-sidebar{z-index:auto}@media screen and (max-width: 767px){.eui-app-sidebar{z-index:var(--eui-zi-sidebar)}.eui-app-sidebar-body{max-height:100%}.sidebar--close .eui-app-sidebar{box-shadow:none!important;margin-left:calc(var(--eui-app-sidebar-width-active) * -1)}.sidebar--open .eui-app-sidebar{display:initial;margin-left:0;width:75%}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-app-sidebar{z-index:var(--eui-zi-sidebar)}.eui-app-sidebar-body{max-height:100%}.sidebar--close .eui-app-sidebar{box-shadow:none!important;margin-left:calc(var(--eui-app-sidebar-width-active) * -1)}.sidebar--open .eui-app-sidebar{display:initial;margin-left:0;width:50%}.sidebar--hidden.sidebar--open .eui-app-sidebar{box-shadow:var(--eui-sh-4);width:var(--eui-app-sidebar-width-active)}}@media screen and (min-width: 996px){.sidebar--hover .eui-app-sidebar{z-index:var(--eui-zi-sidebar)}.sidebar--close:not(.sidebar--hover) .eui-app-sidebar{width:var(--eui-app-sidebar-width-close)}.sidebar--close:not(.sidebar--hover) .eui-app-sidebar-header{display:none}.sidebar--close:not(.sidebar--hover) .eui-app-sidebar-footer{text-indent:-9999px}.sidebar--hidden.sidebar--close .eui-app-sidebar{margin-left:calc(var(--eui-app-sidebar-width-active) * -1)}.sidebar--hidden.sidebar--open .eui-app-sidebar{box-shadow:var(--eui-sh-4);display:initial;margin-left:0;width:var(--eui-app-sidebar-width-active);z-index:var(--eui-zi-sidebar)}}.eui-app-sidebar-drawer{display:none}.eui-app.sidebar--open.md .eui-app-sidebar-drawer,.eui-app.sidebar--open.xs .eui-app-sidebar-drawer,.eui-app.sidebar--open.sm .eui-app-sidebar-drawer{display:flex;height:100%;position:fixed;top:100vh;transition:top .25s ease-in-out}.eui-app.sidebar--open.md .eui-app-sidebar-drawer-content,.eui-app.sidebar--open.xs .eui-app-sidebar-drawer-content,.eui-app.sidebar--open.sm .eui-app-sidebar-drawer-content{background:var(--eui-c-surface-shell);border-top:1px solid var(--eui-c-divider);height:calc(100% - var(--eui-app-sidebar-header-user-profile));overflow-y:auto;padding:var(--eui-s-s);width:100%}.eui-app.sidebar--open.md .eui-app-sidebar-drawer-content::-webkit-scrollbar,.eui-app.sidebar--open.xs .eui-app-sidebar-drawer-content::-webkit-scrollbar,.eui-app.sidebar--open.sm .eui-app-sidebar-drawer-content::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-c-secondary-surface-light)}.eui-app.sidebar--open.md .eui-app-sidebar-drawer-content::-webkit-scrollbar-thumb,.eui-app.sidebar--open.xs .eui-app-sidebar-drawer-content::-webkit-scrollbar-thumb,.eui-app.sidebar--open.sm .eui-app-sidebar-drawer-content::-webkit-scrollbar-thumb{background-color:var(--_eui-scrollbars-foreground-color);border-radius:5rem}.eui-app.sidebar--open.md .eui-app-sidebar-drawer-content::-webkit-scrollbar-thumb:hover,.eui-app.sidebar--open.xs .eui-app-sidebar-drawer-content::-webkit-scrollbar-thumb:hover,.eui-app.sidebar--open.sm .eui-app-sidebar-drawer-content::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-secondary-surface)}.eui-app.sidebar--open.md .eui-app-sidebar-drawer-content::-webkit-scrollbar-track,.eui-app.sidebar--open.xs .eui-app-sidebar-drawer-content::-webkit-scrollbar-track,.eui-app.sidebar--open.sm .eui-app-sidebar-drawer-content::-webkit-scrollbar-track{background-color:var(--eui-c-secondary-surface-light);border-radius:0}@-moz-document url-prefix(){.eui-app.sidebar--open.md .eui-app-sidebar-drawer-content,.eui-app.sidebar--open.xs .eui-app-sidebar-drawer-content,.eui-app.sidebar--open.sm .eui-app-sidebar-drawer-content{scrollbar-color:var(--eui-c-secondary-surface) var(--eui-c-secondary-surface-light);scrollbar-width:auto}}.eui-app.sidebar--open.md .eui-app-sidebar-drawer--expanded,.eui-app.sidebar--open.xs .eui-app-sidebar-drawer--expanded,.eui-app.sidebar--open.sm .eui-app-sidebar-drawer--expanded{top:var(--eui-app-sidebar-header-user-profile);position:absolute;width:100%}.eui-app.sidebar--close.md .eui-app-sidebar-drawer,.eui-app.sidebar--close.xs .eui-app-sidebar-drawer,.eui-app.sidebar--close.sm .eui-app-sidebar-drawer{position:fixed;top:100vh}@media screen and (max-width: 767px){.eui-app-sidebar-drawer,.eui-app-sidebar-drawer--expanded{width:75%}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-app-sidebar-drawer,.eui-app-sidebar-drawer--expanded{width:50%}}\n"] }]
663
+ }], propDecorators: { string: [{
664
+ type: HostBinding,
665
+ args: ['class']
666
+ }], close: [{
667
+ type: HostListener,
668
+ args: ['body:click']
669
+ }] } });
670
+
671
+ class EuiAppSidebarBodyComponent {
672
+ constructor() {
673
+ this.class = 'eui-app-sidebar-body';
674
+ }
675
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppSidebarBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
676
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EuiAppSidebarBodyComponent, isStandalone: true, selector: "eui-app-sidebar-body", host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<ng-content select=\"eui-app-sidebar-menu\"/>\n<ng-content/>\n", changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
677
+ }
678
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppSidebarBodyComponent, decorators: [{
679
+ type: Component,
680
+ args: [{ selector: 'eui-app-sidebar-body', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "<ng-content select=\"eui-app-sidebar-menu\"/>\n<ng-content/>\n" }]
681
+ }], propDecorators: { class: [{
682
+ type: HostBinding
683
+ }] } });
684
+
685
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
686
+ class EuiAppSidebarMenuComponent {
687
+ constructor() {
688
+ this.asService = inject(EuiAppShellService);
689
+ this.class = 'eui-app-sidebar-menu';
690
+ this.hasFilter = false;
691
+ this.hasIcons = false;
692
+ this.hasIconsLabels = false;
693
+ this.hasTooltip = true;
694
+ this.hasTooltipOnExpanded = false;
695
+ this.expandAllItems = false;
696
+ this.isCollapsed = false;
697
+ this.hasCollapsedInitials = false;
698
+ this.isFlat = false;
699
+ this.hasScrollToItem = false;
700
+ this.hasBoldRootLevel = false;
701
+ this.sidebarItemClick = new EventEmitter();
702
+ this.sidebarItemToggle = new EventEmitter();
703
+ this.subs = new Subscription();
704
+ }
705
+ ngOnInit() {
706
+ if (this.items) {
707
+ this.asService.setState({
708
+ ...this.asService.state,
709
+ sidebarLinks: this.items,
710
+ });
711
+ }
712
+ if (this.hasIconsLabels) {
713
+ this.asService.hasSidebarCollapsedVariant = this.hasIconsLabels;
714
+ }
715
+ this.subs.add(this.asService.state$.subscribe((state) => {
716
+ if (state?.breakpoints?.isMobile) {
717
+ this.items = state.combinedLinks;
718
+ }
719
+ else {
720
+ this.items = state.sidebarLinks;
721
+ }
722
+ }));
723
+ // subscribe to state changes
724
+ // this.subs.add(this.asService.getState<Items[]>('combinedLinks').subscribe((links) => (this.items = links)));
725
+ }
726
+ ngAfterViewInit() {
727
+ this.subs.add(this.asService.state$.subscribe((state) => {
728
+ if (state?.isSidebarFocused && this.menu) {
729
+ this.menu.menubar.nativeElement.focus();
730
+ }
731
+ }));
732
+ }
733
+ ngOnDestroy() {
734
+ this.subs.unsubscribe();
735
+ }
736
+ ngOnChanges(changes) {
737
+ if (changes.items) {
738
+ this.asService.setState({
739
+ ...this.asService.state,
740
+ sidebarLinks: this.items,
741
+ });
742
+ }
743
+ }
744
+ onMenuItemClicked(event) {
745
+ // Auto-close sidebar menu after click when in mobile / tablet modes
746
+ if (event.url &&
747
+ (this.asService.state.breakpoints.isMobile || this.asService.state.breakpoints.isTablet || this.asService.state.isSidebarHidden)) {
748
+ this.asService.isSidebarOpen = false;
749
+ }
750
+ this.sidebarItemClick.emit(event);
751
+ }
752
+ onSidebarItemToggled(event) {
753
+ this.sidebarItemToggle.emit(event);
754
+ }
755
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppSidebarMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
756
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.0-next.3", type: EuiAppSidebarMenuComponent, isStandalone: true, selector: "eui-app-sidebar-menu", inputs: { hasFilter: ["hasFilter", "hasFilter", booleanAttribute], hasIcons: ["hasIcons", "hasIcons", booleanAttribute], hasIconsLabels: ["hasIconsLabels", "hasIconsLabels", booleanAttribute], hasTooltip: ["hasTooltip", "hasTooltip", booleanAttribute], hasTooltipOnExpanded: ["hasTooltipOnExpanded", "hasTooltipOnExpanded", booleanAttribute], expandAllItems: ["expandAllItems", "expandAllItems", booleanAttribute], isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute], hasCollapsedInitials: ["hasCollapsedInitials", "hasCollapsedInitials", booleanAttribute], isFlat: ["isFlat", "isFlat", booleanAttribute], hasScrollToItem: ["hasScrollToItem", "hasScrollToItem", booleanAttribute], hasBoldRootLevel: ["hasBoldRootLevel", "hasBoldRootLevel", booleanAttribute], items: "items" }, outputs: { sidebarItemClick: "sidebarItemClick", sidebarItemToggle: "sidebarItemToggle" }, host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<eui-menu\n #menu\n [items]=\"items\"\n [hasFilter]=\"hasFilter\"\n [hasIcons]=\"hasIcons\"\n [hasIconsLabels]=\"hasIconsLabels\"\n [hasTooltip]=\"hasTooltip\"\n [hasTooltipOnExpanded]=\"hasTooltipOnExpanded\"\n [expandAllItems]=\"expandAllItems\"\n [isFlat]=\"isFlat\"\n [hasScrollToItem]=\"hasScrollToItem\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [hasBoldRootLevel]=\"hasBoldRootLevel\"\n [isCollapsed]=\"!(asService.state$ | async).isSidebarOpen\"\n (itemClick)=\"onMenuItemClicked($event)\"\n (expandToggle)=\"onSidebarItemToggled($event)\" />\n", dependencies: [{ kind: "component", type: i1$2.EuiMenuComponent, selector: "eui-menu", inputs: ["items", "searchFilterLabel", "externalLinkLabel", "fragmentId", "filterValue", "isCollapsed", "hasCollapsedInitials", "hasFilter", "hasIcons", "hasIconsLabels", "hasTooltip", "hasTooltipOnExpanded", "expandAllItems", "isFlat", "hasScrollToItem", "hasBoldRootLevel"], outputs: ["isClick", "itemClick", "expandToggle"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
757
+ }
758
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppSidebarMenuComponent, decorators: [{
759
+ type: Component,
760
+ args: [{ selector: 'eui-app-sidebar-menu', encapsulation: ViewEncapsulation.None, imports: [
761
+ AsyncPipe,
762
+ ...EUI_MENU,
763
+ ], template: "<eui-menu\n #menu\n [items]=\"items\"\n [hasFilter]=\"hasFilter\"\n [hasIcons]=\"hasIcons\"\n [hasIconsLabels]=\"hasIconsLabels\"\n [hasTooltip]=\"hasTooltip\"\n [hasTooltipOnExpanded]=\"hasTooltipOnExpanded\"\n [expandAllItems]=\"expandAllItems\"\n [isFlat]=\"isFlat\"\n [hasScrollToItem]=\"hasScrollToItem\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [hasBoldRootLevel]=\"hasBoldRootLevel\"\n [isCollapsed]=\"!(asService.state$ | async).isSidebarOpen\"\n (itemClick)=\"onMenuItemClicked($event)\"\n (expandToggle)=\"onSidebarItemToggled($event)\" />\n" }]
764
+ }], ctorParameters: () => [], propDecorators: { class: [{
765
+ type: HostBinding
766
+ }], hasFilter: [{
767
+ type: Input,
768
+ args: [{ transform: booleanAttribute }]
769
+ }], hasIcons: [{
770
+ type: Input,
771
+ args: [{ transform: booleanAttribute }]
772
+ }], hasIconsLabels: [{
773
+ type: Input,
774
+ args: [{ transform: booleanAttribute }]
775
+ }], hasTooltip: [{
776
+ type: Input,
777
+ args: [{ transform: booleanAttribute }]
778
+ }], hasTooltipOnExpanded: [{
779
+ type: Input,
780
+ args: [{ transform: booleanAttribute }]
781
+ }], expandAllItems: [{
782
+ type: Input,
783
+ args: [{ transform: booleanAttribute }]
784
+ }], isCollapsed: [{
785
+ type: Input,
786
+ args: [{ transform: booleanAttribute }]
787
+ }], hasCollapsedInitials: [{
788
+ type: Input,
789
+ args: [{ transform: booleanAttribute }]
790
+ }], isFlat: [{
791
+ type: Input,
792
+ args: [{ transform: booleanAttribute }]
793
+ }], hasScrollToItem: [{
794
+ type: Input,
795
+ args: [{ transform: booleanAttribute }]
796
+ }], hasBoldRootLevel: [{
797
+ type: Input,
798
+ args: [{ transform: booleanAttribute }]
799
+ }], items: [{
800
+ type: Input
801
+ }], sidebarItemClick: [{
802
+ type: Output
803
+ }], sidebarItemToggle: [{
804
+ type: Output
805
+ }], menu: [{
806
+ type: ViewChild,
807
+ args: ['menu', { static: false }]
808
+ }] } });
809
+
810
+ class EuiAppSidebarHeaderComponent {
811
+ constructor() {
812
+ this.class = 'eui-app-sidebar-header';
813
+ this.asService = inject(EuiAppShellService);
814
+ this.document = inject(DOCUMENT);
815
+ }
816
+ ngOnInit() {
817
+ this.asService.activateSidebarHeader();
818
+ }
819
+ ngOnDestroy() {
820
+ this.document.documentElement.style.removeProperty('--eui-app-sidebar-header-height');
821
+ }
822
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppSidebarHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
823
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EuiAppSidebarHeaderComponent, isStandalone: true, selector: "eui-app-sidebar-header", host: { properties: { "class": "this.class" } }, ngImport: i0, template: '<ng-content/>', isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
824
+ }
825
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppSidebarHeaderComponent, decorators: [{
826
+ type: Component,
827
+ args: [{
828
+ selector: 'eui-app-sidebar-header',
829
+ template: '<ng-content/>',
830
+ encapsulation: ViewEncapsulation.None,
831
+ }]
832
+ }], propDecorators: { class: [{
833
+ type: HostBinding
834
+ }] } });
835
+
836
+ class EuiAppSidebarFooterComponent {
837
+ constructor() {
838
+ this.class = 'eui-app-sidebar-footer';
839
+ this.asService = inject(EuiAppShellService);
840
+ this.document = inject(DOCUMENT);
841
+ }
842
+ ngOnInit() {
843
+ this.asService.activateSidebarFooter();
844
+ }
845
+ ngOnDestroy() {
846
+ this.document.documentElement.style.removeProperty('--eui-app-sidebar-footer-height');
847
+ }
848
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppSidebarFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
849
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EuiAppSidebarFooterComponent, isStandalone: true, selector: "eui-app-sidebar-footer", host: { properties: { "class": "this.class" } }, ngImport: i0, template: '<ng-content/>', isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
850
+ }
851
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppSidebarFooterComponent, decorators: [{
852
+ type: Component,
853
+ args: [{
854
+ selector: 'eui-app-sidebar-footer',
855
+ template: '<ng-content/>',
856
+ encapsulation: ViewEncapsulation.None,
857
+ }]
858
+ }], propDecorators: { class: [{
859
+ type: HostBinding
860
+ }] } });
861
+
862
+ class EuiAppSidebarHeaderUserProfileComponent {
863
+ constructor() {
864
+ this.welcomeLabel = 'Welcome';
865
+ this.impersonateLabel = 'acting as';
866
+ this.isShowUserInfos = true;
867
+ this.isShowAvatarInitials = false;
868
+ this.isOnline = true;
869
+ this.hasWelcomeLabel = true;
870
+ this.hasTabNavigation = false;
871
+ this.hasToggle = false;
872
+ this.hasProfileDrawer = false;
873
+ // eslint-disable-next-line
874
+ this.toggle = new EventEmitter();
875
+ this.toggleProfile = false;
876
+ }
877
+ get cssClasses() {
878
+ return this._getCssClasses();
879
+ }
880
+ // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html
881
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
882
+ onProfileClick(event) {
883
+ this.toggleProfile = !this.toggleProfile;
884
+ consumeEvent(event);
885
+ this.toggle.emit();
886
+ }
887
+ onClick(event) {
888
+ if (this.hasProfileDrawer) {
889
+ this.onProfileClick(event);
890
+ }
891
+ consumeEvent(event);
892
+ }
893
+ _getCssClasses() {
894
+ return [
895
+ 'eui-app-sidebar-header-user-profile',
896
+ this.hasProfileDrawer ? 'eui-app-sidebar-header-user-profile--has-drawer' : '',
897
+ ].join(' ').trim();
898
+ }
899
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppSidebarHeaderUserProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
900
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiAppSidebarHeaderUserProfileComponent, isStandalone: true, selector: "eui-app-sidebar-header-user-profile", inputs: { welcomeLabel: "welcomeLabel", impersonateLabel: "impersonateLabel", avatarUrl: "avatarUrl", isShowUserInfos: ["isShowUserInfos", "isShowUserInfos", booleanAttribute], isShowAvatarInitials: ["isShowAvatarInitials", "isShowAvatarInitials", booleanAttribute], isOnline: ["isOnline", "isOnline", booleanAttribute], hasWelcomeLabel: ["hasWelcomeLabel", "hasWelcomeLabel", booleanAttribute], hasTabNavigation: ["hasTabNavigation", "hasTabNavigation", booleanAttribute], hasToggle: ["hasToggle", "hasToggle", booleanAttribute], hasProfileDrawer: ["hasProfileDrawer", "hasProfileDrawer", booleanAttribute] }, outputs: { toggle: "toggle" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "userProfileMenu", predicate: i0.forwardRef(() => EuiUserProfileMenuComponent) }], ngImport: i0, template: "<eui-user-profile\n [hasWelcomeLabel]=\"hasWelcomeLabel\"\n [welcomeLabel]=\"welcomeLabel\"\n [impersonateLabel]=\"impersonateLabel\"\n [avatarUrl]=\"avatarUrl\"\n [hasMenu]=\"userProfileMenu.length !== 0\"\n [isShowUserInfos]=\"isShowUserInfos\"\n [isShowAvatarInitials]=\"isShowAvatarInitials\"\n [hasTabNavigation]=\"hasTabNavigation\"\n isReverse\n [hasToggle]=\"hasToggle\"\n #userProfile>\n <ng-content select=\"eui-user-profile-menu\" />\n</eui-user-profile>\n\n@if (hasProfileDrawer) {\n <button euiButton euiRounded euiIconButton euiBasicButton euiSecondary class=\"eui-u-ml-auto\" aria-label=\"Toggle user profile details\">\n <eui-icon-svg [icon]=\"toggleProfile ? 'chevron-up:sharp' : 'chevron-down:sharp'\"></eui-icon-svg>\n </button>\n}\n", styles: [".eui-app-sidebar-header-user-profile{border-bottom:1px solid var(--eui-c-divider);display:flex;height:var(--eui-app-sidebar-header-user-profile);padding:var(--eui-s-s) var(--eui-s-m);position:relative;width:100%}.eui-app-sidebar-header-user-profile--has-drawer,.eui-app-sidebar-header-user-profile--has-drawer .eui-user-profile-content--no-menu{cursor:pointer}@media screen and (min-width: 996px){.eui-app-sidebar-header-user-profile{display:none}}\n"], dependencies: [{ kind: "component", type: i1$3.EuiUserProfileComponent, selector: "eui-user-profile", inputs: ["welcomeLabel", "impersonateLabel", "avatarUrl", "subInfos", "statusVariant", "hasMenu", "hasWelcomeLabel", "isShowAvatarInitials", "hasTabNavigation", "isReverse", "hasToggle", "isHeaderUserProfile", "isToolbarUserProfile", "isShowUserInfos", "isMobileOnly", "euiStatusSecondary", "euiStatusSuccess", "euiStatusDanger", "reverseNameOrder"] }, { kind: "component", type: i1$1.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiCTAButton", "euiBlockButton", "euiIconButton", "euiAvatarButton", "euiLineWrap", "isCompact", "hasNoFocusRing", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i1.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"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
901
+ }
902
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppSidebarHeaderUserProfileComponent, decorators: [{
903
+ type: Component,
904
+ args: [{ selector: 'eui-app-sidebar-header-user-profile', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, imports: [
905
+ ...EUI_USER_PROFILE,
906
+ ...EUI_BUTTON,
907
+ ...EUI_ICON,
908
+ ], template: "<eui-user-profile\n [hasWelcomeLabel]=\"hasWelcomeLabel\"\n [welcomeLabel]=\"welcomeLabel\"\n [impersonateLabel]=\"impersonateLabel\"\n [avatarUrl]=\"avatarUrl\"\n [hasMenu]=\"userProfileMenu.length !== 0\"\n [isShowUserInfos]=\"isShowUserInfos\"\n [isShowAvatarInitials]=\"isShowAvatarInitials\"\n [hasTabNavigation]=\"hasTabNavigation\"\n isReverse\n [hasToggle]=\"hasToggle\"\n #userProfile>\n <ng-content select=\"eui-user-profile-menu\" />\n</eui-user-profile>\n\n@if (hasProfileDrawer) {\n <button euiButton euiRounded euiIconButton euiBasicButton euiSecondary class=\"eui-u-ml-auto\" aria-label=\"Toggle user profile details\">\n <eui-icon-svg [icon]=\"toggleProfile ? 'chevron-up:sharp' : 'chevron-down:sharp'\"></eui-icon-svg>\n </button>\n}\n", styles: [".eui-app-sidebar-header-user-profile{border-bottom:1px solid var(--eui-c-divider);display:flex;height:var(--eui-app-sidebar-header-user-profile);padding:var(--eui-s-s) var(--eui-s-m);position:relative;width:100%}.eui-app-sidebar-header-user-profile--has-drawer,.eui-app-sidebar-header-user-profile--has-drawer .eui-user-profile-content--no-menu{cursor:pointer}@media screen and (min-width: 996px){.eui-app-sidebar-header-user-profile{display:none}}\n"] }]
909
+ }], propDecorators: { cssClasses: [{
910
+ type: HostBinding,
911
+ args: ['class']
912
+ }], welcomeLabel: [{
913
+ type: Input
914
+ }], impersonateLabel: [{
915
+ type: Input
916
+ }], avatarUrl: [{
917
+ type: Input
918
+ }], isShowUserInfos: [{
919
+ type: Input,
920
+ args: [{ transform: booleanAttribute }]
921
+ }], isShowAvatarInitials: [{
922
+ type: Input,
923
+ args: [{ transform: booleanAttribute }]
924
+ }], isOnline: [{
925
+ type: Input,
926
+ args: [{ transform: booleanAttribute }]
927
+ }], hasWelcomeLabel: [{
928
+ type: Input,
929
+ args: [{ transform: booleanAttribute }]
930
+ }], hasTabNavigation: [{
931
+ type: Input,
932
+ args: [{ transform: booleanAttribute }]
933
+ }], hasToggle: [{
934
+ type: Input,
935
+ args: [{ transform: booleanAttribute }]
936
+ }], hasProfileDrawer: [{
937
+ type: Input,
938
+ args: [{ transform: booleanAttribute }]
939
+ }], toggle: [{
940
+ type: Output
941
+ }], userProfileMenu: [{
942
+ type: ContentChildren,
943
+ args: [forwardRef(() => EuiUserProfileMenuComponent)]
944
+ }], onClick: [{
945
+ type: HostListener,
946
+ args: ['click', ['$event']]
947
+ }] } });
948
+
949
+ class EuiAppSidebarDrawerComponent {
950
+ constructor() {
951
+ this._isExpanded = false;
952
+ }
953
+ get isExpanded() {
954
+ return this._isExpanded;
955
+ }
956
+ set isExpanded(value) {
957
+ this._isExpanded = coerceBooleanProperty(value);
958
+ }
959
+ get cssClasses() {
960
+ return this._getCssClasses();
961
+ }
962
+ onSidebarDrawerContentClick(event) {
963
+ event.stopPropagation();
964
+ }
965
+ _getCssClasses() {
966
+ return ['eui-app-sidebar-drawer', this.isExpanded ? 'eui-app-sidebar-drawer--expanded' : ''].join(' ').trim();
967
+ }
968
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppSidebarDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
969
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EuiAppSidebarDrawerComponent, isStandalone: true, selector: "eui-app-sidebar-drawer", inputs: { isExpanded: "isExpanded" }, host: { properties: { "class": "this.cssClasses" } }, ngImport: i0, template: "<!-- HIDDEN APP DRAWER : scrolls up and revealing user info details or any other injected content -->\n<div class=\"eui-app-sidebar-drawer-content\" (click)=\"onSidebarDrawerContentClick($event)\">\n <ng-content></ng-content>\n</div>\n", encapsulation: i0.ViewEncapsulation.None }); }
970
+ }
971
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppSidebarDrawerComponent, decorators: [{
972
+ type: Component,
973
+ args: [{ selector: 'eui-app-sidebar-drawer', encapsulation: ViewEncapsulation.None, template: "<!-- HIDDEN APP DRAWER : scrolls up and revealing user info details or any other injected content -->\n<div class=\"eui-app-sidebar-drawer-content\" (click)=\"onSidebarDrawerContentClick($event)\">\n <ng-content></ng-content>\n</div>\n" }]
974
+ }], propDecorators: { isExpanded: [{
975
+ type: Input
976
+ }], cssClasses: [{
977
+ type: HostBinding,
978
+ args: ['class']
979
+ }] } });
980
+
981
+ class EuiSidebarToggleComponent {
982
+ constructor() {
983
+ this.e2eAttr = 'eui-sidebar-toggle';
984
+ this.name = 'eui-sidebar-toggle';
985
+ this.asService = inject(EuiAppShellService);
986
+ }
987
+ onToggleSidebar(event) {
988
+ // focus the first focusable element in the sidebar when opened in mobile/tablet
989
+ if (this.asService.state.breakpoints.isMobile || this.asService.state.breakpoints.isTablet) {
990
+ if (!this.asService.isSidebarOpen) {
991
+ this.asService.state.isSidebarFocused = true;
992
+ }
993
+ else {
994
+ this.asService.state.isSidebarFocused = false;
995
+ }
996
+ }
997
+ this.asService.sidebarToggle();
998
+ consumeEvent(event);
999
+ }
1000
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiSidebarToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1001
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EuiSidebarToggleComponent, isStandalone: true, selector: "eui-sidebar-toggle", inputs: { e2eAttr: "e2eAttr", iconSvgFillColor: "iconSvgFillColor" }, host: { properties: { "attr.data-e2e": "this.e2eAttr", "class": "this.name" } }, ngImport: i0, template: "<eui-icon-button\n icon=\"eui-menu\"\n fillColor=\"{{iconSvgFillColor}}\"\n size=\"l\"\n [ariaLabel]=\"(asService.state$ | async).isSidebarOpen ? 'Close Sidebar' : 'Open Sidebar'\"\n (buttonClick)=\"onToggleSidebar($event)\" />\n", dependencies: [{ kind: "component", type: i2.EuiIconButtonComponent, selector: "eui-icon-button", inputs: ["icon", "iconUrl", "fillColor", "size", "ariaLabel", "tabindex", "hasNoPadding", "hasOverflowHover", "hasFocusHoverColor", "hasFocusHoverBg", "euiRounded", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
1002
+ }
1003
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiSidebarToggleComponent, decorators: [{
1004
+ type: Component,
1005
+ args: [{ selector: 'eui-sidebar-toggle', encapsulation: ViewEncapsulation.None, imports: [
1006
+ AsyncPipe,
1007
+ ...EUI_ICON_BUTTON,
1008
+ ], template: "<eui-icon-button\n icon=\"eui-menu\"\n fillColor=\"{{iconSvgFillColor}}\"\n size=\"l\"\n [ariaLabel]=\"(asService.state$ | async).isSidebarOpen ? 'Close Sidebar' : 'Open Sidebar'\"\n (buttonClick)=\"onToggleSidebar($event)\" />\n" }]
1009
+ }], propDecorators: { e2eAttr: [{
1010
+ type: HostBinding,
1011
+ args: ['attr.data-e2e']
1012
+ }, {
1013
+ type: Input
1014
+ }], name: [{
1015
+ type: HostBinding,
1016
+ args: ['class']
1017
+ }], iconSvgFillColor: [{
1018
+ type: Input
1019
+ }] } });
1020
+
1021
+ class EuiAppToolbarComponent {
1022
+ constructor() {
1023
+ this.role = 'banner';
1024
+ this.euiSecondary = false;
1025
+ this.asService = inject(EuiAppShellService);
1026
+ this.document = inject(DOCUMENT);
1027
+ }
1028
+ get cssClasses() {
1029
+ return [
1030
+ 'eui-app-toolbar',
1031
+ this.euiSecondary ? 'eui-app-toolbar--secondary eui--secondary' : 'eui-app-toolbar--primary eui--primary',
1032
+ ].join(' ').trim();
1033
+ }
1034
+ ngOnInit() {
1035
+ this.asService.activateToolbar();
1036
+ }
1037
+ ngOnDestroy() {
1038
+ this.asService.setState({
1039
+ ...this.asService.state,
1040
+ hasToolbar: false,
1041
+ });
1042
+ this.document.documentElement.style.removeProperty('--eui-app-toolbar-height');
1043
+ }
1044
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1045
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiAppToolbarComponent, isStandalone: true, selector: "eui-app-toolbar", inputs: { euiSecondary: ["euiSecondary", "euiSecondary", booleanAttribute] }, host: { properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, ngImport: i0, template: "@if (asService.getState('hasSidebar') | async) {\n <eui-sidebar-toggle class=\"eui-app-toolbar__sidebar-toggle\"/>\n}\n\n<ng-content/>\n\n@if ((asService.getState('hasHeader') | async) && (asService.breakpoints$ | async).isMobile) {\n <eui-language-selector isToolbarSelector/>\n}\n", styles: [".eui-app-toolbar{align-items:center;width:100%;height:var(--eui-app-toolbar-height);display:flex;position:fixed;right:0;left:0;top:calc(var(--eui-app-header-height) + var(--eui-app-top-message-height));z-index:var(--eui-zi-nav);border-bottom:1px solid var(--eui-c-divider)}.eui-app-toolbar__sidebar-toggle{padding-left:var(--eui-s-xs);padding-right:var(--eui-s-xs)}.eui-app-toolbar--primary{background-color:var(--eui-c-branding);color:var(--eui-c-white)}.eui-app-toolbar--primary .eui-icon-svg{--_color: var(--eui-c-white)}.eui-app-toolbar--secondary{background-color:var(--eui-c-surface-shell);color:var(--eui-c-text)}.modal-open .eui-app-toolbar{z-index:auto}.eui-t-ec .eui-app-toolbar__sidebar-toggle{padding-top:calc(var(--eui-s-m) + 2px)}@media screen and (max-width: 767px){.eui-app-toolbar__sidebar-toggle{padding-right:0}}\n"], dependencies: [{ kind: "component", type: EuiSidebarToggleComponent, selector: "eui-sidebar-toggle", inputs: ["e2eAttr", "iconSvgFillColor"] }, { kind: "component", type: i1$4.EuiLanguageSelectorComponent, selector: "eui-language-selector", inputs: ["hasLanguageSelection", "isToolbarSelector", "euiPrimary", "aria-label"], outputs: ["languageSelectorClick"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
1046
+ }
1047
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppToolbarComponent, decorators: [{
1048
+ type: Component,
1049
+ args: [{ selector: 'eui-app-toolbar', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, imports: [
1050
+ AsyncPipe,
1051
+ EuiSidebarToggleComponent,
1052
+ ...EUI_LANGUAGE_SELECTOR,
1053
+ ], template: "@if (asService.getState('hasSidebar') | async) {\n <eui-sidebar-toggle class=\"eui-app-toolbar__sidebar-toggle\"/>\n}\n\n<ng-content/>\n\n@if ((asService.getState('hasHeader') | async) && (asService.breakpoints$ | async).isMobile) {\n <eui-language-selector isToolbarSelector/>\n}\n", styles: [".eui-app-toolbar{align-items:center;width:100%;height:var(--eui-app-toolbar-height);display:flex;position:fixed;right:0;left:0;top:calc(var(--eui-app-header-height) + var(--eui-app-top-message-height));z-index:var(--eui-zi-nav);border-bottom:1px solid var(--eui-c-divider)}.eui-app-toolbar__sidebar-toggle{padding-left:var(--eui-s-xs);padding-right:var(--eui-s-xs)}.eui-app-toolbar--primary{background-color:var(--eui-c-branding);color:var(--eui-c-white)}.eui-app-toolbar--primary .eui-icon-svg{--_color: var(--eui-c-white)}.eui-app-toolbar--secondary{background-color:var(--eui-c-surface-shell);color:var(--eui-c-text)}.modal-open .eui-app-toolbar{z-index:auto}.eui-t-ec .eui-app-toolbar__sidebar-toggle{padding-top:calc(var(--eui-s-m) + 2px)}@media screen and (max-width: 767px){.eui-app-toolbar__sidebar-toggle{padding-right:0}}\n"] }]
1054
+ }], propDecorators: { cssClasses: [{
1055
+ type: HostBinding,
1056
+ args: ['class']
1057
+ }], role: [{
1058
+ type: HostBinding,
1059
+ args: ['attr.role']
1060
+ }], euiSecondary: [{
1061
+ type: Input,
1062
+ args: [{ transform: booleanAttribute }]
1063
+ }] } });
1064
+
1065
+ class EuiAppComponent {
1066
+ constructor() {
1067
+ this.cssClasses = 'eui-app';
1068
+ this.appSubTitle = '';
1069
+ this.themeClass = '';
1070
+ this.hasNoPageWrapper = false;
1071
+ this.isSidebarOpen = true;
1072
+ this.isShrinkHeaderActive = true;
1073
+ this.isSidebarHidden = false;
1074
+ this.asService = inject(EuiAppShellService);
1075
+ this.euiGrowlService = inject(EuiGrowlService);
1076
+ this.destroy$ = new Subject();
1077
+ this.cdRef = inject(ChangeDetectorRef);
1078
+ this.platformId = inject(PLATFORM_ID);
1079
+ this.document = inject(DOCUMENT);
1080
+ }
1081
+ ngAfterContentInit() {
1082
+ this.hasNoPageWrapper = !this.customPageWrapper;
1083
+ this.isViewLoaded = true;
1084
+ }
1085
+ ngOnInit() {
1086
+ this.isViewLoaded = false;
1087
+ CssUtils.initCssVars(this.document, this.platformId);
1088
+ CssUtils.setHtmlClass('eui-19', this.document);
1089
+ if (isPlatformBrowser(this.platformId)) {
1090
+ const browserAgent = window.navigator.userAgent.toLowerCase();
1091
+ this.asService.setState({
1092
+ ...this.asService.state,
1093
+ windowHeight: window.innerHeight,
1094
+ windowWidth: window.innerWidth,
1095
+ hasHeader: false,
1096
+ hasSidebar: false,
1097
+ deviceInfo: {
1098
+ isChrome: browserAgent.indexOf('chrome') > -1,
1099
+ isIE: browserAgent.indexOf('trident') > -1,
1100
+ isFF: browserAgent.indexOf('firefox') > -1,
1101
+ },
1102
+ appBaseFontSize: this.asService.getBaseFontSize(),
1103
+ });
1104
+ }
1105
+ this.asService
1106
+ .getState('wrapperClasses')
1107
+ .pipe(takeUntil(this.destroy$))
1108
+ .subscribe((state) => {
1109
+ this.cdRef.detach();
1110
+ this.cssClasses = ['eui-app', state].join(' ');
1111
+ this.cdRef.reattach();
1112
+ this.cdRef.detectChanges();
1113
+ });
1114
+ if (isPlatformBrowser(this.platformId)) {
1115
+ fromEvent(window, 'resize')
1116
+ .pipe(debounceTime(50), takeUntil(this.destroy$))
1117
+ .subscribe(() => {
1118
+ this.asService?.setState({
1119
+ ...this.asService.state,
1120
+ windowHeight: window.innerHeight,
1121
+ windowWidth: window.innerWidth,
1122
+ });
1123
+ CssUtils.setAppViewportCssVars(this.platformId);
1124
+ });
1125
+ }
1126
+ }
1127
+ ngOnChanges(changes) {
1128
+ if (changes.isSidebarHidden) {
1129
+ this.asService.setState({
1130
+ ...this.asService.state,
1131
+ isSidebarHidden: changes.isSidebarHidden.currentValue,
1132
+ });
1133
+ }
1134
+ if (changes.isSidebarOpen) {
1135
+ this.asService.setState({
1136
+ ...this.asService.state,
1137
+ isSidebarOpen: changes.isSidebarOpen.currentValue,
1138
+ });
1139
+ }
1140
+ }
1141
+ ngOnDestroy() {
1142
+ this.destroy$.next(true);
1143
+ this.destroy$.unsubscribe();
1144
+ }
1145
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1146
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiAppComponent, isStandalone: true, selector: "eui-app", inputs: { appSubTitle: "appSubTitle", themeClass: "themeClass", isSidebarOpen: ["isSidebarOpen", "isSidebarOpen", booleanAttribute], isShrinkHeaderActive: ["isShrinkHeaderActive", "isShrinkHeaderActive", booleanAttribute], isSidebarHidden: ["isSidebarHidden", "isSidebarHidden", booleanAttribute] }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "appSidebar", first: true, predicate: i0.forwardRef(() => EuiAppSidebarComponent), descendants: true }, { propertyName: "customPageWrapper", first: true, predicate: i0.forwardRef(() => EuiAppPageWrapperDirective), descendants: true }, { propertyName: "appToolbar", first: true, predicate: i0.forwardRef(() => EuiAppToolbarComponent), descendants: true }], usesOnChanges: true, ngImport: i0, template: "<eui-dimmer [isDimmerActive]=\"(asService.state$ | async).isDimmerActive\" />\n\n<ng-content select=\"eui-app-sidebar\" />\n@if (!appSidebar && (asService.state$ | async).menuLinks.length !== 0 && (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile) {\n <eui-app-sidebar>\n <eui-app-sidebar-body>\n <eui-app-sidebar-menu [hasIcons]=\"true\" />\n </eui-app-sidebar-body>\n </eui-app-sidebar>\n}\n\n@if (isViewLoaded) {\n<div class=\"eui-app-main\">\n <ng-content select=\"eui-app-top-message\"></ng-content>\n\n <ng-content select=\"eui-app-header\"></ng-content>\n\n @if (\n (!appToolbar && (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile) || \n (appToolbar && (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile ) && (asService.state$ | async).menuLinks.length !== 0\n ) {\n <eui-app-toolbar>\n <eui-toolbar>\n <eui-toolbar-items>\n <eui-toolbar-item>\n <ng-content select=\"eui-user-profile\"/>\n </eui-toolbar-item>\n </eui-toolbar-items> \n </eui-toolbar>\n </eui-app-toolbar>\n } @else {\n <ng-content select=\"eui-app-toolbar\"></ng-content>\n }\n\n <ng-content select=\"eui-app-breadcrumb\"></ng-content>\n\n <div class=\"eui-app-main-content\" role=\"main\">\n <ng-content select=\"eui-app-page-wrapper\"></ng-content>\n @if (hasNoPageWrapper) {\n <router-outlet></router-outlet>\n }\n </div>\n\n <ng-content select=\"eui-app-footer\"></ng-content>\n</div>\n}\n\n<eui-growl\n [value]=\"euiGrowlService.growlMessages\"\n [sticky]=\"euiGrowlService.isGrowlSticky\"\n [closeAllSticky]=\"euiGrowlService.isCloseAllSticky\"\n [life]=\"euiGrowlService.growlLife\"\n [ariaLive]=\"euiGrowlService.ariaGrowlLive\"\n [position]=\"euiGrowlService.growlPosition\"\n (growlClick)=\"euiGrowlService.growlCallback ? euiGrowlService.growlCallback(): null\" />\n\n<eui-block-document [isBlocked]=\"(asService.state$ | async).isBlockDocumentActive\" />\n", styles: [".eui-app{display:flex;overflow:hidden}.eui-app-main-content{flex-grow:1;margin-top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-toolbar-mega-menu-height) + var(--eui-app-top-message-height) - var(--eui-app-breadcrumb-height));position:relative}.eui-app-main{min-height:100vh;background:var(--eui-c-surface-page);width:calc(100% - var(--eui-app-sidebar-width));margin-left:var(--eui-app-sidebar-width);transition:top .1s ease,width .1s ease-in,margin-left .1s ease-in-out;display:flex;flex-direction:column}eui-app-page-wrapper{display:flex;width:100%}@media screen and (max-width: 767px){.eui-app.sidebar--open:before{background:#0000004d;bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height));transition:all .1s ease;width:100vw;z-index:980}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-app.sidebar--open:before{background:#0000004d;bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height));transition:all .1s ease;width:100vw;z-index:980}}@media screen and (min-width: 996px){.sidebar--hidden.eui-app.sidebar--open:before{background:#0000004d;bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height));transition:all .1s ease;width:100vw;z-index:980}}@media screen and (max-width: 767px){.eui-app-main{margin-left:0;width:100%}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-app-main{margin-left:0;width:100%}}@media screen and (min-width: 996px){.sidebar--close .eui-app-main{margin-left:var(--eui-app-sidebar-width-close);width:calc(100% - var(--eui-app-sidebar-width-close))}.sidebar--hidden.sidebar--close .eui-app-main,.sidebar--hidden.sidebar--open .eui-app-main{margin-left:0;width:100%}}\n"], dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: EuiAppSidebarComponent, selector: "eui-app-sidebar" }, { kind: "component", type: EuiAppSidebarMenuComponent, selector: "eui-app-sidebar-menu", inputs: ["hasFilter", "hasIcons", "hasIconsLabels", "hasTooltip", "hasTooltipOnExpanded", "expandAllItems", "isCollapsed", "hasCollapsedInitials", "isFlat", "hasScrollToItem", "hasBoldRootLevel", "items"], outputs: ["sidebarItemClick", "sidebarItemToggle"] }, { kind: "component", type: EuiAppSidebarBodyComponent, selector: "eui-app-sidebar-body" }, { kind: "component", type: EuiAppToolbarComponent, selector: "eui-app-toolbar", inputs: ["euiSecondary"] }, { kind: "component", type: EuiToolbarComponent, selector: "eui-toolbar", inputs: ["euiSecondary", "euiPrimary"] }, { kind: "component", type: EuiToolbarItemsComponent, selector: "eui-toolbar-items", inputs: ["euiEnd", "euiPositionRight"] }, { kind: "component", type: EuiToolbarItemComponent, selector: "eui-toolbar-item" }, { kind: "component", type: i1$5.EuiGrowlComponent, selector: "eui-growl", inputs: ["e2eAttr", "ariaLive", "sticky", "life", "value", "closeAllSticky", "position"], outputs: ["growlClick"] }, { kind: "component", type: i2$1.EuiDimmerComponent, selector: "eui-dimmer", inputs: ["isDimmerActive", "e2eAttr"] }, { kind: "component", type: i3$2.EuiBlockDocumentComponent, selector: "eui-block-document", inputs: ["isBlocked", "ariaLabel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
1147
+ }
1148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppComponent, decorators: [{
1149
+ type: Component,
1150
+ args: [{ selector: 'eui-app', encapsulation: ViewEncapsulation.None, imports: [
1151
+ RouterOutlet,
1152
+ AsyncPipe,
1153
+ EuiAppSidebarComponent,
1154
+ EuiAppSidebarMenuComponent,
1155
+ EuiAppSidebarBodyComponent,
1156
+ EuiAppToolbarComponent,
1157
+ EuiToolbarComponent,
1158
+ EuiToolbarItemsComponent,
1159
+ EuiToolbarItemComponent,
1160
+ ...EUI_USER_PROFILE,
1161
+ ...EUI_GROWL,
1162
+ ...EUI_DIMMER,
1163
+ ...EUI_BLOCK_DOCUMENT,
1164
+ ], template: "<eui-dimmer [isDimmerActive]=\"(asService.state$ | async).isDimmerActive\" />\n\n<ng-content select=\"eui-app-sidebar\" />\n@if (!appSidebar && (asService.state$ | async).menuLinks.length !== 0 && (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile) {\n <eui-app-sidebar>\n <eui-app-sidebar-body>\n <eui-app-sidebar-menu [hasIcons]=\"true\" />\n </eui-app-sidebar-body>\n </eui-app-sidebar>\n}\n\n@if (isViewLoaded) {\n<div class=\"eui-app-main\">\n <ng-content select=\"eui-app-top-message\"></ng-content>\n\n <ng-content select=\"eui-app-header\"></ng-content>\n\n @if (\n (!appToolbar && (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile) || \n (appToolbar && (asService.state$ | async).hasHeader && (asService.breakpoints$ | async).isMobile ) && (asService.state$ | async).menuLinks.length !== 0\n ) {\n <eui-app-toolbar>\n <eui-toolbar>\n <eui-toolbar-items>\n <eui-toolbar-item>\n <ng-content select=\"eui-user-profile\"/>\n </eui-toolbar-item>\n </eui-toolbar-items> \n </eui-toolbar>\n </eui-app-toolbar>\n } @else {\n <ng-content select=\"eui-app-toolbar\"></ng-content>\n }\n\n <ng-content select=\"eui-app-breadcrumb\"></ng-content>\n\n <div class=\"eui-app-main-content\" role=\"main\">\n <ng-content select=\"eui-app-page-wrapper\"></ng-content>\n @if (hasNoPageWrapper) {\n <router-outlet></router-outlet>\n }\n </div>\n\n <ng-content select=\"eui-app-footer\"></ng-content>\n</div>\n}\n\n<eui-growl\n [value]=\"euiGrowlService.growlMessages\"\n [sticky]=\"euiGrowlService.isGrowlSticky\"\n [closeAllSticky]=\"euiGrowlService.isCloseAllSticky\"\n [life]=\"euiGrowlService.growlLife\"\n [ariaLive]=\"euiGrowlService.ariaGrowlLive\"\n [position]=\"euiGrowlService.growlPosition\"\n (growlClick)=\"euiGrowlService.growlCallback ? euiGrowlService.growlCallback(): null\" />\n\n<eui-block-document [isBlocked]=\"(asService.state$ | async).isBlockDocumentActive\" />\n", styles: [".eui-app{display:flex;overflow:hidden}.eui-app-main-content{flex-grow:1;margin-top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-toolbar-mega-menu-height) + var(--eui-app-top-message-height) - var(--eui-app-breadcrumb-height));position:relative}.eui-app-main{min-height:100vh;background:var(--eui-c-surface-page);width:calc(100% - var(--eui-app-sidebar-width));margin-left:var(--eui-app-sidebar-width);transition:top .1s ease,width .1s ease-in,margin-left .1s ease-in-out;display:flex;flex-direction:column}eui-app-page-wrapper{display:flex;width:100%}@media screen and (max-width: 767px){.eui-app.sidebar--open:before{background:#0000004d;bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height));transition:all .1s ease;width:100vw;z-index:980}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-app.sidebar--open:before{background:#0000004d;bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height));transition:all .1s ease;width:100vw;z-index:980}}@media screen and (min-width: 996px){.sidebar--hidden.eui-app.sidebar--open:before{background:#0000004d;bottom:0;content:\"\";position:fixed;right:0;top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height));transition:all .1s ease;width:100vw;z-index:980}}@media screen and (max-width: 767px){.eui-app-main{margin-left:0;width:100%}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-app-main{margin-left:0;width:100%}}@media screen and (min-width: 996px){.sidebar--close .eui-app-main{margin-left:var(--eui-app-sidebar-width-close);width:calc(100% - var(--eui-app-sidebar-width-close))}.sidebar--hidden.sidebar--close .eui-app-main,.sidebar--hidden.sidebar--open .eui-app-main{margin-left:0;width:100%}}\n"] }]
1165
+ }], propDecorators: { cssClasses: [{
1166
+ type: HostBinding,
1167
+ args: ['class']
1168
+ }], appSubTitle: [{
1169
+ type: Input
1170
+ }], themeClass: [{
1171
+ type: Input
1172
+ }], isSidebarOpen: [{
1173
+ type: Input,
1174
+ args: [{ transform: booleanAttribute }]
1175
+ }], isShrinkHeaderActive: [{
1176
+ type: Input,
1177
+ args: [{ transform: booleanAttribute }]
1178
+ }], isSidebarHidden: [{
1179
+ type: Input,
1180
+ args: [{ transform: booleanAttribute }]
1181
+ }], appSidebar: [{
1182
+ type: ContentChild,
1183
+ args: [forwardRef(() => EuiAppSidebarComponent)]
1184
+ }], customPageWrapper: [{
1185
+ type: ContentChild,
1186
+ args: [forwardRef(() => EuiAppPageWrapperDirective)]
1187
+ }], appToolbar: [{
1188
+ type: ContentChild,
1189
+ args: [forwardRef(() => EuiAppToolbarComponent)]
1190
+ }] } });
1191
+ /* eslint-disable */
1192
+ class EuiAppPageWrapperDirective {
1193
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppPageWrapperDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1194
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EuiAppPageWrapperDirective, isStandalone: true, selector: "eui-app-page-wrapper", ngImport: i0 }); }
1195
+ }
1196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppPageWrapperDirective, decorators: [{
1197
+ type: Directive,
1198
+ args: [{ selector: 'eui-app-page-wrapper' }]
1199
+ }] });
1200
+
1201
+ class EuiAppHeaderComponent {
1202
+ constructor() {
1203
+ this.asService = inject(EuiAppShellService);
1204
+ this.role = 'banner';
1205
+ this._isShrinkHeaderActive = false;
1206
+ this.isHeaderShrinked = false;
1207
+ this.destroy$ = new Subject();
1208
+ this.zone = inject(NgZone);
1209
+ this.viewportRuler = inject(ViewportRuler);
1210
+ this.scrollDispatcher = inject(ScrollDispatcher);
1211
+ this.document = inject(DOCUMENT);
1212
+ this.platformId = inject(PLATFORM_ID);
1213
+ }
1214
+ get cssClasses() {
1215
+ return this.getCssClasses();
1216
+ }
1217
+ get isShrinkHeaderActive() {
1218
+ return this._isShrinkHeaderActive;
1219
+ }
1220
+ set isShrinkHeaderActive(value) {
1221
+ this._isShrinkHeaderActive = coerceBooleanProperty(value);
1222
+ }
1223
+ ngOnInit() {
1224
+ this.asService.activateHeader();
1225
+ // Scrolled is running outside angular zone (for performance reasons - less change detections).
1226
+ // Read more: https://material.angular.io/cdk/scrolling/api#ScrollDispatcher
1227
+ // scrolled uses DEFAULT_SCROLL_TIME which is 20ms
1228
+ this.scrollDispatcher
1229
+ .scrolled()
1230
+ .pipe(filter(() => this.isShrinkHeaderActive), takeUntil(this.destroy$))
1231
+ .subscribe(() => {
1232
+ // read the top scroll position of the viewport
1233
+ const topScrollPos = this.viewportRuler.getViewportScrollPosition().top;
1234
+ CssUtils.setHeaderShrinkCssVar(topScrollPos > 0, this.document, this.platformId);
1235
+ // change the shrinkHeader value only if it's different from the current one
1236
+ if (topScrollPos > 0 !== this.isHeaderShrinked) {
1237
+ // we need to run this inside angular zone to trigger change detection in CSS
1238
+ this.zone.run(() => (this.isHeaderShrinked = topScrollPos > 0));
1239
+ }
1240
+ });
1241
+ }
1242
+ ngOnDestroy() {
1243
+ this.destroy$.next(true);
1244
+ this.destroy$.unsubscribe();
1245
+ // cleanup
1246
+ this.asService.setState({
1247
+ ...this.asService.state,
1248
+ hasHeader: false,
1249
+ });
1250
+ this.document.documentElement.style.removeProperty('--eui-app-header-height');
1251
+ }
1252
+ getCssClasses() {
1253
+ return ['eui-app-header', this.isHeaderShrinked ? 'eui-app-header--shrinked' : ''].join(' ');
1254
+ }
1255
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1256
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiAppHeaderComponent, isStandalone: true, selector: "eui-app-header", inputs: { isShrinkHeaderActive: "isShrinkHeaderActive" }, host: { properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, ngImport: i0, template: "@if ((asService.state$ | async).hasSidebar && (asService.state$ | async).hasHeader && !(asService.state$ | async).hasToolbar) {\n <eui-sidebar-toggle class=\"eui-app-header__sidebar-toggle\"/>\n}\n<ng-content select=\"eui-header\"/>\n", styles: [".eui-app-header{align-items:center;display:flex;flex-direction:row;height:var(--eui-app-header-height);position:fixed;right:0;top:var(--eui-app-top-message-height);width:100%;z-index:var(--eui-zi-header);transition:visibility .1s ease}.eui-app-header--shrinked{visibility:hidden}.eui-app-header__sidebar-toggle{padding-left:var(--eui-s-xs);padding-top:var(--eui-s-m)}@media screen and (max-width: 767px){.eui-app-header{visibility:hidden}}\n"], dependencies: [{ kind: "component", type: EuiSidebarToggleComponent, selector: "eui-sidebar-toggle", inputs: ["e2eAttr", "iconSvgFillColor"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
1257
+ }
1258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppHeaderComponent, decorators: [{
1259
+ type: Component,
1260
+ args: [{ selector: 'eui-app-header', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, imports: [
1261
+ AsyncPipe,
1262
+ EuiSidebarToggleComponent,
1263
+ ], template: "@if ((asService.state$ | async).hasSidebar && (asService.state$ | async).hasHeader && !(asService.state$ | async).hasToolbar) {\n <eui-sidebar-toggle class=\"eui-app-header__sidebar-toggle\"/>\n}\n<ng-content select=\"eui-header\"/>\n", styles: [".eui-app-header{align-items:center;display:flex;flex-direction:row;height:var(--eui-app-header-height);position:fixed;right:0;top:var(--eui-app-top-message-height);width:100%;z-index:var(--eui-zi-header);transition:visibility .1s ease}.eui-app-header--shrinked{visibility:hidden}.eui-app-header__sidebar-toggle{padding-left:var(--eui-s-xs);padding-top:var(--eui-s-m)}@media screen and (max-width: 767px){.eui-app-header{visibility:hidden}}\n"] }]
1264
+ }], propDecorators: { cssClasses: [{
1265
+ type: HostBinding,
1266
+ args: ['class']
1267
+ }], role: [{
1268
+ type: HostBinding,
1269
+ args: ['attr.role']
1270
+ }], isShrinkHeaderActive: [{
1271
+ type: Input
1272
+ }] } });
1273
+
1274
+ class EuiAppFooterComponent {
1275
+ constructor() {
1276
+ this.class = 'eui-app-footer';
1277
+ this.role = 'contentinfo';
1278
+ }
1279
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1280
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EuiAppFooterComponent, isStandalone: true, selector: "eui-app-footer", host: { properties: { "class": "this.class", "attr.role": "this.role" } }, ngImport: i0, template: '<ng-content/>', isInline: true, styles: [".eui-app-footer{border-top:1px solid var(--eui-c-divider-light);margin-top:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
1281
+ }
1282
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppFooterComponent, decorators: [{
1283
+ type: Component,
1284
+ args: [{ selector: 'eui-app-footer', template: '<ng-content/>', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, styles: [".eui-app-footer{border-top:1px solid var(--eui-c-divider-light);margin-top:auto}\n"] }]
1285
+ }], propDecorators: { class: [{
1286
+ type: HostBinding
1287
+ }], role: [{
1288
+ type: HostBinding,
1289
+ args: ['attr.role']
1290
+ }] } });
1291
+
1292
+ class EuiAppTopMessageComponent {
1293
+ constructor() {
1294
+ this.role = 'banner';
1295
+ this.isCloseable = false;
1296
+ this.hasCustomContent = false;
1297
+ this.topMessageClose = new EventEmitter();
1298
+ this.asService = inject(EuiAppShellService);
1299
+ this._isVisible = true;
1300
+ this.destroy$ = new Subject();
1301
+ this.elRef = inject(ElementRef);
1302
+ this.cd = inject(ChangeDetectorRef);
1303
+ this.obs = inject(ContentObserver);
1304
+ this.baseStatesDirective = inject(BaseStatesDirective);
1305
+ this.document = inject(DOCUMENT);
1306
+ }
1307
+ get cssClasses() {
1308
+ return [
1309
+ this.baseStatesDirective.getCssClasses('eui-app-top-message'),
1310
+ !this.isVisible ? 'eui-app-top-message--hidden' : '',
1311
+ this.hasCustomContent ? 'eui-app-top-message--custom' : '',
1312
+ ].join(' ').trim();
1313
+ }
1314
+ set isVisible(value) {
1315
+ this._isVisible = value;
1316
+ this._calculateHeight();
1317
+ }
1318
+ get isVisible() {
1319
+ return this._isVisible;
1320
+ }
1321
+ ngOnInit() {
1322
+ // Trigger for recalculate when resizing viewport (works perfect)
1323
+ this.asService.breakpoint$.pipe(takeUntil$1(this.destroy$)).subscribe(() => {
1324
+ this._calculateHeight();
1325
+ });
1326
+ }
1327
+ ngAfterViewInit() {
1328
+ // TODO: This will not work when there are more than one top-message
1329
+ this.appTopMessageChanges = this.obs
1330
+ .observe(this.appTopMessage.nativeElement)
1331
+ .pipe(startWith(0))
1332
+ .subscribe(() => this._calculateHeight());
1333
+ }
1334
+ ngOnDestroy() {
1335
+ this.asService.setState({
1336
+ ...this.asService.state,
1337
+ hasTopMessage: false,
1338
+ });
1339
+ CssUtils.activateTopMessageCssVars(0, this.document);
1340
+ this.appTopMessageChanges.unsubscribe();
1341
+ this.destroy$.next(true);
1342
+ this.destroy$.unsubscribe();
1343
+ }
1344
+ onCloseClick() {
1345
+ this.isVisible = false;
1346
+ CssUtils.activateTopMessageCssVars(0, this.document);
1347
+ this.topMessageClose.emit();
1348
+ }
1349
+ _calculateHeight() {
1350
+ // Differ DC from AfterViewInit due to the styles the are not yet applied when retrieving the CSS var value
1351
+ setTimeout(() => {
1352
+ this.cd.detach();
1353
+ const height = this.elRef.nativeElement.offsetHeight;
1354
+ this.asService.activateTopMessage(height);
1355
+ this.cd.reattach();
1356
+ this.cd.detectChanges();
1357
+ }, 0);
1358
+ }
1359
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppTopMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1360
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiAppTopMessageComponent, isStandalone: true, selector: "eui-app-top-message", inputs: { isCloseable: ["isCloseable", "isCloseable", booleanAttribute], hasCustomContent: ["hasCustomContent", "hasCustomContent", booleanAttribute], isVisible: "isVisible" }, outputs: { topMessageClose: "topMessageClose" }, host: { properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, viewQueries: [{ propertyName: "appTopMessage", first: true, predicate: ["appTopMessage"], descendants: true }], hostDirectives: [{ directive: i1$6.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiSuccess", "euiSuccess", "euiDanger", "euiDanger", "euiVariant", "euiVariant"] }], ngImport: i0, template: "<div class=\"eui-app-top-message__wrapper\" #appTopMessage>\n <div class=\"eui-app-top-message__content\">\n <ng-content></ng-content>\n </div>\n @if (isCloseable) {\n <eui-icon-button\n icon=\"eui-close\"\n (buttonClick)=\"onCloseClick()\"\n ariaLabel=\"Close top message\"\n fillColor=\"white\"\n euiRounded\n class=\"eui-app-top-message__close\"/>\n }\n</div>\n", styles: [".eui-app-top-message{padding:var(--eui-s-xs) var(--eui-s-s);position:fixed;width:100%;right:0;top:0;z-index:var(--eui-zi-top-message);background-color:var(--eui-c-danger-surface);color:var(--eui-c-danger-surface-contrast)}.eui-app-top-message__wrapper{display:flex;flex-direction:row;align-items:center;width:100%}.eui-app-top-message__content{display:flex;flex-direction:column;width:100%}.eui-app-top-message__close{margin-left:auto}.eui-app-top-message--primary{background-color:var(--eui-c-primary-surface);color:var(--eui-c-primary-surface-contrast)}.eui-app-top-message--primary .eui-app-top-message__close .eui-icon-button__button:hover{background-color:var(--eui-c-primary-surface-hover)!important}.eui-app-top-message--info{background-color:var(--eui-c-info-surface);color:var(--eui-c-info-surface-contrast)}.eui-app-top-message--info .eui-app-top-message__close .eui-icon-button__button:hover{background-color:var(--eui-c-info-surface-hover)!important}.eui-app-top-message--success{background-color:var(--eui-c-success-surface);color:var(--eui-c-success-surface-contrast)}.eui-app-top-message--success .eui-app-top-message__close .eui-icon-button__button:hover{background-color:var(--eui-c-success-surface-hover)!important}.eui-app-top-message--warning{background-color:var(--eui-c-warning-surface);color:var(--eui-c-warning-surface-contrast)}.eui-app-top-message--warning .eui-app-top-message__close .eui-icon-button__button:hover{background-color:var(--eui-c-warning-surface-hover)!important}.eui-app-top-message--danger{background-color:var(--eui-c-danger-surface);color:var(--eui-c-danger-surface-contrast)}.eui-app-top-message--danger .eui-app-top-message__close .eui-icon-button__button:hover{background-color:var(--eui-c-danger-surface-hover)!important}.eui-app-top-message--hidden{display:none}.eui-app-top-message--custom{padding:0}\n"], dependencies: [{ kind: "component", type: i2.EuiIconButtonComponent, selector: "eui-icon-button", inputs: ["icon", "iconUrl", "fillColor", "size", "ariaLabel", "tabindex", "hasNoPadding", "hasOverflowHover", "hasFocusHoverColor", "hasFocusHoverBg", "euiRounded", "euiDisabled"], outputs: ["buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
1361
+ }
1362
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppTopMessageComponent, decorators: [{
1363
+ type: Component,
1364
+ args: [{ selector: 'eui-app-top-message', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, hostDirectives: [
1365
+ {
1366
+ directive: BaseStatesDirective,
1367
+ inputs: [
1368
+ 'euiPrimary',
1369
+ 'euiInfo',
1370
+ 'euiWarning',
1371
+ 'euiSuccess',
1372
+ 'euiDanger',
1373
+ 'euiVariant',
1374
+ ],
1375
+ },
1376
+ ], imports: [
1377
+ ...EUI_ICON_BUTTON,
1378
+ ], template: "<div class=\"eui-app-top-message__wrapper\" #appTopMessage>\n <div class=\"eui-app-top-message__content\">\n <ng-content></ng-content>\n </div>\n @if (isCloseable) {\n <eui-icon-button\n icon=\"eui-close\"\n (buttonClick)=\"onCloseClick()\"\n ariaLabel=\"Close top message\"\n fillColor=\"white\"\n euiRounded\n class=\"eui-app-top-message__close\"/>\n }\n</div>\n", styles: [".eui-app-top-message{padding:var(--eui-s-xs) var(--eui-s-s);position:fixed;width:100%;right:0;top:0;z-index:var(--eui-zi-top-message);background-color:var(--eui-c-danger-surface);color:var(--eui-c-danger-surface-contrast)}.eui-app-top-message__wrapper{display:flex;flex-direction:row;align-items:center;width:100%}.eui-app-top-message__content{display:flex;flex-direction:column;width:100%}.eui-app-top-message__close{margin-left:auto}.eui-app-top-message--primary{background-color:var(--eui-c-primary-surface);color:var(--eui-c-primary-surface-contrast)}.eui-app-top-message--primary .eui-app-top-message__close .eui-icon-button__button:hover{background-color:var(--eui-c-primary-surface-hover)!important}.eui-app-top-message--info{background-color:var(--eui-c-info-surface);color:var(--eui-c-info-surface-contrast)}.eui-app-top-message--info .eui-app-top-message__close .eui-icon-button__button:hover{background-color:var(--eui-c-info-surface-hover)!important}.eui-app-top-message--success{background-color:var(--eui-c-success-surface);color:var(--eui-c-success-surface-contrast)}.eui-app-top-message--success .eui-app-top-message__close .eui-icon-button__button:hover{background-color:var(--eui-c-success-surface-hover)!important}.eui-app-top-message--warning{background-color:var(--eui-c-warning-surface);color:var(--eui-c-warning-surface-contrast)}.eui-app-top-message--warning .eui-app-top-message__close .eui-icon-button__button:hover{background-color:var(--eui-c-warning-surface-hover)!important}.eui-app-top-message--danger{background-color:var(--eui-c-danger-surface);color:var(--eui-c-danger-surface-contrast)}.eui-app-top-message--danger .eui-app-top-message__close .eui-icon-button__button:hover{background-color:var(--eui-c-danger-surface-hover)!important}.eui-app-top-message--hidden{display:none}.eui-app-top-message--custom{padding:0}\n"] }]
1379
+ }], propDecorators: { cssClasses: [{
1380
+ type: HostBinding,
1381
+ args: ['class']
1382
+ }], role: [{
1383
+ type: HostBinding,
1384
+ args: ['attr.role']
1385
+ }], appTopMessage: [{
1386
+ type: ViewChild,
1387
+ args: ['appTopMessage']
1388
+ }], isCloseable: [{
1389
+ type: Input,
1390
+ args: [{ transform: booleanAttribute }]
1391
+ }], hasCustomContent: [{
1392
+ type: Input,
1393
+ args: [{ transform: booleanAttribute }]
1394
+ }], isVisible: [{
1395
+ type: Input
1396
+ }], topMessageClose: [{
1397
+ type: Output
1398
+ }] } });
1399
+
1400
+ class EuiAppBreadcrumbComponent {
1401
+ constructor() {
1402
+ this.role = 'nav';
1403
+ this.asService = inject(EuiAppShellService);
1404
+ }
1405
+ get cssClasses() {
1406
+ return this.getCssClasses();
1407
+ }
1408
+ ngOnInit() {
1409
+ this.asService.activateBreadcrumb();
1410
+ }
1411
+ getCssClasses() {
1412
+ return ['eui-app-breadcrumb'].join(' ');
1413
+ }
1414
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1415
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EuiAppBreadcrumbComponent, isStandalone: true, selector: "eui-app-breadcrumb", host: { properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, ngImport: i0, template: '<ng-content/>', isInline: true, styles: [".eui-app-breadcrumb{align-items:center;display:flex;flex-direction:row;height:var(--eui-app-breadcrumb-height);top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height));position:relative;margin:var(--eui-s-m) 0 var(--eui-s-xs) 0;width:100%}@media screen and (max-width: 767px){.eui-app-breadcrumb{visibility:hidden}}\n"], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
1416
+ }
1417
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiAppBreadcrumbComponent, decorators: [{
1418
+ type: Component,
1419
+ args: [{ selector: 'eui-app-breadcrumb', template: '<ng-content/>', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, styles: [".eui-app-breadcrumb{align-items:center;display:flex;flex-direction:row;height:var(--eui-app-breadcrumb-height);top:calc(var(--eui-app-header-height) + var(--eui-app-toolbar-height) + var(--eui-app-top-message-height));position:relative;margin:var(--eui-s-m) 0 var(--eui-s-xs) 0;width:100%}@media screen and (max-width: 767px){.eui-app-breadcrumb{visibility:hidden}}\n"] }]
1420
+ }], propDecorators: { cssClasses: [{
1421
+ type: HostBinding,
1422
+ args: ['class']
1423
+ }], role: [{
1424
+ type: HostBinding,
1425
+ args: ['attr.role']
1426
+ }] } });
1427
+
1428
+ class EuiFooterComponent {
1429
+ constructor() {
1430
+ this.euiPrimary = false;
1431
+ }
1432
+ get cssClasses() {
1433
+ return [
1434
+ 'eui-footer',
1435
+ this.euiPrimary ? 'eui-footer--primary' : '',
1436
+ ].join(' ').trim();
1437
+ }
1438
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1439
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.0-next.3", type: EuiFooterComponent, isStandalone: true, selector: "eui-footer", inputs: { euiPrimary: ["euiPrimary", "euiPrimary", booleanAttribute] }, host: { properties: { "class": "this.cssClasses" } }, ngImport: i0, template: '<ng-content />', isInline: true, styles: [".eui-footer{background:var(--eui-c-surface-shell);display:flex;padding:1rem;width:100%}.eui-footer--primary{background:var(--eui-c-branding);color:var(--eui-c-white)}.eui-footer--primary a{color:var(--eui-c-white)!important;text-decoration:underline}\n"], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
1440
+ }
1441
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiFooterComponent, decorators: [{
1442
+ type: Component,
1443
+ args: [{ selector: 'eui-footer', template: '<ng-content />', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, styles: [".eui-footer{background:var(--eui-c-surface-shell);display:flex;padding:1rem;width:100%}.eui-footer--primary{background:var(--eui-c-branding);color:var(--eui-c-white)}.eui-footer--primary a{color:var(--eui-c-white)!important;text-decoration:underline}\n"] }]
1444
+ }], propDecorators: { cssClasses: [{
1445
+ type: HostBinding,
1446
+ args: ['class']
1447
+ }], euiPrimary: [{
1448
+ type: Input,
1449
+ args: [{ transform: booleanAttribute }]
1450
+ }] } });
1451
+
1452
+ class EuiHeaderRightContentComponent {
1453
+ constructor() {
1454
+ this.cssClass = 'eui-header-right-content';
1455
+ }
1456
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderRightContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1457
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EuiHeaderRightContentComponent, isStandalone: true, selector: "eui-header-right-content", host: { properties: { "class": "this.cssClass" } }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
1458
+ }
1459
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderRightContentComponent, decorators: [{
1460
+ type: Component,
1461
+ args: [{
1462
+ selector: 'eui-header-right-content',
1463
+ template: '<ng-content />',
1464
+ changeDetection: ChangeDetectionStrategy.Default,
1465
+ encapsulation: ViewEncapsulation.None,
1466
+ }]
1467
+ }], propDecorators: { cssClass: [{
1468
+ type: HostBinding,
1469
+ args: ['class']
1470
+ }] } });
1471
+
1472
+ class EuiHeaderComponent {
1473
+ constructor() {
1474
+ this.string = 'eui-header';
1475
+ }
1476
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1477
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiHeaderComponent, isStandalone: true, selector: "eui-header", host: { properties: { "class": "this.string" } }, queries: [{ propertyName: "rightContent", first: true, predicate: EuiHeaderRightContentComponent, descendants: true }], ngImport: i0, template: "<div class=\"eui-header-logo-wrapper\">\n <ng-content select=\"eui-header-logo\"></ng-content>\n <ng-content select=\"eui-header-environment\"></ng-content>\n</div>\n\n<ng-content select=\"eui-header-app\" />\n\n<div class=\"eui-header-right-content-wrapper\">\n @if (rightContent) {\n <ng-content select=\"eui-header-right-content\"></ng-content>\n } @else {\n <ng-content select=\"eui-header-user-profile\"></ng-content>\n }\n</div>\n\n<ng-content select=\"eui-language-selector\" />\n\n<ng-content select=\"eui-header-search\" />\n", styles: [".eui-t-dark .eui-header{background-image:none}.eui-header{align-items:center;background-color:var(--eui-c-surface-container);display:flex;flex-direction:row;height:var(--eui-app-header-height);padding:var(--eui-s-xs) var(--eui-s-m);transition:margin-top .2s ease-in-out;width:100%;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiB2aWV3Qm94PSIwIDAgMzQ4LjQgMTM5Ij48ZGVmcz48cGF0aCBpZD0iYSIgZD0iTTAgMGgzNDguNHYxMzlIMHoiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJiIj48dXNlIHhsaW5rOmhyZWY9IiNhIiBzdHlsZT0ib3ZlcmZsb3c6dmlzaWJsZSIvPjwvY2xpcFBhdGg+PGcgc3R5bGU9Im9wYWNpdHk6LjU7Y2xpcC1wYXRoOnVybCgjYikiPjxsaW5lYXJHcmFkaWVudCBpZD0iYyIgeDE9Ii0uNTgzIiB4Mj0iMTc3LjU5NyIgeTE9Ii0xNDA5LjQxOCIgeTI9Ii0xNDA5LjQxOCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIC0xMzc1LjQxOCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNlMGU1ZjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0tLjYgMTM5LjVzOTkuMy02Mi40IDExNy43LTc0YzE4LjQtMTEuNSAzMi42LTI0LjcgNDIuNi03MC44IDEwLTQ2LjIgMTQuMi02Ni4xIDE0LjItNjYuMWgzLjdTMTcxLjMtNDIgMTYyLjktNC4ycy0xMSA1My0zNS4yIDcwLjNjLTIwIDE0LjItMTA0LjYgNzMuNS0xMDQuNiA3My41SC0uNnoiIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOnVybCgjYykiLz48bGluZWFyR3JhZGllbnQgaWQ9ImQiIHgxPSIxMTIuOTQ3IiB4Mj0iMjM0Ljg4NyIgeTE9Ii0xNDA5LjQxOCIgeTI9Ii0xNDA5LjQxOCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIC0xMzc1LjQxOCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNlMGU1ZjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0xMTIuOSAxMzkuNXM1OS40LTU2LjcgNzYuNy03My41YzE4LjQtMTcuMyAyNC43LTM5LjkgMzAuNS03MC44IDUuMy0yOS40IDExLjYtNjYuNiAxMS42LTY2LjZoMy4ycy01LjggMzUuMi0xMSA2Ni42Yy01LjMgMzEtOC40IDUzLTI0LjcgNzAuOC0xNC43IDE1LjctNjguMyA3Mi45LTY4LjMgNzIuOXoiIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOnVybCgjZCkiLz48bGluZWFyR3JhZGllbnQgaWQ9ImUiIHgxPSIxNDAuMjc3IiB4Mj0iMjUwLjEyNyIgeTE9Ii0xNDA5LjQxOCIgeTI9Ii0xNDA5LjQxOCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIC0xMzc1LjQxOCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNlMGU1ZjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0xNDAuMyAxMzkuNXM1MC41LTU0LjEgNjcuMy03My41YzE1LjgtMTcuOCAyMC41LTMyIDI3LjktNzAuOCA2LjgtMzguOCAxMS02Ni42IDExLTY2LjZoMy43cy01LjggMzUuMi0xMSA2Ni42LTYuOCA1Mi0yMi42IDcwLjhjLTE3LjkgMjItNTkuOSA3My41LTU5LjkgNzMuNXoiIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOnVybCgjZSkiLz48bGluZWFyR3JhZGllbnQgaWQ9ImYiIHgxPSIxNjguNjU3IiB4Mj0iMjY0Ljg0NyIgeTE9Ii0xNDA5LjQxOCIgeTI9Ii0xNDA5LjQxOCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIC0xMzc1LjQxOCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNlMGU1ZjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0xNjguNyAxMzkuNXM0OC45LTYxLjkgNTcuOC03My41YzguNC0xMS41IDE4LjQtMjYuOCAyNS4yLTcwLjggNi4zLTQ0LjEgOS41LTY2LjYgOS41LTY2LjZoMy43cy01LjggMzkuOS04LjkgNjYuNmMtMy4yIDI2LjgtNC43IDQ3LjItMjAuNSA3MC44LTE1LjIgMjMuMS01MSA3My41LTUxIDczLjV6IiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDp1cmwoI2YpIi8+PGxpbmVhckdyYWRpZW50IGlkPSJnIiB4MT0iMTk1Ljk4NyIgeDI9IjI3OS4wMzciIHkxPSItMTQwOS40MTgiIHkyPSItMTQwOS40MTgiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAtMTM3NS40MTgpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojZTBlNWY1Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojZjVmNWY1Ii8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBkPSJNMTk2IDEzOS41czQxLjUtNjEuOSA0Ny44LTczLjVjNi4zLTExLjUgMTcuMy0yNS43IDIzLjEtNzAuOHM4LjQtNjYuNiA4LjQtNjYuNmgzLjdzLTQuMiAzNy4zLTcuNCA2Ni42LTcuNCA0OS4zLTE5LjQgNzAuOGMtMTIuMSAyMS41LTQyLjEgNzMuNS00Mi4xIDczLjV6IiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDp1cmwoI2cpIi8+PGxpbmVhckdyYWRpZW50IGlkPSJoIiB4MT0iMjIzLjg0NyIgeDI9IjI5Mi42OTciIHkxPSItMTQwOS40MTgiIHkyPSItMTQwOS40MTgiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAtMTM3NS40MTgpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojZTBlNWY1Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojZjVmNWY1Ii8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBkPSJNMjIzLjggMTM5LjVzMzAtNTQuNiAzOC45LTczLjVjMTAuNS0yMC41IDE1LjItMzguMyAxOS41LTcwLjggMy43LTMyIDcuNC02Ni42IDcuNC02Ni42aDMuMnMtMy43IDMyLTYuOCA2Ni42Yy0zLjEgMzQuMS00LjcgNDYuMi0xNS44IDcwLjgtMTAgMjItMzMuNiA3My41LTMzLjYgNzMuNXoiIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOnVybCgjaCkiLz48bGluZWFyR3JhZGllbnQgaWQ9ImkiIHgxPSIyNTEuNzA3IiB4Mj0iMzA2Ljg4NyIgeTE9Ii0xNDA5Ljk0MyIgeTI9Ii0xNDA5Ljk0MyIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIC0xMzc1LjQxOCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNlMGU1ZjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0yNTEuNyAxMzkuNXMxOC40LTQzIDMwLjUtNzMuNWMxMi4xLTI5LjkgMTMuMS01Mi41IDE0LjctNzAuOCAxLjEtNy45IDYuOC02Ni4xIDYuOC02Ni4xaDMuMnMtMi42IDM0LjYtNS44IDY2LjZjLTIuNiAzMS41LTQuMiA0NS4xLTEyLjYgNzAuOFMyNjMuMyAxNDAgMjYzLjMgMTQweiIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6dXJsKCNpKSIvPjxsaW5lYXJHcmFkaWVudCBpZD0iaiIgeDE9IjI4MC4wODciIHgyPSIzMjIuMTM3IiB5MT0iLTE0MDkuNDE4IiB5Mj0iLTE0MDkuNDE4IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgLTEzNzUuNDE4KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I2UwZTVmNSIvPjxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I2Y1ZjVmNSIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggZD0iTTI4MC4xIDEzOS41czEzLjctNDMuNiAyMS41LTczLjVjNy45LTI5LjkgMTEtNTcuMiAxMi4xLTcwLjhzNS4zLTY2LjYgNS4zLTY2LjZoMy4ycy0yLjEgMjkuOS00LjcgNjYuNmMtMi4xIDI5LjktNC4yIDUzLjUtOC40IDcwLjgtNC4yIDE5LjQtMTcuMyA3My41LTE3LjMgNzMuNXoiIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOnVybCgjaikiLz48bGluZWFyR3JhZGllbnQgaWQ9ImsiIHgxPSIzMDcuOTQ3IiB4Mj0iMzM2LjMxNyIgeTE9Ii0xNDA5LjQxOCIgeTI9Ii0xNDA5LjQxOCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIC0xMzc1LjQxOCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNlMGU1ZjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0zMDcuOSAxMzkuNXM2LjMtMzUuNyAxMi42LTczLjVjNC43LTI4LjMgNy45LTY2LjYgNy45LTcwLjhzNC43LTY2LjYgNC43LTY2LjZoMy4ycy0yLjEgMzkuOS0zLjcgNjYuNkMzMzEgMjMgMzI5LjQgNTAuMyAzMjcuOSA2NmMtMy43IDM1LjItOC40IDczLjUtOC40IDczLjV6IiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDp1cmwoI2spIi8+PGxpbmVhckdyYWRpZW50IGlkPSJsIiB4MT0iMzM3LjM3NyIgeDI9IjM0OC40MTciIHkxPSItMTQwOS40MTgiIHkyPSItMTQwOS40MTgiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAtMTM3NS40MTgpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojZTBlNWY1Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojZjVmNWY1Ii8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBkPSJNMzM3LjQgMTM5LjVzMi4xLTU2LjEgMi42LTczLjVjLjUtMTcuMyA1LjItMTM3LjUgNS4yLTEzNy41aDMuMnYyMTAuOWgtMTF6IiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDp1cmwoI2wpIi8+PGxpbmVhckdyYWRpZW50IGlkPSJtIiB4MT0iMjcuNzk3IiB4Mj0iMTkxLjc4NyIgeTE9Ii0xNDA4Ljg5MiIgeTI9Ii0xNDA4Ljg5MiIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIC0xMzc1LjQxOCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNlMGU1ZjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0xNzUtNC44Yy0xMSA1MC45LTI5LjQgNjIuNC00MSA3MC44UzI3LjggMTM4LjkgMjcuOCAxMzguOWgyMS42YzMuMS0yLjYgNzUuNy01Ny43IDk1LjctNzMuNSAyMi42LTE3LjMgMjcuOS00NC42IDMzLjEtNzAuOEMxODQtMzEuNiAxOTEuOS03MiAxOTEuOS03MmgtMy4yYy0uMS41LTEwLjYgNTQtMTMuNyA2Ny4yIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDp1cmwoI20pIi8+PGxpbmVhckdyYWRpZW50IGlkPSJuIiB4MT0iNTYuNzA3IiB4Mj0iMjA1Ljk3NyIgeTE9Ii0xNDA5LjE1NSIgeTI9Ii0xNDA5LjE1NSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIC0xMzc1LjQxOCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNlMGU1ZjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0xOTAuMi00LjhjLTguNCA0Mi0yMS42IDU4LjgtMzcuMyA3MC44LTE2LjMgMTIuMS05Ni4yIDcyLjktOTYuMiA3Mi45aDIwYzMuMi0yLjYgNjguOC01OC4yIDg2LjItNzIuOSAyMC0xNy4zIDI1LjItNDEuNSAzMC41LTcwLjggNS4zLTI5LjQgMTIuNi02Ni42IDEyLjYtNjYuNmgtMy4yYzAtLjEtNy45IDQyLjQtMTIuNiA2Ni42IiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDp1cmwoI24pIi8+PGxpbmVhckdyYWRpZW50IGlkPSJvIiB4MT0iODQuMDM3IiB4Mj0iMjIwLjY4NyIgeTE9Ii0xNDA5LjY3OCIgeTI9Ii0xNDA5LjY3OCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIC0xMzc1LjQxOCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNlMGU1ZjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0yMDUuNC00LjhDMTk3IDM4LjcgMTkwLjIgNDcuNiAxNjkuNyA2NmMtMTIuNiAxMS41LTgyLjUgNzAuOC04NS43IDczLjVoMTguNHM1OC45LTU1LjEgNzYuNy03Mi45YzIzLjEtMjMuMSAyNC43LTQ1LjEgMjkuNC03MC44czEyLjEtNjYuNiAxMi4xLTY2LjZoLTMuMmMuMS0uNy04LjMgNDguNy0xMiA2NiIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6dXJsKCNvKSIvPjwvZz48L3N2Zz4=);background-position:100% 100%;background-repeat:no-repeat;background-size:auto 100%}.eui-header-logo-wrapper{position:relative}.eui-header-right-content-wrapper{align-items:center;display:flex;margin-left:auto}.eui-header-right-content{padding-right:var(--eui-s-m)}\n"], encapsulation: i0.ViewEncapsulation.None }); }
1478
+ }
1479
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderComponent, decorators: [{
1480
+ type: Component,
1481
+ args: [{ selector: 'eui-header', encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-header-logo-wrapper\">\n <ng-content select=\"eui-header-logo\"></ng-content>\n <ng-content select=\"eui-header-environment\"></ng-content>\n</div>\n\n<ng-content select=\"eui-header-app\" />\n\n<div class=\"eui-header-right-content-wrapper\">\n @if (rightContent) {\n <ng-content select=\"eui-header-right-content\"></ng-content>\n } @else {\n <ng-content select=\"eui-header-user-profile\"></ng-content>\n }\n</div>\n\n<ng-content select=\"eui-language-selector\" />\n\n<ng-content select=\"eui-header-search\" />\n", styles: [".eui-t-dark .eui-header{background-image:none}.eui-header{align-items:center;background-color:var(--eui-c-surface-container);display:flex;flex-direction:row;height:var(--eui-app-header-height);padding:var(--eui-s-xs) var(--eui-s-m);transition:margin-top .2s ease-in-out;width:100%;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiB2aWV3Qm94PSIwIDAgMzQ4LjQgMTM5Ij48ZGVmcz48cGF0aCBpZD0iYSIgZD0iTTAgMGgzNDguNHYxMzlIMHoiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJiIj48dXNlIHhsaW5rOmhyZWY9IiNhIiBzdHlsZT0ib3ZlcmZsb3c6dmlzaWJsZSIvPjwvY2xpcFBhdGg+PGcgc3R5bGU9Im9wYWNpdHk6LjU7Y2xpcC1wYXRoOnVybCgjYikiPjxsaW5lYXJHcmFkaWVudCBpZD0iYyIgeDE9Ii0uNTgzIiB4Mj0iMTc3LjU5NyIgeTE9Ii0xNDA5LjQxOCIgeTI9Ii0xNDA5LjQxOCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIC0xMzc1LjQxOCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNlMGU1ZjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0tLjYgMTM5LjVzOTkuMy02Mi40IDExNy43LTc0YzE4LjQtMTEuNSAzMi42LTI0LjcgNDIuNi03MC44IDEwLTQ2LjIgMTQuMi02Ni4xIDE0LjItNjYuMWgzLjdTMTcxLjMtNDIgMTYyLjktNC4ycy0xMSA1My0zNS4yIDcwLjNjLTIwIDE0LjItMTA0LjYgNzMuNS0xMDQuNiA3My41SC0uNnoiIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOnVybCgjYykiLz48bGluZWFyR3JhZGllbnQgaWQ9ImQiIHgxPSIxMTIuOTQ3IiB4Mj0iMjM0Ljg4NyIgeTE9Ii0xNDA5LjQxOCIgeTI9Ii0xNDA5LjQxOCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIC0xMzc1LjQxOCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNlMGU1ZjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0xMTIuOSAxMzkuNXM1OS40LTU2LjcgNzYuNy03My41YzE4LjQtMTcuMyAyNC43LTM5LjkgMzAuNS03MC44IDUuMy0yOS40IDExLjYtNjYuNiAxMS42LTY2LjZoMy4ycy01LjggMzUuMi0xMSA2Ni42Yy01LjMgMzEtOC40IDUzLTI0LjcgNzAuOC0xNC43IDE1LjctNjguMyA3Mi45LTY4LjMgNzIuOXoiIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOnVybCgjZCkiLz48bGluZWFyR3JhZGllbnQgaWQ9ImUiIHgxPSIxNDAuMjc3IiB4Mj0iMjUwLjEyNyIgeTE9Ii0xNDA5LjQxOCIgeTI9Ii0xNDA5LjQxOCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIC0xMzc1LjQxOCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNlMGU1ZjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0xNDAuMyAxMzkuNXM1MC41LTU0LjEgNjcuMy03My41YzE1LjgtMTcuOCAyMC41LTMyIDI3LjktNzAuOCA2LjgtMzguOCAxMS02Ni42IDExLTY2LjZoMy43cy01LjggMzUuMi0xMSA2Ni42LTYuOCA1Mi0yMi42IDcwLjhjLTE3LjkgMjItNTkuOSA3My41LTU5LjkgNzMuNXoiIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOnVybCgjZSkiLz48bGluZWFyR3JhZGllbnQgaWQ9ImYiIHgxPSIxNjguNjU3IiB4Mj0iMjY0Ljg0NyIgeTE9Ii0xNDA5LjQxOCIgeTI9Ii0xNDA5LjQxOCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIC0xMzc1LjQxOCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNlMGU1ZjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0xNjguNyAxMzkuNXM0OC45LTYxLjkgNTcuOC03My41YzguNC0xMS41IDE4LjQtMjYuOCAyNS4yLTcwLjggNi4zLTQ0LjEgOS41LTY2LjYgOS41LTY2LjZoMy43cy01LjggMzkuOS04LjkgNjYuNmMtMy4yIDI2LjgtNC43IDQ3LjItMjAuNSA3MC44LTE1LjIgMjMuMS01MSA3My41LTUxIDczLjV6IiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDp1cmwoI2YpIi8+PGxpbmVhckdyYWRpZW50IGlkPSJnIiB4MT0iMTk1Ljk4NyIgeDI9IjI3OS4wMzciIHkxPSItMTQwOS40MTgiIHkyPSItMTQwOS40MTgiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAtMTM3NS40MTgpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojZTBlNWY1Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojZjVmNWY1Ii8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBkPSJNMTk2IDEzOS41czQxLjUtNjEuOSA0Ny44LTczLjVjNi4zLTExLjUgMTcuMy0yNS43IDIzLjEtNzAuOHM4LjQtNjYuNiA4LjQtNjYuNmgzLjdzLTQuMiAzNy4zLTcuNCA2Ni42LTcuNCA0OS4zLTE5LjQgNzAuOGMtMTIuMSAyMS41LTQyLjEgNzMuNS00Mi4xIDczLjV6IiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDp1cmwoI2cpIi8+PGxpbmVhckdyYWRpZW50IGlkPSJoIiB4MT0iMjIzLjg0NyIgeDI9IjI5Mi42OTciIHkxPSItMTQwOS40MTgiIHkyPSItMTQwOS40MTgiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAtMTM3NS40MTgpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojZTBlNWY1Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojZjVmNWY1Ii8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBkPSJNMjIzLjggMTM5LjVzMzAtNTQuNiAzOC45LTczLjVjMTAuNS0yMC41IDE1LjItMzguMyAxOS41LTcwLjggMy43LTMyIDcuNC02Ni42IDcuNC02Ni42aDMuMnMtMy43IDMyLTYuOCA2Ni42Yy0zLjEgMzQuMS00LjcgNDYuMi0xNS44IDcwLjgtMTAgMjItMzMuNiA3My41LTMzLjYgNzMuNXoiIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOnVybCgjaCkiLz48bGluZWFyR3JhZGllbnQgaWQ9ImkiIHgxPSIyNTEuNzA3IiB4Mj0iMzA2Ljg4NyIgeTE9Ii0xNDA5Ljk0MyIgeTI9Ii0xNDA5Ljk0MyIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIC0xMzc1LjQxOCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNlMGU1ZjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0yNTEuNyAxMzkuNXMxOC40LTQzIDMwLjUtNzMuNWMxMi4xLTI5LjkgMTMuMS01Mi41IDE0LjctNzAuOCAxLjEtNy45IDYuOC02Ni4xIDYuOC02Ni4xaDMuMnMtMi42IDM0LjYtNS44IDY2LjZjLTIuNiAzMS41LTQuMiA0NS4xLTEyLjYgNzAuOFMyNjMuMyAxNDAgMjYzLjMgMTQweiIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6dXJsKCNpKSIvPjxsaW5lYXJHcmFkaWVudCBpZD0iaiIgeDE9IjI4MC4wODciIHgyPSIzMjIuMTM3IiB5MT0iLTE0MDkuNDE4IiB5Mj0iLTE0MDkuNDE4IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgLTEzNzUuNDE4KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I2UwZTVmNSIvPjxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I2Y1ZjVmNSIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggZD0iTTI4MC4xIDEzOS41czEzLjctNDMuNiAyMS41LTczLjVjNy45LTI5LjkgMTEtNTcuMiAxMi4xLTcwLjhzNS4zLTY2LjYgNS4zLTY2LjZoMy4ycy0yLjEgMjkuOS00LjcgNjYuNmMtMi4xIDI5LjktNC4yIDUzLjUtOC40IDcwLjgtNC4yIDE5LjQtMTcuMyA3My41LTE3LjMgNzMuNXoiIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOnVybCgjaikiLz48bGluZWFyR3JhZGllbnQgaWQ9ImsiIHgxPSIzMDcuOTQ3IiB4Mj0iMzM2LjMxNyIgeTE9Ii0xNDA5LjQxOCIgeTI9Ii0xNDA5LjQxOCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIC0xMzc1LjQxOCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNlMGU1ZjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0zMDcuOSAxMzkuNXM2LjMtMzUuNyAxMi42LTczLjVjNC43LTI4LjMgNy45LTY2LjYgNy45LTcwLjhzNC43LTY2LjYgNC43LTY2LjZoMy4ycy0yLjEgMzkuOS0zLjcgNjYuNkMzMzEgMjMgMzI5LjQgNTAuMyAzMjcuOSA2NmMtMy43IDM1LjItOC40IDczLjUtOC40IDczLjV6IiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDp1cmwoI2spIi8+PGxpbmVhckdyYWRpZW50IGlkPSJsIiB4MT0iMzM3LjM3NyIgeDI9IjM0OC40MTciIHkxPSItMTQwOS40MTgiIHkyPSItMTQwOS40MTgiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAtMTM3NS40MTgpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojZTBlNWY1Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojZjVmNWY1Ii8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBkPSJNMzM3LjQgMTM5LjVzMi4xLTU2LjEgMi42LTczLjVjLjUtMTcuMyA1LjItMTM3LjUgNS4yLTEzNy41aDMuMnYyMTAuOWgtMTF6IiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDp1cmwoI2wpIi8+PGxpbmVhckdyYWRpZW50IGlkPSJtIiB4MT0iMjcuNzk3IiB4Mj0iMTkxLjc4NyIgeTE9Ii0xNDA4Ljg5MiIgeTI9Ii0xNDA4Ljg5MiIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIC0xMzc1LjQxOCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNlMGU1ZjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0xNzUtNC44Yy0xMSA1MC45LTI5LjQgNjIuNC00MSA3MC44UzI3LjggMTM4LjkgMjcuOCAxMzguOWgyMS42YzMuMS0yLjYgNzUuNy01Ny43IDk1LjctNzMuNSAyMi42LTE3LjMgMjcuOS00NC42IDMzLjEtNzAuOEMxODQtMzEuNiAxOTEuOS03MiAxOTEuOS03MmgtMy4yYy0uMS41LTEwLjYgNTQtMTMuNyA2Ny4yIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDp1cmwoI20pIi8+PGxpbmVhckdyYWRpZW50IGlkPSJuIiB4MT0iNTYuNzA3IiB4Mj0iMjA1Ljk3NyIgeTE9Ii0xNDA5LjE1NSIgeTI9Ii0xNDA5LjE1NSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIC0xMzc1LjQxOCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNlMGU1ZjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0xOTAuMi00LjhjLTguNCA0Mi0yMS42IDU4LjgtMzcuMyA3MC44LTE2LjMgMTIuMS05Ni4yIDcyLjktOTYuMiA3Mi45aDIwYzMuMi0yLjYgNjguOC01OC4yIDg2LjItNzIuOSAyMC0xNy4zIDI1LjItNDEuNSAzMC41LTcwLjggNS4zLTI5LjQgMTIuNi02Ni42IDEyLjYtNjYuNmgtMy4yYzAtLjEtNy45IDQyLjQtMTIuNiA2Ni42IiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDp1cmwoI24pIi8+PGxpbmVhckdyYWRpZW50IGlkPSJvIiB4MT0iODQuMDM3IiB4Mj0iMjIwLjY4NyIgeTE9Ii0xNDA5LjY3OCIgeTI9Ii0xNDA5LjY3OCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIC0xMzc1LjQxOCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNlMGU1ZjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNmNWY1ZjUiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0yMDUuNC00LjhDMTk3IDM4LjcgMTkwLjIgNDcuNiAxNjkuNyA2NmMtMTIuNiAxMS41LTgyLjUgNzAuOC04NS43IDczLjVoMTguNHM1OC45LTU1LjEgNzYuNy03Mi45YzIzLjEtMjMuMSAyNC43LTQ1LjEgMjkuNC03MC44czEyLjEtNjYuNiAxMi4xLTY2LjZoLTMuMmMuMS0uNy04LjMgNDguNy0xMiA2NiIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6dXJsKCNvKSIvPjwvZz48L3N2Zz4=);background-position:100% 100%;background-repeat:no-repeat;background-size:auto 100%}.eui-header-logo-wrapper{position:relative}.eui-header-right-content-wrapper{align-items:center;display:flex;margin-left:auto}.eui-header-right-content{padding-right:var(--eui-s-m)}\n"] }]
1482
+ }], propDecorators: { string: [{
1483
+ type: HostBinding,
1484
+ args: ['class']
1485
+ }], rightContent: [{
1486
+ type: ContentChild,
1487
+ args: [EuiHeaderRightContentComponent]
1488
+ }] } });
1489
+
1490
+ class EuiHeaderAppNameComponent {
1491
+ constructor() {
1492
+ this.string = 'eui-header-app-name';
1493
+ this.asService = inject(EuiAppShellService);
1494
+ this.elRef = inject(ElementRef);
1495
+ }
1496
+ ngOnInit() {
1497
+ this.asService?.setState({
1498
+ ...this.asService.state,
1499
+ appName: this.elRef.nativeElement.textContent,
1500
+ });
1501
+ }
1502
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderAppNameComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1503
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EuiHeaderAppNameComponent, isStandalone: true, selector: "eui-header-app-name", host: { properties: { "class": "this.string" } }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
1504
+ }
1505
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderAppNameComponent, decorators: [{
1506
+ type: Component,
1507
+ args: [{
1508
+ selector: 'eui-header-app-name',
1509
+ template: '<ng-content />',
1510
+ changeDetection: ChangeDetectionStrategy.Default,
1511
+ encapsulation: ViewEncapsulation.None,
1512
+ }]
1513
+ }], propDecorators: { string: [{
1514
+ type: HostBinding,
1515
+ args: ['class']
1516
+ }] } });
1517
+
1518
+ class EuiHeaderAppSubtitleComponent {
1519
+ constructor() {
1520
+ this.string = 'eui-header-app-subtitle';
1521
+ this.asService = inject(EuiAppShellService);
1522
+ this.elRef = inject(ElementRef);
1523
+ }
1524
+ ngOnInit() {
1525
+ this.asService?.setState({
1526
+ ...this.asService.state,
1527
+ appSubTitle: this.elRef.nativeElement.innerHTML,
1528
+ });
1529
+ }
1530
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderAppSubtitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1531
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EuiHeaderAppSubtitleComponent, isStandalone: true, selector: "eui-header-app-subtitle", host: { properties: { "class": "this.string" } }, ngImport: i0, template: '<ng-content />', isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
1532
+ }
1533
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderAppSubtitleComponent, decorators: [{
1534
+ type: Component,
1535
+ args: [{
1536
+ selector: 'eui-header-app-subtitle',
1537
+ template: '<ng-content />',
1538
+ encapsulation: ViewEncapsulation.None,
1539
+ }]
1540
+ }], propDecorators: { string: [{
1541
+ type: HostBinding,
1542
+ args: ['class']
1543
+ }] } });
1544
+
1545
+ class EuiHeaderAppNameLogoComponent {
1546
+ constructor() {
1547
+ this.cssClass = 'eui-header-app-name-logo';
1548
+ this.homeUrl = '..';
1549
+ this.config = inject(EUI_CONFIG_TOKEN, { optional: true });
1550
+ }
1551
+ ngOnInit() {
1552
+ this.assetsBaseUrl = this.config?.appConfig?.global?.eui?.assetsBaseUrl || 'assets';
1553
+ }
1554
+ get svgUrl() {
1555
+ return `${this.assetsBaseUrl}/${this.logoFilename}`;
1556
+ }
1557
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderAppNameLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1558
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EuiHeaderAppNameLogoComponent, isStandalone: true, selector: "eui-header-app-name-logo", inputs: { homeUrl: "homeUrl", logoFilename: "logoFilename" }, host: { properties: { "class": "this.cssClass" } }, ngImport: i0, template: '<img class="title-logo-svg" [src]="svgUrl" alt="Application title logo" />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
1559
+ }
1560
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderAppNameLogoComponent, decorators: [{
1561
+ type: Component,
1562
+ args: [{
1563
+ selector: 'eui-header-app-name-logo',
1564
+ template: '<img class="title-logo-svg" [src]="svgUrl" alt="Application title logo" />',
1565
+ changeDetection: ChangeDetectionStrategy.Default,
1566
+ encapsulation: ViewEncapsulation.None,
1567
+ }]
1568
+ }], propDecorators: { cssClass: [{
1569
+ type: HostBinding,
1570
+ args: ['class']
1571
+ }], homeUrl: [{
1572
+ type: Input
1573
+ }], logoFilename: [{
1574
+ type: Input
1575
+ }] } });
1576
+
1577
+ class EuiHeaderAppComponent {
1578
+ constructor() {
1579
+ this.cssClass = 'eui-header-app';
1580
+ this.appName = '';
1581
+ this.appShortName = '';
1582
+ this.appSubTitle = '';
1583
+ this.asService = inject(EuiAppShellService);
1584
+ this.subscriptions = [];
1585
+ }
1586
+ ngOnInit() {
1587
+ if (this.asService) {
1588
+ this.subscriptions.push(this.asService.getState('appName').subscribe((s) => (this.appName = s)));
1589
+ this.subscriptions.push(this.asService.getState('appShortName').subscribe((s) => (this.appShortName = s)));
1590
+ this.subscriptions.push(this.asService.getState('appSubTitle').subscribe((s) => (this.appSubTitle = s)));
1591
+ }
1592
+ }
1593
+ ngOnDestroy() {
1594
+ this.subscriptions.forEach((s) => s.unsubscribe());
1595
+ }
1596
+ ngOnChanges(changes) {
1597
+ if (changes.appName) {
1598
+ this.asService?.setState({
1599
+ ...this.asService.state,
1600
+ appName: changes.appName.currentValue,
1601
+ });
1602
+ }
1603
+ if (changes.appShortName) {
1604
+ let shortName = changes.appShortName.currentValue;
1605
+ shortName = shortName === '' ? this.appName : shortName;
1606
+ this.asService?.setState({
1607
+ ...this.asService.state,
1608
+ appShortName: shortName,
1609
+ });
1610
+ }
1611
+ if (changes.appSubTitle) {
1612
+ this.asService?.setState({
1613
+ ...this.asService.state,
1614
+ appSubTitle: changes.appSubTitle.currentValue,
1615
+ });
1616
+ }
1617
+ }
1618
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderAppComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1619
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiHeaderAppComponent, isStandalone: true, selector: "eui-header-app", inputs: { appName: "appName", appShortName: "appShortName", appSubTitle: "appSubTitle" }, host: { properties: { "class": "this.cssClass" } }, queries: [{ propertyName: "customAppName", first: true, predicate: i0.forwardRef(() => EuiHeaderAppNameComponent), descendants: true }, { propertyName: "customAppSubtitle", first: true, predicate: i0.forwardRef(() => EuiHeaderAppSubtitleComponent), descendants: true }, { propertyName: "customAppNameLogo", first: true, predicate: i0.forwardRef(() => EuiHeaderAppNameLogoComponent), descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (customAppName) {\n <div class=\"eui-header-app__title full\">\n <ng-content select=\"eui-header-app-name\"></ng-content>\n </div>\n} @else {\n @if (appName) {\n <div class=\"eui-header-app__title full\">\n {{ appName }}\n </div>\n }\n}\n\n@if (customAppSubtitle) {\n <div class=\"eui-header-app__sub-title\">\n <ng-content select=\"eui-header-app-subtitle\"></ng-content>\n </div>\n} @else {\n @if (appSubTitle) {\n <div class=\"eui-header-app__sub-title\">{{ appSubTitle }}</div>\n }\n}\n\n<div class=\"eui-header-app__title short\">\n {{ appShortName }}\n</div>\n\n@if (customAppNameLogo) {\n <div class=\"eui-header-app-__title-logo\">\n <ng-content select=\"eui-header-app-name-logo\"></ng-content>\n </div>\n}\n", styles: [".eui-header-app{align-self:flex-end;display:flex;flex-direction:column;height:var(--eui-s-6xl);justify-content:flex-end;min-height:var(--eui-s-6xl);margin-left:calc(-1 * var(--eui-s-m))}.eui-header-app__title{align-items:center;color:var(--eui-c-text);display:flex;font-size:var(--eui-f-size-2xl)}.eui-header-app__title.short{display:none}.eui-header-app__sub-title{align-items:center;color:var(--eui-c-text-light);display:flex;font:var(--eui-f-l)}\n"], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
1620
+ }
1621
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderAppComponent, decorators: [{
1622
+ type: Component,
1623
+ args: [{ selector: 'eui-header-app', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, template: "@if (customAppName) {\n <div class=\"eui-header-app__title full\">\n <ng-content select=\"eui-header-app-name\"></ng-content>\n </div>\n} @else {\n @if (appName) {\n <div class=\"eui-header-app__title full\">\n {{ appName }}\n </div>\n }\n}\n\n@if (customAppSubtitle) {\n <div class=\"eui-header-app__sub-title\">\n <ng-content select=\"eui-header-app-subtitle\"></ng-content>\n </div>\n} @else {\n @if (appSubTitle) {\n <div class=\"eui-header-app__sub-title\">{{ appSubTitle }}</div>\n }\n}\n\n<div class=\"eui-header-app__title short\">\n {{ appShortName }}\n</div>\n\n@if (customAppNameLogo) {\n <div class=\"eui-header-app-__title-logo\">\n <ng-content select=\"eui-header-app-name-logo\"></ng-content>\n </div>\n}\n", styles: [".eui-header-app{align-self:flex-end;display:flex;flex-direction:column;height:var(--eui-s-6xl);justify-content:flex-end;min-height:var(--eui-s-6xl);margin-left:calc(-1 * var(--eui-s-m))}.eui-header-app__title{align-items:center;color:var(--eui-c-text);display:flex;font-size:var(--eui-f-size-2xl)}.eui-header-app__title.short{display:none}.eui-header-app__sub-title{align-items:center;color:var(--eui-c-text-light);display:flex;font:var(--eui-f-l)}\n"] }]
1624
+ }], propDecorators: { cssClass: [{
1625
+ type: HostBinding,
1626
+ args: ['class']
1627
+ }], appName: [{
1628
+ type: Input
1629
+ }], appShortName: [{
1630
+ type: Input
1631
+ }], appSubTitle: [{
1632
+ type: Input
1633
+ }], customAppName: [{
1634
+ type: ContentChild,
1635
+ args: [forwardRef(() => EuiHeaderAppNameComponent)]
1636
+ }], customAppSubtitle: [{
1637
+ type: ContentChild,
1638
+ args: [forwardRef(() => EuiHeaderAppSubtitleComponent)]
1639
+ }], customAppNameLogo: [{
1640
+ type: ContentChild,
1641
+ args: [forwardRef(() => EuiHeaderAppNameLogoComponent)]
1642
+ }] } });
1643
+
1644
+ class EuiHeaderEnvironmentComponent {
1645
+ constructor() {
1646
+ this.cssClass = 'eui-header-environment';
1647
+ this.asService = inject(EuiAppShellService);
1648
+ this.elRef = inject(ElementRef);
1649
+ }
1650
+ ngOnInit() {
1651
+ this.asService?.setState({
1652
+ ...this.asService.state,
1653
+ hasHeaderEnvironment: true,
1654
+ environmentValue: this.elRef.nativeElement.innerHTML,
1655
+ });
1656
+ }
1657
+ ngOnDestroy() {
1658
+ this.asService?.setState({
1659
+ ...this.asService.state,
1660
+ hasHeaderEnvironment: false,
1661
+ });
1662
+ }
1663
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderEnvironmentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1664
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EuiHeaderEnvironmentComponent, isStandalone: true, selector: "eui-header-environment", host: { properties: { "class": "this.cssClass" } }, ngImport: i0, template: '<ng-content />', isInline: true, styles: [".eui-header-environment{background-color:var(--eui-c-danger);color:var(--eui-c-white);font:var(--eui-f-xl);opacity:var(--eui-o-50);position:absolute;text-align:center;top:var(--eui-s-l);transform:rotate(-10deg);width:90%}\n"], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
1665
+ }
1666
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderEnvironmentComponent, decorators: [{
1667
+ type: Component,
1668
+ args: [{ selector: 'eui-header-environment', template: '<ng-content />', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, styles: [".eui-header-environment{background-color:var(--eui-c-danger);color:var(--eui-c-white);font:var(--eui-f-xl);opacity:var(--eui-o-50);position:absolute;text-align:center;top:var(--eui-s-l);transform:rotate(-10deg);width:90%}\n"] }]
1669
+ }], propDecorators: { cssClass: [{
1670
+ type: HostBinding,
1671
+ args: ['class']
1672
+ }] } });
1673
+
1674
+ class EuiHeaderLogoComponent {
1675
+ constructor() {
1676
+ this.cssClass = 'eui-header-logo';
1677
+ this.homeUrl = '..';
1678
+ this.asService = inject(EuiAppShellService);
1679
+ this.euiThemeService = inject(EuiThemeService);
1680
+ this.config = inject(EUI_CONFIG_TOKEN, { optional: true });
1681
+ }
1682
+ ngOnInit() {
1683
+ this.asService?.setState({
1684
+ ...this.asService.state,
1685
+ hasHeaderLogo: true,
1686
+ });
1687
+ this.asService?.getState('activeLanguage').subscribe((activeLanguage) => {
1688
+ this.logo = 'logo-ec--' + activeLanguage;
1689
+ });
1690
+ this.assetsBaseUrl = this.config?.appConfig?.global?.eui?.assetsBaseUrl || 'assets';
1691
+ }
1692
+ get svgUrl() {
1693
+ return `${this.assetsBaseUrl}/ecl/ec/logo/positive/${this.logo}.svg`;
1694
+ }
1695
+ get svgUrlDark() {
1696
+ return `${this.assetsBaseUrl}/ecl/ec/logo/negative/${this.logo}.svg`;
1697
+ }
1698
+ ngOnDestroy() {
1699
+ this.asService?.setState({
1700
+ ...this.asService.state,
1701
+ hasHeaderLogo: false,
1702
+ });
1703
+ }
1704
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1705
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiHeaderLogoComponent, isStandalone: true, selector: "eui-header-logo", inputs: { homeUrl: "homeUrl" }, host: { properties: { "class": "this.cssClass" } }, ngImport: i0, template: "@if ((euiThemeService.state$ | async).theme.isDark) {\n <img class=\"eui-header-logo__image\" [src]=\"svgUrlDark\" [routerLink]=\"homeUrl\" alt=\"{{ 'eui.header.LOGO' | translate }}\" />\n\n} @else {\n <img class=\"eui-header-logo__image\" [src]=\"svgUrl\" [routerLink]=\"homeUrl\" alt=\"{{ 'eui.header.LOGO' | translate }}\" />\n}\n", styles: [".eui-header-logo{display:flex}.eui-header-logo__image{background-size:cover;cursor:pointer;height:64px;width:260px}@media screen and (max-width: 767px){.eui-header-logo .logo{display:none}}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
1706
+ }
1707
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderLogoComponent, decorators: [{
1708
+ type: Component,
1709
+ args: [{ selector: 'eui-header-logo', encapsulation: ViewEncapsulation.None, imports: [
1710
+ RouterLink,
1711
+ AsyncPipe,
1712
+ TranslateModule,
1713
+ ], template: "@if ((euiThemeService.state$ | async).theme.isDark) {\n <img class=\"eui-header-logo__image\" [src]=\"svgUrlDark\" [routerLink]=\"homeUrl\" alt=\"{{ 'eui.header.LOGO' | translate }}\" />\n\n} @else {\n <img class=\"eui-header-logo__image\" [src]=\"svgUrl\" [routerLink]=\"homeUrl\" alt=\"{{ 'eui.header.LOGO' | translate }}\" />\n}\n", styles: [".eui-header-logo{display:flex}.eui-header-logo__image{background-size:cover;cursor:pointer;height:64px;width:260px}@media screen and (max-width: 767px){.eui-header-logo .logo{display:none}}\n"] }]
1714
+ }], propDecorators: { cssClass: [{
1715
+ type: HostBinding,
1716
+ args: ['class']
1717
+ }], homeUrl: [{
1718
+ type: Input
1719
+ }] } });
1720
+
1721
+ class EuiHeaderUserProfileComponent {
1722
+ constructor() {
1723
+ this.cssClass = 'eui-header-user-profile';
1724
+ this.isShowUserInfos = true;
1725
+ this.hasWelcomeLabel = true;
1726
+ this.isShowAvatarInitials = false;
1727
+ this.hasTabNavigation = false;
1728
+ this.welcomeLabel = 'Welcome';
1729
+ this.impersonateLabel = 'acting as';
1730
+ this.hasMenu = false;
1731
+ }
1732
+ /**
1733
+ * @description
1734
+ * Closes the user profile dropdown menu if it is open.
1735
+ *
1736
+ * Ensure calling this after the ngAfterViewInit lifecycle hook to ensure the userProfile component is initialized.
1737
+ */
1738
+ closeUserProfileDropdown() {
1739
+ this.userProfile.closeDropdown();
1740
+ }
1741
+ ngAfterContentInit() {
1742
+ this.hasMenu = this.hasMenuContent.length !== 0;
1743
+ }
1744
+ ngAfterViewInit() {
1745
+ // Pass the reference to the userProfile component to each menu component
1746
+ if (this.userProfile && this.hasMenuContent) {
1747
+ this.hasMenuContent.forEach(menu => {
1748
+ // Ensure the menu has a reference to the userProfile component
1749
+ menu.parent = this.userProfile;
1750
+ /**
1751
+ * Subscribe to the parent component to handle any necessary logic While the ngAfterViewInit of
1752
+ * EuiUserProfileComponent has been called before the parent injection did not exist.
1753
+ *
1754
+ * Thus, we need to manually subscribe to the parent component after the view has been initialized,
1755
+ * and we manually set the parent property before subscribing.
1756
+ */
1757
+ menu.subscribeToParent();
1758
+ });
1759
+ }
1760
+ }
1761
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderUserProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1762
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.0-next.3", type: EuiHeaderUserProfileComponent, isStandalone: true, selector: "eui-header-user-profile", inputs: { isShowUserInfos: ["isShowUserInfos", "isShowUserInfos", booleanAttribute], hasWelcomeLabel: ["hasWelcomeLabel", "hasWelcomeLabel", booleanAttribute], isShowAvatarInitials: ["isShowAvatarInitials", "isShowAvatarInitials", booleanAttribute], hasTabNavigation: ["hasTabNavigation", "hasTabNavigation", booleanAttribute], welcomeLabel: "welcomeLabel", impersonateLabel: "impersonateLabel", avatarUrl: "avatarUrl", subInfos: "subInfos" }, host: { properties: { "class": "this.cssClass" } }, queries: [{ propertyName: "hasMenuContent", predicate: i0.forwardRef(() => EuiUserProfileMenuComponent), descendants: true }], viewQueries: [{ propertyName: "userProfile", first: true, predicate: ["userProfile"], descendants: true }], ngImport: i0, template: "<eui-user-profile\n [hasWelcomeLabel]=\"hasWelcomeLabel\"\n [welcomeLabel]=\"welcomeLabel\"\n [impersonateLabel]=\"impersonateLabel\"\n [avatarUrl]=\"avatarUrl\"\n [isShowUserInfos]=\"isShowUserInfos\"\n [isShowAvatarInitials]=\"isShowAvatarInitials\"\n [hasTabNavigation]=\"hasTabNavigation\"\n [subInfos]=\"subInfos\"\n [hasMenu]=\"hasMenu\"\n isHeaderUserProfile\n #userProfile>\n <ng-content select=\"eui-user-profile-menu\" />\n</eui-user-profile>\n", styles: [".eui-header-user-profile{display:flex;margin-left:auto}\n"], dependencies: [{ kind: "component", type: i1$3.EuiUserProfileComponent, selector: "eui-user-profile", inputs: ["welcomeLabel", "impersonateLabel", "avatarUrl", "subInfos", "statusVariant", "hasMenu", "hasWelcomeLabel", "isShowAvatarInitials", "hasTabNavigation", "isReverse", "hasToggle", "isHeaderUserProfile", "isToolbarUserProfile", "isShowUserInfos", "isMobileOnly", "euiStatusSecondary", "euiStatusSuccess", "euiStatusDanger", "reverseNameOrder"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
1763
+ }
1764
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderUserProfileComponent, decorators: [{
1765
+ type: Component,
1766
+ args: [{ selector: 'eui-header-user-profile', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, imports: [
1767
+ ...EUI_USER_PROFILE,
1768
+ ], template: "<eui-user-profile\n [hasWelcomeLabel]=\"hasWelcomeLabel\"\n [welcomeLabel]=\"welcomeLabel\"\n [impersonateLabel]=\"impersonateLabel\"\n [avatarUrl]=\"avatarUrl\"\n [isShowUserInfos]=\"isShowUserInfos\"\n [isShowAvatarInitials]=\"isShowAvatarInitials\"\n [hasTabNavigation]=\"hasTabNavigation\"\n [subInfos]=\"subInfos\"\n [hasMenu]=\"hasMenu\"\n isHeaderUserProfile\n #userProfile>\n <ng-content select=\"eui-user-profile-menu\" />\n</eui-user-profile>\n", styles: [".eui-header-user-profile{display:flex;margin-left:auto}\n"] }]
1769
+ }], propDecorators: { cssClass: [{
1770
+ type: HostBinding,
1771
+ args: ['class']
1772
+ }], hasMenuContent: [{
1773
+ type: ContentChildren,
1774
+ args: [forwardRef(() => EuiUserProfileMenuComponent), { descendants: true }]
1775
+ }], userProfile: [{
1776
+ type: ViewChild,
1777
+ args: ['userProfile']
1778
+ }], isShowUserInfos: [{
1779
+ type: Input,
1780
+ args: [{ transform: booleanAttribute }]
1781
+ }], hasWelcomeLabel: [{
1782
+ type: Input,
1783
+ args: [{ transform: booleanAttribute }]
1784
+ }], isShowAvatarInitials: [{
1785
+ type: Input,
1786
+ args: [{ transform: booleanAttribute }]
1787
+ }], hasTabNavigation: [{
1788
+ type: Input,
1789
+ args: [{ transform: booleanAttribute }]
1790
+ }], welcomeLabel: [{
1791
+ type: Input
1792
+ }], impersonateLabel: [{
1793
+ type: Input
1794
+ }], avatarUrl: [{
1795
+ type: Input
1796
+ }], subInfos: [{
1797
+ type: Input
1798
+ }] } });
1799
+
1800
+ class EuiHeaderSearchComponent {
1801
+ constructor() {
1802
+ this.cssClass = 'eui-header-search';
1803
+ this.placeholder = 'Welcome';
1804
+ this.searchLabel = 'acting as';
1805
+ this.searchClick = new EventEmitter();
1806
+ }
1807
+ onSearch() {
1808
+ this.searchClick.emit(this.inputValue);
1809
+ }
1810
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1811
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EuiHeaderSearchComponent, isStandalone: true, selector: "eui-header-search", inputs: { placeholder: "placeholder", searchLabel: "searchLabel" }, outputs: { searchClick: "searchClick" }, host: { properties: { "class": "this.cssClass" } }, ngImport: i0, template: "<div euiInputGroup>\n <div euiInputGroupAddOn>\n <input euiInputText [(ngModel)]=\"inputValue\" type=\"search\" placeholder=\"Search\" aria-label=\"Search website\"/>\n\n <button euiButton euiSecondary (click)=\"onSearch()\">\n <eui-icon-svg icon=\"eui-search\" size=\"s\"></eui-icon-svg>\n <span euiLabel>Search</span>\n </button>\n </div>\n</div>\n", styles: [".eui-header-search{display:flex}.eui-header-search .eui-input-group{margin-bottom:0!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1.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$1.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiCTAButton", "euiBlockButton", "euiIconButton", "euiAvatarButton", "euiLineWrap", "isCompact", "hasNoFocusRing", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i6.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["isInvalid"] }, { kind: "component", type: i5$1.EuiInputGroupComponent, selector: "div[euiInputGroup]", inputs: ["e2eAttr"] }, { kind: "component", type: i5$1.EuiInputGroupAddOnComponent, selector: "div[euiInputGroupAddOn], eui-input-group-addon", inputs: ["e2eAttr"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
1812
+ }
1813
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiHeaderSearchComponent, decorators: [{
1814
+ type: Component,
1815
+ args: [{ selector: 'eui-header-search', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, imports: [
1816
+ FormsModule,
1817
+ ...EUI_ICON,
1818
+ ...EUI_BUTTON,
1819
+ ...EUI_INPUT_TEXT,
1820
+ ...EUI_INPUT_GROUP,
1821
+ ], template: "<div euiInputGroup>\n <div euiInputGroupAddOn>\n <input euiInputText [(ngModel)]=\"inputValue\" type=\"search\" placeholder=\"Search\" aria-label=\"Search website\"/>\n\n <button euiButton euiSecondary (click)=\"onSearch()\">\n <eui-icon-svg icon=\"eui-search\" size=\"s\"></eui-icon-svg>\n <span euiLabel>Search</span>\n </button>\n </div>\n</div>\n", styles: [".eui-header-search{display:flex}.eui-header-search .eui-input-group{margin-bottom:0!important}\n"] }]
1822
+ }], propDecorators: { cssClass: [{
1823
+ type: HostBinding,
1824
+ args: ['class']
1825
+ }], placeholder: [{
1826
+ type: Input
1827
+ }], searchLabel: [{
1828
+ type: Input
1829
+ }], searchClick: [{
1830
+ type: Output
1831
+ }] } });
1832
+
1833
+ class EuiNotificationItemComponent {
1834
+ constructor() {
1835
+ this.string = 'eui-notification-item';
1836
+ this.itemClick = new EventEmitter();
1837
+ this.itemMarkAsRead = new EventEmitter();
1838
+ this.markAsReadLabel = null;
1839
+ this.dateFormat = 'dd/MM/YYYY';
1840
+ this.tooltipSize = 'auto';
1841
+ this.isShowMarkAsRead = true;
1842
+ }
1843
+ onItemClick() {
1844
+ this.itemClick.emit(this.item);
1845
+ }
1846
+ onItemMarkAsRead(event) {
1847
+ if (this.item.metadata) {
1848
+ this.item.metadata.read = true;
1849
+ }
1850
+ this.itemMarkAsRead.emit(this.item);
1851
+ consumeEvent(event);
1852
+ }
1853
+ get iconColor() {
1854
+ return this.item.metadata?.read ? 'secondary-light' : 'secondary';
1855
+ }
1856
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiNotificationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1857
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiNotificationItemComponent, isStandalone: true, selector: "eui-notification-item", inputs: { markAsReadLabel: "markAsReadLabel", item: "item", dateFormat: "dateFormat", isShowMarkAsRead: ["isShowMarkAsRead", "isShowMarkAsRead", booleanAttribute] }, outputs: { itemClick: "itemClick", itemMarkAsRead: "itemMarkAsRead" }, host: { properties: { "class": "this.string" } }, ngImport: i0, template: "<div\n class=\"eui-notification-item-content\"\n (click)=\"onItemClick()\"\n [ngClass]=\"{ 'eui-u-c-bg-white': item.metadata?.read || !item.metadata }\">\n <div class=\"eui-notification-item-content-top eui-u-f-s\">\n @if (item.metadata?.date) {\n <div class=\"eui-notification-item-content-top__date\">\n <span class=\"eui-notification-item-content-top__date-icon eui-u-mr-s\">\n <eui-icon-svg icon=\"notifications:sharp\" size=\"m\" [fillColor]=\"iconColor\"></eui-icon-svg>\n @if (item.metadata?.new) {\n <span class=\"eui-notification-item-content-top__date-dot eui-u-c-danger-light eui-u-f-s eui-icon eui-icon-circle\"></span>\n }\n </span>\n <span>{{ item.metadata?.date | date: dateFormat }}</span>\n </div>\n }\n @if (item.metadata?.important) {\n <div class=\"eui-u-f-m-bold\">\n <eui-icon-svg icon=\"alert:sharp\" fillColor=\"danger\" class=\"eui-u-ml-xs\"></eui-icon-svg>\n </div>\n }\n </div>\n <span class=\"eui-notification-item-content-middle eui-u-cursor-pointer\">\n @if (item.metadata?.url) {\n <a class=\"eui-u-text-link\" href=\"{{ item.metadata.url }}\">\n <div\n class=\"eui-notification-item-content-middle__label\"\n [ngClass]=\"{ 'eui-u-f-m-semi-bold': !item.metadata || (item.metadata && !item.metadata.read) }\">\n {{ item.label | translate | euiTruncate: 200 }}\n </div>\n @if (item.subLabel) {\n <div\n class=\"eui-notification-item-content-middle__sub-label\"\n [innerHTML]=\"item.subLabel | translate | euiTruncate: 200\">\n </div>\n }\n </a>\n }\n\n @if (item.metadata?.urlExternal) {\n <a class=\"eui-u-text-link-external\"\n href=\"{{ item.metadata.urlExternal }}\"\n [target]=\"!item.metadata.urlExternalTarget ? '_blank' : item.metadata.urlExternalTarget\">\n <div\n class=\"eui-notification-item-content-middle__label\"\n [ngClass]=\"{ 'eui-u-f-m-semi-bold': !item.metadata || (item.metadata && !item.metadata.read) }\">\n {{ item.label | translate | euiTruncate: 200 }}\n </div>\n @if (item.subLabel) {\n <div\n class=\"eui-notification-item-content-middle__sub-label\"\n [innerHTML]=\"item.subLabel | translate | euiTruncate: 200\">\n </div>\n }\n </a>\n }\n\n @if (!item.metadata?.url && !item.metadata?.urlExternal) {\n <div\n class=\"eui-notification-item-content-middle__label\"\n [ngClass]=\"{ 'eui-u-f-m-bold': !item.metadata || (item.metadata && !item.metadata.read) }\">\n {{ item.label | translate | euiTruncate: 200 }}\n </div>\n @if (item.subLabel) {\n <div\n class=\"eui-notification-item-content-middle__sub-label\"\n [innerHTML]=\"item.subLabel | translate | euiTruncate: 200\">\n </div>\n }\n }\n </span>\n <div class=\"eui-notification-item-content-bottom\">\n @if (isShowMarkAsRead && item.metadata && !item.metadata.read) {\n <a\n href=\"javascript:void(0)\"\n class=\"eui-u-text-link\"\n (click)=\"onItemMarkAsRead($event)\">\n {{ markAsReadLabel ? markAsReadLabel : ('eui.NOTIFICATIONMARKASREAD' | translate) }}\n </a>\n }\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: i1.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: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: EuiTruncatePipe, name: "euiTruncate" }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }] }); }
1858
+ }
1859
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiNotificationItemComponent, decorators: [{
1860
+ type: Component,
1861
+ args: [{ selector: 'eui-notification-item', imports: [
1862
+ NgClass,
1863
+ DatePipe,
1864
+ EuiTruncatePipe,
1865
+ TranslateModule,
1866
+ ...EUI_ICON,
1867
+ ], template: "<div\n class=\"eui-notification-item-content\"\n (click)=\"onItemClick()\"\n [ngClass]=\"{ 'eui-u-c-bg-white': item.metadata?.read || !item.metadata }\">\n <div class=\"eui-notification-item-content-top eui-u-f-s\">\n @if (item.metadata?.date) {\n <div class=\"eui-notification-item-content-top__date\">\n <span class=\"eui-notification-item-content-top__date-icon eui-u-mr-s\">\n <eui-icon-svg icon=\"notifications:sharp\" size=\"m\" [fillColor]=\"iconColor\"></eui-icon-svg>\n @if (item.metadata?.new) {\n <span class=\"eui-notification-item-content-top__date-dot eui-u-c-danger-light eui-u-f-s eui-icon eui-icon-circle\"></span>\n }\n </span>\n <span>{{ item.metadata?.date | date: dateFormat }}</span>\n </div>\n }\n @if (item.metadata?.important) {\n <div class=\"eui-u-f-m-bold\">\n <eui-icon-svg icon=\"alert:sharp\" fillColor=\"danger\" class=\"eui-u-ml-xs\"></eui-icon-svg>\n </div>\n }\n </div>\n <span class=\"eui-notification-item-content-middle eui-u-cursor-pointer\">\n @if (item.metadata?.url) {\n <a class=\"eui-u-text-link\" href=\"{{ item.metadata.url }}\">\n <div\n class=\"eui-notification-item-content-middle__label\"\n [ngClass]=\"{ 'eui-u-f-m-semi-bold': !item.metadata || (item.metadata && !item.metadata.read) }\">\n {{ item.label | translate | euiTruncate: 200 }}\n </div>\n @if (item.subLabel) {\n <div\n class=\"eui-notification-item-content-middle__sub-label\"\n [innerHTML]=\"item.subLabel | translate | euiTruncate: 200\">\n </div>\n }\n </a>\n }\n\n @if (item.metadata?.urlExternal) {\n <a class=\"eui-u-text-link-external\"\n href=\"{{ item.metadata.urlExternal }}\"\n [target]=\"!item.metadata.urlExternalTarget ? '_blank' : item.metadata.urlExternalTarget\">\n <div\n class=\"eui-notification-item-content-middle__label\"\n [ngClass]=\"{ 'eui-u-f-m-semi-bold': !item.metadata || (item.metadata && !item.metadata.read) }\">\n {{ item.label | translate | euiTruncate: 200 }}\n </div>\n @if (item.subLabel) {\n <div\n class=\"eui-notification-item-content-middle__sub-label\"\n [innerHTML]=\"item.subLabel | translate | euiTruncate: 200\">\n </div>\n }\n </a>\n }\n\n @if (!item.metadata?.url && !item.metadata?.urlExternal) {\n <div\n class=\"eui-notification-item-content-middle__label\"\n [ngClass]=\"{ 'eui-u-f-m-bold': !item.metadata || (item.metadata && !item.metadata.read) }\">\n {{ item.label | translate | euiTruncate: 200 }}\n </div>\n @if (item.subLabel) {\n <div\n class=\"eui-notification-item-content-middle__sub-label\"\n [innerHTML]=\"item.subLabel | translate | euiTruncate: 200\">\n </div>\n }\n }\n </span>\n <div class=\"eui-notification-item-content-bottom\">\n @if (isShowMarkAsRead && item.metadata && !item.metadata.read) {\n <a\n href=\"javascript:void(0)\"\n class=\"eui-u-text-link\"\n (click)=\"onItemMarkAsRead($event)\">\n {{ markAsReadLabel ? markAsReadLabel : ('eui.NOTIFICATIONMARKASREAD' | translate) }}\n </a>\n }\n </div>\n</div>\n" }]
1868
+ }], propDecorators: { string: [{
1869
+ type: HostBinding,
1870
+ args: ['class']
1871
+ }], itemClick: [{
1872
+ type: Output
1873
+ }], itemMarkAsRead: [{
1874
+ type: Output
1875
+ }], markAsReadLabel: [{
1876
+ type: Input
1877
+ }], item: [{
1878
+ type: Input
1879
+ }], dateFormat: [{
1880
+ type: Input
1881
+ }], isShowMarkAsRead: [{
1882
+ type: Input,
1883
+ args: [{ transform: booleanAttribute }]
1884
+ }] } });
1885
+
1886
+ class EuiNotificationsComponent {
1887
+ constructor() {
1888
+ this.refreshClick = new EventEmitter();
1889
+ this.notificationsClick = new EventEmitter();
1890
+ this.viewAllClick = new EventEmitter();
1891
+ this.settingsClick = new EventEmitter();
1892
+ this.markAllAsReadClick = new EventEmitter();
1893
+ this.noNotificationFoundClick = new EventEmitter();
1894
+ this.itemClick = new EventEmitter();
1895
+ this.itemMarkAsReadClick = new EventEmitter();
1896
+ this.isOverlayActive = false;
1897
+ this.currentDayNotifications = [];
1898
+ this.oldestNotifications = [];
1899
+ this.unreadNotifications = [];
1900
+ this.today = new Date();
1901
+ this.string = 'eui-notifications';
1902
+ this.count = null;
1903
+ this.items = [];
1904
+ this.unreadLabel = null;
1905
+ this.totalLabel = null;
1906
+ this.markAsReadLabel = null;
1907
+ this.markAsUnReadLabel = null;
1908
+ this.markAllAsReadLabel = null;
1909
+ this.settingsLabel = null;
1910
+ this.refreshLabel = null;
1911
+ this.viewAllNotificationsLabel = null;
1912
+ this.headerTitleLabel = null;
1913
+ this.noNotificationFoundLabel = null;
1914
+ this.nbUnreadCount = null;
1915
+ this.dateFormat = 'dd/MM/YYYY';
1916
+ this.noNotificationFoundLink = false;
1917
+ this.isShowMarkAsRead = true;
1918
+ this.isShowViewAllAction = true;
1919
+ this.isHidePanelOnViewAllAction = true;
1920
+ this.customUnreadCount = false;
1921
+ this.isShowMarkAllAsReadButton = true;
1922
+ this.isShowSettingsButton = true;
1923
+ this.isShowRefreshButton = true;
1924
+ }
1925
+ onClicked(event) {
1926
+ this.notificationsClick.emit();
1927
+ consumeEvent(event);
1928
+ this.isOverlayActive = !this.isOverlayActive;
1929
+ }
1930
+ ngOnChanges(changes) {
1931
+ if (changes.customUnreadCount) {
1932
+ const customUnreadCount = changes.customUnreadCount.currentValue;
1933
+ if (!customUnreadCount) {
1934
+ this.nbUnreadCount = this._getUnreadCount();
1935
+ }
1936
+ }
1937
+ }
1938
+ ngOnInit() {
1939
+ if (!this.customUnreadCount) {
1940
+ this.nbUnreadCount = this._getUnreadCount();
1941
+ }
1942
+ }
1943
+ onRefresh(event) {
1944
+ this.refreshClick.emit();
1945
+ consumeEvent(event);
1946
+ }
1947
+ onItemClick(link) {
1948
+ this.itemClick.emit(link);
1949
+ consumeEvent(event);
1950
+ }
1951
+ onViewAllClick(event) {
1952
+ this.viewAllClick.emit();
1953
+ if (!this.isHidePanelOnViewAllAction) {
1954
+ consumeEvent(event);
1955
+ }
1956
+ }
1957
+ onNoNotificationFoundClick() {
1958
+ this.noNotificationFoundClick.emit();
1959
+ }
1960
+ onItemMarkAsRead(link) {
1961
+ this.itemMarkAsReadClick.emit(link);
1962
+ }
1963
+ onMarkAllAsRead(e) {
1964
+ this.markAllAsReadClick.emit(e);
1965
+ consumeEvent(e);
1966
+ }
1967
+ onSettings(e) {
1968
+ this.settingsClick.emit(e);
1969
+ consumeEvent(e);
1970
+ }
1971
+ trackByFn(index, item) {
1972
+ return item.id;
1973
+ }
1974
+ updateActiveState(isActive) {
1975
+ this.isOverlayActive = isActive;
1976
+ }
1977
+ getAriaLabel() {
1978
+ if (this.count) {
1979
+ return this.count > 1
1980
+ ? ` You have ${this.count} notifications`
1981
+ : `You have ${this.count} notification`;
1982
+ }
1983
+ return 'Open notifications panel';
1984
+ }
1985
+ _getUnreadCount() {
1986
+ const unreadNotifications = this.items.filter((link) => {
1987
+ if (link.metadata) {
1988
+ return link.metadata.read === false;
1989
+ }
1990
+ return false;
1991
+ });
1992
+ return unreadNotifications.length;
1993
+ }
1994
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiNotificationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1995
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiNotificationsComponent, isStandalone: true, selector: "eui-notifications", inputs: { count: "count", items: "items", unreadLabel: "unreadLabel", totalLabel: "totalLabel", markAsReadLabel: "markAsReadLabel", markAsUnReadLabel: "markAsUnReadLabel", markAllAsReadLabel: "markAllAsReadLabel", settingsLabel: "settingsLabel", refreshLabel: "refreshLabel", viewAllNotificationsLabel: "viewAllNotificationsLabel", headerTitleLabel: "headerTitleLabel", noNotificationFoundLabel: "noNotificationFoundLabel", nbUnreadCount: "nbUnreadCount", dateFormat: "dateFormat", noNotificationFoundLink: ["noNotificationFoundLink", "noNotificationFoundLink", booleanAttribute], isShowMarkAsRead: ["isShowMarkAsRead", "isShowMarkAsRead", booleanAttribute], isShowViewAllAction: ["isShowViewAllAction", "isShowViewAllAction", booleanAttribute], isHidePanelOnViewAllAction: ["isHidePanelOnViewAllAction", "isHidePanelOnViewAllAction", booleanAttribute], customUnreadCount: ["customUnreadCount", "customUnreadCount", booleanAttribute], isShowMarkAllAsReadButton: ["isShowMarkAllAsReadButton", "isShowMarkAllAsReadButton", booleanAttribute], isShowSettingsButton: ["isShowSettingsButton", "isShowSettingsButton", booleanAttribute], isShowRefreshButton: ["isShowRefreshButton", "isShowRefreshButton", booleanAttribute] }, outputs: { refreshClick: "refreshClick", notificationsClick: "notificationsClick", viewAllClick: "viewAllClick", settingsClick: "settingsClick", markAllAsReadClick: "markAllAsReadClick", noNotificationFoundClick: "noNotificationFoundClick", itemClick: "itemClick", itemMarkAsReadClick: "itemMarkAsReadClick" }, host: { properties: { "class": "this.string" } }, usesOnChanges: true, ngImport: i0, template: "<eui-icon-button\n class=\"eui-notifications__trigger\"\n icon=\"eui-notifications-o\"\n (click)=\"onClicked($event)\"\n [ariaLabel]=\"getAriaLabel()\">\n @if (count) {\n <eui-badge euiDanger [maxCharCount]=\"2\">{{ count }}</eui-badge>\n }\n</eui-icon-button>\n\n@if (isOverlayActive) {\n <eui-overlay hasClosedOnClickOutside isActive class=\"eui-overlay-offset--width-30\" (activeState)=\"updateActiveState($event)\">\n <eui-overlay-header>\n <div class=\"eui-notifications__header-title\">\n <div class=\"eui-notifications__header-title-label\">\n {{ headerTitleLabel ? headerTitleLabel : ('eui.MYNOTIFICATIONS' | translate) }}\n @if (items) {\n <span\n class=\"eui-u-cursor-help eui-u-ml-s\"\n attr.aria-label=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\"\n title=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\">\n </span>\n }\n <eui-badge>{{ items.length }}</eui-badge>\n </div>\n </div>\n \n @if (items) {\n <div class=\"eui-notifications__header-actions\">\n @if (isShowMarkAllAsReadButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate)\"\n title=\"{{ markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate) }}\"\n (click)=\"onMarkAllAsRead($event)\">\n <eui-icon-svg icon=\"eui-checkmark-done\" fillColor=\"secondary\"></eui-icon-svg>\n </button>\n }\n @if (isShowSettingsButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate)\"\n title=\"{{ settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate) }}\"\n (click)=\"onSettings($event)\">\n <eui-icon-svg icon=\"eui-settings-o\" fillColor=\"secondary\"></eui-icon-svg>\n </button>\n }\n @if (isShowRefreshButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"refreshLabel ? refreshLabel : ('eui.REFRESH' | translate)\"\n title=\"{{ refreshLabel ? refreshLabel : ('eui.REFRESH' | translate) }}\"\n (click)=\"onRefresh($event)\">\n <eui-icon-svg icon=\"eui-refresh\" fillColor=\"secondary\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n </eui-overlay-header>\n \n <eui-overlay-body>\n @if (items) {\n <ul class=\"eui-notifications-items\">\n @for (item of items; let i = $index; track $index) {\n <eui-notification-item\n [item]=\"item\"\n [dateFormat]=\"dateFormat\"\n [markAsReadLabel]=\"markAsReadLabel\"\n [isShowMarkAsRead]=\"isShowMarkAsRead\"\n (itemClick)=\"onItemClick($event)\"\n (itemMarkAsRead)=\"onItemMarkAsRead($event)\">\n </eui-notification-item>\n }\n </ul>\n }\n </eui-overlay-body>\n \n @if ((items?.length > 0 && isShowViewAllAction) || items?.length === 0) {\n <eui-overlay-footer>\n @if (items?.length > 0 && isShowViewAllAction) {\n <a (click)=\"onViewAllClick($event)\" class=\"eui-u-text-link\">\n <strong>{{ viewAllNotificationsLabel ? viewAllNotificationsLabel : ('eui.VIEWALLNOTIFICATIONS' | translate) }}</strong>\n </a>\n }\n @if (items?.length === 0) {\n @if (!noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </div>\n }\n @if (noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n <a (click)=\"onNoNotificationFoundClick()\" class=\"eui-u-text-link\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </a>\n </div>\n }\n }\n </eui-overlay-footer>\n }\n </eui-overlay>\n}\n\n", styles: [".eui-19 .eui-overlay-header{background-color:var(--eui-c-surface-shell);border-bottom:1px solid var(--eui-c-divider)}.eui-19 .eui-notifications-items{margin:0;padding:0}.eui-19 .eui-notifications__trigger .eui-icon-svg svg{transform:scale(1.1)}.eui-19 .eui-notifications__header{align-items:center;border-bottom:1px solid var(--eui-c-divider-light);color:var(--eui-c-text);cursor:default;display:flex;padding:var(--eui-s-xs) var(--eui-s-m)}.eui-19 .eui-notifications__header-title{display:flex}.eui-19 .eui-notifications__header-title-label{font:var(--eui-f-l-bold)}.eui-19 .eui-notifications__header-title-subLabel{margin-top:var(--eui-s-xs);font:var(--eui-f-m)}.eui-19 .eui-notifications__header-actions{align-items:center;display:flex;margin-left:auto}.eui-19 .eui-notification-item{display:flex;flex-direction:column;overflow-y:auto;margin:0}.eui-19 .eui-notification-item-content{background-color:var(--eui-c-info-surface-light);border-bottom:1px solid var(--eui-c-divider);display:flex;flex-direction:column;min-height:var(--eui-s-6xl);padding:var(--eui-s-s) var(--eui-s-m);cursor:pointer}.eui-19 .eui-notification-item-content:hover{background-color:var(--eui-c-secondary-surface-light)!important}.eui-19 .eui-notification-item-content-top{align-items:center;display:flex;justify-content:space-between}.eui-19 .eui-notification-item-content-top__date{display:flex;align-items:center}.eui-19 .eui-notification-item-content-top__date-icon{align-items:center;display:flex;position:relative}.eui-19 .eui-notification-item-content-top__date-icon--rotated{transform:rotate(20deg)}.eui-19 .eui-notification-item-content-top__date-icon-dot{position:absolute;top:0;right:0}.eui-19 .eui-notification-item-content-middle{margin:var(--eui-s-3xs) 0}.eui-19 .eui-notification-item-content-middle__sub-label{margin-top:var(--eui-s-3xs)}.eui-19 .eui-notification-item-content-bottom{display:flex;justify-content:flex-end}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "component", type: EuiNotificationItemComponent, selector: "eui-notification-item", inputs: ["markAsReadLabel", "item", "dateFormat", "isShowMarkAsRead"], outputs: ["itemClick", "itemMarkAsRead"] }, { kind: "component", type: i1.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: i2.EuiIconButtonComponent, selector: "eui-icon-button", inputs: ["icon", "iconUrl", "fillColor", "size", "ariaLabel", "tabindex", "hasNoPadding", "hasOverflowHover", "hasFocusHoverColor", "hasFocusHoverBg", "euiRounded", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i3.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["e2eAttr", "aria-label", "maxCharCount", "charReplacement", "euiIconBadge", "euiDottedBadge"] }, { kind: "component", type: i4$1.EuiOverlayHeaderComponent, selector: "eui-overlay-header" }, { kind: "component", type: i4$1.EuiOverlayBodyComponent, selector: "eui-overlay-body" }, { kind: "component", type: i4$1.EuiOverlayFooterComponent, selector: "eui-overlay-footer" }, { kind: "component", type: i4$1.EuiOverlayComponent, selector: "eui-overlay", inputs: ["isActive", "euiHighlighted", "hasClosedOnClickOutside", "position", "width", "fixedWidth"], outputs: ["activeState"] }, { kind: "component", type: i1$1.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiCTAButton", "euiBlockButton", "euiIconButton", "euiAvatarButton", "euiLineWrap", "isCompact", "hasNoFocusRing", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
1996
+ }
1997
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiNotificationsComponent, decorators: [{
1998
+ type: Component,
1999
+ args: [{ selector: 'eui-notifications', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, imports: [
2000
+ TranslateModule,
2001
+ EuiNotificationItemComponent,
2002
+ ...EUI_ICON,
2003
+ ...EUI_ICON_BUTTON,
2004
+ ...EUI_BADGE,
2005
+ ...EUI_OVERLAY,
2006
+ ...EUI_BUTTON,
2007
+ ], template: "<eui-icon-button\n class=\"eui-notifications__trigger\"\n icon=\"eui-notifications-o\"\n (click)=\"onClicked($event)\"\n [ariaLabel]=\"getAriaLabel()\">\n @if (count) {\n <eui-badge euiDanger [maxCharCount]=\"2\">{{ count }}</eui-badge>\n }\n</eui-icon-button>\n\n@if (isOverlayActive) {\n <eui-overlay hasClosedOnClickOutside isActive class=\"eui-overlay-offset--width-30\" (activeState)=\"updateActiveState($event)\">\n <eui-overlay-header>\n <div class=\"eui-notifications__header-title\">\n <div class=\"eui-notifications__header-title-label\">\n {{ headerTitleLabel ? headerTitleLabel : ('eui.MYNOTIFICATIONS' | translate) }}\n @if (items) {\n <span\n class=\"eui-u-cursor-help eui-u-ml-s\"\n attr.aria-label=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\"\n title=\"{{ unreadLabel ? unreadLabel : ('eui.NOTIFICATIONSUNREAD' | translate) }}\">\n </span>\n }\n <eui-badge>{{ items.length }}</eui-badge>\n </div>\n </div>\n \n @if (items) {\n <div class=\"eui-notifications__header-actions\">\n @if (isShowMarkAllAsReadButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate)\"\n title=\"{{ markAllAsReadLabel ? markAllAsReadLabel : ('eui.NOTIFICATIONMARKALLASREAD' | translate) }}\"\n (click)=\"onMarkAllAsRead($event)\">\n <eui-icon-svg icon=\"eui-checkmark-done\" fillColor=\"secondary\"></eui-icon-svg>\n </button>\n }\n @if (isShowSettingsButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate)\"\n title=\"{{ settingsLabel ? settingsLabel : ('eui.SETTINGS' | translate) }}\"\n (click)=\"onSettings($event)\">\n <eui-icon-svg icon=\"eui-settings-o\" fillColor=\"secondary\"></eui-icon-svg>\n </button>\n }\n @if (isShowRefreshButton) {\n <button\n euiButton\n euiPrimary\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"refreshLabel ? refreshLabel : ('eui.REFRESH' | translate)\"\n title=\"{{ refreshLabel ? refreshLabel : ('eui.REFRESH' | translate) }}\"\n (click)=\"onRefresh($event)\">\n <eui-icon-svg icon=\"eui-refresh\" fillColor=\"secondary\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n </eui-overlay-header>\n \n <eui-overlay-body>\n @if (items) {\n <ul class=\"eui-notifications-items\">\n @for (item of items; let i = $index; track $index) {\n <eui-notification-item\n [item]=\"item\"\n [dateFormat]=\"dateFormat\"\n [markAsReadLabel]=\"markAsReadLabel\"\n [isShowMarkAsRead]=\"isShowMarkAsRead\"\n (itemClick)=\"onItemClick($event)\"\n (itemMarkAsRead)=\"onItemMarkAsRead($event)\">\n </eui-notification-item>\n }\n </ul>\n }\n </eui-overlay-body>\n \n @if ((items?.length > 0 && isShowViewAllAction) || items?.length === 0) {\n <eui-overlay-footer>\n @if (items?.length > 0 && isShowViewAllAction) {\n <a (click)=\"onViewAllClick($event)\" class=\"eui-u-text-link\">\n <strong>{{ viewAllNotificationsLabel ? viewAllNotificationsLabel : ('eui.VIEWALLNOTIFICATIONS' | translate) }}</strong>\n </a>\n }\n @if (items?.length === 0) {\n @if (!noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </div>\n }\n @if (noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n <a (click)=\"onNoNotificationFoundClick()\" class=\"eui-u-text-link\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </a>\n </div>\n }\n }\n </eui-overlay-footer>\n }\n </eui-overlay>\n}\n\n", styles: [".eui-19 .eui-overlay-header{background-color:var(--eui-c-surface-shell);border-bottom:1px solid var(--eui-c-divider)}.eui-19 .eui-notifications-items{margin:0;padding:0}.eui-19 .eui-notifications__trigger .eui-icon-svg svg{transform:scale(1.1)}.eui-19 .eui-notifications__header{align-items:center;border-bottom:1px solid var(--eui-c-divider-light);color:var(--eui-c-text);cursor:default;display:flex;padding:var(--eui-s-xs) var(--eui-s-m)}.eui-19 .eui-notifications__header-title{display:flex}.eui-19 .eui-notifications__header-title-label{font:var(--eui-f-l-bold)}.eui-19 .eui-notifications__header-title-subLabel{margin-top:var(--eui-s-xs);font:var(--eui-f-m)}.eui-19 .eui-notifications__header-actions{align-items:center;display:flex;margin-left:auto}.eui-19 .eui-notification-item{display:flex;flex-direction:column;overflow-y:auto;margin:0}.eui-19 .eui-notification-item-content{background-color:var(--eui-c-info-surface-light);border-bottom:1px solid var(--eui-c-divider);display:flex;flex-direction:column;min-height:var(--eui-s-6xl);padding:var(--eui-s-s) var(--eui-s-m);cursor:pointer}.eui-19 .eui-notification-item-content:hover{background-color:var(--eui-c-secondary-surface-light)!important}.eui-19 .eui-notification-item-content-top{align-items:center;display:flex;justify-content:space-between}.eui-19 .eui-notification-item-content-top__date{display:flex;align-items:center}.eui-19 .eui-notification-item-content-top__date-icon{align-items:center;display:flex;position:relative}.eui-19 .eui-notification-item-content-top__date-icon--rotated{transform:rotate(20deg)}.eui-19 .eui-notification-item-content-top__date-icon-dot{position:absolute;top:0;right:0}.eui-19 .eui-notification-item-content-middle{margin:var(--eui-s-3xs) 0}.eui-19 .eui-notification-item-content-middle__sub-label{margin-top:var(--eui-s-3xs)}.eui-19 .eui-notification-item-content-bottom{display:flex;justify-content:flex-end}\n"] }]
2008
+ }], propDecorators: { refreshClick: [{
2009
+ type: Output
2010
+ }], notificationsClick: [{
2011
+ type: Output
2012
+ }], viewAllClick: [{
2013
+ type: Output
2014
+ }], settingsClick: [{
2015
+ type: Output
2016
+ }], markAllAsReadClick: [{
2017
+ type: Output
2018
+ }], noNotificationFoundClick: [{
2019
+ type: Output
2020
+ }], itemClick: [{
2021
+ type: Output
2022
+ }], itemMarkAsReadClick: [{
2023
+ type: Output
2024
+ }], string: [{
2025
+ type: HostBinding,
2026
+ args: ['class']
2027
+ }], count: [{
2028
+ type: Input
2029
+ }], items: [{
2030
+ type: Input
2031
+ }], unreadLabel: [{
2032
+ type: Input
2033
+ }], totalLabel: [{
2034
+ type: Input
2035
+ }], markAsReadLabel: [{
2036
+ type: Input
2037
+ }], markAsUnReadLabel: [{
2038
+ type: Input
2039
+ }], markAllAsReadLabel: [{
2040
+ type: Input
2041
+ }], settingsLabel: [{
2042
+ type: Input
2043
+ }], refreshLabel: [{
2044
+ type: Input
2045
+ }], viewAllNotificationsLabel: [{
2046
+ type: Input
2047
+ }], headerTitleLabel: [{
2048
+ type: Input
2049
+ }], noNotificationFoundLabel: [{
2050
+ type: Input
2051
+ }], nbUnreadCount: [{
2052
+ type: Input
2053
+ }], dateFormat: [{
2054
+ type: Input
2055
+ }], noNotificationFoundLink: [{
2056
+ type: Input,
2057
+ args: [{ transform: booleanAttribute }]
2058
+ }], isShowMarkAsRead: [{
2059
+ type: Input,
2060
+ args: [{ transform: booleanAttribute }]
2061
+ }], isShowViewAllAction: [{
2062
+ type: Input,
2063
+ args: [{ transform: booleanAttribute }]
2064
+ }], isHidePanelOnViewAllAction: [{
2065
+ type: Input,
2066
+ args: [{ transform: booleanAttribute }]
2067
+ }], customUnreadCount: [{
2068
+ type: Input,
2069
+ args: [{ transform: booleanAttribute }]
2070
+ }], isShowMarkAllAsReadButton: [{
2071
+ type: Input,
2072
+ args: [{ transform: booleanAttribute }]
2073
+ }], isShowSettingsButton: [{
2074
+ type: Input,
2075
+ args: [{ transform: booleanAttribute }]
2076
+ }], isShowRefreshButton: [{
2077
+ type: Input,
2078
+ args: [{ transform: booleanAttribute }]
2079
+ }] } });
2080
+
2081
+ class EuiNotificationItemV2Component {
2082
+ constructor() {
2083
+ this.string = 'eui-notification-item';
2084
+ this.itemClick = new EventEmitter();
2085
+ this.itemMarkAsRead = new EventEmitter();
2086
+ this.markAsReadLabel = null;
2087
+ this.dateFormat = 'dd/MM/YYYY';
2088
+ this.tooltipSize = 'auto';
2089
+ this.isShowMarkAsRead = true;
2090
+ }
2091
+ get iconColor() {
2092
+ return this.item.metadata?.read ? 'secondary-light' : 'secondary';
2093
+ }
2094
+ onItemClick() {
2095
+ this.itemClick.emit(this.item);
2096
+ }
2097
+ onItemMarkAsRead(event) {
2098
+ if (this.item.metadata) {
2099
+ this.item.metadata.read = true;
2100
+ }
2101
+ this.itemMarkAsRead.emit(this.item);
2102
+ consumeEvent(event);
2103
+ }
2104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiNotificationItemV2Component, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2105
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiNotificationItemV2Component, isStandalone: true, selector: "eui-notification-item-v2", inputs: { markAsReadLabel: "markAsReadLabel", item: "item", dateFormat: "dateFormat", isShowMarkAsRead: ["isShowMarkAsRead", "isShowMarkAsRead", booleanAttribute] }, outputs: { itemClick: "itemClick", itemMarkAsRead: "itemMarkAsRead" }, host: { properties: { "class": "this.string" } }, ngImport: i0, template: "<div\n class=\"eui-notification-item-content\"\n (click)=\"onItemClick()\"\n [ngClass]=\"{ 'eui-u-c-bg-white': item.metadata?.read || !item.metadata }\">\n <div class=\"eui-notification-item-content-top eui-u-f-s\">\n @if (item.metadata?.date) {\n <div class=\"eui-notification-item-content-top__date\">\n <span class=\"eui-notification-item-content-top__date-icon eui-u-mr-s\">\n <eui-icon-svg icon=\"notifications:sharp\" size=\"m\" [fillColor]=\"iconColor\"></eui-icon-svg>\n @if (item.metadata?.new) {\n <span class=\"eui-notification-item-content-top__date-dot eui-u-c-danger-light eui-u-f-s eui-icon eui-icon-circle\"></span>\n }\n </span>\n <span>{{ item.metadata?.date | date: dateFormat }}</span>\n </div>\n }\n @if (item.metadata?.important) {\n <div class=\"eui-u-f-m-bold\">\n <eui-icon-svg icon=\"alert:sharp\" fillColor=\"danger-100\" class=\"eui-u-ml-xs\"></eui-icon-svg>\n </div>\n }\n </div>\n <span class=\"eui-notification-item-content-middle eui-u-cursor-pointer\">\n @if (item.metadata?.url) {\n <a class=\"eui-u-text-link\" href=\"{{ item.metadata.url }}\" tabIndex=\"0\">\n <div\n class=\"eui-notification-item-content-middle__label\"\n [ngClass]=\"{ 'eui-u-f-m-semi-bold': !item.metadata || (item.metadata && !item.metadata.read) }\">\n {{ item.label | translate | euiTruncate: 200 }}\n </div>\n @if (item.subLabel) {\n <div\n class=\"eui-notification-item-content-middle__sub-label\"\n [innerHTML]=\"item.subLabel | translate | euiTruncate: 200\"></div>\n }\n </a>\n }\n\n @if (item.metadata?.urlExternal) {\n <a class=\"eui-u-text-link-external\"\n href=\"{{ item.metadata.urlExternal }}\"\n [target]=\"!item.metadata.urlExternalTarget ? '_blank' : item.metadata.urlExternalTarget\" tabIndex=\"0\">\n <div\n class=\"eui-notification-item-content-middle__label\"\n [ngClass]=\"{ 'eui-u-f-m-semi-bold': !item.metadata || (item.metadata && !item.metadata.read) }\">\n {{ item.label | translate | euiTruncate: 200 }}\n </div>\n @if (item.subLabel) {\n <div\n class=\"eui-notification-item-content-middle__sub-label\"\n [innerHTML]=\"item.subLabel | translate | euiTruncate: 200\"></div>\n }\n </a>\n }\n\n @if (!item.metadata?.url && !item.metadata?.urlExternal) {\n <div\n class=\"eui-notification-item-content-middle__label\"\n [ngClass]=\"{ 'eui-u-f-m-bold': !item.metadata || (item.metadata && !item.metadata.read) }\">\n {{ item.label | translate | euiTruncate: 200 }}\n </div>\n @if (item.subLabel) {\n <div\n class=\"eui-notification-item-content-middle__sub-label\"\n [innerHTML]=\"item.subLabel | translate | euiTruncate: 200\"></div>\n }\n }\n </span>\n <div class=\"eui-notification-item-content-bottom\">\n @if (isShowMarkAsRead && item.metadata && !item.metadata.read) {\n <a\n class=\"eui-u-text-link\"\n href=\"javascript:void(0)\"\n (click)=\"onItemMarkAsRead($event)\" tabIndex=\"0\">\n {{ markAsReadLabel ? markAsReadLabel : ('eui.NOTIFICATIONMARKASREAD' | translate) }}\n </a>\n }\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: i1.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: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: EuiTruncatePipe, name: "euiTruncate" }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }] }); }
2106
+ }
2107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiNotificationItemV2Component, decorators: [{
2108
+ type: Component,
2109
+ args: [{ selector: 'eui-notification-item-v2', imports: [
2110
+ NgClass,
2111
+ DatePipe,
2112
+ EuiTruncatePipe,
2113
+ TranslateModule,
2114
+ ...EUI_ICON,
2115
+ ], template: "<div\n class=\"eui-notification-item-content\"\n (click)=\"onItemClick()\"\n [ngClass]=\"{ 'eui-u-c-bg-white': item.metadata?.read || !item.metadata }\">\n <div class=\"eui-notification-item-content-top eui-u-f-s\">\n @if (item.metadata?.date) {\n <div class=\"eui-notification-item-content-top__date\">\n <span class=\"eui-notification-item-content-top__date-icon eui-u-mr-s\">\n <eui-icon-svg icon=\"notifications:sharp\" size=\"m\" [fillColor]=\"iconColor\"></eui-icon-svg>\n @if (item.metadata?.new) {\n <span class=\"eui-notification-item-content-top__date-dot eui-u-c-danger-light eui-u-f-s eui-icon eui-icon-circle\"></span>\n }\n </span>\n <span>{{ item.metadata?.date | date: dateFormat }}</span>\n </div>\n }\n @if (item.metadata?.important) {\n <div class=\"eui-u-f-m-bold\">\n <eui-icon-svg icon=\"alert:sharp\" fillColor=\"danger-100\" class=\"eui-u-ml-xs\"></eui-icon-svg>\n </div>\n }\n </div>\n <span class=\"eui-notification-item-content-middle eui-u-cursor-pointer\">\n @if (item.metadata?.url) {\n <a class=\"eui-u-text-link\" href=\"{{ item.metadata.url }}\" tabIndex=\"0\">\n <div\n class=\"eui-notification-item-content-middle__label\"\n [ngClass]=\"{ 'eui-u-f-m-semi-bold': !item.metadata || (item.metadata && !item.metadata.read) }\">\n {{ item.label | translate | euiTruncate: 200 }}\n </div>\n @if (item.subLabel) {\n <div\n class=\"eui-notification-item-content-middle__sub-label\"\n [innerHTML]=\"item.subLabel | translate | euiTruncate: 200\"></div>\n }\n </a>\n }\n\n @if (item.metadata?.urlExternal) {\n <a class=\"eui-u-text-link-external\"\n href=\"{{ item.metadata.urlExternal }}\"\n [target]=\"!item.metadata.urlExternalTarget ? '_blank' : item.metadata.urlExternalTarget\" tabIndex=\"0\">\n <div\n class=\"eui-notification-item-content-middle__label\"\n [ngClass]=\"{ 'eui-u-f-m-semi-bold': !item.metadata || (item.metadata && !item.metadata.read) }\">\n {{ item.label | translate | euiTruncate: 200 }}\n </div>\n @if (item.subLabel) {\n <div\n class=\"eui-notification-item-content-middle__sub-label\"\n [innerHTML]=\"item.subLabel | translate | euiTruncate: 200\"></div>\n }\n </a>\n }\n\n @if (!item.metadata?.url && !item.metadata?.urlExternal) {\n <div\n class=\"eui-notification-item-content-middle__label\"\n [ngClass]=\"{ 'eui-u-f-m-bold': !item.metadata || (item.metadata && !item.metadata.read) }\">\n {{ item.label | translate | euiTruncate: 200 }}\n </div>\n @if (item.subLabel) {\n <div\n class=\"eui-notification-item-content-middle__sub-label\"\n [innerHTML]=\"item.subLabel | translate | euiTruncate: 200\"></div>\n }\n }\n </span>\n <div class=\"eui-notification-item-content-bottom\">\n @if (isShowMarkAsRead && item.metadata && !item.metadata.read) {\n <a\n class=\"eui-u-text-link\"\n href=\"javascript:void(0)\"\n (click)=\"onItemMarkAsRead($event)\" tabIndex=\"0\">\n {{ markAsReadLabel ? markAsReadLabel : ('eui.NOTIFICATIONMARKASREAD' | translate) }}\n </a>\n }\n </div>\n</div>\n" }]
2116
+ }], propDecorators: { string: [{
2117
+ type: HostBinding,
2118
+ args: ['class']
2119
+ }], itemClick: [{
2120
+ type: Output
2121
+ }], itemMarkAsRead: [{
2122
+ type: Output
2123
+ }], markAsReadLabel: [{
2124
+ type: Input
2125
+ }], item: [{
2126
+ type: Input
2127
+ }], dateFormat: [{
2128
+ type: Input
2129
+ }], isShowMarkAsRead: [{
2130
+ type: Input,
2131
+ args: [{ transform: booleanAttribute }]
2132
+ }] } });
2133
+
2134
+ class EuiNotificationsV2Component {
2135
+ constructor() {
2136
+ this.refreshClick = new EventEmitter();
2137
+ this.notificationsClick = new EventEmitter();
2138
+ this.viewAllClick = new EventEmitter();
2139
+ // @Output() settingsClick: EventEmitter<any> = new EventEmitter<any>();
2140
+ this.markAllAsReadClick = new EventEmitter();
2141
+ this.noNotificationFoundClick = new EventEmitter();
2142
+ this.itemClick = new EventEmitter();
2143
+ this.itemMarkAsReadClick = new EventEmitter();
2144
+ this.isOverlayActive = false;
2145
+ this.currentDayNotifications = [];
2146
+ this.oldestNotifications = [];
2147
+ this.unreadNotifications = [];
2148
+ this.today = new Date();
2149
+ this.string = 'eui-notifications-v2';
2150
+ this.count = null;
2151
+ this.unreadCount = null;
2152
+ this.unreadSinceLastCheckCount = null;
2153
+ this.items = [];
2154
+ this.unreadLabel = null;
2155
+ this.totalLabel = null;
2156
+ this.markAsReadLabel = null;
2157
+ this.markAsUnReadLabel = null;
2158
+ this.markAllAsReadLabel = null;
2159
+ this.settingsLabel = null;
2160
+ this.refreshLabel = null;
2161
+ this.viewAllNotificationsLabel = null;
2162
+ this.headerTitleLabel = null;
2163
+ this.headerHideLabel = null;
2164
+ this.headerUnreadSinceLastCheckCountLabel = null;
2165
+ this.headerUnreadCountLabel = null;
2166
+ this.noNotificationFoundLabel = null;
2167
+ this.dateFormat = 'dd/MM/YYYY';
2168
+ this.noNotificationFoundLink = false;
2169
+ this.isShowMarkAsRead = true;
2170
+ this.isShowViewAllAction = true;
2171
+ this.isHidePanelOnViewAllAction = true;
2172
+ this.isShowMarkAllAsReadButton = true;
2173
+ this.isShowSettingsButton = true;
2174
+ this.isShowRefreshButton = true;
2175
+ }
2176
+ get isShowUnreadSinceLastCheckCount() {
2177
+ return this.unreadSinceLastCheckCount && this.unreadSinceLastCheckCount > 0;
2178
+ }
2179
+ onHide() {
2180
+ this.isOverlayActive = false;
2181
+ }
2182
+ onClicked(event) {
2183
+ this.notificationsClick.emit();
2184
+ consumeEvent(event);
2185
+ this.isOverlayActive = !this.isOverlayActive;
2186
+ }
2187
+ onRefresh(event) {
2188
+ this.refreshClick.emit();
2189
+ consumeEvent(event);
2190
+ }
2191
+ onItemClick(link) {
2192
+ this.itemClick.emit(link);
2193
+ consumeEvent(event);
2194
+ }
2195
+ onViewAllClick(event) {
2196
+ this.viewAllClick.emit();
2197
+ if (!this.isHidePanelOnViewAllAction) {
2198
+ consumeEvent(event);
2199
+ }
2200
+ }
2201
+ onNoNotificationFoundClick() {
2202
+ this.noNotificationFoundClick.emit();
2203
+ }
2204
+ onItemMarkAsRead(link) {
2205
+ this.itemMarkAsReadClick.emit(link);
2206
+ }
2207
+ onMarkAllAsRead(e) {
2208
+ this.markAllAsReadClick.emit(e);
2209
+ consumeEvent(e);
2210
+ }
2211
+ // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html
2212
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2213
+ trackByFn(index, item) {
2214
+ return item.id;
2215
+ }
2216
+ updateActiveState(isActive) {
2217
+ this.isOverlayActive = isActive;
2218
+ }
2219
+ getAriaLabel() {
2220
+ if (this.count) {
2221
+ return this.count > 1
2222
+ ? ` You have ${this.count} notifications`
2223
+ : `You have ${this.count} notification`;
2224
+ }
2225
+ return 'Open notifications panel';
2226
+ }
2227
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiNotificationsV2Component, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2228
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EuiNotificationsV2Component, isStandalone: true, selector: "eui-notifications-v2", inputs: { count: "count", unreadCount: "unreadCount", unreadSinceLastCheckCount: "unreadSinceLastCheckCount", items: "items", unreadLabel: "unreadLabel", totalLabel: "totalLabel", markAsReadLabel: "markAsReadLabel", markAsUnReadLabel: "markAsUnReadLabel", markAllAsReadLabel: "markAllAsReadLabel", settingsLabel: "settingsLabel", refreshLabel: "refreshLabel", viewAllNotificationsLabel: "viewAllNotificationsLabel", headerTitleLabel: "headerTitleLabel", headerHideLabel: "headerHideLabel", headerUnreadSinceLastCheckCountLabel: "headerUnreadSinceLastCheckCountLabel", headerUnreadCountLabel: "headerUnreadCountLabel", noNotificationFoundLabel: "noNotificationFoundLabel", dateFormat: "dateFormat", noNotificationFoundLink: ["noNotificationFoundLink", "noNotificationFoundLink", booleanAttribute], isShowMarkAsRead: ["isShowMarkAsRead", "isShowMarkAsRead", booleanAttribute], isShowViewAllAction: ["isShowViewAllAction", "isShowViewAllAction", booleanAttribute], isHidePanelOnViewAllAction: ["isHidePanelOnViewAllAction", "isHidePanelOnViewAllAction", booleanAttribute], isShowMarkAllAsReadButton: ["isShowMarkAllAsReadButton", "isShowMarkAllAsReadButton", booleanAttribute], isShowSettingsButton: ["isShowSettingsButton", "isShowSettingsButton", booleanAttribute], isShowRefreshButton: ["isShowRefreshButton", "isShowRefreshButton", booleanAttribute] }, outputs: { refreshClick: "refreshClick", notificationsClick: "notificationsClick", viewAllClick: "viewAllClick", markAllAsReadClick: "markAllAsReadClick", noNotificationFoundClick: "noNotificationFoundClick", itemClick: "itemClick", itemMarkAsReadClick: "itemMarkAsReadClick" }, host: { properties: { "class": "this.string" } }, ngImport: i0, template: "<eui-icon-button\n class=\"eui-notifications-v2__trigger\"\n icon=\"eui-notifications-o\"\n fillColor=\"white\"\n (click)=\"onClicked($event)\"\n [ariaLabel]=\"getAriaLabel()\">\n @if (isShowUnreadSinceLastCheckCount) {\n <eui-badge euiSizeM euiDanger [maxCharCount]=\"2\">{{ unreadSinceLastCheckCount }}</eui-badge>\n }\n</eui-icon-button>\n\n@if (isOverlayActive){\n <eui-overlay isActive hasClosedOnClickOutside class=\"eui-overlay-offset--width-30\" (activeState)=\"updateActiveState($event)\">\n <eui-overlay-header>\n <div class=\"eui-notifications-v2__header\">\n <div class=\"eui-notifications-v2__header-title\">\n <div class=\"eui-notifications-v2__header-title-label\">\n {{ headerTitleLabel ? headerTitleLabel : ('eui.MYNOTIFICATIONS' | translate) }}\n </div>\n \n <div class=\"eui-notifications-v2__header-title-actions\">\n <span class=\"hide\">\n <a (click)=\"onHide()\" class=\"eui-u-text-link\" role=\"button\" tabIndex=\"0\">\n {{ headerHideLabel ? headerHideLabel : ('eui.HIDE' | translate) }}\n </a>\n <eui-icon-svg icon=\"chevron-forward:sharp\" size=\"2xs\"></eui-icon-svg>\n </span>\n </div>\n </div>\n \n <div class=\"eui-notifications-v2__header-subinfos-bar\">\n <strong>{{ unreadSinceLastCheckCount }}</strong>\n <span class=\"eui-u-ml-xs\">{{\n headerUnreadSinceLastCheckCountLabel ? headerUnreadSinceLastCheckCountLabel : ('eui.NEW-COUNT' | translate)\n }}</span>\n \n <span class=\"eui-u-ml-xs\">|</span>\n \n <span class=\"eui-u-ml-xs\">{{ unreadCount }}</span>\n <span class=\"eui-u-ml-xs\">{{ headerUnreadCountLabel ? headerUnreadCountLabel : ('eui.NEW-COUNT' | translate) }}</span>\n </div>\n \n <div class=\"eui-notifications-v2__header-subactions-bar\">\n @if (items.length > 0) {\n <a (click)=\"onMarkAllAsRead($event)\" class=\"eui-u-text-link\" tabIndex=\"0\">\n {{ 'notif.MARK-ALL-READ' | translate }}\n </a>\n }\n <a (click)=\"onRefresh($event)\" class=\"eui-u-text-link eui-u-ml-auto\" tabIndex=\"0\">\n <span class=\"eui-u-flex\">\n <eui-icon-svg set=\"eui\" icon=\"eui-refresh\" fillColor=\"secondary\"></eui-icon-svg>\n {{ 'notif.SV-REFRESH' | translate }}\n </span>\n </a>\n </div>\n </div>\n </eui-overlay-header>\n \n <eui-overlay-body>\n @if (items) {\n <ul class=\"eui-notifications-items\">\n @for (item of items; track trackByFn($index, item)) {\n <eui-notification-item-v2\n [item]=\"item\"\n [dateFormat]=\"dateFormat\"\n [markAsReadLabel]=\"markAsReadLabel\"\n [isShowMarkAsRead]=\"isShowMarkAsRead\"\n (itemClick)=\"onItemClick($event)\"\n (itemMarkAsRead)=\"onItemMarkAsRead($event)\">\n </eui-notification-item-v2>\n }\n </ul>\n }\n </eui-overlay-body>\n \n <eui-overlay-footer>\n @if (items?.length > 0) {\n <strong\n ><a (click)=\"onViewAllClick($event)\" class=\"eui-u-text-link\">{{\n viewAllNotificationsLabel ? viewAllNotificationsLabel : ('eui.VIEWALLNOTIFICATIONS' | translate)\n }}</a></strong\n >\n }\n @if (items?.length === 0) {\n @if (!noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </div>\n }\n @if (noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n <strong\n ><a (click)=\"onNoNotificationFoundClick()\" class=\"eui-u-text-link\">{{\n noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate)\n }}</a></strong\n >\n </div>\n }\n }\n </eui-overlay-footer>\n </eui-overlay>\n}\n", styles: [".eui-19 .eui-overlay-header{padding:0}.eui-19 .eui-overlay-footer{background-color:var(--eui-c-surface-container)}.eui-19 .eui-notifications-items{margin:0;padding:0}.eui-19 .eui-notifications-v2__trigger .eui-icon-svg svg{transform:scale(1.1)}.eui-19 .eui-notifications-v2__header{border-bottom:1px solid var(--eui-c-divider-light);color:var(--eui-c-text);cursor:default;flex-direction:column;display:flex;width:100%}.eui-19 .eui-notifications-v2__header-title{display:flex;padding:var(--eui-s-xs) var(--eui-s-m)}.eui-19 .eui-notifications-v2__header-title-label{font:var(--eui-f-l-semi-bold)}.eui-19 .eui-notifications-v2__header-title-subLabel{margin-top:var(--eui-s-xs);font:var(--eui-f-s)}.eui-19 .eui-notifications-v2__header-title-actions{align-items:center;display:flex;margin-left:auto}.eui-19 .eui-notifications-v2__header-subinfos-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-c-divider-lightt);padding:var(--eui-s-xs) var(--eui-s-m)}.eui-19 .eui-notifications-v2__header-subactions-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-c-divider-light);padding:var(--eui-s-xs) var(--eui-s-m)}.eui-19 .eui-notification-item{display:flex;flex-direction:column;overflow-y:auto;margin:0}.eui-19 .eui-notification-item-content{background-color:var(--eui-c-info-surface-light);border-bottom:1px solid var(--eui-c-divider);display:flex;flex-direction:column;min-height:var(--eui-s-6xl);padding:var(--eui-s-s) var(--eui-s-m);cursor:pointer}.eui-19 .eui-notification-item-content:hover{background-color:var(--eui-c-secondary-surface-light)!important}.eui-19 .eui-notification-item-content-top{align-items:center;display:flex;justify-content:space-between}.eui-19 .eui-notification-item-content-top__date{display:flex;align-items:center}.eui-19 .eui-notification-item-content-top__date-icon{align-items:center;display:flex;position:relative}.eui-19 .eui-notification-item-content-top__date-icon--rotated{transform:rotate(20deg)}.eui-19 .eui-notification-item-content-top__date-icon-dot{position:absolute;top:0;right:0}.eui-19 .eui-notification-item-content-middle{display:flex;margin:var(--eui-s-3xs) 0}.eui-19 .eui-notification-item-content-middle__sub-label{margin-top:var(--eui-s-3xs)}.eui-19 .eui-notification-item-content-bottom{display:flex;justify-content:flex-end}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "component", type: EuiNotificationItemV2Component, selector: "eui-notification-item-v2", inputs: ["markAsReadLabel", "item", "dateFormat", "isShowMarkAsRead"], outputs: ["itemClick", "itemMarkAsRead"] }, { kind: "component", type: i1.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: i2.EuiIconButtonComponent, selector: "eui-icon-button", inputs: ["icon", "iconUrl", "fillColor", "size", "ariaLabel", "tabindex", "hasNoPadding", "hasOverflowHover", "hasFocusHoverColor", "hasFocusHoverBg", "euiRounded", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i3.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["e2eAttr", "aria-label", "maxCharCount", "charReplacement", "euiIconBadge", "euiDottedBadge"] }, { kind: "component", type: i4$1.EuiOverlayHeaderComponent, selector: "eui-overlay-header" }, { kind: "component", type: i4$1.EuiOverlayBodyComponent, selector: "eui-overlay-body" }, { kind: "component", type: i4$1.EuiOverlayFooterComponent, selector: "eui-overlay-footer" }, { kind: "component", type: i4$1.EuiOverlayComponent, selector: "eui-overlay", inputs: ["isActive", "euiHighlighted", "hasClosedOnClickOutside", "position", "width", "fixedWidth"], outputs: ["activeState"] }, { kind: "pipe", type: i2$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
2229
+ }
2230
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiNotificationsV2Component, decorators: [{
2231
+ type: Component,
2232
+ args: [{ selector: 'eui-notifications-v2', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, imports: [
2233
+ TranslateModule,
2234
+ EuiNotificationItemV2Component,
2235
+ ...EUI_ICON,
2236
+ ...EUI_ICON_BUTTON,
2237
+ ...EUI_BADGE,
2238
+ ...EUI_OVERLAY,
2239
+ ...EUI_BUTTON,
2240
+ ], template: "<eui-icon-button\n class=\"eui-notifications-v2__trigger\"\n icon=\"eui-notifications-o\"\n fillColor=\"white\"\n (click)=\"onClicked($event)\"\n [ariaLabel]=\"getAriaLabel()\">\n @if (isShowUnreadSinceLastCheckCount) {\n <eui-badge euiSizeM euiDanger [maxCharCount]=\"2\">{{ unreadSinceLastCheckCount }}</eui-badge>\n }\n</eui-icon-button>\n\n@if (isOverlayActive){\n <eui-overlay isActive hasClosedOnClickOutside class=\"eui-overlay-offset--width-30\" (activeState)=\"updateActiveState($event)\">\n <eui-overlay-header>\n <div class=\"eui-notifications-v2__header\">\n <div class=\"eui-notifications-v2__header-title\">\n <div class=\"eui-notifications-v2__header-title-label\">\n {{ headerTitleLabel ? headerTitleLabel : ('eui.MYNOTIFICATIONS' | translate) }}\n </div>\n \n <div class=\"eui-notifications-v2__header-title-actions\">\n <span class=\"hide\">\n <a (click)=\"onHide()\" class=\"eui-u-text-link\" role=\"button\" tabIndex=\"0\">\n {{ headerHideLabel ? headerHideLabel : ('eui.HIDE' | translate) }}\n </a>\n <eui-icon-svg icon=\"chevron-forward:sharp\" size=\"2xs\"></eui-icon-svg>\n </span>\n </div>\n </div>\n \n <div class=\"eui-notifications-v2__header-subinfos-bar\">\n <strong>{{ unreadSinceLastCheckCount }}</strong>\n <span class=\"eui-u-ml-xs\">{{\n headerUnreadSinceLastCheckCountLabel ? headerUnreadSinceLastCheckCountLabel : ('eui.NEW-COUNT' | translate)\n }}</span>\n \n <span class=\"eui-u-ml-xs\">|</span>\n \n <span class=\"eui-u-ml-xs\">{{ unreadCount }}</span>\n <span class=\"eui-u-ml-xs\">{{ headerUnreadCountLabel ? headerUnreadCountLabel : ('eui.NEW-COUNT' | translate) }}</span>\n </div>\n \n <div class=\"eui-notifications-v2__header-subactions-bar\">\n @if (items.length > 0) {\n <a (click)=\"onMarkAllAsRead($event)\" class=\"eui-u-text-link\" tabIndex=\"0\">\n {{ 'notif.MARK-ALL-READ' | translate }}\n </a>\n }\n <a (click)=\"onRefresh($event)\" class=\"eui-u-text-link eui-u-ml-auto\" tabIndex=\"0\">\n <span class=\"eui-u-flex\">\n <eui-icon-svg set=\"eui\" icon=\"eui-refresh\" fillColor=\"secondary\"></eui-icon-svg>\n {{ 'notif.SV-REFRESH' | translate }}\n </span>\n </a>\n </div>\n </div>\n </eui-overlay-header>\n \n <eui-overlay-body>\n @if (items) {\n <ul class=\"eui-notifications-items\">\n @for (item of items; track trackByFn($index, item)) {\n <eui-notification-item-v2\n [item]=\"item\"\n [dateFormat]=\"dateFormat\"\n [markAsReadLabel]=\"markAsReadLabel\"\n [isShowMarkAsRead]=\"isShowMarkAsRead\"\n (itemClick)=\"onItemClick($event)\"\n (itemMarkAsRead)=\"onItemMarkAsRead($event)\">\n </eui-notification-item-v2>\n }\n </ul>\n }\n </eui-overlay-body>\n \n <eui-overlay-footer>\n @if (items?.length > 0) {\n <strong\n ><a (click)=\"onViewAllClick($event)\" class=\"eui-u-text-link\">{{\n viewAllNotificationsLabel ? viewAllNotificationsLabel : ('eui.VIEWALLNOTIFICATIONS' | translate)\n }}</a></strong\n >\n }\n @if (items?.length === 0) {\n @if (!noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n {{ noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate) }}\n </div>\n }\n @if (noNotificationFoundLink) {\n <div class=\"ux-notification__item-content\">\n <strong\n ><a (click)=\"onNoNotificationFoundClick()\" class=\"eui-u-text-link\">{{\n noNotificationFoundLabel ? noNotificationFoundLabel : ('eui.NONOTIFICATIONFOUND' | translate)\n }}</a></strong\n >\n </div>\n }\n }\n </eui-overlay-footer>\n </eui-overlay>\n}\n", styles: [".eui-19 .eui-overlay-header{padding:0}.eui-19 .eui-overlay-footer{background-color:var(--eui-c-surface-container)}.eui-19 .eui-notifications-items{margin:0;padding:0}.eui-19 .eui-notifications-v2__trigger .eui-icon-svg svg{transform:scale(1.1)}.eui-19 .eui-notifications-v2__header{border-bottom:1px solid var(--eui-c-divider-light);color:var(--eui-c-text);cursor:default;flex-direction:column;display:flex;width:100%}.eui-19 .eui-notifications-v2__header-title{display:flex;padding:var(--eui-s-xs) var(--eui-s-m)}.eui-19 .eui-notifications-v2__header-title-label{font:var(--eui-f-l-semi-bold)}.eui-19 .eui-notifications-v2__header-title-subLabel{margin-top:var(--eui-s-xs);font:var(--eui-f-s)}.eui-19 .eui-notifications-v2__header-title-actions{align-items:center;display:flex;margin-left:auto}.eui-19 .eui-notifications-v2__header-subinfos-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-c-divider-lightt);padding:var(--eui-s-xs) var(--eui-s-m)}.eui-19 .eui-notifications-v2__header-subactions-bar{display:flex;align-items:center;border-bottom:1px solid var(--eui-c-divider-light);padding:var(--eui-s-xs) var(--eui-s-m)}.eui-19 .eui-notification-item{display:flex;flex-direction:column;overflow-y:auto;margin:0}.eui-19 .eui-notification-item-content{background-color:var(--eui-c-info-surface-light);border-bottom:1px solid var(--eui-c-divider);display:flex;flex-direction:column;min-height:var(--eui-s-6xl);padding:var(--eui-s-s) var(--eui-s-m);cursor:pointer}.eui-19 .eui-notification-item-content:hover{background-color:var(--eui-c-secondary-surface-light)!important}.eui-19 .eui-notification-item-content-top{align-items:center;display:flex;justify-content:space-between}.eui-19 .eui-notification-item-content-top__date{display:flex;align-items:center}.eui-19 .eui-notification-item-content-top__date-icon{align-items:center;display:flex;position:relative}.eui-19 .eui-notification-item-content-top__date-icon--rotated{transform:rotate(20deg)}.eui-19 .eui-notification-item-content-top__date-icon-dot{position:absolute;top:0;right:0}.eui-19 .eui-notification-item-content-middle{display:flex;margin:var(--eui-s-3xs) 0}.eui-19 .eui-notification-item-content-middle__sub-label{margin-top:var(--eui-s-3xs)}.eui-19 .eui-notification-item-content-bottom{display:flex;justify-content:flex-end}\n"] }]
2241
+ }], propDecorators: { refreshClick: [{
2242
+ type: Output
2243
+ }], notificationsClick: [{
2244
+ type: Output
2245
+ }], viewAllClick: [{
2246
+ type: Output
2247
+ }], markAllAsReadClick: [{
2248
+ type: Output
2249
+ }], noNotificationFoundClick: [{
2250
+ type: Output
2251
+ }], itemClick: [{
2252
+ type: Output
2253
+ }], itemMarkAsReadClick: [{
2254
+ type: Output
2255
+ }], string: [{
2256
+ type: HostBinding,
2257
+ args: ['class']
2258
+ }], count: [{
2259
+ type: Input
2260
+ }], unreadCount: [{
2261
+ type: Input
2262
+ }], unreadSinceLastCheckCount: [{
2263
+ type: Input
2264
+ }], items: [{
2265
+ type: Input
2266
+ }], unreadLabel: [{
2267
+ type: Input
2268
+ }], totalLabel: [{
2269
+ type: Input
2270
+ }], markAsReadLabel: [{
2271
+ type: Input
2272
+ }], markAsUnReadLabel: [{
2273
+ type: Input
2274
+ }], markAllAsReadLabel: [{
2275
+ type: Input
2276
+ }], settingsLabel: [{
2277
+ type: Input
2278
+ }], refreshLabel: [{
2279
+ type: Input
2280
+ }], viewAllNotificationsLabel: [{
2281
+ type: Input
2282
+ }], headerTitleLabel: [{
2283
+ type: Input
2284
+ }], headerHideLabel: [{
2285
+ type: Input
2286
+ }], headerUnreadSinceLastCheckCountLabel: [{
2287
+ type: Input
2288
+ }], headerUnreadCountLabel: [{
2289
+ type: Input
2290
+ }], noNotificationFoundLabel: [{
2291
+ type: Input
2292
+ }], dateFormat: [{
2293
+ type: Input
2294
+ }], noNotificationFoundLink: [{
2295
+ type: Input,
2296
+ args: [{ transform: booleanAttribute }]
2297
+ }], isShowMarkAsRead: [{
2298
+ type: Input,
2299
+ args: [{ transform: booleanAttribute }]
2300
+ }], isShowViewAllAction: [{
2301
+ type: Input,
2302
+ args: [{ transform: booleanAttribute }]
2303
+ }], isHidePanelOnViewAllAction: [{
2304
+ type: Input,
2305
+ args: [{ transform: booleanAttribute }]
2306
+ }], isShowMarkAllAsReadButton: [{
2307
+ type: Input,
2308
+ args: [{ transform: booleanAttribute }]
2309
+ }], isShowSettingsButton: [{
2310
+ type: Input,
2311
+ args: [{ transform: booleanAttribute }]
2312
+ }], isShowRefreshButton: [{
2313
+ type: Input,
2314
+ args: [{ transform: booleanAttribute }]
2315
+ }] } });
8
2316
 
9
2317
  const EUI_LAYOUT = [
10
- ...EUI_APP,
11
- ...EUI_TOOLBAR,
12
- ...EUI_FOOTER,
13
- ...EUI_HEADER,
14
- ...EUI_SIDEBAR_TOGGLE,
15
- ...EUI_NOTIFICATIONS,
16
- ...EUI_NOTIFICATIONS_V2,
2318
+ EuiAppComponent,
2319
+ EuiAppBreadcrumbComponent,
2320
+ EuiAppFooterComponent,
2321
+ EuiAppHeaderComponent,
2322
+ EuiAppPageWrapperDirective,
2323
+ EuiAppSidebarBodyComponent,
2324
+ EuiAppSidebarComponent,
2325
+ EuiAppSidebarDrawerComponent,
2326
+ EuiAppSidebarFooterComponent,
2327
+ EuiAppSidebarHeaderComponent,
2328
+ EuiAppSidebarHeaderUserProfileComponent,
2329
+ EuiAppSidebarMenuComponent,
2330
+ EuiAppToolbarComponent,
2331
+ EuiAppTopMessageComponent,
2332
+ EuiFooterComponent,
2333
+ EuiHeaderAppComponent,
2334
+ EuiHeaderAppNameComponent,
2335
+ EuiHeaderAppNameLogoComponent,
2336
+ EuiHeaderAppSubtitleComponent,
2337
+ EuiHeaderComponent,
2338
+ EuiHeaderEnvironmentComponent,
2339
+ EuiHeaderLogoComponent,
2340
+ EuiHeaderRightContentComponent,
2341
+ EuiHeaderSearchComponent,
2342
+ EuiHeaderUserProfileComponent,
2343
+ EuiNotificationItemComponent,
2344
+ EuiNotificationsComponent,
2345
+ EuiNotificationItemV2Component,
2346
+ EuiNotificationsV2Component,
2347
+ EuiSidebarToggleComponent,
2348
+ EuiToolbarAppComponent,
2349
+ EuiToolbarCenterComponent,
2350
+ EuiToolbarComponent,
2351
+ EuiToolbarEnvironmentComponent,
2352
+ EuiToolbarItemComponent,
2353
+ EuiToolbarItemsComponent,
2354
+ EuiToolbarLogoComponent,
2355
+ EuiToolbarMegaMenuComponent,
2356
+ EuiToolbarNavbarComponent,
2357
+ EuiToolbarNavbarItemComponent,
2358
+ EuiToolbarSearchComponent,
2359
+ EuiToolbarSelectorComponent,
17
2360
  ];
18
2361
 
19
2362
  /**
20
2363
  * Generated bundle index. Do not edit.
21
2364
  */
22
2365
 
23
- export { EUI_LAYOUT };
2366
+ export { EUI_LAYOUT, EuiAppBreadcrumbComponent, EuiAppComponent, EuiAppFooterComponent, EuiAppHeaderComponent, EuiAppPageWrapperDirective, EuiAppSidebarBodyComponent, EuiAppSidebarComponent, EuiAppSidebarDrawerComponent, EuiAppSidebarFooterComponent, EuiAppSidebarHeaderComponent, EuiAppSidebarHeaderUserProfileComponent, EuiAppSidebarMenuComponent, EuiAppToolbarComponent, EuiAppTopMessageComponent, EuiFooterComponent, EuiHeaderAppComponent, EuiHeaderAppNameComponent, EuiHeaderAppNameLogoComponent, EuiHeaderAppSubtitleComponent, EuiHeaderComponent, EuiHeaderEnvironmentComponent, EuiHeaderLogoComponent, EuiHeaderRightContentComponent, EuiHeaderSearchComponent, EuiHeaderUserProfileComponent, EuiNotificationItemComponent, EuiNotificationItemV2Component, EuiNotificationsComponent, EuiNotificationsV2Component, EuiSidebarToggleComponent, EuiToolbarAppComponent, EuiToolbarCenterComponent, EuiToolbarComponent, EuiToolbarEnvironmentComponent, EuiToolbarItemComponent, EuiToolbarItemsComponent, EuiToolbarLogoComponent, EuiToolbarMegaMenuComponent, EuiToolbarNavbarComponent, EuiToolbarNavbarItemComponent, EuiToolbarSearchComponent, EuiToolbarSelectorComponent };
24
2367
  //# sourceMappingURL=eui-components-layout.mjs.map