@muziehdesign/components 18.2.0-next.0 → 18.2.0-next.1998

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 (73) hide show
  1. package/README.md +2 -2
  2. package/assets/icons/chevron-down-solid.svg +3 -0
  3. package/assets/icons/chevron-up-solid.svg +3 -0
  4. package/assets/icons/icondefinitions.svg +0 -0
  5. package/design/_accordion.scss +15 -0
  6. package/design/_alert.scss +51 -0
  7. package/design/_base.scss +54 -0
  8. package/design/_breadcrumb.scss +15 -0
  9. package/design/_button.scss +55 -0
  10. package/design/_components.scss +0 -0
  11. package/design/_date-picker.scss +23 -0
  12. package/design/_dl.scss +22 -0
  13. package/design/_dropdown-menu.scss +17 -0
  14. package/design/_form.scss +179 -0
  15. package/design/_infinite-scroll.scss +16 -0
  16. package/design/_material.scss +57 -0
  17. package/design/_modal.scss +287 -0
  18. package/design/_muzieh.scss +19 -0
  19. package/design/_pagination.scss +27 -0
  20. package/design/_progress-bar.scss +25 -0
  21. package/design/_table.scss +93 -0
  22. package/design/_tabs.scss +20 -0
  23. package/design/_wizard.scss +139 -0
  24. package/esm2022/lib/alert/alert.component.mjs +3 -3
  25. package/esm2022/lib/button.directive.mjs +11 -11
  26. package/esm2022/lib/components.module.mjs +1 -1
  27. package/esm2022/lib/date-display/date-display.pipe.mjs +1 -1
  28. package/esm2022/lib/date-time/date-time.component.mjs +3 -3
  29. package/esm2022/lib/date-time/time-value.mjs +1 -1
  30. package/esm2022/lib/enum-display/enum-display.pipe.mjs +1 -1
  31. package/esm2022/lib/infinite-scroll/infinite-scroll.component.mjs +3 -3
  32. package/esm2022/lib/inline-edit/inline-edit.component.mjs +65 -0
  33. package/esm2022/lib/inline-message/inline-message-dialog/inline-message-dialog.component.mjs +3 -3
  34. package/esm2022/lib/inline-message/inline-message.component.mjs +3 -3
  35. package/esm2022/lib/models/loading-state.mjs +1 -1
  36. package/esm2022/lib/models/page-event.mjs +1 -1
  37. package/esm2022/lib/models/result-table-options.mjs +1 -1
  38. package/esm2022/lib/models/sort-event.mjs +1 -1
  39. package/esm2022/lib/models/subject.mjs +1 -1
  40. package/esm2022/lib/models/wizard-step-link.mjs +1 -1
  41. package/esm2022/lib/page-header/page-header.component.mjs +3 -3
  42. package/esm2022/lib/page-loading-indicator/page-loading-indicator.component.mjs +3 -3
  43. package/esm2022/lib/pagination/pagination-default-options.mjs +1 -1
  44. package/esm2022/lib/pagination/pagination-default-options.token.mjs +1 -1
  45. package/esm2022/lib/pagination/pagination.component.mjs +5 -5
  46. package/esm2022/lib/phone-number/phone-number.pipe.mjs +1 -1
  47. package/esm2022/lib/result-table/result-table.component.mjs +25 -14
  48. package/esm2022/lib/result-table/result-table.model.mjs +1 -1
  49. package/esm2022/lib/sort-key.directive.mjs +1 -1
  50. package/esm2022/lib/sort.directive.mjs +1 -1
  51. package/esm2022/lib/spinner/spinner.component.mjs +3 -3
  52. package/esm2022/lib/subject-display/subject-display.pipe.mjs +3 -3
  53. package/esm2022/lib/svg-icon/svg-icon-config.mjs +9 -2
  54. package/esm2022/lib/svg-icon/svg-icon.component.mjs +6 -8
  55. package/esm2022/lib/testing/muzieh-component-harness.mjs +1 -1
  56. package/esm2022/lib/testing/result-table-harness.mjs +2 -2
  57. package/esm2022/lib/time-value-accessor.directive.mjs +1 -1
  58. package/esm2022/lib/time-value-validator.directive.mjs +1 -1
  59. package/esm2022/lib/wizard-progress-tracker/wizard-progress-tracker.component.mjs +3 -3
  60. package/esm2022/public-api.mjs +3 -1
  61. package/fesm2022/muziehdesign-components.mjs +132 -57
  62. package/fesm2022/muziehdesign-components.mjs.map +1 -1
  63. package/lib/enum-display/enum-display.pipe.d.ts +2 -2
  64. package/lib/inline-edit/inline-edit.component.d.ts +22 -0
  65. package/lib/models/page-event.d.ts +3 -3
  66. package/lib/models/result-table-options.d.ts +2 -1
  67. package/lib/pagination/pagination.component.d.ts +1 -1
  68. package/lib/result-table/result-table.component.d.ts +9 -6
  69. package/lib/result-table/result-table.model.d.ts +5 -5
  70. package/lib/subject-display/subject-display.pipe.d.ts +1 -1
  71. package/lib/svg-icon/svg-icon.component.d.ts +1 -1
  72. package/package.json +1 -1
  73. package/public-api.d.ts +2 -0
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Component, Optional, Inject, Input, Pipe, EventEmitter, Output, Directive, HostListener, HostBinding, forwardRef, ViewChild, ContentChild, NgModule } from '@angular/core';
2
+ import { InjectionToken, Component, Inject, Input, Pipe, EventEmitter, Optional, Output, ContentChild, Directive, HostListener, HostBinding, forwardRef, ViewChild, NgModule, ElementRef } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule, DatePipe } from '@angular/common';
5
5
  import * as i1$1 from '@angular/router';
@@ -9,21 +9,29 @@ import { filter, delay, take, repeat } from 'rxjs/operators';
9
9
  import { SubSink } from 'subsink';
10
10
  import * as i1$2 from '@angular/platform-browser';
11
11
  import { By } from '@angular/platform-browser';
12
- import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormsModule } from '@angular/forms';
12
+ import * as i1$5 from '@angular/forms';
13
+ import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormsModule, NgModel } from '@angular/forms';
13
14
  import * as i1$3 from '@angular/material/datepicker';
14
15
  import { MatDatepickerModule } from '@angular/material/datepicker';
15
16
  import * as i1$4 from '@angular/cdk/dialog';
16
17
  import { DIALOG_DATA, DialogModule } from '@angular/cdk/dialog';
17
18
  import { MatCommonModule } from '@angular/material/core';
18
19
 
19
- const SVG_ICON_DEFAULT_OPTIONS = new InjectionToken('MzSvgIconOptions');
20
+ const SVG_ICON_DEFAULT_OPTIONS = new InjectionToken('MzSvgIconOptions', {
21
+ providedIn: 'root',
22
+ factory: () => {
23
+ return {
24
+ svgIconDefinitionUrl: './assets/icondefinitions.svg'
25
+ };
26
+ }
27
+ });
20
28
 
21
29
  class SvgIconComponent {
22
30
  constructor(config) {
23
31
  this.config = config;
24
32
  this.type = 'outline';
25
33
  this.size = 'medium';
26
- this.fileUrl = config?.svgIconDefinitionUrl || './assets/icondefinitions.svg';
34
+ this.fileUrl = config.svgIconDefinitionUrl;
27
35
  }
28
36
  get url() {
29
37
  if (this.type) {
@@ -31,15 +39,13 @@ class SvgIconComponent {
31
39
  }
32
40
  return this.fileUrl + '#' + this.key;
33
41
  }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SvgIconComponent, deps: [{ token: SVG_ICON_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SvgIconComponent, isStandalone: true, selector: "mz-svg-icon", inputs: { key: "key", type: "type", size: "size" }, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon icon-{{type}} icon-size-{{size}}\" aria-hidden=\"true\">\r\n <use [attr.href]=\"url\" />\r\n</svg>", styles: [".icon{display:inline-block}.icon-size-medium{width:1.25rem;height:1.25rem}\n"] }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SvgIconComponent, deps: [{ token: SVG_ICON_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Component }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SvgIconComponent, isStandalone: true, selector: "mz-svg-icon", inputs: { key: "key", type: "type", size: "size" }, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon icon-{{type}} icon-size-{{size}}\" aria-hidden=\"true\">\n <use [attr.href]=\"url\" />\n</svg>", styles: [".icon{display:inline-block}.icon-size-medium{width:1.25rem;height:1.25rem}\n"] }); }
36
44
  }
