@ndwnu/design-system 1.1.1 → 3.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 (127) hide show
  1. package/assets/images/ndw-logo-short.svg +3 -3
  2. package/assets/images/ndw-logo.svg +3 -3
  3. package/assets/images/nwb-logo-short.svg +10 -10
  4. package/assets/images/nwb-logo.svg +4 -4
  5. package/components/accordion/accordion.component.d.ts +1 -0
  6. package/components/alert/alert.component.d.ts +18 -2
  7. package/components/alert/alert.model.d.ts +1 -0
  8. package/components/badge/badge.component.d.ts +8 -1
  9. package/components/card/card-footer/card-footer.component.d.ts +0 -1
  10. package/components/card/card-header/card-header.component.d.ts +0 -3
  11. package/components/card/card.component.d.ts +2 -8
  12. package/components/card/index.d.ts +3 -1
  13. package/components/collapsible/collapsible.component.d.ts +4 -3
  14. package/components/dropdown/dropdown.component.d.ts +10 -5
  15. package/components/form-field/checkbox/checkbox.component.d.ts +2 -1
  16. package/components/form-field/file-upload/file-upload-text.interface.d.ts +4 -0
  17. package/components/form-field/file-upload/file-upload.component.d.ts +46 -0
  18. package/components/form-field/file-upload/index.d.ts +2 -0
  19. package/components/form-field/form-field.component.d.ts +13 -8
  20. package/components/form-field/index.d.ts +4 -0
  21. package/components/form-field/input/input.directive.d.ts +2 -0
  22. package/components/form-field/input/input.model.d.ts +1 -3
  23. package/components/form-field/month-input/index.d.ts +1 -0
  24. package/components/form-field/month-input/month-input-utils.d.ts +5 -0
  25. package/components/form-field/month-input/month-input.component.d.ts +42 -0
  26. package/components/form-field/option-group/index.d.ts +3 -0
  27. package/components/form-field/option-group/option-group.component.d.ts +26 -0
  28. package/components/form-field/option-group/option-group.model.d.ts +1 -0
  29. package/components/form-field/option-group/option.component.d.ts +9 -0
  30. package/components/form-field/radio-button/radio-button.component.d.ts +2 -1
  31. package/components/form-field/radio-group/radio-group.component.d.ts +1 -1
  32. package/components/form-field/success/index.d.ts +1 -0
  33. package/components/form-field/success/success.component.d.ts +5 -0
  34. package/components/form-field/textarea/auto-grow.directive.d.ts +19 -0
  35. package/components/form-field/textarea/index.d.ts +1 -0
  36. package/components/icon/action-icon/action-icon.component.d.ts +33 -0
  37. package/components/icon/action-icon/index.d.ts +1 -0
  38. package/components/icon/icon.component.d.ts +4 -6
  39. package/components/icon/index.d.ts +1 -0
  40. package/components/index.d.ts +1 -0
  41. package/components/main-navigation/main-navigation.component.d.ts +19 -6
  42. package/components/main-navigation/main-navigation.imports.d.ts +9 -0
  43. package/components/main-navigation-menu/main-navigation-menu.component.d.ts +4 -1
  44. package/components/modal/index.d.ts +7 -1
  45. package/components/modal/modal-content/index.d.ts +1 -0
  46. package/components/modal/modal-content/modal-content.component.d.ts +5 -0
  47. package/components/modal/modal-footer/index.d.ts +1 -0
  48. package/components/modal/modal-footer/modal-footer.component.d.ts +5 -0
  49. package/components/modal/modal-header/index.d.ts +1 -0
  50. package/components/modal/modal-header/modal-header.component.d.ts +7 -0
  51. package/components/modal/modal.component.d.ts +11 -0
  52. package/components/modal/modal.service.d.ts +0 -1
  53. package/components/multi-select/multi-select.component.d.ts +6 -5
  54. package/components/pill/pill.component.d.ts +8 -0
  55. package/components/popover/popover-trigger.directive.d.ts +1 -1
  56. package/components/removable-pill/removable-pill.component.d.ts +9 -2
  57. package/components/toast/index.d.ts +2 -0
  58. package/components/toast/toast.component.d.ts +19 -0
  59. package/components/toast/toast.service.d.ts +12 -0
  60. package/components/tooltip/tooltip.directive.d.ts +7 -2
  61. package/core/styles/ndw-styles.scss +89 -37
  62. package/core/styles/nwb-styles.scss +89 -37
  63. package/esm2022/components/accordion/accordion.component.mjs +9 -5
  64. package/esm2022/components/accordion/accordion.service.mjs +3 -6
  65. package/esm2022/components/alert/alert.component.mjs +28 -3
  66. package/esm2022/components/alert/alert.model.mjs +1 -1
  67. package/esm2022/components/badge/badge.component.mjs +10 -3
  68. package/esm2022/components/breadcrumb-group/breadcrumb-group.component.mjs +3 -3
  69. package/esm2022/components/button/button.directive.mjs +4 -3
  70. package/esm2022/components/card/card-footer/card-footer.component.mjs +3 -6
  71. package/esm2022/components/card/card-header/card-header.component.mjs +4 -12
  72. package/esm2022/components/card/card.component.mjs +5 -22
  73. package/esm2022/components/card/index.mjs +12 -2
  74. package/esm2022/components/collapsible/collapsible.component.mjs +6 -13
  75. package/esm2022/components/dropdown/dropdown.component.mjs +32 -8
  76. package/esm2022/components/form-field/checkbox/checkbox.component.mjs +5 -4
  77. package/esm2022/components/form-field/error/error.component.mjs +3 -3
  78. package/esm2022/components/form-field/file-upload/file-upload-text.interface.mjs +2 -0
  79. package/esm2022/components/form-field/file-upload/file-upload.component.mjs +217 -0
  80. package/esm2022/components/form-field/file-upload/index.mjs +3 -0
  81. package/esm2022/components/form-field/form-field.component.mjs +48 -28
  82. package/esm2022/components/form-field/index.mjs +5 -1
  83. package/esm2022/components/form-field/info/info.component.mjs +2 -2
  84. package/esm2022/components/form-field/input/input.directive.mjs +8 -3
  85. package/esm2022/components/form-field/input/input.model.mjs +1 -3
  86. package/esm2022/components/form-field/month-input/index.mjs +2 -0
  87. package/esm2022/components/form-field/month-input/month-input-utils.mjs +13 -0
  88. package/esm2022/components/form-field/month-input/month-input.component.mjs +155 -0
  89. package/esm2022/components/form-field/option-group/index.mjs +4 -0
  90. package/esm2022/components/form-field/option-group/option-group.component.mjs +64 -0
  91. package/esm2022/components/form-field/option-group/option-group.model.mjs +2 -0
  92. package/esm2022/components/form-field/option-group/option.component.mjs +23 -0
  93. package/esm2022/components/form-field/radio-button/radio-button.component.mjs +5 -4
  94. package/esm2022/components/form-field/radio-group/radio-group.component.mjs +4 -6
  95. package/esm2022/components/form-field/success/index.mjs +2 -0
  96. package/esm2022/components/form-field/success/success.component.mjs +12 -0
  97. package/esm2022/components/form-field/textarea/auto-grow.directive.mjs +45 -0
  98. package/esm2022/components/form-field/textarea/index.mjs +2 -0
  99. package/esm2022/components/icon/action-icon/action-icon.component.mjs +40 -0
  100. package/esm2022/components/icon/action-icon/index.mjs +2 -0
  101. package/esm2022/components/icon/icon.component.mjs +9 -24
  102. package/esm2022/components/icon/index.mjs +2 -1
  103. package/esm2022/components/index.mjs +2 -1
  104. package/esm2022/components/main-navigation/main-navigation.component.mjs +70 -31
  105. package/esm2022/components/main-navigation/main-navigation.imports.mjs +20 -0
  106. package/esm2022/components/main-navigation-menu/main-navigation-menu.component.mjs +10 -4
  107. package/esm2022/components/modal/index.mjs +18 -2
  108. package/esm2022/components/modal/modal-content/index.mjs +2 -0
  109. package/esm2022/components/modal/modal-content/modal-content.component.mjs +11 -0
  110. package/esm2022/components/modal/modal-footer/index.mjs +2 -0
  111. package/esm2022/components/modal/modal-footer/modal-footer.component.mjs +11 -0
  112. package/esm2022/components/modal/modal-header/index.mjs +2 -0
  113. package/esm2022/components/modal/modal-header/modal-header.component.mjs +20 -0
  114. package/esm2022/components/modal/modal.component.mjs +32 -0
  115. package/esm2022/components/modal/modal.service.mjs +6 -11
  116. package/esm2022/components/multi-select/multi-select.component.mjs +10 -8
  117. package/esm2022/components/pill/pill.component.mjs +17 -4
  118. package/esm2022/components/popover/popover-trigger.directive.mjs +1 -2
  119. package/esm2022/components/removable-pill/removable-pill.component.mjs +13 -11
  120. package/esm2022/components/toast/index.mjs +3 -0
  121. package/esm2022/components/toast/toast.component.mjs +77 -0
  122. package/esm2022/components/toast/toast.service.mjs +43 -0
  123. package/esm2022/components/tooltip/tooltip.component.mjs +5 -3
  124. package/esm2022/components/tooltip/tooltip.directive.mjs +47 -18
  125. package/fesm2022/ndwnu-design-system.mjs +1275 -419
  126. package/fesm2022/ndwnu-design-system.mjs.map +1 -1
  127. package/package.json +1 -1
