@testgorilla/tgo-ui 8.19.0 → 9.0.0

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 (205) hide show
  1. package/components/accordion/index.d.ts +7 -7
  2. package/components/ai-audio-circle/index.d.ts +3 -3
  3. package/components/ai-caveat/index.d.ts +5 -5
  4. package/components/ai-feedback/index.d.ts +14 -14
  5. package/components/alert-banner/index.d.ts +8 -8
  6. package/components/autocomplete/index.d.ts +15 -16
  7. package/components/autocomplete-v2/index.d.ts +36 -32
  8. package/components/avatar/index.d.ts +7 -7
  9. package/components/badge/index.d.ts +6 -6
  10. package/components/breadcrumb/index.d.ts +11 -11
  11. package/components/button/index.d.ts +23 -13
  12. package/components/card/index.d.ts +4 -4
  13. package/components/checkbox/index.d.ts +24 -24
  14. package/components/core/index.d.ts +39 -31
  15. package/components/datepicker/index.d.ts +18 -18
  16. package/components/dialog/index.d.ts +29 -21
  17. package/components/divider/index.d.ts +4 -4
  18. package/components/donut-chart/index.d.ts +3 -3
  19. package/components/dropdown/index.d.ts +37 -33
  20. package/components/elevation-shadow/index.d.ts +3 -3
  21. package/components/empty-state/index.d.ts +7 -7
  22. package/components/field/index.d.ts +33 -44
  23. package/components/file-upload/index.d.ts +14 -13
  24. package/components/filter-button/index.d.ts +19 -19
  25. package/components/gaussian-chart/index.d.ts +8 -8
  26. package/components/icon/index.d.ts +20 -16
  27. package/components/icon-label/index.d.ts +5 -5
  28. package/components/inline-field/index.d.ts +20 -24
  29. package/components/logo/index.d.ts +2 -3
  30. package/components/media-dialog/index.d.ts +3 -3
  31. package/components/multi-input/index.d.ts +25 -16
  32. package/components/navbar/index.d.ts +30 -30
  33. package/components/overflow-menu/index.d.ts +20 -19
  34. package/components/page-header/index.d.ts +5 -5
  35. package/components/paginator/index.d.ts +4 -4
  36. package/components/password-criteria/index.d.ts +13 -12
  37. package/components/password-strength/index.d.ts +6 -6
  38. package/components/phone-input/index.d.ts +28 -30
  39. package/components/progress-bar/index.d.ts +5 -5
  40. package/components/prompt/index.d.ts +25 -25
  41. package/components/radial-progress/index.d.ts +5 -5
  42. package/components/radio-button/index.d.ts +28 -29
  43. package/components/rating/index.d.ts +5 -5
  44. package/components/scale/index.d.ts +4 -4
  45. package/components/segmented-bar/index.d.ts +8 -8
  46. package/components/segmented-button/index.d.ts +17 -16
  47. package/components/selectable-card/index.d.ts +6 -6
  48. package/components/side-navigation/index.d.ts +14 -14
  49. package/components/side-panel/index.d.ts +8 -8
  50. package/components/side-sheet/index.d.ts +19 -17
  51. package/components/snackbar/index.d.ts +16 -15
  52. package/components/spider-chart/index.d.ts +12 -12
  53. package/components/spinner/index.d.ts +5 -5
  54. package/components/stepper/index.d.ts +35 -35
  55. package/components/table/index.d.ts +36 -34
  56. package/components/tabs/index.d.ts +18 -17
  57. package/components/tag/index.d.ts +10 -10
  58. package/components/toggle/index.d.ts +10 -9
  59. package/components/tooltip/index.d.ts +16 -18
  60. package/components/universal-skills/index.d.ts +16 -16
  61. package/components/validation-error/index.d.ts +22 -10
  62. package/components/write-with-ai/index.d.ts +1 -1
  63. package/fesm2022/testgorilla-tgo-ui-components-accordion.mjs +36 -15
  64. package/fesm2022/testgorilla-tgo-ui-components-accordion.mjs.map +1 -1
  65. package/fesm2022/testgorilla-tgo-ui-components-ai-audio-circle.mjs +9 -12
  66. package/fesm2022/testgorilla-tgo-ui-components-ai-audio-circle.mjs.map +1 -1
  67. package/fesm2022/testgorilla-tgo-ui-components-ai-caveat.mjs +7 -10
  68. package/fesm2022/testgorilla-tgo-ui-components-ai-caveat.mjs.map +1 -1
  69. package/fesm2022/testgorilla-tgo-ui-components-ai-feedback.mjs +39 -27
  70. package/fesm2022/testgorilla-tgo-ui-components-ai-feedback.mjs.map +1 -1
  71. package/fesm2022/testgorilla-tgo-ui-components-alert-banner.mjs +25 -14
  72. package/fesm2022/testgorilla-tgo-ui-components-alert-banner.mjs.map +1 -1
  73. package/fesm2022/testgorilla-tgo-ui-components-audio-waveform.mjs +4 -2
  74. package/fesm2022/testgorilla-tgo-ui-components-audio-waveform.mjs.map +1 -1
  75. package/fesm2022/testgorilla-tgo-ui-components-autocomplete-v2.mjs +134 -117
  76. package/fesm2022/testgorilla-tgo-ui-components-autocomplete-v2.mjs.map +1 -1
  77. package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs +47 -48
  78. package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs.map +1 -1
  79. package/fesm2022/testgorilla-tgo-ui-components-avatar.mjs +30 -18
  80. package/fesm2022/testgorilla-tgo-ui-components-avatar.mjs.map +1 -1
  81. package/fesm2022/testgorilla-tgo-ui-components-badge.mjs +9 -12
  82. package/fesm2022/testgorilla-tgo-ui-components-badge.mjs.map +1 -1
  83. package/fesm2022/testgorilla-tgo-ui-components-breadcrumb.mjs +25 -18
  84. package/fesm2022/testgorilla-tgo-ui-components-breadcrumb.mjs.map +1 -1
  85. package/fesm2022/testgorilla-tgo-ui-components-button.mjs +155 -120
  86. package/fesm2022/testgorilla-tgo-ui-components-button.mjs.map +1 -1
  87. package/fesm2022/testgorilla-tgo-ui-components-card.mjs +7 -9
  88. package/fesm2022/testgorilla-tgo-ui-components-card.mjs.map +1 -1
  89. package/fesm2022/testgorilla-tgo-ui-components-checkbox.mjs +51 -47
  90. package/fesm2022/testgorilla-tgo-ui-components-checkbox.mjs.map +1 -1
  91. package/fesm2022/testgorilla-tgo-ui-components-checklist.mjs +1 -1
  92. package/fesm2022/testgorilla-tgo-ui-components-checklist.mjs.map +1 -1
  93. package/fesm2022/testgorilla-tgo-ui-components-core.mjs +2232 -2210
  94. package/fesm2022/testgorilla-tgo-ui-components-core.mjs.map +1 -1
  95. package/fesm2022/testgorilla-tgo-ui-components-datepicker.mjs +44 -25
  96. package/fesm2022/testgorilla-tgo-ui-components-datepicker.mjs.map +1 -1
  97. package/fesm2022/testgorilla-tgo-ui-components-dialog.mjs +55 -31
  98. package/fesm2022/testgorilla-tgo-ui-components-dialog.mjs.map +1 -1
  99. package/fesm2022/testgorilla-tgo-ui-components-divider.mjs +8 -11
  100. package/fesm2022/testgorilla-tgo-ui-components-divider.mjs.map +1 -1
  101. package/fesm2022/testgorilla-tgo-ui-components-donut-chart.mjs +8 -10
  102. package/fesm2022/testgorilla-tgo-ui-components-donut-chart.mjs.map +1 -1
  103. package/fesm2022/testgorilla-tgo-ui-components-dropdown.mjs +105 -90
  104. package/fesm2022/testgorilla-tgo-ui-components-dropdown.mjs.map +1 -1
  105. package/fesm2022/testgorilla-tgo-ui-components-elevation-shadow.mjs +5 -7
  106. package/fesm2022/testgorilla-tgo-ui-components-elevation-shadow.mjs.map +1 -1
  107. package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs +24 -13
  108. package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs.map +1 -1
  109. package/fesm2022/testgorilla-tgo-ui-components-field.mjs +65 -57
  110. package/fesm2022/testgorilla-tgo-ui-components-field.mjs.map +1 -1
  111. package/fesm2022/testgorilla-tgo-ui-components-file-upload.mjs +35 -23
  112. package/fesm2022/testgorilla-tgo-ui-components-file-upload.mjs.map +1 -1
  113. package/fesm2022/testgorilla-tgo-ui-components-filter-button.mjs +34 -27
  114. package/fesm2022/testgorilla-tgo-ui-components-filter-button.mjs.map +1 -1
  115. package/fesm2022/testgorilla-tgo-ui-components-gaussian-chart.mjs +26 -16
  116. package/fesm2022/testgorilla-tgo-ui-components-gaussian-chart.mjs.map +1 -1
  117. package/fesm2022/testgorilla-tgo-ui-components-icon-label.mjs +6 -7
  118. package/fesm2022/testgorilla-tgo-ui-components-icon-label.mjs.map +1 -1
  119. package/fesm2022/testgorilla-tgo-ui-components-icon.mjs +112 -81
  120. package/fesm2022/testgorilla-tgo-ui-components-icon.mjs.map +1 -1
  121. package/fesm2022/testgorilla-tgo-ui-components-inline-field.mjs +24 -24
  122. package/fesm2022/testgorilla-tgo-ui-components-inline-field.mjs.map +1 -1
  123. package/fesm2022/testgorilla-tgo-ui-components-logo.mjs +6 -6
  124. package/fesm2022/testgorilla-tgo-ui-components-logo.mjs.map +1 -1
  125. package/fesm2022/testgorilla-tgo-ui-components-media-card.mjs +6 -6
  126. package/fesm2022/testgorilla-tgo-ui-components-media-card.mjs.map +1 -1
  127. package/fesm2022/testgorilla-tgo-ui-components-media-dialog.mjs +4 -4
  128. package/fesm2022/testgorilla-tgo-ui-components-media-dialog.mjs.map +1 -1
  129. package/fesm2022/testgorilla-tgo-ui-components-multi-input.mjs +42 -21
  130. package/fesm2022/testgorilla-tgo-ui-components-multi-input.mjs.map +1 -1
  131. package/fesm2022/testgorilla-tgo-ui-components-navbar.mjs +44 -32
  132. package/fesm2022/testgorilla-tgo-ui-components-navbar.mjs.map +1 -1
  133. package/fesm2022/testgorilla-tgo-ui-components-overflow-menu.mjs +39 -21
  134. package/fesm2022/testgorilla-tgo-ui-components-overflow-menu.mjs.map +1 -1
  135. package/fesm2022/testgorilla-tgo-ui-components-page-header.mjs +10 -14
  136. package/fesm2022/testgorilla-tgo-ui-components-page-header.mjs.map +1 -1
  137. package/fesm2022/testgorilla-tgo-ui-components-paginator.mjs +7 -9
  138. package/fesm2022/testgorilla-tgo-ui-components-paginator.mjs.map +1 -1
  139. package/fesm2022/testgorilla-tgo-ui-components-password-criteria.mjs +33 -20
  140. package/fesm2022/testgorilla-tgo-ui-components-password-criteria.mjs.map +1 -1
  141. package/fesm2022/testgorilla-tgo-ui-components-password-strength.mjs +9 -12
  142. package/fesm2022/testgorilla-tgo-ui-components-password-strength.mjs.map +1 -1
  143. package/fesm2022/testgorilla-tgo-ui-components-phone-input.mjs +82 -73
  144. package/fesm2022/testgorilla-tgo-ui-components-phone-input.mjs.map +1 -1
  145. package/fesm2022/testgorilla-tgo-ui-components-popover.mjs.map +1 -1
  146. package/fesm2022/testgorilla-tgo-ui-components-progress-bar.mjs +8 -11
  147. package/fesm2022/testgorilla-tgo-ui-components-progress-bar.mjs.map +1 -1
  148. package/fesm2022/testgorilla-tgo-ui-components-prompt.mjs +47 -40
  149. package/fesm2022/testgorilla-tgo-ui-components-prompt.mjs.map +1 -1
  150. package/fesm2022/testgorilla-tgo-ui-components-radial-progress.mjs +7 -10
  151. package/fesm2022/testgorilla-tgo-ui-components-radial-progress.mjs.map +1 -1
  152. package/fesm2022/testgorilla-tgo-ui-components-radio-button.mjs +43 -48
  153. package/fesm2022/testgorilla-tgo-ui-components-radio-button.mjs.map +1 -1
  154. package/fesm2022/testgorilla-tgo-ui-components-rating.mjs +7 -12
  155. package/fesm2022/testgorilla-tgo-ui-components-rating.mjs.map +1 -1
  156. package/fesm2022/testgorilla-tgo-ui-components-scale-table.mjs +1 -1
  157. package/fesm2022/testgorilla-tgo-ui-components-scale-table.mjs.map +1 -1
  158. package/fesm2022/testgorilla-tgo-ui-components-scale.mjs +6 -10
  159. package/fesm2022/testgorilla-tgo-ui-components-scale.mjs.map +1 -1
  160. package/fesm2022/testgorilla-tgo-ui-components-segmented-bar.mjs +30 -16
  161. package/fesm2022/testgorilla-tgo-ui-components-segmented-bar.mjs.map +1 -1
  162. package/fesm2022/testgorilla-tgo-ui-components-segmented-button.mjs +15 -14
  163. package/fesm2022/testgorilla-tgo-ui-components-segmented-button.mjs.map +1 -1
  164. package/fesm2022/testgorilla-tgo-ui-components-segmented-toggle.mjs.map +1 -1
  165. package/fesm2022/testgorilla-tgo-ui-components-selectable-card.mjs +8 -11
  166. package/fesm2022/testgorilla-tgo-ui-components-selectable-card.mjs.map +1 -1
  167. package/fesm2022/testgorilla-tgo-ui-components-side-navigation.mjs +27 -21
  168. package/fesm2022/testgorilla-tgo-ui-components-side-navigation.mjs.map +1 -1
  169. package/fesm2022/testgorilla-tgo-ui-components-side-panel.mjs +5 -2
  170. package/fesm2022/testgorilla-tgo-ui-components-side-panel.mjs.map +1 -1
  171. package/fesm2022/testgorilla-tgo-ui-components-side-sheet.mjs +34 -26
  172. package/fesm2022/testgorilla-tgo-ui-components-side-sheet.mjs.map +1 -1
  173. package/fesm2022/testgorilla-tgo-ui-components-skeleton.mjs +5 -5
  174. package/fesm2022/testgorilla-tgo-ui-components-skeleton.mjs.map +1 -1
  175. package/fesm2022/testgorilla-tgo-ui-components-slider.mjs +10 -10
  176. package/fesm2022/testgorilla-tgo-ui-components-slider.mjs.map +1 -1
  177. package/fesm2022/testgorilla-tgo-ui-components-snackbar.mjs +31 -20
  178. package/fesm2022/testgorilla-tgo-ui-components-snackbar.mjs.map +1 -1
  179. package/fesm2022/testgorilla-tgo-ui-components-spider-chart.mjs +28 -23
  180. package/fesm2022/testgorilla-tgo-ui-components-spider-chart.mjs.map +1 -1
  181. package/fesm2022/testgorilla-tgo-ui-components-spinner.mjs +9 -12
  182. package/fesm2022/testgorilla-tgo-ui-components-spinner.mjs.map +1 -1
  183. package/fesm2022/testgorilla-tgo-ui-components-stepper.mjs +85 -79
  184. package/fesm2022/testgorilla-tgo-ui-components-stepper.mjs.map +1 -1
  185. package/fesm2022/testgorilla-tgo-ui-components-table.mjs +74 -51
  186. package/fesm2022/testgorilla-tgo-ui-components-table.mjs.map +1 -1
  187. package/fesm2022/testgorilla-tgo-ui-components-tabs.mjs +57 -25
  188. package/fesm2022/testgorilla-tgo-ui-components-tabs.mjs.map +1 -1
  189. package/fesm2022/testgorilla-tgo-ui-components-tag.mjs +16 -17
  190. package/fesm2022/testgorilla-tgo-ui-components-tag.mjs.map +1 -1
  191. package/fesm2022/testgorilla-tgo-ui-components-toggle.mjs +25 -17
  192. package/fesm2022/testgorilla-tgo-ui-components-toggle.mjs.map +1 -1
  193. package/fesm2022/testgorilla-tgo-ui-components-tooltip.mjs +44 -28
  194. package/fesm2022/testgorilla-tgo-ui-components-tooltip.mjs.map +1 -1
  195. package/fesm2022/testgorilla-tgo-ui-components-universal-skills.mjs +34 -27
  196. package/fesm2022/testgorilla-tgo-ui-components-universal-skills.mjs.map +1 -1
  197. package/fesm2022/testgorilla-tgo-ui-components-validation-error.mjs +30 -14
  198. package/fesm2022/testgorilla-tgo-ui-components-validation-error.mjs.map +1 -1
  199. package/fesm2022/testgorilla-tgo-ui-components-write-with-ai.mjs +13 -11
  200. package/fesm2022/testgorilla-tgo-ui-components-write-with-ai.mjs.map +1 -1
  201. package/fesm2022/testgorilla-tgo-ui.mjs +6 -8
  202. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  203. package/index.d.ts +4 -4
  204. package/mcp/catalog.json +1 -1
  205. package/package.json +1 -2
@@ -1,23 +1,17 @@
1
- import * as i1 from '@angular/cdk/a11y';
2
- import { LiveAnnouncer, A11yModule } from '@angular/cdk/a11y';
1
+ import { LiveAnnouncer, CdkTrapFocus, A11yModule } from '@angular/cdk/a11y';
3
2
  import { BreakpointObserver } from '@angular/cdk/layout';