37
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SvgIconComponent, decorators: [{
38
46
  type: Component,
39
- args: [{ selector: 'mz-svg-icon', standalone: true, imports: [], template: "<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon icon-{{type}} icon-size-{{size}}\" aria-hidden=\"true\">\r\n <use [attr.href]=\"url\" />\r\n</svg>", styles: [".icon{display:inline-block}.icon-size-medium{width:1.25rem;height:1.25rem}\n"] }]
47
+ args: [{ selector: 'mz-svg-icon', standalone: true, imports: [], template: "<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon icon-{{type}} icon-size-{{size}}\" aria-hidden=\"true\">\n <use [attr.href]=\"url\" />\n</svg>", styles: [".icon{display:inline-block}.icon-size-medium{width:1.25rem;height:1.25rem}\n"] }]
40
48
  }], ctorParameters: () => [{ type: undefined, decorators: [{
41
- type: Optional
42
- }, {
43
49
  type: Inject,
44
50
  args: [SVG_ICON_DEFAULT_OPTIONS]
45
51
  }] }], propDecorators: { key: [{
@@ -102,11 +108,11 @@ class SpinnerComponent {
102
108
  this.type = 'default'; // TODO: inverse will not exist one day
103
109
  }
104
110
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
105
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpinnerComponent, isStandalone: true, selector: "mz-spinner", inputs: { size: "size", type: "type" }, ngImport: i0, template: "<div class=\"w-full\" [ngClass]=\"{'text-primary': type == 'default', 'text-white': type == 'inverse'}\">\r\n <svg class=\"animate-spin m-auto\" [ngClass]=\"{'w-16 h-16': size == 'large', 'w-5 h-5': size == 'medium'}\" xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\" viewBox=\"0 0 24 24\">\r\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"></circle>\r\n <path class=\"opacity-75\" fill=\"currentColor\"\r\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\">\r\n </path>\r\n </svg>\r\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
111
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpinnerComponent, isStandalone: true, selector: "mz-spinner", inputs: { size: "size", type: "type" }, ngImport: i0, template: "<div class=\"w-full\" [ngClass]=\"{'text-primary': type == 'default', 'text-white': type == 'inverse'}\">\n <svg class=\"animate-spin m-auto\" [ngClass]=\"{'w-16 h-16': size == 'large', 'w-5 h-5': size == 'medium'}\" xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\" viewBox=\"0 0 24 24\">\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"></circle>\n <path class=\"opacity-75\" fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\">\n </path>\n </svg>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
106
112
  }
107
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpinnerComponent, decorators: [{
108
114
  type: Component,
109
- args: [{ selector: 'mz-spinner', standalone: true, imports: [CommonModule], template: "<div class=\"w-full\" [ngClass]=\"{'text-primary': type == 'default', 'text-white': type == 'inverse'}\">\r\n <svg class=\"animate-spin m-auto\" [ngClass]=\"{'w-16 h-16': size == 'large', 'w-5 h-5': size == 'medium'}\" xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\" viewBox=\"0 0 24 24\">\r\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"></circle>\r\n <path class=\"opacity-75\" fill=\"currentColor\"\r\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\">\r\n </path>\r\n </svg>\r\n</div>" }]
115
+ args: [{ selector: 'mz-spinner', standalone: true, imports: [CommonModule], template: "<div class=\"w-full\" [ngClass]=\"{'text-primary': type == 'default', 'text-white': type == 'inverse'}\">\n <svg class=\"animate-spin m-auto\" [ngClass]=\"{'w-16 h-16': size == 'large', 'w-5 h-5': size == 'medium'}\" xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\" viewBox=\"0 0 24 24\">\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"></circle>\n <path class=\"opacity-75\" fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\">\n </path>\n </svg>\n</div>" }]
110
116
  }], ctorParameters: () => [], propDecorators: { size: [{
111
117
  type: Input
112
118
  }], type: [{
@@ -136,13 +142,13 @@ class PaginationComponent {
136
142
  if (newValue == this.page || newValue < 1 || newValue > this.pageCount) {
137
143
  return;
138
144
  }
139
- this.changePage.emit({ page: newValue, pageSize: this.pageSize });
145
+ this.changePage.emit({ pageNumber: newValue, pageSize: this.pageSize });
140
146
  }
141
147
  changePageSize(newValue) {
142
148
  if (Number(newValue) == this.pageSize) {
143
149
  return;
144
150
  }
145
- this.changePage.emit({ page: 1, pageSize: Number(newValue) });
151
+ this.changePage.emit({ pageNumber: 1, pageSize: Number(newValue) });
146
152
  }
147
153
  updatePages(currentPage, lengthOfItems, currentPageSize) {
148
154
  const pageCount = Math.ceil(lengthOfItems / currentPageSize);
@@ -177,11 +183,11 @@ class PaginationComponent {
177
183
  this.pages = pageNumbers;
178
184
  }
179
185
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PaginationComponent, deps: [{ token: PAGINATION_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
180
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: PaginationComponent, isStandalone: true, selector: "mz-pagination", inputs: { length: "length", page: "page", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions" }, outputs: { changePage: "changePage" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"pagination-wrapper\">\r\n <nav class=\"pagination-nav\" aria-label=\"pagination\">\r\n <button class=\"page-link\" [ngClass]=\"{'disabled': page == 1}\" (click)=\"changePageNumber(page-1)\">\r\n <span class=\"sr-only\">Previous page</span>\r\n <mz-svg-icon key=\"chevron-left\"></mz-svg-icon>\r\n </button>\r\n <ng-container *ngFor=\"let p of pages\">\r\n <span class=\"page-ellipsis page-link disabled\" *ngIf=\"isEllipsis(p)\">...</span>\r\n <button class=\"page-link\" [ngClass]=\"{'active': p == page}\" (click)=\"changePageNumber(p)\"\r\n *ngIf=\"!isEllipsis(p)\">{{p}}</button>\r\n </ng-container>\r\n <button class=\"page-link\" [ngClass]=\"{'disabled': page == pageCount}\" (click)=\"changePageNumber(page+1)\">\r\n <span class=\"sr-only\">Next page</span>\r\n <mz-svg-icon key=\"chevron-right\"></mz-svg-icon>\r\n </button>\r\n </nav>\r\n <div class=\"pagination-size\">\r\n Show\r\n <select #c (change)=\"changePageSize(c.value)\" name=\"pageSizeControl\" class=\"page-size-control\">\r\n <option *ngFor=\"let size of pageSizeOptions\" [attr.selected]=\"pageSize == size ? true : null\"\r\n [value]=\"size\">{{size}}</option>\r\n </select>\r\n per page\r\n </div>\r\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SvgIconComponent, selector: "mz-svg-icon", inputs: ["key", "type", "size"] }] }); }
186
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: PaginationComponent, isStandalone: true, selector: "mz-pagination", inputs: { length: "length", page: "page", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions" }, outputs: { changePage: "changePage" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"pagination-wrapper\">\n <nav class=\"pagination-nav\" aria-label=\"pagination\">\n <button class=\"page-link\" [ngClass]=\"{'disabled': page == 1}\" (click)=\"changePageNumber(page-1)\">\n <span class=\"sr-only\">Previous page</span>\n <mz-svg-icon key=\"chevron-left\"></mz-svg-icon>\n </button>\n <ng-container *ngFor=\"let p of pages\">\n <span class=\"page-ellipsis page-link disabled\" *ngIf=\"isEllipsis(p)\">...</span>\n <button class=\"page-link\" [ngClass]=\"{'active': p == page}\" (click)=\"changePageNumber(p)\"\n *ngIf=\"!isEllipsis(p)\">{{p}}</button>\n </ng-container>\n <button class=\"page-link\" [ngClass]=\"{'disabled': page == pageCount}\" (click)=\"changePageNumber(page+1)\">\n <span class=\"sr-only\">Next page</span>\n <mz-svg-icon key=\"chevron-right\"></mz-svg-icon>\n </button>\n </nav>\n <div class=\"pagination-size\">\n Show\n <select #c (change)=\"changePageSize(c.value)\" name=\"pageSizeControl\" class=\"page-size-control\">\n <option *ngFor=\"let size of pageSizeOptions\" [attr.selected]=\"pageSize == size ? true : null\"\n [value]=\"size\">{{size}}</option>\n </select>\n per page\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SvgIconComponent, selector: "mz-svg-icon", inputs: ["key", "type", "size"] }] }); }
181
187
  }
182
188
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PaginationComponent, decorators: [{
183
189
  type: Component,
184
- args: [{ selector: 'mz-pagination', imports: [CommonModule, SvgIconComponent], standalone: true, template: "<div class=\"pagination-wrapper\">\r\n <nav class=\"pagination-nav\" aria-label=\"pagination\">\r\n <button class=\"page-link\" [ngClass]=\"{'disabled': page == 1}\" (click)=\"changePageNumber(page-1)\">\r\n <span class=\"sr-only\">Previous page</span>\r\n <mz-svg-icon key=\"chevron-left\"></mz-svg-icon>\r\n </button>\r\n <ng-container *ngFor=\"let p of pages\">\r\n <span class=\"page-ellipsis page-link disabled\" *ngIf=\"isEllipsis(p)\">...</span>\r\n <button class=\"page-link\" [ngClass]=\"{'active': p == page}\" (click)=\"changePageNumber(p)\"\r\n *ngIf=\"!isEllipsis(p)\">{{p}}</button>\r\n </ng-container>\r\n <button class=\"page-link\" [ngClass]=\"{'disabled': page == pageCount}\" (click)=\"changePageNumber(page+1)\">\r\n <span class=\"sr-only\">Next page</span>\r\n <mz-svg-icon key=\"chevron-right\"></mz-svg-icon>\r\n </button>\r\n </nav>\r\n <div class=\"pagination-size\">\r\n Show\r\n <select #c (change)=\"changePageSize(c.value)\" name=\"pageSizeControl\" class=\"page-size-control\">\r\n <option *ngFor=\"let size of pageSizeOptions\" [attr.selected]=\"pageSize == size ? true : null\"\r\n [value]=\"size\">{{size}}</option>\r\n </select>\r\n per page\r\n </div>\r\n</div>" }]
190
+ args: [{ selector: 'mz-pagination', imports: [CommonModule, SvgIconComponent], standalone: true, template: "<div class=\"pagination-wrapper\">\n <nav class=\"pagination-nav\" aria-label=\"pagination\">\n <button class=\"page-link\" [ngClass]=\"{'disabled': page == 1}\" (click)=\"changePageNumber(page-1)\">\n <span class=\"sr-only\">Previous page</span>\n <mz-svg-icon key=\"chevron-left\"></mz-svg-icon>\n </button>\n <ng-container *ngFor=\"let p of pages\">\n <span class=\"page-ellipsis page-link disabled\" *ngIf=\"isEllipsis(p)\">...</span>\n <button class=\"page-link\" [ngClass]=\"{'active': p == page}\" (click)=\"changePageNumber(p)\"\n *ngIf=\"!isEllipsis(p)\">{{p}}</button>\n </ng-container>\n <button class=\"page-link\" [ngClass]=\"{'disabled': page == pageCount}\" (click)=\"changePageNumber(page+1)\">\n <span class=\"sr-only\">Next page</span>\n <mz-svg-icon key=\"chevron-right\"></mz-svg-icon>\n </button>\n </nav>\n <div class=\"pagination-size\">\n Show\n <select #c (change)=\"changePageSize(c.value)\" name=\"pageSizeControl\" class=\"page-size-control\">\n <option *ngFor=\"let size of pageSizeOptions\" [attr.selected]=\"pageSize == size ? true : null\"\n [value]=\"size\">{{size}}</option>\n </select>\n per page\n </div>\n</div>" }]
185
191
  }], ctorParameters: () => [{ type: undefined, decorators: [{
186
192
  type: Optional
187
193
  }, {
@@ -202,17 +208,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
202
208
  class ResultTableComponent {
203
209
  constructor() {
204
210
  this.loading = false;
205
- this.options = { hidePagination: false };
206
211
  this.pageChange = new EventEmitter();
212
+ this.options = { hidePagination: false, skipScrolling: false };
213
+ }
214
+ ngAfterViewInit() {
207
215
  }
208
216
  changePage(page, table) {
209
217
  this.pageChange.emit(page);
210
- setTimeout(() => {
211
- table.scrollIntoView({ behavior: 'smooth', block: 'start' });
212
- });
218
+ if (!this.options.skipScrolling) {
219
+ setTimeout(() => {
220
+ table.scrollIntoView({ behavior: 'smooth', block: 'start' });
221
+ });
222
+ }
213
223
  }
214
224
  searchAgain() {
215
- this.pageChange.emit({ page: this.model?.page || 1, pageSize: this.model?.pageSize || 20 }); // TODO
225
+ this.pageChange.emit({ pageNumber: this.model?.pageNumber || 1, pageSize: this.model?.pageSize || 20 }); // TODO
216
226
  }
217
227
  get state() {
218
228
  if (this.loading) {
@@ -223,26 +233,33 @@ class ResultTableComponent {
223
233
  }
224
234
  return 'succeeded';
225
235
  }
236
+ get isEmpty() {
237
+ return !this.model || this.model.items.length === 0;
238
+ }
226
239
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ResultTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
227
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: ResultTableComponent, isStandalone: true, selector: "mz-result-table", inputs: { loading: "loading", error: "error", model: "model", header: "header", body: "body", options: "options" }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<div class=\"result-table\" [ngClass]=\"{'loading': state === 'loading', 'failed': state === 'failed'}\" #tableRef>\r\n <div class=\"loading-overlay-spinner\" *ngIf=\"state === 'loading'\">\r\n <mz-spinner size=\"large\"></mz-spinner>\r\n </div>\r\n <table class=\"table\" [ngClass]=\"{'has-overlay' : state === 'loading'}\">\r\n <caption *ngIf=\"state === 'succeeded' && model && model.results.length > 0\">\r\n {{(model.page-1) * model.pageSize + 1}} - {{((model.page-1) * model.pageSize) + model.results.length}} of {{ model.totalResults }} results\r\n </caption>\r\n <thead>\r\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"state == 'succeeded' && model\">\r\n <ng-container *ngFor=\"let result of model.results\">\r\n <ng-container *ngTemplateOutlet=\"body; context: { $implicit: result }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n <div class=\"table-pagination\" *ngIf=\"state === 'succeeded' && model && model.results.length > 0 && !options?.hidePagination\">\r\n <mz-pagination [length]=\"model.totalResults\" [page]=\"model.page\" [pageSize]=\"model.pageSize\"\r\n (changePage)=\"changePage($event, tableRef)\"></mz-pagination>\r\n </div>\r\n <div class=\"state-message\" *ngIf=\"state == 'succeeded' && model?.results?.length === 0\">\r\n <div class=\"title\">No results found</div>\r\n </div>\r\n <div class=\"state-message\" *ngIf=\"state == 'failed'\">\r\n <div class=\"title\">\r\n <mz-svg-icon key=\"x-circle\" type=\"solid\" class=\"text-danger\"></mz-svg-icon>\r\n Something went wrong\r\n </div>\r\n <div>Unexpected error, <a (click)=\"searchAgain()\" class=\"link-action\">try searching again</a>.</div>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PaginationComponent, selector: "mz-pagination", inputs: ["length", "page", "pageSize", "pageSizeOptions"], outputs: ["changePage"] }, { kind: "component", type: SpinnerComponent, selector: "mz-spinner", inputs: ["size", "type"] }, { kind: "component", type: SvgIconComponent, selector: "mz-svg-icon", inputs: ["key", "type", "size"] }] }); }
240
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: ResultTableComponent, isStandalone: true, selector: "mz-result-table", inputs: { loading: "loading", error: "error", model: "model", pageSizeOptions: "pageSizeOptions", options: "options" }, outputs: { pageChange: "pageChange" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ["headerTemplate"], descendants: true }, { propertyName: "bodyTemplate", first: true, predicate: ["bodyTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"result-table\" [ngClass]=\"{'loading': state === 'loading', 'failed': state === 'failed'}\" #tableRef>\n <div class=\"loading-overlay-spinner\" *ngIf=\"state === 'loading'\">\n <mz-spinner size=\"large\"></mz-spinner>\n </div>\n <table class=\"table\" [ngClass]=\"{'has-overlay' : state === 'loading'}\">\n <caption *ngIf=\"state === 'succeeded' && model && model.items.length > 0\">\n {{(model.pageNumber-1) * model.pageSize + 1}} - {{(model.pageNumber-1) * model.pageSize + model.items.length}} of {{ model.totalItems }} results\n </caption>\n <thead>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </thead>\n <tbody>\n @if(state === 'succeeded' && !isEmpty) {\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\n }\n </tbody>\n </table>\n <div class=\"table-pagination\" *ngIf=\"state === 'succeeded' && !options?.hidePagination && !isEmpty\">\n <mz-pagination [length]=\"model!.totalItems\" [page]=\"model!.pageNumber\" [pageSize]=\"model!.pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (changePage)=\"changePage($event, tableRef)\"></mz-pagination>\n </div>\n <div class=\"state-message\" *ngIf=\"state == 'succeeded' && isEmpty\">\n <div class=\"title\">No results found</div>\n </div>\n <div class=\"state-message\" *ngIf=\"state == 'failed'\">\n <div class=\"title\">\n <mz-svg-icon key=\"x-circle\" type=\"solid\" class=\"text-danger\"></mz-svg-icon>\n Something went wrong\n </div>\n <div>Unexpected error, <a (click)=\"searchAgain()\" class=\"link-action\">try searching again</a>.</div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PaginationComponent, selector: "mz-pagination", inputs: ["length", "page", "pageSize", "pageSizeOptions"], outputs: ["changePage"] }, { kind: "component", type: SpinnerComponent, selector: "mz-spinner", inputs: ["size", "type"] }, { kind: "component", type: SvgIconComponent, selector: "mz-svg-icon", inputs: ["key", "type", "size"] }] }); }
228
241
  }
229
242
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ResultTableComponent, decorators: [{
230
243
  type: Component,
231
- args: [{ selector: 'mz-result-table', imports: [CommonModule, PaginationComponent, SpinnerComponent, SvgIconComponent], standalone: true, template: "<div class=\"result-table\" [ngClass]=\"{'loading': state === 'loading', 'failed': state === 'failed'}\" #tableRef>\r\n <div class=\"loading-overlay-spinner\" *ngIf=\"state === 'loading'\">\r\n <mz-spinner size=\"large\"></mz-spinner>\r\n </div>\r\n <table class=\"table\" [ngClass]=\"{'has-overlay' : state === 'loading'}\">\r\n <caption *ngIf=\"state === 'succeeded' && model && model.results.length > 0\">\r\n {{(model.page-1) * model.pageSize + 1}} - {{((model.page-1) * model.pageSize) + model.results.length}} of {{ model.totalResults }} results\r\n </caption>\r\n <thead>\r\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"state == 'succeeded' && model\">\r\n <ng-container *ngFor=\"let result of model.results\">\r\n <ng-container *ngTemplateOutlet=\"body; context: { $implicit: result }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n <div class=\"table-pagination\" *ngIf=\"state === 'succeeded' && model && model.results.length > 0 && !options?.hidePagination\">\r\n <mz-pagination [length]=\"model.totalResults\" [page]=\"model.page\" [pageSize]=\"model.pageSize\"\r\n (changePage)=\"changePage($event, tableRef)\"></mz-pagination>\r\n </div>\r\n <div class=\"state-message\" *ngIf=\"state == 'succeeded' && model?.results?.length === 0\">\r\n <div class=\"title\">No results found</div>\r\n </div>\r\n <div class=\"state-message\" *ngIf=\"state == 'failed'\">\r\n <div class=\"title\">\r\n <mz-svg-icon key=\"x-circle\" type=\"solid\" class=\"text-danger\"></mz-svg-icon>\r\n Something went wrong\r\n </div>\r\n <div>Unexpected error, <a (click)=\"searchAgain()\" class=\"link-action\">try searching again</a>.</div>\r\n </div>\r\n</div>\r\n" }]
244
+ args: [{ selector: 'mz-result-table', imports: [CommonModule, PaginationComponent, SpinnerComponent, SvgIconComponent], standalone: true, template: "<div class=\"result-table\" [ngClass]=\"{'loading': state === 'loading', 'failed': state === 'failed'}\" #tableRef>\n <div class=\"loading-overlay-spinner\" *ngIf=\"state === 'loading'\">\n <mz-spinner size=\"large\"></mz-spinner>\n </div>\n <table class=\"table\" [ngClass]=\"{'has-overlay' : state === 'loading'}\">\n <caption *ngIf=\"state === 'succeeded' && model && model.items.length > 0\">\n {{(model.pageNumber-1) * model.pageSize + 1}} - {{(model.pageNumber-1) * model.pageSize + model.items.length}} of {{ model.totalItems }} results\n </caption>\n <thead>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </thead>\n <tbody>\n @if(state === 'succeeded' && !isEmpty) {\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\n }\n </tbody>\n </table>\n <div class=\"table-pagination\" *ngIf=\"state === 'succeeded' && !options?.hidePagination && !isEmpty\">\n <mz-pagination [length]=\"model!.totalItems\" [page]=\"model!.pageNumber\" [pageSize]=\"model!.pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (changePage)=\"changePage($event, tableRef)\"></mz-pagination>\n </div>\n <div class=\"state-message\" *ngIf=\"state == 'succeeded' && isEmpty\">\n <div class=\"title\">No results found</div>\n </div>\n <div class=\"state-message\" *ngIf=\"state == 'failed'\">\n <div class=\"title\">\n <mz-svg-icon key=\"x-circle\" type=\"solid\" class=\"text-danger\"></mz-svg-icon>\n Something went wrong\n </div>\n <div>Unexpected error, <a (click)=\"searchAgain()\" class=\"link-action\">try searching again</a>.</div>\n </div>\n</div>\n" }]
232
245
  }], ctorParameters: () => [], propDecorators: { loading: [{
233
246
  type: Input
234
247
  }], error: [{
235
248
  type: Input
236
249
  }], model: [{
237
250
  type: Input
238
- }], header: [{
239
- type: Input
240
- }], body: [{
241
- type: Input
242
- }], options: [{
251
+ }], headerTemplate: [{
252
+ type: ContentChild,
253
+ args: ['headerTemplate']
254
+ }], bodyTemplate: [{
255
+ type: ContentChild,
256
+ args: ['bodyTemplate']
257
+ }], pageSizeOptions: [{
243
258
  type: Input
244
259
  }], pageChange: [{
245
260
  type: Output
261
+ }], options: [{
262
+ type: Input
246
263
  }] } });
247
264
 
248
265
  class PageLoadingIndicatorComponent {
@@ -262,11 +279,11 @@ class PageLoadingIndicatorComponent {
262
279
  this.subs.unsubscribe();
263
280
  }
264
281
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageLoadingIndicatorComponent, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
265
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: PageLoadingIndicatorComponent, isStandalone: true, selector: "mz-page-loading-indicator", inputs: { isLoading: "isLoading" }, ngImport: i0, template: "<div class=\"progress-bar-container\" *ngIf=\"isLoading\">\r\n <div class=\"progress-bar progress-bar-indeterminate\">\r\n <div class=\"progress-bar-value\"></div>\r\n </div>\r\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
282
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: PageLoadingIndicatorComponent, isStandalone: true, selector: "mz-page-loading-indicator", inputs: { isLoading: "isLoading" }, ngImport: i0, template: "<div class=\"progress-bar-container\" *ngIf=\"isLoading\">\n <div class=\"progress-bar progress-bar-indeterminate\">\n <div class=\"progress-bar-value\"></div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
266
283
  }
267
284
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageLoadingIndicatorComponent, decorators: [{
268
285
  type: Component,
269
- args: [{ selector: 'mz-page-loading-indicator', imports: [CommonModule], standalone: true, template: "<div class=\"progress-bar-container\" *ngIf=\"isLoading\">\r\n <div class=\"progress-bar progress-bar-indeterminate\">\r\n <div class=\"progress-bar-value\"></div>\r\n </div>\r\n</div>" }]
286
+ args: [{ selector: 'mz-page-loading-indicator', imports: [CommonModule], standalone: true, template: "<div class=\"progress-bar-container\" *ngIf=\"isLoading\">\n <div class=\"progress-bar progress-bar-indeterminate\">\n <div class=\"progress-bar-value\"></div>\n </div>\n</div>" }]
270
287
  }], ctorParameters: () => [{ type: i1$1.Router }], propDecorators: { isLoading: [{
271
288
  type: Input
272
289
  }] } });
@@ -285,11 +302,11 @@ class PageHeaderComponent {
285
302
  }
286
303
  ngOnInit() { }
287
304
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageHeaderComponent, deps: [{ token: i1$2.Title }], target: i0.ɵɵFactoryTarget.Component }); }
288
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: PageHeaderComponent, isStandalone: true, selector: "mz-page-header", inputs: { pageTitle: "pageTitle" }, ngImport: i0, template: "<header class=\"page-header\">\r\n <h1>{{ pageTitle }}</h1>\r\n <ng-content></ng-content>\r\n</header>", styles: [""] }); }
305
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: PageHeaderComponent, isStandalone: true, selector: "mz-page-header", inputs: { pageTitle: "pageTitle" }, ngImport: i0, template: "<header class=\"page-header\">\n <h1>{{ pageTitle }}</h1>\n <ng-content></ng-content>\n</header>", styles: [""] }); }
289
306
  }
290
307
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageHeaderComponent, decorators: [{
291
308
  type: Component,
292
- args: [{ selector: 'mz-page-header', standalone: true, template: "<header class=\"page-header\">\r\n <h1>{{ pageTitle }}</h1>\r\n <ng-content></ng-content>\r\n</header>" }]
309
+ args: [{ selector: 'mz-page-header', standalone: true, template: "<header class=\"page-header\">\n <h1>{{ pageTitle }}</h1>\n <ng-content></ng-content>\n</header>" }]
293
310
  }], ctorParameters: () => [{ type: i1$2.Title }], propDecorators: { pageTitle: [{
294
311
  type: Input
295
312
  }] } });
