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

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 (71) 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-message/inline-message-dialog/inline-message-dialog.component.mjs +3 -3
  33. package/esm2022/lib/inline-message/inline-message.component.mjs +3 -3
  34. package/esm2022/lib/models/loading-state.mjs +1 -1
  35. package/esm2022/lib/models/page-event.mjs +1 -1
  36. package/esm2022/lib/models/result-table-options.mjs +1 -1
  37. package/esm2022/lib/models/sort-event.mjs +1 -1
  38. package/esm2022/lib/models/subject.mjs +1 -1
  39. package/esm2022/lib/models/wizard-step-link.mjs +1 -1
  40. package/esm2022/lib/page-header/page-header.component.mjs +3 -3
  41. package/esm2022/lib/page-loading-indicator/page-loading-indicator.component.mjs +3 -3
  42. package/esm2022/lib/pagination/pagination-default-options.mjs +1 -1
  43. package/esm2022/lib/pagination/pagination-default-options.token.mjs +1 -1
  44. package/esm2022/lib/pagination/pagination.component.mjs +5 -5
  45. package/esm2022/lib/phone-number/phone-number.pipe.mjs +1 -1
  46. package/esm2022/lib/result-table/result-table.component.mjs +25 -14
  47. package/esm2022/lib/result-table/result-table.model.mjs +1 -1
  48. package/esm2022/lib/sort-key.directive.mjs +1 -1
  49. package/esm2022/lib/sort.directive.mjs +1 -1
  50. package/esm2022/lib/spinner/spinner.component.mjs +3 -3
  51. package/esm2022/lib/subject-display/subject-display.pipe.mjs +3 -3
  52. package/esm2022/lib/svg-icon/svg-icon-config.mjs +9 -2
  53. package/esm2022/lib/svg-icon/svg-icon.component.mjs +6 -8
  54. package/esm2022/lib/testing/muzieh-component-harness.mjs +1 -1
  55. package/esm2022/lib/testing/result-table-harness.mjs +2 -2
  56. package/esm2022/lib/time-value-accessor.directive.mjs +1 -1
  57. package/esm2022/lib/time-value-validator.directive.mjs +1 -1
  58. package/esm2022/lib/wizard-progress-tracker/wizard-progress-tracker.component.mjs +3 -3
  59. package/esm2022/public-api.mjs +1 -1
  60. package/fesm2022/muziehdesign-components.mjs +71 -55
  61. package/fesm2022/muziehdesign-components.mjs.map +1 -1
  62. package/lib/enum-display/enum-display.pipe.d.ts +2 -2
  63. package/lib/models/page-event.d.ts +3 -3
  64. package/lib/models/result-table-options.d.ts +2 -1
  65. package/lib/pagination/pagination.component.d.ts +1 -1
  66. package/lib/result-table/result-table.component.d.ts +9 -6
  67. package/lib/result-table/result-table.model.d.ts +5 -5
  68. package/lib/subject-display/subject-display.pipe.d.ts +1 -1
  69. package/lib/svg-icon/svg-icon.component.d.ts +1 -1
  70. package/package.json +1 -1
  71. package/public-api.d.ts +1 -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 } 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';
@@ -16,14 +16,21 @@ import * as i1$4 from '@angular/cdk/dialog';
16
16
  import { DIALOG_DATA, DialogModule } from '@angular/cdk/dialog';
17
17
  import { MatCommonModule } from '@angular/material/core';
18
18
 
19
- const SVG_ICON_DEFAULT_OPTIONS = new InjectionToken('MzSvgIconOptions');
19
+ const SVG_ICON_DEFAULT_OPTIONS = new InjectionToken('MzSvgIconOptions', {
20
+ providedIn: 'root',
21
+ factory: () => {
22
+ return {
23
+ svgIconDefinitionUrl: './assets/icondefinitions.svg'
24
+ };
25
+ }
26
+ });
20
27
 
21
28
  class SvgIconComponent {
22
29
  constructor(config) {
23
30
  this.config = config;
24
31
  this.type = 'outline';
25
32
  this.size = 'medium';
26
- this.fileUrl = config?.svgIconDefinitionUrl || './assets/icondefinitions.svg';
33
+ this.fileUrl = config.svgIconDefinitionUrl;
27
34
  }
28
35
  get url() {
29
36
  if (this.type) {
@@ -31,15 +38,13 @@ class SvgIconComponent {
31
38
  }
32
39
  return this.fileUrl + '#' + this.key;
33
40
  }
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"] }); }
41
+ 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 }); }
42
+ 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
43
  }
