@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.
Files changed (232) hide show
  1. package/docs/changelog.html +86 -0
  2. package/docs/classes/EdsChipModel.html +6 -6
  3. package/docs/classes/{EuiChipTooltip.html → EdsChipTooltip.html} +2 -2
  4. package/docs/components/EdsAlert.html +27 -226
  5. package/docs/components/EdsAlertTitle.html +2 -2
  6. package/docs/components/EdsAvatar.html +35 -108
  7. package/docs/components/EdsAvatarBadge.html +2 -2
  8. package/docs/components/EdsAvatarContent.html +2 -2
  9. package/docs/components/EdsAvatarContentLabel.html +2 -2
  10. package/docs/components/EdsAvatarContentSublabel.html +2 -2
  11. package/docs/components/EdsAvatarIcon.html +2 -2
  12. package/docs/components/EdsAvatarImage.html +2 -2
  13. package/docs/components/EdsAvatarList.html +2 -2
  14. package/docs/components/EdsAvatarText.html +2 -2
  15. package/docs/components/EdsBadge.html +41 -175
  16. package/docs/components/EdsButton.html +123 -123
  17. package/docs/components/EdsChip.html +135 -254
  18. package/docs/components/EdsIcon.html +93 -145
  19. package/docs/components/EdsIconButton.html +72 -86
  20. package/docs/components/EdsIconImage.html +5 -5
  21. package/docs/components/EdsIconState.html +47 -61
  22. package/docs/components/EdsLanguageSelector.html +870 -0
  23. package/docs/components/EdsMenu.html +631 -0
  24. package/docs/components/EdsMenuItemComponent.html +728 -0
  25. package/docs/components/EdsOverlay.html +804 -0
  26. package/docs/components/EdsOverlayContent.html +315 -0
  27. package/docs/components/EdsOverlayFooter.html +315 -0
  28. package/docs/components/EdsOverlayHeader.html +458 -0
  29. package/docs/components/EdsOverlayHeaderActionItems.html +315 -0
  30. package/docs/components/EdsOverlayHeaderLabel.html +315 -0
  31. package/docs/components/EdsOverlayHeaderSublabel.html +315 -0
  32. package/docs/components/EdsPage.html +315 -0
  33. package/docs/components/EdsPageContent.html +319 -0
  34. package/docs/components/EdsPageFooter.html +387 -0
  35. package/docs/components/EdsPageHeader.html +673 -0
  36. package/docs/components/EdsPageHeaderActionItems.html +315 -0
  37. package/docs/components/EdsPageHeaderBody.html +315 -0
  38. package/docs/components/EdsPageHeaderLabel.html +315 -0
  39. package/docs/components/EdsPageHeaderSublabel.html +315 -0
  40. package/docs/components/EdsShell.html +1078 -0
  41. package/docs/components/EdsShellContent.html +315 -0
  42. package/docs/components/EdsShellFooter.html +383 -0
  43. package/docs/components/EdsShellHeader.html +383 -0
  44. package/docs/components/EdsShellHeaderApp.html +443 -0
  45. package/docs/components/EdsShellHeaderEnd.html +311 -0
  46. package/docs/components/EdsShellHeaderEnvironment.html +315 -0
  47. package/docs/components/EdsShellHeaderLogo.html +561 -0
  48. package/docs/components/EdsShellHeaderStart.html +311 -0
  49. package/docs/components/EdsShellMenuToggle.html +458 -0
  50. package/docs/components/EdsShellSidebar.html +413 -0
  51. package/docs/components/EdsShellSidebarBottomNav.html +624 -0
  52. package/docs/components/EdsShellSidebarFooter.html +315 -0
  53. package/docs/components/EdsShellSidebarHeader.html +508 -0
  54. package/docs/components/EdsShellSidebarNav.html +624 -0
  55. package/docs/components/EdsShellToolbar.html +315 -0
  56. package/docs/components/EdsShellToolbarApp.html +443 -0
  57. package/docs/components/EdsShellToolbarEnd.html +315 -0
  58. package/docs/components/EdsShellToolbarEnvironment.html +315 -0
  59. package/docs/components/EdsShellToolbarLogo.html +315 -0
  60. package/docs/components/EdsShellToolbarStart.html +315 -0
  61. package/docs/components/EdsShellTopMessage.html +574 -0
  62. package/docs/components/EdsTab.html +6 -10
  63. package/docs/components/EdsTabBody.html +6 -10
  64. package/docs/components/EdsTabHeader.html +6 -10
  65. package/docs/components/EdsTabHeaderLabel.html +2 -2
  66. package/docs/components/EdsTabHeaderLeftContent.html +2 -2
  67. package/docs/components/EdsTabHeaderRightContent.html +2 -2
  68. package/docs/components/EdsTabHeaderSublabel.html +2 -2
  69. package/docs/components/EdsTabs.html +61 -126
  70. package/docs/components/EdsTabsRightContent.html +2 -2
  71. package/docs/components/EdsTag.html +82 -182
  72. package/docs/components/EdsTooltipContainer.html +2 -2
  73. package/docs/components/EdsUserProfile.html +1336 -0
  74. package/docs/components/EdsUserProfileMenu.html +315 -0
  75. package/docs/components/EdsUserProfileMenuItem.html +511 -0
  76. package/docs/directives/{EuiBaseColorVariantsDirective.html → EdsBaseColorVariantsDirective.html} +174 -91
  77. package/docs/directives/{EuiBaseSizeVariantsDirective.html → EdsBaseSizeVariantsDirective.html} +107 -107
  78. package/docs/directives/EdsResizable.html +586 -0
  79. package/docs/directives/EdsTooltip.html +21 -21
  80. package/docs/interfaces/EdsLanguage.html +368 -0
  81. package/docs/interfaces/EdsMenuItem.html +731 -0
  82. package/docs/js/menu-wc.js +146 -5
  83. package/docs/js/search/search_index.js +2 -2
  84. package/docs/json/EdsAlert.md +7 -7
  85. package/docs/json/EdsAvatar.md +8 -7
  86. package/docs/json/EdsBadge.md +14 -14
  87. package/docs/json/EdsBaseColorVariantsDirective.md +22 -0
  88. package/docs/json/EdsBaseSizeVariantsDirective.md +23 -0
  89. package/docs/json/EdsButton.md +21 -21
  90. package/docs/json/EdsChip.md +15 -14
  91. package/docs/json/EdsIcon.md +23 -23
  92. package/docs/json/EdsIconButton.md +18 -17
  93. package/docs/json/EdsIconImage.md +10 -10
  94. package/docs/json/EdsIconState.md +12 -12
  95. package/docs/json/EdsLanguageSelector.md +16 -0
  96. package/docs/json/EdsMenu.md +17 -0
  97. package/docs/json/EdsMenuItemComponent.md +18 -0
  98. package/docs/json/EdsOverlay.md +19 -0
  99. package/docs/json/EdsOverlayContent.md +8 -0
  100. package/docs/json/EdsOverlayFooter.md +8 -0
  101. package/docs/json/EdsOverlayHeader.md +11 -0
  102. package/docs/json/EdsOverlayHeaderActionItems.md +8 -0
  103. package/docs/json/EdsOverlayHeaderLabel.md +8 -0
  104. package/docs/json/EdsOverlayHeaderSublabel.md +8 -0
  105. package/docs/json/EdsPage.md +8 -0
  106. package/docs/json/EdsPageContent.md +8 -0
  107. package/docs/json/EdsPageFooter.md +11 -0
  108. package/docs/json/EdsPageHeader.md +18 -0
  109. package/docs/json/EdsPageHeaderActionItems.md +8 -0
  110. package/docs/json/EdsPageHeaderBody.md +8 -0
  111. package/docs/json/EdsPageHeaderLabel.md +8 -0
  112. package/docs/json/EdsPageHeaderSublabel.md +8 -0
  113. package/docs/json/EdsResizable.md +24 -0
  114. package/docs/json/EdsShell.md +14 -0
  115. package/docs/json/EdsShellContent.md +8 -0
  116. package/docs/json/EdsShellFooter.md +11 -0
  117. package/docs/json/EdsShellHeader.md +11 -0
  118. package/docs/json/EdsShellHeaderApp.md +13 -0
  119. package/docs/json/EdsShellHeaderEnd.md +8 -0
  120. package/docs/json/EdsShellHeaderEnvironment.md +8 -0
  121. package/docs/json/EdsShellHeaderLogo.md +15 -0
  122. package/docs/json/EdsShellHeaderStart.md +8 -0
  123. package/docs/json/EdsShellMenuToggle.md +11 -0
  124. package/docs/json/EdsShellSidebar.md +12 -0
  125. package/docs/json/EdsShellSidebarBottomNav.md +17 -0
  126. package/docs/json/EdsShellSidebarFooter.md +8 -0
  127. package/docs/json/EdsShellSidebarHeader.md +15 -0
  128. package/docs/json/EdsShellSidebarNav.md +17 -0
  129. package/docs/json/EdsShellToolbar.md +8 -0
  130. package/docs/json/EdsShellToolbarApp.md +13 -0
  131. package/docs/json/EdsShellToolbarEnd.md +8 -0
  132. package/docs/json/EdsShellToolbarEnvironment.md +8 -0
  133. package/docs/json/EdsShellToolbarLogo.md +8 -0
  134. package/docs/json/EdsShellToolbarStart.md +8 -0
  135. package/docs/json/EdsShellTopMessage.md +19 -0
  136. package/docs/json/EdsTabs.md +4 -4
  137. package/docs/json/EdsTag.md +14 -13
  138. package/docs/json/EdsTooltip.md +7 -7
  139. package/docs/json/EdsUserProfile.md +21 -0
  140. package/docs/json/EdsUserProfileMenu.md +8 -0
  141. package/docs/json/EdsUserProfileMenuItem.md +8 -0
  142. package/docs/json/documentation.json +9649 -5338
  143. package/docs/llms.txt +641 -123
  144. package/docs/miscellaneous/typealiases.html +309 -0
  145. package/docs/miscellaneous/variables.html +342 -0
  146. package/docs/overview.html +3 -3
  147. package/docs/properties.html +1 -1
  148. package/eds-language-selector/package.json +4 -0
  149. package/eds-menu/package.json +4 -0
  150. package/eds-overlay/package.json +4 -0
  151. package/eds-page/package.json +4 -0
  152. package/eds-resizable/package.json +4 -0
  153. package/eds-shell/package.json +4 -0
  154. package/eds-user-profile/package.json +4 -0
  155. package/fesm2022/eui-eds-eds-alert.mjs +33 -61
  156. package/fesm2022/eui-eds-eds-alert.mjs.map +1 -1
  157. package/fesm2022/eui-eds-eds-avatar.mjs +29 -43
  158. package/fesm2022/eui-eds-eds-avatar.mjs.map +1 -1
  159. package/fesm2022/eui-eds-eds-badge.mjs +65 -89
  160. package/fesm2022/eui-eds-eds-badge.mjs.map +1 -1
  161. package/fesm2022/eui-eds-eds-button.mjs +70 -99
  162. package/fesm2022/eui-eds-eds-button.mjs.map +1 -1
  163. package/fesm2022/eui-eds-eds-chip.mjs +118 -111
  164. package/fesm2022/eui-eds-eds-chip.mjs.map +1 -1
  165. package/fesm2022/eui-eds-eds-icon-button.mjs +49 -55
  166. package/fesm2022/eui-eds-eds-icon-button.mjs.map +1 -1
  167. package/fesm2022/eui-eds-eds-icon-state.mjs +38 -34
  168. package/fesm2022/eui-eds-eds-icon-state.mjs.map +1 -1
  169. package/fesm2022/eui-eds-eds-icon.mjs +92 -107
  170. package/fesm2022/eui-eds-eds-icon.mjs.map +1 -1
  171. package/fesm2022/eui-eds-eds-language-selector.mjs +67 -0
  172. package/fesm2022/eui-eds-eds-language-selector.mjs.map +1 -0
  173. package/fesm2022/eui-eds-eds-menu.mjs +90 -0
  174. package/fesm2022/eui-eds-eds-menu.mjs.map +1 -0
  175. package/fesm2022/eui-eds-eds-overlay.mjs +141 -0
  176. package/fesm2022/eui-eds-eds-overlay.mjs.map +1 -0
  177. package/fesm2022/eui-eds-eds-page.mjs +129 -0
  178. package/fesm2022/eui-eds-eds-page.mjs.map +1 -0
  179. package/fesm2022/eui-eds-eds-resizable.mjs +193 -0
  180. package/fesm2022/eui-eds-eds-resizable.mjs.map +1 -0
  181. package/fesm2022/eui-eds-eds-shell.mjs +481 -0
  182. package/fesm2022/eui-eds-eds-shell.mjs.map +1 -0
  183. package/fesm2022/eui-eds-eds-tabs.mjs +71 -101
  184. package/fesm2022/eui-eds-eds-tabs.mjs.map +1 -1
  185. package/fesm2022/eui-eds-eds-tag.mjs +74 -77
  186. package/fesm2022/eui-eds-eds-tag.mjs.map +1 -1
  187. package/fesm2022/eui-eds-eds-tooltip.mjs +23 -23
  188. package/fesm2022/eui-eds-eds-tooltip.mjs.map +1 -1
  189. package/fesm2022/eui-eds-eds-user-profile.mjs +231 -0
  190. package/fesm2022/eui-eds-eds-user-profile.mjs.map +1 -0
  191. package/fesm2022/eui-eds-shared.mjs +255 -243
  192. package/fesm2022/eui-eds-shared.mjs.map +1 -1
  193. package/package.json +29 -1
  194. package/types/eui-eds-eds-alert.d.ts +7 -29
  195. package/types/eui-eds-eds-alert.d.ts.map +1 -1
  196. package/types/eui-eds-eds-avatar.d.ts +11 -12
  197. package/types/eui-eds-eds-avatar.d.ts.map +1 -1
  198. package/types/eui-eds-eds-badge.d.ts +15 -20
  199. package/types/eui-eds-eds-badge.d.ts.map +1 -1
  200. package/types/eui-eds-eds-button.d.ts +22 -30
  201. package/types/eui-eds-eds-button.d.ts.map +1 -1
  202. package/types/eui-eds-eds-chip.d.ts +36 -36
  203. package/types/eui-eds-eds-chip.d.ts.map +1 -1
  204. package/types/eui-eds-eds-icon-button.d.ts +13 -16
  205. package/types/eui-eds-eds-icon-button.d.ts.map +1 -1
  206. package/types/eui-eds-eds-icon-state.d.ts +8 -8
  207. package/types/eui-eds-eds-icon-state.d.ts.map +1 -1
  208. package/types/eui-eds-eds-icon.d.ts +22 -29
  209. package/types/eui-eds-eds-icon.d.ts.map +1 -1
  210. package/types/eui-eds-eds-language-selector.d.ts +34 -0
  211. package/types/eui-eds-eds-language-selector.d.ts.map +1 -0
  212. package/types/eui-eds-eds-menu.d.ts +65 -0
  213. package/types/eui-eds-eds-menu.d.ts.map +1 -0
  214. package/types/eui-eds-eds-overlay.d.ts +64 -0
  215. package/types/eui-eds-eds-overlay.d.ts.map +1 -0
  216. package/types/eui-eds-eds-page.d.ts +63 -0
  217. package/types/eui-eds-eds-page.d.ts.map +1 -0
  218. package/types/eui-eds-eds-resizable.d.ts +49 -0
  219. package/types/eui-eds-eds-resizable.d.ts.map +1 -0
  220. package/types/eui-eds-eds-shell.d.ts +229 -0
  221. package/types/eui-eds-eds-shell.d.ts.map +1 -0
  222. package/types/eui-eds-eds-tabs.d.ts +32 -30
  223. package/types/eui-eds-eds-tabs.d.ts.map +1 -1
  224. package/types/eui-eds-eds-tag.d.ts +22 -25
  225. package/types/eui-eds-eds-tag.d.ts.map +1 -1
  226. package/types/eui-eds-eds-tooltip.d.ts +16 -16
  227. package/types/eui-eds-eds-user-profile.d.ts +78 -0
  228. package/types/eui-eds-eds-user-profile.d.ts.map +1 -0
  229. package/types/eui-eds-shared.d.ts +82 -79
  230. package/types/eui-eds-shared.d.ts.map +1 -1
  231. package/docs/json/EuiBaseColorVariantsDirective.md +0 -21
  232. 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 &times;\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 &times;\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