@ndwnu/design-system 1.1.0 → 2.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 (100) hide show
  1. package/components/accordion/accordion.component.d.ts +1 -0
  2. package/components/alert/alert.component.d.ts +18 -2
  3. package/components/alert/alert.model.d.ts +1 -0
  4. package/components/badge/badge.component.d.ts +8 -1
  5. package/components/card/card-footer/card-footer.component.d.ts +0 -1
  6. package/components/card/card-header/card-header.component.d.ts +0 -3
  7. package/components/card/card.component.d.ts +2 -8
  8. package/components/card/index.d.ts +3 -1
  9. package/components/collapsible/collapsible.component.d.ts +4 -3
  10. package/components/dropdown/dropdown.component.d.ts +5 -5
  11. package/components/form-field/checkbox/checkbox.component.d.ts +0 -1
  12. package/components/form-field/file-upload/file-upload-text.interface.d.ts +4 -0
  13. package/components/form-field/file-upload/file-upload.component.d.ts +44 -0
  14. package/components/form-field/file-upload/index.d.ts +2 -0
  15. package/components/form-field/form-field.component.d.ts +8 -2
  16. package/components/form-field/index.d.ts +3 -0
  17. package/components/form-field/input/input.directive.d.ts +1 -0
  18. package/components/form-field/option-group/index.d.ts +2 -0
  19. package/components/form-field/option-group/option-group.component.d.ts +18 -0
  20. package/components/form-field/option-group/option.component.d.ts +8 -0
  21. package/components/form-field/radio-button/radio-button.component.d.ts +0 -4
  22. package/components/form-field/radio-group/radio-group.component.d.ts +1 -1
  23. package/components/form-field/textarea/auto-grow.directive.d.ts +19 -0
  24. package/components/form-field/textarea/index.d.ts +1 -0
  25. package/components/icon/action-icon/action-icon.component.d.ts +33 -0
  26. package/components/icon/icon.component.d.ts +4 -6
  27. package/components/icon/index.d.ts +1 -0
  28. package/components/index.d.ts +1 -0
  29. package/components/main-navigation/main-navigation.component.d.ts +2 -1
  30. package/components/modal/index.d.ts +7 -1
  31. package/components/modal/modal-content/index.d.ts +1 -0
  32. package/components/modal/modal-content/modal-content.component.d.ts +5 -0
  33. package/components/modal/modal-footer/index.d.ts +1 -0
  34. package/components/modal/modal-footer/modal-footer.component.d.ts +5 -0
  35. package/components/modal/modal-header/index.d.ts +1 -0
  36. package/components/modal/modal-header/modal-header.component.d.ts +7 -0
  37. package/components/modal/modal.component.d.ts +11 -0
  38. package/components/modal/modal.service.d.ts +0 -1
  39. package/components/multi-select/multi-select.component.d.ts +6 -5
  40. package/components/pill/pill.component.d.ts +8 -0
  41. package/components/removable-pill/removable-pill.component.d.ts +9 -2
  42. package/components/toast/index.d.ts +2 -0
  43. package/components/toast/toast.component.d.ts +18 -0
  44. package/components/toast/toast.service.d.ts +12 -0
  45. package/components/tooltip/tooltip.directive.d.ts +4 -0
  46. package/core/styles/ndw-styles.scss +99 -31
  47. package/core/styles/nwb-styles.scss +99 -31
  48. package/esm2022/components/accordion/accordion.component.mjs +9 -5
  49. package/esm2022/components/accordion/accordion.service.mjs +3 -6
  50. package/esm2022/components/alert/alert.component.mjs +28 -4
  51. package/esm2022/components/alert/alert.model.mjs +1 -1
  52. package/esm2022/components/badge/badge.component.mjs +10 -3
  53. package/esm2022/components/breadcrumb-group/breadcrumb-group.component.mjs +3 -3
  54. package/esm2022/components/card/card-footer/card-footer.component.mjs +1 -4
  55. package/esm2022/components/card/card-header/card-header.component.mjs +4 -12
  56. package/esm2022/components/card/card.component.mjs +5 -22
  57. package/esm2022/components/card/index.mjs +12 -2
  58. package/esm2022/components/collapsible/collapsible.component.mjs +6 -13
  59. package/esm2022/components/dropdown/dropdown.component.mjs +8 -9
  60. package/esm2022/components/form-field/checkbox/checkbox.component.mjs +8 -17
  61. package/esm2022/components/form-field/error/error.component.mjs +3 -3
  62. package/esm2022/components/form-field/file-upload/file-upload-text.interface.mjs +2 -0
  63. package/esm2022/components/form-field/file-upload/file-upload.component.mjs +210 -0
  64. package/esm2022/components/form-field/file-upload/index.mjs +3 -0
  65. package/esm2022/components/form-field/form-field.component.mjs +30 -5
  66. package/esm2022/components/form-field/index.mjs +4 -1
  67. package/esm2022/components/form-field/info/info.component.mjs +2 -2
  68. package/esm2022/components/form-field/input/input.directive.mjs +5 -3
  69. package/esm2022/components/form-field/option-group/index.mjs +3 -0
  70. package/esm2022/components/form-field/option-group/option-group.component.mjs +53 -0
  71. package/esm2022/components/form-field/option-group/option.component.mjs +22 -0
  72. package/esm2022/components/form-field/radio-button/radio-button.component.mjs +8 -35
  73. package/esm2022/components/form-field/radio-group/radio-group.component.mjs +4 -6
  74. package/esm2022/components/form-field/textarea/auto-grow.directive.mjs +45 -0
  75. package/esm2022/components/form-field/textarea/index.mjs +2 -0
  76. package/esm2022/components/icon/action-icon/action-icon.component.mjs +39 -0
  77. package/esm2022/components/icon/icon.component.mjs +10 -24
  78. package/esm2022/components/icon/index.mjs +2 -1
  79. package/esm2022/components/index.mjs +2 -1
  80. package/esm2022/components/main-navigation/main-navigation.component.mjs +4 -3
  81. package/esm2022/components/modal/index.mjs +18 -2
  82. package/esm2022/components/modal/modal-content/index.mjs +2 -0
  83. package/esm2022/components/modal/modal-content/modal-content.component.mjs +11 -0
  84. package/esm2022/components/modal/modal-footer/index.mjs +2 -0
  85. package/esm2022/components/modal/modal-footer/modal-footer.component.mjs +11 -0
  86. package/esm2022/components/modal/modal-header/index.mjs +2 -0
  87. package/esm2022/components/modal/modal-header/modal-header.component.mjs +19 -0
  88. package/esm2022/components/modal/modal.component.mjs +32 -0
  89. package/esm2022/components/modal/modal.service.mjs +5 -10
  90. package/esm2022/components/multi-select/multi-select.component.mjs +10 -8
  91. package/esm2022/components/pill/pill.component.mjs +17 -4
  92. package/esm2022/components/removable-pill/removable-pill.component.mjs +13 -11
  93. package/esm2022/components/toast/index.mjs +3 -0
  94. package/esm2022/components/toast/toast.component.mjs +74 -0
  95. package/esm2022/components/toast/toast.service.mjs +43 -0
  96. package/esm2022/components/tooltip/tooltip.component.mjs +5 -3
  97. package/esm2022/components/tooltip/tooltip.directive.mjs +43 -18
  98. package/fesm2022/ndwnu-design-system.mjs +884 -334
  99. package/fesm2022/ndwnu-design-system.mjs.map +1 -1
  100. 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,39 @@
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
+ /**
7
+ * Used to give meaning to the button, used by screen readers.
8
+ */
9
+ this.ariaLabel = input.required();
10
+ /**
11
+ * Color scheme of the ActionIcon, available `primary`, `link`,
12
+ * `grey` and `white` (defaults to primary).
13
+ */
14
+ this.variant = input('primary');
15
+ /**
16
+ * Specify button type, defaults to `button`
17
+ */
18
+ this.buttonType = input('button');
19
+ /**
20
+ * Disables the button, defaults to `false`.
21
+ */
22
+ this.disabled = input(false);
23
+ /**
24
+ * Sets the size of the button, defaults to `md`.
25
+ */
26
+ this.size = input('md');
27
+ /**
28
+ * Event emitted when the button is clicked.
29
+ */
30
+ this.onClick = output();
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ActionIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ 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 }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ActionIconComponent, decorators: [{
36
+ type: Component,
37
+ 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"] }]
38
+ }] });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2ljb24vYWN0aW9uLWljb24vYWN0aW9uLWljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2ljb24vYWN0aW9uLWljb24vYWN0aW9uLWljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLEVBQVksTUFBTSxtQkFBbUIsQ0FBQzs7QUFhNUQsTUFBTSxPQUFPLG1CQUFtQjtJQVJoQztRQVNFOztXQUVHO1FBQ0ksY0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUU1Qzs7O1dBR0c7UUFDSSxZQUFPLEdBQUcsS0FBSyxDQUFjLFNBQVMsQ0FBQyxDQUFDO1FBRS9DOztXQUVHO1FBQ0ksZUFBVSxHQUFHLEtBQUssQ0FBYSxRQUFRLENBQUMsQ0FBQztRQUVoRDs7V0FFRztRQUNJLGFBQVEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFeEM7O1dBRUc7UUFDSSxTQUFJLEdBQUcsS0FBSyxDQUFXLElBQUksQ0FBQyxDQUFDO1FBRXBDOztXQUVHO1FBQ2EsWUFBTyxHQUFHLE1BQU0sRUFBUSxDQUFDO0tBQzFDOzhHQS9CWSxtQkFBbUI7a0dBQW5CLG1CQUFtQixzdkJDZGhDLDJRQVNBLG8rQkRBWSxhQUFhOzsyRkFLWixtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsYUFBYSxDQUFDLG1CQUdQLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50LCBJY29uU2l6ZSB9IGZyb20gJy4uL2ljb24uY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgQnV0dG9uVHlwZSA9ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnO1xuZXhwb3J0IHR5cGUgSWNvblZhcmlhbnQgPSAncHJpbWFyeScgfCAnbGluaycgfCAnZ3JleScgfCAnd2hpdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZHctYWN0aW9uLWljb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24taWNvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hY3Rpb24taWNvbi5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25JY29uQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFVzZWQgdG8gZ2l2ZSBtZWFuaW5nIHRvIHRoZSBidXR0b24sIHVzZWQgYnkgc2NyZWVuIHJlYWRlcnMuXG4gICAqL1xuICBwdWJsaWMgYXJpYUxhYmVsID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBDb2xvciBzY2hlbWUgb2YgdGhlIEFjdGlvbkljb24sIGF2YWlsYWJsZSBgcHJpbWFyeWAsIGBsaW5rYCxcbiAgICogYGdyZXlgIGFuZCBgd2hpdGVgIChkZWZhdWx0cyB0byBwcmltYXJ5KS5cbiAgICovXG4gIHB1YmxpYyB2YXJpYW50ID0gaW5wdXQ8SWNvblZhcmlhbnQ+KCdwcmltYXJ5Jyk7XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgYnV0dG9uIHR5cGUsIGRlZmF1bHRzIHRvIGBidXR0b25gXG4gICAqL1xuICBwdWJsaWMgYnV0dG9uVHlwZSA9IGlucHV0PEJ1dHRvblR5cGU+KCdidXR0b24nKTtcblxuICAvKipcbiAgICogRGlzYWJsZXMgdGhlIGJ1dHRvbiwgZGVmYXVsdHMgdG8gYGZhbHNlYC5cbiAgICovXG4gIHB1YmxpYyBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgc2l6ZSBvZiB0aGUgYnV0dG9uLCBkZWZhdWx0cyB0byBgbWRgLlxuICAgKi9cbiAgcHVibGljIHNpemUgPSBpbnB1dDxJY29uU2l6ZT4oJ21kJyk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb25DbGljayA9IG91dHB1dDx2b2lkPigpO1xufVxuIiwiPGJ1dHRvblxuICBjbGFzcz1cIm5kdy1hY3Rpb24taWNvbiBuZHctYWN0aW9uLWljb24tLXt7IHZhcmlhbnQoKSB9fVwiXG4gIFt0eXBlXT1cImJ1dHRvblR5cGUoKVwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsKClcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gIChjbGljayk9XCJvbkNsaWNrLmVtaXQoKVwiXG4+XG4gIDxuZHctaWNvbiBbc2l6ZV09XCJzaXplKClcIj48bmctY29udGVudCAvPjwvbmR3LWljb24+XG48L2J1dHRvbj5cbiJdfQ==
@@ -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,17 @@ 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", "aria-role": "img" }, 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
+ 'aria-role': 'img',
27
+ }, 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"] }]
28
+ }], propDecorators: { hostClass: [{
34
29
  type: HostBinding,
35
30
  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
31
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7QUFhdkIsTUFBTSxPQUFPLGFBQWE7SUFYMUI7UUFZbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXZDLGdCQUFXLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBR3hCLGNBQVMsR0FBRywwQkFBMEIsQ0FBQztLQXVCbEQ7SUFyQkMsSUFDYyxnQkFBZ0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQ2MsSUFBSTtRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQ2MsUUFBUTtRQUNwQixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sUUFBUTtRQUNiLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzFDLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUN4RCxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDcEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLEdBQUcsYUFBYSxDQUFDLENBQUM7SUFDekUsQ0FBQzs4R0E3QlUsYUFBYTtrR0FBYixhQUFhLG1hQ3RCMUIsa0JBQ0E7OzJGRHFCYSxhQUFhO2tCQVh6QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBQ1AsRUFBRSxtQkFHTSx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLFlBQVksRUFBRSxVQUFVO3FCQUN6Qjs4QkFTUyxTQUFTO3NCQURsQixXQUFXO3VCQUFDLE9BQU87Z0JBSU4sZ0JBQWdCO3NCQUQ3QixXQUFXO3VCQUFDLG1CQUFtQjtnQkFNbEIsSUFBSTtzQkFEakIsV0FBVzt1QkFBQyxXQUFXO2dCQU1WLFFBQVE7c0JBRHJCLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1pY29uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2ljb24uY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdhcmlhLWxhYmVsJzogJ05EVyBpY29uJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gIHB1YmxpYyBpbnRlcmFjdGl2ZSA9IGlucHV0KGZhbHNlKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHJvdGVjdGVkIGljb25DbGFzcyA9ICdtYXRlcmlhbC1zeW1ib2xzLXJvdW5kZWQnO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaW50ZXJhY3RpdmUnKVxuICBwcm90ZWN0ZWQgZ2V0IGludGVyYWN0aXZlQ2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJhY3RpdmUoKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgcHJvdGVjdGVkIGdldCByb2xlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJhY3RpdmUoKSA/ICdidXR0b24nIDogJ2ltZyc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICBwcm90ZWN0ZWQgZ2V0IHRhYkluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJhY3RpdmUoKSA/IDAgOiAtMTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IG5hdGl2ZUVsZW1lbnQgfSA9IHRoaXMuZWxlbWVudFJlZjtcbiAgICBjb25zdCBoZWlnaHQgPSBnZXRDb21wdXRlZFN0eWxlKG5hdGl2ZUVsZW1lbnQpLmZvbnRTaXplO1xuICAgIGNvbnN0IHBhZGRpbmdJbmxpbmUgPSBnZXRDb21wdXRlZFN0eWxlKG5hdGl2ZUVsZW1lbnQpLnBhZGRpbmdJbmxpbmU7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShuYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBoZWlnaHQgKyBwYWRkaW5nSW5saW5lKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgLz5cbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7QUFpQnZCLE1BQU0sT0FBTyxhQUFhO0lBYjFCO1FBY1MsU0FBSSxHQUFHLEtBQUssQ0FBVyxJQUFJLENBQUMsQ0FBQztRQUVuQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7S0FhL0M7SUFYQyxJQUNXLFNBQVM7UUFDbEIsT0FBTyxTQUFTLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxRQUFRO1FBQ2IsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDMUMsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ3hELE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUNwRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sR0FBRyxhQUFhLENBQUMsQ0FBQztJQUN6RSxDQUFDOzhHQWhCVSxhQUFhO2tHQUFiLGFBQWEsaVdDMUIxQixrQkFDQTs7MkZEeUJhLGFBQWE7a0JBYnpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUCxFQUFFLG1CQUdNLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osS0FBSyxFQUFFLDBCQUEwQjt3QkFDakMsYUFBYSxFQUFFLE1BQU07d0JBQ3JCLFdBQVcsRUFBRSxLQUFLO3FCQUNuQjs4QkFTVSxTQUFTO3NCQURuQixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBJY29uU2l6ZSA9ICdzbScgfCAnbWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZHctaWNvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtdLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ21hdGVyaWFsLXN5bWJvbHMtcm91bmRlZCcsXG4gICAgJ2FyaWEtaGlkZGVuJzogJ3RydWUnLFxuICAgICdhcmlhLXJvbGUnOiAnaW1nJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBzaXplID0gaW5wdXQ8SWNvblNpemU+KCdtZCcpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwdWJsaWMgZ2V0IGhvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgaWNvbi0tJHt0aGlzLnNpemUoKX1gO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHsgbmF0aXZlRWxlbWVudCB9ID0gdGhpcy5lbGVtZW50UmVmO1xuICAgIGNvbnN0IGhlaWdodCA9IGdldENvbXB1dGVkU3R5bGUobmF0aXZlRWxlbWVudCkuZm9udFNpemU7XG4gICAgY29uc3QgcGFkZGluZ0lubGluZSA9IGdldENvbXB1dGVkU3R5bGUobmF0aXZlRWxlbWVudCkucGFkZGluZ0lubGluZTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKG5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGhlaWdodCArIHBhZGRpbmdJbmxpbmUpO1xuICB9XG59XG4iLCI8bmctY29udGVudCAvPlxuIl19
@@ -1,2 +1,3 @@
1
1
  export * from './icon.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaWNvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pY29uLmNvbXBvbmVudCc7XG4iXX0=
2
+ export * from './action-icon/action-icon.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaWNvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMscUNBQXFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLWljb24vYWN0aW9uLWljb24uY29tcG9uZW50JztcbiJdfQ==
@@ -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==
@@ -16,6 +16,7 @@ export class MainNavigationComponent {
16
16
  this.brand = input(NdwBrand.NDW);
17
17
  this.footerTexts = input();
18
18
  this.isCollapsible = input(true);
19
+ this.version = input();
19
20
  this.selected = output();
20
21
  this.isExpanded = model(true);
21
22
  this.buttons = viewChildren('menuTrigger');
@@ -98,7 +99,7 @@ export class MainNavigationComponent {
98
99
  .withPositions(this.overlayPositions);
99
100
  }
100
101
  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 }] }); }