@@ -374,11 +391,11 @@ class AlertComponent {
374
391
  return icon;
375
392
  }
376
393
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
377
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: AlertComponent, isStandalone: true, selector: "mz-alert", inputs: { title: "title", type: "type", body: "body", footer: "footer" }, ngImport: i0, template: "<div [className]=\"'alert alert-' + type\">\r\n\r\n <div>\r\n <div class=\"alert-icon\">\r\n <mz-svg-icon [key]=\"getAlertIcon()\" type=\"solid\"></mz-svg-icon>\r\n </div>\r\n\r\n <div class=\"alert-title\">\r\n <strong>{{ title }}</strong>\r\n </div>\r\n </div>\r\n\r\n <div class=\"alert-body\" *ngIf=\"body\">\r\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\r\n </div>\r\n\r\n <div class=\"alert-footer\" *ngIf=\"footer\">\r\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\r\n </div>\r\n\r\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SvgIconComponent, selector: "mz-svg-icon", inputs: ["key", "type", "size"] }] }); }
394
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: AlertComponent, isStandalone: true, selector: "mz-alert", inputs: { title: "title", type: "type", body: "body", footer: "footer" }, ngImport: i0, template: "<div [className]=\"'alert alert-' + type\">\n\n <div>\n <div class=\"alert-icon\">\n <mz-svg-icon [key]=\"getAlertIcon()\" type=\"solid\"></mz-svg-icon>\n </div>\n\n <div class=\"alert-title\">\n <strong>{{ title }}</strong>\n </div>\n </div>\n\n <div class=\"alert-body\" *ngIf=\"body\">\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n </div>\n\n <div class=\"alert-footer\" *ngIf=\"footer\">\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SvgIconComponent, selector: "mz-svg-icon", inputs: ["key", "type", "size"] }] }); }
378
395
  }
