@eui/eds 23.0.0-alpha.6 → 23.0.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/changelog.html +86 -0
- package/docs/classes/EdsChipModel.html +6 -6
- package/docs/classes/{EuiChipTooltip.html → EdsChipTooltip.html} +2 -2
- package/docs/components/EdsAlert.html +27 -226
- package/docs/components/EdsAlertTitle.html +2 -2
- package/docs/components/EdsAvatar.html +35 -108
- package/docs/components/EdsAvatarBadge.html +2 -2
- package/docs/components/EdsAvatarContent.html +2 -2
- package/docs/components/EdsAvatarContentLabel.html +2 -2
- package/docs/components/EdsAvatarContentSublabel.html +2 -2
- package/docs/components/EdsAvatarIcon.html +2 -2
- package/docs/components/EdsAvatarImage.html +2 -2
- package/docs/components/EdsAvatarList.html +2 -2
- package/docs/components/EdsAvatarText.html +2 -2
- package/docs/components/EdsBadge.html +41 -175
- package/docs/components/EdsButton.html +123 -123
- package/docs/components/EdsChip.html +135 -254
- package/docs/components/EdsIcon.html +93 -145
- package/docs/components/EdsIconButton.html +72 -86
- package/docs/components/EdsIconImage.html +5 -5
- package/docs/components/EdsIconState.html +47 -61
- package/docs/components/EdsLanguageSelector.html +870 -0
- package/docs/components/EdsMenu.html +631 -0
- package/docs/components/EdsMenuItemComponent.html +728 -0
- package/docs/components/EdsOverlay.html +804 -0
- package/docs/components/EdsOverlayContent.html +315 -0
- package/docs/components/EdsOverlayFooter.html +315 -0
- package/docs/components/EdsOverlayHeader.html +458 -0
- package/docs/components/EdsOverlayHeaderActionItems.html +315 -0
- package/docs/components/EdsOverlayHeaderLabel.html +315 -0
- package/docs/components/EdsOverlayHeaderSublabel.html +315 -0
- package/docs/components/EdsPage.html +315 -0
- package/docs/components/EdsPageContent.html +319 -0
- package/docs/components/EdsPageFooter.html +387 -0
- package/docs/components/EdsPageHeader.html +673 -0
- package/docs/components/EdsPageHeaderActionItems.html +315 -0
- package/docs/components/EdsPageHeaderBody.html +315 -0
- package/docs/components/EdsPageHeaderLabel.html +315 -0
- package/docs/components/EdsPageHeaderSublabel.html +315 -0
- package/docs/components/EdsShell.html +1078 -0
- package/docs/components/EdsShellContent.html +315 -0
- package/docs/components/EdsShellFooter.html +383 -0
- package/docs/components/EdsShellHeader.html +383 -0
- package/docs/components/EdsShellHeaderApp.html +443 -0
- package/docs/components/EdsShellHeaderEnd.html +311 -0
- package/docs/components/EdsShellHeaderEnvironment.html +315 -0
- package/docs/components/EdsShellHeaderLogo.html +561 -0
- package/docs/components/EdsShellHeaderStart.html +311 -0
- package/docs/components/EdsShellMenuToggle.html +458 -0
- package/docs/components/EdsShellSidebar.html +413 -0
- package/docs/components/EdsShellSidebarBottomNav.html +624 -0
- package/docs/components/EdsShellSidebarFooter.html +315 -0
- package/docs/components/EdsShellSidebarHeader.html +508 -0
- package/docs/components/EdsShellSidebarNav.html +624 -0
- package/docs/components/EdsShellToolbar.html +315 -0
- package/docs/components/EdsShellToolbarApp.html +443 -0
- package/docs/components/EdsShellToolbarEnd.html +315 -0
- package/docs/components/EdsShellToolbarEnvironment.html +315 -0
- package/docs/components/EdsShellToolbarLogo.html +315 -0
- package/docs/components/EdsShellToolbarStart.html +315 -0
- package/docs/components/EdsShellTopMessage.html +574 -0
- package/docs/components/EdsTab.html +6 -10
- package/docs/components/EdsTabBody.html +6 -10
- package/docs/components/EdsTabHeader.html +6 -10
- package/docs/components/EdsTabHeaderLabel.html +2 -2
- package/docs/components/EdsTabHeaderLeftContent.html +2 -2
- package/docs/components/EdsTabHeaderRightContent.html +2 -2
- package/docs/components/EdsTabHeaderSublabel.html +2 -2
- package/docs/components/EdsTabs.html +61 -126
- package/docs/components/EdsTabsRightContent.html +2 -2
- package/docs/components/EdsTag.html +82 -182
- package/docs/components/EdsTooltipContainer.html +2 -2
- package/docs/components/EdsUserProfile.html +1336 -0
- package/docs/components/EdsUserProfileMenu.html +315 -0
- package/docs/components/EdsUserProfileMenuItem.html +511 -0
- package/docs/directives/{EuiBaseColorVariantsDirective.html → EdsBaseColorVariantsDirective.html} +174 -91
- package/docs/directives/{EuiBaseSizeVariantsDirective.html → EdsBaseSizeVariantsDirective.html} +107 -107
- package/docs/directives/EdsResizable.html +586 -0
- package/docs/directives/EdsTooltip.html +21 -21
- package/docs/interfaces/EdsLanguage.html +368 -0
- package/docs/interfaces/EdsMenuItem.html +731 -0
- package/docs/js/menu-wc.js +146 -5
- package/docs/js/search/search_index.js +2 -2
- package/docs/json/EdsAlert.md +7 -7
- package/docs/json/EdsAvatar.md +8 -7
- package/docs/json/EdsBadge.md +14 -14
- package/docs/json/EdsBaseColorVariantsDirective.md +22 -0
- package/docs/json/EdsBaseSizeVariantsDirective.md +23 -0
- package/docs/json/EdsButton.md +21 -21
- package/docs/json/EdsChip.md +15 -14
- package/docs/json/EdsIcon.md +23 -23
- package/docs/json/EdsIconButton.md +18 -17
- package/docs/json/EdsIconImage.md +10 -10
- package/docs/json/EdsIconState.md +12 -12
- package/docs/json/EdsLanguageSelector.md +16 -0
- package/docs/json/EdsMenu.md +17 -0
- package/docs/json/EdsMenuItemComponent.md +18 -0
- package/docs/json/EdsOverlay.md +19 -0
- package/docs/json/EdsOverlayContent.md +8 -0
- package/docs/json/EdsOverlayFooter.md +8 -0
- package/docs/json/EdsOverlayHeader.md +11 -0
- package/docs/json/EdsOverlayHeaderActionItems.md +8 -0
- package/docs/json/EdsOverlayHeaderLabel.md +8 -0
- package/docs/json/EdsOverlayHeaderSublabel.md +8 -0
- package/docs/json/EdsPage.md +8 -0
- package/docs/json/EdsPageContent.md +8 -0
- package/docs/json/EdsPageFooter.md +11 -0
- package/docs/json/EdsPageHeader.md +18 -0
- package/docs/json/EdsPageHeaderActionItems.md +8 -0
- package/docs/json/EdsPageHeaderBody.md +8 -0
- package/docs/json/EdsPageHeaderLabel.md +8 -0
- package/docs/json/EdsPageHeaderSublabel.md +8 -0
- package/docs/json/EdsResizable.md +24 -0
- package/docs/json/EdsShell.md +14 -0
- package/docs/json/EdsShellContent.md +8 -0
- package/docs/json/EdsShellFooter.md +11 -0
- package/docs/json/EdsShellHeader.md +11 -0
- package/docs/json/EdsShellHeaderApp.md +13 -0
- package/docs/json/EdsShellHeaderEnd.md +8 -0
- package/docs/json/EdsShellHeaderEnvironment.md +8 -0
- package/docs/json/EdsShellHeaderLogo.md +15 -0
- package/docs/json/EdsShellHeaderStart.md +8 -0
- package/docs/json/EdsShellMenuToggle.md +11 -0
- package/docs/json/EdsShellSidebar.md +12 -0
- package/docs/json/EdsShellSidebarBottomNav.md +17 -0
- package/docs/json/EdsShellSidebarFooter.md +8 -0
- package/docs/json/EdsShellSidebarHeader.md +15 -0
- package/docs/json/EdsShellSidebarNav.md +17 -0
- package/docs/json/EdsShellToolbar.md +8 -0
- package/docs/json/EdsShellToolbarApp.md +13 -0
- package/docs/json/EdsShellToolbarEnd.md +8 -0
- package/docs/json/EdsShellToolbarEnvironment.md +8 -0
- package/docs/json/EdsShellToolbarLogo.md +8 -0
- package/docs/json/EdsShellToolbarStart.md +8 -0
- package/docs/json/EdsShellTopMessage.md +19 -0
- package/docs/json/EdsTabs.md +4 -4
- package/docs/json/EdsTag.md +14 -13
- package/docs/json/EdsTooltip.md +7 -7
- package/docs/json/EdsUserProfile.md +21 -0
- package/docs/json/EdsUserProfileMenu.md +8 -0
- package/docs/json/EdsUserProfileMenuItem.md +8 -0
- package/docs/json/documentation.json +9649 -5338
- package/docs/llms.txt +641 -123
- package/docs/miscellaneous/typealiases.html +309 -0
- package/docs/miscellaneous/variables.html +342 -0
- package/docs/overview.html +3 -3
- package/docs/properties.html +1 -1
- package/eds-language-selector/package.json +4 -0
- package/eds-menu/package.json +4 -0
- package/eds-overlay/package.json +4 -0
- package/eds-page/package.json +4 -0
- package/eds-resizable/package.json +4 -0
- package/eds-shell/package.json +4 -0
- package/eds-user-profile/package.json +4 -0
- package/fesm2022/eui-eds-eds-alert.mjs +33 -61
- package/fesm2022/eui-eds-eds-alert.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-avatar.mjs +29 -43
- package/fesm2022/eui-eds-eds-avatar.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-badge.mjs +65 -89
- package/fesm2022/eui-eds-eds-badge.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-button.mjs +70 -99
- package/fesm2022/eui-eds-eds-button.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-chip.mjs +118 -111
- package/fesm2022/eui-eds-eds-chip.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-icon-button.mjs +49 -55
- package/fesm2022/eui-eds-eds-icon-button.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-icon-state.mjs +38 -34
- package/fesm2022/eui-eds-eds-icon-state.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-icon.mjs +92 -107
- package/fesm2022/eui-eds-eds-icon.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-language-selector.mjs +67 -0
- package/fesm2022/eui-eds-eds-language-selector.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-menu.mjs +90 -0
- package/fesm2022/eui-eds-eds-menu.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-overlay.mjs +141 -0
- package/fesm2022/eui-eds-eds-overlay.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-page.mjs +129 -0
- package/fesm2022/eui-eds-eds-page.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-resizable.mjs +193 -0
- package/fesm2022/eui-eds-eds-resizable.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-shell.mjs +481 -0
- package/fesm2022/eui-eds-eds-shell.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-tabs.mjs +71 -101
- package/fesm2022/eui-eds-eds-tabs.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-tag.mjs +74 -77
- package/fesm2022/eui-eds-eds-tag.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-tooltip.mjs +23 -23
- package/fesm2022/eui-eds-eds-tooltip.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-user-profile.mjs +231 -0
- package/fesm2022/eui-eds-eds-user-profile.mjs.map +1 -0
- package/fesm2022/eui-eds-shared.mjs +255 -243
- package/fesm2022/eui-eds-shared.mjs.map +1 -1
- package/package.json +29 -1
- package/types/eui-eds-eds-alert.d.ts +7 -29
- package/types/eui-eds-eds-alert.d.ts.map +1 -1
- package/types/eui-eds-eds-avatar.d.ts +11 -12
- package/types/eui-eds-eds-avatar.d.ts.map +1 -1
- package/types/eui-eds-eds-badge.d.ts +15 -20
- package/types/eui-eds-eds-badge.d.ts.map +1 -1
- package/types/eui-eds-eds-button.d.ts +22 -30
- package/types/eui-eds-eds-button.d.ts.map +1 -1
- package/types/eui-eds-eds-chip.d.ts +36 -36
- package/types/eui-eds-eds-chip.d.ts.map +1 -1
- package/types/eui-eds-eds-icon-button.d.ts +13 -16
- package/types/eui-eds-eds-icon-button.d.ts.map +1 -1
- package/types/eui-eds-eds-icon-state.d.ts +8 -8
- package/types/eui-eds-eds-icon-state.d.ts.map +1 -1
- package/types/eui-eds-eds-icon.d.ts +22 -29
- package/types/eui-eds-eds-icon.d.ts.map +1 -1
- package/types/eui-eds-eds-language-selector.d.ts +34 -0
- package/types/eui-eds-eds-language-selector.d.ts.map +1 -0
- package/types/eui-eds-eds-menu.d.ts +65 -0
- package/types/eui-eds-eds-menu.d.ts.map +1 -0
- package/types/eui-eds-eds-overlay.d.ts +64 -0
- package/types/eui-eds-eds-overlay.d.ts.map +1 -0
- package/types/eui-eds-eds-page.d.ts +63 -0
- package/types/eui-eds-eds-page.d.ts.map +1 -0
- package/types/eui-eds-eds-resizable.d.ts +49 -0
- package/types/eui-eds-eds-resizable.d.ts.map +1 -0
- package/types/eui-eds-eds-shell.d.ts +229 -0
- package/types/eui-eds-eds-shell.d.ts.map +1 -0
- package/types/eui-eds-eds-tabs.d.ts +32 -30
- package/types/eui-eds-eds-tabs.d.ts.map +1 -1
- package/types/eui-eds-eds-tag.d.ts +22 -25
- package/types/eui-eds-eds-tag.d.ts.map +1 -1
- package/types/eui-eds-eds-tooltip.d.ts +16 -16
- package/types/eui-eds-eds-user-profile.d.ts +78 -0
- package/types/eui-eds-eds-user-profile.d.ts.map +1 -0
- package/types/eui-eds-shared.d.ts +82 -79
- package/types/eui-eds-shared.d.ts.map +1 -1
- package/docs/json/EuiBaseColorVariantsDirective.md +0 -21
- package/docs/json/EuiBaseSizeVariantsDirective.md +0 -23
|
@@ -0,0 +1,481 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, Component, inject, DOCUMENT, output, signal, contentChild, computed, HostListener } from '@angular/core';
|
|
3
|
+
import { EdsMenu } from '@eui/eds/eds-menu';
|
|
4
|
+
import * as i1 from '@eui/eds/eds-icon-button';
|
|
5
|
+
import { EDS_ICON_BUTTON } from '@eui/eds/eds-icon-button';
|
|
6
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
7
|
+
import * as i1$1 from '@eui/eds/shared';
|
|
8
|
+
import { EdsBaseColorVariantsDirective } from '@eui/eds/shared';
|
|
9
|
+
|
|
10
|
+
class EdsShellSidebar {
|
|
11
|
+
constructor() {
|
|
12
|
+
/** Width of the sidebar (CSS value). */
|
|
13
|
+
this.width = input('260px', /* @ts-ignore */
|
|
14
|
+
...(ngDevMode ? [{ debugName: "width" }] : /* istanbul ignore next */ []));
|
|
15
|
+
/** Collapse mode: 'hidden' fully hides, 'icons' shows icon rail, 'icons-labels' shows icons + labels. */
|
|
16
|
+
this.collapseMode = input('hidden', /* @ts-ignore */
|
|
17
|
+
...(ngDevMode ? [{ debugName: "collapseMode" }] : /* istanbul ignore next */ []));
|
|
18
|
+
}
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellSidebar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: EdsShellSidebar, isStandalone: true, selector: "eds-shell-sidebar", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, collapseMode: { classPropertyName: "collapseMode", publicName: "collapseMode", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-content select=\"eds-shell-sidebar-header\"></ng-content>\n<ng-content select=\"eds-shell-sidebar-nav\"></ng-content>\n<ng-content select=\"eds-shell-sidebar-bottom-nav\"></ng-content>\n<ng-content select=\"eds-shell-sidebar-footer\"></ng-content>\n", styles: [".eui-21 :host{display:contents}\n"] }); }
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellSidebar, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{ selector: 'eds-shell-sidebar', template: "<ng-content select=\"eds-shell-sidebar-header\"></ng-content>\n<ng-content select=\"eds-shell-sidebar-nav\"></ng-content>\n<ng-content select=\"eds-shell-sidebar-bottom-nav\"></ng-content>\n<ng-content select=\"eds-shell-sidebar-footer\"></ng-content>\n", styles: [".eui-21 :host{display:contents}\n"] }]
|
|
25
|
+
}], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], collapseMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapseMode", required: false }] }] } });
|
|
26
|
+
|
|
27
|
+
const BREAKPOINT = 1024;
|
|
28
|
+
class EdsShell {
|
|
29
|
+
constructor() {
|
|
30
|
+
this.document = inject(DOCUMENT);
|
|
31
|
+
/** Whether the sidebar starts open on desktop. */
|
|
32
|
+
this.sidebarOpen = input(true, /* @ts-ignore */
|
|
33
|
+
...(ngDevMode ? [{ debugName: "sidebarOpen" }] : /* istanbul ignore next */ []));
|
|
34
|
+
/** Emits when sidebar open state changes. */
|
|
35
|
+
this.sidebarOpenChange = output();
|
|
36
|
+
/** Internal open state signal. */
|
|
37
|
+
this.isOpen = signal(window.innerWidth > BREAKPOINT, /* @ts-ignore */
|
|
38
|
+
...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
|
|
39
|
+
/** Whether we're in overlay mode (tablet/mobile). */
|
|
40
|
+
this.isOverlay = signal(window.innerWidth <= BREAKPOINT, /* @ts-ignore */
|
|
41
|
+
...(ngDevMode ? [{ debugName: "isOverlay" }] : /* istanbul ignore next */ []));
|
|
42
|
+
/** Whether the header is hidden due to scroll. */
|
|
43
|
+
this.isHeaderHidden = signal(false, /* @ts-ignore */
|
|
44
|
+
...(ngDevMode ? [{ debugName: "isHeaderHidden" }] : /* istanbul ignore next */ []));
|
|
45
|
+
/** Reference to the projected sidebar to read its collapseMode. */
|
|
46
|
+
this.sidebarChild = contentChild(EdsShellSidebar, /* @ts-ignore */
|
|
47
|
+
...(ngDevMode ? [{ debugName: "sidebarChild" }] : /* istanbul ignore next */ []));
|
|
48
|
+
/** Whether a sidebar is projected. */
|
|
49
|
+
this.hasSidebar = computed(() => !!this.sidebarChild(), /* @ts-ignore */
|
|
50
|
+
...(ngDevMode ? [{ debugName: "hasSidebar" }] : /* istanbul ignore next */ []));
|
|
51
|
+
this.lastScrollTop = 0;
|
|
52
|
+
this.collapseMode = computed(() => this.sidebarChild()?.collapseMode() ?? 'hidden', /* @ts-ignore */
|
|
53
|
+
...(ngDevMode ? [{ debugName: "collapseMode" }] : /* istanbul ignore next */ []));
|
|
54
|
+
this.sidebarClasses = computed(() => {
|
|
55
|
+
const overlay = this.isOverlay();
|
|
56
|
+
const open = this.isOpen();
|
|
57
|
+
const mode = this.collapseMode();
|
|
58
|
+
if (overlay) {
|
|
59
|
+
return { open, collapsed: false, collapsedIcons: false, collapsedIconsLabels: false };
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
open: false,
|
|
63
|
+
collapsed: !open && mode === 'hidden',
|
|
64
|
+
collapsedIcons: !open && mode === 'icons',
|
|
65
|
+
collapsedIconsLabels: !open && mode === 'icons-labels',
|
|
66
|
+
};
|
|
67
|
+
}, /* @ts-ignore */
|
|
68
|
+
...(ngDevMode ? [{ debugName: "sidebarClasses" }] : /* istanbul ignore next */ []));
|
|
69
|
+
/** Whether the sidebar nav should render in collapsed/icon-only mode. */
|
|
70
|
+
this.isSidebarCollapsed = computed(() => !this.isOpen() && !this.isOverlay(), /* @ts-ignore */
|
|
71
|
+
...(ngDevMode ? [{ debugName: "isSidebarCollapsed" }] : /* istanbul ignore next */ []));
|
|
72
|
+
/** Whether collapsed mode should show labels under icons. */
|
|
73
|
+
this.isSidebarCollapsedWithLabels = computed(() => !this.isOpen() && !this.isOverlay() && this.collapseMode() === 'icons-labels', /* @ts-ignore */
|
|
74
|
+
...(ngDevMode ? [{ debugName: "isSidebarCollapsedWithLabels" }] : /* istanbul ignore next */ []));
|
|
75
|
+
}
|
|
76
|
+
ngOnInit() {
|
|
77
|
+
this.document.documentElement.classList.add('eui-21');
|
|
78
|
+
}
|
|
79
|
+
ngOnDestroy() {
|
|
80
|
+
this.document.documentElement.classList.remove('eui-21');
|
|
81
|
+
}
|
|
82
|
+
onScroll(event) {
|
|
83
|
+
if (this.isOverlay())
|
|
84
|
+
return;
|
|
85
|
+
const el = event.target;
|
|
86
|
+
const scrollTop = el.scrollTop;
|
|
87
|
+
if (scrollTop > 100) {
|
|
88
|
+
this.isHeaderHidden.set(true);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
this.isHeaderHidden.set(false);
|
|
92
|
+
}
|
|
93
|
+
this.lastScrollTop = scrollTop;
|
|
94
|
+
}
|
|
95
|
+
onResize() {
|
|
96
|
+
const isDesktop = window.innerWidth > BREAKPOINT;
|
|
97
|
+
this.isOverlay.set(!isDesktop);
|
|
98
|
+
if (isDesktop) {
|
|
99
|
+
this.isOpen.set(true);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
this.isOpen.set(false);
|
|
103
|
+
this.isHeaderHidden.set(false);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
onKeydown(event) {
|
|
107
|
+
if (event.key === 'Escape' && this.isOpen() && this.isOverlay()) {
|
|
108
|
+
this.toggleSidebar();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
toggleSidebar() {
|
|
112
|
+
this.isOpen.update(v => !v);
|
|
113
|
+
this.sidebarOpenChange.emit(this.isOpen());
|
|
114
|
+
}
|
|
115
|
+
closeSidebar() {
|
|
116
|
+
if (this.isOverlay()) {
|
|
117
|
+
this.isOpen.set(false);
|
|
118
|
+
this.sidebarOpenChange.emit(false);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShell, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
122
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EdsShell, isStandalone: true, selector: "eds-shell", inputs: { sidebarOpen: { classPropertyName: "sidebarOpen", publicName: "sidebarOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sidebarOpenChange: "sidebarOpenChange" }, host: { listeners: { "window:resize": "onResize()", "window:keydown": "onKeydown($event)" } }, queries: [{ propertyName: "sidebarChild", first: true, predicate: EdsShellSidebar, descendants: true, isSignal: true }], ngImport: i0, template: "<!-- Top message slot (above header/toolbar) -->\n<ng-content select=\"eds-shell-top-message\"></ng-content>\n\n<!-- Header slot (branding bar \u2014 collapses on scroll) -->\n<div class=\"header-wrapper\" [class.header-hidden]=\"isHeaderHidden()\">\n <ng-content select=\"eds-shell-header\"></ng-content>\n</div>\n\n<!-- Toolbar slot (navigation bar) -->\n<ng-content select=\"eds-shell-toolbar\"></ng-content>\n\n<!-- Content area: sidebar + main + footer -->\n<div class=\"content-area\">\n <!-- Sidebar slot (only rendered if eds-shell-sidebar is projected) -->\n @if (hasSidebar()) {\n <!-- Overlay backdrop for tablet/mobile -->\n @if (isOverlay()) {\n <div\n class=\"sidebar-overlay\"\n [class.visible]=\"isOpen()\"\n (click)=\"closeSidebar()\">\n </div>\n }\n\n <aside\n class=\"sidebar\"\n [class.collapsed]=\"sidebarClasses().collapsed\"\n [class.collapsed-icons]=\"sidebarClasses().collapsedIcons\"\n [class.collapsed-icons-labels]=\"sidebarClasses().collapsedIconsLabels\"\n [class.open]=\"sidebarClasses().open\"\n [class.overlay-mode]=\"isOverlay()\">\n <ng-content select=\"eds-shell-sidebar\"></ng-content>\n </aside>\n }\n\n <!-- Main content + footer wrapper (scrollable) -->\n <div class=\"main-area\" (scroll)=\"onScroll($event)\">\n <ng-content select=\"eds-shell-content\"></ng-content>\n <ng-content select=\"eds-shell-footer\"></ng-content>\n </div>\n</div>\n", styles: [".eui-21 :host{display:flex;flex-direction:column;height:100vh;overflow:hidden;max-width:100vw}.eui-21 :host .header-wrapper{transition:margin-top .3s ease;margin-top:0;flex-shrink:0}.eui-21 :host .header-wrapper.header-hidden{margin-top:var(--header-negative-height, -64px)}.eui-21 :host .content-area{display:flex;flex:1;overflow:hidden;position:relative}.eui-21 :host .sidebar{width:260px;min-width:260px;height:100%;display:flex;flex-direction:column;background:var(--eds-c-surface-elevation);border-right:var(--eds-bw-xs) solid var(--eds-c-border-divider);transition:width .3s ease,min-width .3s ease,transform .3s ease;overflow:hidden;flex-shrink:0;max-width:260px}.eui-21 :host .sidebar.collapsed{width:0;min-width:0;border-right:none}.eui-21 :host .sidebar.collapsed-icons{width:56px;min-width:56px}.eui-21 :host .sidebar.collapsed-icons-labels{width:80px;min-width:80px}.eui-21 :host .sidebar.overlay-mode{position:absolute;top:0;left:0;z-index:100;box-shadow:var(--eds-sh-3);transform:translate(-100%)}.eui-21 :host .sidebar.overlay-mode.open{transform:translate(0);border-right:var(--eds-bw-xs) solid var(--eds-c-border-divider)}.eui-21 :host .sidebar-overlay{display:block;position:absolute;inset:0;z-index:99;background:var(--eds-c-alpha-backdrop);opacity:var(--eds-op-none);transition:opacity .3s ease;pointer-events:none}.eui-21 :host .sidebar-overlay.visible{opacity:var(--eds-op-100);pointer-events:auto}.eui-21 :host .main-area{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;min-width:0}@media screen and (min-width:768px)and (max-width:1139px){.eui-21 :host .sidebar.overlay-mode{width:50%;min-width:50%}}@media screen and (max-width:767px){.eui-21 :host .sidebar.overlay-mode{width:85%;min-width:85%}}\n"] }); }
|
|
123
|
+
}
|
|
124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShell, decorators: [{
|
|
125
|
+
type: Component,
|
|
126
|
+
args: [{ selector: 'eds-shell', template: "<!-- Top message slot (above header/toolbar) -->\n<ng-content select=\"eds-shell-top-message\"></ng-content>\n\n<!-- Header slot (branding bar \u2014 collapses on scroll) -->\n<div class=\"header-wrapper\" [class.header-hidden]=\"isHeaderHidden()\">\n <ng-content select=\"eds-shell-header\"></ng-content>\n</div>\n\n<!-- Toolbar slot (navigation bar) -->\n<ng-content select=\"eds-shell-toolbar\"></ng-content>\n\n<!-- Content area: sidebar + main + footer -->\n<div class=\"content-area\">\n <!-- Sidebar slot (only rendered if eds-shell-sidebar is projected) -->\n @if (hasSidebar()) {\n <!-- Overlay backdrop for tablet/mobile -->\n @if (isOverlay()) {\n <div\n class=\"sidebar-overlay\"\n [class.visible]=\"isOpen()\"\n (click)=\"closeSidebar()\">\n </div>\n }\n\n <aside\n class=\"sidebar\"\n [class.collapsed]=\"sidebarClasses().collapsed\"\n [class.collapsed-icons]=\"sidebarClasses().collapsedIcons\"\n [class.collapsed-icons-labels]=\"sidebarClasses().collapsedIconsLabels\"\n [class.open]=\"sidebarClasses().open\"\n [class.overlay-mode]=\"isOverlay()\">\n <ng-content select=\"eds-shell-sidebar\"></ng-content>\n </aside>\n }\n\n <!-- Main content + footer wrapper (scrollable) -->\n <div class=\"main-area\" (scroll)=\"onScroll($event)\">\n <ng-content select=\"eds-shell-content\"></ng-content>\n <ng-content select=\"eds-shell-footer\"></ng-content>\n </div>\n</div>\n", styles: [".eui-21 :host{display:flex;flex-direction:column;height:100vh;overflow:hidden;max-width:100vw}.eui-21 :host .header-wrapper{transition:margin-top .3s ease;margin-top:0;flex-shrink:0}.eui-21 :host .header-wrapper.header-hidden{margin-top:var(--header-negative-height, -64px)}.eui-21 :host .content-area{display:flex;flex:1;overflow:hidden;position:relative}.eui-21 :host .sidebar{width:260px;min-width:260px;height:100%;display:flex;flex-direction:column;background:var(--eds-c-surface-elevation);border-right:var(--eds-bw-xs) solid var(--eds-c-border-divider);transition:width .3s ease,min-width .3s ease,transform .3s ease;overflow:hidden;flex-shrink:0;max-width:260px}.eui-21 :host .sidebar.collapsed{width:0;min-width:0;border-right:none}.eui-21 :host .sidebar.collapsed-icons{width:56px;min-width:56px}.eui-21 :host .sidebar.collapsed-icons-labels{width:80px;min-width:80px}.eui-21 :host .sidebar.overlay-mode{position:absolute;top:0;left:0;z-index:100;box-shadow:var(--eds-sh-3);transform:translate(-100%)}.eui-21 :host .sidebar.overlay-mode.open{transform:translate(0);border-right:var(--eds-bw-xs) solid var(--eds-c-border-divider)}.eui-21 :host .sidebar-overlay{display:block;position:absolute;inset:0;z-index:99;background:var(--eds-c-alpha-backdrop);opacity:var(--eds-op-none);transition:opacity .3s ease;pointer-events:none}.eui-21 :host .sidebar-overlay.visible{opacity:var(--eds-op-100);pointer-events:auto}.eui-21 :host .main-area{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;min-width:0}@media screen and (min-width:768px)and (max-width:1139px){.eui-21 :host .sidebar.overlay-mode{width:50%;min-width:50%}}@media screen and (max-width:767px){.eui-21 :host .sidebar.overlay-mode{width:85%;min-width:85%}}\n"] }]
|
|
127
|
+
}], propDecorators: { sidebarOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "sidebarOpen", required: false }] }], sidebarOpenChange: [{ type: i0.Output, args: ["sidebarOpenChange"] }], sidebarChild: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EdsShellSidebar), { isSignal: true }] }], onResize: [{
|
|
128
|
+
type: HostListener,
|
|
129
|
+
args: ['window:resize']
|
|
130
|
+
}], onKeydown: [{
|
|
131
|
+
type: HostListener,
|
|
132
|
+
args: ['window:keydown', ['$event']]
|
|
133
|
+
}] } });
|
|
134
|
+
|
|
135
|
+
class EdsShellHeader {
|
|
136
|
+
constructor() {
|
|
137
|
+
/** Whether the header shrinks on scroll. */
|
|
138
|
+
this.isShrinkOnScroll = input(false, /* @ts-ignore */
|
|
139
|
+
...(ngDevMode ? [{ debugName: "isShrinkOnScroll" }] : /* istanbul ignore next */ []));
|
|
140
|
+
}
|
|
141
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellHeader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
142
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: EdsShellHeader, isStandalone: true, selector: "eds-shell-header", inputs: { isShrinkOnScroll: { classPropertyName: "isShrinkOnScroll", publicName: "isShrinkOnScroll", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"logo-wrapper\">\n <ng-content select=\"eds-shell-header-logo\"></ng-content>\n <ng-content select=\"eds-shell-header-environment\"></ng-content>\n</div>\n<ng-content select=\"eds-shell-header-app\"></ng-content>\n<ng-content select=\"eds-shell-header-start\"></ng-content>\n<div class=\"spacer\"></div>\n<ng-content select=\"eds-shell-header-end\"></ng-content>\n<ng-content></ng-content>\n", styles: [".eui-21 :host{display:flex;align-items:center;gap:var(--eds-sp-m);height:var(--eds-si-9xl);padding:0 var(--eds-sp-xl);background:var(--eds-c-surface-elevation);border-bottom:var(--eds-bw-xs) solid var(--eds-c-border-divider);flex-shrink:0}.eui-21 :host .logo-wrapper{position:relative;overflow:hidden;display:flex;align-items:center}.eui-21 :host .spacer{flex:1}@media screen and (min-width:768px)and (max-width:1139px){.eui-21 :host{display:none}}@media screen and (max-width:767px){.eui-21 :host{display:none}}\n"] }); }
|
|
143
|
+
}
|
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellHeader, decorators: [{
|
|
145
|
+
type: Component,
|
|
146
|
+
args: [{ selector: 'eds-shell-header', template: "<div class=\"logo-wrapper\">\n <ng-content select=\"eds-shell-header-logo\"></ng-content>\n <ng-content select=\"eds-shell-header-environment\"></ng-content>\n</div>\n<ng-content select=\"eds-shell-header-app\"></ng-content>\n<ng-content select=\"eds-shell-header-start\"></ng-content>\n<div class=\"spacer\"></div>\n<ng-content select=\"eds-shell-header-end\"></ng-content>\n<ng-content></ng-content>\n", styles: [".eui-21 :host{display:flex;align-items:center;gap:var(--eds-sp-m);height:var(--eds-si-9xl);padding:0 var(--eds-sp-xl);background:var(--eds-c-surface-elevation);border-bottom:var(--eds-bw-xs) solid var(--eds-c-border-divider);flex-shrink:0}.eui-21 :host .logo-wrapper{position:relative;overflow:hidden;display:flex;align-items:center}.eui-21 :host .spacer{flex:1}@media screen and (min-width:768px)and (max-width:1139px){.eui-21 :host{display:none}}@media screen and (max-width:767px){.eui-21 :host{display:none}}\n"] }]
|
|
147
|
+
}], propDecorators: { isShrinkOnScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "isShrinkOnScroll", required: false }] }] } });
|
|
148
|
+
|
|
149
|
+
class EdsShellHeaderLogo {
|
|
150
|
+
constructor() {
|
|
151
|
+
/** Custom logo URL. If not provided, uses the EC logo for the given language. */
|
|
152
|
+
this.logoUrl = input('', /* @ts-ignore */
|
|
153
|
+
...(ngDevMode ? [{ debugName: "logoUrl" }] : /* istanbul ignore next */ []));
|
|
154
|
+
/** Current language code (used to resolve the EC logo variant). Default: 'en'. */
|
|
155
|
+
this.language = input('en', /* @ts-ignore */
|
|
156
|
+
...(ngDevMode ? [{ debugName: "language" }] : /* istanbul ignore next */ []));
|
|
157
|
+
/** Route to navigate on logo click. */
|
|
158
|
+
this.homeUrl = input('/', /* @ts-ignore */
|
|
159
|
+
...(ngDevMode ? [{ debugName: "homeUrl" }] : /* istanbul ignore next */ []));
|
|
160
|
+
/** Logo height CSS value. */
|
|
161
|
+
this.logoHeight = input('56px', /* @ts-ignore */
|
|
162
|
+
...(ngDevMode ? [{ debugName: "logoHeight" }] : /* istanbul ignore next */ []));
|
|
163
|
+
/** Logo width CSS value. */
|
|
164
|
+
this.logoWidth = input('auto', /* @ts-ignore */
|
|
165
|
+
...(ngDevMode ? [{ debugName: "logoWidth" }] : /* istanbul ignore next */ []));
|
|
166
|
+
/** Resolved logo URL — custom or language-based EC logo. */
|
|
167
|
+
this.resolvedLogoUrl = computed(() => {
|
|
168
|
+
if (this.logoUrl())
|
|
169
|
+
return this.logoUrl();
|
|
170
|
+
return `assets/logos/ec/positive/logo-ec--${this.language()}.svg`;
|
|
171
|
+
}, /* @ts-ignore */
|
|
172
|
+
...(ngDevMode ? [{ debugName: "resolvedLogoUrl" }] : /* istanbul ignore next */ []));
|
|
173
|
+
}
|
|
174
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellHeaderLogo, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
175
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: EdsShellHeaderLogo, isStandalone: true, selector: "eds-shell-header-logo", inputs: { logoUrl: { classPropertyName: "logoUrl", publicName: "logoUrl", isSignal: true, isRequired: false, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null }, homeUrl: { classPropertyName: "homeUrl", publicName: "homeUrl", isSignal: true, isRequired: false, transformFunction: null }, logoHeight: { classPropertyName: "logoHeight", publicName: "logoHeight", isSignal: true, isRequired: false, transformFunction: null }, logoWidth: { classPropertyName: "logoWidth", publicName: "logoWidth", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<a [attr.href]=\"homeUrl()\" class=\"logo-link\">\n <img\n [src]=\"resolvedLogoUrl()\"\n [style.height]=\"logoHeight()\"\n [style.width]=\"logoWidth()\"\n alt=\"European Commission - Home\" />\n</a>\n<ng-content></ng-content>\n", styles: [".eui-21 :host{display:flex;align-items:center;flex-shrink:0}.eui-21 :host .logo-link{display:flex;align-items:center}.eui-21 :host img{display:block}\n"] }); }
|
|
176
|
+
}
|
|
177
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellHeaderLogo, decorators: [{
|
|
178
|
+
type: Component,
|
|
179
|
+
args: [{ selector: 'eds-shell-header-logo', template: "<a [attr.href]=\"homeUrl()\" class=\"logo-link\">\n <img\n [src]=\"resolvedLogoUrl()\"\n [style.height]=\"logoHeight()\"\n [style.width]=\"logoWidth()\"\n alt=\"European Commission - Home\" />\n</a>\n<ng-content></ng-content>\n", styles: [".eui-21 :host{display:flex;align-items:center;flex-shrink:0}.eui-21 :host .logo-link{display:flex;align-items:center}.eui-21 :host img{display:block}\n"] }]
|
|
180
|
+
}], propDecorators: { logoUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "logoUrl", required: false }] }], language: [{ type: i0.Input, args: [{ isSignal: true, alias: "language", required: false }] }], homeUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "homeUrl", required: false }] }], logoHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "logoHeight", required: false }] }], logoWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "logoWidth", required: false }] }] } });
|
|
181
|
+
|
|
182
|
+
class EdsShellHeaderEnvironment {
|
|
183
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellHeaderEnvironment, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
184
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: EdsShellHeaderEnvironment, isStandalone: true, selector: "eds-shell-header-environment", ngImport: i0, template: '<ng-content/>', isInline: true, styles: [".eui-21 :host{position:absolute;top:6px;left:-20px;display:inline-flex;align-items:center;justify-content:center;width:80px;padding:var(--eds-sp-3xs) 0;background:var(--eds-c-surface-highlight);color:var(--eds-c-on-surface-highlight);font:var(--eds-f-microcopy-xs);font-weight:700;text-transform:uppercase;white-space:nowrap;transform:rotate(-35deg);transform-origin:center;box-shadow:0 1px 3px #0003;z-index:1;pointer-events:none}\n"] }); }
|
|
185
|
+
}
|
|
186
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellHeaderEnvironment, decorators: [{
|
|
187
|
+
type: Component,
|
|
188
|
+
args: [{ selector: 'eds-shell-header-environment', template: '<ng-content/>', styles: [".eui-21 :host{position:absolute;top:6px;left:-20px;display:inline-flex;align-items:center;justify-content:center;width:80px;padding:var(--eds-sp-3xs) 0;background:var(--eds-c-surface-highlight);color:var(--eds-c-on-surface-highlight);font:var(--eds-f-microcopy-xs);font-weight:700;text-transform:uppercase;white-space:nowrap;transform:rotate(-35deg);transform-origin:center;box-shadow:0 1px 3px #0003;z-index:1;pointer-events:none}\n"] }]
|
|
189
|
+
}] });
|
|
190
|
+
|
|
191
|
+
class EdsShellHeaderApp {
|
|
192
|
+
constructor() {
|
|
193
|
+
/** Full application name. */
|
|
194
|
+
this.appName = input('', /* @ts-ignore */
|
|
195
|
+
...(ngDevMode ? [{ debugName: "appName" }] : /* istanbul ignore next */ []));
|
|
196
|
+
/** Short name for responsive/compact layouts. */
|
|
197
|
+
this.appShortName = input('', /* @ts-ignore */
|
|
198
|
+
...(ngDevMode ? [{ debugName: "appShortName" }] : /* istanbul ignore next */ []));
|
|
199
|
+
/** Subtitle/description below the app name. */
|
|
200
|
+
this.appSubTitle = input('', /* @ts-ignore */
|
|
201
|
+
...(ngDevMode ? [{ debugName: "appSubTitle" }] : /* istanbul ignore next */ []));
|
|
202
|
+
}
|
|
203
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellHeaderApp, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
204
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EdsShellHeaderApp, isStandalone: true, selector: "eds-shell-header-app", inputs: { appName: { classPropertyName: "appName", publicName: "appName", isSignal: true, isRequired: false, transformFunction: null }, appShortName: { classPropertyName: "appShortName", publicName: "appShortName", isSignal: true, isRequired: false, transformFunction: null }, appSubTitle: { classPropertyName: "appSubTitle", publicName: "appSubTitle", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (appName()) {\n <span class=\"app-name\">{{ appName() }}</span>\n}\n@if (appSubTitle()) {\n <span class=\"app-subtitle\">{{ appSubTitle() }}</span>\n}\n<ng-content></ng-content>\n", styles: [".eui-21 :host{display:flex;flex-direction:column;justify-content:center;gap:var(--eds-sp-4xs);min-width:0}.eui-21 :host .app-name{font:var(--eds-f-paragraph-xl);color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eui-21 :host .app-subtitle{font:var(--eds-f-microcopy-xs);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }); }
|
|
205
|
+
}
|
|
206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellHeaderApp, decorators: [{
|
|
207
|
+
type: Component,
|
|
208
|
+
args: [{ selector: 'eds-shell-header-app', template: "@if (appName()) {\n <span class=\"app-name\">{{ appName() }}</span>\n}\n@if (appSubTitle()) {\n <span class=\"app-subtitle\">{{ appSubTitle() }}</span>\n}\n<ng-content></ng-content>\n", styles: [".eui-21 :host{display:flex;flex-direction:column;justify-content:center;gap:var(--eds-sp-4xs);min-width:0}.eui-21 :host .app-name{font:var(--eds-f-paragraph-xl);color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eui-21 :host .app-subtitle{font:var(--eds-f-microcopy-xs);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
|
|
209
|
+
}], propDecorators: { appName: [{ type: i0.Input, args: [{ isSignal: true, alias: "appName", required: false }] }], appShortName: [{ type: i0.Input, args: [{ isSignal: true, alias: "appShortName", required: false }] }], appSubTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "appSubTitle", required: false }] }] } });
|
|
210
|
+
|
|
211
|
+
class EdsShellHeaderStart {
|
|
212
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellHeaderStart, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
213
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: EdsShellHeaderStart, isStandalone: true, selector: "eds-shell-header-start", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:flex;align-items:center;gap:var(--eds-sp-m)}\n"] }); }
|
|
214
|
+
}
|
|
215
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellHeaderStart, decorators: [{
|
|
216
|
+
type: Component,
|
|
217
|
+
args: [{ selector: 'eds-shell-header-start', template: '<ng-content></ng-content>', styles: [":host{display:flex;align-items:center;gap:var(--eds-sp-m)}\n"] }]
|
|
218
|
+
}] });
|
|
219
|
+
|
|
220
|
+
class EdsShellHeaderEnd {
|
|
221
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellHeaderEnd, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
222
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: EdsShellHeaderEnd, isStandalone: true, selector: "eds-shell-header-end", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:flex;align-items:center;gap:var(--eds-sp-xs)}\n"] }); }
|
|
223
|
+
}
|
|
224
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellHeaderEnd, decorators: [{
|
|
225
|
+
type: Component,
|
|
226
|
+
args: [{ selector: 'eds-shell-header-end', template: '<ng-content></ng-content>', styles: [":host{display:flex;align-items:center;gap:var(--eds-sp-xs)}\n"] }]
|
|
227
|
+
}] });
|
|
228
|
+
|
|
229
|
+
class EdsShellToolbar {
|
|
230
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellToolbar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
231
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: EdsShellToolbar, isStandalone: true, selector: "eds-shell-toolbar", ngImport: i0, template: "<ng-content select=\"eds-shell-menu-toggle\"></ng-content>\n<div class=\"logo-wrapper\">\n <ng-content select=\"eds-shell-toolbar-logo\"></ng-content>\n <ng-content select=\"eds-shell-toolbar-environment\"></ng-content>\n</div>\n<ng-content select=\"eds-shell-toolbar-app\"></ng-content>\n<ng-content select=\"eds-shell-toolbar-start\"></ng-content>\n<ng-content select=\"eds-shell-toolbar-end\"></ng-content>\n<ng-content></ng-content>\n", styles: [".eui-21 :host{display:flex;align-items:center;height:var(--eds-si-7xl);padding:0 var(--eds-sp-xl) 0 var(--eds-sp-m);background:var(--eds-c-surface-brand);color:var(--eds-c-foreground-inverted);flex-shrink:0;gap:var(--eds-sp-m)}.eui-21 :host .logo-wrapper{position:relative;overflow:hidden;display:flex;align-items:center}.eui-21 :host ::ng-deep .toolbar-app-name{display:none}@media screen and (min-width:768px)and (max-width:1139px){.eui-21 :host ::ng-deep .toolbar-app-name{display:flex}}@media screen and (max-width:767px){.eui-21 :host{padding:0 var(--eds-sp-m)}.eui-21 :host ::ng-deep .toolbar-app-name{display:flex}}\n"] }); }
|
|
232
|
+
}
|
|
233
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellToolbar, decorators: [{
|
|
234
|
+
type: Component,
|
|
235
|
+
args: [{ selector: 'eds-shell-toolbar', template: "<ng-content select=\"eds-shell-menu-toggle\"></ng-content>\n<div class=\"logo-wrapper\">\n <ng-content select=\"eds-shell-toolbar-logo\"></ng-content>\n <ng-content select=\"eds-shell-toolbar-environment\"></ng-content>\n</div>\n<ng-content select=\"eds-shell-toolbar-app\"></ng-content>\n<ng-content select=\"eds-shell-toolbar-start\"></ng-content>\n<ng-content select=\"eds-shell-toolbar-end\"></ng-content>\n<ng-content></ng-content>\n", styles: [".eui-21 :host{display:flex;align-items:center;height:var(--eds-si-7xl);padding:0 var(--eds-sp-xl) 0 var(--eds-sp-m);background:var(--eds-c-surface-brand);color:var(--eds-c-foreground-inverted);flex-shrink:0;gap:var(--eds-sp-m)}.eui-21 :host .logo-wrapper{position:relative;overflow:hidden;display:flex;align-items:center}.eui-21 :host ::ng-deep .toolbar-app-name{display:none}@media screen and (min-width:768px)and (max-width:1139px){.eui-21 :host ::ng-deep .toolbar-app-name{display:flex}}@media screen and (max-width:767px){.eui-21 :host{padding:0 var(--eds-sp-m)}.eui-21 :host ::ng-deep .toolbar-app-name{display:flex}}\n"] }]
|
|
236
|
+
}] });
|
|
237
|
+
|
|
238
|
+
class EdsShellToolbarStart {
|
|
239
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellToolbarStart, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
240
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: EdsShellToolbarStart, isStandalone: true, selector: "eds-shell-toolbar-start", ngImport: i0, template: '<ng-content/>', isInline: true, styles: [".eui-21 :host{display:flex;align-items:center;gap:var(--eds-sp-m)}\n"] }); }
|
|
241
|
+
}
|
|
242
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellToolbarStart, decorators: [{
|
|
243
|
+
type: Component,
|
|
244
|
+
args: [{ selector: 'eds-shell-toolbar-start', template: '<ng-content/>', styles: [".eui-21 :host{display:flex;align-items:center;gap:var(--eds-sp-m)}\n"] }]
|
|
245
|
+
}] });
|
|
246
|
+
|
|
247
|
+
class EdsShellToolbarEnd {
|
|
248
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellToolbarEnd, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
249
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: EdsShellToolbarEnd, isStandalone: true, selector: "eds-shell-toolbar-end", ngImport: i0, template: '<ng-content/>', isInline: true, styles: [".eui-21 :host{display:flex;align-items:center;gap:var(--eds-sp-xs);color:var(--eds-c-on-surface-primary);margin-left:auto}.eui-21 :host ::ng-deep .toolbar-user-profile{display:none}@media screen and (min-width:768px)and (max-width:1139px){.eui-21 :host ::ng-deep .toolbar-user-profile{display:inline-flex}}@media screen and (max-width:767px){.eui-21 :host ::ng-deep .toolbar-user-profile{display:inline-flex}}\n"] }); }
|
|
250
|
+
}
|
|
251
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellToolbarEnd, decorators: [{
|
|
252
|
+
type: Component,
|
|
253
|
+
args: [{ selector: 'eds-shell-toolbar-end', template: '<ng-content/>', styles: [".eui-21 :host{display:flex;align-items:center;gap:var(--eds-sp-xs);color:var(--eds-c-on-surface-primary);margin-left:auto}.eui-21 :host ::ng-deep .toolbar-user-profile{display:none}@media screen and (min-width:768px)and (max-width:1139px){.eui-21 :host ::ng-deep .toolbar-user-profile{display:inline-flex}}@media screen and (max-width:767px){.eui-21 :host ::ng-deep .toolbar-user-profile{display:inline-flex}}\n"] }]
|
|
254
|
+
}] });
|
|
255
|
+
|
|
256
|
+
class EdsShellToolbarLogo {
|
|
257
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellToolbarLogo, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
258
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: EdsShellToolbarLogo, isStandalone: true, selector: "eds-shell-toolbar-logo", ngImport: i0, template: "<img src=\"assets/logos/ec/logo-ec--mute-negative.svg\" alt=\"European Commission\" />\n", styles: [".eui-21 :host{display:inline-flex;align-items:center;flex-shrink:0}.eui-21 :host img{height:40px;width:auto;display:block}\n"] }); }
|
|
259
|
+
}
|
|
260
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellToolbarLogo, decorators: [{
|
|
261
|
+
type: Component,
|
|
262
|
+
args: [{ selector: 'eds-shell-toolbar-logo', template: "<img src=\"assets/logos/ec/logo-ec--mute-negative.svg\" alt=\"European Commission\" />\n", styles: [".eui-21 :host{display:inline-flex;align-items:center;flex-shrink:0}.eui-21 :host img{height:40px;width:auto;display:block}\n"] }]
|
|
263
|
+
}] });
|
|
264
|
+
|
|
265
|
+
class EdsShellToolbarEnvironment {
|
|
266
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellToolbarEnvironment, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
267
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: EdsShellToolbarEnvironment, isStandalone: true, selector: "eds-shell-toolbar-environment", ngImport: i0, template: '<ng-content/>', isInline: true, styles: [".eui-21 :host{position:absolute;top:6px;left:-20px;display:inline-flex;align-items:center;justify-content:center;width:80px;padding:var(--eds-sp-3xs) 0;background:var(--eds-c-surface-highlight);color:var(--eds-c-on-surface-highlight);font:var(--eds-f-microcopy-xs);font-weight:700;text-transform:uppercase;white-space:nowrap;transform:rotate(-35deg);transform-origin:center;box-shadow:0 1px 3px #0003;z-index:1;pointer-events:none}\n"] }); }
|
|
268
|
+
}
|
|
269
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellToolbarEnvironment, decorators: [{
|
|
270
|
+
type: Component,
|
|
271
|
+
args: [{ selector: 'eds-shell-toolbar-environment', template: '<ng-content/>', styles: [".eui-21 :host{position:absolute;top:6px;left:-20px;display:inline-flex;align-items:center;justify-content:center;width:80px;padding:var(--eds-sp-3xs) 0;background:var(--eds-c-surface-highlight);color:var(--eds-c-on-surface-highlight);font:var(--eds-f-microcopy-xs);font-weight:700;text-transform:uppercase;white-space:nowrap;transform:rotate(-35deg);transform-origin:center;box-shadow:0 1px 3px #0003;z-index:1;pointer-events:none}\n"] }]
|
|
272
|
+
}] });
|
|
273
|
+
|
|
274
|
+
class EdsShellToolbarApp {
|
|
275
|
+
constructor() {
|
|
276
|
+
/** Full application name. */
|
|
277
|
+
this.appName = input('', /* @ts-ignore */
|
|
278
|
+
...(ngDevMode ? [{ debugName: "appName" }] : /* istanbul ignore next */ []));
|
|
279
|
+
/** Short name for responsive/compact layouts. */
|
|
280
|
+
this.appShortName = input('', /* @ts-ignore */
|
|
281
|
+
...(ngDevMode ? [{ debugName: "appShortName" }] : /* istanbul ignore next */ []));
|
|
282
|
+
/** Subtitle/description below the app name. */
|
|
283
|
+
this.appSubTitle = input('', /* @ts-ignore */
|
|
284
|
+
...(ngDevMode ? [{ debugName: "appSubTitle" }] : /* istanbul ignore next */ []));
|
|
285
|
+
}
|
|
286
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellToolbarApp, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
287
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EdsShellToolbarApp, isStandalone: true, selector: "eds-shell-toolbar-app", inputs: { appName: { classPropertyName: "appName", publicName: "appName", isSignal: true, isRequired: false, transformFunction: null }, appShortName: { classPropertyName: "appShortName", publicName: "appShortName", isSignal: true, isRequired: false, transformFunction: null }, appSubTitle: { classPropertyName: "appSubTitle", publicName: "appSubTitle", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (appName()) {\n <span class=\"app-name\">{{ appName() }}</span>\n}\n@if (appSubTitle()) {\n <span class=\"app-subtitle\">{{ appSubTitle() }}</span>\n}\n<ng-content></ng-content>\n", styles: [".eui-21 :host{display:flex;flex-direction:column;justify-content:center;gap:var(--eds-sp-4xs);min-width:0}.eui-21 :host .app-name{font:var(--eds-f-label-m-semi-bold);color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eui-21 :host .app-subtitle{font:var(--eds-f-microcopy-xs);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }); }
|
|
288
|
+
}
|
|
289
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellToolbarApp, decorators: [{
|
|
290
|
+
type: Component,
|
|
291
|
+
args: [{ selector: 'eds-shell-toolbar-app', template: "@if (appName()) {\n <span class=\"app-name\">{{ appName() }}</span>\n}\n@if (appSubTitle()) {\n <span class=\"app-subtitle\">{{ appSubTitle() }}</span>\n}\n<ng-content></ng-content>\n", styles: [".eui-21 :host{display:flex;flex-direction:column;justify-content:center;gap:var(--eds-sp-4xs);min-width:0}.eui-21 :host .app-name{font:var(--eds-f-label-m-semi-bold);color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eui-21 :host .app-subtitle{font:var(--eds-f-microcopy-xs);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
|
|
292
|
+
}], propDecorators: { appName: [{ type: i0.Input, args: [{ isSignal: true, alias: "appName", required: false }] }], appShortName: [{ type: i0.Input, args: [{ isSignal: true, alias: "appShortName", required: false }] }], appSubTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "appSubTitle", required: false }] }] } });
|
|
293
|
+
|
|
294
|
+
class EdsShellSidebarHeader {
|
|
295
|
+
constructor() {
|
|
296
|
+
/** Brand/title text displayed in the sidebar header. */
|
|
297
|
+
this.brand = input('', /* @ts-ignore */
|
|
298
|
+
...(ngDevMode ? [{ debugName: "brand" }] : /* istanbul ignore next */ []));
|
|
299
|
+
/** Whether to show the close button (shown on overlay mode). */
|
|
300
|
+
this.showClose = input(false, /* @ts-ignore */
|
|
301
|
+
...(ngDevMode ? [{ debugName: "showClose" }] : /* istanbul ignore next */ []));
|
|
302
|
+
/** Emits when the close button is clicked. */
|
|
303
|
+
this.closeClick = output();
|
|
304
|
+
}
|
|
305
|
+
onClose() {
|
|
306
|
+
this.closeClick.emit();
|
|
307
|
+
}
|
|
308
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellSidebarHeader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
309
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EdsShellSidebarHeader, isStandalone: true, selector: "eds-shell-sidebar-header", inputs: { brand: { classPropertyName: "brand", publicName: "brand", isSignal: true, isRequired: false, transformFunction: null }, showClose: { classPropertyName: "showClose", publicName: "showClose", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeClick: "closeClick" }, ngImport: i0, template: "@if (brand()) {\n <span class=\"sidebar-brand\">{{ brand() }}</span>\n}\n<ng-content></ng-content>\n@if (showClose()) {\n <button\n class=\"sidebar-close-btn\"\n (click)=\"onClose()\"\n aria-label=\"Close sidebar\">\n ×\n </button>\n}\n", styles: [".eui-21 :host{display:flex;align-items:center;justify-content:space-between;padding:var(--eds-sp-m) var(--eds-sp-l);border-bottom:var(--eds-bw-xs) solid var(--eds-c-border-divider);min-height:var(--eds-si-7xl);white-space:nowrap}.eui-21 :host .sidebar-brand{font:var(--eds-f-label-m-semi-bold);color:var(--eds-c-foreground-primary)}.eui-21 :host .sidebar-close-btn{display:flex;align-items:center;justify-content:center;font-size:var(--eds-f-s-xl);width:var(--eds-is-l);height:var(--eds-is-l);border:none;background:none;border-radius:var(--eds-br-s);cursor:pointer;color:var(--eds-c-foreground)}.eui-21 :host .sidebar-close-btn:hover{background:var(--eds-c-surface-elevation-sunken)}\n"] }); }
|
|
310
|
+
}
|
|
311
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellSidebarHeader, decorators: [{
|
|
312
|
+
type: Component,
|
|
313
|
+
args: [{ selector: 'eds-shell-sidebar-header', template: "@if (brand()) {\n <span class=\"sidebar-brand\">{{ brand() }}</span>\n}\n<ng-content></ng-content>\n@if (showClose()) {\n <button\n class=\"sidebar-close-btn\"\n (click)=\"onClose()\"\n aria-label=\"Close sidebar\">\n ×\n </button>\n}\n", styles: [".eui-21 :host{display:flex;align-items:center;justify-content:space-between;padding:var(--eds-sp-m) var(--eds-sp-l);border-bottom:var(--eds-bw-xs) solid var(--eds-c-border-divider);min-height:var(--eds-si-7xl);white-space:nowrap}.eui-21 :host .sidebar-brand{font:var(--eds-f-label-m-semi-bold);color:var(--eds-c-foreground-primary)}.eui-21 :host .sidebar-close-btn{display:flex;align-items:center;justify-content:center;font-size:var(--eds-f-s-xl);width:var(--eds-is-l);height:var(--eds-is-l);border:none;background:none;border-radius:var(--eds-br-s);cursor:pointer;color:var(--eds-c-foreground)}.eui-21 :host .sidebar-close-btn:hover{background:var(--eds-c-surface-elevation-sunken)}\n"] }]
|
|
314
|
+
}], propDecorators: { brand: [{ type: i0.Input, args: [{ isSignal: true, alias: "brand", required: false }] }], showClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClose", required: false }] }], closeClick: [{ type: i0.Output, args: ["closeClick"] }] } });
|
|
315
|
+
|
|
316
|
+
class EdsShellSidebarNav {
|
|
317
|
+
constructor() {
|
|
318
|
+
/** Array of menu items to render. */
|
|
319
|
+
this.items = input([], /* @ts-ignore */
|
|
320
|
+
...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
|
|
321
|
+
/** Whether to show icons alongside labels. */
|
|
322
|
+
this.hasIcons = input(false, /* @ts-ignore */
|
|
323
|
+
...(ngDevMode ? [{ debugName: "hasIcons" }] : /* istanbul ignore next */ []));
|
|
324
|
+
/** Whether the menu is in collapsed/icon-only mode. */
|
|
325
|
+
this.isCollapsed = input(false, /* @ts-ignore */
|
|
326
|
+
...(ngDevMode ? [{ debugName: "isCollapsed" }] : /* istanbul ignore next */ []));
|
|
327
|
+
/** Whether to show labels underneath icons in collapsed mode. */
|
|
328
|
+
this.hasCollapsedLabels = input(false, /* @ts-ignore */
|
|
329
|
+
...(ngDevMode ? [{ debugName: "hasCollapsedLabels" }] : /* istanbul ignore next */ []));
|
|
330
|
+
/** Emits when a menu item is clicked. */
|
|
331
|
+
this.itemClick = output();
|
|
332
|
+
}
|
|
333
|
+
onItemClick(item) {
|
|
334
|
+
this.itemClick.emit(item);
|
|
335
|
+
}
|
|
336
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellSidebarNav, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
337
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: EdsShellSidebarNav, isStandalone: true, selector: "eds-shell-sidebar-nav", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, hasIcons: { classPropertyName: "hasIcons", publicName: "hasIcons", isSignal: true, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null }, hasCollapsedLabels: { classPropertyName: "hasCollapsedLabels", publicName: "hasCollapsedLabels", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClick: "itemClick" }, ngImport: i0, template: "<eds-menu\n [items]=\"items()\"\n [hasIcons]=\"hasIcons()\"\n [isCollapsed]=\"isCollapsed()\"\n [hasCollapsedLabels]=\"hasCollapsedLabels()\"\n (itemClick)=\"onItemClick($event)\">\n</eds-menu>\n", styles: [".eui-21 :host{display:block;flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--eds-sp-xs) var(--eds-sp-none)}\n"], dependencies: [{ kind: "component", type: EdsMenu, selector: "eds-menu", inputs: ["items", "hasIcons", "isCollapsed", "hasCollapsedLabels"], outputs: ["itemClick"] }] }); }
|
|
338
|
+
}
|
|
339
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellSidebarNav, decorators: [{
|
|
340
|
+
type: Component,
|
|
341
|
+
args: [{ selector: 'eds-shell-sidebar-nav', imports: [EdsMenu], template: "<eds-menu\n [items]=\"items()\"\n [hasIcons]=\"hasIcons()\"\n [isCollapsed]=\"isCollapsed()\"\n [hasCollapsedLabels]=\"hasCollapsedLabels()\"\n (itemClick)=\"onItemClick($event)\">\n</eds-menu>\n", styles: [".eui-21 :host{display:block;flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--eds-sp-xs) var(--eds-sp-none)}\n"] }]
|
|
342
|
+
}], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], hasIcons: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasIcons", required: false }] }], isCollapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCollapsed", required: false }] }], hasCollapsedLabels: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasCollapsedLabels", required: false }] }], itemClick: [{ type: i0.Output, args: ["itemClick"] }] } });
|
|
343
|
+
|
|
344
|
+
class EdsShellSidebarFooter {
|
|
345
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellSidebarFooter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
346
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: EdsShellSidebarFooter, isStandalone: true, selector: "eds-shell-sidebar-footer", ngImport: i0, template: '<ng-content/>', isInline: true, styles: [".eui-21 :host{display:block;padding:var(--eds-sp-s) var(--eds-sp-l);border-top:var(--eds-bw-xs) solid var(--eds-c-border-divider);font:var(--eds-f-microcopy-xs);color:var(--eds-c-foreground-subtler);white-space:nowrap}\n"] }); }
|
|
347
|
+
}
|
|
348
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellSidebarFooter, decorators: [{
|
|
349
|
+
type: Component,
|
|
350
|
+
args: [{ selector: 'eds-shell-sidebar-footer', template: '<ng-content/>', styles: [".eui-21 :host{display:block;padding:var(--eds-sp-s) var(--eds-sp-l);border-top:var(--eds-bw-xs) solid var(--eds-c-border-divider);font:var(--eds-f-microcopy-xs);color:var(--eds-c-foreground-subtler);white-space:nowrap}\n"] }]
|
|
351
|
+
}] });
|
|
352
|
+
|
|
353
|
+
class EdsShellSidebarBottomNav {
|
|
354
|
+
constructor() {
|
|
355
|
+
/** Array of menu items to render. */
|
|
356
|
+
this.items = input([], /* @ts-ignore */
|
|
357
|
+
...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
|
|
358
|
+
/** Whether to show icons alongside labels. */
|
|
359
|
+
this.hasIcons = input(false, /* @ts-ignore */
|
|
360
|
+
...(ngDevMode ? [{ debugName: "hasIcons" }] : /* istanbul ignore next */ []));
|
|
361
|
+
/** Whether the menu is in collapsed/icon-only mode. */
|
|
362
|
+
this.isCollapsed = input(false, /* @ts-ignore */
|
|
363
|
+
...(ngDevMode ? [{ debugName: "isCollapsed" }] : /* istanbul ignore next */ []));
|
|
364
|
+
/** Whether to show labels underneath icons in collapsed mode. */
|
|
365
|
+
this.hasCollapsedLabels = input(false, /* @ts-ignore */
|
|
366
|
+
...(ngDevMode ? [{ debugName: "hasCollapsedLabels" }] : /* istanbul ignore next */ []));
|
|
367
|
+
/** Emits when a menu item is clicked. */
|
|
368
|
+
this.itemClick = output();
|
|
369
|
+
}
|
|
370
|
+
onItemClick(item) {
|
|
371
|
+
this.itemClick.emit(item);
|
|
372
|
+
}
|
|
373
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellSidebarBottomNav, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
374
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: EdsShellSidebarBottomNav, isStandalone: true, selector: "eds-shell-sidebar-bottom-nav", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, hasIcons: { classPropertyName: "hasIcons", publicName: "hasIcons", isSignal: true, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null }, hasCollapsedLabels: { classPropertyName: "hasCollapsedLabels", publicName: "hasCollapsedLabels", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClick: "itemClick" }, ngImport: i0, template: "<eds-menu\n [items]=\"items()\"\n [hasIcons]=\"hasIcons()\"\n [isCollapsed]=\"isCollapsed()\"\n [hasCollapsedLabels]=\"hasCollapsedLabels()\"\n (itemClick)=\"onItemClick($event)\">\n</eds-menu>\n", styles: [".eui-21 :host{display:block;flex-shrink:0;border-top:var(--eds-bw-xs) solid var(--eds-c-border-divider);padding:var(--eds-sp-xs) var(--eds-sp-none)}\n"], dependencies: [{ kind: "component", type: EdsMenu, selector: "eds-menu", inputs: ["items", "hasIcons", "isCollapsed", "hasCollapsedLabels"], outputs: ["itemClick"] }] }); }
|
|
375
|
+
}
|
|
376
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellSidebarBottomNav, decorators: [{
|
|
377
|
+
type: Component,
|
|
378
|
+
args: [{ selector: 'eds-shell-sidebar-bottom-nav', imports: [EdsMenu], template: "<eds-menu\n [items]=\"items()\"\n [hasIcons]=\"hasIcons()\"\n [isCollapsed]=\"isCollapsed()\"\n [hasCollapsedLabels]=\"hasCollapsedLabels()\"\n (itemClick)=\"onItemClick($event)\">\n</eds-menu>\n", styles: [".eui-21 :host{display:block;flex-shrink:0;border-top:var(--eds-bw-xs) solid var(--eds-c-border-divider);padding:var(--eds-sp-xs) var(--eds-sp-none)}\n"] }]
|
|
379
|
+
}], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], hasIcons: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasIcons", required: false }] }], isCollapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCollapsed", required: false }] }], hasCollapsedLabels: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasCollapsedLabels", required: false }] }], itemClick: [{ type: i0.Output, args: ["itemClick"] }] } });
|
|
380
|
+
|
|
381
|
+
class EdsShellContent {
|
|
382
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
383
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: EdsShellContent, isStandalone: true, selector: "eds-shell-content", ngImport: i0, template: '<ng-content/>', isInline: true, styles: [".eui-21 :host{display:block;flex:1;padding:var(--eds-sp-xl)}@media screen and (max-width:767px){.eui-21 :host{padding:var(--eds-sp-m)}}\n"] }); }
|
|
384
|
+
}
|
|
385
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellContent, decorators: [{
|
|
386
|
+
type: Component,
|
|
387
|
+
args: [{ selector: 'eds-shell-content', template: '<ng-content/>', styles: [".eui-21 :host{display:block;flex:1;padding:var(--eds-sp-xl)}@media screen and (max-width:767px){.eui-21 :host{padding:var(--eds-sp-m)}}\n"] }]
|
|
388
|
+
}] });
|
|
389
|
+
|
|
390
|
+
class EdsShellFooter {
|
|
391
|
+
constructor() {
|
|
392
|
+
/** Copyright text displayed on the left. */
|
|
393
|
+
this.copyright = input('', /* @ts-ignore */
|
|
394
|
+
...(ngDevMode ? [{ debugName: "copyright" }] : /* istanbul ignore next */ []));
|
|
395
|
+
}
|
|
396
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellFooter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
397
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EdsShellFooter, isStandalone: true, selector: "eds-shell-footer", inputs: { copyright: { classPropertyName: "copyright", publicName: "copyright", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (copyright()) {\n <span class=\"copyright\">{{ copyright() }}</span>\n}\n<ng-content></ng-content>\n", styles: [".eui-21 :host{display:flex;align-items:center;justify-content:space-between;padding:var(--eds-sp-s) var(--eds-sp-xl);min-height:var(--eds-si-6xl);background:var(--eds-c-surface-elevation);border-top:var(--eds-bw-xs) solid var(--eds-c-border-divider);font:var(--eds-f-microcopy-xs);color:var(--eds-c-foreground-subtler);flex-shrink:0}.eui-21 :host .copyright{white-space:nowrap}@media screen and (max-width:767px){.eui-21 :host{flex-direction:column;gap:var(--eds-sp-xs);text-align:center;padding:var(--eds-sp-m)}}\n"] }); }
|
|
398
|
+
}
|
|
399
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellFooter, decorators: [{
|
|
400
|
+
type: Component,
|
|
401
|
+
args: [{ selector: 'eds-shell-footer', template: "@if (copyright()) {\n <span class=\"copyright\">{{ copyright() }}</span>\n}\n<ng-content></ng-content>\n", styles: [".eui-21 :host{display:flex;align-items:center;justify-content:space-between;padding:var(--eds-sp-s) var(--eds-sp-xl);min-height:var(--eds-si-6xl);background:var(--eds-c-surface-elevation);border-top:var(--eds-bw-xs) solid var(--eds-c-border-divider);font:var(--eds-f-microcopy-xs);color:var(--eds-c-foreground-subtler);flex-shrink:0}.eui-21 :host .copyright{white-space:nowrap}@media screen and (max-width:767px){.eui-21 :host{flex-direction:column;gap:var(--eds-sp-xs);text-align:center;padding:var(--eds-sp-m)}}\n"] }]
|
|
402
|
+
}], propDecorators: { copyright: [{ type: i0.Input, args: [{ isSignal: true, alias: "copyright", required: false }] }] } });
|
|
403
|
+
|
|
404
|
+
class EdsShellMenuToggle {
|
|
405
|
+
constructor() {
|
|
406
|
+
/** Emits when the toggle button is clicked. */
|
|
407
|
+
this.menuToggle = output();
|
|
408
|
+
}
|
|
409
|
+
onClick() {
|
|
410
|
+
this.menuToggle.emit();
|
|
411
|
+
}
|
|
412
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellMenuToggle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
413
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: EdsShellMenuToggle, isStandalone: true, selector: "eds-shell-menu-toggle", outputs: { menuToggle: "menuToggle" }, ngImport: i0, template: "<button\n edsIconButton\n edsBrand\n icon=\"list\"\n ariaLabel=\"Toggle sidebar\"\n (click)=\"onClick()\">\n</button>\n", styles: [".eui-21 :host{display:inline-flex;color:var(--eds-c-on-surface-primary)}\n"], dependencies: [{ kind: "component", type: i1.EdsIconButton, selector: "button[edsIconButton]", inputs: ["icon", "ariaLabel", "edsRounded", "edsDisabled"], outputs: ["buttonClick"] }] }); }
|
|
414
|
+
}
|
|
415
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellMenuToggle, decorators: [{
|
|
416
|
+
type: Component,
|
|
417
|
+
args: [{ selector: 'eds-shell-menu-toggle', imports: [...EDS_ICON_BUTTON], template: "<button\n edsIconButton\n edsBrand\n icon=\"list\"\n ariaLabel=\"Toggle sidebar\"\n (click)=\"onClick()\">\n</button>\n", styles: [".eui-21 :host{display:inline-flex;color:var(--eds-c-on-surface-primary)}\n"] }]
|
|
418
|
+
}], propDecorators: { menuToggle: [{ type: i0.Output, args: ["menuToggle"] }] } });
|
|
419
|
+
|
|
420
|
+
class EdsShellTopMessage {
|
|
421
|
+
constructor() {
|
|
422
|
+
/** Whether the close button is shown. */
|
|
423
|
+
this.isDismissible = input(true, { ...(ngDevMode ? { debugName: "isDismissible" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
|
|
424
|
+
/** Emits when the message is dismissed. */
|
|
425
|
+
this.dismissed = output();
|
|
426
|
+
/** Internal visibility state. */
|
|
427
|
+
this.isVisible = signal(true, /* @ts-ignore */
|
|
428
|
+
...(ngDevMode ? [{ debugName: "isVisible" }] : /* istanbul ignore next */ []));
|
|
429
|
+
}
|
|
430
|
+
dismiss() {
|
|
431
|
+
this.isVisible.set(false);
|
|
432
|
+
setTimeout(() => this.dismissed.emit(), 300);
|
|
433
|
+
}
|
|
434
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellTopMessage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
435
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EdsShellTopMessage, isStandalone: true, selector: "eds-shell-top-message", inputs: { isDismissible: { classPropertyName: "isDismissible", publicName: "isDismissible", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dismissed: "dismissed" }, host: { properties: { "class.eds-top-message": "true", "class.eds-top-message--hidden": "!isVisible()" } }, hostDirectives: [{ directive: i1$1.EdsBaseColorVariantsDirective, inputs: ["edsWarning", "edsWarning", "edsCritical", "edsCritical", "edsInfo", "edsInfo", "edsSuccess", "edsSuccess", "edsColorVariant", "edsColorVariant"] }], ngImport: i0, template: "<div class=\"top-message-content\">\n <ng-content></ng-content>\n</div>\n@if (isDismissible()) {\n <button edsIconButton icon=\"x\" ariaLabel=\"Dismiss\" edsSizeS (click)=\"dismiss()\"></button>\n}\n", styles: [".eui-21 :host{display:flex;align-items:center;gap:var(--eds-sp-m);padding:var(--eds-sp-xs) var(--eds-sp-xl);font:var(--eds-f-paragraph-s);flex-shrink:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease,opacity .3s ease;max-height:80px;opacity:1;background:var(--eds-c-surface-info-subtler);color:var(--eds-c-on-surface-info-subtler)}.eui-21 :host .top-message-content{flex:1}.eui-21 :host(.eds-color-variant--warning){background:var(--eds-c-surface-warning-subtler);color:var(--eds-c-on-surface-warning-subtler)}.eui-21 :host(.eds-color-variant--critical){background:var(--eds-c-surface-critical-subtler);color:var(--eds-c-on-surface-critical-subtler)}.eui-21 :host(.eds-color-variant--success){background:var(--eds-c-surface-success-subtler);color:var(--eds-c-on-surface-success-subtler)}.eui-21 :host(.eds-color-variant--info){background:var(--eds-c-surface-info-subtler);color:var(--eds-c-on-surface-info-subtler)}.eui-21 :host(.eds-top-message--hidden){max-height:0;padding-top:0;padding-bottom:0;opacity:0}\n"], dependencies: [{ kind: "component", type: i1.EdsIconButton, selector: "button[edsIconButton]", inputs: ["icon", "ariaLabel", "edsRounded", "edsDisabled"], outputs: ["buttonClick"] }] }); }
|
|
436
|
+
}
|
|
437
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EdsShellTopMessage, decorators: [{
|
|
438
|
+
type: Component,
|
|
439
|
+
args: [{ selector: 'eds-shell-top-message', imports: [...EDS_ICON_BUTTON], hostDirectives: [
|
|
440
|
+
{
|
|
441
|
+
directive: EdsBaseColorVariantsDirective,
|
|
442
|
+
inputs: ['edsWarning', 'edsCritical', 'edsInfo', 'edsSuccess', 'edsColorVariant'],
|
|
443
|
+
},
|
|
444
|
+
], host: {
|
|
445
|
+
'[class.eds-top-message]': 'true',
|
|
446
|
+
'[class.eds-top-message--hidden]': '!isVisible()',
|
|
447
|
+
}, template: "<div class=\"top-message-content\">\n <ng-content></ng-content>\n</div>\n@if (isDismissible()) {\n <button edsIconButton icon=\"x\" ariaLabel=\"Dismiss\" edsSizeS (click)=\"dismiss()\"></button>\n}\n", styles: [".eui-21 :host{display:flex;align-items:center;gap:var(--eds-sp-m);padding:var(--eds-sp-xs) var(--eds-sp-xl);font:var(--eds-f-paragraph-s);flex-shrink:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease,opacity .3s ease;max-height:80px;opacity:1;background:var(--eds-c-surface-info-subtler);color:var(--eds-c-on-surface-info-subtler)}.eui-21 :host .top-message-content{flex:1}.eui-21 :host(.eds-color-variant--warning){background:var(--eds-c-surface-warning-subtler);color:var(--eds-c-on-surface-warning-subtler)}.eui-21 :host(.eds-color-variant--critical){background:var(--eds-c-surface-critical-subtler);color:var(--eds-c-on-surface-critical-subtler)}.eui-21 :host(.eds-color-variant--success){background:var(--eds-c-surface-success-subtler);color:var(--eds-c-on-surface-success-subtler)}.eui-21 :host(.eds-color-variant--info){background:var(--eds-c-surface-info-subtler);color:var(--eds-c-on-surface-info-subtler)}.eui-21 :host(.eds-top-message--hidden){max-height:0;padding-top:0;padding-bottom:0;opacity:0}\n"] }]
|
|
448
|
+
}], propDecorators: { isDismissible: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDismissible", required: false }] }], dismissed: [{ type: i0.Output, args: ["dismissed"] }] } });
|
|
449
|
+
|
|
450
|
+
/** Convenience array for importing all eds-shell components. */
|
|
451
|
+
const EDS_SHELL = [
|
|
452
|
+
EdsShell,
|
|
453
|
+
EdsShellHeader,
|
|
454
|
+
EdsShellHeaderLogo,
|
|
455
|
+
EdsShellHeaderEnvironment,
|
|
456
|
+
EdsShellHeaderApp,
|
|
457
|
+
EdsShellHeaderStart,
|
|
458
|
+
EdsShellHeaderEnd,
|
|
459
|
+
EdsShellToolbar,
|
|
460
|
+
EdsShellToolbarStart,
|
|
461
|
+
EdsShellToolbarEnd,
|
|
462
|
+
EdsShellToolbarLogo,
|
|
463
|
+
EdsShellToolbarEnvironment,
|
|
464
|
+
EdsShellToolbarApp,
|
|
465
|
+
EdsShellSidebar,
|
|
466
|
+
EdsShellSidebarHeader,
|
|
467
|
+
EdsShellSidebarNav,
|
|
468
|
+
EdsShellSidebarBottomNav,
|
|
469
|
+
EdsShellSidebarFooter,
|
|
470
|
+
EdsShellContent,
|
|
471
|
+
EdsShellFooter,
|
|
472
|
+
EdsShellMenuToggle,
|
|
473
|
+
EdsShellTopMessage,
|
|
474
|
+
];
|
|
475
|
+
|
|
476
|
+
/**
|
|
477
|
+
* Generated bundle index. Do not edit.
|
|
478
|
+
*/
|
|
479
|
+
|
|
480
|
+
export { EDS_SHELL, EdsShell, EdsShellContent, EdsShellFooter, EdsShellHeader, EdsShellHeaderApp, EdsShellHeaderEnd, EdsShellHeaderEnvironment, EdsShellHeaderLogo, EdsShellHeaderStart, EdsShellMenuToggle, EdsShellSidebar, EdsShellSidebarBottomNav, EdsShellSidebarFooter, EdsShellSidebarHeader, EdsShellSidebarNav, EdsShellToolbar, EdsShellToolbarApp, EdsShellToolbarEnd, EdsShellToolbarEnvironment, EdsShellToolbarLogo, EdsShellToolbarStart, EdsShellTopMessage };
|
|
481
|
+
//# sourceMappingURL=eui-eds-eds-shell.mjs.map
|