3
+ import { NgTemplateOutlet, AsyncPipe, CommonModule } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
5
  import { inject, DestroyRef, input, model, output, signal, computed, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
6
6
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
7
- import * as i4 from '@testgorilla/tgo-ui/components/avatar';
8
- import { AvatarSize, AvatarComponentModule } from '@testgorilla/tgo-ui/components/avatar';
9
- import * as i8 from '@testgorilla/tgo-ui/components/core';
10
- import { UiTranslatePipe, ScreenBreakpoints } from '@testgorilla/tgo-ui/components/core';
11
- import * as i6 from '@testgorilla/tgo-ui/components/logo';
12
- import { LogoTypeEnum, LogoComponentModule } from '@testgorilla/tgo-ui/components/logo';
13
7
  import { take } from 'rxjs';
14
- import * as i2 from '@angular/common';
15
- import { CommonModule } from '@angular/common';
16
- import * as i3 from '@testgorilla/tgo-ui/components/button';
17
- import { ButtonComponentModule } from '@testgorilla/tgo-ui/components/button';
18
- import * as i5 from '@testgorilla/tgo-ui/components/icon';
8
+ import { AvatarSize, AvatarComponent, AvatarComponentModule } from '@testgorilla/tgo-ui/components/avatar';
9
+ import { ButtonComponent, ButtonComponentModule } from '@testgorilla/tgo-ui/components/button';
10
+ import { UiTranslatePipe, ScreenBreakpoints } from '@testgorilla/tgo-ui/components/core';
11
+ import * as i2 from '@testgorilla/tgo-ui/components/icon';
19
12
  import { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';
20
- import * as i7 from '@testgorilla/tgo-ui/components/overflow-menu';
13
+ import { LogoTypeEnum, LogoComponent, LogoComponentModule } from '@testgorilla/tgo-ui/components/logo';
14
+ import * as i1 from '@testgorilla/tgo-ui/components/overflow-menu';
21
15
  import { OverflowMenuComponentModule } from '@testgorilla/tgo-ui/components/overflow-menu';
22
16
 
23
17
  const OVERFLOW_MENU_CONFIG = {
@@ -155,37 +149,48 @@ class SideNavigationComponent {
155
149
  return typeof matchMedia === 'function' && matchMedia('(prefers-reduced-motion: reduce)').matches;
156
150
  }
157
151
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SideNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
158
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: SideNavigationComponent, isStandalone: false, selector: "ui-side-navigation", inputs: { activeRoute: { classPropertyName: "activeRoute", publicName: "activeRoute", isSignal: true, isRequired: false, transformFunction: null }, mainCta: { classPropertyName: "mainCta", publicName: "mainCta", isSignal: true, isRequired: false, transformFunction: null }, mainNavigation: { classPropertyName: "mainNavigation", publicName: "mainNavigation", isSignal: true, isRequired: true, transformFunction: null }, secondaryNavigation: { classPropertyName: "secondaryNavigation", publicName: "secondaryNavigation", isSignal: true, isRequired: false, transformFunction: null }, contentTemplateExtendedRef: { classPropertyName: "contentTemplateExtendedRef", publicName: "contentTemplateExtendedRef", isSignal: true, isRequired: false, transformFunction: null }, contentTemplateCollapsedRef: { classPropertyName: "contentTemplateCollapsedRef", publicName: "contentTemplateCollapsedRef", isSignal: true, isRequired: false, transformFunction: null }, account: { classPropertyName: "account", publicName: "account", isSignal: true, isRequired: false, transformFunction: null }, appContentTemplateRef: { classPropertyName: "appContentTemplateRef", publicName: "appContentTemplateRef", isSignal: true, isRequired: false, transformFunction: null }, applicationTheme: { classPropertyName: "applicationTheme", publicName: "applicationTheme", isSignal: true, isRequired: false, transformFunction: null }, collapseToggleLabel: { classPropertyName: "collapseToggleLabel", publicName: "collapseToggleLabel", isSignal: true, isRequired: false, transformFunction: null }, expandToggleLabel: { classPropertyName: "expandToggleLabel", publicName: "expandToggleLabel", isSignal: true, isRequired: false, transformFunction: null }, mobileMenuLabel: { classPropertyName: "mobileMenuLabel", publicName: "mobileMenuLabel", isSignal: true, isRequired: false, transformFunction: null }, mobileCloseLabel: { classPropertyName: "mobileCloseLabel", publicName: "mobileCloseLabel", isSignal: true, isRequired: false, transformFunction: null }, navAriaLabel: { classPropertyName: "navAriaLabel", publicName: "navAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isCollapsed: "isCollapsedChange", mainCtaClicked: "mainCtaClicked", navigate: "navigate", accountMenuSelected: "accountMenuSelected", logoClicked: "logoClicked" }, host: { listeners: { "keydown.escape": "onEscapeKey()" } }, providers: [UiTranslatePipe], ngImport: i0, template: "<div class=\"mobile-navbar\">\n <ui-logo [allowResizing]=\"true\" [width]=\"150\" [type]=\"logoType.DEFAULT\" (click)=\"logoClicked.emit()\"></ui-logo>\n\n <ui-button\n data-testid=\"navigation-collapse-mobile\"\n data-test-role=\"navigation-collapse\"\n [applicationTheme]=\"applicationTheme()\"\n [variant]=\"'menuTrigger'\"\n [iconName]=\"isCollapsed() ? 'Menu-burger' : 'Close'\"\n [ariaLabel]=\"mobileToggleAriaLabelOverride() ?? (mobileToggleAriaKey() | uiTranslate | async) ?? ''\"\n [ariaExpanded]=\"!isCollapsed()\"\n [ariaControls]=\"drawerControlsId\"\n [tooltip]=\"mobileToggleAriaLabelOverride() ?? (mobileToggleAriaKey() | uiTranslate | async) ?? ''\"\n tooltipPosition=\"left\"\n (buttonClickEvent)=\"toggleCollapsed()\"\n class=\"navigation-collapse-button\"\n ></ui-button>\n</div>\n\n<div class=\"main-container\">\n <nav\n [id]=\"drawerControlsId\"\n role=\"navigation\"\n [attr.aria-label]=\"navAriaLabel() ?? (translationKey.NAV | uiTranslate | async)\"\n class=\"side-navigation-container\"\n [class.collapsed]=\"isCollapsed()\"\n [class.expanded]=\"!isCollapsed()\"\n [cdkTrapFocus]=\"trapFocus()\"\n [cdkTrapFocusAutoCapture]=\"trapFocus()\"\n >\n <div class=\"zone-logo-row\">\n <div class=\"header\" [class.collapsed]=\"isCollapsed()\">\n <ui-logo\n class=\"logo-brandmark\"\n [allowResizing]=\"true\"\n [width]=\"19\"\n [type]=\"logoType.PRIMARY_BRANDMARK_PINK\"\n (click)=\"logoClicked.emit()\"\n ></ui-logo>\n <ui-logo\n class=\"logo-lockup\"\n [allowResizing]=\"true\"\n [width]=\"136\"\n [type]=\"logoType.DEFAULT\"\n (click)=\"logoClicked.emit()\"\n ></ui-logo>\n\n <ui-button\n data-testid=\"navigation-collapse\"\n data-test-role=\"navigation-collapse\"\n [applicationTheme]=\"applicationTheme()\"\n [variant]=\"'menuTrigger'\"\n [iconName]=\"isCollapsed() ? 'Sidebar-open-in-line' : 'Sidebar-close-in-line'\"\n [ariaLabel]=\"toggleAriaLabelOverride() ?? (toggleAriaKey() | uiTranslate | async) ?? ''\"\n [ariaPressed]=\"isCollapsed()\"\n [tooltip]=\"toggleAriaLabelOverride() ?? (toggleAriaKey() | uiTranslate | async) ?? ''\"\n tooltipPosition=\"below\"\n (buttonClickEvent)=\"toggleCollapsed()\"\n [class.collapsed]=\"isCollapsed()\"\n class=\"navigation-collapse-button\"\n ></ui-button>\n </div>\n </div>\n\n <div class=\"zone-primary-nav\">\n @if (mainCta(); as cta) {\n <div class=\"main-cta\">\n <ui-button\n data-testid=\"main-cta\"\n data-test-role=\"main-cta\"\n [applicationTheme]=\"applicationTheme()\"\n [fullWidth]=\"true\"\n [variant]=\"cta.variant\"\n iconPosition=\"left\"\n [iconName]=\"cta.icon\"\n [label]=\"isCollapsed() && !isExpandingOrCollapsing() ? '' : cta.label\"\n [ariaLabel]=\"cta.label\"\n [tooltip]=\"isCollapsed() ? cta.label : ''\"\n tooltipPosition=\"right\"\n (buttonClickEvent)=\"mainCtaClicked.emit()\"\n ></ui-button>\n </div>\n }\n\n <ul class=\"navigation-list\">\n @for (item of mainNavigation(); track item.id) {\n <li>\n <ng-container [ngTemplateOutlet]=\"navigationItem\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </li>\n }\n </ul>\n </div>\n\n <div class=\"zone-utility-nav\">\n @if (secondaryNavigation(); as secondary) {\n <ul class=\"navigation-list\">\n @for (item of secondary; track item.id) {\n <li>\n <ng-container [ngTemplateOutlet]=\"navigationItem\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </li>\n }\n </ul>\n }\n </div>\n\n @if (account() || contentTemplateExtendedRef() || contentTemplateCollapsedRef()) {\n <div class=\"zone-account\">\n @if (contentTemplateExtendedRef(); as extendedRef) {\n @if (!isCollapsed() && !isExpandingOrCollapsing()) {\n <ng-container [ngTemplateOutlet]=\"extendedRef\"></ng-container>\n }\n }\n\n @if (contentTemplateCollapsedRef(); as collapsedRef) {\n @if (isCollapsed() || isExpandingOrCollapsing()) {\n <ng-container [ngTemplateOutlet]=\"collapsedRef\"></ng-container>\n }\n }\n\n @if (account(); as accountValue) {\n <ui-overflow-menu\n [applicationTheme]=\"applicationTheme()\"\n [contentTemplateRef]=\"userInfo\"\n [buttons]=\"accountValue.menu\"\n [isDynamicMenu]=\"true\"\n [class.collapsed]=\"isCollapsed() && !isExpandingOrCollapsing()\"\n (selectItem)=\"onSelectMenuItem($event)\"\n [menuConfig]=\"overflowMenuConfig()\"\n ></ui-overflow-menu>\n }\n </div>\n }\n </nav>\n <div class=\"app-container\" [class.collapsed]=\"isCollapsed()\" [class.expanded]=\"!isCollapsed()\">\n @if (appContentTemplateRef(); as appRef) {\n <ng-container [ngTemplateOutlet]=\"appRef\"></ng-container>\n }\n @if (isMobileOrTablet() && !isCollapsed()) {\n <button\n type=\"button\"\n class=\"backdrop\"\n [attr.aria-label]=\"mobileCloseLabel() ?? (translationKey.MOBILE_CLOSE | uiTranslate | async) ?? ''\"\n (click)=\"toggleCollapsed()\"\n ></button>\n }\n </div>\n</div>\n\n<ng-template #navigationItem let-item=\"item\">\n @if (item) {\n <div class=\"menu-item\" [attr.aria-current]=\"activeRoutesMap().get(item.url) ? 'page' : null\">\n <ui-button\n [attr.data-testid]=\"item.id\"\n data-test-role=\"menu-item\"\n [applicationTheme]=\"applicationTheme()\"\n [fullWidth]=\"true\"\n [disabledScaleOnClick]=\"true\"\n [variant]=\"'menuCell'\"\n iconPosition=\"left\"\n [iconName]=\"item.icon\"\n [label]=\"isCollapsed() && !isExpandingOrCollapsing() ? '' : item.text\"\n (buttonClickEvent)=\"onNavigateClick(item.id)\"\n (keydown.Tab)=\"$event.stopPropagation()\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n [ariaLabel]=\"item.text\"\n [class.active]=\"activeRoutesMap().get(item.url)\"\n [buttonBadgeConfig]=\"isCollapsed() && !isExpandingOrCollapsing() ? undefined : item?.badgeOptions\"\n [tooltip]=\"isCollapsed() ? item.text : undefined\"\n tooltipPosition=\"right\"\n [iconFilled]=\"!!activeRoutesMap().get(item.url)\"\n ></ui-button>\n </div>\n }\n</ng-template>\n\n<ng-template #userInfo>\n @if (account(); as accountValue) {\n <div class=\"user-info\">\n <ui-avatar [size]=\"isCollapsed() ? avatarSize.MEDIUM : avatarSize.SMALL\" [name]=\"accountValue.name\"></ui-avatar>\n @if (!isCollapsed()) {\n <span class=\"user-name\">{{ accountValue.name }}</span>\n <ui-icon class=\"user-chevron\" name=\"Arrow-chevron-right-in-line\" size=\"24\" aria-hidden=\"true\"></ui-icon>\n }\n </div>\n }\n</ng-template>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{display:flex;flex-direction:column}.mobile-navbar{background:#fff;display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100vw;position:fixed;top:0;left:0;padding:16px 24px;height:64px;z-index:11}.mobile-navbar ui-logo{top:2px}@media(min-width:600px){.mobile-navbar{display:none}}.main-container{display:flex;flex-direction:row;width:100vw;height:100vh}.main-container .app-container{flex:1;min-width:0;overflow:hidden auto;transition:margin-left .18s cubic-bezier(.4,0,.2,1),padding .18s cubic-bezier(.4,0,.2,1)}.main-container .app-container .backdrop{display:none;padding:0;border:0;background:transparent;cursor:pointer}.main-container .app-container.expanded .backdrop{display:block}@media(prefers-reduced-motion:reduce){.main-container .app-container{transition:none}}@media(max-width:600px){.main-container .app-container{margin-top:64px}.main-container .app-container.expanded .backdrop{position:fixed;top:64px;left:240px;background:#00000040;width:calc(100vw - 240px);height:calc(100vh - 64px);z-index:8}}@media(min-width:600px)and (max-width:1024px){.main-container .app-container{margin-left:72px}.main-container .app-container.expanded .backdrop{position:absolute;top:0;left:0;background:#00000040;width:100%;height:100%;z-index:2}}@media(min-width:1024px){.main-container .app-container.collapsed{margin-left:72px}.main-container .app-container.expanded{margin-left:240px}}.side-navigation-container{position:fixed;z-index:10;display:flex;flex-direction:column;background:#fff;height:100vh;width:240px;border-right:1px solid #e9e9e9;transition:width .18s cubic-bezier(.4,0,.2,1),left .18s cubic-bezier(.4,0,.2,1)}@media(prefers-reduced-motion:reduce){.side-navigation-container{transition:none}}.side-navigation-container.collapsed{width:72px}@media(max-width:600px){.side-navigation-container{width:240px;top:64px;height:calc(100vh - 64px)}.side-navigation-container .zone-logo-row{display:none!important}.side-navigation-container.expanded{left:0}.side-navigation-container.collapsed{width:240px;left:-240px}}.side-navigation-container .zone-logo-row{flex:0 0 auto;height:56px;padding:16px 12px 16px 26px;display:flex;align-items:center;border-bottom:1px solid #e9e9e9;position:relative}.side-navigation-container .zone-logo-row .header{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.side-navigation-container .zone-logo-row .header ui-logo{cursor:pointer;flex:0 0 auto}.side-navigation-container .zone-logo-row .header .logo-brandmark{position:absolute;left:26px;top:50%;transform:translateY(-50%);opacity:0;pointer-events:none;transition:opacity 90ms cubic-bezier(.4,0,.2,1) 90ms}.side-navigation-container .zone-logo-row .header .logo-lockup{opacity:1;max-width:136px;overflow:hidden;transition:opacity .18s cubic-bezier(.4,0,.2,1),max-width .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container .zone-logo-row .header .navigation-collapse-button ::ng-deep .mat-mdc-button-persistent-ripple{background:#fff}.side-navigation-container .zone-logo-row .navigation-collapse-button{position:absolute;top:8px;right:12px;z-index:2;background:transparent;border:1px solid transparent;border-radius:50%;box-shadow:0 2px 8px #0000;transform:translate(0);transition:right .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1),background .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container.collapsed .zone-logo-row .header .logo-brandmark{opacity:1;pointer-events:auto;transition:opacity 90ms cubic-bezier(.4,0,.2,1)}.side-navigation-container.collapsed .zone-logo-row .header .logo-lockup{opacity:0;max-width:0;pointer-events:none}.side-navigation-container.collapsed .zone-logo-row .navigation-collapse-button{top:8px;right:0;transform:translate(50%);background:#fff;border-color:#e9e9e9;box-shadow:0 2px 8px #00000014}.side-navigation-container .zone-primary-nav{flex:1 1 auto;min-height:0;overflow:hidden auto;display:flex;flex-direction:column;gap:8px;padding:12px}.side-navigation-container .zone-primary-nav .main-cta{width:100%}.side-navigation-container .zone-primary-nav .main-cta ::ng-deep ui-button button{overflow:hidden;padding-left:12px!important;padding-right:12px!important}.side-navigation-container .zone-primary-nav .main-cta ::ng-deep ui-button button .icon-label-wrapper{justify-content:flex-start;width:100%}.side-navigation-container .zone-primary-nav .main-cta ::ng-deep ui-button button span.icon{transition:margin-right .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container .zone-primary-nav .main-cta ::ng-deep ui-button button span.label{opacity:1;transition:opacity .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container.collapsed .zone-primary-nav .main-cta ::ng-deep ui-button button span.icon{margin-right:0!important}.side-navigation-container.collapsed .zone-primary-nav .main-cta ::ng-deep ui-button button span.label{opacity:0;pointer-events:none}.side-navigation-container .zone-utility-nav{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;padding:12px;border-top:1px solid #e9e9e9;align-items:stretch}.side-navigation-container .zone-utility-nav:empty{display:none}.side-navigation-container.collapsed .zone-account{align-items:center;padding:12px}.side-navigation-container.collapsed .zone-account .user-info{transform:translate(-8px)}.side-navigation-container .zone-account{flex:0 0 auto;width:100%;padding:12px;border-top:1px solid #e9e9e9;background:#fff;display:flex;flex-direction:column;gap:8px;align-items:stretch}.side-navigation-container .zone-account>ui-button,.side-navigation-container .zone-account>a,.side-navigation-container .zone-account>button{width:100%}.side-navigation-container .zone-account ui-overflow-menu{width:100%}.side-navigation-container .zone-account ui-avatar ::ng-deep .avatar-container{transition:width .18s cubic-bezier(.4,0,.2,1),height .18s cubic-bezier(.4,0,.2,1),font-size .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container .zone-account .user-info{display:flex;align-items:center;padding:8px 0;width:100%;gap:12px;transition:transform .18s cubic-bezier(.4,0,.2,1);transform:translate(0)}.side-navigation-container .zone-account .user-info .user-name,.side-navigation-container .zone-account .user-info .user-chevron{opacity:1;transition:opacity .18s cubic-bezier(.4,0,.2,1)}@starting-style{.side-navigation-container .zone-account .user-info .user-name,.side-navigation-container .zone-account .user-info .user-chevron{opacity:0}}.side-navigation-container .zone-account .user-info .user-name{flex:1 1 auto;font-weight:500;font-size:14px;line-height:22px;font-family:ModernGothic,sans-serif;color:#242424;text-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-navigation-container .zone-account .user-info .user-chevron{flex:0 0 auto;color:#666}.side-navigation-container .navigation-list{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:8px}.side-navigation-container .navigation-list li{width:100%}.side-navigation-container .menu-item{width:100%;height:40px;display:flex;font-size:14px;font-weight:700;font-family:ModernGothic,sans-serif;flex-direction:row;align-items:center;cursor:pointer}.side-navigation-container .menu-item ui-button{width:100%}.side-navigation-container .menu-item ::ng-deep ui-button button{padding:8px 12px!important;border-radius:10px!important;min-height:40px;overflow:hidden}.side-navigation-container .menu-item ::ng-deep ui-button button span.icon{margin-right:12px!important;transition:margin-right .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container .menu-item ::ng-deep ui-button button span.label{transition:opacity .18s cubic-bezier(.4,0,.2,1),max-width .18s cubic-bezier(.4,0,.2,1);opacity:1;max-width:240px}.side-navigation-container .menu-item ::ng-deep ui-button.active button{background-color:#fff2fc!important;color:#a90686!important}.side-navigation-container .menu-item ::ng-deep ui-button.active button .icon,.side-navigation-container .menu-item ::ng-deep ui-button.active button .label{color:#a90686!important}.side-navigation-container .menu-item ::ng-deep ui-button.active button .mat-mdc-button-touch-target{background-color:transparent}.side-navigation-container.collapsed .menu-item ::ng-deep ui-button button{width:100%!important}.side-navigation-container.collapsed .menu-item ::ng-deep ui-button button span.icon{margin-right:0!important}.side-navigation-container.collapsed .menu-item ::ng-deep ui-button button span.label{opacity:0;max-width:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.side-navigation-container .menu-item ::ng-deep ui-button button,.side-navigation-container .menu-item ::ng-deep ui-button button span.icon,.side-navigation-container .menu-item ::ng-deep ui-button button span.label,.side-navigation-container .zone-logo-row .header .logo-brandmark,.side-navigation-container .zone-logo-row .header .logo-lockup,.side-navigation-container .zone-logo-row .navigation-collapse-button{transition:none}}::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell,::ng-deep ui-overflow-menu button.mat-mdc-menu-trigger.content-template{outline-offset:-2px!important}::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:hover,::ng-deep ui-overflow-menu button.mat-mdc-menu-trigger.content-template:hover{background-color:#f4f4f4!important}::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:active,::ng-deep ui-overflow-menu button.mat-mdc-menu-trigger.content-template:active{background-color:#e9e9e9!important}::ng-deep ui-button.active button.mat-mdc-unelevated-button.menuCell:hover{background-color:#ffe6fa!important}::ng-deep ui-overflow-menu button.overflow-menu-opener.content-template{padding:0 8px}@media(min-width:600px){::ng-deep .cdk-overlay-connected-position-bounding-box:has(.cdk-overlay-pane .collapsed-menu){left:78px!important}::ng-deep .cdk-overlay-connected-position-bounding-box:has(.cdk-overlay-pane .expanded-menu){left:246px!important}}@media(max-width:599px){::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.expanded-menu,::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.collapsed-menu{max-width:calc(100vw - 32px);min-width:0}}::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.expanded-menu,::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.collapsed-menu{min-width:280px}::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.expanded-menu button.mat-mdc-menu-item.cdk-keyboard-focused,::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.collapsed-menu button.mat-mdc-menu-item.cdk-keyboard-focused{background-color:#f4f4f4}::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.expanded-menu button.mat-mdc-menu-item.cdk-keyboard-focused.is-destructive,::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.collapsed-menu button.mat-mdc-menu-item.cdk-keyboard-focused.is-destructive{background-color:#ffeae6}\n"], dependencies: [{ kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "loadingWithLabel", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaExpanded", "ariaControls", "ariaPressed", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role", "iconFilled"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: i4.AvatarComponent, selector: "ui-avatar", inputs: ["size", "imageUrl", "name", "tooltipText", "allowEdit", "applicationTheme", "backgroundColor"], outputs: ["editClick"] }, { kind: "component", type: i5.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i6.LogoComponent, selector: "ui-logo", inputs: ["type", "applicationTheme", "label", "width", "allowResizing"] }, { kind: "component", type: i7.OverflowMenuComponent, selector: "ui-overflow-menu", inputs: ["buttons", "iconTrigger", "menuLabel", "applicationTheme", "ariaLabel", "ariaRequired", "describedby", "contentTemplateRef", "buttonVariant", "buttonSize", "menuConfig", "isDynamicMenu", "withRemovableOption"], outputs: ["selectItem", "menuOpened", "menuClosed"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
152
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: SideNavigationComponent, isStandalone: true, selector: "ui-side-navigation", inputs: { activeRoute: { classPropertyName: "activeRoute", publicName: "activeRoute", isSignal: true, isRequired: false, transformFunction: null }, mainCta: { classPropertyName: "mainCta", publicName: "mainCta", isSignal: true, isRequired: false, transformFunction: null }, mainNavigation: { classPropertyName: "mainNavigation", publicName: "mainNavigation", isSignal: true, isRequired: true, transformFunction: null }, secondaryNavigation: { classPropertyName: "secondaryNavigation", publicName: "secondaryNavigation", isSignal: true, isRequired: false, transformFunction: null }, contentTemplateExtendedRef: { classPropertyName: "contentTemplateExtendedRef", publicName: "contentTemplateExtendedRef", isSignal: true, isRequired: false, transformFunction: null }, contentTemplateCollapsedRef: { classPropertyName: "contentTemplateCollapsedRef", publicName: "contentTemplateCollapsedRef", isSignal: true, isRequired: false, transformFunction: null }, account: { classPropertyName: "account", publicName: "account", isSignal: true, isRequired: false, transformFunction: null }, appContentTemplateRef: { classPropertyName: "appContentTemplateRef", publicName: "appContentTemplateRef", isSignal: true, isRequired: false, transformFunction: null }, applicationTheme: { classPropertyName: "applicationTheme", publicName: "applicationTheme", isSignal: true, isRequired: false, transformFunction: null }, collapseToggleLabel: { classPropertyName: "collapseToggleLabel", publicName: "collapseToggleLabel", isSignal: true, isRequired: false, transformFunction: null }, expandToggleLabel: { classPropertyName: "expandToggleLabel", publicName: "expandToggleLabel", isSignal: true, isRequired: false, transformFunction: null }, mobileMenuLabel: { classPropertyName: "mobileMenuLabel", publicName: "mobileMenuLabel", isSignal: true, isRequired: false, transformFunction: null }, mobileCloseLabel: { classPropertyName: "mobileCloseLabel", publicName: "mobileCloseLabel", isSignal: true, isRequired: false, transformFunction: null }, navAriaLabel: { classPropertyName: "navAriaLabel", publicName: "navAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isCollapsed: "isCollapsedChange", mainCtaClicked: "mainCtaClicked", navigate: "navigate", accountMenuSelected: "accountMenuSelected", logoClicked: "logoClicked" }, host: { listeners: { "keydown.escape": "onEscapeKey()" } }, providers: [UiTranslatePipe], ngImport: i0, template: "<div class=\"mobile-navbar\">\n <ui-logo [allowResizing]=\"true\" [width]=\"150\" [type]=\"logoType.DEFAULT\" (click)=\"logoClicked.emit()\"></ui-logo>\n\n <ui-button\n data-testid=\"navigation-collapse-mobile\"\n data-test-role=\"navigation-collapse\"\n [applicationTheme]=\"applicationTheme()\"\n [variant]=\"'menuTrigger'\"\n [iconName]=\"isCollapsed() ? 'Menu-burger' : 'Close'\"\n [ariaLabel]=\"mobileToggleAriaLabelOverride() ?? (mobileToggleAriaKey() | uiTranslate | async) ?? ''\"\n [ariaExpanded]=\"!isCollapsed()\"\n [ariaControls]=\"drawerControlsId\"\n [tooltip]=\"mobileToggleAriaLabelOverride() ?? (mobileToggleAriaKey() | uiTranslate | async) ?? ''\"\n tooltipPosition=\"left\"\n (buttonClickEvent)=\"toggleCollapsed()\"\n class=\"navigation-collapse-button\"\n ></ui-button>\n</div>\n\n<div class=\"main-container\">\n <nav\n [id]=\"drawerControlsId\"\n role=\"navigation\"\n [attr.aria-label]=\"navAriaLabel() ?? (translationKey.NAV | uiTranslate | async)\"\n class=\"side-navigation-container\"\n [class.collapsed]=\"isCollapsed()\"\n [class.expanded]=\"!isCollapsed()\"\n [cdkTrapFocus]=\"trapFocus()\"\n [cdkTrapFocusAutoCapture]=\"trapFocus()\"\n >\n <div class=\"zone-logo-row\">\n <div class=\"header\" [class.collapsed]=\"isCollapsed()\">\n <ui-logo\n class=\"logo-brandmark\"\n [allowResizing]=\"true\"\n [width]=\"19\"\n [type]=\"logoType.PRIMARY_BRANDMARK_PINK\"\n (click)=\"logoClicked.emit()\"\n ></ui-logo>\n <ui-logo\n class=\"logo-lockup\"\n [allowResizing]=\"true\"\n [width]=\"136\"\n [type]=\"logoType.DEFAULT\"\n (click)=\"logoClicked.emit()\"\n ></ui-logo>\n\n <ui-button\n data-testid=\"navigation-collapse\"\n data-test-role=\"navigation-collapse\"\n [applicationTheme]=\"applicationTheme()\"\n [variant]=\"'menuTrigger'\"\n [iconName]=\"isCollapsed() ? 'Sidebar-open-in-line' : 'Sidebar-close-in-line'\"\n [ariaLabel]=\"toggleAriaLabelOverride() ?? (toggleAriaKey() | uiTranslate | async) ?? ''\"\n [ariaPressed]=\"isCollapsed()\"\n [tooltip]=\"toggleAriaLabelOverride() ?? (toggleAriaKey() | uiTranslate | async) ?? ''\"\n tooltipPosition=\"below\"\n (buttonClickEvent)=\"toggleCollapsed()\"\n [class.collapsed]=\"isCollapsed()\"\n class=\"navigation-collapse-button\"\n ></ui-button>\n </div>\n </div>\n\n <div class=\"zone-primary-nav\">\n @if (mainCta(); as cta) {\n <div class=\"main-cta\">\n <ui-button\n data-testid=\"main-cta\"\n data-test-role=\"main-cta\"\n [applicationTheme]=\"applicationTheme()\"\n [fullWidth]=\"true\"\n [variant]=\"cta.variant\"\n iconPosition=\"left\"\n [iconName]=\"cta.icon\"\n [label]=\"isCollapsed() && !isExpandingOrCollapsing() ? '' : cta.label\"\n [ariaLabel]=\"cta.label\"\n [tooltip]=\"isCollapsed() ? cta.label : ''\"\n tooltipPosition=\"right\"\n (buttonClickEvent)=\"mainCtaClicked.emit()\"\n ></ui-button>\n </div>\n }\n\n <ul class=\"navigation-list\">\n @for (item of mainNavigation(); track item.id) {\n <li>\n <ng-container [ngTemplateOutlet]=\"navigationItem\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </li>\n }\n </ul>\n </div>\n\n <div class=\"zone-utility-nav\">\n @if (secondaryNavigation(); as secondary) {\n <ul class=\"navigation-list\">\n @for (item of secondary; track item.id) {\n <li>\n <ng-container [ngTemplateOutlet]=\"navigationItem\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </li>\n }\n </ul>\n }\n </div>\n\n @if (account() || contentTemplateExtendedRef() || contentTemplateCollapsedRef()) {\n <div class=\"zone-account\">\n @if (contentTemplateExtendedRef(); as extendedRef) {\n @if (!isCollapsed() && !isExpandingOrCollapsing()) {\n <ng-container [ngTemplateOutlet]=\"extendedRef\"></ng-container>\n }\n }\n\n @if (contentTemplateCollapsedRef(); as collapsedRef) {\n @if (isCollapsed() || isExpandingOrCollapsing()) {\n <ng-container [ngTemplateOutlet]=\"collapsedRef\"></ng-container>\n }\n }\n\n @if (account(); as accountValue) {\n <ui-overflow-menu\n [applicationTheme]=\"applicationTheme()\"\n [contentTemplateRef]=\"userInfo\"\n [buttons]=\"accountValue.menu\"\n [isDynamicMenu]=\"true\"\n [class.collapsed]=\"isCollapsed() && !isExpandingOrCollapsing()\"\n (selectItem)=\"onSelectMenuItem($event)\"\n [menuConfig]=\"overflowMenuConfig()\"\n ></ui-overflow-menu>\n }\n </div>\n }\n </nav>\n <div class=\"app-container\" [class.collapsed]=\"isCollapsed()\" [class.expanded]=\"!isCollapsed()\">\n @if (appContentTemplateRef(); as appRef) {\n <ng-container [ngTemplateOutlet]=\"appRef\"></ng-container>\n }\n @if (isMobileOrTablet() && !isCollapsed()) {\n <button\n type=\"button\"\n class=\"backdrop\"\n [attr.aria-label]=\"mobileCloseLabel() ?? (translationKey.MOBILE_CLOSE | uiTranslate | async) ?? ''\"\n (click)=\"toggleCollapsed()\"\n ></button>\n }\n </div>\n</div>\n\n<ng-template #navigationItem let-item=\"item\">\n @if (item) {\n <div class=\"menu-item\" [attr.aria-current]=\"activeRoutesMap().get(item.url) ? 'page' : null\">\n <ui-button\n [attr.data-testid]=\"item.id\"\n data-test-role=\"menu-item\"\n [applicationTheme]=\"applicationTheme()\"\n [fullWidth]=\"true\"\n [disabledScaleOnClick]=\"true\"\n [variant]=\"'menuCell'\"\n iconPosition=\"left\"\n [iconName]=\"item.icon\"\n [label]=\"isCollapsed() && !isExpandingOrCollapsing() ? '' : item.text\"\n (buttonClickEvent)=\"onNavigateClick(item.id)\"\n (keydown.Tab)=\"$event.stopPropagation()\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n [ariaLabel]=\"item.text\"\n [class.active]=\"activeRoutesMap().get(item.url)\"\n [buttonBadgeConfig]=\"isCollapsed() && !isExpandingOrCollapsing() ? undefined : item?.badgeOptions\"\n [tooltip]=\"isCollapsed() ? item.text : undefined\"\n tooltipPosition=\"right\"\n [iconFilled]=\"!!activeRoutesMap().get(item.url)\"\n ></ui-button>\n </div>\n }\n</ng-template>\n\n<ng-template #userInfo>\n @if (account(); as accountValue) {\n <div class=\"user-info\">\n <ui-avatar [size]=\"isCollapsed() ? avatarSize.MEDIUM : avatarSize.SMALL\" [name]=\"accountValue.name\"></ui-avatar>\n @if (!isCollapsed()) {\n <span class=\"user-name\">{{ accountValue.name }}</span>\n <ui-icon class=\"user-chevron\" name=\"Arrow-chevron-right-in-line\" size=\"24\" aria-hidden=\"true\"></ui-icon>\n }\n </div>\n }\n</ng-template>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{display:flex;flex-direction:column}.mobile-navbar{background:#fff;display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100vw;position:fixed;top:0;left:0;padding:16px 24px;height:64px;z-index:11}.mobile-navbar ui-logo{top:2px}@media(min-width:600px){.mobile-navbar{display:none}}.main-container{display:flex;flex-direction:row;width:100vw;height:100vh}.main-container .app-container{flex:1;min-width:0;overflow:hidden auto;transition:margin-left .18s cubic-bezier(.4,0,.2,1),padding .18s cubic-bezier(.4,0,.2,1)}.main-container .app-container .backdrop{display:none;padding:0;border:0;background:transparent;cursor:pointer}.main-container .app-container.expanded .backdrop{display:block}@media(prefers-reduced-motion:reduce){.main-container .app-container{transition:none}}@media(max-width:600px){.main-container .app-container{margin-top:64px}.main-container .app-container.expanded .backdrop{position:fixed;top:64px;left:240px;background:#00000040;width:calc(100vw - 240px);height:calc(100vh - 64px);z-index:8}}@media(min-width:600px)and (max-width:1024px){.main-container .app-container{margin-left:72px}.main-container .app-container.expanded .backdrop{position:absolute;top:0;left:0;background:#00000040;width:100%;height:100%;z-index:2}}@media(min-width:1024px){.main-container .app-container.collapsed{margin-left:72px}.main-container .app-container.expanded{margin-left:240px}}.side-navigation-container{position:fixed;z-index:10;display:flex;flex-direction:column;background:#fff;height:100vh;width:240px;border-right:1px solid #e9e9e9;transition:width .18s cubic-bezier(.4,0,.2,1),left .18s cubic-bezier(.4,0,.2,1)}@media(prefers-reduced-motion:reduce){.side-navigation-container{transition:none}}.side-navigation-container.collapsed{width:72px}@media(max-width:600px){.side-navigation-container{width:240px;top:64px;height:calc(100vh - 64px)}.side-navigation-container .zone-logo-row{display:none!important}.side-navigation-container.expanded{left:0}.side-navigation-container.collapsed{width:240px;left:-240px}}.side-navigation-container .zone-logo-row{flex:0 0 auto;height:56px;padding:16px 12px 16px 26px;display:flex;align-items:center;border-bottom:1px solid #e9e9e9;position:relative}.side-navigation-container .zone-logo-row .header{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.side-navigation-container .zone-logo-row .header ui-logo{cursor:pointer;flex:0 0 auto}.side-navigation-container .zone-logo-row .header .logo-brandmark{position:absolute;left:26px;top:50%;transform:translateY(-50%);opacity:0;pointer-events:none;transition:opacity 90ms cubic-bezier(.4,0,.2,1) 90ms}.side-navigation-container .zone-logo-row .header .logo-lockup{opacity:1;max-width:136px;overflow:hidden;transition:opacity .18s cubic-bezier(.4,0,.2,1),max-width .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container .zone-logo-row .header .navigation-collapse-button ::ng-deep .mat-mdc-button-persistent-ripple{background:#fff}.side-navigation-container .zone-logo-row .navigation-collapse-button{position:absolute;top:8px;right:12px;z-index:2;background:transparent;border:1px solid transparent;border-radius:50%;box-shadow:0 2px 8px #0000;transform:translate(0);transition:right .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1),background .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container.collapsed .zone-logo-row .header .logo-brandmark{opacity:1;pointer-events:auto;transition:opacity 90ms cubic-bezier(.4,0,.2,1)}.side-navigation-container.collapsed .zone-logo-row .header .logo-lockup{opacity:0;max-width:0;pointer-events:none}.side-navigation-container.collapsed .zone-logo-row .navigation-collapse-button{top:8px;right:0;transform:translate(50%);background:#fff;border-color:#e9e9e9;box-shadow:0 2px 8px #00000014}.side-navigation-container .zone-primary-nav{flex:1 1 auto;min-height:0;overflow:hidden auto;display:flex;flex-direction:column;gap:8px;padding:12px}.side-navigation-container .zone-primary-nav .main-cta{width:100%}.side-navigation-container .zone-primary-nav .main-cta ::ng-deep ui-button button{overflow:hidden;padding-left:12px!important;padding-right:12px!important}.side-navigation-container .zone-primary-nav .main-cta ::ng-deep ui-button button .icon-label-wrapper{justify-content:flex-start;width:100%}.side-navigation-container .zone-primary-nav .main-cta ::ng-deep ui-button button span.icon{transition:margin-right .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container .zone-primary-nav .main-cta ::ng-deep ui-button button span.label{opacity:1;transition:opacity .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container.collapsed .zone-primary-nav .main-cta ::ng-deep ui-button button span.icon{margin-right:0!important}.side-navigation-container.collapsed .zone-primary-nav .main-cta ::ng-deep ui-button button span.label{opacity:0;pointer-events:none}.side-navigation-container .zone-utility-nav{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;padding:12px;border-top:1px solid #e9e9e9;align-items:stretch}.side-navigation-container .zone-utility-nav:empty{display:none}.side-navigation-container.collapsed .zone-account{align-items:center;padding:12px}.side-navigation-container.collapsed .zone-account .user-info{transform:translate(-8px)}.side-navigation-container .zone-account{flex:0 0 auto;width:100%;padding:12px;border-top:1px solid #e9e9e9;background:#fff;display:flex;flex-direction:column;gap:8px;align-items:stretch}.side-navigation-container .zone-account>ui-button,.side-navigation-container .zone-account>a,.side-navigation-container .zone-account>button{width:100%}.side-navigation-container .zone-account ui-overflow-menu{width:100%}.side-navigation-container .zone-account ui-avatar ::ng-deep .avatar-container{transition:width .18s cubic-bezier(.4,0,.2,1),height .18s cubic-bezier(.4,0,.2,1),font-size .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container .zone-account .user-info{display:flex;align-items:center;padding:8px 0;width:100%;gap:12px;transition:transform .18s cubic-bezier(.4,0,.2,1);transform:translate(0)}.side-navigation-container .zone-account .user-info .user-name,.side-navigation-container .zone-account .user-info .user-chevron{opacity:1;transition:opacity .18s cubic-bezier(.4,0,.2,1)}@starting-style{.side-navigation-container .zone-account .user-info .user-name,.side-navigation-container .zone-account .user-info .user-chevron{opacity:0}}.side-navigation-container .zone-account .user-info .user-name{flex:1 1 auto;font-weight:500;font-size:14px;line-height:22px;font-family:ModernGothic,sans-serif;color:#242424;text-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-navigation-container .zone-account .user-info .user-chevron{flex:0 0 auto;color:#666}.side-navigation-container .navigation-list{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:8px}.side-navigation-container .navigation-list li{width:100%}.side-navigation-container .menu-item{width:100%;height:40px;display:flex;font-size:14px;font-weight:700;font-family:ModernGothic,sans-serif;flex-direction:row;align-items:center;cursor:pointer}.side-navigation-container .menu-item ui-button{width:100%}.side-navigation-container .menu-item ::ng-deep ui-button button{padding:8px 12px!important;border-radius:10px!important;min-height:40px;overflow:hidden}.side-navigation-container .menu-item ::ng-deep ui-button button span.icon{margin-right:12px!important;transition:margin-right .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container .menu-item ::ng-deep ui-button button span.label{transition:opacity .18s cubic-bezier(.4,0,.2,1),max-width .18s cubic-bezier(.4,0,.2,1);opacity:1;max-width:240px}.side-navigation-container .menu-item ::ng-deep ui-button.active button{background-color:#fff2fc!important;color:#a90686!important}.side-navigation-container .menu-item ::ng-deep ui-button.active button .icon,.side-navigation-container .menu-item ::ng-deep ui-button.active button .label{color:#a90686!important}.side-navigation-container .menu-item ::ng-deep ui-button.active button .mat-mdc-button-touch-target{background-color:transparent}.side-navigation-container.collapsed .menu-item ::ng-deep ui-button button{width:100%!important}.side-navigation-container.collapsed .menu-item ::ng-deep ui-button button span.icon{margin-right:0!important}.side-navigation-container.collapsed .menu-item ::ng-deep ui-button button span.label{opacity:0;max-width:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.side-navigation-container .menu-item ::ng-deep ui-button button,.side-navigation-container .menu-item ::ng-deep ui-button button span.icon,.side-navigation-container .menu-item ::ng-deep ui-button button span.label,.side-navigation-container .zone-logo-row .header .logo-brandmark,.side-navigation-container .zone-logo-row .header .logo-lockup,.side-navigation-container .zone-logo-row .navigation-collapse-button{transition:none}}::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell,::ng-deep ui-overflow-menu button.mat-mdc-menu-trigger.content-template{outline-offset:-2px!important}::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:hover,::ng-deep ui-overflow-menu button.mat-mdc-menu-trigger.content-template:hover{background-color:#f4f4f4!important}::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:active,::ng-deep ui-overflow-menu button.mat-mdc-menu-trigger.content-template:active{background-color:#e9e9e9!important}::ng-deep ui-button.active button.mat-mdc-unelevated-button.menuCell:hover{background-color:#ffe6fa!important}::ng-deep ui-overflow-menu button.overflow-menu-opener.content-template{padding:0 8px}@media(min-width:600px){::ng-deep .cdk-overlay-connected-position-bounding-box:has(.cdk-overlay-pane .collapsed-menu){left:78px!important}::ng-deep .cdk-overlay-connected-position-bounding-box:has(.cdk-overlay-pane .expanded-menu){left:246px!important}}@media(max-width:599px){::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.expanded-menu,::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.collapsed-menu{max-width:calc(100vw - 32px);min-width:0}}::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.expanded-menu,::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.collapsed-menu{min-width:280px}::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.expanded-menu button.mat-mdc-menu-item.cdk-keyboard-focused,::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.collapsed-menu button.mat-mdc-menu-item.cdk-keyboard-focused{background-color:#f4f4f4}::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.expanded-menu button.mat-mdc-menu-item.cdk-keyboard-focused.is-destructive,::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.collapsed-menu button.mat-mdc-menu-item.cdk-keyboard-focused.is-destructive{background-color:#ffeae6}\n"], dependencies: [{ kind: "component", type: LogoComponent, selector: "ui-logo", inputs: ["type", "applicationTheme", "label", "width", "allowResizing"] }, { kind: "component", type: ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "loadingWithLabel", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaExpanded", "ariaControls", "ariaPressed", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role", "iconFilled"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: OverflowMenuComponentModule }, { kind: "component", type: i1.OverflowMenuComponent, selector: "ui-overflow-menu", inputs: ["buttons", "iconTrigger", "menuLabel", "applicationTheme", "ariaLabel", "ariaRequired", "describedby", "contentTemplateRef", "buttonVariant", "buttonSize", "menuConfig", "isDynamicMenu", "withRemovableOption"], outputs: ["selectItem", "menuOpened", "menuClosed"] }, { kind: "component", type: AvatarComponent, selector: "ui-avatar", inputs: ["size", "imageUrl", "name", "tooltipText", "allowEdit", "applicationTheme", "backgroundColor"], outputs: ["editClick"] }, { kind: "ngmodule", type: IconComponentModule }, { kind: "component", type: i2.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
159
153
  }
160
154
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SideNavigationComponent, decorators: [{
161
155
  type: Component,
162
- args: [{ selector: 'ui-side-navigation', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, providers: [UiTranslatePipe], host: {
156
+ args: [{ selector: 'ui-side-navigation', changeDetection: ChangeDetectionStrategy.OnPush, providers: [UiTranslatePipe], host: {
163
157
  '(keydown.escape)': 'onEscapeKey()',
164
- }, template: "<div class=\"mobile-navbar\">\n <ui-logo [allowResizing]=\"true\" [width]=\"150\" [type]=\"logoType.DEFAULT\" (click)=\"logoClicked.emit()\"></ui-logo>\n\n <ui-button\n data-testid=\"navigation-collapse-mobile\"\n data-test-role=\"navigation-collapse\"\n [applicationTheme]=\"applicationTheme()\"\n [variant]=\"'menuTrigger'\"\n [iconName]=\"isCollapsed() ? 'Menu-burger' : 'Close'\"\n [ariaLabel]=\"mobileToggleAriaLabelOverride() ?? (mobileToggleAriaKey() | uiTranslate | async) ?? ''\"\n [ariaExpanded]=\"!isCollapsed()\"\n [ariaControls]=\"drawerControlsId\"\n [tooltip]=\"mobileToggleAriaLabelOverride() ?? (mobileToggleAriaKey() | uiTranslate | async) ?? ''\"\n tooltipPosition=\"left\"\n (buttonClickEvent)=\"toggleCollapsed()\"\n class=\"navigation-collapse-button\"\n ></ui-button>\n</div>\n\n<div class=\"main-container\">\n <nav\n [id]=\"drawerControlsId\"\n role=\"navigation\"\n [attr.aria-label]=\"navAriaLabel() ?? (translationKey.NAV | uiTranslate | async)\"\n class=\"side-navigation-container\"\n [class.collapsed]=\"isCollapsed()\"\n [class.expanded]=\"!isCollapsed()\"\n [cdkTrapFocus]=\"trapFocus()\"\n [cdkTrapFocusAutoCapture]=\"trapFocus()\"\n >\n <div class=\"zone-logo-row\">\n <div class=\"header\" [class.collapsed]=\"isCollapsed()\">\n <ui-logo\n class=\"logo-brandmark\"\n [allowResizing]=\"true\"\n [width]=\"19\"\n [type]=\"logoType.PRIMARY_BRANDMARK_PINK\"\n (click)=\"logoClicked.emit()\"\n ></ui-logo>\n <ui-logo\n class=\"logo-lockup\"\n [allowResizing]=\"true\"\n [width]=\"136\"\n [type]=\"logoType.DEFAULT\"\n (click)=\"logoClicked.emit()\"\n ></ui-logo>\n\n <ui-button\n data-testid=\"navigation-collapse\"\n data-test-role=\"navigation-collapse\"\n [applicationTheme]=\"applicationTheme()\"\n [variant]=\"'menuTrigger'\"\n [iconName]=\"isCollapsed() ? 'Sidebar-open-in-line' : 'Sidebar-close-in-line'\"\n [ariaLabel]=\"toggleAriaLabelOverride() ?? (toggleAriaKey() | uiTranslate | async) ?? ''\"\n [ariaPressed]=\"isCollapsed()\"\n [tooltip]=\"toggleAriaLabelOverride() ?? (toggleAriaKey() | uiTranslate | async) ?? ''\"\n tooltipPosition=\"below\"\n (buttonClickEvent)=\"toggleCollapsed()\"\n [class.collapsed]=\"isCollapsed()\"\n class=\"navigation-collapse-button\"\n ></ui-button>\n </div>\n </div>\n\n <div class=\"zone-primary-nav\">\n @if (mainCta(); as cta) {\n <div class=\"main-cta\">\n <ui-button\n data-testid=\"main-cta\"\n data-test-role=\"main-cta\"\n [applicationTheme]=\"applicationTheme()\"\n [fullWidth]=\"true\"\n [variant]=\"cta.variant\"\n iconPosition=\"left\"\n [iconName]=\"cta.icon\"\n [label]=\"isCollapsed() && !isExpandingOrCollapsing() ? '' : cta.label\"\n [ariaLabel]=\"cta.label\"\n [tooltip]=\"isCollapsed() ? cta.label : ''\"\n tooltipPosition=\"right\"\n (buttonClickEvent)=\"mainCtaClicked.emit()\"\n ></ui-button>\n </div>\n }\n\n <ul class=\"navigation-list\">\n @for (item of mainNavigation(); track item.id) {\n <li>\n <ng-container [ngTemplateOutlet]=\"navigationItem\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </li>\n }\n </ul>\n </div>\n\n <div class=\"zone-utility-nav\">\n @if (secondaryNavigation(); as secondary) {\n <ul class=\"navigation-list\">\n @for (item of secondary; track item.id) {\n <li>\n <ng-container [ngTemplateOutlet]=\"navigationItem\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </li>\n }\n </ul>\n }\n </div>\n\n @if (account() || contentTemplateExtendedRef() || contentTemplateCollapsedRef()) {\n <div class=\"zone-account\">\n @if (contentTemplateExtendedRef(); as extendedRef) {\n @if (!isCollapsed() && !isExpandingOrCollapsing()) {\n <ng-container [ngTemplateOutlet]=\"extendedRef\"></ng-container>\n }\n }\n\n @if (contentTemplateCollapsedRef(); as collapsedRef) {\n @if (isCollapsed() || isExpandingOrCollapsing()) {\n <ng-container [ngTemplateOutlet]=\"collapsedRef\"></ng-container>\n }\n }\n\n @if (account(); as accountValue) {\n <ui-overflow-menu\n [applicationTheme]=\"applicationTheme()\"\n [contentTemplateRef]=\"userInfo\"\n [buttons]=\"accountValue.menu\"\n [isDynamicMenu]=\"true\"\n [class.collapsed]=\"isCollapsed() && !isExpandingOrCollapsing()\"\n (selectItem)=\"onSelectMenuItem($event)\"\n [menuConfig]=\"overflowMenuConfig()\"\n ></ui-overflow-menu>\n }\n </div>\n }\n </nav>\n <div class=\"app-container\" [class.collapsed]=\"isCollapsed()\" [class.expanded]=\"!isCollapsed()\">\n @if (appContentTemplateRef(); as appRef) {\n <ng-container [ngTemplateOutlet]=\"appRef\"></ng-container>\n }\n @if (isMobileOrTablet() && !isCollapsed()) {\n <button\n type=\"button\"\n class=\"backdrop\"\n [attr.aria-label]=\"mobileCloseLabel() ?? (translationKey.MOBILE_CLOSE | uiTranslate | async) ?? ''\"\n (click)=\"toggleCollapsed()\"\n ></button>\n }\n </div>\n</div>\n\n<ng-template #navigationItem let-item=\"item\">\n @if (item) {\n <div class=\"menu-item\" [attr.aria-current]=\"activeRoutesMap().get(item.url) ? 'page' : null\">\n <ui-button\n [attr.data-testid]=\"item.id\"\n data-test-role=\"menu-item\"\n [applicationTheme]=\"applicationTheme()\"\n [fullWidth]=\"true\"\n [disabledScaleOnClick]=\"true\"\n [variant]=\"'menuCell'\"\n iconPosition=\"left\"\n [iconName]=\"item.icon\"\n [label]=\"isCollapsed() && !isExpandingOrCollapsing() ? '' : item.text\"\n (buttonClickEvent)=\"onNavigateClick(item.id)\"\n (keydown.Tab)=\"$event.stopPropagation()\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n [ariaLabel]=\"item.text\"\n [class.active]=\"activeRoutesMap().get(item.url)\"\n [buttonBadgeConfig]=\"isCollapsed() && !isExpandingOrCollapsing() ? undefined : item?.badgeOptions\"\n [tooltip]=\"isCollapsed() ? item.text : undefined\"\n tooltipPosition=\"right\"\n [iconFilled]=\"!!activeRoutesMap().get(item.url)\"\n ></ui-button>\n </div>\n }\n</ng-template>\n\n<ng-template #userInfo>\n @if (account(); as accountValue) {\n <div class=\"user-info\">\n <ui-avatar [size]=\"isCollapsed() ? avatarSize.MEDIUM : avatarSize.SMALL\" [name]=\"accountValue.name\"></ui-avatar>\n @if (!isCollapsed()) {\n <span class=\"user-name\">{{ accountValue.name }}</span>\n <ui-icon class=\"user-chevron\" name=\"Arrow-chevron-right-in-line\" size=\"24\" aria-hidden=\"true\"></ui-icon>\n }\n </div>\n }\n</ng-template>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{display:flex;flex-direction:column}.mobile-navbar{background:#fff;display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100vw;position:fixed;top:0;left:0;padding:16px 24px;height:64px;z-index:11}.mobile-navbar ui-logo{top:2px}@media(min-width:600px){.mobile-navbar{display:none}}.main-container{display:flex;flex-direction:row;width:100vw;height:100vh}.main-container .app-container{flex:1;min-width:0;overflow:hidden auto;transition:margin-left .18s cubic-bezier(.4,0,.2,1),padding .18s cubic-bezier(.4,0,.2,1)}.main-container .app-container .backdrop{display:none;padding:0;border:0;background:transparent;cursor:pointer}.main-container .app-container.expanded .backdrop{display:block}@media(prefers-reduced-motion:reduce){.main-container .app-container{transition:none}}@media(max-width:600px){.main-container .app-container{margin-top:64px}.main-container .app-container.expanded .backdrop{position:fixed;top:64px;left:240px;background:#00000040;width:calc(100vw - 240px);height:calc(100vh - 64px);z-index:8}}@media(min-width:600px)and (max-width:1024px){.main-container .app-container{margin-left:72px}.main-container .app-container.expanded .backdrop{position:absolute;top:0;left:0;background:#00000040;width:100%;height:100%;z-index:2}}@media(min-width:1024px){.main-container .app-container.collapsed{margin-left:72px}.main-container .app-container.expanded{margin-left:240px}}.side-navigation-container{position:fixed;z-index:10;display:flex;flex-direction:column;background:#fff;height:100vh;width:240px;border-right:1px solid #e9e9e9;transition:width .18s cubic-bezier(.4,0,.2,1),left .18s cubic-bezier(.4,0,.2,1)}@media(prefers-reduced-motion:reduce){.side-navigation-container{transition:none}}.side-navigation-container.collapsed{width:72px}@media(max-width:600px){.side-navigation-container{width:240px;top:64px;height:calc(100vh - 64px)}.side-navigation-container .zone-logo-row{display:none!important}.side-navigation-container.expanded{left:0}.side-navigation-container.collapsed{width:240px;left:-240px}}.side-navigation-container .zone-logo-row{flex:0 0 auto;height:56px;padding:16px 12px 16px 26px;display:flex;align-items:center;border-bottom:1px solid #e9e9e9;position:relative}.side-navigation-container .zone-logo-row .header{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.side-navigation-container .zone-logo-row .header ui-logo{cursor:pointer;flex:0 0 auto}.side-navigation-container .zone-logo-row .header .logo-brandmark{position:absolute;left:26px;top:50%;transform:translateY(-50%);opacity:0;pointer-events:none;transition:opacity 90ms cubic-bezier(.4,0,.2,1) 90ms}.side-navigation-container .zone-logo-row .header .logo-lockup{opacity:1;max-width:136px;overflow:hidden;transition:opacity .18s cubic-bezier(.4,0,.2,1),max-width .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container .zone-logo-row .header .navigation-collapse-button ::ng-deep .mat-mdc-button-persistent-ripple{background:#fff}.side-navigation-container .zone-logo-row .navigation-collapse-button{position:absolute;top:8px;right:12px;z-index:2;background:transparent;border:1px solid transparent;border-radius:50%;box-shadow:0 2px 8px #0000;transform:translate(0);transition:right .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1),background .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container.collapsed .zone-logo-row .header .logo-brandmark{opacity:1;pointer-events:auto;transition:opacity 90ms cubic-bezier(.4,0,.2,1)}.side-navigation-container.collapsed .zone-logo-row .header .logo-lockup{opacity:0;max-width:0;pointer-events:none}.side-navigation-container.collapsed .zone-logo-row .navigation-collapse-button{top:8px;right:0;transform:translate(50%);background:#fff;border-color:#e9e9e9;box-shadow:0 2px 8px #00000014}.side-navigation-container .zone-primary-nav{flex:1 1 auto;min-height:0;overflow:hidden auto;display:flex;flex-direction:column;gap:8px;padding:12px}.side-navigation-container .zone-primary-nav .main-cta{width:100%}.side-navigation-container .zone-primary-nav .main-cta ::ng-deep ui-button button{overflow:hidden;padding-left:12px!important;padding-right:12px!important}.side-navigation-container .zone-primary-nav .main-cta ::ng-deep ui-button button .icon-label-wrapper{justify-content:flex-start;width:100%}.side-navigation-container .zone-primary-nav .main-cta ::ng-deep ui-button button span.icon{transition:margin-right .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container .zone-primary-nav .main-cta ::ng-deep ui-button button span.label{opacity:1;transition:opacity .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container.collapsed .zone-primary-nav .main-cta ::ng-deep ui-button button span.icon{margin-right:0!important}.side-navigation-container.collapsed .zone-primary-nav .main-cta ::ng-deep ui-button button span.label{opacity:0;pointer-events:none}.side-navigation-container .zone-utility-nav{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;padding:12px;border-top:1px solid #e9e9e9;align-items:stretch}.side-navigation-container .zone-utility-nav:empty{display:none}.side-navigation-container.collapsed .zone-account{align-items:center;padding:12px}.side-navigation-container.collapsed .zone-account .user-info{transform:translate(-8px)}.side-navigation-container .zone-account{flex:0 0 auto;width:100%;padding:12px;border-top:1px solid #e9e9e9;background:#fff;display:flex;flex-direction:column;gap:8px;align-items:stretch}.side-navigation-container .zone-account>ui-button,.side-navigation-container .zone-account>a,.side-navigation-container .zone-account>button{width:100%}.side-navigation-container .zone-account ui-overflow-menu{width:100%}.side-navigation-container .zone-account ui-avatar ::ng-deep .avatar-container{transition:width .18s cubic-bezier(.4,0,.2,1),height .18s cubic-bezier(.4,0,.2,1),font-size .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container .zone-account .user-info{display:flex;align-items:center;padding:8px 0;width:100%;gap:12px;transition:transform .18s cubic-bezier(.4,0,.2,1);transform:translate(0)}.side-navigation-container .zone-account .user-info .user-name,.side-navigation-container .zone-account .user-info .user-chevron{opacity:1;transition:opacity .18s cubic-bezier(.4,0,.2,1)}@starting-style{.side-navigation-container .zone-account .user-info .user-name,.side-navigation-container .zone-account .user-info .user-chevron{opacity:0}}.side-navigation-container .zone-account .user-info .user-name{flex:1 1 auto;font-weight:500;font-size:14px;line-height:22px;font-family:ModernGothic,sans-serif;color:#242424;text-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-navigation-container .zone-account .user-info .user-chevron{flex:0 0 auto;color:#666}.side-navigation-container .navigation-list{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:8px}.side-navigation-container .navigation-list li{width:100%}.side-navigation-container .menu-item{width:100%;height:40px;display:flex;font-size:14px;font-weight:700;font-family:ModernGothic,sans-serif;flex-direction:row;align-items:center;cursor:pointer}.side-navigation-container .menu-item ui-button{width:100%}.side-navigation-container .menu-item ::ng-deep ui-button button{padding:8px 12px!important;border-radius:10px!important;min-height:40px;overflow:hidden}.side-navigation-container .menu-item ::ng-deep ui-button button span.icon{margin-right:12px!important;transition:margin-right .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container .menu-item ::ng-deep ui-button button span.label{transition:opacity .18s cubic-bezier(.4,0,.2,1),max-width .18s cubic-bezier(.4,0,.2,1);opacity:1;max-width:240px}.side-navigation-container .menu-item ::ng-deep ui-button.active button{background-color:#fff2fc!important;color:#a90686!important}.side-navigation-container .menu-item ::ng-deep ui-button.active button .icon,.side-navigation-container .menu-item ::ng-deep ui-button.active button .label{color:#a90686!important}.side-navigation-container .menu-item ::ng-deep ui-button.active button .mat-mdc-button-touch-target{background-color:transparent}.side-navigation-container.collapsed .menu-item ::ng-deep ui-button button{width:100%!important}.side-navigation-container.collapsed .menu-item ::ng-deep ui-button button span.icon{margin-right:0!important}.side-navigation-container.collapsed .menu-item ::ng-deep ui-button button span.label{opacity:0;max-width:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.side-navigation-container .menu-item ::ng-deep ui-button button,.side-navigation-container .menu-item ::ng-deep ui-button button span.icon,.side-navigation-container .menu-item ::ng-deep ui-button button span.label,.side-navigation-container .zone-logo-row .header .logo-brandmark,.side-navigation-container .zone-logo-row .header .logo-lockup,.side-navigation-container .zone-logo-row .navigation-collapse-button{transition:none}}::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell,::ng-deep ui-overflow-menu button.mat-mdc-menu-trigger.content-template{outline-offset:-2px!important}::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:hover,::ng-deep ui-overflow-menu button.mat-mdc-menu-trigger.content-template:hover{background-color:#f4f4f4!important}::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:active,::ng-deep ui-overflow-menu button.mat-mdc-menu-trigger.content-template:active{background-color:#e9e9e9!important}::ng-deep ui-button.active button.mat-mdc-unelevated-button.menuCell:hover{background-color:#ffe6fa!important}::ng-deep ui-overflow-menu button.overflow-menu-opener.content-template{padding:0 8px}@media(min-width:600px){::ng-deep .cdk-overlay-connected-position-bounding-box:has(.cdk-overlay-pane .collapsed-menu){left:78px!important}::ng-deep .cdk-overlay-connected-position-bounding-box:has(.cdk-overlay-pane .expanded-menu){left:246px!important}}@media(max-width:599px){::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.expanded-menu,::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.collapsed-menu{max-width:calc(100vw - 32px);min-width:0}}::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.expanded-menu,::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.collapsed-menu{min-width:280px}::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.expanded-menu button.mat-mdc-menu-item.cdk-keyboard-focused,::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.collapsed-menu button.mat-mdc-menu-item.cdk-keyboard-focused{background-color:#f4f4f4}::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.expanded-menu button.mat-mdc-menu-item.cdk-keyboard-focused.is-destructive,::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.collapsed-menu button.mat-mdc-menu-item.cdk-keyboard-focused.is-destructive{background-color:#ffeae6}\n"] }]
158
+ }, imports: [
159
+ LogoComponent,
160
+ ButtonComponent,
161
+ CdkTrapFocus,
162
+ NgTemplateOutlet,
163
+ OverflowMenuComponentModule,
164
+ AvatarComponent,
165
+ IconComponentModule,
166
+ AsyncPipe,
167
+ UiTranslatePipe,
168
+ ], template: "<div class=\"mobile-navbar\">\n <ui-logo [allowResizing]=\"true\" [width]=\"150\" [type]=\"logoType.DEFAULT\" (click)=\"logoClicked.emit()\"></ui-logo>\n\n <ui-button\n data-testid=\"navigation-collapse-mobile\"\n data-test-role=\"navigation-collapse\"\n [applicationTheme]=\"applicationTheme()\"\n [variant]=\"'menuTrigger'\"\n [iconName]=\"isCollapsed() ? 'Menu-burger' : 'Close'\"\n [ariaLabel]=\"mobileToggleAriaLabelOverride() ?? (mobileToggleAriaKey() | uiTranslate | async) ?? ''\"\n [ariaExpanded]=\"!isCollapsed()\"\n [ariaControls]=\"drawerControlsId\"\n [tooltip]=\"mobileToggleAriaLabelOverride() ?? (mobileToggleAriaKey() | uiTranslate | async) ?? ''\"\n tooltipPosition=\"left\"\n (buttonClickEvent)=\"toggleCollapsed()\"\n class=\"navigation-collapse-button\"\n ></ui-button>\n</div>\n\n<div class=\"main-container\">\n <nav\n [id]=\"drawerControlsId\"\n role=\"navigation\"\n [attr.aria-label]=\"navAriaLabel() ?? (translationKey.NAV | uiTranslate | async)\"\n class=\"side-navigation-container\"\n [class.collapsed]=\"isCollapsed()\"\n [class.expanded]=\"!isCollapsed()\"\n [cdkTrapFocus]=\"trapFocus()\"\n [cdkTrapFocusAutoCapture]=\"trapFocus()\"\n >\n <div class=\"zone-logo-row\">\n <div class=\"header\" [class.collapsed]=\"isCollapsed()\">\n <ui-logo\n class=\"logo-brandmark\"\n [allowResizing]=\"true\"\n [width]=\"19\"\n [type]=\"logoType.PRIMARY_BRANDMARK_PINK\"\n (click)=\"logoClicked.emit()\"\n ></ui-logo>\n <ui-logo\n class=\"logo-lockup\"\n [allowResizing]=\"true\"\n [width]=\"136\"\n [type]=\"logoType.DEFAULT\"\n (click)=\"logoClicked.emit()\"\n ></ui-logo>\n\n <ui-button\n data-testid=\"navigation-collapse\"\n data-test-role=\"navigation-collapse\"\n [applicationTheme]=\"applicationTheme()\"\n [variant]=\"'menuTrigger'\"\n [iconName]=\"isCollapsed() ? 'Sidebar-open-in-line' : 'Sidebar-close-in-line'\"\n [ariaLabel]=\"toggleAriaLabelOverride() ?? (toggleAriaKey() | uiTranslate | async) ?? ''\"\n [ariaPressed]=\"isCollapsed()\"\n [tooltip]=\"toggleAriaLabelOverride() ?? (toggleAriaKey() | uiTranslate | async) ?? ''\"\n tooltipPosition=\"below\"\n (buttonClickEvent)=\"toggleCollapsed()\"\n [class.collapsed]=\"isCollapsed()\"\n class=\"navigation-collapse-button\"\n ></ui-button>\n </div>\n </div>\n\n <div class=\"zone-primary-nav\">\n @if (mainCta(); as cta) {\n <div class=\"main-cta\">\n <ui-button\n data-testid=\"main-cta\"\n data-test-role=\"main-cta\"\n [applicationTheme]=\"applicationTheme()\"\n [fullWidth]=\"true\"\n [variant]=\"cta.variant\"\n iconPosition=\"left\"\n [iconName]=\"cta.icon\"\n [label]=\"isCollapsed() && !isExpandingOrCollapsing() ? '' : cta.label\"\n [ariaLabel]=\"cta.label\"\n [tooltip]=\"isCollapsed() ? cta.label : ''\"\n tooltipPosition=\"right\"\n (buttonClickEvent)=\"mainCtaClicked.emit()\"\n ></ui-button>\n </div>\n }\n\n <ul class=\"navigation-list\">\n @for (item of mainNavigation(); track item.id) {\n <li>\n <ng-container [ngTemplateOutlet]=\"navigationItem\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </li>\n }\n </ul>\n </div>\n\n <div class=\"zone-utility-nav\">\n @if (secondaryNavigation(); as secondary) {\n <ul class=\"navigation-list\">\n @for (item of secondary; track item.id) {\n <li>\n <ng-container [ngTemplateOutlet]=\"navigationItem\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </li>\n }\n </ul>\n }\n </div>\n\n @if (account() || contentTemplateExtendedRef() || contentTemplateCollapsedRef()) {\n <div class=\"zone-account\">\n @if (contentTemplateExtendedRef(); as extendedRef) {\n @if (!isCollapsed() && !isExpandingOrCollapsing()) {\n <ng-container [ngTemplateOutlet]=\"extendedRef\"></ng-container>\n }\n }\n\n @if (contentTemplateCollapsedRef(); as collapsedRef) {\n @if (isCollapsed() || isExpandingOrCollapsing()) {\n <ng-container [ngTemplateOutlet]=\"collapsedRef\"></ng-container>\n }\n }\n\n @if (account(); as accountValue) {\n <ui-overflow-menu\n [applicationTheme]=\"applicationTheme()\"\n [contentTemplateRef]=\"userInfo\"\n [buttons]=\"accountValue.menu\"\n [isDynamicMenu]=\"true\"\n [class.collapsed]=\"isCollapsed() && !isExpandingOrCollapsing()\"\n (selectItem)=\"onSelectMenuItem($event)\"\n [menuConfig]=\"overflowMenuConfig()\"\n ></ui-overflow-menu>\n }\n </div>\n }\n </nav>\n <div class=\"app-container\" [class.collapsed]=\"isCollapsed()\" [class.expanded]=\"!isCollapsed()\">\n @if (appContentTemplateRef(); as appRef) {\n <ng-container [ngTemplateOutlet]=\"appRef\"></ng-container>\n }\n @if (isMobileOrTablet() && !isCollapsed()) {\n <button\n type=\"button\"\n class=\"backdrop\"\n [attr.aria-label]=\"mobileCloseLabel() ?? (translationKey.MOBILE_CLOSE | uiTranslate | async) ?? ''\"\n (click)=\"toggleCollapsed()\"\n ></button>\n }\n </div>\n</div>\n\n<ng-template #navigationItem let-item=\"item\">\n @if (item) {\n <div class=\"menu-item\" [attr.aria-current]=\"activeRoutesMap().get(item.url) ? 'page' : null\">\n <ui-button\n [attr.data-testid]=\"item.id\"\n data-test-role=\"menu-item\"\n [applicationTheme]=\"applicationTheme()\"\n [fullWidth]=\"true\"\n [disabledScaleOnClick]=\"true\"\n [variant]=\"'menuCell'\"\n iconPosition=\"left\"\n [iconName]=\"item.icon\"\n [label]=\"isCollapsed() && !isExpandingOrCollapsing() ? '' : item.text\"\n (buttonClickEvent)=\"onNavigateClick(item.id)\"\n (keydown.Tab)=\"$event.stopPropagation()\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n [ariaLabel]=\"item.text\"\n [class.active]=\"activeRoutesMap().get(item.url)\"\n [buttonBadgeConfig]=\"isCollapsed() && !isExpandingOrCollapsing() ? undefined : item?.badgeOptions\"\n [tooltip]=\"isCollapsed() ? item.text : undefined\"\n tooltipPosition=\"right\"\n [iconFilled]=\"!!activeRoutesMap().get(item.url)\"\n ></ui-button>\n </div>\n }\n</ng-template>\n\n<ng-template #userInfo>\n @if (account(); as accountValue) {\n <div class=\"user-info\">\n <ui-avatar [size]=\"isCollapsed() ? avatarSize.MEDIUM : avatarSize.SMALL\" [name]=\"accountValue.name\"></ui-avatar>\n @if (!isCollapsed()) {\n <span class=\"user-name\">{{ accountValue.name }}</span>\n <ui-icon class=\"user-chevron\" name=\"Arrow-chevron-right-in-line\" size=\"24\" aria-hidden=\"true\"></ui-icon>\n }\n </div>\n }\n</ng-template>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{display:flex;flex-direction:column}.mobile-navbar{background:#fff;display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100vw;position:fixed;top:0;left:0;padding:16px 24px;height:64px;z-index:11}.mobile-navbar ui-logo{top:2px}@media(min-width:600px){.mobile-navbar{display:none}}.main-container{display:flex;flex-direction:row;width:100vw;height:100vh}.main-container .app-container{flex:1;min-width:0;overflow:hidden auto;transition:margin-left .18s cubic-bezier(.4,0,.2,1),padding .18s cubic-bezier(.4,0,.2,1)}.main-container .app-container .backdrop{display:none;padding:0;border:0;background:transparent;cursor:pointer}.main-container .app-container.expanded .backdrop{display:block}@media(prefers-reduced-motion:reduce){.main-container .app-container{transition:none}}@media(max-width:600px){.main-container .app-container{margin-top:64px}.main-container .app-container.expanded .backdrop{position:fixed;top:64px;left:240px;background:#00000040;width:calc(100vw - 240px);height:calc(100vh - 64px);z-index:8}}@media(min-width:600px)and (max-width:1024px){.main-container .app-container{margin-left:72px}.main-container .app-container.expanded .backdrop{position:absolute;top:0;left:0;background:#00000040;width:100%;height:100%;z-index:2}}@media(min-width:1024px){.main-container .app-container.collapsed{margin-left:72px}.main-container .app-container.expanded{margin-left:240px}}.side-navigation-container{position:fixed;z-index:10;display:flex;flex-direction:column;background:#fff;height:100vh;width:240px;border-right:1px solid #e9e9e9;transition:width .18s cubic-bezier(.4,0,.2,1),left .18s cubic-bezier(.4,0,.2,1)}@media(prefers-reduced-motion:reduce){.side-navigation-container{transition:none}}.side-navigation-container.collapsed{width:72px}@media(max-width:600px){.side-navigation-container{width:240px;top:64px;height:calc(100vh - 64px)}.side-navigation-container .zone-logo-row{display:none!important}.side-navigation-container.expanded{left:0}.side-navigation-container.collapsed{width:240px;left:-240px}}.side-navigation-container .zone-logo-row{flex:0 0 auto;height:56px;padding:16px 12px 16px 26px;display:flex;align-items:center;border-bottom:1px solid #e9e9e9;position:relative}.side-navigation-container .zone-logo-row .header{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.side-navigation-container .zone-logo-row .header ui-logo{cursor:pointer;flex:0 0 auto}.side-navigation-container .zone-logo-row .header .logo-brandmark{position:absolute;left:26px;top:50%;transform:translateY(-50%);opacity:0;pointer-events:none;transition:opacity 90ms cubic-bezier(.4,0,.2,1) 90ms}.side-navigation-container .zone-logo-row .header .logo-lockup{opacity:1;max-width:136px;overflow:hidden;transition:opacity .18s cubic-bezier(.4,0,.2,1),max-width .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container .zone-logo-row .header .navigation-collapse-button ::ng-deep .mat-mdc-button-persistent-ripple{background:#fff}.side-navigation-container .zone-logo-row .navigation-collapse-button{position:absolute;top:8px;right:12px;z-index:2;background:transparent;border:1px solid transparent;border-radius:50%;box-shadow:0 2px 8px #0000;transform:translate(0);transition:right .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1),background .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container.collapsed .zone-logo-row .header .logo-brandmark{opacity:1;pointer-events:auto;transition:opacity 90ms cubic-bezier(.4,0,.2,1)}.side-navigation-container.collapsed .zone-logo-row .header .logo-lockup{opacity:0;max-width:0;pointer-events:none}.side-navigation-container.collapsed .zone-logo-row .navigation-collapse-button{top:8px;right:0;transform:translate(50%);background:#fff;border-color:#e9e9e9;box-shadow:0 2px 8px #00000014}.side-navigation-container .zone-primary-nav{flex:1 1 auto;min-height:0;overflow:hidden auto;display:flex;flex-direction:column;gap:8px;padding:12px}.side-navigation-container .zone-primary-nav .main-cta{width:100%}.side-navigation-container .zone-primary-nav .main-cta ::ng-deep ui-button button{overflow:hidden;padding-left:12px!important;padding-right:12px!important}.side-navigation-container .zone-primary-nav .main-cta ::ng-deep ui-button button .icon-label-wrapper{justify-content:flex-start;width:100%}.side-navigation-container .zone-primary-nav .main-cta ::ng-deep ui-button button span.icon{transition:margin-right .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container .zone-primary-nav .main-cta ::ng-deep ui-button button span.label{opacity:1;transition:opacity .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container.collapsed .zone-primary-nav .main-cta ::ng-deep ui-button button span.icon{margin-right:0!important}.side-navigation-container.collapsed .zone-primary-nav .main-cta ::ng-deep ui-button button span.label{opacity:0;pointer-events:none}.side-navigation-container .zone-utility-nav{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;padding:12px;border-top:1px solid #e9e9e9;align-items:stretch}.side-navigation-container .zone-utility-nav:empty{display:none}.side-navigation-container.collapsed .zone-account{align-items:center;padding:12px}.side-navigation-container.collapsed .zone-account .user-info{transform:translate(-8px)}.side-navigation-container .zone-account{flex:0 0 auto;width:100%;padding:12px;border-top:1px solid #e9e9e9;background:#fff;display:flex;flex-direction:column;gap:8px;align-items:stretch}.side-navigation-container .zone-account>ui-button,.side-navigation-container .zone-account>a,.side-navigation-container .zone-account>button{width:100%}.side-navigation-container .zone-account ui-overflow-menu{width:100%}.side-navigation-container .zone-account ui-avatar ::ng-deep .avatar-container{transition:width .18s cubic-bezier(.4,0,.2,1),height .18s cubic-bezier(.4,0,.2,1),font-size .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container .zone-account .user-info{display:flex;align-items:center;padding:8px 0;width:100%;gap:12px;transition:transform .18s cubic-bezier(.4,0,.2,1);transform:translate(0)}.side-navigation-container .zone-account .user-info .user-name,.side-navigation-container .zone-account .user-info .user-chevron{opacity:1;transition:opacity .18s cubic-bezier(.4,0,.2,1)}@starting-style{.side-navigation-container .zone-account .user-info .user-name,.side-navigation-container .zone-account .user-info .user-chevron{opacity:0}}.side-navigation-container .zone-account .user-info .user-name{flex:1 1 auto;font-weight:500;font-size:14px;line-height:22px;font-family:ModernGothic,sans-serif;color:#242424;text-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-navigation-container .zone-account .user-info .user-chevron{flex:0 0 auto;color:#666}.side-navigation-container .navigation-list{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:8px}.side-navigation-container .navigation-list li{width:100%}.side-navigation-container .menu-item{width:100%;height:40px;display:flex;font-size:14px;font-weight:700;font-family:ModernGothic,sans-serif;flex-direction:row;align-items:center;cursor:pointer}.side-navigation-container .menu-item ui-button{width:100%}.side-navigation-container .menu-item ::ng-deep ui-button button{padding:8px 12px!important;border-radius:10px!important;min-height:40px;overflow:hidden}.side-navigation-container .menu-item ::ng-deep ui-button button span.icon{margin-right:12px!important;transition:margin-right .18s cubic-bezier(.4,0,.2,1)}.side-navigation-container .menu-item ::ng-deep ui-button button span.label{transition:opacity .18s cubic-bezier(.4,0,.2,1),max-width .18s cubic-bezier(.4,0,.2,1);opacity:1;max-width:240px}.side-navigation-container .menu-item ::ng-deep ui-button.active button{background-color:#fff2fc!important;color:#a90686!important}.side-navigation-container .menu-item ::ng-deep ui-button.active button .icon,.side-navigation-container .menu-item ::ng-deep ui-button.active button .label{color:#a90686!important}.side-navigation-container .menu-item ::ng-deep ui-button.active button .mat-mdc-button-touch-target{background-color:transparent}.side-navigation-container.collapsed .menu-item ::ng-deep ui-button button{width:100%!important}.side-navigation-container.collapsed .menu-item ::ng-deep ui-button button span.icon{margin-right:0!important}.side-navigation-container.collapsed .menu-item ::ng-deep ui-button button span.label{opacity:0;max-width:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.side-navigation-container .menu-item ::ng-deep ui-button button,.side-navigation-container .menu-item ::ng-deep ui-button button span.icon,.side-navigation-container .menu-item ::ng-deep ui-button button span.label,.side-navigation-container .zone-logo-row .header .logo-brandmark,.side-navigation-container .zone-logo-row .header .logo-lockup,.side-navigation-container .zone-logo-row .navigation-collapse-button{transition:none}}::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell,::ng-deep ui-overflow-menu button.mat-mdc-menu-trigger.content-template{outline-offset:-2px!important}::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:hover,::ng-deep ui-overflow-menu button.mat-mdc-menu-trigger.content-template:hover{background-color:#f4f4f4!important}::ng-deep ui-button button.mat-mdc-unelevated-button.menuCell:active,::ng-deep ui-overflow-menu button.mat-mdc-menu-trigger.content-template:active{background-color:#e9e9e9!important}::ng-deep ui-button.active button.mat-mdc-unelevated-button.menuCell:hover{background-color:#ffe6fa!important}::ng-deep ui-overflow-menu button.overflow-menu-opener.content-template{padding:0 8px}@media(min-width:600px){::ng-deep .cdk-overlay-connected-position-bounding-box:has(.cdk-overlay-pane .collapsed-menu){left:78px!important}::ng-deep .cdk-overlay-connected-position-bounding-box:has(.cdk-overlay-pane .expanded-menu){left:246px!important}}@media(max-width:599px){::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.expanded-menu,::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.collapsed-menu{max-width:calc(100vw - 32px);min-width:0}}::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.expanded-menu,::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.collapsed-menu{min-width:280px}::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.expanded-menu button.mat-mdc-menu-item.cdk-keyboard-focused,::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.collapsed-menu button.mat-mdc-menu-item.cdk-keyboard-focused{background-color:#f4f4f4}::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.expanded-menu button.mat-mdc-menu-item.cdk-keyboard-focused.is-destructive,::ng-deep .cdk-overlay-pane .mat-mdc-menu-panel.collapsed-menu button.mat-mdc-menu-item.cdk-keyboard-focused.is-destructive{background-color:#ffeae6}\n"] }]
165
169
  }], propDecorators: { activeRoute: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeRoute", required: false }] }], mainCta: [{ type: i0.Input, args: [{ isSignal: true, alias: "mainCta", required: false }] }], mainNavigation: [{ type: i0.Input, args: [{ isSignal: true, alias: "mainNavigation", required: true }] }], secondaryNavigation: [{ type: i0.Input, args: [{ isSignal: true, alias: "secondaryNavigation", required: false }] }], contentTemplateExtendedRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentTemplateExtendedRef", required: false }] }], contentTemplateCollapsedRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentTemplateCollapsedRef", required: false }] }], account: [{ type: i0.Input, args: [{ isSignal: true, alias: "account", required: false }] }], appContentTemplateRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "appContentTemplateRef", required: false }] }], applicationTheme: [{ type: i0.Input, args: [{ isSignal: true, alias: "applicationTheme", required: false }] }], collapseToggleLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapseToggleLabel", required: false }] }], expandToggleLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandToggleLabel", required: false }] }], mobileMenuLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileMenuLabel", required: false }] }], mobileCloseLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileCloseLabel", required: false }] }], navAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "navAriaLabel", required: false }] }], isCollapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCollapsed", required: false }] }, { type: i0.Output, args: ["isCollapsedChange"] }], mainCtaClicked: [{ type: i0.Output, args: ["mainCtaClicked"] }], navigate: [{ type: i0.Output, args: ["navigate"] }], accountMenuSelected: [{ type: i0.Output, args: ["accountMenuSelected"] }], logoClicked: [{ type: i0.Output, args: ["logoClicked"] }] } });