379
396
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AlertComponent, decorators: [{
380
397
  type: Component,
381
- args: [{ selector: 'mz-alert', imports: [CommonModule, SvgIconComponent], standalone: true, template: "<div [className]=\"'alert alert-' + type\">\r\n\r\n <div>\r\n <div class=\"alert-icon\">\r\n <mz-svg-icon [key]=\"getAlertIcon()\" type=\"solid\"></mz-svg-icon>\r\n </div>\r\n\r\n <div class=\"alert-title\">\r\n <strong>{{ title }}</strong>\r\n </div>\r\n </div>\r\n\r\n <div class=\"alert-body\" *ngIf=\"body\">\r\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\r\n </div>\r\n\r\n <div class=\"alert-footer\" *ngIf=\"footer\">\r\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\r\n </div>\r\n\r\n</div>" }]
398
+ args: [{ selector: 'mz-alert', imports: [CommonModule, SvgIconComponent], standalone: true, template: "<div [className]=\"'alert alert-' + type\">\n\n <div>\n <div class=\"alert-icon\">\n <mz-svg-icon [key]=\"getAlertIcon()\" type=\"solid\"></mz-svg-icon>\n </div>\n\n <div class=\"alert-title\">\n <strong>{{ title }}</strong>\n </div>\n </div>\n\n <div class=\"alert-body\" *ngIf=\"body\">\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n </div>\n\n <div class=\"alert-footer\" *ngIf=\"footer\">\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n\n</div>" }]
382
399
  }], ctorParameters: () => [], propDecorators: { title: [{
383
400
  type: Input
384
401
  }], type: [{
@@ -558,9 +575,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
558
575
  }] } });