102
+ 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 }, 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 <div class=\"texts\">\n @if (isExpanded()) {\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\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-width: 2.75rem;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-start:var(--ndw-spacing-lg);width:var(--main-navigation-collapse-width)}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:1rem}main [ndwButton],footer [ndwButton]{justify-content:center}main [ndwButton] ndw-badge,footer [ndwButton] ndw-badge{margin-left:var(--ndw-spacing-2xs);position:absolute;right:.375rem;top:.375rem}main [ndwButton] .suffix,footer [ndwButton] .suffix{position:absolute;right:var(--ndw-spacing-sm)}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)}footer .texts p{margin:auto;text-align:center}footer .version{align-items:center;display:grid;grid-template-columns:1fr}footer .version p{display:none;font-size:var(--ndw-font-size-2xs);padding-left:var(--main-navigation-collapse-width);text-align:center}:host(.expanded){width:12.5rem}:host(.expanded) header{justify-content:flex-start;padding-inline:var(--ndw-spacing-md)}:host(.expanded) header img{width:4rem}:host(.expanded) main>[ndwButton],:host(.expanded) footer>[ndwButton]{justify-content:flex-start;padding-inline:var(--ndw-spacing-md)}:host(.expanded) main>[ndwButton] ndw-badge,:host(.expanded) footer>[ndwButton] ndw-badge{position:relative;right:auto;top:auto}:host(.expanded) footer{position:relative}:host(.expanded) footer .version{grid-template-columns:1fr var(--main-navigation-collapse-width)}:host(.expanded) footer .version p{display:block}:host(.expanded) 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}\n"], dependencies: [{ kind: "component", type: BadgeComponent, selector: "ndw-badge", inputs: ["value", "ariaLabel"] }, { 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: ["size"] }, { kind: "component", type: MainNavigationMenuComponent, selector: "ndw-main-navigation-menu", inputs: ["menuItems"] }, { kind: "ngmodule", type: OverlayModule }] }); }
102
103
  }