166
170
 
167
171
  class SideNavigationComponentModule {
168
172
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SideNavigationComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
169
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: SideNavigationComponentModule, declarations: [SideNavigationComponent], imports: [A11yModule,
173
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: SideNavigationComponentModule, imports: [A11yModule,
170
174
  CommonModule,
171
175
  UiTranslatePipe,
172
176
  ButtonComponentModule,
173
177
  AvatarComponentModule,
174
178
  IconComponentModule,
175
179
  LogoComponentModule,
176
- OverflowMenuComponentModule], exports: [SideNavigationComponent] }); }
180
+ OverflowMenuComponentModule,
181
+ SideNavigationComponent], exports: [SideNavigationComponent] }); }
177
182
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SideNavigationComponentModule, imports: [A11yModule,
178
183
  CommonModule,
179
184
  ButtonComponentModule,
180
185
  AvatarComponentModule,
181
186
  IconComponentModule,
182
187
  LogoComponentModule,
183
- OverflowMenuComponentModule] }); }
188
+ OverflowMenuComponentModule,
189
+ SideNavigationComponent] }); }
184
190
  }
185
191
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SideNavigationComponentModule, decorators: [{
186
192
  type: NgModule,
187
193
  args: [{
188
- declarations: [SideNavigationComponent],
189
194
  imports: [
190
195
  A11yModule,
191
196
  CommonModule,
@@ -195,6 +200,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
195
200
  IconComponentModule,
196
201
  LogoComponentModule,
197
202
  OverflowMenuComponentModule,
203
+ SideNavigationComponent,
198
204
  ],
199
205
  exports: [SideNavigationComponent],
200
206
  }]
@@ -1 +1 @@
1
- {"version":3,"file":"testgorilla-tgo-ui-components-side-navigation.mjs","sources":["../../../components/side-navigation/side-navigation.component.ts","../../../components/side-navigation/side-navigation.component.html","../../../components/side-navigation/side-navigation.component.module.ts","../../../components/side-navigation/testgorilla-tgo-ui-components-side-navigation.ts"],"sourcesContent":["import { LiveAnnouncer } from '@angular/cdk/a11y';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n OnDestroy,\n OnInit,\n TemplateRef,\n computed,\n inject,\n input,\n model,\n output,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { AvatarSize } from '@testgorilla/tgo-ui/components/avatar';\nimport { ApplicationTheme, ScreenBreakpoints, UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';\nimport { LogoTypeEnum } from '@testgorilla/tgo-ui/components/logo';\nimport { MenuConfig } from '@testgorilla/tgo-ui/components/overflow-menu';\nimport { take } from 'rxjs';\nimport { NavigationAccount, NavigationCta, NavigationItem } from './side-navigation.model';\n\nconst OVERFLOW_MENU_CONFIG: Omit<MenuConfig, 'panelClass'> = {\n overlapTrigger: true,\n xPosition: 'before',\n yPosition: 'below',\n};\n\nexport const COLLAPSE_ANIMATION_MS = 180;\n\nconst TRANSLATION_KEY = {\n COLLAPSE: 'SIDE_NAVIGATION.COLLAPSE_LABEL',\n EXPAND: 'SIDE_NAVIGATION.EXPAND_LABEL',\n MOBILE_OPEN: 'SIDE_NAVIGATION.MOBILE_OPEN_LABEL',\n MOBILE_CLOSE: 'SIDE_NAVIGATION.MOBILE_CLOSE_LABEL',\n NAV: 'SIDE_NAVIGATION.NAV_ARIA_LABEL',\n ANNOUNCE_COLLAPSED: 'SIDE_NAVIGATION.ANNOUNCE_COLLAPSED',\n ANNOUNCE_EXPANDED: 'SIDE_NAVIGATION.ANNOUNCE_EXPANDED',\n} as const;\n\n@Component({\n selector: 'ui-side-navigation',\n templateUrl: './side-navigation.component.html',\n styleUrls: ['./side-navigation.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n providers: [UiTranslatePipe],\n host: {\n '(keydown.escape)': 'onEscapeKey()',\n },\n})\nexport class SideNavigationComponent implements OnInit, OnDestroy {\n protected readonly avatarSize = AvatarSize;\n protected readonly logoType = LogoTypeEnum;\n protected readonly drawerControlsId = 'side-navigation-drawer';\n protected readonly translationKey = TRANSLATION_KEY;\n\n private breakpointObserver = inject(BreakpointObserver);\n private liveAnnouncer = inject(LiveAnnouncer);\n private destroyRef = inject(DestroyRef);\n private uiTranslate = inject(UiTranslatePipe);\n\n activeRoute = input<string>('');\n mainCta = input<NavigationCta>();\n mainNavigation = input.required<NavigationItem[]>();\n secondaryNavigation = input<NavigationItem[]>();\n contentTemplateExtendedRef = input<TemplateRef<unknown>>();\n contentTemplateCollapsedRef = input<TemplateRef<unknown>>();\n account = input<NavigationAccount>();\n appContentTemplateRef = input<TemplateRef<unknown>>();\n applicationTheme = input<ApplicationTheme>('light');\n /** Optional override; falls back to `SIDE_NAVIGATION.COLLAPSE_LABEL` translation. */\n collapseToggleLabel = input<string>();\n /** Optional override; falls back to `SIDE_NAVIGATION.EXPAND_LABEL` translation. */\n expandToggleLabel = input<string>();\n /** Optional override; falls back to `SIDE_NAVIGATION.MOBILE_OPEN_LABEL` translation. */\n mobileMenuLabel = input<string>();\n /** Optional override; falls back to `SIDE_NAVIGATION.MOBILE_CLOSE_LABEL` translation. */\n mobileCloseLabel = input<string>();\n /** Optional override; falls back to `SIDE_NAVIGATION.NAV_ARIA_LABEL` translation. */\n navAriaLabel = input<string>();\n\n isCollapsed = model<boolean>(false);\n\n mainCtaClicked = output<void>();\n navigate = output<string>();\n accountMenuSelected = output<string>();\n logoClicked = output<void>();\n\n isExpandingOrCollapsing = signal(false);\n isMobileOrTablet = signal(false);\n\n protected readonly trapFocus = computed(() => this.isMobileOrTablet() && !this.isCollapsed());\n\n private collapseTimer: ReturnType<typeof setTimeout> | null = null;\n\n activeRoutesMap = computed(() => {\n const currentRoute = this.activeRoute();\n const allItems = [...this.mainNavigation(), ...(this.secondaryNavigation() ?? [])];\n return new Map(allItems.map(route => [route.url, currentRoute?.startsWith(route.url) ?? false]));\n });\n\n overflowMenuConfig = computed<MenuConfig>(() => ({\n ...OVERFLOW_MENU_CONFIG,\n panelClass: this.isCollapsed() ? 'collapsed-menu' : 'expanded-menu',\n }));\n\n protected readonly toggleAriaLabelOverride = computed(() =>\n this.isCollapsed() ? this.expandToggleLabel() : this.collapseToggleLabel()\n );\n\n protected readonly toggleAriaKey = computed(() =>\n this.isCollapsed() ? TRANSLATION_KEY.EXPAND : TRANSLATION_KEY.COLLAPSE\n );\n\n protected readonly mobileToggleAriaLabelOverride = computed(() =>\n this.isCollapsed() ? this.mobileMenuLabel() : this.mobileCloseLabel()\n );\n\n protected readonly mobileToggleAriaKey = computed(() =>\n this.isCollapsed() ? TRANSLATION_KEY.MOBILE_OPEN : TRANSLATION_KEY.MOBILE_CLOSE\n );\n\n ngOnInit(): void {\n this.observeViewportBreakpoint();\n }\n\n ngOnDestroy(): void {\n this.clearCollapseTimer();\n }\n\n toggleCollapsed({ announce = true }: { announce?: boolean } = {}): void {\n this.isCollapsed.set(!this.isCollapsed());\n\n if (announce) {\n this.announceCollapseState();\n }\n\n if (this.prefersReducedMotion()) {\n return;\n }\n\n this.isExpandingOrCollapsing.set(true);\n this.clearCollapseTimer();\n this.collapseTimer = setTimeout(() => {\n this.isExpandingOrCollapsing.set(false);\n this.collapseTimer = null;\n }, COLLAPSE_ANIMATION_MS);\n }\n\n onNavigateClick(id: string): void {\n this.navigate.emit(id);\n this.autoCloseDrawer();\n }\n\n onSelectMenuItem($event: string): void {\n this.accountMenuSelected.emit($event);\n this.autoCloseDrawer();\n }\n\n onEscapeKey(): void {\n this.autoCloseDrawer();\n }\n\n private autoCloseDrawer(): void {\n if (this.isMobileOrTablet() && !this.isCollapsed()) {\n this.toggleCollapsed({ announce: false });\n }\n }\n\n private observeViewportBreakpoint(): void {\n this.breakpointObserver\n .observe([`(max-width: ${ScreenBreakpoints.TABLET}px)`])\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(result => {\n const wasMobileOrTablet = this.isMobileOrTablet();\n this.isMobileOrTablet.set(result.matches);\n if (result.matches && !wasMobileOrTablet) {\n this.isCollapsed.set(true);\n }\n });\n }\n\n private announceCollapseState(): void {\n const key = this.isCollapsed() ? TRANSLATION_KEY.ANNOUNCE_COLLAPSED : TRANSLATION_KEY.ANNOUNCE_EXPANDED;\n this.uiTranslate\n .transform(key)\n .pipe(take(1))\n .subscribe(message => {\n void this.liveAnnouncer.announce(message, 'polite');\n });\n }\n\n private clearCollapseTimer(): void {\n if (this.collapseTimer !== null) {\n clearTimeout(this.collapseTimer);\n this.collapseTimer = null;\n }\n }\n\n private prefersReducedMotion(): boolean {\n return typeof matchMedia === 'function' && matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n}\n","<div class=\"mobile-navbar\">\n <ui-logo [allowResizing]=\"true\" [width]=\"150\" [type]=\"logoType.DEFAULT\" (click)=\"logoClicked.emit()\"></ui-logo>\n\n <ui-button\n data-testid=\"navigation-collapse-mobile\"\n data-test-role=\"navigation-collapse\"\n [applicationTheme]=\"applicationTheme()\"\n [variant]=\"'menuTrigger'\"\n [iconName]=\"isCollapsed() ? 'Menu-burger' : 'Close'\"\n [ariaLabel]=\"mobileToggleAriaLabelOverride() ?? (mobileToggleAriaKey() | uiTranslate | async) ?? ''\"\n [ariaExpanded]=\"!isCollapsed()\"\n [ariaControls]=\"drawerControlsId\"\n [tooltip]=\"mobileToggleAriaLabelOverride() ?? (mobileToggleAriaKey() | uiTranslate | async) ?? ''\"\n tooltipPosition=\"left\"\n (buttonClickEvent)=\"toggleCollapsed()\"\n class=\"navigation-collapse-button\"\n ></ui-button>\n</div>\n\n<div class=\"main-container\">\n <nav\n [id]=\"drawerControlsId\"\n role=\"navigation\"\n [attr.aria-label]=\"navAriaLabel() ?? (translationKey.NAV | uiTranslate | async)\"\n class=\"side-navigation-container\"\n [class.collapsed]=\"isCollapsed()\"\n [class.expanded]=\"!isCollapsed()\"\n [cdkTrapFocus]=\"trapFocus()\"\n [cdkTrapFocusAutoCapture]=\"trapFocus()\"\n >\n <div class=\"zone-logo-row\">\n <div class=\"header\" [class.collapsed]=\"isCollapsed()\">\n <ui-logo\n class=\"logo-brandmark\"\n [allowResizing]=\"true\"\n [width]=\"19\"\n [type]=\"logoType.PRIMARY_BRANDMARK_PINK\"\n (click)=\"logoClicked.emit()\"\n ></ui-logo>\n <ui-logo\n class=\"logo-lockup\"\n [allowResizing]=\"true\"\n [width]=\"136\"\n [type]=\"logoType.DEFAULT\"\n (click)=\"logoClicked.emit()\"\n ></ui-logo>\n\n <ui-button\n data-testid=\"navigation-collapse\"\n data-test-role=\"navigation-collapse\"\n [applicationTheme]=\"applicationTheme()\"\n [variant]=\"'menuTrigger'\"\n [iconName]=\"isCollapsed() ? 'Sidebar-open-in-line' : 'Sidebar-close-in-line'\"\n [ariaLabel]=\"toggleAriaLabelOverride() ?? (toggleAriaKey() | uiTranslate | async) ?? ''\"\n [ariaPressed]=\"isCollapsed()\"\n [tooltip]=\"toggleAriaLabelOverride() ?? (toggleAriaKey() | uiTranslate | async) ?? ''\"\n tooltipPosition=\"below\"\n (buttonClickEvent)=\"toggleCollapsed()\"\n [class.collapsed]=\"isCollapsed()\"\n class=\"navigation-collapse-button\"\n ></ui-button>\n </div>\n </div>\n\n <div class=\"zone-primary-nav\">\n @if (mainCta(); as cta) {\n <div class=\"main-cta\">\n <ui-button\n data-testid=\"main-cta\"\n data-test-role=\"main-cta\"\n [applicationTheme]=\"applicationTheme()\"\n [fullWidth]=\"true\"\n [variant]=\"cta.variant\"\n iconPosition=\"left\"\n [iconName]=\"cta.icon\"\n [label]=\"isCollapsed() && !isExpandingOrCollapsing() ? '' : cta.label\"\n [ariaLabel]=\"cta.label\"\n [tooltip]=\"isCollapsed() ? cta.label : ''\"\n tooltipPosition=\"right\"\n (buttonClickEvent)=\"mainCtaClicked.emit()\"\n ></ui-button>\n </div>\n }\n\n <ul class=\"navigation-list\">\n @for (item of mainNavigation(); track item.id) {\n <li>\n <ng-container [ngTemplateOutlet]=\"navigationItem\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </li>\n }\n </ul>\n </div>\n\n <div class=\"zone-utility-nav\">\n @if (secondaryNavigation(); as secondary) {\n <ul class=\"navigation-list\">\n @for (item of secondary; track item.id) {\n <li>\n <ng-container [ngTemplateOutlet]=\"navigationItem\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </li>\n }\n </ul>\n }\n </div>\n\n @if (account() || contentTemplateExtendedRef() || contentTemplateCollapsedRef()) {\n <div class=\"zone-account\">\n @if (contentTemplateExtendedRef(); as extendedRef) {\n @if (!isCollapsed() && !isExpandingOrCollapsing()) {\n <ng-container [ngTemplateOutlet]=\"extendedRef\"></ng-container>\n }\n }\n\n @if (contentTemplateCollapsedRef(); as collapsedRef) {\n @if (isCollapsed() || isExpandingOrCollapsing()) {\n <ng-container [ngTemplateOutlet]=\"collapsedRef\"></ng-container>\n }\n }\n\n @if (account(); as accountValue) {\n <ui-overflow-menu\n [applicationTheme]=\"applicationTheme()\"\n [contentTemplateRef]=\"userInfo\"\n [buttons]=\"accountValue.menu\"\n [isDynamicMenu]=\"true\"\n [class.collapsed]=\"isCollapsed() && !isExpandingOrCollapsing()\"\n (selectItem)=\"onSelectMenuItem($event)\"\n [menuConfig]=\"overflowMenuConfig()\"\n ></ui-overflow-menu>\n }\n </div>\n }\n </nav>\n <div class=\"app-container\" [class.collapsed]=\"isCollapsed()\" [class.expanded]=\"!isCollapsed()\">\n @if (appContentTemplateRef(); as appRef) {\n <ng-container [ngTemplateOutlet]=\"appRef\"></ng-container>\n }\n @if (isMobileOrTablet() && !isCollapsed()) {\n <button\n type=\"button\"\n class=\"backdrop\"\n [attr.aria-label]=\"mobileCloseLabel() ?? (translationKey.MOBILE_CLOSE | uiTranslate | async) ?? ''\"\n (click)=\"toggleCollapsed()\"\n ></button>\n }\n </div>\n</div>\n\n<ng-template #navigationItem let-item=\"item\">\n @if (item) {\n <div class=\"menu-item\" [attr.aria-current]=\"activeRoutesMap().get(item.url) ? 'page' : null\">\n <ui-button\n [attr.data-testid]=\"item.id\"\n data-test-role=\"menu-item\"\n [applicationTheme]=\"applicationTheme()\"\n [fullWidth]=\"true\"\n [disabledScaleOnClick]=\"true\"\n [variant]=\"'menuCell'\"\n iconPosition=\"left\"\n [iconName]=\"item.icon\"\n [label]=\"isCollapsed() && !isExpandingOrCollapsing() ? '' : item.text\"\n (buttonClickEvent)=\"onNavigateClick(item.id)\"\n (keydown.Tab)=\"$event.stopPropagation()\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n [ariaLabel]=\"item.text\"\n [class.active]=\"activeRoutesMap().get(item.url)\"\n [buttonBadgeConfig]=\"isCollapsed() && !isExpandingOrCollapsing() ? undefined : item?.badgeOptions\"\n [tooltip]=\"isCollapsed() ? item.text : undefined\"\n tooltipPosition=\"right\"\n [iconFilled]=\"!!activeRoutesMap().get(item.url)\"\n ></ui-button>\n </div>\n }\n</ng-template>\n\n<ng-template #userInfo>\n @if (account(); as accountValue) {\n <div class=\"user-info\">\n <ui-avatar [size]=\"isCollapsed() ? avatarSize.MEDIUM : avatarSize.SMALL\" [name]=\"accountValue.name\"></ui-avatar>\n @if (!isCollapsed()) {\n <span class=\"user-name\">{{ accountValue.name }}</span>\n <ui-icon class=\"user-chevron\" name=\"Arrow-chevron-right-in-line\" size=\"24\" aria-hidden=\"true\"></ui-icon>\n }\n </div>\n }\n</ng-template>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AvatarComponentModule } from '@testgorilla/tgo-ui/components/avatar';\nimport { ButtonComponentModule } from '@testgorilla/tgo-ui/components/button';\nimport { UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';\nimport { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';\nimport { LogoComponentModule } from '@testgorilla/tgo-ui/components/logo';\nimport { OverflowMenuComponentModule } from '@testgorilla/tgo-ui/components/overflow-menu';\nimport { SideNavigationComponent } from './side-navigation.component';\n\n@NgModule({\n declarations: [SideNavigationComponent],\n imports: [\n A11yModule,\n CommonModule,\n UiTranslatePipe,\n ButtonComponentModule,\n AvatarComponentModule,\n IconComponentModule,\n LogoComponentModule,\n OverflowMenuComponentModule,\n ],\n exports: [SideNavigationComponent],\n})\nexport class SideNavigationComponentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testgorilla-tgo-ui-components-side-navigation.mjs","sources":["../../../components/side-navigation/side-navigation.component.ts","../../../components/side-navigation/side-navigation.component.html","../../../components/side-navigation/side-navigation.component.module.ts","../../../components/side-navigation/testgorilla-tgo-ui-components-side-navigation.ts"],"sourcesContent":["import { LiveAnnouncer, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { NgTemplateOutlet, AsyncPipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n OnDestroy,\n OnInit,\n TemplateRef,\n computed,\n inject,\n input,\n model,\n output,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { take } from 'rxjs';\n\nimport { AvatarSize, AvatarComponent } from '@testgorilla/tgo-ui/components/avatar';\nimport { ButtonComponent } from '@testgorilla/tgo-ui/components/button';\nimport { ApplicationTheme, ScreenBreakpoints, UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';\nimport { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';\nimport { LogoTypeEnum, LogoComponent } from '@testgorilla/tgo-ui/components/logo';\nimport { MenuConfig, OverflowMenuComponentModule } from '@testgorilla/tgo-ui/components/overflow-menu';\n\nimport { NavigationAccount, NavigationCta, NavigationItem } from './side-navigation.model';\n\nconst OVERFLOW_MENU_CONFIG: Omit<MenuConfig, 'panelClass'> = {\n overlapTrigger: true,\n xPosition: 'before',\n yPosition: 'below',\n};\n\nexport const COLLAPSE_ANIMATION_MS = 180;\n\nconst TRANSLATION_KEY = {\n COLLAPSE: 'SIDE_NAVIGATION.COLLAPSE_LABEL',\n EXPAND: 'SIDE_NAVIGATION.EXPAND_LABEL',\n MOBILE_OPEN: 'SIDE_NAVIGATION.MOBILE_OPEN_LABEL',\n MOBILE_CLOSE: 'SIDE_NAVIGATION.MOBILE_CLOSE_LABEL',\n NAV: 'SIDE_NAVIGATION.NAV_ARIA_LABEL',\n ANNOUNCE_COLLAPSED: 'SIDE_NAVIGATION.ANNOUNCE_COLLAPSED',\n ANNOUNCE_EXPANDED: 'SIDE_NAVIGATION.ANNOUNCE_EXPANDED',\n} as const;\n\n@Component({\n selector: 'ui-side-navigation',\n templateUrl: './side-navigation.component.html',\n styleUrls: ['./side-navigation.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [UiTranslatePipe],\n host: {\n '(keydown.escape)': 'onEscapeKey()',\n },\n imports: [\n LogoComponent,\n ButtonComponent,\n CdkTrapFocus,\n NgTemplateOutlet,\n OverflowMenuComponentModule,\n AvatarComponent,\n IconComponentModule,\n AsyncPipe,\n UiTranslatePipe,\n ],\n})\nexport class SideNavigationComponent implements OnInit, OnDestroy {\n protected readonly avatarSize = AvatarSize;\n protected readonly logoType = LogoTypeEnum;\n protected readonly drawerControlsId = 'side-navigation-drawer';\n protected readonly translationKey = TRANSLATION_KEY;\n\n private readonly breakpointObserver = inject(BreakpointObserver);\n private readonly liveAnnouncer = inject(LiveAnnouncer);\n private readonly destroyRef = inject(DestroyRef);\n private readonly uiTranslate = inject(UiTranslatePipe);\n\n activeRoute = input<string>('');\n mainCta = input<NavigationCta>();\n mainNavigation = input.required<NavigationItem[]>();\n secondaryNavigation = input<NavigationItem[]>();\n contentTemplateExtendedRef = input<TemplateRef<unknown>>();\n contentTemplateCollapsedRef = input<TemplateRef<unknown>>();\n account = input<NavigationAccount>();\n appContentTemplateRef = input<TemplateRef<unknown>>();\n applicationTheme = input<ApplicationTheme>('light');\n /** Optional override; falls back to `SIDE_NAVIGATION.COLLAPSE_LABEL` translation. */\n collapseToggleLabel = input<string>();\n /** Optional override; falls back to `SIDE_NAVIGATION.EXPAND_LABEL` translation. */\n expandToggleLabel = input<string>();\n /** Optional override; falls back to `SIDE_NAVIGATION.MOBILE_OPEN_LABEL` translation. */\n mobileMenuLabel = input<string>();\n /** Optional override; falls back to `SIDE_NAVIGATION.MOBILE_CLOSE_LABEL` translation. */\n mobileCloseLabel = input<string>();\n /** Optional override; falls back to `SIDE_NAVIGATION.NAV_ARIA_LABEL` translation. */\n navAriaLabel = input<string>();\n\n isCollapsed = model<boolean>(false);\n\n mainCtaClicked = output<void>();\n navigate = output<string>();\n accountMenuSelected = output<string>();\n logoClicked = output<void>();\n\n isExpandingOrCollapsing = signal(false);\n isMobileOrTablet = signal(false);\n\n protected readonly trapFocus = computed(() => this.isMobileOrTablet() && !this.isCollapsed());\n\n private collapseTimer: ReturnType<typeof setTimeout> | null = null;\n\n activeRoutesMap = computed(() => {\n const currentRoute = this.activeRoute();\n const allItems = [...this.mainNavigation(), ...(this.secondaryNavigation() ?? [])];\n return new Map(allItems.map(route => [route.url, currentRoute?.startsWith(route.url) ?? false]));\n });\n\n overflowMenuConfig = computed<MenuConfig>(() => ({\n ...OVERFLOW_MENU_CONFIG,\n panelClass: this.isCollapsed() ? 'collapsed-menu' : 'expanded-menu',\n }));\n\n protected readonly toggleAriaLabelOverride = computed(() =>\n this.isCollapsed() ? this.expandToggleLabel() : this.collapseToggleLabel()\n );\n\n protected readonly toggleAriaKey = computed(() =>\n this.isCollapsed() ? TRANSLATION_KEY.EXPAND : TRANSLATION_KEY.COLLAPSE\n );\n\n protected readonly mobileToggleAriaLabelOverride = computed(() =>\n this.isCollapsed() ? this.mobileMenuLabel() : this.mobileCloseLabel()\n );\n\n protected readonly mobileToggleAriaKey = computed(() =>\n this.isCollapsed() ? TRANSLATION_KEY.MOBILE_OPEN : TRANSLATION_KEY.MOBILE_CLOSE\n );\n\n ngOnInit(): void {\n this.observeViewportBreakpoint();\n }\n\n ngOnDestroy(): void {\n this.clearCollapseTimer();\n }\n\n toggleCollapsed({ announce = true }: { announce?: boolean } = {}): void {\n this.isCollapsed.set(!this.isCollapsed());\n\n if (announce) {\n this.announceCollapseState();\n }\n\n if (this.prefersReducedMotion()) {\n return;\n }\n\n this.isExpandingOrCollapsing.set(true);\n this.clearCollapseTimer();\n this.collapseTimer = setTimeout(() => {\n this.isExpandingOrCollapsing.set(false);\n this.collapseTimer = null;\n }, COLLAPSE_ANIMATION_MS);\n }\n\n onNavigateClick(id: string): void {\n this.navigate.emit(id);\n this.autoCloseDrawer();\n }\n\n onSelectMenuItem($event: string): void {\n this.accountMenuSelected.emit($event);\n this.autoCloseDrawer();\n }\n\n onEscapeKey(): void {\n this.autoCloseDrawer();\n }\n\n private autoCloseDrawer(): void {\n if (this.isMobileOrTablet() && !this.isCollapsed()) {\n this.toggleCollapsed({ announce: false });\n }\n }\n\n private observeViewportBreakpoint(): void {\n this.breakpointObserver\n .observe([`(max-width: ${ScreenBreakpoints.TABLET}px)`])\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(result => {\n const wasMobileOrTablet = this.isMobileOrTablet();\n this.isMobileOrTablet.set(result.matches);\n if (result.matches && !wasMobileOrTablet) {\n this.isCollapsed.set(true);\n }\n });\n }\n\n private announceCollapseState(): void {\n const key = this.isCollapsed() ? TRANSLATION_KEY.ANNOUNCE_COLLAPSED : TRANSLATION_KEY.ANNOUNCE_EXPANDED;\n this.uiTranslate\n .transform(key)\n .pipe(take(1))\n .subscribe(message => {\n void this.liveAnnouncer.announce(message, 'polite');\n });\n }\n\n private clearCollapseTimer(): void {\n if (this.collapseTimer !== null) {\n clearTimeout(this.collapseTimer);\n this.collapseTimer = null;\n }\n }\n\n private prefersReducedMotion(): boolean {\n return typeof matchMedia === 'function' && matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n}\n","<div class=\"mobile-navbar\">\n <ui-logo [allowResizing]=\"true\" [width]=\"150\" [type]=\"logoType.DEFAULT\" (click)=\"logoClicked.emit()\"></ui-logo>\n\n <ui-button\n data-testid=\"navigation-collapse-mobile\"\n data-test-role=\"navigation-collapse\"\n [applicationTheme]=\"applicationTheme()\"\n [variant]=\"'menuTrigger'\"\n [iconName]=\"isCollapsed() ? 'Menu-burger' : 'Close'\"\n [ariaLabel]=\"mobileToggleAriaLabelOverride() ?? (mobileToggleAriaKey() | uiTranslate | async) ?? ''\"\n [ariaExpanded]=\"!isCollapsed()\"\n [ariaControls]=\"drawerControlsId\"\n [tooltip]=\"mobileToggleAriaLabelOverride() ?? (mobileToggleAriaKey() | uiTranslate | async) ?? ''\"\n tooltipPosition=\"left\"\n (buttonClickEvent)=\"toggleCollapsed()\"\n class=\"navigation-collapse-button\"\n ></ui-button>\n</div>\n\n<div class=\"main-container\">\n <nav\n [id]=\"drawerControlsId\"\n role=\"navigation\"\n [attr.aria-label]=\"navAriaLabel() ?? (translationKey.NAV | uiTranslate | async)\"\n class=\"side-navigation-container\"\n [class.collapsed]=\"isCollapsed()\"\n [class.expanded]=\"!isCollapsed()\"\n [cdkTrapFocus]=\"trapFocus()\"\n [cdkTrapFocusAutoCapture]=\"trapFocus()\"\n >\n <div class=\"zone-logo-row\">\n <div class=\"header\" [class.collapsed]=\"isCollapsed()\">\n <ui-logo\n class=\"logo-brandmark\"\n [allowResizing]=\"true\"\n [width]=\"19\"\n [type]=\"logoType.PRIMARY_BRANDMARK_PINK\"\n (click)=\"logoClicked.emit()\"\n ></ui-logo>\n <ui-logo\n class=\"logo-lockup\"\n [allowResizing]=\"true\"\n [width]=\"136\"\n [type]=\"logoType.DEFAULT\"\n (click)=\"logoClicked.emit()\"\n ></ui-logo>\n\n <ui-button\n data-testid=\"navigation-collapse\"\n data-test-role=\"navigation-collapse\"\n [applicationTheme]=\"applicationTheme()\"\n [variant]=\"'menuTrigger'\"\n [iconName]=\"isCollapsed() ? 'Sidebar-open-in-line' : 'Sidebar-close-in-line'\"\n [ariaLabel]=\"toggleAriaLabelOverride() ?? (toggleAriaKey() | uiTranslate | async) ?? ''\"\n [ariaPressed]=\"isCollapsed()\"\n [tooltip]=\"toggleAriaLabelOverride() ?? (toggleAriaKey() | uiTranslate | async) ?? ''\"\n tooltipPosition=\"below\"\n (buttonClickEvent)=\"toggleCollapsed()\"\n [class.collapsed]=\"isCollapsed()\"\n class=\"navigation-collapse-button\"\n ></ui-button>\n </div>\n </div>\n\n <div class=\"zone-primary-nav\">\n @if (mainCta(); as cta) {\n <div class=\"main-cta\">\n <ui-button\n data-testid=\"main-cta\"\n data-test-role=\"main-cta\"\n [applicationTheme]=\"applicationTheme()\"\n [fullWidth]=\"true\"\n [variant]=\"cta.variant\"\n iconPosition=\"left\"\n [iconName]=\"cta.icon\"\n [label]=\"isCollapsed() && !isExpandingOrCollapsing() ? '' : cta.label\"\n [ariaLabel]=\"cta.label\"\n [tooltip]=\"isCollapsed() ? cta.label : ''\"\n tooltipPosition=\"right\"\n (buttonClickEvent)=\"mainCtaClicked.emit()\"\n ></ui-button>\n </div>\n }\n\n <ul class=\"navigation-list\">\n @for (item of mainNavigation(); track item.id) {\n <li>\n <ng-container [ngTemplateOutlet]=\"navigationItem\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </li>\n }\n </ul>\n </div>\n\n <div class=\"zone-utility-nav\">\n @if (secondaryNavigation(); as secondary) {\n <ul class=\"navigation-list\">\n @for (item of secondary; track item.id) {\n <li>\n <ng-container [ngTemplateOutlet]=\"navigationItem\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </li>\n }\n </ul>\n }\n </div>\n\n @if (account() || contentTemplateExtendedRef() || contentTemplateCollapsedRef()) {\n <div class=\"zone-account\">\n @if (contentTemplateExtendedRef(); as extendedRef) {\n @if (!isCollapsed() && !isExpandingOrCollapsing()) {\n <ng-container [ngTemplateOutlet]=\"extendedRef\"></ng-container>\n }\n }\n\n @if (contentTemplateCollapsedRef(); as collapsedRef) {\n @if (isCollapsed() || isExpandingOrCollapsing()) {\n <ng-container [ngTemplateOutlet]=\"collapsedRef\"></ng-container>\n }\n }\n\n @if (account(); as accountValue) {\n <ui-overflow-menu\n [applicationTheme]=\"applicationTheme()\"\n [contentTemplateRef]=\"userInfo\"\n [buttons]=\"accountValue.menu\"\n [isDynamicMenu]=\"true\"\n [class.collapsed]=\"isCollapsed() && !isExpandingOrCollapsing()\"\n (selectItem)=\"onSelectMenuItem($event)\"\n [menuConfig]=\"overflowMenuConfig()\"\n ></ui-overflow-menu>\n }\n </div>\n }\n </nav>\n <div class=\"app-container\" [class.collapsed]=\"isCollapsed()\" [class.expanded]=\"!isCollapsed()\">\n @if (appContentTemplateRef(); as appRef) {\n <ng-container [ngTemplateOutlet]=\"appRef\"></ng-container>\n }\n @if (isMobileOrTablet() && !isCollapsed()) {\n <button\n type=\"button\"\n class=\"backdrop\"\n [attr.aria-label]=\"mobileCloseLabel() ?? (translationKey.MOBILE_CLOSE | uiTranslate | async) ?? ''\"\n (click)=\"toggleCollapsed()\"\n ></button>\n }\n </div>\n</div>\n\n<ng-template #navigationItem let-item=\"item\">\n @if (item) {\n <div class=\"menu-item\" [attr.aria-current]=\"activeRoutesMap().get(item.url) ? 'page' : null\">\n <ui-button\n [attr.data-testid]=\"item.id\"\n data-test-role=\"menu-item\"\n [applicationTheme]=\"applicationTheme()\"\n [fullWidth]=\"true\"\n [disabledScaleOnClick]=\"true\"\n [variant]=\"'menuCell'\"\n iconPosition=\"left\"\n [iconName]=\"item.icon\"\n [label]=\"isCollapsed() && !isExpandingOrCollapsing() ? '' : item.text\"\n (buttonClickEvent)=\"onNavigateClick(item.id)\"\n (keydown.Tab)=\"$event.stopPropagation()\"\n (keydown.shift.tab)=\"$event.stopPropagation()\"\n [ariaLabel]=\"item.text\"\n [class.active]=\"activeRoutesMap().get(item.url)\"\n [buttonBadgeConfig]=\"isCollapsed() && !isExpandingOrCollapsing() ? undefined : item?.badgeOptions\"\n [tooltip]=\"isCollapsed() ? item.text : undefined\"\n tooltipPosition=\"right\"\n [iconFilled]=\"!!activeRoutesMap().get(item.url)\"\n ></ui-button>\n </div>\n }\n</ng-template>\n\n<ng-template #userInfo>\n @if (account(); as accountValue) {\n <div class=\"user-info\">\n <ui-avatar [size]=\"isCollapsed() ? avatarSize.MEDIUM : avatarSize.SMALL\" [name]=\"accountValue.name\"></ui-avatar>\n @if (!isCollapsed()) {\n <span class=\"user-name\">{{ accountValue.name }}</span>\n <ui-icon class=\"user-chevron\" name=\"Arrow-chevron-right-in-line\" size=\"24\" aria-hidden=\"true\"></ui-icon>\n }\n </div>\n }\n</ng-template>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AvatarComponentModule } from '@testgorilla/tgo-ui/components/avatar';\nimport { ButtonComponentModule } from '@testgorilla/tgo-ui/components/button';\nimport { UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';\nimport { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';\nimport { LogoComponentModule } from '@testgorilla/tgo-ui/components/logo';\nimport { OverflowMenuComponentModule } from '@testgorilla/tgo-ui/components/overflow-menu';\n\nimport { SideNavigationComponent } from './side-navigation.component';\n\n@NgModule({\n imports: [\n A11yModule,\n CommonModule,\n UiTranslatePipe,\n ButtonComponentModule,\n AvatarComponentModule,\n IconComponentModule,\n LogoComponentModule,\n OverflowMenuComponentModule,\n SideNavigationComponent,\n ],\n exports: [SideNavigationComponent],\n})\nexport class SideNavigationComponentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,14 +1,13 @@
1
1
  import { AsyncPipe, NgClass } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
3
  import { InjectionToken, inject, EnvironmentInjector, ApplicationRef, TemplateRef, Injector, createComponent, Injectable, signal, viewChild, ViewContainerRef, computed, ChangeDetectionStrategy, Component } from '@angular/core';
4
- import { LanguageService, UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';
5
4
  import * as i1 from '@testgorilla/tgo-ui/components/button';
6
5
  import { ButtonComponentModule } from '@testgorilla/tgo-ui/components/button';
6
+ import { LanguageService, UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';
7
7
  import { TooltipComponentModule } from '@testgorilla/tgo-ui/components/tooltip';
8
8
  import { trigger, state, style, transition, animate } from '@angular/animations';
9
9
  import { Subject } from 'rxjs';
10
10
 
11
- /* eslint-disable no-underscore-dangle */
12
11
  var SidePanelAnimationState;
13
12
  (function (SidePanelAnimationState) {
14
13
  SidePanelAnimationState["Open"] = "open";
@@ -35,6 +34,7 @@ const SIDE_PANEL_CONFIG = new InjectionToken('SIDE_PANEL_CONFIG', {
35
34
  * Reference to a side panel opened via the SidePanelService.
36
35
  * Similar to MatDialogRef from Angular Material.
37
36
  */
37
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- mirrors MatDialogRef<T, R = any>: untyped-by-default result/component types for consumer ergonomics; the ref is invariant in T/R so `unknown` defaults would break internal ref storage in SidePanelService
38
38
  class SidePanelRef {
39
39
  constructor() {
40
40
  this._afterClosed = new Subject();
@@ -60,6 +60,7 @@ class SidePanelRef {
60
60
  }
61
61
  }
62
62
 
63
+ /* eslint-disable @typescript-eslint/no-deprecated -- the @angular/animations trigger/state/style/animate/transition DSL is deprecated in 20.2 in favor of template-level animate.enter/animate.leave; migrating every Material/component animation is out of scope for this lint pass */
63
64
  const sidePanelAnimationDuration = 150;
64
65
  const sidePanelAnimation = [
65
66
  trigger('slideInOut', [
@@ -92,6 +93,7 @@ class SidePanelService {
92
93
  this.injector = inject(EnvironmentInjector);
93
94
  this.appRef = inject(ApplicationRef);
94
95
  }
96
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- mirrors MatDialog.open<T, R = any>: the returned ref's data/component types are untyped-by-default for consumer ergonomics
95
97
  open(content, config, parentInjector) {
96
98
  const panelConfig = { ...this.defaultSidePanelConfig, ...config };
97
99
  const sidePanelRef = new SidePanelRef();
@@ -120,6 +122,7 @@ class SidePanelService {
120
122
  }
121
123
  destroyComponent(result) {
122
124
  if (this.currentSidePanelRef) {
125
+ // eslint-disable-next-line no-underscore-dangle -- _emitClose is SidePanelRef's @internal API (mirrors MatDialogRef internals)
123
126
  this.currentSidePanelRef._emitClose(result);
124
127
  this.currentSidePanelRef = undefined;
125
128
  }