559
576
 
560
577
  class SubjectDisplayPipe {
561
- transform(subject) {
578
+ transform(subject, defaultValue) {
562
579
  if (!subject) {
563
- return '';
580
+ return defaultValue || null;
564
581
  }
565
582
  return subject.givenName && subject.familyName ? `${subject.givenName} ${subject.familyName}` : subject.userPrincipalName;
566
583
  }
@@ -581,15 +598,15 @@ class ButtonDirective {
581
598
  this.hostElement = hostElement;
582
599
  this.variant = 'secondary';
583
600
  this.busy = false;
584
- this.svgContent = `
585
- <svg class="button-loading-spinner" xmlns="http://www.w3.org/2000/svg" fill="none"
586
- viewBox="0 0 24 24">
587
- <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4">
588
- </circle>
589
- <path class="opacity-75" fill="currentColor"
590
- d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z">
591
- </path>
592
- </svg>
601
+ this.svgContent = `
602
+ <svg class="button-loading-spinner" xmlns="http://www.w3.org/2000/svg" fill="none"
603
+ viewBox="0 0 24 24">
604
+ <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4">
605
+ </circle>
606
+ <path class="opacity-75" fill="currentColor"
607
+ d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z">
608
+ </path>
609
+ </svg>
593
610
  `;
594
611
  this.subscription = new Subscription();
595
612
  }
@@ -606,7 +623,7 @@ class ButtonDirective {
606
623
  }
607
624
  attachOrDeattachSpinner() {
608
625
  if (this.busy) {
609
- const loadingElement = this.renderer.createElement('div');
626
+ const loadingElement = this.renderer.createElement('span');
610
627
  loadingElement.innerHTML = this.svgContent;
611
628
  this.renderer.addClass(loadingElement, 'button-loading-overlay');
612
629
  this.renderer.appendChild(this.hostElement.nativeElement, loadingElement);
@@ -672,11 +689,11 @@ class WizardProgressTrackerComponent {
672
689
  this.toggled = !this.toggled;
673
690
  }
674
691
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: WizardProgressTrackerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
675
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: WizardProgressTrackerComponent, isStandalone: true, selector: "mz-wizard-progress-tracker", inputs: { steps: "steps", currentStep: "currentStep" }, outputs: { stepChange: "stepChange" }, ngImport: i0, template: "<div class=\"wizard-progress-tracker\">\r\n <div class=\"direction-container\">\r\n <span class=\"steps-count\">Step {{ currentStep + 1 }} of {{ steps.length }}</span>\r\n <div class=\"wizard-steps-container\" [ngClass]=\"{'toggled': toggled}\">\r\n <div *ngFor=\"let step of steps; index as i;\" class=\"wizard-step\"\r\n [ngClass]=\"{ 'previous': i < currentStep, 'current': i === currentStep, 'unvisited': i > currentStep }\">\r\n <ng-container>\r\n <div class=\"wizard-step-icon-container\">\r\n <div class=\"spacer left\">\r\n </div>\r\n <div *ngIf=\"i > 0\" class=\"step-line left\"></div>\r\n\r\n <div *ngIf=\"i < currentStep\" class=\"wizard-step-icon\">\r\n <mz-svg-icon key=\"check-circle\" type=\"solid\">\r\n </mz-svg-icon>\r\n </div>\r\n <div *ngIf=\"i === currentStep\" class=\"wizard-step-icon\">\r\n <div class=\"step-inner-circle\"></div>\r\n </div>\r\n <div *ngIf=\"i > currentStep\" class=\"wizard-step-icon\">\r\n </div>\r\n\r\n <div *ngIf=\"i < (steps.length - 1)\" class=\"step-line step-line-right\"></div>\r\n <div class=\"spacer right\"></div>\r\n </div>\r\n <a *ngIf=\"i < currentStep\" class=\"step-desc\" (click)=\"goToStep(step)\"> {{\r\n step.name\r\n }}</a>\r\n <div *ngIf=\" i === currentStep\" class=\"step-desc\"> {{ step.name }}\r\n </div>\r\n <div *ngIf=\" i > currentStep\" class=\"step-desc\"> {{ step.name }}\r\n </div>\r\n <div class=\"toggable-icon\">\r\n <button *ngIf=\"!toggled\" (click)=\"toggle()\">\r\n <mz-svg-icon key=\"chevron-down\"></mz-svg-icon>\r\n </button>\r\n <button *ngIf=\"toggled\" (click)=\"toggle()\">\r\n <mz-svg-icon key=\"chevron-up\"></mz-svg-icon>\r\n </button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SvgIconComponent, selector: "mz-svg-icon", inputs: ["key", "type", "size"] }] }); }
692
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: WizardProgressTrackerComponent, isStandalone: true, selector: "mz-wizard-progress-tracker", inputs: { steps: "steps", currentStep: "currentStep" }, outputs: { stepChange: "stepChange" }, ngImport: i0, template: "<div class=\"wizard-progress-tracker\">\n <div class=\"direction-container\">\n <span class=\"steps-count\">Step {{ currentStep + 1 }} of {{ steps.length }}</span>\n <div class=\"wizard-steps-container\" [ngClass]=\"{'toggled': toggled}\">\n <div *ngFor=\"let step of steps; index as i;\" class=\"wizard-step\"\n [ngClass]=\"{ 'previous': i < currentStep, 'current': i === currentStep, 'unvisited': i > currentStep }\">\n <ng-container>\n <div class=\"wizard-step-icon-container\">\n <div class=\"spacer left\">\n </div>\n <div *ngIf=\"i > 0\" class=\"step-line left\"></div>\n\n <div *ngIf=\"i < currentStep\" class=\"wizard-step-icon\">\n <mz-svg-icon key=\"check-circle\" type=\"solid\">\n </mz-svg-icon>\n </div>\n <div *ngIf=\"i === currentStep\" class=\"wizard-step-icon\">\n <div class=\"step-inner-circle\"></div>\n </div>\n <div *ngIf=\"i > currentStep\" class=\"wizard-step-icon\">\n </div>\n\n <div *ngIf=\"i < (steps.length - 1)\" class=\"step-line step-line-right\"></div>\n <div class=\"spacer right\"></div>\n </div>\n <a *ngIf=\"i < currentStep\" class=\"step-desc\" (click)=\"goToStep(step)\"> {{\n step.name\n }}</a>\n <div *ngIf=\" i === currentStep\" class=\"step-desc\"> {{ step.name }}\n </div>\n <div *ngIf=\" i > currentStep\" class=\"step-desc\"> {{ step.name }}\n </div>\n <div class=\"toggable-icon\">\n <button *ngIf=\"!toggled\" (click)=\"toggle()\">\n <mz-svg-icon key=\"chevron-down\"></mz-svg-icon>\n </button>\n <button *ngIf=\"toggled\" (click)=\"toggle()\">\n <mz-svg-icon key=\"chevron-up\"></mz-svg-icon>\n </button>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SvgIconComponent, selector: "mz-svg-icon", inputs: ["key", "type", "size"] }] }); }
676
693
  }
677
694
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: WizardProgressTrackerComponent, decorators: [{
678
695
  type: Component,
679
- args: [{ selector: 'mz-wizard-progress-tracker', standalone: true, imports: [CommonModule, SvgIconComponent], template: "<div class=\"wizard-progress-tracker\">\r\n <div class=\"direction-container\">\r\n <span class=\"steps-count\">Step {{ currentStep + 1 }} of {{ steps.length }}</span>\r\n <div class=\"wizard-steps-container\" [ngClass]=\"{'toggled': toggled}\">\r\n <div *ngFor=\"let step of steps; index as i;\" class=\"wizard-step\"\r\n [ngClass]=\"{ 'previous': i < currentStep, 'current': i === currentStep, 'unvisited': i > currentStep }\">\r\n <ng-container>\r\n <div class=\"wizard-step-icon-container\">\r\n <div class=\"spacer left\">\r\n </div>\r\n <div *ngIf=\"i > 0\" class=\"step-line left\"></div>\r\n\r\n <div *ngIf=\"i < currentStep\" class=\"wizard-step-icon\">\r\n <mz-svg-icon key=\"check-circle\" type=\"solid\">\r\n </mz-svg-icon>\r\n </div>\r\n <div *ngIf=\"i === currentStep\" class=\"wizard-step-icon\">\r\n <div class=\"step-inner-circle\"></div>\r\n </div>\r\n <div *ngIf=\"i > currentStep\" class=\"wizard-step-icon\">\r\n </div>\r\n\r\n <div *ngIf=\"i < (steps.length - 1)\" class=\"step-line step-line-right\"></div>\r\n <div class=\"spacer right\"></div>\r\n </div>\r\n <a *ngIf=\"i < currentStep\" class=\"step-desc\" (click)=\"goToStep(step)\"> {{\r\n step.name\r\n }}</a>\r\n <div *ngIf=\" i === currentStep\" class=\"step-desc\"> {{ step.name }}\r\n </div>\r\n <div *ngIf=\" i > currentStep\" class=\"step-desc\"> {{ step.name }}\r\n </div>\r\n <div class=\"toggable-icon\">\r\n <button *ngIf=\"!toggled\" (click)=\"toggle()\">\r\n <mz-svg-icon key=\"chevron-down\"></mz-svg-icon>\r\n </button>\r\n <button *ngIf=\"toggled\" (click)=\"toggle()\">\r\n <mz-svg-icon key=\"chevron-up\"></mz-svg-icon>\r\n </button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
696
+ args: [{ selector: 'mz-wizard-progress-tracker', standalone: true, imports: [CommonModule, SvgIconComponent], template: "<div class=\"wizard-progress-tracker\">\n <div class=\"direction-container\">\n <span class=\"steps-count\">Step {{ currentStep + 1 }} of {{ steps.length }}</span>\n <div class=\"wizard-steps-container\" [ngClass]=\"{'toggled': toggled}\">\n <div *ngFor=\"let step of steps; index as i;\" class=\"wizard-step\"\n [ngClass]=\"{ 'previous': i < currentStep, 'current': i === currentStep, 'unvisited': i > currentStep }\">\n <ng-container>\n <div class=\"wizard-step-icon-container\">\n <div class=\"spacer left\">\n </div>\n <div *ngIf=\"i > 0\" class=\"step-line left\"></div>\n\n <div *ngIf=\"i < currentStep\" class=\"wizard-step-icon\">\n <mz-svg-icon key=\"check-circle\" type=\"solid\">\n </mz-svg-icon>\n </div>\n <div *ngIf=\"i === currentStep\" class=\"wizard-step-icon\">\n <div class=\"step-inner-circle\"></div>\n </div>\n <div *ngIf=\"i > currentStep\" class=\"wizard-step-icon\">\n </div>\n\n <div *ngIf=\"i < (steps.length - 1)\" class=\"step-line step-line-right\"></div>\n <div class=\"spacer right\"></div>\n </div>\n <a *ngIf=\"i < currentStep\" class=\"step-desc\" (click)=\"goToStep(step)\"> {{\n step.name\n }}</a>\n <div *ngIf=\" i === currentStep\" class=\"step-desc\"> {{ step.name }}\n </div>\n <div *ngIf=\" i > currentStep\" class=\"step-desc\"> {{ step.name }}\n </div>\n <div class=\"toggable-icon\">\n <button *ngIf=\"!toggled\" (click)=\"toggle()\">\n <mz-svg-icon key=\"chevron-down\"></mz-svg-icon>\n </button>\n <button *ngIf=\"toggled\" (click)=\"toggle()\">\n <mz-svg-icon key=\"chevron-up\"></mz-svg-icon>\n </button>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n" }]
680
697
  }], propDecorators: { steps: [{
681
698
  type: Input
682
699
  }], currentStep: [{
@@ -795,7 +812,7 @@ class DateTimeComponent {
795
812
  useExisting: forwardRef(() => DateTimeComponent),
796
813
  multi: true,
797
814
  },
798
- ], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datePicker"], descendants: true }], ngImport: i0, template: "<div class=\"flex\">\r\n <div class=\"field-control-combo\">\r\n <input class=\"field-control\" type=\"text\" [value]=\"date\" (change)=\"updateDate($event)\" [min]=\"min\" [max]=\"max\"\r\n [matDatepicker]=\"datePicker\" (dateChange)=\"updateDateEvent($event)\" [disabled]=\"disabled\" ngDefaultControl>\r\n <div class=\"field-control-addon\">\r\n <button class=\"button button-secondary button-icon\" type=\"button\" (click)=\"datePicker.open()\"\r\n [disabled]=\"disabled\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"\r\n stroke-width=\"2\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\"\r\n d=\"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\" />\r\n </svg>\r\n </button>\r\n <mat-datepicker #datePicker></mat-datepicker>\r\n </div>\r\n </div>\r\n <div class=\"field-control-group mt-1 ml-6\">\r\n <input class=\"field-control\" type=\"time\" [value]=\"time\" (change)=\"updateTime($event)\"\r\n ngDefaultControl [disabled]=\"disabled\">\r\n </div>\r\n</div>\r\n", styles: ["input:disabled,button:disabled{opacity:.6}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1$3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i1$3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }] }); }
815
+ ], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datePicker"], descendants: true }], ngImport: i0, template: "<div class=\"flex\">\n <div class=\"field-control-combo\">\n <input class=\"field-control\" type=\"text\" [value]=\"date\" (change)=\"updateDate($event)\" [min]=\"min\" [max]=\"max\"\n [matDatepicker]=\"datePicker\" (dateChange)=\"updateDateEvent($event)\" [disabled]=\"disabled\" ngDefaultControl>\n <div class=\"field-control-addon\">\n <button class=\"button button-secondary button-icon\" type=\"button\" (click)=\"datePicker.open()\"\n [disabled]=\"disabled\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"\n stroke-width=\"2\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\"\n d=\"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\" />\n </svg>\n </button>\n <mat-datepicker #datePicker></mat-datepicker>\n </div>\n </div>\n <div class=\"field-control-group mt-1 ml-6\">\n <input class=\"field-control\" type=\"time\" [value]=\"time\" (change)=\"updateTime($event)\"\n ngDefaultControl [disabled]=\"disabled\">\n </div>\n</div>\n", styles: ["input:disabled,button:disabled{opacity:.6}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1$3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i1$3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }] }); }
799
816
  }
800
817
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: DateTimeComponent, decorators: [{
801
818
  type: Component,
@@ -805,7 +822,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
805
822
  useExisting: forwardRef(() => DateTimeComponent),
806
823
  multi: true,
807
824
  },
808
- ], imports: [CommonModule, MatDatepickerModule], standalone: true, template: "<div class=\"flex\">\r\n <div class=\"field-control-combo\">\r\n <input class=\"field-control\" type=\"text\" [value]=\"date\" (change)=\"updateDate($event)\" [min]=\"min\" [max]=\"max\"\r\n [matDatepicker]=\"datePicker\" (dateChange)=\"updateDateEvent($event)\" [disabled]=\"disabled\" ngDefaultControl>\r\n <div class=\"field-control-addon\">\r\n <button class=\"button button-secondary button-icon\" type=\"button\" (click)=\"datePicker.open()\"\r\n [disabled]=\"disabled\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"\r\n stroke-width=\"2\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\"\r\n d=\"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\" />\r\n </svg>\r\n </button>\r\n <mat-datepicker #datePicker></mat-datepicker>\r\n </div>\r\n </div>\r\n <div class=\"field-control-group mt-1 ml-6\">\r\n <input class=\"field-control\" type=\"time\" [value]=\"time\" (change)=\"updateTime($event)\"\r\n ngDefaultControl [disabled]=\"disabled\">\r\n </div>\r\n</div>\r\n", styles: ["input:disabled,button:disabled{opacity:.6}\n"] }]
825
+ ], imports: [CommonModule, MatDatepickerModule], standalone: true, template: "<div class=\"flex\">\n <div class=\"field-control-combo\">\n <input class=\"field-control\" type=\"text\" [value]=\"date\" (change)=\"updateDate($event)\" [min]=\"min\" [max]=\"max\"\n [matDatepicker]=\"datePicker\" (dateChange)=\"updateDateEvent($event)\" [disabled]=\"disabled\" ngDefaultControl>\n <div class=\"field-control-addon\">\n <button class=\"button button-secondary button-icon\" type=\"button\" (click)=\"datePicker.open()\"\n [disabled]=\"disabled\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"\n stroke-width=\"2\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\"\n d=\"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\" />\n </svg>\n </button>\n <mat-datepicker #datePicker></mat-datepicker>\n </div>\n </div>\n <div class=\"field-control-group mt-1 ml-6\">\n <input class=\"field-control\" type=\"time\" [value]=\"time\" (change)=\"updateTime($event)\"\n ngDefaultControl [disabled]=\"disabled\">\n </div>\n</div>\n", styles: ["input:disabled,button:disabled{opacity:.6}\n"] }]
809
826
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { datepicker: [{
810
827
  type: ViewChild,
811
828
  args: ['datePicker']
@@ -825,11 +842,11 @@ class InlineMessageDialogComponent {
825
842
  this.body = this.data.body;
826
843
  }
827
844
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InlineMessageDialogComponent, deps: [{ token: DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
828
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: InlineMessageDialogComponent, isStandalone: true, selector: "mz-inline-message-dialog", ngImport: i0, template: "<div class=\"body\" *ngIf=\"body\">\r\n <ng-content *ngTemplateOutlet=\"body\"></ng-content>\r\n</div>", styles: [":host{display:block;background:#fff;border-radius:8px;padding:8px 16px}\n"], dependencies: [{ kind: "ngmodule", type: MatCommonModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: DialogModule }] }); }
845
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: InlineMessageDialogComponent, isStandalone: true, selector: "mz-inline-message-dialog", ngImport: i0, template: "<div class=\"body\" *ngIf=\"body\">\n <ng-content *ngTemplateOutlet=\"body\"></ng-content>\n</div>", styles: [":host{display:block;background:#fff;border-radius:8px;padding:8px 16px}\n"], dependencies: [{ kind: "ngmodule", type: MatCommonModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: DialogModule }] }); }
829
846
  }
830
847
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InlineMessageDialogComponent, decorators: [{
831
848
  type: Component,
832
- args: [{ selector: 'mz-inline-message-dialog', imports: [MatCommonModule, CommonModule, RouterModule, DialogModule], standalone: true, template: "<div class=\"body\" *ngIf=\"body\">\r\n <ng-content *ngTemplateOutlet=\"body\"></ng-content>\r\n</div>", styles: [":host{display:block;background:#fff;border-radius:8px;padding:8px 16px}\n"] }]
849
+ args: [{ selector: 'mz-inline-message-dialog', imports: [MatCommonModule, CommonModule, RouterModule, DialogModule], standalone: true, template: "<div class=\"body\" *ngIf=\"body\">\n <ng-content *ngTemplateOutlet=\"body\"></ng-content>\n</div>", styles: [":host{display:block;background:#fff;border-radius:8px;padding:8px 16px}\n"] }]
833
850
  }], ctorParameters: () => [{ type: undefined, decorators: [{
834
851
  type: Inject,
835
852
  args: [DIALOG_DATA]
@@ -849,11 +866,11 @@ class InlineMessageComponent {
849
866
  });
850
867
  }
851
868
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InlineMessageComponent, deps: [{ token: i1$4.Dialog }], target: i0.ɵɵFactoryTarget.Component }); }
852
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: InlineMessageComponent, isStandalone: true, selector: "mz-inline-message", inputs: { body: "body" }, ngImport: i0, template: "<div class=\"wrapper\">\r\n <button type=\"button\" (click)=\"openDialog()\" class=\"inline-message-btn\">i</button>\r\n</div>", styles: [".wrapper,.title{display:inline}.inline-message-btn{cursor:pointer;border-radius:50%;color:#fff;background-color:#4b5563;width:20px;height:20px;text-align:center;margin:0 5px}\n"], dependencies: [{ kind: "ngmodule", type: MatCommonModule }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: DialogModule }] }); }
869
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: InlineMessageComponent, isStandalone: true, selector: "mz-inline-message", inputs: { body: "body" }, ngImport: i0, template: "<div class=\"wrapper\">\n <button type=\"button\" (click)=\"openDialog()\" class=\"inline-message-btn\">i</button>\n</div>", styles: [".wrapper,.title{display:inline}.inline-message-btn{cursor:pointer;border-radius:50%;color:#fff;background-color:#4b5563;width:20px;height:20px;text-align:center;margin:0 5px}\n"], dependencies: [{ kind: "ngmodule", type: MatCommonModule }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: DialogModule }] }); }
853
870
  }
854
871
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InlineMessageComponent, decorators: [{
855
872
  type: Component,
856
- args: [{ selector: 'mz-inline-message', imports: [MatCommonModule, CommonModule, RouterModule, DialogModule], standalone: true, template: "<div class=\"wrapper\">\r\n <button type=\"button\" (click)=\"openDialog()\" class=\"inline-message-btn\">i</button>\r\n</div>", styles: [".wrapper,.title{display:inline}.inline-message-btn{cursor:pointer;border-radius:50%;color:#fff;background-color:#4b5563;width:20px;height:20px;text-align:center;margin:0 5px}\n"] }]
873
+ args: [{ selector: 'mz-inline-message', imports: [MatCommonModule, CommonModule, RouterModule, DialogModule], standalone: true, template: "<div class=\"wrapper\">\n <button type=\"button\" (click)=\"openDialog()\" class=\"inline-message-btn\">i</button>\n</div>", styles: [".wrapper,.title{display:inline}.inline-message-btn{cursor:pointer;border-radius:50%;color:#fff;background-color:#4b5563;width:20px;height:20px;text-align:center;margin:0 5px}\n"] }]
857
874
  }], ctorParameters: () => [{ type: i1$4.Dialog }], propDecorators: { body: [{
858
875
  type: Input
859
876
  }] } });
@@ -912,11 +929,11 @@ class InfiniteScrollComponent {
912
929
  this.itemSelected.emit(item);
913
930
  }
914
931
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InfiniteScrollComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
915
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: InfiniteScrollComponent, isStandalone: true, selector: "mz-infinite-scroll", inputs: { items: "items", isLoading: "isLoading", containerHeight: "containerHeight" }, outputs: { itemSelected: "itemSelected", loadMore: "loadMore" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: ["itemTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"infinite-scroll-container overflow-auto\" [style.height]=\"containerHeight\" (scroll)=\"onContainerScroll($event)\">\r\n <ng-container *ngIf=\"itemTemplate; else defaultItems\">\r\n <ng-container *ngFor=\"let item of items\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #defaultItems>\r\n <div *ngFor=\"let item of items\" class=\"scroll-item\" [ngClass]=\"{'scroll-item-selected': selectedItem === item}\" (click)=\"onItemClick(item)\">\r\n {{ item.label }}\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Spinner -->\r\n <div *ngIf=\"isLoading\" class=\"scroll-spinner-container\">\r\n <mz-spinner size=\"medium\"></mz-spinner>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SpinnerComponent, selector: "mz-spinner", inputs: ["size", "type"] }] }); }
932
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: InfiniteScrollComponent, isStandalone: true, selector: "mz-infinite-scroll", inputs: { items: "items", isLoading: "isLoading", containerHeight: "containerHeight" }, outputs: { itemSelected: "itemSelected", loadMore: "loadMore" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: ["itemTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"infinite-scroll-container overflow-auto\" [style.height]=\"containerHeight\" (scroll)=\"onContainerScroll($event)\">\n <ng-container *ngIf=\"itemTemplate; else defaultItems\">\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n </ng-container>\n </ng-container>\n <ng-template #defaultItems>\n <div *ngFor=\"let item of items\" class=\"scroll-item\" [ngClass]=\"{'scroll-item-selected': selectedItem === item}\" (click)=\"onItemClick(item)\">\n {{ item.label }}\n </div>\n </ng-template>\n\n <!-- Spinner -->\n <div *ngIf=\"isLoading\" class=\"scroll-spinner-container\">\n <mz-spinner size=\"medium\"></mz-spinner>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SpinnerComponent, selector: "mz-spinner", inputs: ["size", "type"] }] }); }
916
933
  }
917
934
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InfiniteScrollComponent, decorators: [{
918
935
  type: Component,
919
- args: [{ selector: 'mz-infinite-scroll', standalone: true, imports: [CommonModule, SpinnerComponent], template: "<div class=\"infinite-scroll-container overflow-auto\" [style.height]=\"containerHeight\" (scroll)=\"onContainerScroll($event)\">\r\n <ng-container *ngIf=\"itemTemplate; else defaultItems\">\r\n <ng-container *ngFor=\"let item of items\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #defaultItems>\r\n <div *ngFor=\"let item of items\" class=\"scroll-item\" [ngClass]=\"{'scroll-item-selected': selectedItem === item}\" (click)=\"onItemClick(item)\">\r\n {{ item.label }}\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Spinner -->\r\n <div *ngIf=\"isLoading\" class=\"scroll-spinner-container\">\r\n <mz-spinner size=\"medium\"></mz-spinner>\r\n </div>\r\n</div>\r\n" }]
936
+ args: [{ selector: 'mz-infinite-scroll', standalone: true, imports: [CommonModule, SpinnerComponent], template: "<div class=\"infinite-scroll-container overflow-auto\" [style.height]=\"containerHeight\" (scroll)=\"onContainerScroll($event)\">\n <ng-container *ngIf=\"itemTemplate; else defaultItems\">\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n </ng-container>\n </ng-container>\n <ng-template #defaultItems>\n <div *ngFor=\"let item of items\" class=\"scroll-item\" [ngClass]=\"{'scroll-item-selected': selectedItem === item}\" (click)=\"onItemClick(item)\">\n {{ item.label }}\n </div>\n </ng-template>\n\n <!-- Spinner -->\n <div *ngIf=\"isLoading\" class=\"scroll-spinner-container\">\n <mz-spinner size=\"medium\"></mz-spinner>\n </div>\n</div>\n" }]
920
937
  }], propDecorators: { items: [{
921
938
  type: Input
922
939
  }], isLoading: [{
@@ -1049,6 +1066,64 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
1049
1066
  }]
1050
1067
  }] });
1051
1068
 
1069
+ class InlineEditComponent {
1070
+ constructor(renderer) {
1071
+ this.renderer = renderer;
1072
+ this.isEditing = false;
1073
+ this.busy = false;
1074
+ this.layout = 'field';
1075
+ this.save = new EventEmitter();
1076
+ }
1077
+ ngAfterViewInit() {
1078
+ this.renderer.listen(this.ngModelElement?.nativeElement, 'focus', () => {
1079
+ if (!this.isEditing) {
1080
+ this.activate();
1081
+ }
1082
+ });
1083
+ }
1084
+ activate() {
1085
+ this.isEditing = true;
1086
+ this.ngModel.control.markAsTouched();
1087
+ this.originalValue = this.ngModel.value;
1088
+ setTimeout(() => {
1089
+ this.ngModelElement?.nativeElement.focus();
1090
+ });
1091
+ }
1092
+ submitForm() {
1093
+ this.busy = true;
1094
+ this.save.emit(this.ngModel.value);
1095
+ }
1096
+ cancelEdit() {
1097
+ if (this.busy) {
1098
+ return;
1099
+ }
1100
+ this.ngModel.reset(this.originalValue);
1101
+ this.isEditing = false;
1102
+ }
1103
+ exitEdit() {
1104
+ this.isEditing = false;
1105
+ this.busy = false;
1106
+ }
1107
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InlineEditComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
1108
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: InlineEditComponent, isStandalone: true, selector: "mz-inline-edit", inputs: { label: "label", layout: "layout" }, outputs: { save: "save" }, queries: [{ propertyName: "ngModel", first: true, predicate: NgModel, descendants: true }, { propertyName: "ngModelElement", first: true, predicate: NgModel, descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"inline-edit\">\n <form class=\"flex gap-4\" [ngClass]=\"{ 'flex-col': layout === 'form', 'flex-row': layout === 'field' }\">\n @if (isEditing || !label) {\n <ng-content></ng-content>\n } @else if (label && !isEditing) {\n <button type=\"button\" class=\"flex gap-4 cursor-pointer\" (click)=\"activate()\">\n <span>\n {{ label }}\n </span>\n <span class=\"text-secondary\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"size-4\">\n <path d=\"M21.731 2.269a2.625 2.625 0 0 0-3.712 0l-1.157 1.157 3.712 3.712 1.157-1.157a2.625 2.625 0 0 0 0-3.712ZM19.513 8.199l-3.712-3.712-12.15 12.15a5.25 5.25 0 0 0-1.32 2.214l-.8 2.685a.75.75 0 0 0 .933.933l2.685-.8a5.25 5.25 0 0 0 2.214-1.32L19.513 8.2Z\" />\n </svg>\n </span>\n </button>\n }\n\n @if (isEditing) {\n <div class=\"flex gap-2\">\n <!--<button type=\"submit\" mzButton [busy]=\"busy\" (click)=\"submitForm()\">Save</button>\n <button type=\"button\" class=\"button button-tertiary\" (click)=\"cancelEdit()\">Cancel</button>-->\n <button mzButton [busy]=\"busy\" type=\"submit\" (click)=\"submitForm()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-5 w-5\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path fill-rule=\"evenodd\" d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\" clip-rule=\"evenodd\" />\n </svg>\n </button>\n <button type=\"button\" mzButton variant=\"tertiary\" (click)=\"cancelEdit()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-5 w-5\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path fill-rule=\"evenodd\" d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\" clip-rule=\"evenodd\" />\n </svg>\n </button>\n </div>\n }\n </form>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: ButtonDirective, selector: "[mzButton]", inputs: ["variant", "busy"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
1109
+ }
1110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InlineEditComponent, decorators: [{
1111
+ type: Component,
1112
+ args: [{ selector: 'mz-inline-edit', standalone: true, imports: [ButtonDirective, FormsModule, CommonModule], template: "<div class=\"inline-edit\">\n <form class=\"flex gap-4\" [ngClass]=\"{ 'flex-col': layout === 'form', 'flex-row': layout === 'field' }\">\n @if (isEditing || !label) {\n <ng-content></ng-content>\n } @else if (label && !isEditing) {\n <button type=\"button\" class=\"flex gap-4 cursor-pointer\" (click)=\"activate()\">\n <span>\n {{ label }}\n </span>\n <span class=\"text-secondary\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"size-4\">\n <path d=\"M21.731 2.269a2.625 2.625 0 0 0-3.712 0l-1.157 1.157 3.712 3.712 1.157-1.157a2.625 2.625 0 0 0 0-3.712ZM19.513 8.199l-3.712-3.712-12.15 12.15a5.25 5.25 0 0 0-1.32 2.214l-.8 2.685a.75.75 0 0 0 .933.933l2.685-.8a5.25 5.25 0 0 0 2.214-1.32L19.513 8.2Z\" />\n </svg>\n </span>\n </button>\n }\n\n @if (isEditing) {\n <div class=\"flex gap-2\">\n <!--<button type=\"submit\" mzButton [busy]=\"busy\" (click)=\"submitForm()\">Save</button>\n <button type=\"button\" class=\"button button-tertiary\" (click)=\"cancelEdit()\">Cancel</button>-->\n <button mzButton [busy]=\"busy\" type=\"submit\" (click)=\"submitForm()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-5 w-5\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path fill-rule=\"evenodd\" d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\" clip-rule=\"evenodd\" />\n </svg>\n </button>\n <button type=\"button\" mzButton variant=\"tertiary\" (click)=\"cancelEdit()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-5 w-5\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path fill-rule=\"evenodd\" d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\" clip-rule=\"evenodd\" />\n </svg>\n </button>\n </div>\n }\n </form>\n</div>\n" }]
1113
+ }], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { label: [{
1114
+ type: Input
1115
+ }], layout: [{
1116
+ type: Input
1117
+ }], save: [{
1118
+ type: Output
1119
+ }], ngModel: [{
1120
+ type: ContentChild,
1121
+ args: [NgModel]
1122
+ }], ngModelElement: [{
1123
+ type: ContentChild,
1124
+ args: [NgModel, { read: ElementRef }]
1125
+ }] } });
1126
+
1052
1127
  class MuziehComponentHarness {
1053
1128
  }
1054
1129
 
@@ -1079,7 +1154,7 @@ class ResultTableHarness extends MuziehComponentHarness {
1079
1154
  const contentDebugElement = this.resultTableDebugElement;
1080
1155
  const componentInstance = this.evaluateComponentInstance(contentDebugElement);
1081
1156
  const results = contentDebugElement.queryAll(By.css('tbody tr')).map((el) => el.queryAll(By.css('td')).map((td) => td.nativeElement.textContent?.trim()));
1082
- const { page, pageSize, totalResults: total } = componentInstance.model;
1157
+ const { pageNumber: page, pageSize, totalItems: total } = componentInstance.model;
1083
1158
  return {
1084
1159
  results,
1085
1160
  page,
@@ -1123,5 +1198,5 @@ class ResultTableHarness extends MuziehComponentHarness {
1123
1198
  * Generated bundle index. Do not edit.
1124
1199
  */
1125
1200
 
1126
- export { AlertComponent, ButtonDirective, DateDisplayPipe, DateTimeComponent, EnumDisplayPipe, InfiniteScrollComponent, InlineMessageComponent, InlineMessageDialogComponent, MuziehComponentHarness, MuziehComponentsModule, PageHeaderComponent, PageLoadingIndicatorComponent, PaginationComponent, PhoneNumberPipe, ResultTableComponent, ResultTableHarness, SVG_ICON_DEFAULT_OPTIONS, SortDirective, SortKeyDirective, SpinnerComponent, SubjectDisplayPipe, SvgIconComponent, TimeValueAccessorDirective, TimeValueValidatorDirective, WizardProgressTrackerComponent };
1201
+ export { AlertComponent, ButtonDirective, DateDisplayPipe, DateTimeComponent, EnumDisplayPipe, InfiniteScrollComponent, InlineEditComponent, InlineMessageComponent, InlineMessageDialogComponent, MuziehComponentHarness, MuziehComponentsModule, PageHeaderComponent, PageLoadingIndicatorComponent, PaginationComponent, PhoneNumberPipe, ResultTableComponent, ResultTableHarness, SVG_ICON_DEFAULT_OPTIONS, SortDirective, SortKeyDirective, SpinnerComponent, SubjectDisplayPipe, SvgIconComponent, TimeValueAccessorDirective, TimeValueValidatorDirective, WizardProgressTrackerComponent };
1127
1202
  //# sourceMappingURL=muziehdesign-components.mjs.map