103
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: MainNavigationComponent, decorators: [{
104
105
  type: Component,
@@ -108,7 +109,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
108
109
  IconComponent,
109
110
  MainNavigationMenuComponent,
110
111
  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"] }]
112
+ ], 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 <div class=\"texts\">\n @if (isExpanded()) {\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\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-width: 2.75rem;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-start:var(--ndw-spacing-lg);width:var(--main-navigation-collapse-width)}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:1rem}main [ndwButton],footer [ndwButton]{justify-content:center}main [ndwButton] ndw-badge,footer [ndwButton] ndw-badge{margin-left:var(--ndw-spacing-2xs);position:absolute;right:.375rem;top:.375rem}main [ndwButton] .suffix,footer [ndwButton] .suffix{position:absolute;right:var(--ndw-spacing-sm)}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)}footer .texts p{margin:auto;text-align:center}footer .version{align-items:center;display:grid;grid-template-columns:1fr}footer .version p{display:none;font-size:var(--ndw-font-size-2xs);padding-left:var(--main-navigation-collapse-width);text-align:center}:host(.expanded){width:12.5rem}:host(.expanded) header{justify-content:flex-start;padding-inline:var(--ndw-spacing-md)}:host(.expanded) header img{width:4rem}:host(.expanded) main>[ndwButton],:host(.expanded) footer>[ndwButton]{justify-content:flex-start;padding-inline:var(--ndw-spacing-md)}:host(.expanded) main>[ndwButton] ndw-badge,:host(.expanded) footer>[ndwButton] ndw-badge{position:relative;right:auto;top:auto}:host(.expanded) footer{position:relative}:host(.expanded) footer .version{grid-template-columns:1fr var(--main-navigation-collapse-width)}:host(.expanded) footer .version p{display:block}:host(.expanded) 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}\n"] }]
112
113
  }], propDecorators: { brandAttribute: [{
113
114
  type: HostBinding,
114
115
  args: ['attr.brand']
@@ -119,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
119
120
  type: HostListener,
120
121
  args: ['document:mousemove', ['$event']]
121
122
  }] } });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tYWluLW5hdmlnYXRpb24vbWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tYWluLW5hdmlnYXRpb24vbWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxPQUFPLEVBQ1AsYUFBYSxHQUdkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsU0FBUyxFQUVULFdBQVcsRUFDWCxZQUFZLEVBRVosZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEUsT0FBTyxFQUFZLFFBQVEsRUFBa0IsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBZTdFLE1BQU0sT0FBTyx1QkFBdUI7SUFicEM7UUFjUyxvQkFBZSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUMzQyxpQkFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWMsQ0FBQztRQUM1QyxvQkFBZSxHQUFHLEtBQUssRUFBYyxDQUFDO1FBQ3RDLFVBQUssR0FBRyxL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d2xEQStEQSxreUlEM0JJLGNBQWMsd0VBQ2QsWUFBWSxvU0FDWixhQUFhLDhFQUNiLDJCQUEyQiwyRkFDM0IsYUFBYTs7MkZBS0osdUJBQXVCO2tCQWJuQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ1AsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsMkJBQTJCO3dCQUMzQixhQUFhO3FCQUNkOzhCQTRCYSxjQUFjO3NCQUQzQixXQUFXO3VCQUFDLFlBQVk7Z0JBTVgsYUFBYTtzQkFEMUIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBT3RCLFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb25uZWN0ZWRQb3NpdGlvbixcbiAgT3ZlcmxheSxcbiAgT3ZlcmxheU1vZHVsZSxcbiAgT3ZlcmxheVJlZixcbiAgUG9zaXRpb25TdHJhdGVneSxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBjb21wdXRlZCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIG91dHB1dCxcbiAgdmlld0NoaWxkLFxuICB2aWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4uL2JhZGdlJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uJztcbmltcG9ydCB7IE1haW5OYXZpZ2F0aW9uTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL21haW4tbmF2aWdhdGlvbi1tZW51JztcblxuaW1wb3J0IHsgTWVudUl0ZW0sIE5kd0JyYW5kLCBTaW1wbGVNZW51SXRlbSB9IGZyb20gJy4vbWFpbi1uYXZpZ2F0aW9uLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LW1haW4tbmF2aWdhdGlvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBNYWluTmF2aWdhdGlvbk1lbnVDb21wb25lbnQsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21haW4tbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tYWluLW5hdmlnYXRpb24uY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBNYWluTmF2aWdhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwdWJsaWMgYXBwbGljYXRpb25OYW1lID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICBwdWJsaWMgdG9wTWVudUl0ZW1zID0gaW5wdXQucmVxdWlyZWQ8TWVudUl0ZW1bXT4oKTtcbiAgcHVibGljIGJvdHRvbU1lbnVJdGVtcyA9IGlucHV0PE1lbnVJdGVtW10+KCk7XG4gIHB1YmxpYyBicmFuZCA9IGlucHV0KE5kd0JyYW5kLk5EVyk7XG4gIHB1YmxpYyBmb290ZXJUZXh0cyA9IGlucHV0PHN0cmluZ1tdPigpO1xuICBwdWJsaWMgaXNDb2xsYXBzaWJsZSA9IGlucHV0KHRydWUpO1xuXG4gIHB1YmxpYyBzZWxlY3RlZCA9IG91dHB1dDxudW1iZXI+KCk7XG5cbiAgcHVibGljIGlzRXhwYW5kZWQgPSBtb2RlbCh0cnVlKTtcblxuICBwdWJsaWMgYnV0dG9ucyA9IHZpZXdDaGlsZHJlbjxFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50Pj4oJ21lbnVUcmlnZ2VyJyk7XG4gIHB1YmxpYyBjaGlsZE1lbnVUZW1wbGF0ZSA9XG4gICAgdmlld0NoaWxkLnJlcXVpcmVkPFRlbXBsYXRlUmVmPE1haW5OYXZpZ2F0aW9uTWVudUNvbXBvbmVudD4+KCdjaGlsZE1lbnUnKTtcblxuICBwdWJsaWMgYnJhbmRJbWFnZVBhdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgYnJhbmQgPSB0aGlzLmJyYW5kKCkudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCB2YXJpYW50ID0gIXRoaXMuaXNFeHBhbmRlZCgpID8gJy1zaG9ydCcgOiAnJztcbiAgICBjb25zdCBleHRlbnNpb24gPSAnLnN2Zyc7XG4gICAgcmV0dXJuIGBhc3NldHMvaW1hZ2VzLyR7YnJhbmR9LWxvZ28ke3ZhcmlhbnR9JHtleHRlbnNpb259YDtcbiAgfSk7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmJyYW5kJylcbiAgcHJvdGVjdGVkIGdldCBicmFuZEF0dHJpYnV0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmJyYW5kKCkudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZXhwYW5kZWQnKVxuICBwcm90ZWN0ZWQgZ2V0IGV4cGFuZGVkQ2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNFeHBhbmRlZCgpO1xuICB9XG5cbiAgLy8gT25seSBjbG9zZSB0aGUgbWVudSB3aGVuIHRoZSBjdXJzb3IgaXMgbm90IG92ZXIgdGhlIGJ1dHRvbiBvciB0aGUgY2hpbGQgbWVudVxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZW1vdmUnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25Nb3VzZU1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpc0N1cnNvck92ZXJCdXR0b24gPSB0aGlzLmFjdGl2ZUJ1dHRvbj8ubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSk7XG4gICAgY29uc3QgaXNDdXJzb3JPdmVyQ2hpbGRNZW51ID0gdGhpcy5vdmVybGF5UmVmPy5vdmVybGF5RWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSk7XG4gICAgaWYgKCFpc0N1cnNvck92ZXJCdXR0b24gJiYgIWlzQ3Vyc29yT3ZlckNoaWxkTWVudSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhY3RpdmVDaGlsZEl0ZW1zOiBTaW1wbGVNZW51SXRlbVtdID0gW107XG4gIHB1YmxpYyBvdmVybGF5UG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xuICAgIHtcbiAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICB9LFxuICBdO1xuXG4gIHByaXZhdGUgb3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcbiAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXG4gIHByaXZhdGUgYWN0aXZlQnV0dG9uPzogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIHByaXZhdGUgb3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuc2V0UG9zaXRpb25TdHJhdGVneSgpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gIH1cblxuICBwdWJsaWMgb3BlbihpdGVtOiBNZW51SXRlbSk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2UoKTtcblxuICAgIHRoaXMuYWN0aXZlQnV0dG9uID0gdGhpcy5idXR0b25zKCkuZmluZChcbiAgICAgIChidXR0b24pID0+IE51bWJlcihidXR0b24ubmF0aXZlRWxlbWVudC5pZCkgPT09IGl0ZW0uaWQsXG4gICAgKTtcblxuICAgIGlmICghdGhpcy5hY3RpdmVCdXR0b24/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2ZUNoaWxkSXRlbXMgPSBpdGVtLmNoaWxkcmVuO1xuXG4gICAgY29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuY2hpbGRNZW51VGVtcGxhdGUoKSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAvLyBVcGRhdGUgdGhlIHBvc2l0aW9uIHN0cmF0ZWd5IHdpdGggdGhlIGFjdGl2ZSBidXR0b24gYXMgdGhlIHRyaWdnZXJcbiAgICB0aGlzLm92ZXJsYXlSZWY/LnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3koXG4gICAgICB0aGlzLnNldFBvc2l0aW9uU3RyYXRlZ3kodGhpcy5hY3RpdmVCdXR0b24ubmF0aXZlRWxlbWVudCksXG4gICAgKTtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmF0dGFjaChwb3J0YWwpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZVNlbGVjdGVkKGlkOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkLmVtaXQoaWQpO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVWaWV3KCk6IHZvaWQge1xuICAgIHRoaXMuaXNFeHBhbmRlZC5zZXQoIXRoaXMuaXNFeHBhbmRlZCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UG9zaXRpb25TdHJhdGVneSh0cmlnZ2VyPzogSFRNTEJ1dHRvbkVsZW1lbnQpOiBQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICBpZiAoIXRyaWdnZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odHJpZ2dlcilcbiAgICAgIC53aXRoUG9zaXRpb25zKHRoaXMub3ZlcmxheVBvc2l0aW9ucyk7XG4gIH1cbn1cbiIsIjxoZWFkZXI+XG4gIDxpbWcgW3NyY109XCJicmFuZEltYWdlUGF0aCgpXCIgW2FsdF09XCJicmFuZCgpICsgJyBsb2dvJ1wiIC8+XG4gIEBpZiAoaXNFeHBhbmRlZCgpKSB7XG4gICAge3sgYXBwbGljYXRpb25OYW1lKCkgfX1cbiAgfVxuPC9oZWFkZXI+XG48bWFpbj5cbiAgQGZvciAoaXRlbSBvZiB0b3BNZW51SXRlbXMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1lbnVJdGVtOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCIgLz5cbiAgfVxuPC9tYWluPlxuPGZvb3Rlcj5cbiAgQGZvciAoaXRlbSBvZiBib3R0b21NZW51SXRlbXMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1lbnVJdGVtOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCIgLz5cbiAgfVxuICBAaWYgKGlzRXhwYW5kZWQoKSkge1xuICAgIEBmb3IgKHRleHQgb2YgZm9vdGVyVGV4dHMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8cD57eyB0ZXh0IH19PC9wPlxuICAgIH1cbiAgfVxuICBAaWYgKGlzQ29sbGFwc2libGUoKSkge1xuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiY29sbGFwc2UtYnV0dG9uXCJcbiAgICAgIG5kd0J1dHRvblxuICAgICAgbWVudVxuICAgICAgYXJpYS1sYWJlbD1cImV4cGFuZC1idXR0b25cIlxuICAgICAgW25nQ2xhc3NdPVwieyBjb2xsYXBzZWQ6ICFpc0V4cGFuZGVkKCkgfVwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlVmlldygpXCJcbiAgICA+XG4gICAgICA8bmR3LWljb24+a2V5Ym9hcmRfZG91YmxlX2Fycm93X2xlZnQ8L25kdy1pY29uPlxuICAgIDwvYnV0dG9uPlxuICB9XG48L2Zvb3Rlcj5cblxuPCEtLSBUZW1wbGF0ZXMgLS0+XG48bmctdGVtcGxhdGUgI21lbnVJdGVtIGxldC1pdGVtPlxuICA8YnV0dG9uXG4gICAgbmR3QnV0dG9uXG4gICAgbWVudVxuICAgICNtZW51VHJpZ2dlclxuICAgIFtpZF09XCJpdGVtLmlkXCJcbiAgICAoY2xpY2spPVwiaXRlbS5jYWxsYmFjaz8uKGl0ZW0uaWQpXCJcbiAgICAoZm9jdXMpPVwib3BlbihpdGVtKVwiXG4gICAgKG1vdXNlb3Zlcik9XCJvcGVuKGl0ZW0pXCJcbiAgPlxuICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICA8bmR3LWljb24+e3sgaXRlbS5pY29uIH19PC9uZHctaWNvbj5cbiAgICB9XG4gICAgQGlmIChpc0V4cGFuZGVkKCkpIHtcbiAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICB9XG4gICAgQGlmIChpdGVtLm5vdGlmaWNhdGlvbnMpIHtcbiAgICAgIDxuZHctYmFkZ2UgW25nQ2xhc3NdPVwieyBjb2xsYXBzZWQ6ICFpc0V4cGFuZGVkKCkgfVwiIFt2YWx1ZV09XCJpdGVtLm5vdGlmaWNhdGlvbnNcIiAvPlxuICAgIH1cbiAgICBAaWYgKGlzRXhwYW5kZWQoKSAmJiBpdGVtLmNoaWxkcmVuKSB7XG4gICAgICA8bmR3LWljb24gY2xhc3M9XCJzdWZmaXhcIj5hcnJvd19yaWdodDwvbmR3LWljb24+XG4gICAgfVxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY2hpbGRNZW51PlxuICA8bmR3LW1haW4tbmF2aWdhdGlvbi1tZW51IFttZW51SXRlbXNdPVwiYWN0aXZlQ2hpbGRJdGVtc1wiIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tYWluLW5hdmlnYXRpb24vbWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tYWluLW5hdmlnYXRpb24vbWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxPQUFPLEVBQ1AsYUFBYSxHQUdkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsU0FBUyxFQUVULFdBQVcsRUFDWCxZQUFZLEVBRVosZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEUsT0FBTyxFQUFZLFFBQVEsRUFBa0IsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBZTdFLE1BQU0sT0FBTyx1QkFBdUI7SUFicEM7UUFjUyxvQkFBZSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUMzQyxpQkFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWMsQ0FBQztRQUM1QyxvQkFBZSxHQUFHLEtBQUssRUFBYyxDQUFDO1FBQ3RDLFVBQUssR0FBRyxL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LHVCQUF1QjtrR0FBdkIsdUJBQXVCLDJtREM3Q3BDLDRsREE2REEsdXBJRHpCSSxjQUFjLHFGQUNkLFlBQVksb1NBQ1osYUFBYSx1RUFDYiwyQkFBMkIsMkZBQzNCLGFBQWE7OzJGQUtKLHVCQUF1QjtrQkFibkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQO3dCQUNQLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixhQUFhO3dCQUNiLDJCQUEyQjt3QkFDM0IsYUFBYTtxQkFDZDs4QkE2QmEsY0FBYztzQkFEM0IsV0FBVzt1QkFBQyxZQUFZO2dCQU1YLGFBQWE7c0JBRDFCLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU90QixXQUFXO3NCQURqQixZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29ubmVjdGVkUG9zaXRpb24sXG4gIE92ZXJsYXksXG4gIE92ZXJsYXlNb2R1bGUsXG4gIE92ZXJsYXlSZWYsXG4gIFBvc2l0aW9uU3RyYXRlZ3ksXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBvdXRwdXQsXG4gIHZpZXdDaGlsZCxcbiAgdmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuLi9iYWRnZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbic7XG5pbXBvcnQgeyBNYWluTmF2aWdhdGlvbk1lbnVDb21wb25lbnQgfSBmcm9tICcuLi9tYWluLW5hdmlnYXRpb24tbWVudSc7XG5cbmltcG9ydCB7IE1lbnVJdGVtLCBOZHdCcmFuZCwgU2ltcGxlTWVudUl0ZW0gfSBmcm9tICcuL21haW4tbmF2aWdhdGlvbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1tYWluLW5hdmlnYXRpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQmFkZ2VDb21wb25lbnQsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEljb25Db21wb25lbnQsXG4gICAgTWFpbk5hdmlnYXRpb25NZW51Q29tcG9uZW50LFxuICAgIE92ZXJsYXlNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tYWluLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbWFpbi1uYXZpZ2F0aW9uLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgTWFpbk5hdmlnYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHVibGljIGFwcGxpY2F0aW9uTmFtZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgcHVibGljIHRvcE1lbnVJdGVtcyA9IGlucHV0LnJlcXVpcmVkPE1lbnVJdGVtW10+KCk7XG4gIHB1YmxpYyBib3R0b21NZW51SXRlbXMgPSBpbnB1dDxNZW51SXRlbVtdPigpO1xuICBwdWJsaWMgYnJhbmQgPSBpbnB1dChOZHdCcmFuZC5ORFcpO1xuICBwdWJsaWMgZm9vdGVyVGV4dHMgPSBpbnB1dDxzdHJpbmdbXT4oKTtcbiAgcHVibGljIGlzQ29sbGFwc2libGUgPSBpbnB1dCh0cnVlKTtcbiAgcHVibGljIHZlcnNpb24gPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgcHVibGljIHNlbGVjdGVkID0gb3V0cHV0PG51bWJlcj4oKTtcblxuICBwdWJsaWMgaXNFeHBhbmRlZCA9IG1vZGVsKHRydWUpO1xuXG4gIHB1YmxpYyBidXR0b25zID0gdmlld0NoaWxkcmVuPEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+PignbWVudVRyaWdnZXInKTtcbiAgcHVibGljIGNoaWxkTWVudVRlbXBsYXRlID1cbiAgICB2aWV3Q2hpbGQucmVxdWlyZWQ8VGVtcGxhdGVSZWY8TWFpbk5hdmlnYXRpb25NZW51Q29tcG9uZW50Pj4oJ2NoaWxkTWVudScpO1xuXG4gIHB1YmxpYyBicmFuZEltYWdlUGF0aCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBicmFuZCA9IHRoaXMuYnJhbmQoKS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHZhcmlhbnQgPSAhdGhpcy5pc0V4cGFuZGVkKCkgPyAnLXNob3J0JyA6ICcnO1xuICAgIGNvbnN0IGV4dGVuc2lvbiA9ICcuc3ZnJztcbiAgICByZXR1cm4gYGFzc2V0cy9pbWFnZXMvJHticmFuZH0tbG9nbyR7dmFyaWFudH0ke2V4dGVuc2lvbn1gO1xuICB9KTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYnJhbmQnKVxuICBwcm90ZWN0ZWQgZ2V0IGJyYW5kQXR0cmlidXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYnJhbmQoKS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5leHBhbmRlZCcpXG4gIHByb3RlY3RlZCBnZXQgZXhwYW5kZWRDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0V4cGFuZGVkKCk7XG4gIH1cblxuICAvLyBPbmx5IGNsb3NlIHRoZSBtZW51IHdoZW4gdGhlIGN1cnNvciBpcyBub3Qgb3ZlciB0aGUgYnV0dG9uIG9yIHRoZSBjaGlsZCBtZW51XG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNlbW92ZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbk1vdXNlTW92ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlzQ3Vyc29yT3ZlckJ1dHRvbiA9IHRoaXMuYWN0aXZlQnV0dG9uPy5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKTtcbiAgICBjb25zdCBpc0N1cnNvck92ZXJDaGlsZE1lbnUgPSB0aGlzLm92ZXJsYXlSZWY/Lm92ZXJsYXlFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKTtcbiAgICBpZiAoIWlzQ3Vyc29yT3ZlckJ1dHRvbiAmJiAhaXNDdXJzb3JPdmVyQ2hpbGRNZW51KSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFjdGl2ZUNoaWxkSXRlbXM6IFNpbXBsZU1lbnVJdGVtW10gPSBbXTtcbiAgcHVibGljIG92ZXJsYXlQb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXG4gICAge1xuICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgIH0sXG4gICAge1xuICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgIH0sXG4gIF07XG5cbiAgcHJpdmF0ZSBvdmVybGF5ID0gaW5qZWN0KE92ZXJsYXkpO1xuICBwcml2YXRlIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cbiAgcHJpdmF0ZSBhY3RpdmVCdXR0b24/OiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcbiAgcHJpdmF0ZSBvdmVybGF5UmVmPzogT3ZlcmxheVJlZjtcblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5zZXRQb3NpdGlvblN0cmF0ZWd5KCksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKGl0ZW06IE1lbnVJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZSgpO1xuXG4gICAgdGhpcy5hY3RpdmVCdXR0b24gPSB0aGlzLmJ1dHRvbnMoKS5maW5kKFxuICAgICAgKGJ1dHRvbikgPT4gTnVtYmVyKGJ1dHRvbi5uYXRpdmVFbGVtZW50LmlkKSA9PT0gaXRlbS5pZCxcbiAgICApO1xuXG4gICAgaWYgKCF0aGlzLmFjdGl2ZUJ1dHRvbj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghaXRlbS5jaGlsZHJlbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlQ2hpbGRJdGVtcyA9IGl0ZW0uY2hpbGRyZW47XG5cbiAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5jaGlsZE1lbnVUZW1wbGF0ZSgpLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgIC8vIFVwZGF0ZSB0aGUgcG9zaXRpb24gc3RyYXRlZ3kgd2l0aCB0aGUgYWN0aXZlIGJ1dHRvbiBhcyB0aGUgdHJpZ2dlclxuICAgIHRoaXMub3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb25TdHJhdGVneShcbiAgICAgIHRoaXMuc2V0UG9zaXRpb25TdHJhdGVneSh0aGlzLmFjdGl2ZUJ1dHRvbi5uYXRpdmVFbGVtZW50KSxcbiAgICApO1xuICAgIHRoaXMub3ZlcmxheVJlZj8uYXR0YWNoKHBvcnRhbCk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlU2VsZWN0ZWQoaWQ6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWQuZW1pdChpZCk7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZVZpZXcoKTogdm9pZCB7XG4gICAgdGhpcy5pc0V4cGFuZGVkLnNldCghdGhpcy5pc0V4cGFuZGVkKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQb3NpdGlvblN0cmF0ZWd5KHRyaWdnZXI/OiBIVE1MQnV0dG9uRWxlbWVudCk6IFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgIGlmICghdHJpZ2dlcikge1xuICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0cmlnZ2VyKVxuICAgICAgLndpdGhQb3NpdGlvbnModGhpcy5vdmVybGF5UG9zaXRpb25zKTtcbiAgfVxufVxuIiwiPGhlYWRlcj5cbiAgPGltZyBbc3JjXT1cImJyYW5kSW1hZ2VQYXRoKClcIiBbYWx0XT1cImJyYW5kKCkgKyAnIGxvZ28nXCIgLz5cbiAgQGlmIChpc0V4cGFuZGVkKCkpIHtcbiAgICB7eyBhcHBsaWNhdGlvbk5hbWUoKSB9fVxuICB9XG48L2hlYWRlcj5cbjxtYWluPlxuICBAZm9yIChpdGVtIG9mIHRvcE1lbnVJdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWVudUl0ZW07IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIiAvPlxuICB9XG48L21haW4+XG48Zm9vdGVyPlxuICBAZm9yIChpdGVtIG9mIGJvdHRvbU1lbnVJdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWVudUl0ZW07IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIiAvPlxuICB9XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0c1wiPlxuICAgIEBpZiAoaXNFeHBhbmRlZCgpKSB7XG4gICAgICBAZm9yICh0ZXh0IG9mIGZvb3RlclRleHRzKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8cD57eyB0ZXh0IH19PC9wPlxuICAgICAgfVxuICAgIH1cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ2ZXJzaW9uXCI+XG4gICAgPHA+e3sgdmVyc2lvbigpIH19PC9wPlxuICAgIEBpZiAoaXNDb2xsYXBzaWJsZSgpKSB7XG4gICAgICA8YnV0dG9uIG5kd0J1dHRvbiBtZW51IGFyaWEtbGFiZWw9XCJleHBhbmQtYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVZpZXcoKVwiPlxuICAgICAgICA8bmR3LWljb24+a2V5Ym9hcmRfZG91YmxlX2Fycm93X3JpZ2h0PC9uZHctaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgPC9kaXY+XG48L2Zvb3Rlcj5cblxuPCEtLSBUZW1wbGF0ZXMgLS0+XG48bmctdGVtcGxhdGUgI21lbnVJdGVtIGxldC1pdGVtPlxuICA8YnV0dG9uXG4gICAgbmR3QnV0dG9uXG4gICAgbWVudVxuICAgICNtZW51VHJpZ2dlclxuICAgIFtpZF09XCJpdGVtLmlkXCJcbiAgICAoY2xpY2spPVwiaXRlbS5jYWxsYmFjaz8uKGl0ZW0uaWQpXCJcbiAgICAoZm9jdXMpPVwib3BlbihpdGVtKVwiXG4gICAgKG1vdXNlb3Zlcik9XCJvcGVuKGl0ZW0pXCJcbiAgPlxuICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICA8bmR3LWljb24+e3sgaXRlbS5pY29uIH19PC9uZHctaWNvbj5cbiAgICB9XG4gICAgQGlmIChpc0V4cGFuZGVkKCkpIHtcbiAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICB9XG4gICAgQGlmIChpdGVtLm5vdGlmaWNhdGlvbnMpIHtcbiAgICAgIDxuZHctYmFkZ2UgW25nQ2xhc3NdPVwieyBjb2xsYXBzZWQ6ICFpc0V4cGFuZGVkKCkgfVwiIFt2YWx1ZV09XCJpdGVtLm5vdGlmaWNhdGlvbnNcIiAvPlxuICAgIH1cbiAgICBAaWYgKGlzRXhwYW5kZWQoKSAmJiBpdGVtLmNoaWxkcmVuKSB7XG4gICAgICA8bmR3LWljb24gY2xhc3M9XCJzdWZmaXhcIj5hcnJvd19yaWdodDwvbmR3LWljb24+XG4gICAgfVxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY2hpbGRNZW51PlxuICA8bmR3LW1haW4tbmF2aWdhdGlvbi1tZW51IFttZW51SXRlbXNdPVwiYWN0aXZlQ2hpbGRJdGVtc1wiIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,3 +1,19 @@