37
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SvgIconComponent, decorators: [{
38
45
  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"] }]
46
+ 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
47
  }], ctorParameters: () => [{ type: undefined, decorators: [{
41
- type: Optional
42
- }, {
43
48
  type: Inject,
44
49
  args: [SVG_ICON_DEFAULT_OPTIONS]
45
50
  }] }], propDecorators: { key: [{
@@ -102,11 +107,11 @@ class SpinnerComponent {
102
107
  this.type = 'default'; // TODO: inverse will not exist one day
103
108
  }
104
109
  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"] }] }); }
110
+ 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
111
  }
107
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpinnerComponent, decorators: [{
108
113
  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>" }]
114
+ 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
115
  }], ctorParameters: () => [], propDecorators: { size: [{
111
116
  type: Input
112
117
  }], type: [{
@@ -136,13 +141,13 @@ class PaginationComponent {
136
141
  if (newValue == this.page || newValue < 1 || newValue > this.pageCount) {
137
142
  return;
138
143
  }
139
- this.changePage.emit({ page: newValue, pageSize: this.pageSize });
144
+ this.changePage.emit({ pageNumber: newValue, pageSize: this.pageSize });
140
145
  }
141
146
  changePageSize(newValue) {
142
147
  if (Number(newValue) == this.pageSize) {
143
148
  return;
144
149
  }
145
- this.changePage.emit({ page: 1, pageSize: Number(newValue) });
150
+ this.changePage.emit({ pageNumber: 1, pageSize: Number(newValue) });
146
151
  }
147
152
  updatePages(currentPage, lengthOfItems, currentPageSize) {
148
153
  const pageCount = Math.ceil(lengthOfItems / currentPageSize);
@@ -177,11 +182,11 @@ class PaginationComponent {
177
182
  this.pages = pageNumbers;
178
183
  }
179
184
  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"] }] }); }
185
+ 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
186
  }
182
187
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PaginationComponent, decorators: [{
183
188
  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>" }]
189
+ 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
190
  }], ctorParameters: () => [{ type: undefined, decorators: [{
186
191
  type: Optional
187
192
  }, {
@@ -202,17 +207,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
202
207
  class ResultTableComponent {
203
208
  constructor() {
204
209
  this.loading = false;
205
- this.options = { hidePagination: false };
206
210
  this.pageChange = new EventEmitter();
211
+ this.options = { hidePagination: false, skipScrolling: false };
212
+ }
213
+ ngAfterViewInit() {
207
214
  }
208
215
  changePage(page, table) {
209
216
  this.pageChange.emit(page);
210
- setTimeout(() => {
211
- table.scrollIntoView({ behavior: 'smooth', block: 'start' });
212
- });
217
+ if (!this.options.skipScrolling) {
218
+ setTimeout(() => {
219
+ table.scrollIntoView({ behavior: 'smooth', block: 'start' });
220
+ });
221
+ }
213
222
  }
214
223
  searchAgain() {
215
- this.pageChange.emit({ page: this.model?.page || 1, pageSize: this.model?.pageSize || 20 }); // TODO
224
+ this.pageChange.emit({ pageNumber: this.model?.pageNumber || 1, pageSize: this.model?.pageSize || 20 }); // TODO
216
225
  }
217
226
  get state() {
218
227
  if (this.loading) {
@@ -223,26 +232,33 @@ class ResultTableComponent {
223
232
  }
224
233
  return 'succeeded';
225
234
  }
235
+ get isEmpty() {
236
+ return !this.model || this.model.items.length === 0;
237
+ }
226
238
  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"] }] }); }
239
+ 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
240
  }
229
241
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ResultTableComponent, decorators: [{
230
242
  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" }]
243
+ 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
244
  }], ctorParameters: () => [], propDecorators: { loading: [{
233
245
  type: Input
234
246
  }], error: [{
235
247
  type: Input
236
248
  }], model: [{
237
249
  type: Input
238
- }], header: [{
239
- type: Input
240
- }], body: [{
241
- type: Input
242
- }], options: [{
250
+ }], headerTemplate: [{
251
+ type: ContentChild,
252
+ args: ['headerTemplate']
253
+ }], bodyTemplate: [{
254
+ type: ContentChild,
255
+ args: ['bodyTemplate']
256
+ }], pageSizeOptions: [{
243
257
  type: Input
244
258
  }], pageChange: [{
245
259
  type: Output
260
+ }], options: [{
261
+ type: Input
246
262
  }] } });
247
263
 
248
264
  class PageLoadingIndicatorComponent {
@@ -262,11 +278,11 @@ class PageLoadingIndicatorComponent {
262
278
  this.subs.unsubscribe();
263
279
  }
264
280
  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"] }] }); }
281
+ 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
282
  }
267
283
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageLoadingIndicatorComponent, decorators: [{
268
284
  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>" }]
285
+ 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
286
  }], ctorParameters: () => [{ type: i1$1.Router }], propDecorators: { isLoading: [{
271
287
  type: Input
272
288
  }] } });
@@ -285,11 +301,11 @@ class PageHeaderComponent {
285
301
  }
286
302
  ngOnInit() { }
287
303
  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: [""] }); }
304
+ 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
305
  }
290
306
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageHeaderComponent, decorators: [{
291
307
  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>" }]
308
+ args: [{ selector: 'mz-page-header', standalone: true, template: "<header class=\"page-header\">\n <h1>{{ pageTitle }}</h1>\n <ng-content></ng-content>\n</header>" }]
293
309
  }], ctorParameters: () => [{ type: i1$2.Title }], propDecorators: { pageTitle: [{
294
310
  type: Input
295
311
  }] } });
