@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,621 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Input, HostBinding, ViewEncapsulation, Component, booleanAttribute, inject, HostListener, ChangeDetectionStrategy, EventEmitter, ElementRef, forwardRef, ContentChildren, Output, ContentChild } from '@angular/core';
3
- import { Router, RouterLink, RouterLinkActive } from '@angular/router';
4
- import { EUI_CONFIG_TOKEN, EuiAppShellService } from '@eui/core';
5
- import { DOCUMENT, NgTemplateOutlet, KeyValuePipe, JsonPipe, AsyncPipe } from '@angular/common';
6
- import * as i1 from '@eui/components/eui-icon';
7
- import { EUI_ICON } from '@eui/components/eui-icon';
8
- import * as i2 from '@eui/components/eui-badge';
9
- import { EUI_BADGE } from '@eui/components/eui-badge';
10
- import { Subscription } from 'rxjs';
11
- import * as i3 from '@eui/components/eui-dropdown';
12
- import { EUI_DROPDOWN } from '@eui/components/eui-dropdown';
13
- import * as i1$1 from '@eui/components/eui-button';
14
- import { EUI_BUTTON } from '@eui/components/eui-button';
15
- import * as i4 from '@eui/components/eui-autocomplete';
16
- import { EUI_AUTOCOMPLETE } from '@eui/components/eui-autocomplete';
17
- import { EuiTemplateDirective } from '@eui/components/directives';
18
- import * as i5 from '@eui/components/eui-icon-input';
19
- import { EUI_ICON_INPUT } from '@eui/components/eui-icon-input';
20
- import * as i6 from '@eui/components/eui-input-text';
21
- import { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';
22
- import * as i7 from '@angular/forms';
23
- import { FormsModule } from '@angular/forms';
24
- import * as i3$1 from '@eui/components/eui-icon-button';
25
- import { EUI_ICON_BUTTON } from '@eui/components/eui-icon-button';
26
- import { EUI_USER_PROFILE } from '@eui/components/eui-user-profile';
27
-
28
- class EuiToolbarAppComponent {
29
- constructor() {
30
- this.class = 'eui-toolbar-app';
31
- }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarAppComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- 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 }); }
34
- }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarAppComponent, decorators: [{
36
- type: Component,
37
- 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" }]
38
- }], propDecorators: { class: [{
39
- type: HostBinding
40
- }], appName: [{
41
- type: Input
42
- }], appSubTitle: [{
43
- type: Input
44
- }] } });
45
-
46
- class EuiToolbarCenterComponent {
47
- constructor() {
48
- this.string = 'eui-toolbar__center';
49
- }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarCenterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
51
- 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 }); }
52
- }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarCenterComponent, decorators: [{
54
- type: Component,
55
- args: [{
56
- selector: 'eui-toolbar-center',
57
- template: '<ng-content />',
58
- }]
59
- }], propDecorators: { string: [{
60
- type: HostBinding,
61
- args: ['class']
62
- }] } });
63
-
64
- class EuiToolbarEnvironmentComponent {
65
- constructor() {
66
- this.class = 'eui-toolbar-environment';
67
- }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarEnvironmentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
69
- 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 }); }
70
- }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarEnvironmentComponent, decorators: [{
72
- type: Component,
73
- args: [{
74
- selector: 'eui-toolbar-environment',
75
- template: '<ng-content />',
76
- encapsulation: ViewEncapsulation.None,
77
- }]
78
- }], propDecorators: { class: [{
79
- type: HostBinding
80
- }] } });
81
-
82
- class EuiToolbarItemComponent {
83
- constructor() {
84
- this.string = 'eui-toolbar-item';
85
- }
86
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
87
- 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 }); }
88
- }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarItemComponent, decorators: [{
90
- type: Component,
91
- args: [{
92
- selector: 'eui-toolbar-item',
93
- template: '<ng-content />',
94
- }]
95
- }], propDecorators: { string: [{
96
- type: HostBinding,
97
- args: ['class']
98
- }] } });
99
-
100
- class EuiToolbarItemsComponent {
101
- constructor() {
102
- this.euiEnd = false;
103
- this.euiPositionRight = false;
104
- }
105
- get cssClasses() {
106
- const rootClass = 'eui-toolbar-items';
107
- return [
108
- rootClass,
109
- this.euiEnd ? `${rootClass}--position-right` : '',
110
- this.euiPositionRight ? `${rootClass}--position-right` : '',
111
- ].join(' ').trim();
112
- }
113
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarItemsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
114
- 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 }); }
115
- }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarItemsComponent, decorators: [{
117
- type: Component,
118
- args: [{
119
- selector: 'eui-toolbar-items',
120
- template: '<ng-content />',
121
- }]
122
- }], propDecorators: { cssClasses: [{
123
- type: HostBinding,
124
- args: ['class']
125
- }], euiEnd: [{
126
- type: Input,
127
- args: [{ transform: booleanAttribute }]
128
- }], euiPositionRight: [{
129
- type: Input,
130
- args: [{ transform: booleanAttribute }]
131
- }] } });
132
-
133
- class EuiToolbarLogoComponent {
134
- constructor() {
135
- this.class = 'eui-toolbar-logo';
136
- this.homeUrl = '..';
137
- this.logoHeight = '36px';
138
- this.logoWidth = '53px';
139
- this.router = inject(Router);
140
- this.config = inject(EUI_CONFIG_TOKEN, { optional: true });
141
- }
142
- onClick() {
143
- this.router.navigate([this.homeUrl]);
144
- }
145
- ngOnInit() {
146
- let assetsBaseUrl = this.config?.appConfig?.global?.eui?.assetsBaseUrl;
147
- if (!assetsBaseUrl) {
148
- assetsBaseUrl = 'assets';
149
- }
150
- if (!this.logoUrl) {
151
- this.logoUrlGenerated = `${assetsBaseUrl}/images/ec-europa/logos/europa-flag-small.png`;
152
- }
153
- else {
154
- this.logoUrlGenerated = this.logoUrl;
155
- }
156
- this.logoStyle = `width:${this.logoWidth}; height:${this.logoHeight};`;
157
- }
158
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
159
- 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 }); }
160
- }
161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarLogoComponent, decorators: [{
162
- type: Component,
163
- 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" }]
164
- }], propDecorators: { class: [{
165
- type: HostBinding
166
- }], homeUrl: [{
167
- type: Input
168
- }], logoUrl: [{
169
- type: Input
170
- }], logoHeight: [{
171
- type: Input
172
- }], logoWidth: [{
173
- type: Input
174
- }], onClick: [{
175
- type: HostListener,
176
- args: ['click']
177
- }] } });
178
-
179
- class EuiToolbarMegaMenuComponent {
180
- constructor() {
181
- this.string = 'eui-toolbar-mega-menu';
182
- this.role = 'nav';
183
- this.activeMenu = null;
184
- this.asService = inject(EuiAppShellService);
185
- this.document = inject(DOCUMENT);
186
- this.subs = new Subscription();
187
- }
188
- ngOnInit() {
189
- // console.log(this.items);
190
- this.asService.activateToolbarMegaMenu();
191
- this.megaMenuItems = this.filterMegaMenuItems(this.items);
192
- // console.log(this.megaMenuItems);
193
- // console.log(this.groupByColIdPerParent(this.megaMenuItems));
194
- this.megaMenuItemsGrouped = this.groupByColIdPerParent(this.megaMenuItems);
195
- // subscribe to state changes
196
- this.subs.add(this.asService.getState('menuLinks').subscribe((links) => (this.items = links)));
197
- }
198
- ngOnChanges(changes) {
199
- if (changes.items) {
200
- this.asService.setState({
201
- ...this.asService.state,
202
- menuLinks: changes.items.currentValue,
203
- });
204
- }
205
- }
206
- ngOnDestroy() {
207
- this.asService.setState({
208
- ...this.asService.state,
209
- hasToolbarMegaMenu: false,
210
- });
211
- this.document.documentElement.style.removeProperty('--eui-app-toolbar-mega-menu-height');
212
- }
213
- closeMenu() {
214
- this.activeMenu = null;
215
- }
216
- openMenu(menuIndex) {
217
- this.activeMenu = menuIndex;
218
- }
219
- groupByColIdPerParent(items) {
220
- const result = {};
221
- items.forEach((parent, index) => {
222
- const group = {};
223
- parent['children']?.forEach((child) => {
224
- const colId = child['megaMenuColIndex'] ?? 'eui-no-col-label';
225
- const colLabel = child['megaMenuColLabel'] ?? 'eui-no-label';
226
- if (!group[colId]) {
227
- group[colId] = {};
228
- }
229
- if (!group[colId][colLabel]) {
230
- group[colId][colLabel] = [];
231
- }
232
- group[colId][colLabel].push(child);
233
- });
234
- result[index] = group;
235
- });
236
- return result;
237
- }
238
- filterMegaMenuItems(items) {
239
- return items
240
- // .filter((item) => item['isMegaMenu'])
241
- .map((item) => {
242
- const newItem = { ...item };
243
- if (newItem['children']) {
244
- newItem['children'] = this.filterMegaMenuItems(newItem['children']);
245
- }
246
- return newItem;
247
- });
248
- }
249
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarMegaMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
250
- 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: i2.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 }); }
251
- }
252
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarMegaMenuComponent, decorators: [{
253
- type: Component,
254
- 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"] }]
255
- }], ctorParameters: () => [], propDecorators: { string: [{
256
- type: HostBinding,
257
- args: ['class']
258
- }], role: [{
259
- type: HostBinding,
260
- args: ['attr.role']
261
- }], items: [{
262
- type: Input
263
- }] } });
264
-
265
- class EuiToolbarNavbarComponent {
266
- constructor() {
267
- this.class = 'eui-toolbar-navbar';
268
- this.itemClick = new EventEmitter();
269
- this.asService = inject(EuiAppShellService);
270
- this.isDropdownView = false;
271
- this.elementRef = inject(ElementRef);
272
- }
273
- ngAfterContentInit() {
274
- this.baseItemSelected = this.items.filter((i) => i.isActive)[0];
275
- }
276
- ngAfterViewInit() {
277
- // if (!this.asService?.state?.hasHeader) {
278
- const parentWidth = this.elementRef.nativeElement.closest('eui-toolbar').clientWidth;
279
- const width = this.elementRef.nativeElement.clientWidth;
280
- if (width > parentWidth) {
281
- setTimeout(() => {
282
- this.isDropdownView = true;
283
- }, 1);
284
- }
285
- // }
286
- }
287
- itemSelected(id) {
288
- this.items.forEach((item) => {
289
- if (item.id === id) {
290
- item.isActive = true;
291
- }
292
- else {
293
- item.isActive = false;
294
- }
295
- });
296
- this.itemClick.emit(id);
297
- }
298
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
299
- 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.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.EuiDropdownItemComponent, selector: "eui-dropdown-item, [euiDropdownItem]", inputs: ["subDropdown", "isActive", "isFocus"] }, { kind: "directive", type: i3.EuiDropdownContentDirective, selector: "eui-dropdown-content" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
300
- }
301
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarNavbarComponent, decorators: [{
302
- type: Component,
303
- args: [{ selector: 'eui-toolbar-navbar', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, imports: [
304
- AsyncPipe,
305
- ...EUI_ICON,
306
- ...EUI_BUTTON,
307
- ...EUI_DROPDOWN,
308
- ], 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"] }]
309
- }], propDecorators: { class: [{
310
- type: HostBinding
311
- }], itemClick: [{
312
- type: Output
313
- }], items: [{
314
- type: ContentChildren,
315
- args: [forwardRef(() => EuiToolbarNavbarItemComponent)]
316
- }] } });
317
-
318
- class EuiToolbarNavbarItemComponent {
319
- get cssClasses() {
320
- return [
321
- 'eui-toolbar-navbar-item',
322
- this.isActive ? 'eui-toolbar-navbar-item--active' : '',
323
- ].join(' ').trim();
324
- }
325
- constructor() {
326
- this.tabindex = 0;
327
- this.isActive = false;
328
- const navBarComponent = inject(EuiToolbarNavbarComponent, { host: true, optional: true });
329
- this.navBarComponentParent = navBarComponent;
330
- }
331
- onClick() {
332
- this._click();
333
- }
334
- onKeydown(event) {
335
- switch (event.code) {
336
- case 'Enter':
337
- case 'Space':
338
- event.preventDefault();
339
- event.stopPropagation();
340
- this._click();
341
- break;
342
- }
343
- }
344
- _click() {
345
- this.navBarComponentParent.itemSelected(this.id);
346
- }
347
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarNavbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
348
- 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 }); }
349
- }
350
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarNavbarItemComponent, decorators: [{
351
- type: Component,
352
- args: [{
353
- selector: 'eui-toolbar-navbar-item',
354
- template: '{{ label }}',
355
- changeDetection: ChangeDetectionStrategy.OnPush,
356
- }]
357
- }], ctorParameters: () => [], propDecorators: { cssClasses: [{
358
- type: HostBinding,
359
- args: ['class']
360
- }], tabindex: [{
361
- type: HostBinding,
362
- args: ['attr.tabindex']
363
- }], id: [{
364
- type: Input
365
- }], label: [{
366
- type: Input
367
- }], isActive: [{
368
- type: Input,
369
- args: [{ transform: booleanAttribute }]
370
- }], onClick: [{
371
- type: HostListener,
372
- args: ['click']
373
- }], onKeydown: [{
374
- type: HostListener,
375
- args: ['keydown', ['$event']]
376
- }] } });
377
-
378
- class EuiToolbarSearchComponent {
379
- constructor() {
380
- this.isInputFocus = false;
381
- this.searchInput = '';
382
- this.panelWidth = '25vw';
383
- this.searchResults = [];
384
- this.isAutocomplete = false;
385
- this.isInputText = false;
386
- this.hasSearchButton = false;
387
- this.hasExpandAnimation = true;
388
- // eslint-disable-next-line @angular-eslint/no-output-native
389
- this.search = new EventEmitter();
390
- this.selectionChange = new EventEmitter();
391
- this.searchClick = new EventEmitter();
392
- this.inputFocus = new EventEmitter();
393
- this.inputBlur = new EventEmitter();
394
- this.asService = inject(EuiAppShellService);
395
- }
396
- get cssClasses() {
397
- return [
398
- 'eui-toolbar-search',
399
- this.isInputFocus ? 'eui-toolbar-search--focus' : '',
400
- !this.hasExpandAnimation ? 'eui-toolbar-search--no-animation' : '',
401
- ]
402
- .join(' ')
403
- .trim();
404
- }
405
- ngAfterContentInit() {
406
- if (this.isAutocomplete) {
407
- this.isInputText = false;
408
- }
409
- if (this.isInputText) {
410
- this.isAutocomplete = false;
411
- }
412
- if (!this.isInputText && !this.isAutocomplete) {
413
- this.isAutocomplete = true;
414
- }
415
- }
416
- ngAfterViewInit() {
417
- this.templates.forEach((item) => {
418
- if (item.getType() === 'resultItemTemplate') {
419
- this.resultItemTemplate = item.template;
420
- }
421
- });
422
- }
423
- onSelectionChange(items) {
424
- this.selectionChange.emit(items);
425
- }
426
- onInputFocus() {
427
- this.inputFocus.emit();
428
- this.isInputFocus = true;
429
- }
430
- onInputBlur() {
431
- if (!this.hasSearchButton || (this.hasSearchButton && this.searchInput === '')) {
432
- this.inputBlur.emit();
433
- this.isInputFocus = false;
434
- }
435
- }
436
- onSearch(e) {
437
- this.searchTerm = e;
438
- this.search.emit(e);
439
- }
440
- onSearchInput(e) {
441
- if (e.code === 'Enter' || e.code === 'NumpadEnter') {
442
- this.searchTerm = this.searchInput;
443
- this.search.emit(this.searchInput);
444
- }
445
- }
446
- onSearchClick(isIconOnly) {
447
- if (isIconOnly) {
448
- this.searchClick.emit(null);
449
- }
450
- else {
451
- this.isInputFocus = false;
452
- if (this.searchInput) {
453
- this.searchClick.emit(this.searchInput);
454
- }
455
- }
456
- }
457
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
458
- 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: i3$1.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 }); }
459
- }
460
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarSearchComponent, decorators: [{
461
- type: Component,
462
- args: [{ selector: 'eui-toolbar-search', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
463
- ...EUI_BUTTON,
464
- ...EUI_ICON,
465
- ...EUI_ICON_BUTTON,
466
- ...EUI_AUTOCOMPLETE,
467
- ...EUI_ICON_INPUT,
468
- ...EUI_INPUT_TEXT,
469
- EuiTemplateDirective,
470
- NgTemplateOutlet,
471
- FormsModule,
472
- AsyncPipe,
473
- ], 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"] }]
474
- }], propDecorators: { cssClasses: [{
475
- type: HostBinding,
476
- args: ['class']
477
- }], placeholderLabel: [{
478
- type: Input
479
- }], panelWidth: [{
480
- type: Input
481
- }], searchResults: [{
482
- type: Input
483
- }], isAutocomplete: [{
484
- type: Input,
485
- args: [{ transform: booleanAttribute }]
486
- }], isInputText: [{
487
- type: Input,
488
- args: [{ transform: booleanAttribute }]
489
- }], hasSearchButton: [{
490
- type: Input,
491
- args: [{ transform: booleanAttribute }]
492
- }], hasExpandAnimation: [{
493
- type: Input,
494
- args: [{ transform: booleanAttribute }]
495
- }], search: [{
496
- type: Output
497
- }], selectionChange: [{
498
- type: Output
499
- }], searchClick: [{
500
- type: Output
501
- }], inputFocus: [{
502
- type: Output
503
- }], inputBlur: [{
504
- type: Output
505
- }], templates: [{
506
- type: ContentChildren,
507
- args: [EuiTemplateDirective]
508
- }] } });
509
-
510
- class EuiToolbarSelectorComponent {
511
- constructor() {
512
- this.class = 'eui-toolbar-selector';
513
- this.euiDisabled = false;
514
- this.selectorClick = new EventEmitter();
515
- this.asService = inject(EuiAppShellService);
516
- }
517
- onClick() {
518
- this.selectorClick.emit(true);
519
- }
520
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
521
- 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: i3$1.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 }); }
522
- }
523
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarSelectorComponent, decorators: [{
524
- type: Component,
525
- args: [{ selector: 'eui-toolbar-selector', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
526
- AsyncPipe,
527
- ...EUI_BUTTON,
528
- ...EUI_ICON,
529
- ...EUI_ICON_BUTTON,
530
- ], 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"] }]
531
- }], propDecorators: { class: [{
532
- type: HostBinding
533
- }], label: [{
534
- type: Input
535
- }], iconSvgName: [{
536
- type: Input
537
- }], euiDisabled: [{
538
- type: Input,
539
- args: [{ transform: booleanAttribute }]
540
- }], selectorClick: [{
541
- type: Output
542
- }] } });
543
-
544
- class EuiToolbarComponent {
545
- constructor() {
546
- this.euiSecondary = false;
547
- this.euiPrimary = true;
548
- this.asService = inject(EuiAppShellService);
549
- this.elRef = inject(ElementRef);
550
- }
551
- get cssClasses() {
552
- return [
553
- 'eui-toolbar',
554
- this.euiSecondary ? 'eui-toolbar--secondary eui--secondary' : '',
555
- this.euiPrimary ? 'eui-toolbar--primary eui--primary' : '',
556
- ].join(' ').trim();
557
- }
558
- ngOnInit() {
559
- if (this.euiSecondary) {
560
- this.euiPrimary = false;
561
- }
562
- }
563
- ngAfterViewInit() {
564
- const appToolbar = this.elRef.nativeElement.closest('eui-app-toolbar');
565
- setTimeout(() => {
566
- if (appToolbar && appToolbar.classList.contains('eui--secondary')) {
567
- this.euiSecondary = true;
568
- this.euiPrimary = false;
569
- }
570
- }, 1);
571
- }
572
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
573
- 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 }); }
574
- }
575
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EuiToolbarComponent, decorators: [{
576
- type: Component,
577
- args: [{ selector: 'eui-toolbar', encapsulation: ViewEncapsulation.None, imports: [
578
- AsyncPipe,
579
- NgTemplateOutlet,
580
- EuiToolbarLogoComponent,
581
- EuiToolbarEnvironmentComponent,
582
- EuiToolbarAppComponent,
583
- EuiToolbarItemsComponent,
584
- EuiToolbarItemComponent,
585
- ...EUI_USER_PROFILE,
586
- ], 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"] }]
587
- }], propDecorators: { cssClasses: [{
588
- type: HostBinding,
589
- args: ['class']
590
- }], euiSecondary: [{
591
- type: Input,
592
- args: [{ transform: booleanAttribute }]
593
- }], euiPrimary: [{
594
- type: Input,
595
- args: [{ transform: booleanAttribute }]
596
- }], hasMegaMenu: [{
597
- type: ContentChild,
598
- args: [forwardRef(() => EuiToolbarMegaMenuComponent)]
599
- }] } });
600
-
601
- const EUI_TOOLBAR = [
602
- EuiToolbarComponent,
603
- EuiToolbarAppComponent,
604
- EuiToolbarEnvironmentComponent,
605
- EuiToolbarItemsComponent,
606
- EuiToolbarItemComponent,
607
- EuiToolbarCenterComponent,
608
- EuiToolbarLogoComponent,
609
- EuiToolbarSelectorComponent,
610
- EuiToolbarNavbarComponent,
611
- EuiToolbarNavbarItemComponent,
612
- EuiToolbarSearchComponent,
613
- EuiToolbarMegaMenuComponent,
614
- ];
615
-
616
- /**
617
- * Generated bundle index. Do not edit.
618
- */
619
-
620
- export { EUI_TOOLBAR, EuiToolbarAppComponent, EuiToolbarCenterComponent, EuiToolbarComponent, EuiToolbarEnvironmentComponent, EuiToolbarItemComponent, EuiToolbarItemsComponent, EuiToolbarLogoComponent, EuiToolbarMegaMenuComponent, EuiToolbarNavbarComponent, EuiToolbarNavbarItemComponent, EuiToolbarSearchComponent, EuiToolbarSelectorComponent };
621
- //# sourceMappingURL=eui-components-layout-eui-toolbar.mjs.map