1
- export * from './modal.service';
1
+ import { ModalContentComponent } from './modal-content';
2
+ import { ModalFooterComponent } from './modal-footer';
3
+ import { ModalHeaderComponent } from './modal-header';
4
+ import { ModalTriggerDirective } from './modal-trigger.directive';
5
+ import { ModalComponent } from './modal.component';
6
+ export * from './modal-content';
7
+ export * from './modal-footer';
8
+ export * from './modal-header';
2
9
  export * from './modal-trigger.directive';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvbW9kYWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2RhbC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwtdHJpZ2dlci5kaXJlY3RpdmUnO1xuIl19
10
+ export * from './modal.component';
11
+ export * from './modal.service';
12
+ export const MODAL_COMPONENTS = [
13
+ ModalComponent,
14
+ ModalHeaderComponent,
15
+ ModalContentComponent,
16
+ ModalFooterComponent,
17
+ ModalTriggerDirective,
18
+ ];
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvbW9kYWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5ELGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlCQUFpQixDQUFDO0FBRWhDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLGNBQWM7SUFDZCxvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLG9CQUFvQjtJQUNwQixxQkFBcUI7Q0FDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGFsQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtY29udGVudCc7XG5pbXBvcnQgeyBNb2RhbEZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtZm9vdGVyJztcbmltcG9ydCB7IE1vZGFsSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC1oZWFkZXInO1xuaW1wb3J0IHsgTW9kYWxUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9tb2RhbC10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC1jb250ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwtZm9vdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwtaGVhZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwtdHJpZ2dlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IE1PREFMX0NPTVBPTkVOVFMgPSBbXG4gIE1vZGFsQ29tcG9uZW50LFxuICBNb2RhbEhlYWRlckNvbXBvbmVudCxcbiAgTW9kYWxDb250ZW50Q29tcG9uZW50LFxuICBNb2RhbEZvb3RlckNvbXBvbmVudCxcbiAgTW9kYWxUcmlnZ2VyRGlyZWN0aXZlLFxuXTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './modal-content.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwtY29udGVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2RhbC1jb250ZW50LmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,11 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ModalContentComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: ModalContentComponent, isStandalone: true, selector: "ndw-modal-content", ngImport: i0, template: "<ng-content />\n", styles: [":host{font-size:var(--ndw-font-size-sm);max-height:100%;overflow-y:auto}\n"] }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalContentComponent, decorators: [{
8
+ type: Component,
9
+ args: [{ selector: 'ndw-modal-content', standalone: true, imports: [], template: "<ng-content />\n", styles: [":host{font-size:var(--ndw-font-size-sm);max-height:100%;overflow-y:auto}\n"] }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwtY29udGVudC9tb2RhbC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1jb250ZW50L21vZGFsLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTMUMsTUFBTSxPQUFPLHFCQUFxQjs4R0FBckIscUJBQXFCO2tHQUFyQixxQkFBcUIsNkVDVGxDLGtCQUNBOzsyRkRRYSxxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1tb2RhbC1jb250ZW50JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuLi8uLi9jYXJkL2NhcmQtY29udGVudC9jYXJkLWNvbnRlbnQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbENvbnRlbnRDb21wb25lbnQge31cbiIsIjxuZy1jb250ZW50IC8+XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './modal-footer.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwtZm9vdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGFsLWZvb3Rlci5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,11 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ModalFooterComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: ModalFooterComponent, isStandalone: true, selector: "ndw-modal-footer", ngImport: i0, template: "<ng-content />\n", styles: [":host{display:flex;font-size:var(--ndw-font-size-sm);justify-content:flex-end;gap:var(--ndw-spacing-md)}\n"] }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalFooterComponent, decorators: [{
8
+ type: Component,
9
+ args: [{ selector: 'ndw-modal-footer', standalone: true, imports: [], template: "<ng-content />\n", styles: [":host{display:flex;font-size:var(--ndw-font-size-sm);justify-content:flex-end;gap:var(--ndw-spacing-md)}\n"] }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1mb290ZXIvbW9kYWwtZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1mb290ZXIvbW9kYWwtZm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzFDLE1BQU0sT0FBTyxvQkFBb0I7OEdBQXBCLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDRFQ1RqQyxrQkFDQTs7MkZEUWEsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZHctbW9kYWwtZm9vdGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4uLy4uL2NhcmQvY2FyZC1mb290ZXIvY2FyZC1mb290ZXIuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbEZvb3RlckNvbXBvbmVudCB7fVxuIiwiPG5nLWNvbnRlbnQgLz5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './modal-header.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwtaGVhZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGFsLWhlYWRlci5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,19 @@
1
+ import { Component, inject } from '@angular/core';
2
+ import { ActionIconComponent, IconComponent } from '../../icon';
3
+ import { ModalService } from '../../modal';
4
+ import * as i0 from "@angular/core";
5
+ export class ModalHeaderComponent {
6
+ constructor() {
7
+ this.modalService = inject(ModalService);
8
+ }
9
+ detachModal() {
10
+ this.modalService.detach();
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: ModalHeaderComponent, isStandalone: true, selector: "ndw-modal-header", ngImport: i0, template: "<ng-content />\n<ndw-action-icon ariaLabel=\"Close\" (click)=\"detachModal()\">close</ndw-action-icon>\n", styles: [":host{display:grid;align-items:center;font-size:var(--ndw-font-size-lg);font-weight:700}\n", ":host{grid-template-columns:1fr auto}ndw-icon{color:var(--ndw-color-primary)}\n"], dependencies: [{ kind: "component", type: ActionIconComponent, selector: "ndw-action-icon", inputs: ["ariaLabel", "variant", "buttonType", "disabled", "size"], outputs: ["onClick"] }] }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalHeaderComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'ndw-modal-header', standalone: true, imports: [IconComponent, ActionIconComponent], template: "<ng-content />\n<ndw-action-icon ariaLabel=\"Close\" (click)=\"detachModal()\">close</ndw-action-icon>\n", styles: [":host{display:grid;align-items:center;font-size:var(--ndw-font-size-lg);font-weight:700}\n", ":host{grid-template-columns:1fr auto}ndw-icon{color:var(--ndw-color-primary)}\n"] }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1oZWFkZXIvbW9kYWwtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1oZWFkZXIvbW9kYWwtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFTM0MsTUFBTSxPQUFPLG9CQUFvQjtJQVBqQztRQVFtQixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQUt0RDtJQUhRLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDOzhHQUxVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDRFQ1pqQywwR0FFQSx1T0RNMkIsbUJBQW1COzsyRkFJakMsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBY3Rpb25JY29uQ29tcG9uZW50LCBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbic7XG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9tb2RhbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1tb2RhbC1oZWFkZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudCwgQWN0aW9uSWNvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi4vLi4vY2FyZC9jYXJkLWhlYWRlci9jYXJkLWhlYWRlci5jb21wb25lbnQuc2NzcycsICcuL21vZGFsLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbEhlYWRlckNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbW9kYWxTZXJ2aWNlID0gaW5qZWN0KE1vZGFsU2VydmljZSk7XG5cbiAgcHVibGljIGRldGFjaE1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLmRldGFjaCgpO1xuICB9XG59XG4iLCI8bmctY29udGVudCAvPlxuPG5kdy1hY3Rpb24taWNvbiBhcmlhTGFiZWw9XCJDbG9zZVwiIChjbGljayk9XCJkZXRhY2hNb2RhbCgpXCI+Y2xvc2U8L25kdy1hY3Rpb24taWNvbj5cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { Component, HostBinding, input } from '@angular/core';
2
+ import { CardComponent } from '../card';
3
+ import * as i0 from "@angular/core";
4
+ export class ModalComponent extends CardComponent {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.size = input('sm');
8
+ this.roleAttr = 'dialog';
9
+ }
10
+ get isSmall() {
11
+ return this.size() === 'sm';
12
+ }
13
+ get isMedium() {
14
+ return this.size() === 'md';
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: ModalComponent, isStandalone: true, selector: "ndw-modal", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.modal-size-sm": "this.isSmall", "class.modal-size-md": "this.isMedium", "attr.role": "this.roleAttr" } }, usesInheritance: true, ngImport: i0, template: "<ng-content />\n", styles: [":host{background-color:var(--ndw-color-white);border-radius:var(--ndw-border-radius-md);box-shadow:var(--ndw-elevation-content);display:grid;gap:var(--ndw-spacing-lg);padding:var(--ndw-spacing-lg)}\n", ":host{width:var(--ndw-modal-width-sm)}:host.modal-size-md{width:var(--ndw-modal-width-md)}\n"] }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: 'ndw-modal', standalone: true, imports: [], template: "<ng-content />\n", styles: [":host{background-color:var(--ndw-color-white);border-radius:var(--ndw-border-radius-md);box-shadow:var(--ndw-elevation-content);display:grid;gap:var(--ndw-spacing-lg);padding:var(--ndw-spacing-lg)}\n", ":host{width:var(--ndw-modal-width-sm)}:host.modal-size-md{width:var(--ndw-modal-width-md)}\n"] }]
22
+ }], propDecorators: { isSmall: [{
23
+ type: HostBinding,
24
+ args: ['class.modal-size-sm']
25
+ }], isMedium: [{
26
+ type: HostBinding,
27
+ args: ['class.modal-size-md']
28
+ }], roleAttr: [{
29
+ type: HostBinding,
30
+ args: ['attr.role']
31
+ }] } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFXeEMsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFhO0lBUGpEOztRQVFTLFNBQUksR0FBRyxLQUFLLENBQVksSUFBSSxDQUFDLENBQUM7UUFhckIsYUFBUSxHQUFHLFFBQVEsQ0FBQztLQUNyQztJQVpDLElBQ1csT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQ1csUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxJQUFJLENBQUM7SUFDOUIsQ0FBQzs4R0FYVSxjQUFjO2tHQUFkLGNBQWMsb1dDYjNCLGtCQUNBOzsyRkRZYSxjQUFjO2tCQVAxQixTQUFTOytCQUNFLFdBQVcsY0FDVCxJQUFJLFdBQ1AsRUFBRTs4QkFRQSxPQUFPO3NCQURqQixXQUFXO3VCQUFDLHFCQUFxQjtnQkFNdkIsUUFBUTtzQkFEbEIsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBTWxCLFFBQVE7c0JBRHZCLFdBQVc7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENhcmRDb21wb25lbnQgfSBmcm9tICcuLi9jYXJkJztcblxuZXhwb3J0IHR5cGUgTW9kYWxTaXplID0gJ3NtJyB8ICdtZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1tb2RhbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtdLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi4vY2FyZC9jYXJkLmNvbXBvbmVudC5zY3NzJywgJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxDb21wb25lbnQgZXh0ZW5kcyBDYXJkQ29tcG9uZW50IHtcbiAgcHVibGljIHNpemUgPSBpbnB1dDxNb2RhbFNpemU+KCdzbScpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubW9kYWwtc2l6ZS1zbScpXG4gIHB1YmxpYyBnZXQgaXNTbWFsbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaXplKCkgPT09ICdzbSc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1vZGFsLXNpemUtbWQnKVxuICBwdWJsaWMgZ2V0IGlzTWVkaXVtKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUoKSA9PT0gJ21kJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgcHVibGljIHJlYWRvbmx5IHJvbGVBdHRyID0gJ2RpYWxvZyc7XG59XG4iLCI8bmctY29udGVudCAvPlxuIl19
@@ -2,7 +2,7 @@ import { Overlay } from '@angular/cdk/overlay';
2
2
  import { TemplatePortal } from '@angular/cdk/portal';
3
3
  import { DestroyRef, inject, Injectable } from '@angular/core';
4
4
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
- import { EMPTY, Subject } from 'rxjs';
5
+ import { Subject, take } from 'rxjs';
6
6
  import * as i0 from "@angular/core";
7
7
  export class ModalService {
8
8
  constructor() {
@@ -33,18 +33,13 @@ export class ModalService {
33
33
  this.overlayRef.attach(templatePortal);
34
34
  this.isOpen = true;
35
35
  this.isOpen$.next(this.isOpen);
36
- this.actions()
37
- .pipe(takeUntilDestroyed(this.destroyRef))
36
+ this.overlayRef
37
+ .backdropClick()
38
+ .pipe(takeUntilDestroyed(this.destroyRef), take(1))
38
39
  .subscribe(() => {
39
40
  this.detach();
40
41
  });
41
42
  }
42
- actions() {
43
- if (!this.overlayRef) {
44
- return EMPTY;
45
- }
46
- return this.overlayRef._outsidePointerEvents;
47
- }
48
43
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
49
44
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: ModalService, providedIn: 'root' }); }
50
45
  }