@@ -374,11 +390,11 @@ class AlertComponent {
374
390
  return icon;
375
391
  }
376
392
  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"] }] }); }
393
+ 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
394
  }
379
395
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AlertComponent, decorators: [{
380
396
  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>" }]
397
+ 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
398
  }], ctorParameters: () => [], propDecorators: { title: [{
383
399
  type: Input
384
400
  }], type: [{
@@ -558,9 +574,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
558
574
  }] } });
559
575
 
560
576
  class SubjectDisplayPipe {
561
- transform(subject) {
577
+ transform(subject, defaultValue) {
562
578
  if (!subject) {
563
- return '';
579
+ return defaultValue || null;
564
580
  }
565
581
  return subject.givenName && subject.familyName ? `${subject.givenName} ${subject.familyName}` : subject.userPrincipalName;
566
582
  }
@@ -581,15 +597,15 @@ class ButtonDirective {
581
597
  this.hostElement = hostElement;
582
598
  this.variant = 'secondary';
583
599
  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>
600
+ this.svgContent = `
601
+ <svg class="button-loading-spinner" xmlns="http://www.w3.org/2000/svg" fill="none"
602
+ viewBox="0 0 24 24">
603
+ <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4">
604
+ </circle>
605
+ <path class="opacity-75" fill="currentColor"
606
+ 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">
607
+ </path>
608
+ </svg>
593
609
  `;
594
610
  this.subscription = new Subscription();
595
611
  }
@@ -606,7 +622,7 @@ class ButtonDirective {
606
622
  }
607
623
  attachOrDeattachSpinner() {
608
624
  if (this.busy) {
609
- const loadingElement = this.renderer.createElement('div');
625
+ const loadingElement = this.renderer.createElement('span');
610
626
  loadingElement.innerHTML = this.svgContent;
611
627
  this.renderer.addClass(loadingElement, 'button-loading-overlay');
612
628
  this.renderer.appendChild(this.hostElement.nativeElement, loadingElement);
@@ -672,11 +688,11 @@ class WizardProgressTrackerComponent {
672
688
  this.toggled = !this.toggled;
673
689
  }
674
690
  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"] }] }); }
691
+ 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
692
  }
677
693
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: WizardProgressTrackerComponent, decorators: [{
678
694
  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" }]
695
+ 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
696
  }], propDecorators: { steps: [{
681
697
  type: Input
682
698
  }], currentStep: [{
@@ -795,7 +811,7 @@ class DateTimeComponent {
795
811
  useExisting: forwardRef(() => DateTimeComponent),
796
812
  multi: true,
797
813
  },
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"] }] }); }
814
+ ], 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
815
  }
800
816
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: DateTimeComponent, decorators: [{
801
817
  type: Component,
@@ -805,7 +821,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
805
821
  useExisting: forwardRef(() => DateTimeComponent),
806
822
  multi: true,
807
823
  },
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"] }]
824
+ ], 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
825
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { datepicker: [{
810
826
  type: ViewChild,
811
827
  args: ['datePicker']
@@ -825,11 +841,11 @@ class InlineMessageDialogComponent {
825
841
  this.body = this.data.body;
826
842
  }
827
843
  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 }] }); }
844
+ 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
845
  }
830
846
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InlineMessageDialogComponent, decorators: [{
831
847
  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"] }]
848
+ 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
849
  }], ctorParameters: () => [{ type: undefined, decorators: [{
834
850
  type: Inject,
835
851
  args: [DIALOG_DATA]
@@ -849,11 +865,11 @@ class InlineMessageComponent {
849
865
  });
850
866
  }
851
867
  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 }] }); }
868
+ 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
869
  }
854
870
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InlineMessageComponent, decorators: [{
855
871
  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"] }]
872
+ 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
873
  }], ctorParameters: () => [{ type: i1$4.Dialog }], propDecorators: { body: [{
858
874
  type: Input
859
875
  }] } });
@@ -912,11 +928,11 @@ class InfiniteScrollComponent {
912
928
  this.itemSelected.emit(item);
913
929
  }
914
930
  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"] }] }); }
931
+ 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
932
  }
917
933
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InfiniteScrollComponent, decorators: [{
918
934
  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" }]
935
+ 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
936
  }], propDecorators: { items: [{
921
937
  type: Input
922
938
  }], isLoading: [{
@@ -1079,7 +1095,7 @@ class ResultTableHarness extends MuziehComponentHarness {
1079
1095
  const contentDebugElement = this.resultTableDebugElement;
1080
1096
  const componentInstance = this.evaluateComponentInstance(contentDebugElement);
1081
1097
  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;
1098
+ const { pageNumber: page, pageSize, totalItems: total } = componentInstance.model;
1083
1099
  return {
1084
1100
  results,
1085
1101
  page,