@@ -0,0 +1,45 @@
1
+ import { Directive, ElementRef, inject } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Directive that automatically grows a textarea element to fit its content.
5
+ *
6
+ * Note that at this moment (2024-09-06) there is an experimental CSS property
7
+ * `field-sizing: content;` that can be used to achieve the same effect. At this
8
+ * moment not all browsers support this property (FF and Safari do not for example).
9
+ *
10
+ * So for now a directive is used to achieve the same effect.
11
+ */
12
+ export class AutoGrowDirective {
13
+ constructor() {
14
+ this.elementRef = inject(ElementRef);
15
+ }
16
+ get element() {
17
+ return this.elementRef.nativeElement;
18
+ }
19
+ ngAfterViewInit() {
20
+ this.element.style.resize = 'none';
21
+ this.element.style.overflow = 'hidden';
22
+ this.element.addEventListener('input', fitContentInTextArea);
23
+ // Use set timeout to make sure the textarea is rendered before
24
+ // we set the initial height. This is needed for Firefox.
25
+ setTimeout(() => fitContentInTextArea({ target: this.element }));
26
+ }
27
+ ngOnDestroy() {
28
+ this.element.removeEventListener('input', fitContentInTextArea);
29
+ }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AutoGrowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
31
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: AutoGrowDirective, isStandalone: true, selector: "textarea[ndwAutoGrow]", ngImport: i0 }); }
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AutoGrowDirective, decorators: [{
34
+ type: Directive,
35
+ args: [{
36
+ selector: 'textarea[ndwAutoGrow]',
37
+ standalone: true,
38
+ }]
39
+ }] });
40
+ function fitContentInTextArea(event) {
41
+ const element = event.target;
42
+ element.style.height = 'auto'; // Make the textarea shrink when a lot of text is removed.
43
+ element.style.height = `${element.scrollHeight}px`;
44
+ }
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1ncm93LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9mb3JtLWZpZWxkL3RleHRhcmVhL2F1dG8tZ3Jvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFeEY7Ozs7Ozs7O0dBUUc7QUFLSCxNQUFNLE9BQU8saUJBQWlCO0lBSjlCO1FBS21CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0FrQmxEO0lBaEJDLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBb0MsQ0FBQztJQUM5RCxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUM3RCwrREFBK0Q7UUFDL0QseURBQXlEO1FBQ3pELFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDbEUsQ0FBQzs4R0FsQlUsaUJBQWlCO2tHQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOztBQXNCRCxTQUFTLG9CQUFvQixDQUFDLEtBQTRCO0lBQ3hELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUE2QixDQUFDO0lBQ3BELE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLDBEQUEwRDtJQUN6RixPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxZQUFZLElBQUksQ0FBQztBQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0aGF0IGF1dG9tYXRpY2FsbHkgZ3Jvd3MgYSB0ZXh0YXJlYSBlbGVtZW50IHRvIGZpdCBpdHMgY29udGVudC5cbiAqXG4gKiBOb3RlIHRoYXQgYXQgdGhpcyBtb21lbnQgKDIwMjQtMDktMDYpIHRoZXJlIGlzIGFuIGV4cGVyaW1lbnRhbCBDU1MgcHJvcGVydHlcbiAqIGBmaWVsZC1zaXppbmc6IGNvbnRlbnQ7YCB0aGF0IGNhbiBiZSB1c2VkIHRvIGFjaGlldmUgdGhlIHNhbWUgZWZmZWN0LiBBdCB0aGlzXG4gKiBtb21lbnQgbm90IGFsbCBicm93c2VycyBzdXBwb3J0IHRoaXMgcHJvcGVydHkgKEZGIGFuZCBTYWZhcmkgZG8gbm90IGZvciBleGFtcGxlKS5cbiAqXG4gKiBTbyBmb3Igbm93IGEgZGlyZWN0aXZlIGlzIHVzZWQgdG8gYWNoaWV2ZSB0aGUgc2FtZSBlZmZlY3QuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3RleHRhcmVhW25kd0F1dG9Hcm93XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9Hcm93RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHB1YmxpYyBnZXQgZWxlbWVudCgpOiBIVE1MVGV4dEFyZWFFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTFRleHRBcmVhRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50LnN0eWxlLnJlc2l6ZSA9ICdub25lJztcbiAgICB0aGlzLmVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBmaXRDb250ZW50SW5UZXh0QXJlYSk7XG4gICAgLy8gVXNlIHNldCB0aW1lb3V0IHRvIG1ha2Ugc3VyZSB0aGUgdGV4dGFyZWEgaXMgcmVuZGVyZWQgYmVmb3JlXG4gICAgLy8gd2Ugc2V0IHRoZSBpbml0aWFsIGhlaWdodC4gVGhpcyBpcyBuZWVkZWQgZm9yIEZpcmVmb3guXG4gICAgc2V0VGltZW91dCgoKSA9PiBmaXRDb250ZW50SW5UZXh0QXJlYSh7IHRhcmdldDogdGhpcy5lbGVtZW50IH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBmaXRDb250ZW50SW5UZXh0QXJlYSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZml0Q29udGVudEluVGV4dEFyZWEoZXZlbnQ6IFBpY2s8RXZlbnQsICd0YXJnZXQnPik6IHZvaWQge1xuICBjb25zdCBlbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxUZXh0QXJlYUVsZW1lbnQ7XG4gIGVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJ2F1dG8nOyAvLyBNYWtlIHRoZSB0ZXh0YXJlYSBzaHJpbmsgd2hlbiBhIGxvdCBvZiB0ZXh0IGlzIHJlbW92ZWQuXG4gIGVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gYCR7ZWxlbWVudC5zY3JvbGxIZWlnaHR9cHhgO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './auto-grow.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC90ZXh0YXJlYS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRvLWdyb3cuZGlyZWN0aXZlJztcbiJdfQ==
@@ -0,0 +1,40 @@
1
+ import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';
2
+ import { IconComponent } from '../icon.component';
3
+ import * as i0 from "@angular/core";
4
+ export class ActionIconComponent {
5
+ constructor() {
6
+ // ! This component is deprecated, use `button` with `extra-small` attribute instead.
7
+ /**
8
+ * Used to give meaning to the button, used by screen readers.
9
+ */
10
+ this.ariaLabel = input.required();
11
+ /**
12
+ * Color scheme of the ActionIcon, available `primary`, `link`,
13
+ * `grey` and `white` (defaults to primary).
14
+ */
15
+ this.variant = input('primary');
16
+ /**
17
+ * Specify button type, defaults to `button`
18
+ */
19
+ this.buttonType = input('button');
20
+ /**
21
+ * Disables the button, defaults to `false`.
22
+ */
23
+ this.disabled = input(false);
24
+ /**
25
+ * Sets the size of the button, defaults to `md`.
26
+ */
27
+ this.size = input('md');
28
+ /**
29
+ * Event emitted when the button is clicked.
30
+ */
31
+ this.onClick = output();
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ActionIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: ActionIconComponent, isStandalone: true, selector: "ndw-action-icon", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: true, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, buttonType: { classPropertyName: "buttonType", publicName: "buttonType", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<button\n class=\"ndw-action-icon ndw-action-icon--{{ variant() }}\"\n [type]=\"buttonType()\"\n [attr.aria-label]=\"ariaLabel()\"\n [disabled]=\"disabled()\"\n (click)=\"onClick.emit()\"\n>\n <ndw-icon [size]=\"size()\"><ng-content /></ndw-icon>\n</button>\n", styles: [":host{display:inline-block}.ndw-action-icon{position:relative;box-sizing:border-box;display:inline-block;padding:0;border:0;border-radius:var(--ndw-border-radius-md);background-color:transparent;transition:background-color .15s ease-in-out}.ndw-action-icon--primary{color:var(--ndw-color-primary)}.ndw-action-icon--link{color:var(--ndw-color-link-400)}.ndw-action-icon--grey{color:var(--ndw-color-grey-400)}.ndw-action-icon--white{color:var(--ndw-color-white)}.ndw-action-icon:disabled{opacity:.5;pointer-events:none}.ndw-action-icon:not(:disabled):hover{background-color:var(--ndw-alpha-black-007)}.ndw-action-icon:not(:disabled):active,.ndw-action-icon:not(:disabled):focus,.ndw-action-icon:not(:disabled):focus-visible{background-color:var(--ndw-alpha-black-015)}.ndw-action-icon:not(:disabled):focus-visible{outline-color:var(--ndw-color-secondary-500)}.ndw-action-icon ndw-icon{padding:var(--ndw-spacing-2xs);vertical-align:middle}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ActionIconComponent, decorators: [{
37
+ type: Component,
38
+ args: [{ selector: 'ndw-action-icon', standalone: true, imports: [IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"ndw-action-icon ndw-action-icon--{{ variant() }}\"\n [type]=\"buttonType()\"\n [attr.aria-label]=\"ariaLabel()\"\n [disabled]=\"disabled()\"\n (click)=\"onClick.emit()\"\n>\n <ndw-icon [size]=\"size()\"><ng-content /></ndw-icon>\n</button>\n", styles: [":host{display:inline-block}.ndw-action-icon{position:relative;box-sizing:border-box;display:inline-block;padding:0;border:0;border-radius:var(--ndw-border-radius-md);background-color:transparent;transition:background-color .15s ease-in-out}.ndw-action-icon--primary{color:var(--ndw-color-primary)}.ndw-action-icon--link{color:var(--ndw-color-link-400)}.ndw-action-icon--grey{color:var(--ndw-color-grey-400)}.ndw-action-icon--white{color:var(--ndw-color-white)}.ndw-action-icon:disabled{opacity:.5;pointer-events:none}.ndw-action-icon:not(:disabled):hover{background-color:var(--ndw-alpha-black-007)}.ndw-action-icon:not(:disabled):active,.ndw-action-icon:not(:disabled):focus,.ndw-action-icon:not(:disabled):focus-visible{background-color:var(--ndw-alpha-black-015)}.ndw-action-icon:not(:disabled):focus-visible{outline-color:var(--ndw-color-secondary-500)}.ndw-action-icon ndw-icon{padding:var(--ndw-spacing-2xs);vertical-align:middle}\n"] }]
39
+ }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2ljb24vYWN0aW9uLWljb24vYWN0aW9uLWljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2ljb24vYWN0aW9uLWljb24vYWN0aW9uLWljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLEVBQVksTUFBTSxtQkFBbUIsQ0FBQzs7QUFhNUQsTUFBTSxPQUFPLG1CQUFtQjtJQVJoQztRQVNFLHFGQUFxRjtRQUVyRjs7V0FFRztRQUNJLGNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFFNUM7OztXQUdHO1FBQ0ksWUFBTyxHQUFHLEtBQUssQ0FBYyxTQUFTLENBQUMsQ0FBQztRQUUvQzs7V0FFRztRQUNJLGVBQVUsR0FBRyxLQUFLLENBQWEsUUFBUSxDQUFDLENBQUM7UUFFaEQ7O1dBRUc7UUFDSSxhQUFRLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRXhDOztXQUVHO1FBQ0ksU0FBSSxHQUFHLEtBQUssQ0FBVyxJQUFJLENBQUMsQ0FBQztRQUVwQzs7V0FFRztRQUNhLFlBQU8sR0FBRyxNQUFNLEVBQVEsQ0FBQztLQUMxQzs4R0FqQ1ksbUJBQW1CO2tHQUFuQixtQkFBbUIsc3ZCQ2RoQywyUUFTQSxvK0JEQVksYUFBYTs7MkZBS1osbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLGFBQWEsQ0FBQyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCwgSWNvblNpemUgfSBmcm9tICcuLi9pY29uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIEJ1dHRvblR5cGUgPSAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0JztcbmV4cG9ydCB0eXBlIEljb25WYXJpYW50ID0gJ3ByaW1hcnknIHwgJ2xpbmsnIHwgJ2dyZXknIHwgJ3doaXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LWFjdGlvbi1pY29uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0ljb25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYWN0aW9uLWljb24uY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uSWNvbkNvbXBvbmVudCB7XG4gIC8vICEgVGhpcyBjb21wb25lbnQgaXMgZGVwcmVjYXRlZCwgdXNlIGBidXR0b25gIHdpdGggYGV4dHJhLXNtYWxsYCBhdHRyaWJ1dGUgaW5zdGVhZC5cblxuICAvKipcbiAgICogVXNlZCB0byBnaXZlIG1lYW5pbmcgdG8gdGhlIGJ1dHRvbiwgdXNlZCBieSBzY3JlZW4gcmVhZGVycy5cbiAgICovXG4gIHB1YmxpYyBhcmlhTGFiZWwgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIENvbG9yIHNjaGVtZSBvZiB0aGUgQWN0aW9uSWNvbiwgYXZhaWxhYmxlIGBwcmltYXJ5YCwgYGxpbmtgLFxuICAgKiBgZ3JleWAgYW5kIGB3aGl0ZWAgKGRlZmF1bHRzIHRvIHByaW1hcnkpLlxuICAgKi9cbiAgcHVibGljIHZhcmlhbnQgPSBpbnB1dDxJY29uVmFyaWFudD4oJ3ByaW1hcnknKTtcblxuICAvKipcbiAgICogU3BlY2lmeSBidXR0b24gdHlwZSwgZGVmYXVsdHMgdG8gYGJ1dHRvbmBcbiAgICovXG4gIHB1YmxpYyBidXR0b25UeXBlID0gaW5wdXQ8QnV0dG9uVHlwZT4oJ2J1dHRvbicpO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlcyB0aGUgYnV0dG9uLCBkZWZhdWx0cyB0byBgZmFsc2VgLlxuICAgKi9cbiAgcHVibGljIGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzaXplIG9mIHRoZSBidXR0b24sIGRlZmF1bHRzIHRvIGBtZGAuXG4gICAqL1xuICBwdWJsaWMgc2l6ZSA9IGlucHV0PEljb25TaXplPignbWQnKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvbkNsaWNrID0gb3V0cHV0PHZvaWQ+KCk7XG59XG4iLCI8YnV0dG9uXG4gIGNsYXNzPVwibmR3LWFjdGlvbi1pY29uIG5kdy1hY3Rpb24taWNvbi0te3sgdmFyaWFudCgpIH19XCJcbiAgW3R5cGVdPVwiYnV0dG9uVHlwZSgpXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwoKVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2suZW1pdCgpXCJcbj5cbiAgPG5kdy1pY29uIFtzaXplXT1cInNpemUoKVwiPjxuZy1jb250ZW50IC8+PC9uZHctaWNvbj5cbjwvYnV0dG9uPlxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './action-icon.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaWNvbi9hY3Rpb24taWNvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24taWNvbi5jb21wb25lbnQnO1xuIl19
@@ -2,19 +2,12 @@ import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, inject, in
2
2
  import * as i0 from "@angular/core";
3
3
  export class IconComponent {
4
4
  constructor() {
5
+ this.size = input('md');
5
6
  this.elementRef = inject(ElementRef);
6
7
  this.renderer = inject(Renderer2);
7
- this.interactive = input(false);
8
- this.iconClass = 'material-symbols-rounded';
9
8
  }
10
- get interactiveClass() {
11
- return this.interactive();
12
- }
13
- get role() {
14
- return this.interactive() ? 'button' : 'img';
15
- }
16
- get tabIndex() {
17
- return this.interactive() ? 0 : -1;
9
+ get hostClass() {
10
+ return `icon--${this.size()}`;
18
11
  }
19
12
  ngOnInit() {
20
13
  const { nativeElement } = this.elementRef;
@@ -23,24 +16,16 @@ export class IconComponent {
23
16
  this.renderer.setStyle(nativeElement, 'width', height + paddingInline);
24
17
  }
25
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: IconComponent, isStandalone: true, selector: "ndw-icon", inputs: { interactive: { classPropertyName: "interactive", publicName: "interactive", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "aria-label": "NDW icon" }, properties: { "class": "this.iconClass", "class.interactive": "this.interactiveClass", "attr.role": "this.role", "attr.tabindex": "this.tabIndex" } }, ngImport: i0, template: "<ng-content />\n", styles: [":host{display:inline-block;font-size:var(--ndw-spacing-lg);position:relative;-webkit-user-select:none;user-select:none}:host.interactive{border-radius:var(--ndw-border-radius-md);box-sizing:border-box;cursor:pointer;padding:var(--ndw-spacing-2xs);transition:background-color .15s ease-in-out}:host.interactive:hover{background-color:var(--ndw-alpha-black-007)}:host.interactive:active,:host.interactive:focus,:host.interactive:focus-visible{background-color:var(--ndw-alpha-black-015)}:host.interactive:focus-visible{color:var(--ndw-color-primary);outline-color:var(--ndw-color-secondary-500)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: IconComponent, isStandalone: true, selector: "ndw-icon", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "aria-hidden": "true" }, properties: { "class": "this.hostClass" }, classAttribute: "material-symbols-rounded" }, ngImport: i0, template: "<ng-content />\n", styles: [":host{display:inline-block;font-size:var(--ndw-spacing-lg);position:relative;-webkit-user-select:none;user-select:none}:host.icon--sm{font-size:var(--ndw-spacing-md)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
20
  }
28
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: IconComponent, decorators: [{
29
22
  type: Component,
30
23
  args: [{ selector: 'ndw-icon', standalone: true, imports: [], changeDetection: ChangeDetectionStrategy.OnPush, host: {
31
- 'aria-label': 'NDW icon',
32
- }, template: "<ng-content />\n", styles: [":host{display:inline-block;font-size:var(--ndw-spacing-lg);position:relative;-webkit-user-select:none;user-select:none}:host.interactive{border-radius:var(--ndw-border-radius-md);box-sizing:border-box;cursor:pointer;padding:var(--ndw-spacing-2xs);transition:background-color .15s ease-in-out}:host.interactive:hover{background-color:var(--ndw-alpha-black-007)}:host.interactive:active,:host.interactive:focus,:host.interactive:focus-visible{background-color:var(--ndw-alpha-black-015)}:host.interactive:focus-visible{color:var(--ndw-color-primary);outline-color:var(--ndw-color-secondary-500)}\n"] }]
33
- }], propDecorators: { iconClass: [{
24
+ class: 'material-symbols-rounded',
25
+ 'aria-hidden': 'true',
26
+ }, template: "<ng-content />\n", styles: [":host{display:inline-block;font-size:var(--ndw-spacing-lg);position:relative;-webkit-user-select:none;user-select:none}:host.icon--sm{font-size:var(--ndw-spacing-md)}\n"] }]
27
+ }], propDecorators: { hostClass: [{
34
28
  type: HostBinding,
35
29
  args: ['class']
36
- }], interactiveClass: [{
37
- type: HostBinding,
38
- args: ['class.interactive']
39
- }], role: [{
40
- type: HostBinding,
41
- args: ['attr.role']
42
- }], tabIndex: [{
43
- type: HostBinding,
44
- args: ['attr.tabindex']
45
30
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7QUFhdkIsTUFBTSxPQUFPLGFBQWE7SUFYMUI7UUFZbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXZDLGdCQUFXLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBR3hCLGNBQVMsR0FBRywwQkFBMEIsQ0FBQztLQXVCbEQ7SUFyQkMsSUFDYyxnQkFBZ0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQ2MsSUFBSTtRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQ2MsUUFBUTtRQUNwQixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sUUFBUTtRQUNiLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzFDLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUN4RCxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDcEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLEdBQUcsYUFBYSxDQUFDLENBQUM7SUFDekUsQ0FBQzs4R0E3QlUsYUFBYTtrR0FBYixhQUFhLG1hQ3RCMUIsa0JBQ0E7OzJGRHFCYSxhQUFhO2tCQVh6QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBQ1AsRUFBRSxtQkFHTSx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLFlBQVksRUFBRSxVQUFVO3FCQUN6Qjs4QkFTUyxTQUFTO3NCQURsQixXQUFXO3VCQUFDLE9BQU87Z0JBSU4sZ0JBQWdCO3NCQUQ3QixXQUFXO3VCQUFDLG1CQUFtQjtnQkFNbEIsSUFBSTtzQkFEakIsV0FBVzt1QkFBQyxXQUFXO2dCQU1WLFFBQVE7c0JBRHJCLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1pY29uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2ljb24uY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdhcmlhLWxhYmVsJzogJ05EVyBpY29uJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gIHB1YmxpYyBpbnRlcmFjdGl2ZSA9IGlucHV0KGZhbHNlKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHJvdGVjdGVkIGljb25DbGFzcyA9ICdtYXRlcmlhbC1zeW1ib2xzLXJvdW5kZWQnO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaW50ZXJhY3RpdmUnKVxuICBwcm90ZWN0ZWQgZ2V0IGludGVyYWN0aXZlQ2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJhY3RpdmUoKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgcHJvdGVjdGVkIGdldCByb2xlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJhY3RpdmUoKSA/ICdidXR0b24nIDogJ2ltZyc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICBwcm90ZWN0ZWQgZ2V0IHRhYkluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJhY3RpdmUoKSA/IDAgOiAtMTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IG5hdGl2ZUVsZW1lbnQgfSA9IHRoaXMuZWxlbWVudFJlZjtcbiAgICBjb25zdCBoZWlnaHQgPSBnZXRDb21wdXRlZFN0eWxlKG5hdGl2ZUVsZW1lbnQpLmZvbnRTaXplO1xuICAgIGNvbnN0IHBhZGRpbmdJbmxpbmUgPSBnZXRDb21wdXRlZFN0eWxlKG5hdGl2ZUVsZW1lbnQpLnBhZGRpbmdJbmxpbmU7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShuYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBoZWlnaHQgKyBwYWRkaW5nSW5saW5lKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgLz5cbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7QUFnQnZCLE1BQU0sT0FBTyxhQUFhO0lBWjFCO1FBYVMsU0FBSSxHQUFHLEtBQUssQ0FBVyxJQUFJLENBQUMsQ0FBQztRQUVuQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7S0FhL0M7SUFYQyxJQUNXLFNBQVM7UUFDbEIsT0FBTyxTQUFTLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxRQUFRO1FBQ2IsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDMUMsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ3hELE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUNwRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sR0FBRyxhQUFhLENBQUMsQ0FBQztJQUN6RSxDQUFDOzhHQWhCVSxhQUFhO2tHQUFiLGFBQWEsNlVDekIxQixrQkFDQTs7MkZEd0JhLGFBQWE7a0JBWnpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUCxFQUFFLG1CQUdNLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osS0FBSyxFQUFFLDBCQUEwQjt3QkFDakMsYUFBYSxFQUFFLE1BQU07cUJBQ3RCOzhCQVNVLFNBQVM7c0JBRG5CLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIEljb25TaXplID0gJ3NtJyB8ICdtZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1pY29uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2ljb24uY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnbWF0ZXJpYWwtc3ltYm9scy1yb3VuZGVkJyxcbiAgICAnYXJpYS1oaWRkZW4nOiAndHJ1ZScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgc2l6ZSA9IGlucHV0PEljb25TaXplPignbWQnKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHVibGljIGdldCBob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGljb24tLSR7dGhpcy5zaXplKCl9YDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IG5hdGl2ZUVsZW1lbnQgfSA9IHRoaXMuZWxlbWVudFJlZjtcbiAgICBjb25zdCBoZWlnaHQgPSBnZXRDb21wdXRlZFN0eWxlKG5hdGl2ZUVsZW1lbnQpLmZvbnRTaXplO1xuICAgIGNvbnN0IHBhZGRpbmdJbmxpbmUgPSBnZXRDb21wdXRlZFN0eWxlKG5hdGl2ZUVsZW1lbnQpLnBhZGRpbmdJbmxpbmU7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShuYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBoZWlnaHQgKyBwYWRkaW5nSW5saW5lKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgLz5cbiJdfQ==
@@ -1,2 +1,3 @@
1
+ export * from './action-icon';
1
2
  export * from './icon.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaWNvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pY29uLmNvbXBvbmVudCc7XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaWNvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24taWNvbic7XG5leHBvcnQgKiBmcm9tICcuL2ljb24uY29tcG9uZW50JztcbiJdfQ==
@@ -18,5 +18,6 @@ export * from './router-breadcrumbs';
18
18
  export * from './tab';
19
19
  export * from './tab-group';
20
20
  export * from './tooltip';
21
+ export * from './toast';
21
22
  export * from './removable-pill';
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY2NvcmRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hbGVydCc7XG5leHBvcnQgKiBmcm9tICcuL2JhZGdlJztcbmV4cG9ydCAqIGZyb20gJy4vYnJlYWRjcnVtYic7XG5leHBvcnQgKiBmcm9tICcuL2JyZWFkY3J1bWItZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnLi9idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vY29sbGFwc2libGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bic7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9pY29uJztcbmV4cG9ydCAqIGZyb20gJy4vbWFpbi1uYXZpZ2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tdWx0aS1zZWxlY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9waWxsJztcbmV4cG9ydCAqIGZyb20gJy4vcG9wb3Zlcic7XG5leHBvcnQgKiBmcm9tICcuL3JvdXRlci1icmVhZGNydW1icyc7XG5leHBvcnQgKiBmcm9tICcuL3RhYic7XG5leHBvcnQgKiBmcm9tICcuL3RhYi1ncm91cCc7XG5leHBvcnQgKiBmcm9tICcuL3Rvb2x0aXAnO1xuZXhwb3J0ICogZnJvbSAnLi9yZW1vdmFibGUtcGlsbCc7XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY2NvcmRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hbGVydCc7XG5leHBvcnQgKiBmcm9tICcuL2JhZGdlJztcbmV4cG9ydCAqIGZyb20gJy4vYnJlYWRjcnVtYic7XG5leHBvcnQgKiBmcm9tICcuL2JyZWFkY3J1bWItZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnLi9idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vY29sbGFwc2libGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bic7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9pY29uJztcbmV4cG9ydCAqIGZyb20gJy4vbWFpbi1uYXZpZ2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tdWx0aS1zZWxlY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9waWxsJztcbmV4cG9ydCAqIGZyb20gJy4vcG9wb3Zlcic7XG5leHBvcnQgKiBmcm9tICcuL3JvdXRlci1icmVhZGNydW1icyc7XG5leHBvcnQgKiBmcm9tICcuL3RhYic7XG5leHBvcnQgKiBmcm9tICcuL3RhYi1ncm91cCc7XG5leHBvcnQgKiBmcm9tICcuL3Rvb2x0aXAnO1xuZXhwb3J0ICogZnJvbSAnLi90b2FzdCc7XG5leHBvcnQgKiBmcm9tICcuL3JlbW92YWJsZS1waWxsJztcbiJdfQ==
@@ -1,13 +1,17 @@
1
- import { Overlay, OverlayModule, } from '@angular/cdk/overlay';
1
+ import { Overlay } from '@angular/cdk/overlay';
2
2
  import { TemplatePortal } from '@angular/cdk/portal';
3
- import { CommonModule } from '@angular/common';
4
- import { Component, HostBinding, HostListener, ViewContainerRef, computed, inject, input, model, output, viewChild, viewChildren, } from '@angular/core';
5
- import { BadgeComponent } from '../badge';
6
- import { IconComponent } from '../icon';
7
- import { MainNavigationMenuComponent } from '../main-navigation-menu';
3
+ import { Component, HostBinding, HostListener, ViewContainerRef, computed, inject, input, model, signal, viewChild, viewChildren, } from '@angular/core';
8
4
  import { NdwBrand } from './main-navigation.model';
5
+ import { MAIN_NAVIGATION_IMPORTS } from './main-navigation.imports';
9
6
  import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/common";
7
+ import * as i1 from "../badge/badge.component";
8
+ import * as i2 from "@angular/cdk/portal";
9
+ import * as i3 from "../icon/icon.component";
10
+ import * as i4 from "../main-navigation-menu/main-navigation-menu.component";
11
+ import * as i5 from "@angular/common";
12
+ import * as i6 from "@angular/cdk/overlay";
13
+ import * as i7 from "@angular/router";
14
+ import * as i8 from "../tooltip/tooltip.directive";
11
15
  export class MainNavigationComponent {
12
16
  constructor() {
13
17
  this.applicationName = input.required();
@@ -16,15 +20,19 @@ export class MainNavigationComponent {
16
20
  this.brand = input(NdwBrand.NDW);
17
21
  this.footerTexts = input();
18
22
  this.isCollapsible = input(true);
19
- this.selected = output();
23
+ this.version = input();
24
+ // Mobile inputs
25
+ this.closeButtonLabel = input('Sluit');
26
+ this.menuButtonLabel = input('Menu');
20
27
  this.isExpanded = model(true);
28
+ this.isMobileExpanded = model(false);
21
29
  this.buttons = viewChildren('menuTrigger');
22
30
  this.childMenuTemplate = viewChild.required('childMenu');
31
+ this.isMobile = signal(window.innerWidth <= 1024);
23
32
  this.brandImagePath = computed(() => {
24
33
  const brand = this.brand().toLowerCase();
25
- const variant = !this.isExpanded() ? '-short' : '';
26
- const extension = '.svg';
27
- return `assets/images/${brand}-logo${variant}${extension}`;
34
+ const variant = !this.isExpanded() && !this.isMobile() ? '-short' : '';
35
+ return `assets/images/${brand}-logo${variant}.svg`;
28
36
  });
29
37
  this.activeChildItems = [];
30
38
  this.overlayPositions = [
@@ -50,40 +58,71 @@ export class MainNavigationComponent {
50
58
  get expandedClass() {
51
59
  return this.isExpanded();
52
60
  }
61
+ get mobileClass() {
62
+ return this.isMobile();
63
+ }
53
64
  // Only close the menu when the cursor is not over the button or the child menu
54
65
  onMouseMove(event) {
55
66
  const isCursorOverButton = this.activeButton?.nativeElement.contains(event.target);
56
67
  const isCursorOverChildMenu = this.overlayRef?.overlayElement.contains(event.target);
57
- if (!isCursorOverButton && !isCursorOverChildMenu) {
68
+ if (!this.mobilePortal && !isCursorOverButton && !isCursorOverChildMenu) {
58
69
  this.close();
59
70
  }
60
71
  }
72
+ onWindowResize() {
73
+ this.isMobile.set(window.innerWidth <= 1024);
74
+ }
61
75
  ngAfterViewInit() {
62
76
  this.overlayRef = this.overlay.create({
63
77
  positionStrategy: this.setPositionStrategy(),
64
78
  });
65
79
  }
66
- close() {
67
- this.overlayRef?.detach();
80
+ ngOnDestroy() {
81
+ this.mobilePortal?.detach();
82
+ this.overlayRef?.dispose();
83
+ }
84
+ close(toggleMobileView) {
85
+ this.activeChildItems = [];
86
+ this.isMobile() ? this.mobilePortal?.detach() : this.overlayRef?.detach();
87
+ toggleMobileView && this.toggleMobileView();
88
+ }
89
+ handleClick(item) {
90
+ item.callback?.(item.id);
91
+ if (!item.children && this.isMobile()) {
92
+ this.toggleMobileView();
93
+ }
94
+ }
95
+ handleLogoClick() {
96
+ this.isMobileExpanded.set(false);
68
97
  }
69
98
  open(item) {
70
- this.close();
71
- this.activeButton = this.buttons().find((button) => Number(button.nativeElement.id) === item.id);
72
- if (!this.activeButton?.nativeElement) {
73
- return;
99
+ this.activeId = item.id;
100
+ if (!this.isMobile()) {
101
+ this.close();
74
102
  }
75
- if (!item.children) {
103
+ this.activeButton = this.buttons().find((button) => Number(button.nativeElement.id) === item.id);
104
+ if (!this.activeButton?.nativeElement || !item.children) {
76
105
  return;
77
106
  }
78
107
  this.activeChildItems = item.children;
79
108
  const portal = new TemplatePortal(this.childMenuTemplate(), this.viewContainerRef);
109
+ if (this.isMobile()) {
110
+ this.mobilePortal = portal;
111
+ return;
112
+ }
113
+ this.mobilePortal = undefined;
80
114
  // Update the position strategy with the active button as the trigger
81
115
  this.overlayRef?.updatePositionStrategy(this.setPositionStrategy(this.activeButton.nativeElement));
82
116
  this.overlayRef?.attach(portal);
83
117
  }
84
- handleSelected(id) {
85
- this.selected.emit(id);
86
- this.close();
118
+ toggleChildMenu(item, event) {
119
+ if (event && event?.key !== 'Enter') {
120
+ return;
121
+ }
122
+ this.mobilePortal?.isAttached && this.activeId === item.id ? this.close() : this.open(item);
123
+ }
124
+ toggleMobileView() {
125
+ this.isMobileExpanded.set(!this.isMobileExpanded());
87
126
  }
88
127
  toggleView() {
89
128
  this.isExpanded.set(!this.isExpanded());
@@ -98,25 +137,25 @@ export class MainNavigationComponent {
98
137
  .withPositions(this.overlayPositions);
99
138
  }
100
139
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: MainNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
101
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: MainNavigationComponent, isStandalone: true, selector: "ndw-main-navigation", inputs: { applicationName: { classPropertyName: "applicationName", publicName: "applicationName", isSignal: true, isRequired: true, transformFunction: null }, topMenuItems: { classPropertyName: "topMenuItems", publicName: "topMenuItems", isSignal: true, isRequired: true, transformFunction: null }, bottomMenuItems: { classPropertyName: "bottomMenuItems", publicName: "bottomMenuItems", isSignal: true, isRequired: false, transformFunction: null }, brand: { classPropertyName: "brand", publicName: "brand", isSignal: true, isRequired: false, transformFunction: null }, footerTexts: { classPropertyName: "footerTexts", publicName: "footerTexts", isSignal: true, isRequired: false, transformFunction: null }, isCollapsible: { classPropertyName: "isCollapsible", publicName: "isCollapsible", isSignal: true, isRequired: false, transformFunction: null }, isExpanded: { classPropertyName: "isExpanded", publicName: "isExpanded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selected", isExpanded: "isExpandedChange" }, host: { listeners: { "document:mousemove": "onMouseMove($event)" }, properties: { "attr.brand": "this.brandAttribute", "class.expanded": "this.expandedClass" } }, viewQueries: [{ propertyName: "buttons", predicate: ["menuTrigger"], descendants: true, isSignal: true }, { propertyName: "childMenuTemplate", first: true, predicate: ["childMenu"], descendants: true, isSignal: true }], ngImport: i0, template: "<header>\n <img [src]=\"brandImagePath()\" [alt]=\"brand() + ' logo'\" />\n @if (isExpanded()) {\n {{ applicationName() }}\n }\n</header>\n<main>\n @for (item of topMenuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n</main>\n<footer>\n @for (item of bottomMenuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n @if (isExpanded()) {\n @for (text of footerTexts(); track $index) {\n <p>{{ text }}</p>\n }\n }\n @if (isCollapsible()) {\n <button\n class=\"collapse-button\"\n ndwButton\n menu\n aria-label=\"expand-button\"\n [ngClass]=\"{ collapsed: !isExpanded() }\"\n (click)=\"toggleView()\"\n >\n <ndw-icon>keyboard_double_arrow_left</ndw-icon>\n </button>\n }\n</footer>\n\n<!-- Templates -->\n<ng-template #menuItem let-item>\n <button\n ndwButton\n menu\n #menuTrigger\n [id]=\"item.id\"\n (click)=\"item.callback?.(item.id)\"\n (focus)=\"open(item)\"\n (mouseover)=\"open(item)\"\n >\n @if (item.icon) {\n <ndw-icon>{{ item.icon }}</ndw-icon>\n }\n @if (isExpanded()) {\n {{ item.label }}\n }\n @if (item.notifications) {\n <ndw-badge [ngClass]=\"{ collapsed: !isExpanded() }\" [value]=\"item.notifications\" />\n }\n @if (isExpanded() && item.children) {\n <ndw-icon class=\"suffix\">arrow_right</ndw-icon>\n }\n </button>\n</ng-template>\n\n<ng-template #childMenu>\n <ndw-main-navigation-menu [menuItems]=\"activeChildItems\" />\n</ng-template>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght@20..48,400&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{--main-navigation-collapse-button-bottom: 2.125rem;background-color:var(--ndw-color-grey-700);box-sizing:border-box;color:var(--ndw-color-grey-400);display:grid;grid-template-rows:auto 1fr auto;height:100%;padding-block:var(--ndw-spacing-lg) var(--ndw-spacing-xs);width:2.75rem}header{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;align-items:baseline;color:var(--ndw-color-white);display:flex;flex-wrap:wrap;gap:var(--ndw-spacing-xs);justify-content:center;letter-spacing:.2em;margin-bottom:var(--ndw-spacing-xl);padding-inline:0;text-transform:uppercase}header img{width:var(--ndw-spacing-md)}main [ndwButton],footer [ndwButton]{justify-content:center}main [ndwButton] ndw-badge,footer [ndwButton] ndw-badge{margin-left:var(--ndw-spacing-2xs)}main [ndwButton] ndw-badge.collapsed,footer [ndwButton] ndw-badge.collapsed{position:absolute;right:.375rem;top:.375rem}main [ndwButton] .suffix,footer [ndwButton] .suffix{position:absolute;right:var(--ndw-spacing-sm)}footer{margin-bottom:var(--main-navigation-collapse-button-bottom);position:relative}footer p{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;margin:0;text-align:center}footer p:first-of-type{margin-top:var(--ndw-spacing-md)}footer p:not(:last-of-type){margin-bottom:var(--ndw-spacing-lg)}footer p:last-of-type{margin-left:var(--ndw-spacing-2xl);width:calc(100% - var(--ndw-spacing-4xl))}footer .collapse-button{bottom:calc(var(--main-navigation-collapse-button-bottom) * -1 - var(--ndw-spacing-xs));height:2.25rem;justify-content:center;position:absolute;right:0;width:100%}footer .collapse-button.collapsed ndw-icon{transform:var(--ndw-rotate-half)}:host(.expanded){padding-top:var(--ndw-spacing-xl);width:12.5rem}:host(.expanded) header{justify-content:initial;padding-inline:var(--ndw-spacing-md)}:host(.expanded) header img{width:4rem}:host(.expanded) main [ndwButton],:host(.expanded) footer [ndwButton]{justify-content:initial;padding-inline:var(--ndw-spacing-md)}:host(.expanded) footer{margin-bottom:var(--ndw-spacing-3xs)}:host(.expanded) footer .collapse-button{bottom:calc(var(--ndw-spacing-xs) * -1 - var(--ndw-spacing-3xs));padding-inline:var(--ndw-spacing-sm);width:fit-content}:host([brand=nwb]) header{font-size:.5rem}:host(.expanded[brand=nwb]) header{flex-direction:column}:host(.expanded[brand=nwb]) header img{width:8rem}\n"], dependencies: [{ kind: "component", type: BadgeComponent, selector: "ndw-badge", inputs: ["value"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["interactive"] }, { kind: "component", type: MainNavigationMenuComponent, selector: "ndw-main-navigation-menu", inputs: ["menuItems"] }, { kind: "ngmodule", type: OverlayModule }] }); }
140
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: MainNavigationComponent, isStandalone: true, selector: "ndw-main-navigation", inputs: { applicationName: { classPropertyName: "applicationName", publicName: "applicationName", isSignal: true, isRequired: true, transformFunction: null }, topMenuItems: { classPropertyName: "topMenuItems", publicName: "topMenuItems", isSignal: true, isRequired: true, transformFunction: null }, bottomMenuItems: { classPropertyName: "bottomMenuItems", publicName: "bottomMenuItems", isSignal: true, isRequired: false, transformFunction: null }, brand: { classPropertyName: "brand", publicName: "brand", isSignal: true, isRequired: false, transformFunction: null }, footerTexts: { classPropertyName: "footerTexts", publicName: "footerTexts", isSignal: true, isRequired: false, transformFunction: null }, isCollapsible: { classPropertyName: "isCollapsible", publicName: "isCollapsible", isSignal: true, isRequired: false, transformFunction: null }, version: { classPropertyName: "version", publicName: "version", isSignal: true, isRequired: false, transformFunction: null }, closeButtonLabel: { classPropertyName: "closeButtonLabel", publicName: "closeButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, menuButtonLabel: { classPropertyName: "menuButtonLabel", publicName: "menuButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, isExpanded: { classPropertyName: "isExpanded", publicName: "isExpanded", isSignal: true, isRequired: false, transformFunction: null }, isMobileExpanded: { classPropertyName: "isMobileExpanded", publicName: "isMobileExpanded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isExpanded: "isExpandedChange", isMobileExpanded: "isMobileExpandedChange" }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "window:resize": "onWindowResize()" }, properties: { "attr.brand": "this.brandAttribute", "class.expanded": "this.expandedClass", "class.mobile": "this.mobileClass" } }, viewQueries: [{ propertyName: "buttons", predicate: ["menuTrigger"], descendants: true, isSignal: true }, { propertyName: "childMenuTemplate", first: true, predicate: ["childMenu"], descendants: true, isSignal: true }], ngImport: i0, template: "<header>\n <a routerLink=\"/\" (click)=\"handleLogoClick()\" (keydown)=\"handleLogoClick()\">\n <img [src]=\"brandImagePath()\" [alt]=\"brand() + ' logo'\" />\n @if (isExpanded() || isMobile()) {\n {{ applicationName() }}\n }\n </a>\n <button ndwButton class=\"menu-button\" aria-label=\"menu-button\" (click)=\"toggleMobileView()\">\n @if (!isMobileExpanded()) {\n {{ menuButtonLabel() }}\n <ndw-icon>menu</ndw-icon>\n } @else {\n {{ closeButtonLabel() }}\n <ndw-icon>close</ndw-icon>\n }\n </button>\n</header>\n<div class=\"content\" [ngClass]=\"{ expanded: isMobileExpanded() }\">\n <main>\n <div class=\"menu-items\">\n @for (item of topMenuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n </div>\n </main>\n <footer>\n <div class=\"menu-items\">\n @for (item of bottomMenuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n </div>\n <div class=\"texts\">\n @if (isExpanded() || isMobile()) {\n @for (text of footerTexts(); track $index) {\n <p>{{ text }}</p>\n }\n }\n </div>\n <div class=\"version\">\n <p>{{ version() }}</p>\n @if (isCollapsible()) {\n <button ndwButton menu aria-label=\"expand-button\" (click)=\"toggleView()\">\n <ndw-icon>keyboard_double_arrow_right</ndw-icon>\n </button>\n }\n </div>\n </footer>\n</div>\n\n<!-- Templates -->\n<ng-template #menuItem let-item>\n <button\n ndwButton\n menu\n #menuTrigger\n [attr.active]=\"(isMobile() && activeChildItems === item.children) || undefined\"\n [id]=\"item.id\"\n [ndwTooltip]=\"!isExpanded() && !isMobile() ? item.label : ''\"\n (click)=\"handleClick(item)\"\n (focus)=\"!isMobile() && open(item)\"\n (keydown)=\"isMobile() && toggleChildMenu(item, $event)\"\n (mousedown)=\"isMobile() && toggleChildMenu(item)\"\n (mouseover)=\"!isMobile() && open(item)\"\n >\n @if (item.icon) {\n <ndw-icon>{{ item.icon }}</ndw-icon>\n }\n @if (isExpanded() || isMobile()) {\n {{ item.label }}\n }\n @if (item.notifications) {\n <ndw-badge [ngClass]=\"{ collapsed: !isExpanded() }\" [value]=\"item.notifications\" />\n }\n @if (isExpanded() && item.children) {\n <ndw-icon\n class=\"suffix\"\n [ngClass]=\"{ open: !!mobilePortal && activeChildItems === item.children }\"\n >arrow_right</ndw-icon\n >\n }\n </button>\n @if (activeChildItems === item.children) {\n <ng-template [cdkPortalOutlet]=\"mobilePortal\" />\n }\n</ng-template>\n\n<ng-template #childMenu>\n <ndw-main-navigation-menu\n [isMobile]=\"isMobile()\"\n [menuItems]=\"activeChildItems\"\n (close)=\"close(true)\"\n />\n</ng-template>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght@20..48,400&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:root{--_grey-700: 195, 100%, 10%;--_grey-600: 196, 13%, 29%;--_grey-500: 197, 7%, 40%;--_grey-400: 204, 2%, 54%;--_grey-300: 192, 5%, 82%;--_grey-200: 204, 11%, 91%;--_grey-100: 200, 16%, 96%;--_white: 0, 0%, 100%;--ndw-color-grey-700: hsl(var(--_grey-700));--ndw-color-grey-600: hsl(var(--_grey-600));--ndw-color-grey-500: hsl(var(--_grey-500));--ndw-color-grey-400: hsl(var(--_grey-400));--ndw-color-grey-300: hsl(var(--_grey-300));--ndw-color-grey-200: hsl(var(--_grey-200));--ndw-color-grey-100: hsl(var(--_grey-100));--ndw-color-white: hsl(var(--_white));--_link: 208, 100%;--_link-400: var(--_link), 41%;--_link-500: var(--_link), 32%;--ndw-color-link-400: hsl(var(--_link-400));--ndw-color-link-500: hsl(var(--_link-500));--_positive: 133, 92%;--_positive-100: 117, 56%, 92%;--_positive-500: var(--_positive), 33%;--_positive-600: var(--_positive), 24%;--_warning: 43, 93%;--_warning-100: 44, 100%, 94%;--_warning-500: var(--_warning), 43%;--_warning-600: 42, 83%, 32%;--_alternative: 292, 100%;--_alternative-100: var(--_alternative), 95%;--_alternative-500: 292, 95%, 33%;--_critical: 0, 100%;--_critical-100: var(--_critical), 98%;--_critical-500: var(--_critical), 46%;--ndw-color-positive-100: hsl(var(--_positive-100));--ndw-color-positive-500: hsl(var(--_positive-500));--ndw-color-positive-600: hsl(var(--_positive-600));--ndw-color-warning-100: hsl(var(--_warning-100));--ndw-color-warning-500: hsl(var(--_warning-500));--ndw-color-warning-600: hsl(var(--_warning-600));--ndw-color-alternative-100: hsl(var(--_alternative-100));--ndw-color-alternative-500: hsl(var(--_alternative-500));--ndw-color-critical-100: hsl(var(--_critical-100));--ndw-color-critical-500: hsl(var(--_critical-500));--ndw-color-notification: hsl(19, 100%, 35%);--_data-a-500: 133, 100%, 21%;--_data-a-100: 101, 61%, 81%;--_data-b-500: 0, 0%, 27%;--_data-b-100: 0, 0%, 87%;--_data-c-500: 209, 97%, 38%;--_data-c-100: 194, 95%, 84%;--_data-d-500: 292, 95%, 33%;--_data-d-100: 292, 100%, 87%;--_data-e-500: 51, 95%, 23%;--_data-e-100: 54, 89%, 79%;--_data-f-500: 0, 97%, 35%;--_data-f-100: 0, 100%, 94%;--ndw-color-data-a-500: hsl(var(--_data-a-500));--ndw-color-data-a-100: hsl(var(--_data-a-100));--ndw-color-data-b-500: hsl(var(--_data-b-500));--ndw-color-data-b-100: hsl(var(--_data-b-100));--ndw-color-data-c-500: hsl(var(--_data-c-500));--ndw-color-data-c-100: hsl(var(--_data-c-100));--ndw-color-data-d-500: hsl(var(--_data-d-500));--ndw-color-data-d-100: hsl(var(--_data-d-100));--ndw-color-data-e-500: hsl(var(--_data-e-500));--ndw-color-data-e-100: hsl(var(--_data-e-100));--ndw-color-data-f-500: hsl(var(--_data-f-500));--ndw-color-data-f-100: hsl(var(--_data-f-100));--_alpha-black: 0, 0%, 0%;--_alpha-007: .07;--_alpha-015: .15;--_alpha-040: .4;--ndw-alpha-black-007: hsla(var(--_alpha-black), var(--_alpha-007));--ndw-alpha-black-015: hsla(var(--_alpha-black), var(--_alpha-015));--ndw-alpha-black-040: hsla(var(--_alpha-black), var(--_alpha-040));--ndw-alpha-white-040: hsla(var(--_white), var(--_alpha-040));--ndw-spacing-3xs: .125rem;--ndw-spacing-2xs: .25rem;--ndw-spacing-xs: .5rem;--ndw-spacing-sm: .75rem;--ndw-spacing-md: 1rem;--ndw-spacing-lg: 1.5rem;--ndw-spacing-xl: 2rem;--ndw-spacing-2xl: 2.5rem;--ndw-spacing-3xl: 3rem;--ndw-spacing-4xl: 5rem;--ndw-spacing-5xl: 8rem;--ndw-border-size-sm: 1px;--ndw-border-size-md: 2px;--ndw-border-size-lg: 3px;--ndw-border-radius-xs: .125rem;--ndw-border-radius-sm: .25rem;--ndw-border-radius-md: .5rem;--ndw-border-radius-lg: 1.5rem;--ndw-elevation-info: 0 0 .5rem 0 hsla(var(--_link-500), .25);--ndw-elevation-content: 0 .125rem .125rem 0 hsla(var(--_grey-600), .05);--ndw-elevation-dropdown: 0 .25rem 1rem hsla(var(--_grey-600), .125);--ndw-elevation-popover: 0 .5rem 1.25rem hsla(var(--_grey-600), .125);--ndw-backdrop-color: var(--ndw-alpha-black-040);--ndw-animation-speed-very-fast: .1s;--ndw-animation-speed-fast: .2s;--ndw-animation-speed-default: .3s;--ndw-animation-speed-slow: .5s;--ndw-icon-size-md: 1rem;--ndw-icon-size-lg: 1.5rem;--multi-select-default-width: 18.75rem;--ndw-font-family-body: \"Nunito Sans\", sans-serif;--ndw-font-family-heading: \"DM Sans\", sans-serif;--ndw-base-font-size: 16px;--ndw-font-size-2xs: .5625rem;--ndw-font-size-xs: .6875rem;--ndw-font-size-sm: .8125rem;--ndw-font-size-md: 1.125rem;--ndw-font-size-lg: 1.25rem;--ndw-font-size-xl: 1.5rem;--ndw-font-weight-regular: 400;--ndw-font-weight-bold: 650;--ndw-line-height-sm: 1.375rem;--ndw-line-height-md: 1.5rem;--ndw-rotate-half: rotate(180deg);--ndw-modal-width-sm: 31.25rem;--ndw-modal-width-md: 45rem}:host{--main-navigation-collapse-width: 2.75rem;--main-navigation-mobile-header-height: 6.25rem;background-color:var(--ndw-color-grey-700);box-sizing:border-box;color:var(--ndw-color-grey-400);display:grid;grid-template-rows:auto 1fr;height:100%;padding-top:var(--ndw-spacing-lg);width:var(--main-navigation-collapse-width)}:host header{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;color:var(--ndw-color-white);display:flex;gap:var(--ndw-spacing-xs);justify-content:center;letter-spacing:.2em;margin-bottom:var(--ndw-spacing-xl);padding-inline:0;text-transform:uppercase}:host header a{align-items:baseline;color:var(--ndw-color-white);cursor:pointer;display:flex;flex-wrap:wrap;gap:var(--ndw-spacing-xs);text-decoration:none}:host header a img{width:1rem}:host header .menu-button{background-color:var(--ndw-color-grey-600);border-color:var(--ndw-color-grey-600);border-radius:var(--ndw-border-radius-lg);display:none;text-transform:uppercase}:host header .menu-button ndw-icon{font-size:var(--ndw-font-size-lg)}:host .content{background-color:var(--ndw-color-grey-700);display:grid;grid-template-rows:1fr auto;overflow-y:auto}:host .content main [ndwButton],:host .content footer [ndwButton]{justify-content:center}:host .content main [ndwButton] ndw-badge,:host .content footer [ndwButton] ndw-badge{margin-left:var(--ndw-spacing-2xs);position:absolute;right:.375rem;top:.375rem}:host .content main [ndwButton] .suffix,:host .content footer [ndwButton] .suffix{position:absolute;right:var(--ndw-spacing-sm)}:host .content footer .texts{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;display:grid;gap:var(--ndw-spacing-xs);min-height:2.625rem;padding-inline:var(--ndw-spacing-md);padding-top:var(--ndw-spacing-md)}:host .content footer .texts p{margin:auto;text-align:center}:host .content footer .version{align-items:center;display:grid;grid-template-columns:1fr}:host .content footer .version p{display:none;font-size:var(--ndw-font-size-2xs);padding-left:var(--main-navigation-collapse-width);text-align:center}:host.expanded header,:host.mobile header{padding-inline:var(--ndw-spacing-md)}:host.expanded header a img,:host.mobile header a img{width:4rem}:host.expanded .content main .menu-items [ndwButton],:host.expanded .content footer .menu-items [ndwButton],:host.mobile .content main .menu-items [ndwButton],:host.mobile .content footer .menu-items [ndwButton]{justify-content:flex-start;padding-inline:var(--ndw-spacing-md)}:host.expanded .content main .menu-items [ndwButton] ndw-badge,:host.expanded .content footer .menu-items [ndwButton] ndw-badge,:host.mobile .content main .menu-items [ndwButton] ndw-badge,:host.mobile .content footer .menu-items [ndwButton] ndw-badge{position:relative;right:auto;top:auto}:host.expanded{width:12.5rem}:host.expanded header{justify-content:flex-start}:host.expanded .content footer{position:relative}:host.expanded .content footer .version{grid-template-columns:1fr var(--main-navigation-collapse-width)}:host.expanded .content footer .version p{display:block}:host.expanded .content footer .version [ndwButton] ndw-icon{transform:var(--ndw-rotate-half)}:host[brand=nwb] header{font-size:.5rem}:host.expanded[brand=nwb] header{flex-direction:column}:host.expanded[brand=nwb] header img{width:8rem}@media screen and (max-width: 1024px){:host{align-items:flex-end;grid-template-rows:initial;height:var(--main-navigation-mobile-header-height);width:100%}:host header{align-items:flex-end;justify-content:space-between;margin-bottom:var(--ndw-spacing-md)}:host header .menu-button{display:flex}:host .content{display:none;grid-template-rows:auto 1fr;inset:var(--main-navigation-mobile-header-height) 0 0;position:absolute;z-index:9999}:host .content [ndwButton] .suffix{rotate:90deg}:host .content [ndwButton] .suffix.open{rotate:-90deg}:host .content footer{display:grid;grid-template-rows:1fr repeat(2,auto)}:host .content footer .version button{display:none}:host .content.expanded{display:grid}:host.expanded{width:100%}:host.expanded header{justify-content:space-between}}\n"], dependencies: [{ kind: "component", type: i1.BadgeComponent, selector: "ndw-badge", inputs: ["value", "ariaLabel"] }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i3.IconComponent, selector: "ndw-icon", inputs: ["size"] }, { kind: "component", type: i4.MainNavigationMenuComponent, selector: "ndw-main-navigation-menu", inputs: ["menuItems", "isMobile"], outputs: ["close"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: i6.OverlayModule }, { kind: "directive", type: i7.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i8.TooltipDirective, selector: "[ndwTooltip]", inputs: ["ndwTooltip"] }] }); }
102
141
  }
103
142
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: MainNavigationComponent, decorators: [{
104
143
  type: Component,
105
- args: [{ selector: 'ndw-main-navigation', standalone: true, imports: [
106
- BadgeComponent,
107
- CommonModule,
108
- IconComponent,
109
- MainNavigationMenuComponent,
110
- OverlayModule,
111
- ], template: "<header>\n <img [src]=\"brandImagePath()\" [alt]=\"brand() + ' logo'\" />\n @if (isExpanded()) {\n {{ applicationName() }}\n }\n</header>\n<main>\n @for (item of topMenuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n</main>\n<footer>\n @for (item of bottomMenuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n @if (isExpanded()) {\n @for (text of footerTexts(); track $index) {\n <p>{{ text }}</p>\n }\n }\n @if (isCollapsible()) {\n <button\n class=\"collapse-button\"\n ndwButton\n menu\n aria-label=\"expand-button\"\n [ngClass]=\"{ collapsed: !isExpanded() }\"\n (click)=\"toggleView()\"\n >\n <ndw-icon>keyboard_double_arrow_left</ndw-icon>\n </button>\n }\n</footer>\n\n<!-- Templates -->\n<ng-template #menuItem let-item>\n <button\n ndwButton\n menu\n #menuTrigger\n [id]=\"item.id\"\n (click)=\"item.callback?.(item.id)\"\n (focus)=\"open(item)\"\n (mouseover)=\"open(item)\"\n >\n @if (item.icon) {\n <ndw-icon>{{ item.icon }}</ndw-icon>\n }\n @if (isExpanded()) {\n {{ item.label }}\n }\n @if (item.notifications) {\n <ndw-badge [ngClass]=\"{ collapsed: !isExpanded() }\" [value]=\"item.notifications\" />\n }\n @if (isExpanded() && item.children) {\n <ndw-icon class=\"suffix\">arrow_right</ndw-icon>\n }\n </button>\n</ng-template>\n\n<ng-template #childMenu>\n <ndw-main-navigation-menu [menuItems]=\"activeChildItems\" />\n</ng-template>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght@20..48,400&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:host{--main-navigation-collapse-button-bottom: 2.125rem;background-color:var(--ndw-color-grey-700);box-sizing:border-box;color:var(--ndw-color-grey-400);display:grid;grid-template-rows:auto 1fr auto;height:100%;padding-block:var(--ndw-spacing-lg) var(--ndw-spacing-xs);width:2.75rem}header{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;align-items:baseline;color:var(--ndw-color-white);display:flex;flex-wrap:wrap;gap:var(--ndw-spacing-xs);justify-content:center;letter-spacing:.2em;margin-bottom:var(--ndw-spacing-xl);padding-inline:0;text-transform:uppercase}header img{width:var(--ndw-spacing-md)}main [ndwButton],footer [ndwButton]{justify-content:center}main [ndwButton] ndw-badge,footer [ndwButton] ndw-badge{margin-left:var(--ndw-spacing-2xs)}main [ndwButton] ndw-badge.collapsed,footer [ndwButton] ndw-badge.collapsed{position:absolute;right:.375rem;top:.375rem}main [ndwButton] .suffix,footer [ndwButton] .suffix{position:absolute;right:var(--ndw-spacing-sm)}footer{margin-bottom:var(--main-navigation-collapse-button-bottom);position:relative}footer p{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;margin:0;text-align:center}footer p:first-of-type{margin-top:var(--ndw-spacing-md)}footer p:not(:last-of-type){margin-bottom:var(--ndw-spacing-lg)}footer p:last-of-type{margin-left:var(--ndw-spacing-2xl);width:calc(100% - var(--ndw-spacing-4xl))}footer .collapse-button{bottom:calc(var(--main-navigation-collapse-button-bottom) * -1 - var(--ndw-spacing-xs));height:2.25rem;justify-content:center;position:absolute;right:0;width:100%}footer .collapse-button.collapsed ndw-icon{transform:var(--ndw-rotate-half)}:host(.expanded){padding-top:var(--ndw-spacing-xl);width:12.5rem}:host(.expanded) header{justify-content:initial;padding-inline:var(--ndw-spacing-md)}:host(.expanded) header img{width:4rem}:host(.expanded) main [ndwButton],:host(.expanded) footer [ndwButton]{justify-content:initial;padding-inline:var(--ndw-spacing-md)}:host(.expanded) footer{margin-bottom:var(--ndw-spacing-3xs)}:host(.expanded) footer .collapse-button{bottom:calc(var(--ndw-spacing-xs) * -1 - var(--ndw-spacing-3xs));padding-inline:var(--ndw-spacing-sm);width:fit-content}:host([brand=nwb]) header{font-size:.5rem}:host(.expanded[brand=nwb]) header{flex-direction:column}:host(.expanded[brand=nwb]) header img{width:8rem}\n"] }]
144
+ args: [{ selector: 'ndw-main-navigation', standalone: true, imports: MAIN_NAVIGATION_IMPORTS, template: "<header>\n <a routerLink=\"/\" (click)=\"handleLogoClick()\" (keydown)=\"handleLogoClick()\">\n <img [src]=\"brandImagePath()\" [alt]=\"brand() + ' logo'\" />\n @if (isExpanded() || isMobile()) {\n {{ applicationName() }}\n }\n </a>\n <button ndwButton class=\"menu-button\" aria-label=\"menu-button\" (click)=\"toggleMobileView()\">\n @if (!isMobileExpanded()) {\n {{ menuButtonLabel() }}\n <ndw-icon>menu</ndw-icon>\n } @else {\n {{ closeButtonLabel() }}\n <ndw-icon>close</ndw-icon>\n }\n </button>\n</header>\n<div class=\"content\" [ngClass]=\"{ expanded: isMobileExpanded() }\">\n <main>\n <div class=\"menu-items\">\n @for (item of topMenuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n </div>\n </main>\n <footer>\n <div class=\"menu-items\">\n @for (item of bottomMenuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n </div>\n <div class=\"texts\">\n @if (isExpanded() || isMobile()) {\n @for (text of footerTexts(); track $index) {\n <p>{{ text }}</p>\n }\n }\n </div>\n <div class=\"version\">\n <p>{{ version() }}</p>\n @if (isCollapsible()) {\n <button ndwButton menu aria-label=\"expand-button\" (click)=\"toggleView()\">\n <ndw-icon>keyboard_double_arrow_right</ndw-icon>\n </button>\n }\n </div>\n </footer>\n</div>\n\n<!-- Templates -->\n<ng-template #menuItem let-item>\n <button\n ndwButton\n menu\n #menuTrigger\n [attr.active]=\"(isMobile() && activeChildItems === item.children) || undefined\"\n [id]=\"item.id\"\n [ndwTooltip]=\"!isExpanded() && !isMobile() ? item.label : ''\"\n (click)=\"handleClick(item)\"\n (focus)=\"!isMobile() && open(item)\"\n (keydown)=\"isMobile() && toggleChildMenu(item, $event)\"\n (mousedown)=\"isMobile() && toggleChildMenu(item)\"\n (mouseover)=\"!isMobile() && open(item)\"\n >\n @if (item.icon) {\n <ndw-icon>{{ item.icon }}</ndw-icon>\n }\n @if (isExpanded() || isMobile()) {\n {{ item.label }}\n }\n @if (item.notifications) {\n <ndw-badge [ngClass]=\"{ collapsed: !isExpanded() }\" [value]=\"item.notifications\" />\n }\n @if (isExpanded() && item.children) {\n <ndw-icon\n class=\"suffix\"\n [ngClass]=\"{ open: !!mobilePortal && activeChildItems === item.children }\"\n >arrow_right</ndw-icon\n >\n }\n </button>\n @if (activeChildItems === item.children) {\n <ng-template [cdkPortalOutlet]=\"mobilePortal\" />\n }\n</ng-template>\n\n<ng-template #childMenu>\n <ndw-main-navigation-menu\n [isMobile]=\"isMobile()\"\n [menuItems]=\"activeChildItems\"\n (close)=\"close(true)\"\n />\n</ng-template>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..650;1,9..40,400..650&family=Material+Symbols+Rounded:opsz,wght@20..48,400&family=Nunito+Sans:ital,opsz,wght@0,6..12,400..650;1,6..12,400..650&display=block\";.ndw-heading-xl{font-family:var(--ndw-font-family-heading);font-size:2.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-lg{font-family:var(--ndw-font-family-heading);font-size:2rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-md{font-family:var(--ndw-font-family-heading);font-size:1.5rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-heading-sm{font-family:var(--ndw-font-family-heading);font-size:1.25rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-bold-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-xl{font-family:var(--ndw-font-family-body);font-size:1.125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-lg{font-family:var(--ndw-font-family-body);font-size:1rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-md{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}.ndw-paragraph-bold-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-bold);line-height:150%}.ndw-paragraph-sm{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%}:root{--_grey-700: 195, 100%, 10%;--_grey-600: 196, 13%, 29%;--_grey-500: 197, 7%, 40%;--_grey-400: 204, 2%, 54%;--_grey-300: 192, 5%, 82%;--_grey-200: 204, 11%, 91%;--_grey-100: 200, 16%, 96%;--_white: 0, 0%, 100%;--ndw-color-grey-700: hsl(var(--_grey-700));--ndw-color-grey-600: hsl(var(--_grey-600));--ndw-color-grey-500: hsl(var(--_grey-500));--ndw-color-grey-400: hsl(var(--_grey-400));--ndw-color-grey-300: hsl(var(--_grey-300));--ndw-color-grey-200: hsl(var(--_grey-200));--ndw-color-grey-100: hsl(var(--_grey-100));--ndw-color-white: hsl(var(--_white));--_link: 208, 100%;--_link-400: var(--_link), 41%;--_link-500: var(--_link), 32%;--ndw-color-link-400: hsl(var(--_link-400));--ndw-color-link-500: hsl(var(--_link-500));--_positive: 133, 92%;--_positive-100: 117, 56%, 92%;--_positive-500: var(--_positive), 33%;--_positive-600: var(--_positive), 24%;--_warning: 43, 93%;--_warning-100: 44, 100%, 94%;--_warning-500: var(--_warning), 43%;--_warning-600: 42, 83%, 32%;--_alternative: 292, 100%;--_alternative-100: var(--_alternative), 95%;--_alternative-500: 292, 95%, 33%;--_critical: 0, 100%;--_critical-100: var(--_critical), 98%;--_critical-500: var(--_critical), 46%;--ndw-color-positive-100: hsl(var(--_positive-100));--ndw-color-positive-500: hsl(var(--_positive-500));--ndw-color-positive-600: hsl(var(--_positive-600));--ndw-color-warning-100: hsl(var(--_warning-100));--ndw-color-warning-500: hsl(var(--_warning-500));--ndw-color-warning-600: hsl(var(--_warning-600));--ndw-color-alternative-100: hsl(var(--_alternative-100));--ndw-color-alternative-500: hsl(var(--_alternative-500));--ndw-color-critical-100: hsl(var(--_critical-100));--ndw-color-critical-500: hsl(var(--_critical-500));--ndw-color-notification: hsl(19, 100%, 35%);--_data-a-500: 133, 100%, 21%;--_data-a-100: 101, 61%, 81%;--_data-b-500: 0, 0%, 27%;--_data-b-100: 0, 0%, 87%;--_data-c-500: 209, 97%, 38%;--_data-c-100: 194, 95%, 84%;--_data-d-500: 292, 95%, 33%;--_data-d-100: 292, 100%, 87%;--_data-e-500: 51, 95%, 23%;--_data-e-100: 54, 89%, 79%;--_data-f-500: 0, 97%, 35%;--_data-f-100: 0, 100%, 94%;--ndw-color-data-a-500: hsl(var(--_data-a-500));--ndw-color-data-a-100: hsl(var(--_data-a-100));--ndw-color-data-b-500: hsl(var(--_data-b-500));--ndw-color-data-b-100: hsl(var(--_data-b-100));--ndw-color-data-c-500: hsl(var(--_data-c-500));--ndw-color-data-c-100: hsl(var(--_data-c-100));--ndw-color-data-d-500: hsl(var(--_data-d-500));--ndw-color-data-d-100: hsl(var(--_data-d-100));--ndw-color-data-e-500: hsl(var(--_data-e-500));--ndw-color-data-e-100: hsl(var(--_data-e-100));--ndw-color-data-f-500: hsl(var(--_data-f-500));--ndw-color-data-f-100: hsl(var(--_data-f-100));--_alpha-black: 0, 0%, 0%;--_alpha-007: .07;--_alpha-015: .15;--_alpha-040: .4;--ndw-alpha-black-007: hsla(var(--_alpha-black), var(--_alpha-007));--ndw-alpha-black-015: hsla(var(--_alpha-black), var(--_alpha-015));--ndw-alpha-black-040: hsla(var(--_alpha-black), var(--_alpha-040));--ndw-alpha-white-040: hsla(var(--_white), var(--_alpha-040));--ndw-spacing-3xs: .125rem;--ndw-spacing-2xs: .25rem;--ndw-spacing-xs: .5rem;--ndw-spacing-sm: .75rem;--ndw-spacing-md: 1rem;--ndw-spacing-lg: 1.5rem;--ndw-spacing-xl: 2rem;--ndw-spacing-2xl: 2.5rem;--ndw-spacing-3xl: 3rem;--ndw-spacing-4xl: 5rem;--ndw-spacing-5xl: 8rem;--ndw-border-size-sm: 1px;--ndw-border-size-md: 2px;--ndw-border-size-lg: 3px;--ndw-border-radius-xs: .125rem;--ndw-border-radius-sm: .25rem;--ndw-border-radius-md: .5rem;--ndw-border-radius-lg: 1.5rem;--ndw-elevation-info: 0 0 .5rem 0 hsla(var(--_link-500), .25);--ndw-elevation-content: 0 .125rem .125rem 0 hsla(var(--_grey-600), .05);--ndw-elevation-dropdown: 0 .25rem 1rem hsla(var(--_grey-600), .125);--ndw-elevation-popover: 0 .5rem 1.25rem hsla(var(--_grey-600), .125);--ndw-backdrop-color: var(--ndw-alpha-black-040);--ndw-animation-speed-very-fast: .1s;--ndw-animation-speed-fast: .2s;--ndw-animation-speed-default: .3s;--ndw-animation-speed-slow: .5s;--ndw-icon-size-md: 1rem;--ndw-icon-size-lg: 1.5rem;--multi-select-default-width: 18.75rem;--ndw-font-family-body: \"Nunito Sans\", sans-serif;--ndw-font-family-heading: \"DM Sans\", sans-serif;--ndw-base-font-size: 16px;--ndw-font-size-2xs: .5625rem;--ndw-font-size-xs: .6875rem;--ndw-font-size-sm: .8125rem;--ndw-font-size-md: 1.125rem;--ndw-font-size-lg: 1.25rem;--ndw-font-size-xl: 1.5rem;--ndw-font-weight-regular: 400;--ndw-font-weight-bold: 650;--ndw-line-height-sm: 1.375rem;--ndw-line-height-md: 1.5rem;--ndw-rotate-half: rotate(180deg);--ndw-modal-width-sm: 31.25rem;--ndw-modal-width-md: 45rem}:host{--main-navigation-collapse-width: 2.75rem;--main-navigation-mobile-header-height: 6.25rem;background-color:var(--ndw-color-grey-700);box-sizing:border-box;color:var(--ndw-color-grey-400);display:grid;grid-template-rows:auto 1fr;height:100%;padding-top:var(--ndw-spacing-lg);width:var(--main-navigation-collapse-width)}:host header{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;color:var(--ndw-color-white);display:flex;gap:var(--ndw-spacing-xs);justify-content:center;letter-spacing:.2em;margin-bottom:var(--ndw-spacing-xl);padding-inline:0;text-transform:uppercase}:host header a{align-items:baseline;color:var(--ndw-color-white);cursor:pointer;display:flex;flex-wrap:wrap;gap:var(--ndw-spacing-xs);text-decoration:none}:host header a img{width:1rem}:host header .menu-button{background-color:var(--ndw-color-grey-600);border-color:var(--ndw-color-grey-600);border-radius:var(--ndw-border-radius-lg);display:none;text-transform:uppercase}:host header .menu-button ndw-icon{font-size:var(--ndw-font-size-lg)}:host .content{background-color:var(--ndw-color-grey-700);display:grid;grid-template-rows:1fr auto;overflow-y:auto}:host .content main [ndwButton],:host .content footer [ndwButton]{justify-content:center}:host .content main [ndwButton] ndw-badge,:host .content footer [ndwButton] ndw-badge{margin-left:var(--ndw-spacing-2xs);position:absolute;right:.375rem;top:.375rem}:host .content main [ndwButton] .suffix,:host .content footer [ndwButton] .suffix{position:absolute;right:var(--ndw-spacing-sm)}:host .content footer .texts{font-family:var(--ndw-font-family-body);font-size:.6875rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;display:grid;gap:var(--ndw-spacing-xs);min-height:2.625rem;padding-inline:var(--ndw-spacing-md);padding-top:var(--ndw-spacing-md)}:host .content footer .texts p{margin:auto;text-align:center}:host .content footer .version{align-items:center;display:grid;grid-template-columns:1fr}:host .content footer .version p{display:none;font-size:var(--ndw-font-size-2xs);padding-left:var(--main-navigation-collapse-width);text-align:center}:host.expanded header,:host.mobile header{padding-inline:var(--ndw-spacing-md)}:host.expanded header a img,:host.mobile header a img{width:4rem}:host.expanded .content main .menu-items [ndwButton],:host.expanded .content footer .menu-items [ndwButton],:host.mobile .content main .menu-items [ndwButton],:host.mobile .content footer .menu-items [ndwButton]{justify-content:flex-start;padding-inline:var(--ndw-spacing-md)}:host.expanded .content main .menu-items [ndwButton] ndw-badge,:host.expanded .content footer .menu-items [ndwButton] ndw-badge,:host.mobile .content main .menu-items [ndwButton] ndw-badge,:host.mobile .content footer .menu-items [ndwButton] ndw-badge{position:relative;right:auto;top:auto}:host.expanded{width:12.5rem}:host.expanded header{justify-content:flex-start}:host.expanded .content footer{position:relative}:host.expanded .content footer .version{grid-template-columns:1fr var(--main-navigation-collapse-width)}:host.expanded .content footer .version p{display:block}:host.expanded .content footer .version [ndwButton] ndw-icon{transform:var(--ndw-rotate-half)}:host[brand=nwb] header{font-size:.5rem}:host.expanded[brand=nwb] header{flex-direction:column}:host.expanded[brand=nwb] header img{width:8rem}@media screen and (max-width: 1024px){:host{align-items:flex-end;grid-template-rows:initial;height:var(--main-navigation-mobile-header-height);width:100%}:host header{align-items:flex-end;justify-content:space-between;margin-bottom:var(--ndw-spacing-md)}:host header .menu-button{display:flex}:host .content{display:none;grid-template-rows:auto 1fr;inset:var(--main-navigation-mobile-header-height) 0 0;position:absolute;z-index:9999}:host .content [ndwButton] .suffix{rotate:90deg}:host .content [ndwButton] .suffix.open{rotate:-90deg}:host .content footer{display:grid;grid-template-rows:1fr repeat(2,auto)}:host .content footer .version button{display:none}:host .content.expanded{display:grid}:host.expanded{width:100%}:host.expanded header{justify-content:space-between}}\n"] }]
112
145
  }], propDecorators: { brandAttribute: [{
113
146
  type: HostBinding,
114
147
  args: ['attr.brand']
115
148
  }], expandedClass: [{
116
149
  type: HostBinding,
117
150
  args: ['class.expanded']
151
+ }], mobileClass: [{
152
+ type: HostBinding,
153
+ args: ['class.mobile']
118
154
  }], onMouseMove: [{
119
155
  type: HostListener,
120
156
  args: ['document:mousemove', ['$event']]
157
+ }], onWindowResize: [{
158
+ type: HostListener,
159
+ args: ['window:resize']
121
160
  }] } });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tYWluLW5hdmlnYXRpb24vbWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tYWluLW5hdmlnYXRpb24vbWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxPQUFPLEVBQ1AsYUFBYSxHQUdkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsU0FBUyxFQUVULFdBQVcsRUFDWCxZQUFZLEVBRVosZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEUsT0FBTyxFQUFZLFFBQVEsRUFBa0IsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBZTdFLE1BQU0sT0FBTyx1QkFBdUI7SUFicEM7UUFjUyxvQkFBZSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUMzQyxpQkFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWMsQ0FBQztRQUM1QyxvQkFBZSxHQUFHLEtBQUssRUFBYyxDQUFDO1FBQ3RDLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLGdCQUFXLEdBQUcsS0FBSyxFQUFZLENBQUM7UUFDaEMsa0JBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUIsYUFBUSxHQUFHLE1BQU0sRUFBVSxDQUFDO1FBRTVCLGVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekIsWUFBTyxHQUFHLFlBQVksQ0FBZ0MsYUFBYSxDQUFDLENBQUM7UUFDckUsc0JBQWlCLEdBQ3RCLFNBQVMsQ0FBQyxRQUFRLENBQTJDLFdBQVcsQ0FBQyxDQUFDO1FBRXJFLG1CQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ25ELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQztZQUN6QixPQUFPLGlCQUFpQixLQUFLLFFBQVEsT0FBTyxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO1FBc0JJLHFCQUFnQixHQUFxQixFQUFFLENBQUM7UUFDeEMscUJBQWdCLEdBQXdCO1lBQzdDO2dCQUNFLE9BQU8sRUFBRSxLQUFLO2dCQUNkLE9BQU8sRUFBRSxLQUFLO2dCQUNkLFFBQVEsRUFBRSxPQUFPO2dCQUNqQixRQUFRLEVBQUUsS0FBSzthQUNoQjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxLQUFLO2dCQUNkLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLFFBQVE7YUFDbkI7U0FDRixDQUFDO1FBRU0sWUFBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQixxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQTJEckQ7SUFoR0MsSUFDYyxjQUFjO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUNjLGFBQWE7UUFDekIsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELCtFQUErRTtJQUV4RSxXQUFXLENBQUMsS0FBaUI7UUFDbEMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQWMsQ0FBQyxDQUFDO1FBQzNGLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFjLENBQUMsQ0FBQztRQUM3RixJQUFJLENBQUMsa0JBQWtCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBd0JNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUNwQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7U0FDN0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxJQUFJLENBQUMsSUFBYztRQUN4QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFYixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQ3JDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUN4RCxDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLENBQUM7WUFDdEMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFdEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbkYscUVBQXFFO1FBQ3JFLElBQUksQ0FBQyxVQUFVLEVBQUUsc0JBQXNCLENBQ3JDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUMxRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxFQUFVO1FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sbUJBQW1CLENBQUMsT0FBMkI7UUFDckQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2hCLFFBQVEsRUFBRTthQUNWLG1CQUFtQixDQUFDLE9BQU8sQ0FBQzthQUM1QixhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDMUMsQ0FBQzs4R0F0SFUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsNitDQzdDcEMsd2xEQStEQSxreUlEM0JJLGNBQWMsd0VBQ2QsWUFBWSxvU0FDWixhQUFhLDhFQUNiLDJCQUEyQiwyRkFDM0IsYUFBYTs7MkZBS0osdUJBQXVCO2tCQWJuQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ1AsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsMkJBQTJCO3dCQUMzQixhQUFhO3FCQUNkOzhCQTRCYSxjQUFjO3NCQUQzQixXQUFXO3VCQUFDLFlBQVk7Z0JBTVgsYUFBYTtzQkFEMUIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBT3RCLFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb25uZWN0ZWRQb3NpdGlvbixcbiAgT3ZlcmxheSxcbiAgT3ZlcmxheU1vZHVsZSxcbiAgT3ZlcmxheVJlZixcbiAgUG9zaXRpb25TdHJhdGVneSxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBjb21wdXRlZCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIG91dHB1dCxcbiAgdmlld0NoaWxkLFxuICB2aWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4uL2JhZGdlJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uJztcbmltcG9ydCB7IE1haW5OYXZpZ2F0aW9uTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL21haW4tbmF2aWdhdGlvbi1tZW51JztcblxuaW1wb3J0IHsgTWVudUl0ZW0sIE5kd0JyYW5kLCBTaW1wbGVNZW51SXRlbSB9IGZyb20gJy4vbWFpbi1uYXZpZ2F0aW9uLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LW1haW4tbmF2aWdhdGlvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBNYWluTmF2aWdhdGlvbk1lbnVDb21wb25lbnQsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21haW4tbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tYWluLW5hdmlnYXRpb24uY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBNYWluTmF2aWdhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwdWJsaWMgYXBwbGljYXRpb25OYW1lID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICBwdWJsaWMgdG9wTWVudUl0ZW1zID0gaW5wdXQucmVxdWlyZWQ8TWVudUl0ZW1bXT4oKTtcbiAgcHVibGljIGJvdHRvbU1lbnVJdGVtcyA9IGlucHV0PE1lbnVJdGVtW10+KCk7XG4gIHB1YmxpYyBicmFuZCA9IGlucHV0KE5kd0JyYW5kLk5EVyk7XG4gIHB1YmxpYyBmb290ZXJUZXh0cyA9IGlucHV0PHN0cmluZ1tdPigpO1xuICBwdWJsaWMgaXNDb2xsYXBzaWJsZSA9IGlucHV0KHRydWUpO1xuXG4gIHB1YmxpYyBzZWxlY3RlZCA9IG91dHB1dDxudW1iZXI+KCk7XG5cbiAgcHVibGljIGlzRXhwYW5kZWQgPSBtb2RlbCh0cnVlKTtcblxuICBwdWJsaWMgYnV0dG9ucyA9IHZpZXdDaGlsZHJlbjxFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50Pj4oJ21lbnVUcmlnZ2VyJyk7XG4gIHB1YmxpYyBjaGlsZE1lbnVUZW1wbGF0ZSA9XG4gICAgdmlld0NoaWxkLnJlcXVpcmVkPFRlbXBsYXRlUmVmPE1haW5OYXZpZ2F0aW9uTWVudUNvbXBvbmVudD4+KCdjaGlsZE1lbnUnKTtcblxuICBwdWJsaWMgYnJhbmRJbWFnZVBhdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgYnJhbmQgPSB0aGlzLmJyYW5kKCkudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCB2YXJpYW50ID0gIXRoaXMuaXNFeHBhbmRlZCgpID8gJy1zaG9ydCcgOiAnJztcbiAgICBjb25zdCBleHRlbnNpb24gPSAnLnN2Zyc7XG4gICAgcmV0dXJuIGBhc3NldHMvaW1hZ2VzLyR7YnJhbmR9LWxvZ28ke3ZhcmlhbnR9JHtleHRlbnNpb259YDtcbiAgfSk7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmJyYW5kJylcbiAgcHJvdGVjdGVkIGdldCBicmFuZEF0dHJpYnV0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmJyYW5kKCkudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZXhwYW5kZWQnKVxuICBwcm90ZWN0ZWQgZ2V0IGV4cGFuZGVkQ2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNFeHBhbmRlZCgpO1xuICB9XG5cbiAgLy8gT25seSBjbG9zZSB0aGUgbWVudSB3aGVuIHRoZSBjdXJzb3IgaXMgbm90IG92ZXIgdGhlIGJ1dHRvbiBvciB0aGUgY2hpbGQgbWVudVxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZW1vdmUnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25Nb3VzZU1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpc0N1cnNvck92ZXJCdXR0b24gPSB0aGlzLmFjdGl2ZUJ1dHRvbj8ubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSk7XG4gICAgY29uc3QgaXNDdXJzb3JPdmVyQ2hpbGRNZW51ID0gdGhpcy5vdmVybGF5UmVmPy5vdmVybGF5RWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSk7XG4gICAgaWYgKCFpc0N1cnNvck92ZXJCdXR0b24gJiYgIWlzQ3Vyc29yT3ZlckNoaWxkTWVudSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhY3RpdmVDaGlsZEl0ZW1zOiBTaW1wbGVNZW51SXRlbVtdID0gW107XG4gIHB1YmxpYyBvdmVybGF5UG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xuICAgIHtcbiAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICB9LFxuICBdO1xuXG4gIHByaXZhdGUgb3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcbiAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXG4gIHByaXZhdGUgYWN0aXZlQnV0dG9uPzogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIHByaXZhdGUgb3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuc2V0UG9zaXRpb25TdHJhdGVneSgpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gIH1cblxuICBwdWJsaWMgb3BlbihpdGVtOiBNZW51SXRlbSk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2UoKTtcblxuICAgIHRoaXMuYWN0aXZlQnV0dG9uID0gdGhpcy5idXR0b25zKCkuZmluZChcbiAgICAgIChidXR0b24pID0+IE51bWJlcihidXR0b24ubmF0aXZlRWxlbWVudC5pZCkgPT09IGl0ZW0uaWQsXG4gICAgKTtcblxuICAgIGlmICghdGhpcy5hY3RpdmVCdXR0b24/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2ZUNoaWxkSXRlbXMgPSBpdGVtLmNoaWxkcmVuO1xuXG4gICAgY29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuY2hpbGRNZW51VGVtcGxhdGUoKSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAvLyBVcGRhdGUgdGhlIHBvc2l0aW9uIHN0cmF0ZWd5IHdpdGggdGhlIGFjdGl2ZSBidXR0b24gYXMgdGhlIHRyaWdnZXJcbiAgICB0aGlzLm92ZXJsYXlSZWY/LnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3koXG4gICAgICB0aGlzLnNldFBvc2l0aW9uU3RyYXRlZ3kodGhpcy5hY3RpdmVCdXR0b24ubmF0aXZlRWxlbWVudCksXG4gICAgKTtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmF0dGFjaChwb3J0YWwpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZVNlbGVjdGVkKGlkOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkLmVtaXQoaWQpO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVWaWV3KCk6IHZvaWQge1xuICAgIHRoaXMuaXNFeHBhbmRlZC5zZXQoIXRoaXMuaXNFeHBhbmRlZCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UG9zaXRpb25TdHJhdGVneSh0cmlnZ2VyPzogSFRNTEJ1dHRvbkVsZW1lbnQpOiBQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICBpZiAoIXRyaWdnZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odHJpZ2dlcilcbiAgICAgIC53aXRoUG9zaXRpb25zKHRoaXMub3ZlcmxheVBvc2l0aW9ucyk7XG4gIH1cbn1cbiIsIjxoZWFkZXI+XG4gIDxpbWcgW3NyY109XCJicmFuZEltYWdlUGF0aCgpXCIgW2FsdF09XCJicmFuZCgpICsgJyBsb2dvJ1wiIC8+XG4gIEBpZiAoaXNFeHBhbmRlZCgpKSB7XG4gICAge3sgYXBwbGljYXRpb25OYW1lKCkgfX1cbiAgfVxuPC9oZWFkZXI+XG48bWFpbj5cbiAgQGZvciAoaXRlbSBvZiB0b3BNZW51SXRlbXMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1lbnVJdGVtOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCIgLz5cbiAgfVxuPC9tYWluPlxuPGZvb3Rlcj5cbiAgQGZvciAoaXRlbSBvZiBib3R0b21NZW51SXRlbXMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1lbnVJdGVtOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCIgLz5cbiAgfVxuICBAaWYgKGlzRXhwYW5kZWQoKSkge1xuICAgIEBmb3IgKHRleHQgb2YgZm9vdGVyVGV4dHMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8cD57eyB0ZXh0IH19PC9wPlxuICAgIH1cbiAgfVxuICBAaWYgKGlzQ29sbGFwc2libGUoKSkge1xuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiY29sbGFwc2UtYnV0dG9uXCJcbiAgICAgIG5kd0J1dHRvblxuICAgICAgbWVudVxuICAgICAgYXJpYS1sYWJlbD1cImV4cGFuZC1idXR0b25cIlxuICAgICAgW25nQ2xhc3NdPVwieyBjb2xsYXBzZWQ6ICFpc0V4cGFuZGVkKCkgfVwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlVmlldygpXCJcbiAgICA+XG4gICAgICA8bmR3LWljb24+a2V5Ym9hcmRfZG91YmxlX2Fycm93X2xlZnQ8L25kdy1pY29uPlxuICAgIDwvYnV0dG9uPlxuICB9XG48L2Zvb3Rlcj5cblxuPCEtLSBUZW1wbGF0ZXMgLS0+XG48bmctdGVtcGxhdGUgI21lbnVJdGVtIGxldC1pdGVtPlxuICA8YnV0dG9uXG4gICAgbmR3QnV0dG9uXG4gICAgbWVudVxuICAgICNtZW51VHJpZ2dlclxuICAgIFtpZF09XCJpdGVtLmlkXCJcbiAgICAoY2xpY2spPVwiaXRlbS5jYWxsYmFjaz8uKGl0ZW0uaWQpXCJcbiAgICAoZm9jdXMpPVwib3BlbihpdGVtKVwiXG4gICAgKG1vdXNlb3Zlcik9XCJvcGVuKGl0ZW0pXCJcbiAgPlxuICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICA8bmR3LWljb24+e3sgaXRlbS5pY29uIH19PC9uZHctaWNvbj5cbiAgICB9XG4gICAgQGlmIChpc0V4cGFuZGVkKCkpIHtcbiAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICB9XG4gICAgQGlmIChpdGVtLm5vdGlmaWNhdGlvbnMpIHtcbiAgICAgIDxuZHctYmFkZ2UgW25nQ2xhc3NdPVwieyBjb2xsYXBzZWQ6ICFpc0V4cGFuZGVkKCkgfVwiIFt2YWx1ZV09XCJpdGVtLm5vdGlmaWNhdGlvbnNcIiAvPlxuICAgIH1cbiAgICBAaWYgKGlzRXhwYW5kZWQoKSAmJiBpdGVtLmNoaWxkcmVuKSB7XG4gICAgICA8bmR3LWljb24gY2xhc3M9XCJzdWZmaXhcIj5hcnJvd19yaWdodDwvbmR3LWljb24+XG4gICAgfVxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY2hpbGRNZW51PlxuICA8bmR3LW1haW4tbmF2aWdhdGlvbi1tZW51IFttZW51SXRlbXNdPVwiYWN0aXZlQ2hpbGRJdGVtc1wiIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tYWluLW5hdmlnYXRpb24vbWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tYWluLW5hdmlnYXRpb24vbWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsT0FBTyxFQUFnQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBRUwsU0FBUyxFQUVULFdBQVcsRUFDWCxZQUFZLEVBR1osZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQVksUUFBUSxFQUFrQixNQUFNLHlCQUF5QixDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7O0FBU3BFLE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUFRUyxvQkFBZSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUMzQyxpQkFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWMsQ0FBQztRQUM1QyxvQkFBZSxHQUFHLEtBQUssRUFBYyxDQUFDO1FBQ3RDLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLGdCQUFXLEdBQUcsS0FBSyxFQUFZLENBQUM7UUFDaEMsa0JBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsWUFBTyxHQUFHLEtB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LFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sbUJBQW1CLENBQUMsT0FBMkI7UUFDckQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2hCLFFBQVEsRUFBRTthQUNWLG1CQUFtQixDQUFDLE9BQU8sQ0FBQzthQUM1QixhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDMUMsQ0FBQzs4R0FwS1UsdUJBQXVCO2tHQUF2Qix1QkFBdUIsa3BFQ2hDcEMseTBGQTZGQTs7MkZEN0RhLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLHVCQUF1Qjs4QkFrQ2xCLGNBQWM7c0JBRDNCLFdBQVc7dUJBQUMsWUFBWTtnQkFNWCxhQUFhO3NCQUQxQixXQUFXO3VCQUFDLGdCQUFnQjtnQkFNZixXQUFXO3NCQUR4QixXQUFXO3VCQUFDLGNBQWM7Z0JBT3BCLFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVXZDLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5LCBPdmVybGF5UmVmLCBQb3NpdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgT25EZXN0cm95LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbiAgdmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWFpbk5hdmlnYXRpb25NZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vbWFpbi1uYXZpZ2F0aW9uLW1lbnUnO1xuXG5pbXBvcnQgeyBNZW51SXRlbSwgTmR3QnJhbmQsIFNpbXBsZU1lbnVJdGVtIH0gZnJvbSAnLi9tYWluLW5hdmlnYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgTUFJTl9OQVZJR0FUSU9OX0lNUE9SVFMgfSBmcm9tICcuL21haW4tbmF2aWdhdGlvbi5pbXBvcnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LW1haW4tbmF2aWdhdGlvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IE1BSU5fTkFWSUdBVElPTl9JTVBPUlRTLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL21haW4tbmF2aWdhdGlvbi5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIE1haW5OYXZpZ2F0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIGFwcGxpY2F0aW9uTmFtZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgcHVibGljIHRvcE1lbnVJdGVtcyA9IGlucHV0LnJlcXVpcmVkPE1lbnVJdGVtW10+KCk7XG4gIHB1YmxpYyBib3R0b21NZW51SXRlbXMgPSBpbnB1dDxNZW51SXRlbVtdPigpO1xuICBwdWJsaWMgYnJhbmQgPSBpbnB1dChOZHdCcmFuZC5ORFcpO1xuICBwdWJsaWMgZm9vdGVyVGV4dHMgPSBpbnB1dDxzdHJpbmdbXT4oKTtcbiAgcHVibGljIGlzQ29sbGFwc2libGUgPSBpbnB1dCh0cnVlKTtcbiAgcHVibGljIHZlcnNpb24gPSBpbnB1dDxzdHJpbmc+KCk7XG4gIC8vIE1vYmlsZSBpbnB1dHNcbiAgcHVibGljIGNsb3NlQnV0dG9uTGFiZWwgPSBpbnB1dCgnU2x1aXQnKTtcbiAgcHVibGljIG1lbnVCdXR0b25MYWJlbCA9IGlucHV0KCdNZW51Jyk7XG5cbiAgcHVibGljIGlzRXhwYW5kZWQgPSBtb2RlbCh0cnVlKTtcbiAgcHVibGljIGlzTW9iaWxlRXhwYW5kZWQgPSBtb2RlbChmYWxzZSk7XG5cbiAgcHVibGljIGJ1dHRvbnMgPSB2aWV3Q2hpbGRyZW48RWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD4+KCdtZW51VHJpZ2dlcicpO1xuICBwdWJsaWMgY2hpbGRNZW51VGVtcGxhdGUgPVxuICAgIHZpZXdDaGlsZC5yZXF1aXJlZDxUZW1wbGF0ZVJlZjxNYWluTmF2aWdhdGlvbk1lbnVDb21wb25lbnQ+PignY2hpbGRNZW51Jyk7XG5cbiAgcHVibGljIGlzTW9iaWxlID0gc2lnbmFsKHdpbmRvdy5pbm5lcldpZHRoIDw9IDEwMjQpO1xuICBwdWJsaWMgYnJhbmRJbWFnZVBhdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgYnJhbmQgPSB0aGlzLmJyYW5kKCkudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCB2YXJpYW50ID0gIXRoaXMuaXNFeHBhbmRlZCgpICYmICF0aGlzLmlzTW9iaWxlKCkgPyAnLXNob3J0JyA6ICcnO1xuICAgIHJldHVybiBgYXNzZXRzL2ltYWdlcy8ke2JyYW5kfS1sb2dvJHt2YXJpYW50fS5zdmdgO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgbW9iaWxlUG9ydGFsPzogVGVtcGxhdGVQb3J0YWw8TWFpbk5hdmlnYXRpb25NZW51Q29tcG9uZW50PjtcbiAgcHJpdmF0ZSBhY3RpdmVJZD86IG51bWJlcjtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYnJhbmQnKVxuICBwcm90ZWN0ZWQgZ2V0IGJyYW5kQXR0cmlidXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYnJhbmQoKS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5leHBhbmRlZCcpXG4gIHByb3RlY3RlZCBnZXQgZXhwYW5kZWRDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0V4cGFuZGVkKCk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1vYmlsZScpXG4gIHByb3RlY3RlZCBnZXQgbW9iaWxlQ2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNNb2JpbGUoKTtcbiAgfVxuXG4gIC8vIE9ubHkgY2xvc2UgdGhlIG1lbnUgd2hlbiB0aGUgY3Vyc29yIGlzIG5vdCBvdmVyIHRoZSBidXR0b24gb3IgdGhlIGNoaWxkIG1lbnVcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2Vtb3ZlJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uTW91c2VNb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgaXNDdXJzb3JPdmVyQnV0dG9uID0gdGhpcy5hY3RpdmVCdXR0b24/Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpO1xuICAgIGNvbnN0IGlzQ3Vyc29yT3ZlckNoaWxkTWVudSA9IHRoaXMub3ZlcmxheVJlZj8ub3ZlcmxheUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpO1xuICAgIGlmICghdGhpcy5tb2JpbGVQb3J0YWwgJiYgIWlzQ3Vyc29yT3ZlckJ1dHRvbiAmJiAhaXNDdXJzb3JPdmVyQ2hpbGRNZW51KSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gIHB1YmxpYyBvbldpbmRvd1Jlc2l6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzTW9iaWxlLnNldCh3aW5kb3cuaW5uZXJXaWR0aCA8PSAxMDI0KTtcbiAgfVxuXG4gIHB1YmxpYyBhY3RpdmVDaGlsZEl0ZW1zOiBTaW1wbGVNZW51SXRlbVtdID0gW107XG4gIHB1YmxpYyBvdmVybGF5UG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xuICAgIHtcbiAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICB9LFxuICBdO1xuXG4gIHByaXZhdGUgb3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcbiAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXG4gIHByaXZhdGUgYWN0aXZlQnV0dG9uPzogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIHByaXZhdGUgb3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuc2V0UG9zaXRpb25TdHJhdGVneSgpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubW9iaWxlUG9ydGFsPy5kZXRhY2goKTtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSh0b2dnbGVNb2JpbGVWaWV3PzogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlQ2hpbGRJdGVtcyA9IFtdO1xuICAgIHRoaXMuaXNNb2JpbGUoKSA/IHRoaXMubW9iaWxlUG9ydGFsPy5kZXRhY2goKSA6IHRoaXMub3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gICAgdG9nZ2xlTW9iaWxlVmlldyAmJiB0aGlzLnRvZ2dsZU1vYmlsZVZpZXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVDbGljayhpdGVtOiBNZW51SXRlbSk6IHZvaWQge1xuICAgIGl0ZW0uY2FsbGJhY2s/LihpdGVtLmlkKTtcbiAgICBpZiAoIWl0ZW0uY2hpbGRyZW4gJiYgdGhpcy5pc01vYmlsZSgpKSB7XG4gICAgICB0aGlzLnRvZ2dsZU1vYmlsZVZpZXcoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlTG9nb0NsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuaXNNb2JpbGVFeHBhbmRlZC5zZXQoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIG9wZW4oaXRlbTogTWVudUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZUlkID0gaXRlbS5pZDtcbiAgICBpZiAoIXRoaXMuaXNNb2JpbGUoKSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlQnV0dG9uID0gdGhpcy5idXR0b25zKCkuZmluZChcbiAgICAgIChidXR0b24pID0+IE51bWJlcihidXR0b24ubmF0aXZlRWxlbWVudC5pZCkgPT09IGl0ZW0uaWQsXG4gICAgKTtcblxuICAgIGlmICghdGhpcy5hY3RpdmVCdXR0b24/Lm5hdGl2ZUVsZW1lbnQgfHwgIWl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2ZUNoaWxkSXRlbXMgPSBpdGVtLmNoaWxkcmVuO1xuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLmNoaWxkTWVudVRlbXBsYXRlKCksIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgaWYgKHRoaXMuaXNNb2JpbGUoKSkge1xuICAgICAgdGhpcy5tb2JpbGVQb3J0YWwgPSBwb3J0YWw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5tb2JpbGVQb3J0YWwgPSB1bmRlZmluZWQ7XG5cbiAgICAvLyBVcGRhdGUgdGhlIHBvc2l0aW9uIHN0cmF0ZWd5IHdpdGggdGhlIGFjdGl2ZSBidXR0b24gYXMgdGhlIHRyaWdnZXJcbiAgICB0aGlzLm92ZXJsYXlSZWY/LnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3koXG4gICAgICB0aGlzLnNldFBvc2l0aW9uU3RyYXRlZ3kodGhpcy5hY3RpdmVCdXR0b24ubmF0aXZlRWxlbWVudCksXG4gICAgKTtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmF0dGFjaChwb3J0YWwpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZUNoaWxkTWVudShpdGVtOiBNZW51SXRlbSwgZXZlbnQ/OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50ICYmIGV2ZW50Py5rZXkgIT09ICdFbnRlcicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm1vYmlsZVBvcnRhbD8uaXNBdHRhY2hlZCAmJiB0aGlzLmFjdGl2ZUlkID09PSBpdGVtLmlkID8gdGhpcy5jbG9zZSgpIDogdGhpcy5vcGVuKGl0ZW0pO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZU1vYmlsZVZpZXcoKTogdm9pZCB7XG4gICAgdGhpcy5pc01vYmlsZUV4cGFuZGVkLnNldCghdGhpcy5pc01vYmlsZUV4cGFuZGVkKCkpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZVZpZXcoKTogdm9pZCB7XG4gICAgdGhpcy5pc0V4cGFuZGVkLnNldCghdGhpcy5pc0V4cGFuZGVkKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQb3NpdGlvblN0cmF0ZWd5KHRyaWdnZXI/OiBIVE1MQnV0dG9uRWxlbWVudCk6IFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgIGlmICghdHJpZ2dlcikge1xuICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0cmlnZ2VyKVxuICAgICAgLndpdGhQb3NpdGlvbnModGhpcy5vdmVybGF5UG9zaXRpb25zKTtcbiAgfVxufVxuIiwiPGhlYWRlcj5cbiAgPGEgcm91dGVyTGluaz1cIi9cIiAoY2xpY2spPVwiaGFuZGxlTG9nb0NsaWNrKClcIiAoa2V5ZG93bik9XCJoYW5kbGVMb2dvQ2xpY2soKVwiPlxuICAgIDxpbWcgW3NyY109XCJicmFuZEltYWdlUGF0aCgpXCIgW2FsdF09XCJicmFuZCgpICsgJyBsb2dvJ1wiIC8+XG4gICAgQGlmIChpc0V4cGFuZGVkKCkgfHwgaXNNb2JpbGUoKSkge1xuICAgICAge3sgYXBwbGljYXRpb25OYW1lKCkgfX1cbiAgICB9XG4gIDwvYT5cbiAgPGJ1dHRvbiBuZHdCdXR0b24gY2xhc3M9XCJtZW51LWJ1dHRvblwiIGFyaWEtbGFiZWw9XCJtZW51LWJ1dHRvblwiIChjbGljayk9XCJ0b2dnbGVNb2JpbGVWaWV3KClcIj5cbiAgICBAaWYgKCFpc01vYmlsZUV4cGFuZGVkKCkpIHtcbiAgICAgIHt7IG1lbnVCdXR0b25MYWJlbCgpIH19XG4gICAgICA8bmR3LWljb24+bWVudTwvbmR3LWljb24+XG4gICAgfSBAZWxzZSB7XG4gICAgICB7eyBjbG9zZUJ1dHRvbkxhYmVsKCkgfX1cbiAgICAgIDxuZHctaWNvbj5jbG9zZTwvbmR3LWljb24+XG4gICAgfVxuICA8L2J1dHRvbj5cbjwvaGVhZGVyPlxuPGRpdiBjbGFzcz1cImNvbnRlbnRcIiBbbmdDbGFzc109XCJ7IGV4cGFuZGVkOiBpc01vYmlsZUV4cGFuZGVkKCkgfVwiPlxuICA8bWFpbj5cbiAgICA8ZGl2IGNsYXNzPVwibWVudS1pdGVtc1wiPlxuICAgICAgQGZvciAoaXRlbSBvZiB0b3BNZW51SXRlbXMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZW51SXRlbTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiIC8+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvbWFpbj5cbiAgPGZvb3Rlcj5cbiAgICA8ZGl2IGNsYXNzPVwibWVudS1pdGVtc1wiPlxuICAgICAgQGZvciAoaXRlbSBvZiBib3R0b21NZW51SXRlbXMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZW51SXRlbTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiIC8+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRleHRzXCI+XG4gICAgICBAaWYgKGlzRXhwYW5kZWQoKSB8fCBpc01vYmlsZSgpKSB7XG4gICAgICAgIEBmb3IgKHRleHQgb2YgZm9vdGVyVGV4dHMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPHA+e3sgdGV4dCB9fTwvcD5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ2ZXJzaW9uXCI+XG4gICAgICA8cD57eyB2ZXJzaW9uKCkgfX08L3A+XG4gICAgICBAaWYgKGlzQ29sbGFwc2libGUoKSkge1xuICAgICAgICA8YnV0dG9uIG5kd0J1dHRvbiBtZW51IGFyaWEtbGFiZWw9XCJleHBhbmQtYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVZpZXcoKVwiPlxuICAgICAgICAgIDxuZHctaWNvbj5rZXlib2FyZF9kb3VibGVfYXJyb3dfcmlnaHQ8L25kdy1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9mb290ZXI+XG48L2Rpdj5cblxuPCEtLSBUZW1wbGF0ZXMgLS0+XG48bmctdGVtcGxhdGUgI21lbnVJdGVtIGxldC1pdGVtPlxuICA8YnV0dG9uXG4gICAgbmR3QnV0dG9uXG4gICAgbWVudVxuICAgICNtZW51VHJpZ2dlclxuICAgIFthdHRyLmFjdGl2ZV09XCIoaXNNb2JpbGUoKSAmJiBhY3RpdmVDaGlsZEl0ZW1zID09PSBpdGVtLmNoaWxkcmVuKSB8fCB1bmRlZmluZWRcIlxuICAgIFtpZF09XCJpdGVtLmlkXCJcbiAgICBbbmR3VG9vbHRpcF09XCIhaXNFeHBhbmRlZCgpICYmICFpc01vYmlsZSgpID8gaXRlbS5sYWJlbCA6ICcnXCJcbiAgICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soaXRlbSlcIlxuICAgIChmb2N1cyk9XCIhaXNNb2JpbGUoKSAmJiBvcGVuKGl0ZW0pXCJcbiAgICAoa2V5ZG93bik9XCJpc01vYmlsZSgpICYmIHRvZ2dsZUNoaWxkTWVudShpdGVtLCAkZXZlbnQpXCJcbiAgICAobW91c2Vkb3duKT1cImlzTW9iaWxlKCkgJiYgdG9nZ2xlQ2hpbGRNZW51KGl0ZW0pXCJcbiAgICAobW91c2VvdmVyKT1cIiFpc01vYmlsZSgpICYmIG9wZW4oaXRlbSlcIlxuICA+XG4gICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgIDxuZHctaWNvbj57eyBpdGVtLmljb24gfX08L25kdy1pY29uPlxuICAgIH1cbiAgICBAaWYgKGlzRXhwYW5kZWQoKSB8fCBpc01vYmlsZSgpKSB7XG4gICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgfVxuICAgIEBpZiAoaXRlbS5ub3RpZmljYXRpb25zKSB7XG4gICAgICA8bmR3LWJhZGdlIFtuZ0NsYXNzXT1cInsgY29sbGFwc2VkOiAhaXNFeHBhbmRlZCgpIH1cIiBbdmFsdWVdPVwiaXRlbS5ub3RpZmljYXRpb25zXCIgLz5cbiAgICB9XG4gICAgQGlmIChpc0V4cGFuZGVkKCkgJiYgaXRlbS5jaGlsZHJlbikge1xuICAgICAgPG5kdy1pY29uXG4gICAgICAgIGNsYXNzPVwic3VmZml4XCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyBvcGVuOiAhIW1vYmlsZVBvcnRhbCAmJiBhY3RpdmVDaGlsZEl0ZW1zID09PSBpdGVtLmNoaWxkcmVuIH1cIlxuICAgICAgICA+YXJyb3dfcmlnaHQ8L25kdy1pY29uXG4gICAgICA+XG4gICAgfVxuICA8L2J1dHRvbj5cbiAgQGlmIChhY3RpdmVDaGlsZEl0ZW1zID09PSBpdGVtLmNoaWxkcmVuKSB7XG4gICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwibW9iaWxlUG9ydGFsXCIgLz5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjaGlsZE1lbnU+XG4gIDxuZHctbWFpbi1uYXZpZ2F0aW9uLW1lbnVcbiAgICBbaXNNb2JpbGVdPVwiaXNNb2JpbGUoKVwiXG4gICAgW21lbnVJdGVtc109XCJhY3RpdmVDaGlsZEl0ZW1zXCJcbiAgICAoY2xvc2UpPVwiY2xvc2UodHJ1ZSlcIlxuICAvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { OverlayModule } from '@angular/cdk/overlay';
2
+ import { CdkPortalOutlet } from '@angular/cdk/portal';
3
+ import { NgClass, NgTemplateOutlet } from '@angular/common';
4
+ import { RouterLink } from '@angular/router';
5
+ import { BadgeComponent } from '../badge';
6
+ import { IconComponent } from '../icon';
7
+ import { MainNavigationMenuComponent } from '../main-navigation-menu';
8
+ import { TooltipDirective } from '../tooltip';
9
+ export const MAIN_NAVIGATION_IMPORTS = [
10
+ BadgeComponent,
11
+ CdkPortalOutlet,
12
+ IconComponent,
13
+ MainNavigationMenuComponent,
14
+ NgClass,
15
+ NgTemplateOutlet,
16
+ OverlayModule,
17
+ RouterLink,
18
+ TooltipDirective,
19
+ ];
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1uYXZpZ2F0aW9uLmltcG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvbWFpbi1uYXZpZ2F0aW9uL21haW4tbmF2aWdhdGlvbi5pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHO0lBQ3JDLGNBQWM7SUFDZCxlQUFlO0lBQ2YsYUFBYTtJQUNiLDJCQUEyQjtJQUMzQixPQUFPO0lBQ1AsZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixVQUFVO0lBQ1YsZ0JBQWdCO0NBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ2RrUG9ydGFsT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4uL2JhZGdlJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uJztcbmltcG9ydCB7IE1haW5OYXZpZ2F0aW9uTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL21haW4tbmF2aWdhdGlvbi1tZW51JztcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLi90b29sdGlwJztcblxuZXhwb3J0IGNvbnN0IE1BSU5fTkFWSUdBVElPTl9JTVBPUlRTID0gW1xuICBCYWRnZUNvbXBvbmVudCxcbiAgQ2RrUG9ydGFsT3V0bGV0LFxuICBJY29uQ29tcG9uZW50LFxuICBNYWluTmF2aWdhdGlvbk1lbnVDb21wb25lbnQsXG4gIE5nQ2xhc3MsXG4gIE5nVGVtcGxhdGVPdXRsZXQsXG4gIE92ZXJsYXlNb2R1bGUsXG4gIFJvdXRlckxpbmssXG4gIFRvb2x0aXBEaXJlY3RpdmUsXG5dO1xuIl19