@@ -54,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
54
49
  providedIn: 'root',
55
50
  }]
56
51
  }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLbEQsTUFBTSxPQUFPLFlBQVk7SUFIekI7UUFJbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxZQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXBDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRWhDLFdBQU0sR0FBRyxLQUFLLENBQUM7S0E0Q3hCO0lBekNRLE1BQU07UUFDWCxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLElBQUksQ0FBQyxXQUFpQyxFQUFFLGdCQUFrQztRQUMvRSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDcEMsV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLHNCQUFzQjtZQUNyQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUU7WUFDMUQsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLGdCQUFnQixFQUFFO1NBQzNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvQixJQUFJLENBQUMsT0FBTyxFQUFFO2FBQ1gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLE9BQU87UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQztJQUMvQyxDQUFDOzhHQWpEVSxZQUFZO2tIQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgRGVzdHJveVJlZiwgaW5qZWN0LCBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRU1QVFksIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBvdmVybGF5ID0gaW5qZWN0KE92ZXJsYXkpO1xuXG4gIHB1YmxpYyBpc09wZW4kID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBwcml2YXRlIGlzT3BlbiA9IGZhbHNlO1xuICBwcml2YXRlIG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xuXG4gIHB1YmxpYyBkZXRhY2goKTogdm9pZCB7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgIHRoaXMuaXNPcGVuJC5uZXh0KHRoaXMuaXNPcGVuKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNwb3NlKCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICB9XG5cbiAgcHVibGljIG9wZW4odGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+LCB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGVtcGxhdGVQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGVtcGxhdGVSZWYsIHZpZXdDb250YWluZXJSZWYpO1xuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICBiYWNrZHJvcENsYXNzOiAnbmR3LW92ZXJsYXktYmFja2Ryb3AnLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmNlbnRlckhvcml6b250YWxseSgpLmNlbnRlclZlcnRpY2FsbHkoKSxcbiAgICB9KTtcblxuICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2godGVtcGxhdGVQb3J0YWwpO1xuICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICB0aGlzLmlzT3BlbiQubmV4dCh0aGlzLmlzT3Blbik7XG5cbiAgICB0aGlzLmFjdGlvbnMoKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5kZXRhY2goKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhY3Rpb25zKCk6IE9ic2VydmFibGU8TW91c2VFdmVudD4ge1xuICAgIGlmICghdGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICByZXR1cm4gRU1QVFk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheVJlZi5fb3V0c2lkZVBvaW50ZXJFdmVudHM7XG4gIH1cbn1cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLckMsTUFBTSxPQUFPLFlBQVk7SUFIekI7UUFJbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxZQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXBDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRWhDLFdBQU0sR0FBRyxLQUFLLENBQUM7S0FxQ3hCO0lBbENRLE1BQU07UUFDWCxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLElBQUksQ0FBQyxXQUFpQyxFQUFFLGdCQUFrQztRQUMvRSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDcEMsV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLHNCQUFzQjtZQUNyQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUU7WUFDMUQsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLGdCQUFnQixFQUFFO1NBQzNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvQixJQUFJLENBQUMsVUFBVTthQUNaLGFBQWEsRUFBRTthQUNmLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2xELFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQTFDVSxZQUFZO2tIQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgRGVzdHJveVJlZiwgaW5qZWN0LCBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XG5cbiAgcHVibGljIGlzT3BlbiQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIHByaXZhdGUgaXNPcGVuID0gZmFsc2U7XG4gIHByaXZhdGUgb3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XG5cbiAgcHVibGljIGRldGFjaCgpOiB2b2lkIHtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmRldGFjaCgpO1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgdGhpcy5pc09wZW4kLm5leHQodGhpcy5pc09wZW4pO1xuICB9XG5cbiAgcHVibGljIGRpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gIH1cblxuICBwdWJsaWMgb3Blbih0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4sIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0ZW1wbGF0ZVBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZVJlZiwgdmlld0NvbnRhaW5lclJlZik7XG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICduZHctb3ZlcmxheS1iYWNrZHJvcCcsXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCkuY2VudGVyVmVydGljYWxseSgpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaCh0ZW1wbGF0ZVBvcnRhbCk7XG4gICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgIHRoaXMuaXNPcGVuJC5uZXh0KHRoaXMuaXNPcGVuKTtcblxuICAgIHRoaXMub3ZlcmxheVJlZlxuICAgICAgLmJhY2tkcm9wQ2xpY2soKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksIHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5kZXRhY2goKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=