@codetectonics/mantle 2.0.3 → 2.0.4

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.
@@ -117,10 +117,10 @@ class DataBroadcastService {
117
117
  this.sessionData = new BehaviorSubject({});
118
118
  this.locale = new BehaviorSubject({});
119
119
  }
120
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DataBroadcastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
121
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DataBroadcastService, providedIn: 'root' }); }
120
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DataBroadcastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
121
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DataBroadcastService, providedIn: 'root' }); }
122
122
  }
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DataBroadcastService, decorators: [{
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DataBroadcastService, decorators: [{
124
124
  type: Injectable,
125
125
  args: [{
126
126
  providedIn: 'root'
@@ -192,10 +192,10 @@ class ObjectService {
192
192
  isEmpty(object) {
193
193
  return Object.keys(object).length == 0;
194
194
  }
195
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ObjectService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
196
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ObjectService, providedIn: 'root' }); }
195
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ObjectService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
196
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ObjectService, providedIn: 'root' }); }
197
197
  }
198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ObjectService, decorators: [{
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ObjectService, decorators: [{
199
199
  type: Injectable,
200
200
  args: [{
201
201
  providedIn: 'root'
@@ -265,10 +265,10 @@ class LocaleService {
265
265
  getTranslation(key) {
266
266
  return this.translate.instant(key);
267
267
  }
268
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LocaleService, deps: [{ token: i6.TranslateService }, { token: DataBroadcastService }, { token: ObjectService }], target: i0.ɵɵFactoryTarget.Injectable }); }
269
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LocaleService, providedIn: 'root' }); }
268
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LocaleService, deps: [{ token: i6.TranslateService }, { token: DataBroadcastService }, { token: ObjectService }], target: i0.ɵɵFactoryTarget.Injectable }); }
269
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LocaleService, providedIn: 'root' }); }
270
270
  }
271
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LocaleService, decorators: [{
271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LocaleService, decorators: [{
272
272
  type: Injectable,
273
273
  args: [{
274
274
  providedIn: 'root'
@@ -296,16 +296,16 @@ class CustomPaginatorIntl extends MatPaginatorIntl {
296
296
  this.changes.next();
297
297
  });
298
298
  }
299
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CustomPaginatorIntl, deps: [{ token: DataBroadcastService }, { token: LocaleService }], target: i0.ɵɵFactoryTarget.Injectable }); }
300
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CustomPaginatorIntl }); }
299
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CustomPaginatorIntl, deps: [{ token: DataBroadcastService }, { token: LocaleService }], target: i0.ɵɵFactoryTarget.Injectable }); }
300
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CustomPaginatorIntl }); }
301
301
  }
302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CustomPaginatorIntl, decorators: [{
302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CustomPaginatorIntl, decorators: [{
303
303
  type: Injectable
304
304
  }], ctorParameters: () => [{ type: DataBroadcastService }, { type: LocaleService }] });
305
305
 
306
306
  class MaterialModule {
307
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
308
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.3", ngImport: i0, type: MaterialModule, imports: [CommonModule,
307
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
308
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: MaterialModule, imports: [CommonModule,
309
309
  MatBadgeModule,
310
310
  MatButtonModule,
311
311
  MatCardModule,
@@ -363,7 +363,7 @@ class MaterialModule {
363
363
  MtxSelectModule,
364
364
  MtxColorpickerModule,
365
365
  MtxDatetimepickerModule] }); }
366
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: MaterialModule, providers: [
366
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MaterialModule, providers: [
367
367
  {
368
368
  provide: DateAdapter,
369
369
  useClass: MomentDateAdapter,
@@ -451,7 +451,7 @@ class MaterialModule {
451
451
  MtxColorpickerModule,
452
452
  MtxDatetimepickerModule] }); }
453
453
  }
454
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: MaterialModule, decorators: [{
454
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MaterialModule, decorators: [{
455
455
  type: NgModule,
456
456
  args: [{
457
457
  declarations: [],
@@ -583,10 +583,10 @@ class DynamicPipe {
583
583
  return '';
584
584
  return moment(value, 'YYYY-MM-DD HH:mm').format('DD/MM/YYYY @ HH:mm');
585
585
  }
586
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
587
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.1.3", ngImport: i0, type: DynamicPipe, isStandalone: false, name: "dynamicPipe" }); }
586
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
587
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: DynamicPipe, isStandalone: false, name: "dynamicPipe" }); }
588
588
  }
589
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicPipe, decorators: [{
589
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicPipe, decorators: [{
590
590
  type: Pipe,
591
591
  args: [{
592
592
  name: 'dynamicPipe',
@@ -673,10 +673,10 @@ class WebApiService {
673
673
  prepareHeaders(headers = {}) {
674
674
  return headers;
675
675
  }
676
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WebApiService, deps: [{ token: ENVIRONMENT }, { token: i1.HttpClient }, { token: i1$1.AngularTokenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
677
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WebApiService, providedIn: 'root' }); }
676
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: WebApiService, deps: [{ token: ENVIRONMENT }, { token: i1.HttpClient }, { token: i1$1.AngularTokenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
677
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: WebApiService, providedIn: 'root' }); }
678
678
  }
679
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WebApiService, decorators: [{
679
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: WebApiService, decorators: [{
680
680
  type: Injectable,
681
681
  args: [{
682
682
  providedIn: 'root'
@@ -706,10 +706,10 @@ class SecureImagePipe {
706
706
  });
707
707
  });
708
708
  }
709
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SecureImagePipe, deps: [{ token: WebApiService }], target: i0.ɵɵFactoryTarget.Pipe }); }
710
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.1.3", ngImport: i0, type: SecureImagePipe, isStandalone: false, name: "secureImage" }); }
709
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SecureImagePipe, deps: [{ token: WebApiService }], target: i0.ɵɵFactoryTarget.Pipe }); }
710
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: SecureImagePipe, isStandalone: false, name: "secureImage" }); }
711
711
  }
712
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SecureImagePipe, decorators: [{
712
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SecureImagePipe, decorators: [{
713
713
  type: Pipe,
714
714
  args: [{
715
715
  name: 'secureImage',
@@ -721,10 +721,10 @@ class ClickStopPropagationDirective {
721
721
  onClick(event) {
722
722
  event.stopPropagation();
723
723
  }
724
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ClickStopPropagationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
725
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.3", type: ClickStopPropagationDirective, isStandalone: false, selector: "[click-stop-propagation]", host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 }); }
724
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ClickStopPropagationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
725
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: ClickStopPropagationDirective, isStandalone: false, selector: "[click-stop-propagation]", host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 }); }
726
726
  }
727
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ClickStopPropagationDirective, decorators: [{
727
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ClickStopPropagationDirective, decorators: [{
728
728
  type: Directive,
729
729
  args: [{
730
730
  selector: "[click-stop-propagation]",
@@ -747,10 +747,10 @@ class FieldGridItemDirective {
747
747
  set mantleFieldGridItemRowspan(value) {
748
748
  this.rowspan = value ?? 1;
749
749
  }
750
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: FieldGridItemDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
751
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.3", type: FieldGridItemDirective, isStandalone: false, selector: "[mantleFieldGridItem]", inputs: { mantleFieldGridItemColspan: "mantleFieldGridItemColspan", mantleFieldGridItemRowspan: "mantleFieldGridItemRowspan" }, ngImport: i0 }); }
750
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FieldGridItemDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
751
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: FieldGridItemDirective, isStandalone: false, selector: "[mantleFieldGridItem]", inputs: { mantleFieldGridItemColspan: "mantleFieldGridItemColspan", mantleFieldGridItemRowspan: "mantleFieldGridItemRowspan" }, ngImport: i0 }); }
752
752
  }
753
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: FieldGridItemDirective, decorators: [{
753
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FieldGridItemDirective, decorators: [{
754
754
  type: Directive,
755
755
  args: [{
756
756
  selector: '[mantleFieldGridItem]',
@@ -786,10 +786,10 @@ class FileDropzoneDirective {
786
786
  if (files.length > 0)
787
787
  this.fileDropped.emit(files);
788
788
  }
789
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: FileDropzoneDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
790
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.3", type: FileDropzoneDirective, isStandalone: false, selector: "[file-dropzone]", outputs: { fileDropped: "fileDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "ondrop($event)" }, properties: { "class.file-dropzone": "this.fileDropzone", "class.fileover": "this.fileOver" } }, ngImport: i0 }); }
789
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FileDropzoneDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
790
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: FileDropzoneDirective, isStandalone: false, selector: "[file-dropzone]", outputs: { fileDropped: "fileDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "ondrop($event)" }, properties: { "class.file-dropzone": "this.fileDropzone", "class.fileover": "this.fileOver" } }, ngImport: i0 }); }
791
791
  }
792
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: FileDropzoneDirective, decorators: [{
792
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FileDropzoneDirective, decorators: [{
793
793
  type: Directive,
794
794
  args: [{
795
795
  selector: '[file-dropzone]',
@@ -818,10 +818,10 @@ class LoaderComponent {
818
818
  constructor() {
819
819
  this.delay = 1000;
820
820
  }
821
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
822
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: LoaderComponent, isStandalone: false, selector: "mantle-loader", inputs: { delay: "delay" }, host: { properties: { "style.animation-delay.ms": "delay" } }, ngImport: i0, template: "<mat-spinner class=\"indicator\" color=\"accent\" [strokeWidth]=\"4\" [diameter]=\"200\"></mat-spinner>\n", styles: [":host{animation-delay:0ms;animation-duration:.25s;animation-fill-mode:both;animation-name:loader-component-keyframes;display:flex;height:100%}@keyframes loader-component-keyframes{0%{opacity:0}to{opacity:1}}.indicator{flex:0 0 auto;margin:auto}\n"], dependencies: [{ kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] }); }
821
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
822
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: LoaderComponent, isStandalone: false, selector: "mantle-loader", inputs: { delay: "delay" }, host: { properties: { "style.animation-delay.ms": "delay" } }, ngImport: i0, template: "<mat-spinner class=\"indicator\" color=\"accent\" [strokeWidth]=\"4\" [diameter]=\"200\"></mat-spinner>\n", styles: [":host{animation-delay:0ms;animation-duration:.25s;animation-fill-mode:both;animation-name:loader-component-keyframes;display:flex;height:100%}@keyframes loader-component-keyframes{0%{opacity:0}to{opacity:1}}.indicator{flex:0 0 auto;margin:auto}\n"], dependencies: [{ kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] }); }
823
823
  }
824
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LoaderComponent, decorators: [{
824
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LoaderComponent, decorators: [{
825
825
  type: Component,
826
826
  args: [{ selector: 'mantle-loader', standalone: false, inputs: ['delay'], host: { '[style.animation-delay.ms]': 'delay' }, template: "<mat-spinner class=\"indicator\" color=\"accent\" [strokeWidth]=\"4\" [diameter]=\"200\"></mat-spinner>\n", styles: [":host{animation-delay:0ms;animation-duration:.25s;animation-fill-mode:both;animation-name:loader-component-keyframes;display:flex;height:100%}@keyframes loader-component-keyframes{0%{opacity:0}to{opacity:1}}.indicator{flex:0 0 auto;margin:auto}\n"] }]
827
827
  }] });
@@ -894,10 +894,10 @@ class ArrayService {
894
894
  deepClone(array) {
895
895
  return this.objectService.deepClone({ array: array }).array;
896
896
  }
897
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ArrayService, deps: [{ token: ObjectService }], target: i0.ɵɵFactoryTarget.Injectable }); }
898
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ArrayService, providedIn: 'root' }); }
897
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ArrayService, deps: [{ token: ObjectService }], target: i0.ɵɵFactoryTarget.Injectable }); }
898
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ArrayService, providedIn: 'root' }); }
899
899
  }
900
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ArrayService, decorators: [{
900
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ArrayService, decorators: [{
901
901
  type: Injectable,
902
902
  args: [{
903
903
  providedIn: 'root'
@@ -909,10 +909,10 @@ class ActionsAttributeDisplayComponent {
909
909
  this.value = {};
910
910
  this.actions = [];
911
911
  }
912
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ActionsAttributeDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
913
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: ActionsAttributeDisplayComponent, isStandalone: false, selector: "mantle-actions-attribute-display", inputs: { value: "value", actions: "actions" }, ngImport: i0, template: "<ng-container *ngFor=\"let action of actions\">\n <button mat-icon-button\n *ngIf=\"action.show\"\n click-stop-propagation\n [color]=\"action.colour\"\n type=\"button\"\n (click)=\"action.onClick(value)\">\n <mat-icon>{{ action.icon }}</mat-icon>\n </button>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[click-stop-propagation]" }] }); }
912
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ActionsAttributeDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
913
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ActionsAttributeDisplayComponent, isStandalone: false, selector: "mantle-actions-attribute-display", inputs: { value: "value", actions: "actions" }, ngImport: i0, template: "<ng-container *ngFor=\"let action of actions\">\n <button mat-icon-button\n *ngIf=\"action.show\"\n click-stop-propagation\n [color]=\"action.colour\"\n type=\"button\"\n (click)=\"action.onClick(value)\">\n <mat-icon>{{ action.icon }}</mat-icon>\n </button>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[click-stop-propagation]" }] }); }
914
914
  }
915
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ActionsAttributeDisplayComponent, decorators: [{
915
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ActionsAttributeDisplayComponent, decorators: [{
916
916
  type: Component,
917
917
  args: [{ selector: 'mantle-actions-attribute-display', standalone: false, template: "<ng-container *ngFor=\"let action of actions\">\n <button mat-icon-button\n *ngIf=\"action.show\"\n click-stop-propagation\n [color]=\"action.colour\"\n type=\"button\"\n (click)=\"action.onClick(value)\">\n <mat-icon>{{ action.icon }}</mat-icon>\n </button>\n</ng-container>\n" }]
918
918
  }], propDecorators: { value: [{
@@ -925,10 +925,10 @@ class IconAttributeDisplayComponent {
925
925
  constructor() {
926
926
  this.value = {};
927
927
  }
928
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: IconAttributeDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
929
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: IconAttributeDisplayComponent, isStandalone: false, selector: "mantle-icon-attribute-display", inputs: { value: "value" }, ngImport: i0, template: "<mat-icon *ngIf=\"value\">{{ value }}</mat-icon>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
928
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IconAttributeDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
929
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: IconAttributeDisplayComponent, isStandalone: false, selector: "mantle-icon-attribute-display", inputs: { value: "value" }, ngImport: i0, template: "<mat-icon *ngIf=\"value\">{{ value }}</mat-icon>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
930
930
  }
931
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: IconAttributeDisplayComponent, decorators: [{
931
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: IconAttributeDisplayComponent, decorators: [{
932
932
  type: Component,
933
933
  args: [{ selector: 'mantle-icon-attribute-display', standalone: false, template: "<mat-icon *ngIf=\"value\">{{ value }}</mat-icon>\n" }]
934
934
  }], propDecorators: { value: [{
@@ -954,10 +954,10 @@ class ChipAttributeDisplayComponent {
954
954
  return '';
955
955
  return this.options.colours[this.value] || '';
956
956
  }
957
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ChipAttributeDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
958
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: ChipAttributeDisplayComponent, isStandalone: false, selector: "mantle-chip-attribute-display", inputs: { value: "value", options: "options" }, ngImport: i0, template: "<mat-chip-set>\n <mat-chip *ngFor=\"let chip of chips\" [ngClass]=\"valueSpecificClass\" selected>{{ chip }}</mat-chip>\n</mat-chip-set>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i3.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i3.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }] }); }
957
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ChipAttributeDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
958
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ChipAttributeDisplayComponent, isStandalone: false, selector: "mantle-chip-attribute-display", inputs: { value: "value", options: "options" }, ngImport: i0, template: "<mat-chip-set>\n <mat-chip *ngFor=\"let chip of chips\" [ngClass]=\"valueSpecificClass\" selected>{{ chip }}</mat-chip>\n</mat-chip-set>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i3.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i3.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }] }); }
959
959
  }
960
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ChipAttributeDisplayComponent, decorators: [{
960
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ChipAttributeDisplayComponent, decorators: [{
961
961
  type: Component,
962
962
  args: [{ selector: 'mantle-chip-attribute-display', standalone: false, template: "<mat-chip-set>\n <mat-chip *ngFor=\"let chip of chips\" [ngClass]=\"valueSpecificClass\" selected>{{ chip }}</mat-chip>\n</mat-chip-set>\n" }]
963
963
  }], propDecorators: { value: [{
@@ -968,10 +968,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
968
968
 
969
969
  class SectionTitleComponent {
970
970
  constructor() { }
971
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SectionTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
972
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: SectionTitleComponent, isStandalone: false, selector: "mantle-section-title", inputs: { title: "title" }, ngImport: i0, template: "<h2 class=\"section-title\">\n {{ title | translate }}\n</h2>\n", styles: [""], dependencies: [{ kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
971
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SectionTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
972
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: SectionTitleComponent, isStandalone: false, selector: "mantle-section-title", inputs: { title: "title" }, ngImport: i0, template: "<h2 class=\"section-title\">\n {{ title | translate }}\n</h2>\n", styles: [""], dependencies: [{ kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
973
973
  }
974
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SectionTitleComponent, decorators: [{
974
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SectionTitleComponent, decorators: [{
975
975
  type: Component,
976
976
  args: [{ selector: 'mantle-section-title', standalone: false, template: "<h2 class=\"section-title\">\n {{ title | translate }}\n</h2>\n" }]
977
977
  }], ctorParameters: () => [], propDecorators: { title: [{
@@ -993,10 +993,10 @@ class FilePreviewDialogComponent {
993
993
  onCancel() {
994
994
  this.dialogRef.close();
995
995
  }
996
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: FilePreviewDialogComponent, deps: [{ token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: WebApiService }], target: i0.ɵɵFactoryTarget.Component }); }
997
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: FilePreviewDialogComponent, isStandalone: false, selector: "mantle-file-preview-dialog", ngImport: i0, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" title=\"Preview\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancel()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content class=\"content-section\">\n\n <img *ngIf=\"previewUrl\" class=\"preview-image\" [attr.src]=\"previewUrl | secureImage | async\" />\n\n <h2 Adding *ngIf=\"!previewUrl\">{{ 'mantle.file_preview.unable_to_preview_file' | translate }}</h2>\n\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" class=\"actions-section\">\n <div fxFlex=\"1 1 auto\"></div>\n <button fxFlex=\"0 0 auto\" mat-button (click)=\"onDownload()\">{{ 'mantle.buttons.download' | translate }}</button>\n</mat-dialog-actions>\n", styles: [".content-section{text-align:center}.preview-image{width:400px;max-width:100%}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: SecureImagePipe, name: "secureImage" }] }); }
996
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FilePreviewDialogComponent, deps: [{ token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: WebApiService }], target: i0.ɵɵFactoryTarget.Component }); }
997
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: FilePreviewDialogComponent, isStandalone: false, selector: "mantle-file-preview-dialog", ngImport: i0, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" title=\"Preview\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancel()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content class=\"content-section\">\n\n <img *ngIf=\"previewUrl\" class=\"preview-image\" [attr.src]=\"previewUrl | secureImage | async\" />\n\n <h2 Adding *ngIf=\"!previewUrl\">{{ 'mantle.file_preview.unable_to_preview_file' | translate }}</h2>\n\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" class=\"actions-section\">\n <div fxFlex=\"1 1 auto\"></div>\n <button fxFlex=\"0 0 auto\" mat-button (click)=\"onDownload()\">{{ 'mantle.buttons.download' | translate }}</button>\n</mat-dialog-actions>\n", styles: [".content-section{text-align:center}.preview-image{width:400px;max-width:100%}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: SecureImagePipe, name: "secureImage" }] }); }
998
998
  }
999
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: FilePreviewDialogComponent, decorators: [{
999
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FilePreviewDialogComponent, decorators: [{
1000
1000
  type: Component,
1001
1001
  args: [{ selector: 'mantle-file-preview-dialog', standalone: false, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" title=\"Preview\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancel()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content class=\"content-section\">\n\n <img *ngIf=\"previewUrl\" class=\"preview-image\" [attr.src]=\"previewUrl | secureImage | async\" />\n\n <h2 Adding *ngIf=\"!previewUrl\">{{ 'mantle.file_preview.unable_to_preview_file' | translate }}</h2>\n\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" class=\"actions-section\">\n <div fxFlex=\"1 1 auto\"></div>\n <button fxFlex=\"0 0 auto\" mat-button (click)=\"onDownload()\">{{ 'mantle.buttons.download' | translate }}</button>\n</mat-dialog-actions>\n", styles: [".content-section{text-align:center}.preview-image{width:400px;max-width:100%}\n"] }]
1002
1002
  }], ctorParameters: () => [{ type: i1$3.MatDialogRef }, { type: undefined, decorators: [{
@@ -1017,10 +1017,10 @@ class FileAttributeDisplayComponent {
1017
1017
  this.dialog.open(FilePreviewDialogComponent, dialogConfig);
1018
1018
  }
1019
1019
  isString(val) { return (typeof val === 'string') && (val.length > 0); }
1020
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: FileAttributeDisplayComponent, deps: [{ token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
1021
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: FileAttributeDisplayComponent, isStandalone: false, selector: "mantle-file-attribute-display", inputs: { value: "value" }, ngImport: i0, template: "<div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"0 1 auto\" class=\"attachment-field\">{{ value?.filename }}</div>\n <div fxFlex=\"1 1 auto\" class=\"attachment-button\">\n <button *ngIf=\"value?.source_url\"\n mat-mini-fab\n color=\"primary\"\n class=\"preview-button\"\n click-stop-propagation\n (click)=\"openPreviewDialog()\">\n <mat-icon>attach_file</mat-icon>\n </button>\n <mat-icon class=\"unsaved-upload-indicator\" *ngIf=\"isString(value)\">attach_file</mat-icon>\n </div>\n</div>\n", styles: [".attachment-field{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.attachment-button{align-self:start}.preview-button{width:32px;height:32px;line-height:20px;font-size:20px}.preview-button .mat-icon{line-height:20px;padding:4px 0 0;font-size:20px}.unsaved-upload-indicator{font-size:20px;padding-top:4px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[click-stop-propagation]" }] }); }
1020
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FileAttributeDisplayComponent, deps: [{ token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
1021
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: FileAttributeDisplayComponent, isStandalone: false, selector: "mantle-file-attribute-display", inputs: { value: "value" }, ngImport: i0, template: "<div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"0 1 auto\" class=\"attachment-field\">{{ value?.filename }}</div>\n <div fxFlex=\"1 1 auto\" class=\"attachment-button\">\n <button *ngIf=\"value?.source_url\"\n mat-mini-fab\n color=\"primary\"\n class=\"preview-button\"\n click-stop-propagation\n (click)=\"openPreviewDialog()\">\n <mat-icon>attach_file</mat-icon>\n </button>\n <mat-icon class=\"unsaved-upload-indicator\" *ngIf=\"isString(value)\">attach_file</mat-icon>\n </div>\n</div>\n", styles: [".attachment-field{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.attachment-button{align-self:start}.preview-button{width:32px;height:32px;line-height:20px;font-size:20px}.preview-button .mat-icon{line-height:20px;padding:4px 0 0;font-size:20px}.unsaved-upload-indicator{font-size:20px;padding-top:4px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[click-stop-propagation]" }] }); }
1022
1022
  }
1023
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: FileAttributeDisplayComponent, decorators: [{
1023
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FileAttributeDisplayComponent, decorators: [{
1024
1024
  type: Component,
1025
1025
  args: [{ selector: 'mantle-file-attribute-display', standalone: false, template: "<div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"0 1 auto\" class=\"attachment-field\">{{ value?.filename }}</div>\n <div fxFlex=\"1 1 auto\" class=\"attachment-button\">\n <button *ngIf=\"value?.source_url\"\n mat-mini-fab\n color=\"primary\"\n class=\"preview-button\"\n click-stop-propagation\n (click)=\"openPreviewDialog()\">\n <mat-icon>attach_file</mat-icon>\n </button>\n <mat-icon class=\"unsaved-upload-indicator\" *ngIf=\"isString(value)\">attach_file</mat-icon>\n </div>\n</div>\n", styles: [".attachment-field{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.attachment-button{align-self:start}.preview-button{width:32px;height:32px;line-height:20px;font-size:20px}.preview-button .mat-icon{line-height:20px;padding:4px 0 0;font-size:20px}.unsaved-upload-indicator{font-size:20px;padding-top:4px}\n"] }]
1026
1026
  }], ctorParameters: () => [{ type: i1$3.MatDialog }], propDecorators: { value: [{
@@ -1039,10 +1039,10 @@ class ImageAttributeDisplayComponent {
1039
1039
  this.dialog.open(FilePreviewDialogComponent, dialogConfig);
1040
1040
  }
1041
1041
  isString(val) { return (typeof val === 'string') && (val.length > 0); }
1042
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ImageAttributeDisplayComponent, deps: [{ token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
1043
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: ImageAttributeDisplayComponent, isStandalone: false, selector: "mantle-image-attribute-display", inputs: { value: "value" }, ngImport: i0, template: "<div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"0 1 auto\" class=\"attachment-field\">{{ value?.filename }}</div>\n <div fxFlex=\"1 1 auto\" class=\"attachment-button\">\n <button *ngIf=\"value?.source_url\"\n mat-mini-fab\n color=\"primary\"\n class=\"preview-button\"\n click-stop-propagation\n (click)=\"openPreviewDialog()\">\n <mat-icon>image</mat-icon>\n </button>\n </div>\n <mat-icon class=\"unsaved-upload-indicator\" *ngIf=\"isString(value)\">image</mat-icon>\n</div>\n", styles: [".attachment-field{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.attachment-button{align-self:start}.preview-button{width:32px;height:32px;line-height:20px;font-size:20px}.preview-button .mat-icon{line-height:20px;padding:4px 0 0;font-size:20px}.unsaved-upload-indicator{font-size:20px;padding-top:4px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[click-stop-propagation]" }] }); }
1042
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ImageAttributeDisplayComponent, deps: [{ token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
1043
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ImageAttributeDisplayComponent, isStandalone: false, selector: "mantle-image-attribute-display", inputs: { value: "value" }, ngImport: i0, template: "<div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"0 1 auto\" class=\"attachment-field\">{{ value?.filename }}</div>\n <div fxFlex=\"1 1 auto\" class=\"attachment-button\">\n <button *ngIf=\"value?.source_url\"\n mat-mini-fab\n color=\"primary\"\n class=\"preview-button\"\n click-stop-propagation\n (click)=\"openPreviewDialog()\">\n <mat-icon>image</mat-icon>\n </button>\n </div>\n <mat-icon class=\"unsaved-upload-indicator\" *ngIf=\"isString(value)\">image</mat-icon>\n</div>\n", styles: [".attachment-field{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.attachment-button{align-self:start}.preview-button{width:32px;height:32px;line-height:20px;font-size:20px}.preview-button .mat-icon{line-height:20px;padding:4px 0 0;font-size:20px}.unsaved-upload-indicator{font-size:20px;padding-top:4px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[click-stop-propagation]" }] }); }
1044
1044
  }
1045
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ImageAttributeDisplayComponent, decorators: [{
1045
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ImageAttributeDisplayComponent, decorators: [{
1046
1046
  type: Component,
1047
1047
  args: [{ selector: 'mantle-image-attribute-display', standalone: false, template: "<div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"0 1 auto\" class=\"attachment-field\">{{ value?.filename }}</div>\n <div fxFlex=\"1 1 auto\" class=\"attachment-button\">\n <button *ngIf=\"value?.source_url\"\n mat-mini-fab\n color=\"primary\"\n class=\"preview-button\"\n click-stop-propagation\n (click)=\"openPreviewDialog()\">\n <mat-icon>image</mat-icon>\n </button>\n </div>\n <mat-icon class=\"unsaved-upload-indicator\" *ngIf=\"isString(value)\">image</mat-icon>\n</div>\n", styles: [".attachment-field{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.attachment-button{align-self:start}.preview-button{width:32px;height:32px;line-height:20px;font-size:20px}.preview-button .mat-icon{line-height:20px;padding:4px 0 0;font-size:20px}.unsaved-upload-indicator{font-size:20px;padding-top:4px}\n"] }]
1048
1048
  }], ctorParameters: () => [{ type: i1$3.MatDialog }], propDecorators: { value: [{
@@ -1053,10 +1053,10 @@ class MarkdownAttributeDisplayComponent {
1053
1053
  constructor() {
1054
1054
  this.value = '';
1055
1055
  }
1056
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: MarkdownAttributeDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1057
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: MarkdownAttributeDisplayComponent, isStandalone: false, selector: "mantle-markdown-attribute-display", inputs: { value: "value" }, ngImport: i0, template: "<markdown ngPreserveWhitespaces class=\"markdown-wrapper\">\n {{ value }}\n</markdown>\n", styles: [""], dependencies: [{ kind: "component", type: i2.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "disableSanitizer", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }] }); }
1056
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MarkdownAttributeDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1057
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: MarkdownAttributeDisplayComponent, isStandalone: false, selector: "mantle-markdown-attribute-display", inputs: { value: "value" }, ngImport: i0, template: "<markdown ngPreserveWhitespaces class=\"markdown-wrapper\">\n {{ value }}\n</markdown>\n", styles: [""], dependencies: [{ kind: "component", type: i2.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "disableSanitizer", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }] }); }
1058
1058
  }
1059
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: MarkdownAttributeDisplayComponent, decorators: [{
1059
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MarkdownAttributeDisplayComponent, decorators: [{
1060
1060
  type: Component,
1061
1061
  args: [{ selector: 'mantle-markdown-attribute-display', standalone: false, template: "<markdown ngPreserveWhitespaces class=\"markdown-wrapper\">\n {{ value }}\n</markdown>\n" }]
1062
1062
  }], propDecorators: { value: [{
@@ -1082,10 +1082,10 @@ class MultiselectDisplayComponent {
1082
1082
  return '';
1083
1083
  return this.options.colours[this.value] || '';
1084
1084
  }
1085
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: MultiselectDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1086
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: MultiselectDisplayComponent, isStandalone: false, selector: "mantle-multiselect-display", inputs: { value: "value", options: "options" }, ngImport: i0, template: "<mat-chip-set>\n <mat-chip *ngFor=\"let chip of chips\" [ngClass]=\"valueSpecificClass\" selected>{{ chip }}</mat-chip>\n</mat-chip-set>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i3.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i3.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }] }); }
1085
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MultiselectDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1086
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: MultiselectDisplayComponent, isStandalone: false, selector: "mantle-multiselect-display", inputs: { value: "value", options: "options" }, ngImport: i0, template: "<mat-chip-set>\n <mat-chip *ngFor=\"let chip of chips\" [ngClass]=\"valueSpecificClass\" selected>{{ chip }}</mat-chip>\n</mat-chip-set>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i3.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i3.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }] }); }
1087
1087
  }
1088
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: MultiselectDisplayComponent, decorators: [{
1088
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MultiselectDisplayComponent, decorators: [{
1089
1089
  type: Component,
1090
1090
  args: [{ selector: 'mantle-multiselect-display', standalone: false, template: "<mat-chip-set>\n <mat-chip *ngFor=\"let chip of chips\" [ngClass]=\"valueSpecificClass\" selected>{{ chip }}</mat-chip>\n</mat-chip-set>\n" }]
1091
1091
  }], propDecorators: { value: [{
@@ -1183,10 +1183,10 @@ class RichTextDisplayComponent extends RichTextBaseComponent {
1183
1183
  this.loadHtmlIntoEditor(quill, this.value);
1184
1184
  quill.enable(false);
1185
1185
  }
1186
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: RichTextDisplayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1187
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: RichTextDisplayComponent, isStandalone: false, selector: "mantle-rich-text-display", inputs: { value: "value" }, usesInheritance: true, ngImport: i0, template: "<div class=\"rich-text-display-wrapper\">\n <quill-editor class=\"quill-editor\"\n theme=\"snow\"\n placeholder=\"\"\n [modules]=\"quillModules\"\n [bounds]=\"'self'\"\n (onEditorCreated)=\"onEditorCreated($event)\">\n </quill-editor>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1$4.QuillEditorComponent, selector: "quill-editor" }] }); }
1186
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RichTextDisplayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1187
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: RichTextDisplayComponent, isStandalone: false, selector: "mantle-rich-text-display", inputs: { value: "value" }, usesInheritance: true, ngImport: i0, template: "<div class=\"rich-text-display-wrapper\">\n <quill-editor class=\"quill-editor\"\n theme=\"snow\"\n placeholder=\"\"\n [modules]=\"quillModules\"\n [bounds]=\"'self'\"\n (onEditorCreated)=\"onEditorCreated($event)\">\n </quill-editor>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1$4.QuillEditorComponent, selector: "quill-editor" }] }); }
1188
1188
  }
1189
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: RichTextDisplayComponent, decorators: [{
1189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RichTextDisplayComponent, decorators: [{
1190
1190
  type: Component,
1191
1191
  args: [{ selector: 'mantle-rich-text-display', standalone: false, template: "<div class=\"rich-text-display-wrapper\">\n <quill-editor class=\"quill-editor\"\n theme=\"snow\"\n placeholder=\"\"\n [modules]=\"quillModules\"\n [bounds]=\"'self'\"\n (onEditorCreated)=\"onEditorCreated($event)\">\n </quill-editor>\n</div>\n" }]
1192
1192
  }], propDecorators: { value: [{
@@ -1264,10 +1264,10 @@ class DynamicChartComponent {
1264
1264
  }
1265
1265
  this.chartOptions = this.objectService.deepMerge(this.defaultChartOptions, this.data);
1266
1266
  }
1267
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicChartComponent, deps: [{ token: ObjectService }], target: i0.ɵɵFactoryTarget.Component }); }
1268
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicChartComponent, isStandalone: false, selector: "mantle-dynamic-chart", inputs: { label: "label", data: "data" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"label\" class=\"header\">\n <p class=\"header-text\">{{ label | translate }}</p>\n</div>\n\n<highcharts-chart\n [Highcharts]=\"Highcharts\"\n [constructorType]=\"chartConstructor\"\n [options]=\"chartOptions\"\n [(update)]=\"updateFlag\"\n [oneToOne]=\"oneToOneFlag\"\n [callbackFunction]=\"chartCallback\">\n</highcharts-chart>\n", styles: [".header{text-align:left;width:90%;padding-top:5px}.header .header-text{font-size:15px;font-weight:500}highcharts-chart{display:block;max-width:100%;max-height:100%;width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.HighchartsChartComponent, selector: "highcharts-chart", inputs: ["Highcharts", "constructorType", "callbackFunction", "oneToOne", "runOutsideAngular", "options", "update"], outputs: ["updateChange", "chartInstance"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
1267
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicChartComponent, deps: [{ token: ObjectService }], target: i0.ɵɵFactoryTarget.Component }); }
1268
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicChartComponent, isStandalone: false, selector: "mantle-dynamic-chart", inputs: { label: "label", data: "data" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"label\" class=\"header\">\n <p class=\"header-text\">{{ label | translate }}</p>\n</div>\n\n<highcharts-chart\n [Highcharts]=\"Highcharts\"\n [constructorType]=\"chartConstructor\"\n [options]=\"chartOptions\"\n [(update)]=\"updateFlag\"\n [oneToOne]=\"oneToOneFlag\"\n [callbackFunction]=\"chartCallback\">\n</highcharts-chart>\n", styles: [".header{text-align:left;width:90%;padding-top:5px}.header .header-text{font-size:15px;font-weight:500}highcharts-chart{display:block;max-width:100%;max-height:100%;width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.HighchartsChartComponent, selector: "highcharts-chart", inputs: ["Highcharts", "constructorType", "callbackFunction", "oneToOne", "runOutsideAngular", "options", "update"], outputs: ["updateChange", "chartInstance"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
1269
1269
  }
1270
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicChartComponent, decorators: [{
1270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicChartComponent, decorators: [{
1271
1271
  type: Component,
1272
1272
  args: [{ selector: 'mantle-dynamic-chart', standalone: false, template: "<div *ngIf=\"label\" class=\"header\">\n <p class=\"header-text\">{{ label | translate }}</p>\n</div>\n\n<highcharts-chart\n [Highcharts]=\"Highcharts\"\n [constructorType]=\"chartConstructor\"\n [options]=\"chartOptions\"\n [(update)]=\"updateFlag\"\n [oneToOne]=\"oneToOneFlag\"\n [callbackFunction]=\"chartCallback\">\n</highcharts-chart>\n", styles: [".header{text-align:left;width:90%;padding-top:5px}.header .header-text{font-size:15px;font-weight:500}highcharts-chart{display:block;max-width:100%;max-height:100%;width:100%;height:100%}\n"] }]
1273
1273
  }], ctorParameters: () => [{ type: ObjectService }], propDecorators: { label: [{
@@ -1280,10 +1280,10 @@ class ChartViewerDisplayComponent {
1280
1280
  constructor() {
1281
1281
  this.value = '';
1282
1282
  }
1283
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ChartViewerDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1284
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: ChartViewerDisplayComponent, isStandalone: false, selector: "mantle-chart-viewer-display", inputs: { value: "value" }, ngImport: i0, template: "<mantle-dynamic-chart [data]=\"value\"></mantle-dynamic-chart>\n", styles: [""], dependencies: [{ kind: "component", type: DynamicChartComponent, selector: "mantle-dynamic-chart", inputs: ["label", "data"] }] }); }
1283
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ChartViewerDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1284
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ChartViewerDisplayComponent, isStandalone: false, selector: "mantle-chart-viewer-display", inputs: { value: "value" }, ngImport: i0, template: "<mantle-dynamic-chart [data]=\"value\"></mantle-dynamic-chart>\n", styles: [""], dependencies: [{ kind: "component", type: DynamicChartComponent, selector: "mantle-dynamic-chart", inputs: ["label", "data"] }] }); }
1285
1285
  }
1286
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ChartViewerDisplayComponent, decorators: [{
1286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ChartViewerDisplayComponent, decorators: [{
1287
1287
  type: Component,
1288
1288
  args: [{ selector: 'mantle-chart-viewer-display', standalone: false, template: "<mantle-dynamic-chart [data]=\"value\"></mantle-dynamic-chart>\n" }]
1289
1289
  }], propDecorators: { value: [{
@@ -1298,10 +1298,10 @@ class LinkAttributeDisplayComponent {
1298
1298
  openLink() {
1299
1299
  this.router.navigateByUrl(this.value);
1300
1300
  }
1301
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LinkAttributeDisplayComponent, deps: [{ token: i1$5.Router }], target: i0.ɵɵFactoryTarget.Component }); }
1302
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: LinkAttributeDisplayComponent, isStandalone: false, selector: "mantle-link-attribute-display", inputs: { value: "value" }, ngImport: i0, template: "<a *ngIf=\"value\"\n [href]=\"value\"\n mat-mini-fab\n color=\"primary\"\n class=\"link-button\"\n click-stop-propagation>\n <mat-icon>link</mat-icon>\n</a>\n", styles: [".link-button{width:32px;height:32px;line-height:20px;font-size:20px}.link-button .mat-icon{box-sizing:border-box;padding-top:6px;padding-bottom:6px;text-align:center;line-height:20px;font-size:20px;width:32px;height:32px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[click-stop-propagation]" }] }); }
1301
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LinkAttributeDisplayComponent, deps: [{ token: i1$5.Router }], target: i0.ɵɵFactoryTarget.Component }); }
1302
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: LinkAttributeDisplayComponent, isStandalone: false, selector: "mantle-link-attribute-display", inputs: { value: "value" }, ngImport: i0, template: "<a *ngIf=\"value\"\n [href]=\"value\"\n mat-mini-fab\n color=\"primary\"\n class=\"link-button\"\n click-stop-propagation>\n <mat-icon>link</mat-icon>\n</a>\n", styles: [".link-button{width:32px;height:32px;line-height:20px;font-size:20px}.link-button .mat-icon{box-sizing:border-box;padding-top:6px;padding-bottom:6px;text-align:center;line-height:20px;font-size:20px;width:32px;height:32px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[click-stop-propagation]" }] }); }
1303
1303
  }
1304
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LinkAttributeDisplayComponent, decorators: [{
1304
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LinkAttributeDisplayComponent, decorators: [{
1305
1305
  type: Component,
1306
1306
  args: [{ selector: 'mantle-link-attribute-display', standalone: false, template: "<a *ngIf=\"value\"\n [href]=\"value\"\n mat-mini-fab\n color=\"primary\"\n class=\"link-button\"\n click-stop-propagation>\n <mat-icon>link</mat-icon>\n</a>\n", styles: [".link-button{width:32px;height:32px;line-height:20px;font-size:20px}.link-button .mat-icon{box-sizing:border-box;padding-top:6px;padding-bottom:6px;text-align:center;line-height:20px;font-size:20px;width:32px;height:32px}\n"] }]
1307
1307
  }], ctorParameters: () => [{ type: i1$5.Router }], propDecorators: { value: [{
@@ -1315,10 +1315,10 @@ class ThumbnailDisplayComponent {
1315
1315
  this.placeholder = '';
1316
1316
  this.circular = false;
1317
1317
  }
1318
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ThumbnailDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1319
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: ThumbnailDisplayComponent, isStandalone: false, selector: "mantle-thumbnail-display", inputs: { value: "value", size: "size", placeholder: "placeholder", circular: "circular" }, ngImport: i0, template: "<div class=\"thumbnail-wrapper\" [ngStyle]=\"{ width: size, height: size }\">\n <img *ngIf=\"value\" [attr.src]=\"value | secureImage | async\" [class.circular]=\"circular\" />\n <mat-icon *ngIf=\"!value && placeholder\" [style.font-size]=\"size\">{{ placeholder }}</mat-icon>\n</div>\n", styles: [".thumbnail-wrapper{vertical-align:middle}img{box-sizing:border-box;width:100%;height:100%;padding:2px}img.circular{border-radius:50%}.mat-icon{width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: SecureImagePipe, name: "secureImage" }] }); }
1318
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ThumbnailDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1319
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ThumbnailDisplayComponent, isStandalone: false, selector: "mantle-thumbnail-display", inputs: { value: "value", size: "size", placeholder: "placeholder", circular: "circular" }, ngImport: i0, template: "<div class=\"thumbnail-wrapper\" [ngStyle]=\"{ width: size, height: size }\">\n <img *ngIf=\"value\" [attr.src]=\"value | secureImage | async\" [class.circular]=\"circular\" />\n <mat-icon *ngIf=\"!value && placeholder\" [style.font-size]=\"size\">{{ placeholder }}</mat-icon>\n</div>\n", styles: [".thumbnail-wrapper{vertical-align:middle}img{box-sizing:border-box;width:100%;height:100%;padding:2px}img.circular{border-radius:50%}.mat-icon{width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: SecureImagePipe, name: "secureImage" }] }); }
1320
1320
  }
1321
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ThumbnailDisplayComponent, decorators: [{
1321
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ThumbnailDisplayComponent, decorators: [{
1322
1322
  type: Component,
1323
1323
  args: [{ selector: 'mantle-thumbnail-display', standalone: false, template: "<div class=\"thumbnail-wrapper\" [ngStyle]=\"{ width: size, height: size }\">\n <img *ngIf=\"value\" [attr.src]=\"value | secureImage | async\" [class.circular]=\"circular\" />\n <mat-icon *ngIf=\"!value && placeholder\" [style.font-size]=\"size\">{{ placeholder }}</mat-icon>\n</div>\n", styles: [".thumbnail-wrapper{vertical-align:middle}img{box-sizing:border-box;width:100%;height:100%;padding:2px}img.circular{border-radius:50%}.mat-icon{width:100%;height:100%}\n"] }]
1324
1324
  }], ctorParameters: () => [], propDecorators: { value: [{
@@ -1344,10 +1344,10 @@ class DynamicAttributeDisplayComponent {
1344
1344
  let option = this.arrayService.findByAttribute(this.field.options['values'], 'value', value);
1345
1345
  return option?.label;
1346
1346
  }
1347
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicAttributeDisplayComponent, deps: [{ token: ArrayService }], target: i0.ɵɵFactoryTarget.Component }); }
1348
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicAttributeDisplayComponent, isStandalone: false, selector: "mantle-dynamic-attribute-display", inputs: { value: "value", field: "field", fieldType: "fieldType", options: "options" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"field?.type || fieldType\">\n\n <ng-container *ngSwitchCase=\"'chips'\">\n <mantle-chip-attribute-display [value]=\"value\" [options]=\"options\">\n </mantle-chip-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'chips-lg'\">\n <mantle-chip-attribute-display [value]=\"value\" [options]=\"options\">\n </mantle-chip-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'file'\">\n <mantle-file-attribute-display [value]=\"value\">\n </mantle-file-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'image'\">\n <mantle-image-attribute-display [value]=\"value\">\n </mantle-image-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'link'\">\n <mantle-link-attribute-display [value]=\"value\">\n </mantle-link-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'thumbnail'\">\n <mantle-thumbnail-display [value]=\"value\"\n [size]=\"options.size\" [placeholder]=\"options.placeholder\" [circular]=\"options.circular\">\n </mantle-thumbnail-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dropdown'\">\n {{ dropdownValueLabel(value) | dynamicPipe: fieldType }}\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dropdown-md'\">\n {{ dropdownValueLabel(value) | dynamicPipe: fieldType }}\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dropdown-lg'\">\n {{ dropdownValueLabel(value) | dynamicPipe: fieldType }}\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'multiselect'\">\n <mantle-multiselect-display [value]=\"value\" [options]=\"options\">\n </mantle-multiselect-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'multiselect-md'\">\n <mantle-multiselect-display [value]=\"value\" [options]=\"options\">\n </mantle-multiselect-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'multiselect-lg'\">\n <mantle-multiselect-display [value]=\"value\" [options]=\"options\">\n </mantle-multiselect-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'markdown'\">\n <mantle-markdown-attribute-display [value]=\"value\">\n </mantle-markdown-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'rich-text'\">\n <mantle-rich-text-display [value]=\"value\">\n </mantle-rich-text-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'chart-viewer'\">\n <mantle-chart-viewer-display [value]=\"value\">\n </mantle-chart-viewer-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'actions'\">\n <mantle-actions-attribute-display [actions]=\"field?.options?.actions!\" [value]=\"value\">\n </mantle-actions-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'icon'\">\n <mantle-icon-attribute-display [value]=\"value\">\n </mantle-icon-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n {{ value | dynamicPipe: fieldType }}\n </ng-container>\n\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: ActionsAttributeDisplayComponent, selector: "mantle-actions-attribute-display", inputs: ["value", "actions"] }, { kind: "component", type: IconAttributeDisplayComponent, selector: "mantle-icon-attribute-display", inputs: ["value"] }, { kind: "component", type: ChipAttributeDisplayComponent, selector: "mantle-chip-attribute-display", inputs: ["value", "options"] }, { kind: "component", type: FileAttributeDisplayComponent, selector: "mantle-file-attribute-display", inputs: ["value"] }, { kind: "component", type: ImageAttributeDisplayComponent, selector: "mantle-image-attribute-display", inputs: ["value"] }, { kind: "component", type: MarkdownAttributeDisplayComponent, selector: "mantle-markdown-attribute-display", inputs: ["value"] }, { kind: "component", type: MultiselectDisplayComponent, selector: "mantle-multiselect-display", inputs: ["value", "options"] }, { kind: "component", type: RichTextDisplayComponent, selector: "mantle-rich-text-display", inputs: ["value"] }, { kind: "component", type: ChartViewerDisplayComponent, selector: "mantle-chart-viewer-display", inputs: ["value"] }, { kind: "component", type: LinkAttributeDisplayComponent, selector: "mantle-link-attribute-display", inputs: ["value"] }, { kind: "component", type: ThumbnailDisplayComponent, selector: "mantle-thumbnail-display", inputs: ["value", "size", "placeholder", "circular"] }, { kind: "pipe", type: DynamicPipe, name: "dynamicPipe" }] }); }
1347
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicAttributeDisplayComponent, deps: [{ token: ArrayService }], target: i0.ɵɵFactoryTarget.Component }); }
1348
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicAttributeDisplayComponent, isStandalone: false, selector: "mantle-dynamic-attribute-display", inputs: { value: "value", field: "field", fieldType: "fieldType", options: "options" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"field?.type || fieldType\">\n\n <ng-container *ngSwitchCase=\"'chips'\">\n <mantle-chip-attribute-display [value]=\"value\" [options]=\"options\">\n </mantle-chip-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'chips-lg'\">\n <mantle-chip-attribute-display [value]=\"value\" [options]=\"options\">\n </mantle-chip-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'file'\">\n <mantle-file-attribute-display [value]=\"value\">\n </mantle-file-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'image'\">\n <mantle-image-attribute-display [value]=\"value\">\n </mantle-image-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'link'\">\n <mantle-link-attribute-display [value]=\"value\">\n </mantle-link-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'thumbnail'\">\n <mantle-thumbnail-display [value]=\"value\"\n [size]=\"options.size\" [placeholder]=\"options.placeholder\" [circular]=\"options.circular\">\n </mantle-thumbnail-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dropdown'\">\n {{ dropdownValueLabel(value) | dynamicPipe: fieldType }}\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dropdown-md'\">\n {{ dropdownValueLabel(value) | dynamicPipe: fieldType }}\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dropdown-lg'\">\n {{ dropdownValueLabel(value) | dynamicPipe: fieldType }}\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'multiselect'\">\n <mantle-multiselect-display [value]=\"value\" [options]=\"options\">\n </mantle-multiselect-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'multiselect-md'\">\n <mantle-multiselect-display [value]=\"value\" [options]=\"options\">\n </mantle-multiselect-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'multiselect-lg'\">\n <mantle-multiselect-display [value]=\"value\" [options]=\"options\">\n </mantle-multiselect-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'markdown'\">\n <mantle-markdown-attribute-display [value]=\"value\">\n </mantle-markdown-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'rich-text'\">\n <mantle-rich-text-display [value]=\"value\">\n </mantle-rich-text-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'chart-viewer'\">\n <mantle-chart-viewer-display [value]=\"value\">\n </mantle-chart-viewer-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'actions'\">\n <mantle-actions-attribute-display [actions]=\"field?.options?.actions!\" [value]=\"value\">\n </mantle-actions-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'icon'\">\n <mantle-icon-attribute-display [value]=\"value\">\n </mantle-icon-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n {{ value | dynamicPipe: fieldType }}\n </ng-container>\n\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: ActionsAttributeDisplayComponent, selector: "mantle-actions-attribute-display", inputs: ["value", "actions"] }, { kind: "component", type: IconAttributeDisplayComponent, selector: "mantle-icon-attribute-display", inputs: ["value"] }, { kind: "component", type: ChipAttributeDisplayComponent, selector: "mantle-chip-attribute-display", inputs: ["value", "options"] }, { kind: "component", type: FileAttributeDisplayComponent, selector: "mantle-file-attribute-display", inputs: ["value"] }, { kind: "component", type: ImageAttributeDisplayComponent, selector: "mantle-image-attribute-display", inputs: ["value"] }, { kind: "component", type: MarkdownAttributeDisplayComponent, selector: "mantle-markdown-attribute-display", inputs: ["value"] }, { kind: "component", type: MultiselectDisplayComponent, selector: "mantle-multiselect-display", inputs: ["value", "options"] }, { kind: "component", type: RichTextDisplayComponent, selector: "mantle-rich-text-display", inputs: ["value"] }, { kind: "component", type: ChartViewerDisplayComponent, selector: "mantle-chart-viewer-display", inputs: ["value"] }, { kind: "component", type: LinkAttributeDisplayComponent, selector: "mantle-link-attribute-display", inputs: ["value"] }, { kind: "component", type: ThumbnailDisplayComponent, selector: "mantle-thumbnail-display", inputs: ["value", "size", "placeholder", "circular"] }, { kind: "pipe", type: DynamicPipe, name: "dynamicPipe" }] }); }
1349
1349
  }
1350
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicAttributeDisplayComponent, decorators: [{
1350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicAttributeDisplayComponent, decorators: [{
1351
1351
  type: Component,
1352
1352
  args: [{ selector: 'mantle-dynamic-attribute-display', standalone: false, template: "<ng-container [ngSwitch]=\"field?.type || fieldType\">\n\n <ng-container *ngSwitchCase=\"'chips'\">\n <mantle-chip-attribute-display [value]=\"value\" [options]=\"options\">\n </mantle-chip-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'chips-lg'\">\n <mantle-chip-attribute-display [value]=\"value\" [options]=\"options\">\n </mantle-chip-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'file'\">\n <mantle-file-attribute-display [value]=\"value\">\n </mantle-file-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'image'\">\n <mantle-image-attribute-display [value]=\"value\">\n </mantle-image-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'link'\">\n <mantle-link-attribute-display [value]=\"value\">\n </mantle-link-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'thumbnail'\">\n <mantle-thumbnail-display [value]=\"value\"\n [size]=\"options.size\" [placeholder]=\"options.placeholder\" [circular]=\"options.circular\">\n </mantle-thumbnail-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dropdown'\">\n {{ dropdownValueLabel(value) | dynamicPipe: fieldType }}\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dropdown-md'\">\n {{ dropdownValueLabel(value) | dynamicPipe: fieldType }}\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dropdown-lg'\">\n {{ dropdownValueLabel(value) | dynamicPipe: fieldType }}\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'multiselect'\">\n <mantle-multiselect-display [value]=\"value\" [options]=\"options\">\n </mantle-multiselect-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'multiselect-md'\">\n <mantle-multiselect-display [value]=\"value\" [options]=\"options\">\n </mantle-multiselect-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'multiselect-lg'\">\n <mantle-multiselect-display [value]=\"value\" [options]=\"options\">\n </mantle-multiselect-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'markdown'\">\n <mantle-markdown-attribute-display [value]=\"value\">\n </mantle-markdown-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'rich-text'\">\n <mantle-rich-text-display [value]=\"value\">\n </mantle-rich-text-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'chart-viewer'\">\n <mantle-chart-viewer-display [value]=\"value\">\n </mantle-chart-viewer-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'actions'\">\n <mantle-actions-attribute-display [actions]=\"field?.options?.actions!\" [value]=\"value\">\n </mantle-actions-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'icon'\">\n <mantle-icon-attribute-display [value]=\"value\">\n </mantle-icon-attribute-display>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n {{ value | dynamicPipe: fieldType }}\n </ng-container>\n\n</ng-container>\n" }]
1353
1353
  }], ctorParameters: () => [{ type: ArrayService }], propDecorators: { value: [{
@@ -1385,10 +1385,10 @@ class ScreenSizeService {
1385
1385
  this.destroyed.next();
1386
1386
  this.destroyed.complete();
1387
1387
  }
1388
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ScreenSizeService, deps: [{ token: i1$6.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable }); }
1389
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ScreenSizeService, providedIn: 'root' }); }
1388
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ScreenSizeService, deps: [{ token: i1$6.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable }); }
1389
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ScreenSizeService, providedIn: 'root' }); }
1390
1390
  }
1391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ScreenSizeService, decorators: [{
1391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ScreenSizeService, decorators: [{
1392
1392
  type: Injectable,
1393
1393
  args: [{
1394
1394
  providedIn: 'root'
@@ -1424,10 +1424,10 @@ class FieldGridComponent {
1424
1424
  return Math.min(colspan, this.numColumns);
1425
1425
  }
1426
1426
  }
1427
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: FieldGridComponent, deps: [{ token: ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component }); }
1428
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: FieldGridComponent, isStandalone: false, selector: "mantle-field-grid", inputs: { singleColumn: "singleColumn", rowHeight: "rowHeight" }, queries: [{ propertyName: "items", predicate: FieldGridItemDirective }], ngImport: i0, template: "<mat-grid-list\n [cols]=\"singleColumn ? 1 :numColumns\"\n [rowHeight]=\"rowHeight\"\n [class.multi-column]=\"singleColumn ? false : numColumns > 1\">\n\n <mat-grid-tile *ngFor=\"let item of items\" [colspan]=\"normaliseColspan(item.colspan)\" [rowspan]=\"item.rowspan\">\n <ng-container *ngTemplateOutlet=\"item.template\"></ng-container>\n </mat-grid-tile>\n\n</mat-grid-list>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$2.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { kind: "component", type: i3$2.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }] }); }
1427
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FieldGridComponent, deps: [{ token: ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component }); }
1428
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: FieldGridComponent, isStandalone: false, selector: "mantle-field-grid", inputs: { singleColumn: "singleColumn", rowHeight: "rowHeight" }, queries: [{ propertyName: "items", predicate: FieldGridItemDirective }], ngImport: i0, template: "<mat-grid-list\n [cols]=\"singleColumn ? 1 :numColumns\"\n [rowHeight]=\"rowHeight\"\n [class.multi-column]=\"singleColumn ? false : numColumns > 1\">\n\n <mat-grid-tile *ngFor=\"let item of items\" [colspan]=\"normaliseColspan(item.colspan)\" [rowspan]=\"item.rowspan\">\n <ng-container *ngTemplateOutlet=\"item.template\"></ng-container>\n </mat-grid-tile>\n\n</mat-grid-list>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$2.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { kind: "component", type: i3$2.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }] }); }
1429
1429
  }
1430
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: FieldGridComponent, decorators: [{
1430
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FieldGridComponent, decorators: [{
1431
1431
  type: Component,
1432
1432
  args: [{ selector: 'mantle-field-grid', standalone: false, template: "<mat-grid-list\n [cols]=\"singleColumn ? 1 :numColumns\"\n [rowHeight]=\"rowHeight\"\n [class.multi-column]=\"singleColumn ? false : numColumns > 1\">\n\n <mat-grid-tile *ngFor=\"let item of items\" [colspan]=\"normaliseColspan(item.colspan)\" [rowspan]=\"item.rowspan\">\n <ng-container *ngTemplateOutlet=\"item.template\"></ng-container>\n </mat-grid-tile>\n\n</mat-grid-list>\n" }]
1433
1433
  }], ctorParameters: () => [{ type: ScreenSizeService }], propDecorators: { singleColumn: [{
@@ -1440,10 +1440,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
1440
1440
  }] } });
1441
1441
 
1442
1442
  class TooltipComponent {
1443
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1444
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: TooltipComponent, isStandalone: false, selector: "mantle-tooltip", inputs: { message: "message" }, ngImport: i0, template: "<button mat-icon-button\n class=\"mantle-tooltip\"\n disabled\n disabledInteractive\n disableRipple\n [matTooltip]=\"message\"\n matTooltipPosition=\"right\">\n <mat-icon>help</mat-icon>\n</button>\n", styles: [".mantle-tooltip.mat-mdc-icon-button{vertical-align:top;width:1rem;height:1rem;padding:0;margin:0 0 0 4px;z-index:1;float:right}.mantle-tooltip.mat-mdc-icon-button .mat-mdc-button-touch-target{width:100%;height:100%}.mantle-tooltip.mat-mdc-icon-button .mat-icon{vertical-align:top;width:1rem;height:1rem;font-size:1rem;line-height:1rem}\n"], dependencies: [{ kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
1443
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1444
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: TooltipComponent, isStandalone: false, selector: "mantle-tooltip", inputs: { message: "message" }, ngImport: i0, template: "<button mat-icon-button\n class=\"mantle-tooltip\"\n disabled\n disabledInteractive\n disableRipple\n [matTooltip]=\"message\"\n matTooltipPosition=\"right\">\n <mat-icon>help</mat-icon>\n</button>\n", styles: [".mantle-tooltip.mat-mdc-icon-button{vertical-align:top;width:1rem;height:1rem;padding:0;margin:0 0 0 4px;z-index:1;float:right}.mantle-tooltip.mat-mdc-icon-button .mat-mdc-button-touch-target{width:100%;height:100%}.mantle-tooltip.mat-mdc-icon-button .mat-icon{vertical-align:top;width:1rem;height:1rem;font-size:1rem;line-height:1rem}\n"], dependencies: [{ kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
1445
1445
  }
1446
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: TooltipComponent, decorators: [{
1446
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TooltipComponent, decorators: [{
1447
1447
  type: Component,
1448
1448
  args: [{ selector: 'mantle-tooltip', standalone: false, template: "<button mat-icon-button\n class=\"mantle-tooltip\"\n disabled\n disabledInteractive\n disableRipple\n [matTooltip]=\"message\"\n matTooltipPosition=\"right\">\n <mat-icon>help</mat-icon>\n</button>\n", styles: [".mantle-tooltip.mat-mdc-icon-button{vertical-align:top;width:1rem;height:1rem;padding:0;margin:0 0 0 4px;z-index:1;float:right}.mantle-tooltip.mat-mdc-icon-button .mat-mdc-button-touch-target{width:100%;height:100%}.mantle-tooltip.mat-mdc-icon-button .mat-icon{vertical-align:top;width:1rem;height:1rem;font-size:1rem;line-height:1rem}\n"] }]
1449
1449
  }], propDecorators: { message: [{
@@ -1479,10 +1479,10 @@ class GridDetailsSectionComponent {
1479
1479
  else
1480
1480
  return 1;
1481
1481
  }
1482
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: GridDetailsSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1483
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: GridDetailsSectionComponent, isStandalone: false, selector: "mantle-grid-details-section", inputs: { data: "data", section: "section", defaultRowHeight: "defaultRowHeight" }, ngImport: i0, template: "<div class=\"grid-details-layout\">\n <mantle-field-grid\n [singleColumn]=\"section.singleColumn || false\"\n [rowHeight]=\"section.rowHeight || defaultRowHeight\">\n\n <ng-container *ngFor=\"let field of section.elements\">\n <ng-container *ngIf=\"!field.hidden\">\n <ng-container *mantleFieldGridItem=\"let _; colspan: getColSpanForField(field); rowspan: getRowSpanForField(field)\">\n <div class=\"value-area\">\n <div class=\"attribute-label\" [class.with-tooltip]=\"field.tooltip\">\n {{ field.label }}\n <mantle-tooltip *ngIf=\"field.tooltip\" [message]=\"field.tooltip\"></mantle-tooltip>\n </div>\n <div class=\"attribute-value\">\n <mantle-dynamic-attribute-display [fieldType]=\"field.type\" [value]=\"data[field.attr]\" [field]=\"field\"></mantle-dynamic-attribute-display>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </mantle-field-grid>\n</div>\n", styles: [".value-area{display:flex!important;flex-direction:column;box-sizing:border-box;place-content:stretch flex-start;align-items:stretch;height:100%;width:100%;padding-top:10px;padding-bottom:10px}.value-area .attribute-label{flex:0 0 auto;box-sizing:border-box;display:inline-block;width:auto;max-width:100%;text-transform:uppercase;font-size:11px;line-height:1rem;height:1rem;font-weight:400;color:#0000008a;margin-bottom:4px}.value-area .attribute-value{flex:1 0 auto;box-sizing:border-box;height:1px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: FieldGridItemDirective, selector: "[mantleFieldGridItem]", inputs: ["mantleFieldGridItemColspan", "mantleFieldGridItemRowspan"] }, { kind: "component", type: DynamicAttributeDisplayComponent, selector: "mantle-dynamic-attribute-display", inputs: ["value", "field", "fieldType", "options"] }, { kind: "component", type: FieldGridComponent, selector: "mantle-field-grid", inputs: ["singleColumn", "rowHeight"] }, { kind: "component", type: TooltipComponent, selector: "mantle-tooltip", inputs: ["message"] }] }); }
1482
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GridDetailsSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1483
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: GridDetailsSectionComponent, isStandalone: false, selector: "mantle-grid-details-section", inputs: { data: "data", section: "section", defaultRowHeight: "defaultRowHeight" }, ngImport: i0, template: "<div class=\"grid-details-layout\">\n <mantle-field-grid\n [singleColumn]=\"section.singleColumn || false\"\n [rowHeight]=\"section.rowHeight || defaultRowHeight\">\n\n <ng-container *ngFor=\"let field of section.elements\">\n <ng-container *ngIf=\"!field.hidden\">\n <ng-container *mantleFieldGridItem=\"let _; colspan: getColSpanForField(field); rowspan: getRowSpanForField(field)\">\n <div class=\"value-area\">\n <div class=\"attribute-label\" [class.with-tooltip]=\"field.tooltip\">\n {{ field.label }}\n <mantle-tooltip *ngIf=\"field.tooltip\" [message]=\"field.tooltip\"></mantle-tooltip>\n </div>\n <div class=\"attribute-value\">\n <mantle-dynamic-attribute-display [fieldType]=\"field.type\" [value]=\"data[field.attr]\" [field]=\"field\"></mantle-dynamic-attribute-display>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </mantle-field-grid>\n</div>\n", styles: [".value-area{display:flex!important;flex-direction:column;box-sizing:border-box;place-content:stretch flex-start;align-items:stretch;height:100%;width:100%;padding-top:10px;padding-bottom:10px}.value-area .attribute-label{flex:0 0 auto;box-sizing:border-box;display:inline-block;width:auto;max-width:100%;text-transform:uppercase;font-size:11px;line-height:1rem;height:1rem;font-weight:400;color:#0000008a;margin-bottom:4px}.value-area .attribute-value{flex:1 0 auto;box-sizing:border-box;height:1px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: FieldGridItemDirective, selector: "[mantleFieldGridItem]", inputs: ["mantleFieldGridItemColspan", "mantleFieldGridItemRowspan"] }, { kind: "component", type: DynamicAttributeDisplayComponent, selector: "mantle-dynamic-attribute-display", inputs: ["value", "field", "fieldType", "options"] }, { kind: "component", type: FieldGridComponent, selector: "mantle-field-grid", inputs: ["singleColumn", "rowHeight"] }, { kind: "component", type: TooltipComponent, selector: "mantle-tooltip", inputs: ["message"] }] }); }
1484
1484
  }
1485
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: GridDetailsSectionComponent, decorators: [{
1485
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GridDetailsSectionComponent, decorators: [{
1486
1486
  type: Component,
1487
1487
  args: [{ selector: 'mantle-grid-details-section', standalone: false, template: "<div class=\"grid-details-layout\">\n <mantle-field-grid\n [singleColumn]=\"section.singleColumn || false\"\n [rowHeight]=\"section.rowHeight || defaultRowHeight\">\n\n <ng-container *ngFor=\"let field of section.elements\">\n <ng-container *ngIf=\"!field.hidden\">\n <ng-container *mantleFieldGridItem=\"let _; colspan: getColSpanForField(field); rowspan: getRowSpanForField(field)\">\n <div class=\"value-area\">\n <div class=\"attribute-label\" [class.with-tooltip]=\"field.tooltip\">\n {{ field.label }}\n <mantle-tooltip *ngIf=\"field.tooltip\" [message]=\"field.tooltip\"></mantle-tooltip>\n </div>\n <div class=\"attribute-value\">\n <mantle-dynamic-attribute-display [fieldType]=\"field.type\" [value]=\"data[field.attr]\" [field]=\"field\"></mantle-dynamic-attribute-display>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </mantle-field-grid>\n</div>\n", styles: [".value-area{display:flex!important;flex-direction:column;box-sizing:border-box;place-content:stretch flex-start;align-items:stretch;height:100%;width:100%;padding-top:10px;padding-bottom:10px}.value-area .attribute-label{flex:0 0 auto;box-sizing:border-box;display:inline-block;width:auto;max-width:100%;text-transform:uppercase;font-size:11px;line-height:1rem;height:1rem;font-weight:400;color:#0000008a;margin-bottom:4px}.value-area .attribute-value{flex:1 0 auto;box-sizing:border-box;height:1px}\n"] }]
1488
1488
  }], propDecorators: { data: [{
@@ -1508,10 +1508,10 @@ class DialogNestedDetailsComponent {
1508
1508
  onClose() {
1509
1509
  this.dialogRef.close();
1510
1510
  }
1511
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DialogNestedDetailsComponent, deps: [{ token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
1512
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DialogNestedDetailsComponent, isStandalone: false, selector: "mantle-dialog-nested-details", ngImport: i0, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" [title]=\"title\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onClose()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n\n <mantle-grid-details-section\n [section]=\"section\"\n [data]=\"data\">>\n </mantle-grid-details-section>\n\n</mat-dialog-content>\n\n<mat-dialog-actions *ngIf=\"showEditButton\" fxLayout=\"row\" class=\"actions-section\">\n <div fxFlex=\"1 1 auto\"></div>\n <button fxFlex=\"0 0 auto\" mat-button color=\"primary\" (click)=\"onEdit()\">{{ 'mantle.buttons.edit' | translate }}</button>\n</mat-dialog-actions>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: GridDetailsSectionComponent, selector: "mantle-grid-details-section", inputs: ["data", "section", "defaultRowHeight"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
1511
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DialogNestedDetailsComponent, deps: [{ token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
1512
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DialogNestedDetailsComponent, isStandalone: false, selector: "mantle-dialog-nested-details", ngImport: i0, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" [title]=\"title\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onClose()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n\n <mantle-grid-details-section\n [section]=\"section\"\n [data]=\"data\">>\n </mantle-grid-details-section>\n\n</mat-dialog-content>\n\n<mat-dialog-actions *ngIf=\"showEditButton\" fxLayout=\"row\" class=\"actions-section\">\n <div fxFlex=\"1 1 auto\"></div>\n <button fxFlex=\"0 0 auto\" mat-button color=\"primary\" (click)=\"onEdit()\">{{ 'mantle.buttons.edit' | translate }}</button>\n</mat-dialog-actions>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: GridDetailsSectionComponent, selector: "mantle-grid-details-section", inputs: ["data", "section", "defaultRowHeight"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
1513
1513
  }
1514
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DialogNestedDetailsComponent, decorators: [{
1514
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DialogNestedDetailsComponent, decorators: [{
1515
1515
  type: Component,
1516
1516
  args: [{ selector: 'mantle-dialog-nested-details', standalone: false, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" [title]=\"title\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onClose()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n\n <mantle-grid-details-section\n [section]=\"section\"\n [data]=\"data\">>\n </mantle-grid-details-section>\n\n</mat-dialog-content>\n\n<mat-dialog-actions *ngIf=\"showEditButton\" fxLayout=\"row\" class=\"actions-section\">\n <div fxFlex=\"1 1 auto\"></div>\n <button fxFlex=\"0 0 auto\" mat-button color=\"primary\" (click)=\"onEdit()\">{{ 'mantle.buttons.edit' | translate }}</button>\n</mat-dialog-actions>\n" }]
1517
1517
  }], ctorParameters: () => [{ type: i1$3.MatDialogRef }, { type: undefined, decorators: [{
@@ -1629,10 +1629,10 @@ class DynamicTableComponent {
1629
1629
  return;
1630
1630
  this.rowClicked.emit(row);
1631
1631
  }
1632
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicTableComponent, deps: [{ token: ArrayService }], target: i0.ɵɵFactoryTarget.Component }); }
1633
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicTableComponent, isStandalone: false, selector: "mantle-dynamic-table", inputs: { columns: "columns", items: "items", withClickableRows: "withClickableRows" }, outputs: { rowClicked: "rowClicked" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "table", first: true, predicate: MatTable, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"horizontal-scroll-table\">\n <table mat-table class=\"full-width\" matSort>\n\n <ng-container *ngFor=\"let column of columns\">\n <ng-container *ngIf=\"!column.hidden\">\n <ng-container matColumnDef=\"{{ column.attr }}\" *ngIf=\"column.type != 'actions'\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ column.header }}</th>\n <td mat-cell *matCellDef=\"let row\">\n <mantle-dynamic-attribute-display [fieldType]=\"column.type\" [value]=\"row[column.attr]\" [field]=\"column\"></mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"{{ column.attr }}\" *ngIf=\"column.type == 'actions'\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header [disabled]=\"true\">{{ column.header }}</th>\n <td mat-cell *matCellDef=\"let row\" class=\"actions-column\">\n <mantle-dynamic-attribute-display [fieldType]=\"column.type\" [value]=\"row\" [field]=\"column\"></mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"listColumnAttrs()\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: listColumnAttrs();\"\n (click)=\"onRowClicked(row)\"\n [class.clickable-row]=\"withClickableRows\">\n </tr>\n\n </table>\n</div>\n\n<mat-paginator #paginator\n [length]=\"items.length\"\n [pageIndex]=\"0\"\n [pageSize]=\"10\"\n [pageSizeOptions]=\"[5, 10, 20]\">\n</mat-paginator>\n", styles: [".actions-column{width:1px;text-align:right}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3$3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3$3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3$3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3$3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3$3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3$3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3$3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3$3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3$3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i12.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: i13.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i13.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: DynamicAttributeDisplayComponent, selector: "mantle-dynamic-attribute-display", inputs: ["value", "field", "fieldType", "options"] }] }); }
1632
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicTableComponent, deps: [{ token: ArrayService }], target: i0.ɵɵFactoryTarget.Component }); }
1633
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicTableComponent, isStandalone: false, selector: "mantle-dynamic-table", inputs: { columns: "columns", items: "items", withClickableRows: "withClickableRows" }, outputs: { rowClicked: "rowClicked" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "table", first: true, predicate: MatTable, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"horizontal-scroll-table\">\n <table mat-table class=\"full-width\" matSort>\n\n <ng-container *ngFor=\"let column of columns\">\n <ng-container *ngIf=\"!column.hidden\">\n <ng-container matColumnDef=\"{{ column.attr }}\" *ngIf=\"column.type != 'actions'\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ column.header }}</th>\n <td mat-cell *matCellDef=\"let row\">\n <mantle-dynamic-attribute-display [fieldType]=\"column.type\" [value]=\"row[column.attr]\" [field]=\"column\"></mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"{{ column.attr }}\" *ngIf=\"column.type == 'actions'\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header [disabled]=\"true\">{{ column.header }}</th>\n <td mat-cell *matCellDef=\"let row\" class=\"actions-column\">\n <mantle-dynamic-attribute-display [fieldType]=\"column.type\" [value]=\"row\" [field]=\"column\"></mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"listColumnAttrs()\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: listColumnAttrs();\"\n (click)=\"onRowClicked(row)\"\n [class.clickable-row]=\"withClickableRows\">\n </tr>\n\n </table>\n</div>\n\n<mat-paginator #paginator\n [length]=\"items.length\"\n [pageIndex]=\"0\"\n [pageSize]=\"10\"\n [pageSizeOptions]=\"[5, 10, 20]\">\n</mat-paginator>\n", styles: [".actions-column{width:1px;text-align:right}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3$3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3$3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3$3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3$3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3$3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3$3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3$3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3$3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3$3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i12.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: i13.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i13.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: DynamicAttributeDisplayComponent, selector: "mantle-dynamic-attribute-display", inputs: ["value", "field", "fieldType", "options"] }] }); }
1634
1634
  }
1635
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicTableComponent, decorators: [{
1635
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicTableComponent, decorators: [{
1636
1636
  type: Component,
1637
1637
  args: [{ selector: 'mantle-dynamic-table', standalone: false, template: "<div class=\"horizontal-scroll-table\">\n <table mat-table class=\"full-width\" matSort>\n\n <ng-container *ngFor=\"let column of columns\">\n <ng-container *ngIf=\"!column.hidden\">\n <ng-container matColumnDef=\"{{ column.attr }}\" *ngIf=\"column.type != 'actions'\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ column.header }}</th>\n <td mat-cell *matCellDef=\"let row\">\n <mantle-dynamic-attribute-display [fieldType]=\"column.type\" [value]=\"row[column.attr]\" [field]=\"column\"></mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"{{ column.attr }}\" *ngIf=\"column.type == 'actions'\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header [disabled]=\"true\">{{ column.header }}</th>\n <td mat-cell *matCellDef=\"let row\" class=\"actions-column\">\n <mantle-dynamic-attribute-display [fieldType]=\"column.type\" [value]=\"row\" [field]=\"column\"></mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"listColumnAttrs()\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: listColumnAttrs();\"\n (click)=\"onRowClicked(row)\"\n [class.clickable-row]=\"withClickableRows\">\n </tr>\n\n </table>\n</div>\n\n<mat-paginator #paginator\n [length]=\"items.length\"\n [pageIndex]=\"0\"\n [pageSize]=\"10\"\n [pageSizeOptions]=\"[5, 10, 20]\">\n</mat-paginator>\n", styles: [".actions-column{width:1px;text-align:right}\n"] }]
1638
1638
  }], ctorParameters: () => [{ type: ArrayService }], propDecorators: { paginator: [{
@@ -1672,10 +1672,10 @@ class TableDetailsSectionComponent {
1672
1672
  }
1673
1673
  this.dialog.open(DialogNestedDetailsComponent, dialogConfig);
1674
1674
  }
1675
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: TableDetailsSectionComponent, deps: [{ token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
1676
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: TableDetailsSectionComponent, isStandalone: false, selector: "mantle-table-details-section", inputs: { data: "data", section: "section", detailPageService: "detailPageService" }, ngImport: i0, template: "<div class=\"table-section-content\">\n <mantle-dynamic-table\n [columns]=\"section.elements\"\n [items]=\"data[section.config.attr]\"\n [withClickableRows]=\"true\"\n (rowClicked)=\"openDetailsDialog($event)\">\n </mantle-dynamic-table>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: DynamicTableComponent, selector: "mantle-dynamic-table", inputs: ["columns", "items", "withClickableRows"], outputs: ["rowClicked"] }] }); }
1675
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TableDetailsSectionComponent, deps: [{ token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
1676
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: TableDetailsSectionComponent, isStandalone: false, selector: "mantle-table-details-section", inputs: { data: "data", section: "section", detailPageService: "detailPageService" }, ngImport: i0, template: "<div class=\"table-section-content\">\n <mantle-dynamic-table\n [columns]=\"section.elements\"\n [items]=\"data[section.config.attr]\"\n [withClickableRows]=\"true\"\n (rowClicked)=\"openDetailsDialog($event)\">\n </mantle-dynamic-table>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: DynamicTableComponent, selector: "mantle-dynamic-table", inputs: ["columns", "items", "withClickableRows"], outputs: ["rowClicked"] }] }); }
1677
1677
  }
1678
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: TableDetailsSectionComponent, decorators: [{
1678
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TableDetailsSectionComponent, decorators: [{
1679
1679
  type: Component,
1680
1680
  args: [{ selector: 'mantle-table-details-section', standalone: false, template: "<div class=\"table-section-content\">\n <mantle-dynamic-table\n [columns]=\"section.elements\"\n [items]=\"data[section.config.attr]\"\n [withClickableRows]=\"true\"\n (rowClicked)=\"openDetailsDialog($event)\">\n </mantle-dynamic-table>\n</div>\n" }]
1681
1681
  }], ctorParameters: () => [{ type: i1$3.MatDialog }], propDecorators: { data: [{
@@ -1709,10 +1709,10 @@ class ReportViewerDisplayComponent {
1709
1709
  });
1710
1710
  this.items = values;
1711
1711
  }
1712
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ReportViewerDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1713
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: ReportViewerDisplayComponent, isStandalone: false, selector: "mantle-report-viewer-display", inputs: { value: "value" }, usesOnChanges: true, ngImport: i0, template: "<mantle-dynamic-table [columns]=\"columns\"\n [items]=\"items\"\n [withClickableRows]=\"false\">\n</mantle-dynamic-table>\n", styles: [""], dependencies: [{ kind: "component", type: DynamicTableComponent, selector: "mantle-dynamic-table", inputs: ["columns", "items", "withClickableRows"], outputs: ["rowClicked"] }] }); }
1712
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportViewerDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1713
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ReportViewerDisplayComponent, isStandalone: false, selector: "mantle-report-viewer-display", inputs: { value: "value" }, usesOnChanges: true, ngImport: i0, template: "<mantle-dynamic-table [columns]=\"columns\"\n [items]=\"items\"\n [withClickableRows]=\"false\">\n</mantle-dynamic-table>\n", styles: [""], dependencies: [{ kind: "component", type: DynamicTableComponent, selector: "mantle-dynamic-table", inputs: ["columns", "items", "withClickableRows"], outputs: ["rowClicked"] }] }); }
1714
1714
  }
1715
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ReportViewerDisplayComponent, decorators: [{
1715
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportViewerDisplayComponent, decorators: [{
1716
1716
  type: Component,
1717
1717
  args: [{ selector: 'mantle-report-viewer-display', standalone: false, template: "<mantle-dynamic-table [columns]=\"columns\"\n [items]=\"items\"\n [withClickableRows]=\"false\">\n</mantle-dynamic-table>\n" }]
1718
1718
  }], propDecorators: { value: [{
@@ -1720,10 +1720,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
1720
1720
  }] } });
1721
1721
 
1722
1722
  class ReportDetailsSectionComponent {
1723
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ReportDetailsSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1724
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: ReportDetailsSectionComponent, isStandalone: false, selector: "mantle-report-details-section", inputs: { data: "data", section: "section" }, ngImport: i0, template: "<div class=\"table-section-content\">\n <ng-container *ngFor=\"let field of section.elements\">\n <ng-container [ngSwitch]=\"field.type\">\n <ng-container *ngSwitchCase=\"'report-viewer'\">\n <mantle-report-viewer-display [value]=\"data\">\n </mantle-report-viewer-display>\n </ng-container>\n </ng-container>\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: ReportViewerDisplayComponent, selector: "mantle-report-viewer-display", inputs: ["value"] }] }); }
1723
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportDetailsSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1724
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ReportDetailsSectionComponent, isStandalone: false, selector: "mantle-report-details-section", inputs: { data: "data", section: "section" }, ngImport: i0, template: "<div class=\"table-section-content\">\n <ng-container *ngFor=\"let field of section.elements\">\n <ng-container [ngSwitch]=\"field.type\">\n <ng-container *ngSwitchCase=\"'report-viewer'\">\n <mantle-report-viewer-display [value]=\"data\">\n </mantle-report-viewer-display>\n </ng-container>\n </ng-container>\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: ReportViewerDisplayComponent, selector: "mantle-report-viewer-display", inputs: ["value"] }] }); }
1725
1725
  }
1726
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ReportDetailsSectionComponent, decorators: [{
1726
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportDetailsSectionComponent, decorators: [{
1727
1727
  type: Component,
1728
1728
  args: [{ selector: 'mantle-report-details-section', standalone: false, template: "<div class=\"table-section-content\">\n <ng-container *ngFor=\"let field of section.elements\">\n <ng-container [ngSwitch]=\"field.type\">\n <ng-container *ngSwitchCase=\"'report-viewer'\">\n <mantle-report-viewer-display [value]=\"data\">\n </mantle-report-viewer-display>\n </ng-container>\n </ng-container>\n </ng-container>\n</div>\n" }]
1729
1729
  }], propDecorators: { data: [{
@@ -1802,10 +1802,10 @@ class DraggableTableComponent {
1802
1802
  currentOrdinal += 1;
1803
1803
  });
1804
1804
  }
1805
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DraggableTableComponent, deps: [{ token: ArrayService }], target: i0.ɵɵFactoryTarget.Component }); }
1806
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DraggableTableComponent, isStandalone: false, selector: "mantle-draggable-table", inputs: { columns: "columns", items: "items", sortAttr: "sortAttr", writable: "writable" }, viewQueries: [{ propertyName: "table", first: true, predicate: MatTable, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-table\n #table\n [ngClass]=\"{ 'draggable-table-details': !writable, 'draggable-table-form': writable }\"\n [dataSource]=\"dataSource\"\n cdkDropList\n (cdkDropListDropped)=\"onDropped($event)\"\n cdkDropListData=\"items\"\n [cdkDropListDisabled]=\"!writable\"\n [cdkDropListSortingDisabled]=\"!writable\">\n\n <!-- Drag Column -->\n <ng-container matColumnDef=\"drag\" *ngIf=\"writable\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-icon class=\"drag-cursor\" (mousedown)=\"true;\">\n drag_indicator\n </mat-icon>\n </td>\n </ng-container>\n\n <ng-container *ngFor=\"let column of columns\">\n <ng-container matColumnDef=\"{{ column.attr }}\">\n <th mat-header-cell *matHeaderCellDef>{{ column.header | translate }}</th>\n <td mat-cell *matCellDef=\"let row\">\n <mantle-dynamic-attribute-display [fieldType]=\"column.type\" [value]=\"row[column.attr]\" [field]=\"column\"></mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n </ng-container>\n\n <ng-container matColumnDef=\"delete\" *ngIf=\"writable\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let row\">\n <button mat-icon-button (click)=\"onDeleteClicked(row)\">\n <mat-icon>\n delete\n </mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"dataSource.columns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: dataSource.columns;\"\n cdkDrag\n [cdkDragData]=\"row\">\n </tr>\n</mat-table>\n", styles: [".mat-mdc-table{width:100%}.mat-mdc-table tr{height:40px;vertical-align:middle}.mat-mdc-table th,.mat-mdc-table td{padding-left:10px!important;padding-right:10px!important;border-width:0px}.mat-mdc-table th:first-of-type,.mat-mdc-table td:first-of-type{padding-left:5px!important}.mat-mdc-table th:last-of-type,.mat-mdc-table td:last-of-type{padding-right:5px!important}.draggable-table-details th,.draggable-table-details td{border-width:0px}.draggable-table-form tr{border-width:1px;border-style:solid}.draggable-table-form td{border-top:1px solid gray;border-bottom:1px solid gray}.draggable-table-form td:first-of-type{border-left:1px solid gray}.draggable-table-form td:last-of-type{border-right:1px solid gray}.drag-cursor{margin-right:16px;cursor:move}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;background-color:#fff}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging .mat-mdc-row:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i5$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i5$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3$3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3$3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3$3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3$3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3$3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3$3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3$3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3$3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3$3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3$3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: DynamicAttributeDisplayComponent, selector: "mantle-dynamic-attribute-display", inputs: ["value", "field", "fieldType", "options"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
1805
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DraggableTableComponent, deps: [{ token: ArrayService }], target: i0.ɵɵFactoryTarget.Component }); }
1806
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DraggableTableComponent, isStandalone: false, selector: "mantle-draggable-table", inputs: { columns: "columns", items: "items", sortAttr: "sortAttr", writable: "writable" }, viewQueries: [{ propertyName: "table", first: true, predicate: MatTable, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-table\n #table\n [ngClass]=\"{ 'draggable-table-details': !writable, 'draggable-table-form': writable }\"\n [dataSource]=\"dataSource\"\n cdkDropList\n (cdkDropListDropped)=\"onDropped($event)\"\n cdkDropListData=\"items\"\n [cdkDropListDisabled]=\"!writable\"\n [cdkDropListSortingDisabled]=\"!writable\">\n\n <!-- Drag Column -->\n <ng-container matColumnDef=\"drag\" *ngIf=\"writable\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-icon class=\"drag-cursor\" (mousedown)=\"true;\">\n drag_indicator\n </mat-icon>\n </td>\n </ng-container>\n\n <ng-container *ngFor=\"let column of columns\">\n <ng-container matColumnDef=\"{{ column.attr }}\">\n <th mat-header-cell *matHeaderCellDef>{{ column.header | translate }}</th>\n <td mat-cell *matCellDef=\"let row\">\n <mantle-dynamic-attribute-display [fieldType]=\"column.type\" [value]=\"row[column.attr]\" [field]=\"column\"></mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n </ng-container>\n\n <ng-container matColumnDef=\"delete\" *ngIf=\"writable\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let row\">\n <button mat-icon-button (click)=\"onDeleteClicked(row)\">\n <mat-icon>\n delete\n </mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"dataSource.columns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: dataSource.columns;\"\n cdkDrag\n [cdkDragData]=\"row\">\n </tr>\n</mat-table>\n", styles: [".mat-mdc-table{width:100%}.mat-mdc-table tr{height:40px;vertical-align:middle}.mat-mdc-table th,.mat-mdc-table td{padding-left:10px!important;padding-right:10px!important;border-width:0px}.mat-mdc-table th:first-of-type,.mat-mdc-table td:first-of-type{padding-left:5px!important}.mat-mdc-table th:last-of-type,.mat-mdc-table td:last-of-type{padding-right:5px!important}.draggable-table-details th,.draggable-table-details td{border-width:0px}.draggable-table-form tr{border-width:1px;border-style:solid}.draggable-table-form td{border-top:1px solid gray;border-bottom:1px solid gray}.draggable-table-form td:first-of-type{border-left:1px solid gray}.draggable-table-form td:last-of-type{border-right:1px solid gray}.drag-cursor{margin-right:16px;cursor:move}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;background-color:#fff}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging .mat-mdc-row:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i5$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i5$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3$3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3$3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3$3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3$3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3$3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3$3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3$3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3$3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3$3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3$3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: DynamicAttributeDisplayComponent, selector: "mantle-dynamic-attribute-display", inputs: ["value", "field", "fieldType", "options"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
1807
1807
  }
1808
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DraggableTableComponent, decorators: [{
1808
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DraggableTableComponent, decorators: [{
1809
1809
  type: Component,
1810
1810
  args: [{ selector: 'mantle-draggable-table', standalone: false, template: "<mat-table\n #table\n [ngClass]=\"{ 'draggable-table-details': !writable, 'draggable-table-form': writable }\"\n [dataSource]=\"dataSource\"\n cdkDropList\n (cdkDropListDropped)=\"onDropped($event)\"\n cdkDropListData=\"items\"\n [cdkDropListDisabled]=\"!writable\"\n [cdkDropListSortingDisabled]=\"!writable\">\n\n <!-- Drag Column -->\n <ng-container matColumnDef=\"drag\" *ngIf=\"writable\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-icon class=\"drag-cursor\" (mousedown)=\"true;\">\n drag_indicator\n </mat-icon>\n </td>\n </ng-container>\n\n <ng-container *ngFor=\"let column of columns\">\n <ng-container matColumnDef=\"{{ column.attr }}\">\n <th mat-header-cell *matHeaderCellDef>{{ column.header | translate }}</th>\n <td mat-cell *matCellDef=\"let row\">\n <mantle-dynamic-attribute-display [fieldType]=\"column.type\" [value]=\"row[column.attr]\" [field]=\"column\"></mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n </ng-container>\n\n <ng-container matColumnDef=\"delete\" *ngIf=\"writable\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let row\">\n <button mat-icon-button (click)=\"onDeleteClicked(row)\">\n <mat-icon>\n delete\n </mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"dataSource.columns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: dataSource.columns;\"\n cdkDrag\n [cdkDragData]=\"row\">\n </tr>\n</mat-table>\n", styles: [".mat-mdc-table{width:100%}.mat-mdc-table tr{height:40px;vertical-align:middle}.mat-mdc-table th,.mat-mdc-table td{padding-left:10px!important;padding-right:10px!important;border-width:0px}.mat-mdc-table th:first-of-type,.mat-mdc-table td:first-of-type{padding-left:5px!important}.mat-mdc-table th:last-of-type,.mat-mdc-table td:last-of-type{padding-right:5px!important}.draggable-table-details th,.draggable-table-details td{border-width:0px}.draggable-table-form tr{border-width:1px;border-style:solid}.draggable-table-form td{border-top:1px solid gray;border-bottom:1px solid gray}.draggable-table-form td:first-of-type{border-left:1px solid gray}.draggable-table-form td:last-of-type{border-right:1px solid gray}.drag-cursor{margin-right:16px;cursor:move}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;background-color:#fff}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging .mat-mdc-row:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
1811
1811
  }], ctorParameters: () => [{ type: ArrayService }], propDecorators: { table: [{
@@ -1823,10 +1823,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
1823
1823
 
1824
1824
  class RosterShiftListDetailsSectionComponent {
1825
1825
  constructor() { }
1826
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: RosterShiftListDetailsSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1827
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: RosterShiftListDetailsSectionComponent, isStandalone: false, selector: "mantle-roster-shift-list-details-section", inputs: { data: "data", section: "section" }, ngImport: i0, template: "<div class=\"roster-shift-list-content\">\n <mantle-draggable-table\n [columns]=\"section.elements\"\n [items]=\"data[section.config.attr]\"\n [sortAttr]=\"section.options.ordinal\"\n [writable]=\"false\">\n </mantle-draggable-table>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: DraggableTableComponent, selector: "mantle-draggable-table", inputs: ["columns", "items", "sortAttr", "writable"] }] }); }
1826
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RosterShiftListDetailsSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1827
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: RosterShiftListDetailsSectionComponent, isStandalone: false, selector: "mantle-roster-shift-list-details-section", inputs: { data: "data", section: "section" }, ngImport: i0, template: "<div class=\"roster-shift-list-content\">\n <mantle-draggable-table\n [columns]=\"section.elements\"\n [items]=\"data[section.config.attr]\"\n [sortAttr]=\"section.options.ordinal\"\n [writable]=\"false\">\n </mantle-draggable-table>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: DraggableTableComponent, selector: "mantle-draggable-table", inputs: ["columns", "items", "sortAttr", "writable"] }] }); }
1828
1828
  }
1829
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: RosterShiftListDetailsSectionComponent, decorators: [{
1829
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RosterShiftListDetailsSectionComponent, decorators: [{
1830
1830
  type: Component,
1831
1831
  args: [{ selector: 'mantle-roster-shift-list-details-section', standalone: false, template: "<div class=\"roster-shift-list-content\">\n <mantle-draggable-table\n [columns]=\"section.elements\"\n [items]=\"data[section.config.attr]\"\n [sortAttr]=\"section.options.ordinal\"\n [writable]=\"false\">\n </mantle-draggable-table>\n</div>\n" }]
1832
1832
  }], ctorParameters: () => [], propDecorators: { data: [{
@@ -1882,10 +1882,10 @@ class DynamicFormService {
1882
1882
  });
1883
1883
  return formValue;
1884
1884
  }
1885
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1886
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicFormService, providedIn: 'root' }); }
1885
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1886
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicFormService, providedIn: 'root' }); }
1887
1887
  }
1888
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicFormService, decorators: [{
1888
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicFormService, decorators: [{
1889
1889
  type: Injectable,
1890
1890
  args: [{
1891
1891
  providedIn: 'root'
@@ -1936,8 +1936,8 @@ class ChipInputComponent {
1936
1936
  return { name: chipName.trim() };
1937
1937
  });
1938
1938
  }
1939
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ChipInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1940
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: ChipInputComponent, isStandalone: false, selector: "mantle-chip-input", inputs: { label: "label", tooltip: "tooltip", disable: "disable", required: "required", error: "error" }, providers: [
1939
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ChipInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1940
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ChipInputComponent, isStandalone: false, selector: "mantle-chip-input", inputs: { label: "label", tooltip: "tooltip", disable: "disable", required: "required", error: "error" }, providers: [
1941
1941
  {
1942
1942
  provide: NG_VALUE_ACCESSOR,
1943
1943
  useExisting: forwardRef(() => ChipInputComponent),
@@ -1945,7 +1945,7 @@ class ChipInputComponent {
1945
1945
  }
1946
1946
  ], ngImport: i0, template: "<mat-form-field [class.mat-mdc-form-field-invalid]=\"error\">\n <mat-label>\n {{ label | translate }}\n <mantle-tooltip *ngIf=\"tooltip\" [message]=\"tooltip\"></mantle-tooltip>\n </mat-label>\n <mat-chip-grid #chipGrid [disabled]=\"disable\">\n <mat-chip-row *ngFor=\"let chip of chips\"\n color=\"accent\" selected\n [removable]=\"removable\"\n (removed)=\"remove(chip)\">\n {{ chip.name }}\n <button matChipRemove *ngIf=\"removable\">\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip-row>\n\n <input [matChipInputFor]=\"chipGrid\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"add($event)\"\n autocomplete=\"off\">\n </mat-chip-grid>\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i3.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i3.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i3.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: TooltipComponent, selector: "mantle-tooltip", inputs: ["message"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
1947
1947
  }
1948
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ChipInputComponent, decorators: [{
1948
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ChipInputComponent, decorators: [{
1949
1949
  type: Component,
1950
1950
  args: [{ selector: 'mantle-chip-input', standalone: false, providers: [
1951
1951
  {
@@ -2015,8 +2015,8 @@ class DatepickerComponent {
2015
2015
  }
2016
2016
  return value;
2017
2017
  }
2018
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2019
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DatepickerComponent, isStandalone: false, selector: "mantle-datepicker", inputs: { label: "label", tooltip: "tooltip", disable: "disable", required: "required", error: "error" }, providers: [
2018
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2019
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DatepickerComponent, isStandalone: false, selector: "mantle-datepicker", inputs: { label: "label", tooltip: "tooltip", disable: "disable", required: "required", error: "error" }, providers: [
2020
2020
  {
2021
2021
  provide: NG_VALUE_ACCESSOR,
2022
2022
  useExisting: forwardRef(() => DatepickerComponent),
@@ -2024,7 +2024,7 @@ class DatepickerComponent {
2024
2024
  }
2025
2025
  ], ngImport: i0, template: "<mat-form-field [class.mat-mdc-form-field-invalid]=\"error\">\n <mat-label>\n {{ label | translate }}\n <mantle-tooltip *ngIf=\"tooltip\" [message]=\"tooltip\"></mantle-tooltip>\n </mat-label>\n <input matInput\n [mtxDatetimepicker]=\"picker\"\n [(ngModel)]=\"selectedDate\"\n (change)=\"onDateEntered($event)\"\n [required]=\"required\"\n [disabled]=\"disable\"\n (dateChange)=\"onDateSelected($event.value)\"\n autocomplete=\"off\">\n <mtx-datetimepicker #picker type=\"date\"></mtx-datetimepicker>\n <mtx-datetimepicker-toggle matSuffix [for]=\"picker\" tabindex=\"-1\"></mtx-datetimepicker-toggle>\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3$4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4$3.MtxDatetimepicker, selector: "mtx-datetimepicker", inputs: ["multiYearSelector", "twelvehour", "showWeekNumbers", "startView", "mode", "timeInterval", "preventSameDateTimeSelection", "calendarHeaderComponent", "panelClass", "opened", "color", "startAt", "type", "touchUi", "timeInput", "timeInputAutoFocus", "disabled", "xPosition", "yPosition", "restoreFocus"], outputs: ["selectedChanged", "opened", "closed", "viewChanged"], exportAs: ["mtxDatetimepicker"] }, { kind: "component", type: i4$3.MtxDatetimepickerToggle, selector: "mtx-datetimepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["mtxDatetimepickerToggle"] }, { kind: "directive", type: i4$3.MtxDatetimepickerInput, selector: "input[mtxDatetimepicker]", inputs: ["mtxDatetimepicker", "mtxDatetimepickerFilter", "value", "min", "max", "disabled"], outputs: ["dateChange", "dateInput"], exportAs: ["mtxDatetimepickerInput"] }, { kind: "component", type: TooltipComponent, selector: "mantle-tooltip", inputs: ["message"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
2026
2026
  }
2027
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DatepickerComponent, decorators: [{
2027
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DatepickerComponent, decorators: [{
2028
2028
  type: Component,
2029
2029
  args: [{ selector: 'mantle-datepicker', standalone: false, providers: [
2030
2030
  {
@@ -2094,8 +2094,8 @@ class DatetimepickerComponent {
2094
2094
  }
2095
2095
  return value;
2096
2096
  }
2097
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DatetimepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2098
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DatetimepickerComponent, isStandalone: false, selector: "mantle-datetimepicker", inputs: { label: "label", tooltip: "tooltip", disable: "disable", required: "required", error: "error" }, providers: [
2097
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DatetimepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2098
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DatetimepickerComponent, isStandalone: false, selector: "mantle-datetimepicker", inputs: { label: "label", tooltip: "tooltip", disable: "disable", required: "required", error: "error" }, providers: [
2099
2099
  {
2100
2100
  provide: NG_VALUE_ACCESSOR,
2101
2101
  useExisting: forwardRef(() => DatetimepickerComponent),
@@ -2103,7 +2103,7 @@ class DatetimepickerComponent {
2103
2103
  }
2104
2104
  ], ngImport: i0, template: "<mat-form-field [class.mat-mdc-form-field-invalid]=\"error\">\n <mat-label>\n {{ label | translate }}\n <mantle-tooltip *ngIf=\"tooltip\" [message]=\"tooltip\"></mantle-tooltip>\n </mat-label>\n <input matInput\n [mtxDatetimepicker]=\"picker\"\n [(ngModel)]=\"selectedDateTime\"\n (change)=\"onDateTimeEntered($event)\"\n [required]=\"required\"\n [disabled]=\"disable\"\n (dateChange)=\"onDateTimeSelected($event.value)\"\n autocomplete=\"off\">\n <mtx-datetimepicker #picker type=\"datetime\"></mtx-datetimepicker>\n <mtx-datetimepicker-toggle matSuffix [for]=\"picker\" tabindex=\"-1\"></mtx-datetimepicker-toggle>\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3$4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4$3.MtxDatetimepicker, selector: "mtx-datetimepicker", inputs: ["multiYearSelector", "twelvehour", "showWeekNumbers", "startView", "mode", "timeInterval", "preventSameDateTimeSelection", "calendarHeaderComponent", "panelClass", "opened", "color", "startAt", "type", "touchUi", "timeInput", "timeInputAutoFocus", "disabled", "xPosition", "yPosition", "restoreFocus"], outputs: ["selectedChanged", "opened", "closed", "viewChanged"], exportAs: ["mtxDatetimepicker"] }, { kind: "component", type: i4$3.MtxDatetimepickerToggle, selector: "mtx-datetimepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["mtxDatetimepickerToggle"] }, { kind: "directive", type: i4$3.MtxDatetimepickerInput, selector: "input[mtxDatetimepicker]", inputs: ["mtxDatetimepicker", "mtxDatetimepickerFilter", "value", "min", "max", "disabled"], outputs: ["dateChange", "dateInput"], exportAs: ["mtxDatetimepickerInput"] }, { kind: "component", type: TooltipComponent, selector: "mantle-tooltip", inputs: ["message"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
2105
2105
  }
2106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DatetimepickerComponent, decorators: [{
2106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DatetimepickerComponent, decorators: [{
2107
2107
  type: Component,
2108
2108
  args: [{ selector: 'mantle-datetimepicker', standalone: false, providers: [
2109
2109
  {
@@ -2139,8 +2139,8 @@ class ColorPickerInputComponent {
2139
2139
  onValueChanged(event) {
2140
2140
  this.onChange(this.value);
2141
2141
  }
2142
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ColorPickerInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2143
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: ColorPickerInputComponent, isStandalone: false, selector: "mantle-colorpicker-input", inputs: { label: "label", tooltip: "tooltip", disable: "disable", required: "required", error: "error" }, providers: [
2142
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ColorPickerInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2143
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ColorPickerInputComponent, isStandalone: false, selector: "mantle-colorpicker-input", inputs: { label: "label", tooltip: "tooltip", disable: "disable", required: "required", error: "error" }, providers: [
2144
2144
  {
2145
2145
  provide: NG_VALUE_ACCESSOR,
2146
2146
  useExisting: forwardRef(() => ColorPickerInputComponent),
@@ -2148,7 +2148,7 @@ class ColorPickerInputComponent {
2148
2148
  }
2149
2149
  ], ngImport: i0, template: "<mat-form-field [class.mat-mdc-form-field-invalid]=\"error\">\n <mat-label>\n {{ label | translate }}\n <mantle-tooltip *ngIf=\"tooltip\" [message]=\"tooltip\"></mantle-tooltip>\n </mat-label>\n <input matInput\n [mtxColorpicker]=\"picker\"\n [(ngModel)]=\"value\"\n (colorChange)=\"onValueChanged($event)\"\n [required]=\"required\"\n [disabled]=\"disable\"\n format=\"hex\"\n autocomplete=\"off\" />\n <mtx-colorpicker-toggle matSuffix [for]=\"picker\" tabindex=\"-1\"></mtx-colorpicker-toggle>\n <mtx-colorpicker #picker></mtx-colorpicker>\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3$4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4$4.MtxColorpicker, selector: "mtx-colorpicker", inputs: ["content", "disabled", "xPosition", "yPosition", "restoreFocus", "opened", "color", "format"], outputs: ["opened", "closed"], exportAs: ["mtxColorpicker"] }, { kind: "directive", type: i4$4.MtxColorpickerInput, selector: "input[mtxColorpicker]", inputs: ["mtxColorpicker", "disabled", "value", "format"], outputs: ["colorChange", "colorInput"], exportAs: ["mtxColorpickerInput"] }, { kind: "component", type: i4$4.MtxColorpickerToggle, selector: "mtx-colorpicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["mtxColorpickerToggle"] }, { kind: "component", type: TooltipComponent, selector: "mantle-tooltip", inputs: ["message"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
2150
2150
  }
2151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ColorPickerInputComponent, decorators: [{
2151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ColorPickerInputComponent, decorators: [{
2152
2152
  type: Component,
2153
2153
  args: [{ selector: 'mantle-colorpicker-input', standalone: false, providers: [
2154
2154
  {
@@ -2201,8 +2201,8 @@ class DropdownComponent {
2201
2201
  return !item.hidden;
2202
2202
  });
2203
2203
  }
2204
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2205
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DropdownComponent, isStandalone: false, selector: "mantle-dropdown", inputs: { label: "label", tooltip: "tooltip", options: "options", disable: "disable", required: "required", error: "error" }, outputs: { change: "change" }, providers: [
2204
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2205
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DropdownComponent, isStandalone: false, selector: "mantle-dropdown", inputs: { label: "label", tooltip: "tooltip", options: "options", disable: "disable", required: "required", error: "error" }, outputs: { change: "change" }, providers: [
2206
2206
  {
2207
2207
  provide: NG_VALUE_ACCESSOR,
2208
2208
  useExisting: forwardRef(() => DropdownComponent),
@@ -2210,7 +2210,7 @@ class DropdownComponent {
2210
2210
  }
2211
2211
  ], usesOnChanges: true, ngImport: i0, template: "<mat-form-field [class.mat-mdc-form-field-invalid]=\"error\">\n <mat-label>\n {{ label | translate }}\n <mantle-tooltip *ngIf=\"tooltip\" [message]=\"tooltip\"></mantle-tooltip>\n </mat-label>\n <mtx-select\n [(ngModel)]=\"value\"\n (change)=\"onValueChanged($event)\"\n [required]=\"required\"\n [disabled]=\"disable\"\n [matTooltip]=\"(tooltip! | translate)\"\n appendTo=\"body\">\n <mtx-option value=\"\"></mtx-option>\n <mtx-option *ngFor=\"let option of dropdownValues\" [value]=\"option.value\">\n {{option.label}}\n </mtx-option>\n </mtx-select>\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i5$2.MtxSelect, selector: "mtx-select", inputs: ["addTag", "addTagText", "appearance", "appendTo", "bindLabel", "bindValue", "closeOnSelect", "clearAllText", "clearable", "clearOnBackspace", "compareWith", "dropdownPosition", "groupBy", "groupValue", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "hideSelected", "loading", "loadingText", "labelForId", "markFirst", "maxSelectedItems", "multiple", "notFoundText", "searchable", "readonly", "searchFn", "searchWhileComposing", "selectOnTab", "trackByFn", "inputAttrs", "tabIndex", "openOnEnter", "minTermLength", "editableSearchTerm", "keyDownFn", "virtualScroll", "typeToSearchText", "typeahead", "isOpen", "fixedPlaceholder", "deselectOnClick", "clearSearchOnAdd", "items", "value", "id", "placeholder", "disabled", "required", "errorStateMatcher", "aria-label", "aria-labelledby"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"], exportAs: ["mtxSelect"] }, { kind: "component", type: i5$2.MtxOption, selector: "mtx-option", inputs: ["value", "disabled"], exportAs: ["mtxOption"] }, { kind: "component", type: TooltipComponent, selector: "mantle-tooltip", inputs: ["message"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
2212
2212
  }
2213
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DropdownComponent, decorators: [{
2213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DropdownComponent, decorators: [{
2214
2214
  type: Component,
2215
2215
  args: [{ selector: 'mantle-dropdown', standalone: false, providers: [
2216
2216
  {
@@ -2284,8 +2284,8 @@ class FilepickerComponent {
2284
2284
  this.currentAttachment = this.previousAttachment;
2285
2285
  this.onChange(undefined);
2286
2286
  }
2287
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: FilepickerComponent, deps: [{ token: WebApiService }], target: i0.ɵɵFactoryTarget.Component }); }
2288
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: FilepickerComponent, isStandalone: false, selector: "mantle-filepicker", inputs: { label: "label", tooltip: "tooltip", disable: "disable", required: "required", error: "error" }, providers: [
2287
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FilepickerComponent, deps: [{ token: WebApiService }], target: i0.ɵɵFactoryTarget.Component }); }
2288
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: FilepickerComponent, isStandalone: false, selector: "mantle-filepicker", inputs: { label: "label", tooltip: "tooltip", disable: "disable", required: "required", error: "error" }, providers: [
2289
2289
  {
2290
2290
  provide: NG_VALUE_ACCESSOR,
2291
2291
  useExisting: forwardRef(() => FilepickerComponent),
@@ -2293,7 +2293,7 @@ class FilepickerComponent {
2293
2293
  }
2294
2294
  ], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<mat-form-field [class.mat-mdc-form-field-invalid]=\"error\">\n <mat-label>\n {{ label | translate }}\n <mantle-tooltip *ngIf=\"tooltip\" [message]=\"tooltip\"></mantle-tooltip>\n </mat-label>\n <input matInput\n type=\"text\"\n [attr.value]=\"currentAttachment?.filename\"\n (click)=\"fileInput.click()\"\n [required]=\"required\"\n [disabled]=\"disable\"\n autocomplete=\"off\">\n\n <button *ngIf=\"currentAttachment?.filename\" mat-icon-button matSuffix tabindex=\"-1\" (click)=\"clearAttachment()\" [disabled]=\"disable\" click-stop-propagation class=\"clear-button\">\n <mat-icon>close</mat-icon>\n </button>\n\n <button *ngIf=\"!uploadInProgress\" mat-icon-button matSuffix tabindex=\"-1\" (click)=\"fileInput.click()\" [disabled]=\"disable\">\n <mat-icon>attach_file</mat-icon>\n </button>\n\n <button *ngIf=\"uploadInProgress\" mat-icon-button matSuffix tabindex=\"-1\" disabled>\n <mat-spinner matSuffix [diameter]=\"20\"></mat-spinner>\n </button>\n\n <input #fileInput\n type=\"file\"\n hidden\n (change)=\"onFileSelected($event)\">\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3$4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3$4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[click-stop-propagation]" }, { kind: "component", type: TooltipComponent, selector: "mantle-tooltip", inputs: ["message"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
2295
2295
  }
2296
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: FilepickerComponent, decorators: [{
2296
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FilepickerComponent, decorators: [{
2297
2297
  type: Component,
2298
2298
  args: [{ selector: 'mantle-filepicker', standalone: false, providers: [
2299
2299
  {
@@ -2347,10 +2347,10 @@ class ImageCropperComponent {
2347
2347
  onCancel() {
2348
2348
  this.dialogRef.close();
2349
2349
  }
2350
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ImageCropperComponent, deps: [{ token: i1$7.DomSanitizer }, { token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
2351
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: ImageCropperComponent, isStandalone: false, selector: "mantle-image-cropper", ngImport: i0, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <h2 fxFlex=\"1 1 auto\" class=\"section-title\">{{ 'mantle.image_cropper.crop_image' | translate }}</h2>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancel()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n<mat-dialog-content>\n <div class=\"cropper-wrapper\" fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"32px\">\n <div fxFlex=\"1 0 1px\">\n <h5>{{ 'mantle.image_cropper.original' | translate }}</h5>\n </div>\n <div fxFlex=\"0 0 100px\">\n <h5>{{ 'mantle.image_cropper.preview' | translate }}</h5>\n </div>\n </div>\n\n <div class=\"cropper-wrapper\" fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"32px\">\n\n <image-cropper\n [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"maintainAspectRatio\"\n [aspectRatio]=\"aspectRatio\"\n [resizeToWidth]=\"resizeToWidth\"\n format=\"png\"\n (imageCropped)=\"imageCropped($event)\"\n (loadImageFailed)=\"loadImageFailed()\">\n </image-cropper>\n\n <div fxFlex=\"0 0 100px\" class=\"preview-section\">\n <img [src]=\"croppedImage\" />\n </div>\n </div>\n</mat-dialog-content>\n<mat-dialog-actions fxLayout=\"row\" fxLayoutAlign=\"end\" class=\"actions-section\">\n <button fxFlex=\"0 0 auto\" mat-button (click)=\"onCropComplete()\">{{ 'mantle.buttons.save' | translate }}</button>\n</mat-dialog-actions>\n", styles: [".cropper-wrapper{max-width:532px}.preview-section img{width:100%;border:1px solid lightgrey}.actions-section button{text-transform:uppercase}\n"], dependencies: [{ kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6$2.ImageCropperComponent, selector: "image-cropper", inputs: ["imageChangedEvent", "imageURL", "imageBase64", "imageFile", "imageAltText", "options", "cropperFrameAriaLabel", "output", "format", "autoCrop", "cropper", "transform", "maintainAspectRatio", "aspectRatio", "resetCropOnAspectRatioChange", "resizeToWidth", "resizeToHeight", "cropperMinWidth", "cropperMinHeight", "cropperMaxHeight", "cropperMaxWidth", "cropperStaticWidth", "cropperStaticHeight", "canvasRotation", "initialStepSize", "roundCropper", "onlyScaleDown", "imageQuality", "backgroundColor", "containWithinAspectRatio", "hideResizeSquares", "allowMoveImage", "checkImageType", "alignImage", "disabled", "hidden"], outputs: ["imageCropped", "startCropImage", "imageLoaded", "cropperReady", "loadImageFailed", "transformChange", "cropperChange"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
2350
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ImageCropperComponent, deps: [{ token: i1$7.DomSanitizer }, { token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
2351
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ImageCropperComponent, isStandalone: false, selector: "mantle-image-cropper", ngImport: i0, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <h2 fxFlex=\"1 1 auto\" class=\"section-title\">{{ 'mantle.image_cropper.crop_image' | translate }}</h2>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancel()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n<mat-dialog-content>\n <div class=\"cropper-wrapper\" fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"32px\">\n <div fxFlex=\"1 0 1px\">\n <h5>{{ 'mantle.image_cropper.original' | translate }}</h5>\n </div>\n <div fxFlex=\"0 0 100px\">\n <h5>{{ 'mantle.image_cropper.preview' | translate }}</h5>\n </div>\n </div>\n\n <div class=\"cropper-wrapper\" fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"32px\">\n\n <image-cropper\n [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"maintainAspectRatio\"\n [aspectRatio]=\"aspectRatio\"\n [resizeToWidth]=\"resizeToWidth\"\n format=\"png\"\n (imageCropped)=\"imageCropped($event)\"\n (loadImageFailed)=\"loadImageFailed()\">\n </image-cropper>\n\n <div fxFlex=\"0 0 100px\" class=\"preview-section\">\n <img [src]=\"croppedImage\" />\n </div>\n </div>\n</mat-dialog-content>\n<mat-dialog-actions fxLayout=\"row\" fxLayoutAlign=\"end\" class=\"actions-section\">\n <button fxFlex=\"0 0 auto\" mat-button (click)=\"onCropComplete()\">{{ 'mantle.buttons.save' | translate }}</button>\n</mat-dialog-actions>\n", styles: [".cropper-wrapper{max-width:532px}.preview-section img{width:100%;border:1px solid lightgrey}.actions-section button{text-transform:uppercase}\n"], dependencies: [{ kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6$2.ImageCropperComponent, selector: "image-cropper", inputs: ["imageChangedEvent", "imageURL", "imageBase64", "imageFile", "imageAltText", "options", "cropperFrameAriaLabel", "output", "format", "autoCrop", "cropper", "transform", "maintainAspectRatio", "aspectRatio", "resetCropOnAspectRatioChange", "resizeToWidth", "resizeToHeight", "cropperMinWidth", "cropperMinHeight", "cropperMaxHeight", "cropperMaxWidth", "cropperStaticWidth", "cropperStaticHeight", "canvasRotation", "initialStepSize", "roundCropper", "onlyScaleDown", "imageQuality", "backgroundColor", "containWithinAspectRatio", "hideResizeSquares", "allowMoveImage", "checkImageType", "alignImage", "disabled", "hidden"], outputs: ["imageCropped", "startCropImage", "imageLoaded", "cropperReady", "loadImageFailed", "transformChange", "cropperChange"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
2352
2352
  }
2353
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ImageCropperComponent, decorators: [{
2353
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ImageCropperComponent, decorators: [{
2354
2354
  type: Component,
2355
2355
  args: [{ selector: 'mantle-image-cropper', standalone: false, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <h2 fxFlex=\"1 1 auto\" class=\"section-title\">{{ 'mantle.image_cropper.crop_image' | translate }}</h2>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancel()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n<mat-dialog-content>\n <div class=\"cropper-wrapper\" fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"32px\">\n <div fxFlex=\"1 0 1px\">\n <h5>{{ 'mantle.image_cropper.original' | translate }}</h5>\n </div>\n <div fxFlex=\"0 0 100px\">\n <h5>{{ 'mantle.image_cropper.preview' | translate }}</h5>\n </div>\n </div>\n\n <div class=\"cropper-wrapper\" fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"32px\">\n\n <image-cropper\n [imageChangedEvent]=\"imageChangedEvent\"\n [maintainAspectRatio]=\"maintainAspectRatio\"\n [aspectRatio]=\"aspectRatio\"\n [resizeToWidth]=\"resizeToWidth\"\n format=\"png\"\n (imageCropped)=\"imageCropped($event)\"\n (loadImageFailed)=\"loadImageFailed()\">\n </image-cropper>\n\n <div fxFlex=\"0 0 100px\" class=\"preview-section\">\n <img [src]=\"croppedImage\" />\n </div>\n </div>\n</mat-dialog-content>\n<mat-dialog-actions fxLayout=\"row\" fxLayoutAlign=\"end\" class=\"actions-section\">\n <button fxFlex=\"0 0 auto\" mat-button (click)=\"onCropComplete()\">{{ 'mantle.buttons.save' | translate }}</button>\n</mat-dialog-actions>\n", styles: [".cropper-wrapper{max-width:532px}.preview-section img{width:100%;border:1px solid lightgrey}.actions-section button{text-transform:uppercase}\n"] }]
2356
2356
  }], ctorParameters: () => [{ type: i1$7.DomSanitizer }, { type: i1$3.MatDialogRef }, { type: undefined, decorators: [{
@@ -2444,8 +2444,8 @@ class ImagepickerComponent {
2444
2444
  blobData.name = filename;
2445
2445
  return blob;
2446
2446
  }
2447
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ImagepickerComponent, deps: [{ token: i1$3.MatDialog }, { token: WebApiService }], target: i0.ɵɵFactoryTarget.Component }); }
2448
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: ImagepickerComponent, isStandalone: false, selector: "mantle-imagepicker", inputs: { label: "label", tooltip: "tooltip", options: "options", disable: "disable", required: "required", error: "error" }, providers: [
2447
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ImagepickerComponent, deps: [{ token: i1$3.MatDialog }, { token: WebApiService }], target: i0.ɵɵFactoryTarget.Component }); }
2448
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ImagepickerComponent, isStandalone: false, selector: "mantle-imagepicker", inputs: { label: "label", tooltip: "tooltip", options: "options", disable: "disable", required: "required", error: "error" }, providers: [
2449
2449
  {
2450
2450
  provide: NG_VALUE_ACCESSOR,
2451
2451
  useExisting: forwardRef(() => ImagepickerComponent),
@@ -2453,7 +2453,7 @@ class ImagepickerComponent {
2453
2453
  }
2454
2454
  ], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-form-field [class.mat-mdc-form-field-invalid]=\"error\">\n <mat-label>\n {{ label | translate }}\n <mantle-tooltip *ngIf=\"tooltip\" [message]=\"tooltip\"></mantle-tooltip>\n </mat-label>\n <input matInput\n type=\"text\"\n [attr.value]=\"currentAttachment?.filename\"\n (click)=\"fileInput.click()\"\n [required]=\"required\"\n [disabled]=\"disable\"\n autocomplete=\"off\">\n\n <button *ngIf=\"currentAttachment?.filename\" mat-icon-button matSuffix tabindex=\"-1\" (click)=\"clearAttachment()\" [disabled]=\"disable\" click-stop-propagation class=\"clear-button\">\n <mat-icon>close</mat-icon>\n </button>\n\n <button *ngIf=\"!uploadInProgress\" mat-icon-button matSuffix tabindex=\"-1\" (click)=\"fileInput.click()\" [disabled]=\"disable\">\n <mat-icon>image</mat-icon>\n </button>\n\n <button *ngIf=\"uploadInProgress\" mat-icon-button matSuffix tabindex=\"-1\" disabled>\n <mat-spinner matSuffix [diameter]=\"20\"></mat-spinner>\n </button>\n\n <input #fileInput\n type=\"file\"\n accept=\"image/*\"\n hidden\n (change)=\"onFileSelected($event)\">\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3$4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3$4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[click-stop-propagation]" }, { kind: "component", type: TooltipComponent, selector: "mantle-tooltip", inputs: ["message"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
2455
2455
  }
2456
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ImagepickerComponent, decorators: [{
2456
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ImagepickerComponent, decorators: [{
2457
2457
  type: Component,
2458
2458
  args: [{ selector: 'mantle-imagepicker', standalone: false, providers: [
2459
2459
  {
@@ -2546,8 +2546,8 @@ class NumberInputComponent {
2546
2546
  .join(', ');
2547
2547
  return Object.keys(errors).length > 0 ? errors : null;
2548
2548
  }
2549
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: NumberInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2550
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: NumberInputComponent, isStandalone: false, selector: "mantle-number-input", inputs: { label: "label", tooltip: "tooltip", options: "options", disable: "disable", required: "required", error: "error" }, providers: [
2549
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NumberInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2550
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: NumberInputComponent, isStandalone: false, selector: "mantle-number-input", inputs: { label: "label", tooltip: "tooltip", options: "options", disable: "disable", required: "required", error: "error" }, providers: [
2551
2551
  {
2552
2552
  provide: NG_VALUE_ACCESSOR,
2553
2553
  useExisting: forwardRef(() => NumberInputComponent),
@@ -2560,7 +2560,7 @@ class NumberInputComponent {
2560
2560
  },
2561
2561
  ], usesOnChanges: true, ngImport: i0, template: "<mat-form-field [class.mat-mdc-form-field-invalid]=\"errorMessage\">\n <mat-label>\n {{ label | translate }}\n <mantle-tooltip *ngIf=\"tooltip\" [message]=\"tooltip\"></mantle-tooltip>\n </mat-label>\n <input matInput\n type=\"number\"\n [(ngModel)]=\"value\"\n (keyup)=\"onValueChanged($event)\"\n (change)=\"onValueChanged($event)\"\n [required]=\"required\"\n [disabled]=\"disable\"\n autocomplete=\"off\">\n\n <mat-hint *ngIf=\"errorMessage\" class=\"error-message\">{{ errorMessage }}</mat-hint>\n</mat-form-field>\n", styles: ["input{text-align:right}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: TooltipComponent, selector: "mantle-tooltip", inputs: ["message"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
2562
2562
  }
2563
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: NumberInputComponent, decorators: [{
2563
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NumberInputComponent, decorators: [{
2564
2564
  type: Component,
2565
2565
  args: [{ selector: 'mantle-number-input', standalone: false, providers: [
2566
2566
  {
@@ -2604,8 +2604,8 @@ class PasswordInputComponent {
2604
2604
  onValueChanged(event) {
2605
2605
  this.onChange(this.value);
2606
2606
  }
2607
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PasswordInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2608
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: PasswordInputComponent, isStandalone: false, selector: "mantle-password-input", inputs: { label: "label", tooltip: "tooltip", disable: "disable", required: "required", error: "error" }, providers: [
2607
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PasswordInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2608
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: PasswordInputComponent, isStandalone: false, selector: "mantle-password-input", inputs: { label: "label", tooltip: "tooltip", disable: "disable", required: "required", error: "error" }, providers: [
2609
2609
  {
2610
2610
  provide: NG_VALUE_ACCESSOR,
2611
2611
  useExisting: forwardRef(() => PasswordInputComponent),
@@ -2613,7 +2613,7 @@ class PasswordInputComponent {
2613
2613
  }
2614
2614
  ], ngImport: i0, template: "<mat-form-field [class.mat-mdc-form-field-invalid]=\"error\">\n <mat-label>\n {{ label | translate }}\n <mantle-tooltip *ngIf=\"tooltip\" [message]=\"tooltip\"></mantle-tooltip>\n </mat-label>\n <input matInput\n [type]=\"hide ? 'password' : 'text'\"\n [(ngModel)]=\"value\"\n (keyup)=\"onValueChanged($event)\"\n (change)=\"onValueChanged($event)\"\n [required]=\"required\"\n [disabled]=\"disable\"\n autocomplete=\"off\">\n\n <button mat-icon-button matSuffix type=\"button\" tabindex=\"-1\" (click)=\"hide = !hide\">\n <mat-icon>{{hide ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3$4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3$4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: TooltipComponent, selector: "mantle-tooltip", inputs: ["message"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
2615
2615
  }
2616
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PasswordInputComponent, decorators: [{
2616
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PasswordInputComponent, decorators: [{
2617
2617
  type: Component,
2618
2618
  args: [{ selector: 'mantle-password-input', standalone: false, providers: [
2619
2619
  {
@@ -2650,8 +2650,8 @@ class TextareaComponent {
2650
2650
  onValueChanged(event) {
2651
2651
  this.onChange(this.value);
2652
2652
  }
2653
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: TextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2654
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: TextareaComponent, isStandalone: false, selector: "mantle-textarea", inputs: { label: "label", tooltip: "tooltip", rows: "rows", disable: "disable", required: "required", error: "error" }, providers: [
2653
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2654
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: TextareaComponent, isStandalone: false, selector: "mantle-textarea", inputs: { label: "label", tooltip: "tooltip", rows: "rows", disable: "disable", required: "required", error: "error" }, providers: [
2655
2655
  {
2656
2656
  provide: NG_VALUE_ACCESSOR,
2657
2657
  useExisting: forwardRef(() => TextareaComponent),
@@ -2659,7 +2659,7 @@ class TextareaComponent {
2659
2659
  }
2660
2660
  ], ngImport: i0, template: "<mat-form-field [class.mat-mdc-form-field-invalid]=\"error\">\n <mat-label>\n {{ label | translate }}\n <mantle-tooltip *ngIf=\"tooltip\" [message]=\"tooltip\"></mantle-tooltip>\n </mat-label>\n <textarea matInput\n [rows]=\"rows\"\n [(ngModel)]=\"value\"\n (keyup)=\"onValueChanged($event)\"\n (change)=\"onValueChanged($event)\"\n [required]=\"required\"\n [disabled]=\"disable\"\n autocomplete=\"off\">\n </textarea>\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: ["textarea{resize:none}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: TooltipComponent, selector: "mantle-tooltip", inputs: ["message"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
2661
2661
  }
2662
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: TextareaComponent, decorators: [{
2662
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TextareaComponent, decorators: [{
2663
2663
  type: Component,
2664
2664
  args: [{ selector: 'mantle-textarea', standalone: false, providers: [
2665
2665
  {
@@ -2697,8 +2697,8 @@ class TextInputComponent {
2697
2697
  onValueChanged(event) {
2698
2698
  this.onChange(this.value);
2699
2699
  }
2700
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: TextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2701
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: TextInputComponent, isStandalone: false, selector: "mantle-text-input", inputs: { label: "label", tooltip: "tooltip", disable: "disable", required: "required", error: "error" }, providers: [
2700
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2701
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: TextInputComponent, isStandalone: false, selector: "mantle-text-input", inputs: { label: "label", tooltip: "tooltip", disable: "disable", required: "required", error: "error" }, providers: [
2702
2702
  {
2703
2703
  provide: NG_VALUE_ACCESSOR,
2704
2704
  useExisting: forwardRef(() => TextInputComponent),
@@ -2706,7 +2706,7 @@ class TextInputComponent {
2706
2706
  }
2707
2707
  ], ngImport: i0, template: "<mat-form-field [class.mat-mdc-form-field-invalid]=\"error\">\n <mat-label>\n {{ label | translate }}\n <mantle-tooltip *ngIf=\"tooltip\" [message]=\"tooltip\"></mantle-tooltip>\n </mat-label>\n <input matInput\n type=\"text\"\n [(ngModel)]=\"value\"\n (keyup)=\"onValueChanged($event)\"\n (change)=\"onValueChanged($event)\"\n [required]=\"required\"\n [disabled]=\"disable\"\n autocomplete=\"off\">\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: TooltipComponent, selector: "mantle-tooltip", inputs: ["message"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
2708
2708
  }
2709
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: TextInputComponent, decorators: [{
2709
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TextInputComponent, decorators: [{
2710
2710
  type: Component,
2711
2711
  args: [{ selector: 'mantle-text-input', standalone: false, providers: [
2712
2712
  {
@@ -2779,8 +2779,8 @@ class TimeInputComponent {
2779
2779
  }
2780
2780
  return value;
2781
2781
  }
2782
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: TimeInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2783
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: TimeInputComponent, isStandalone: false, selector: "mantle-time-input", inputs: { label: "label", tooltip: "tooltip", disable: "disable", required: "required", error: "error" }, providers: [
2782
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TimeInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2783
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: TimeInputComponent, isStandalone: false, selector: "mantle-time-input", inputs: { label: "label", tooltip: "tooltip", disable: "disable", required: "required", error: "error" }, providers: [
2784
2784
  {
2785
2785
  provide: NG_VALUE_ACCESSOR,
2786
2786
  useExisting: forwardRef(() => TimeInputComponent),
@@ -2788,7 +2788,7 @@ class TimeInputComponent {
2788
2788
  }
2789
2789
  ], ngImport: i0, template: "<mat-form-field [class.mat-mdc-form-field-invalid]=\"error\">\n <mat-label>\n {{ label | translate }}\n <mantle-tooltip *ngIf=\"tooltip\" [message]=\"tooltip\"></mantle-tooltip>\n </mat-label>\n <input matInput\n [mtxDatetimepicker]=\"picker\"\n [(ngModel)]=\"selectedTime\"\n (change)=\"onTimeEntered($event)\"\n [required]=\"required\"\n [disabled]=\"disable\"\n (dateChange)=\"onTimeSelected($event.value)\"\n autocomplete=\"off\">\n <mtx-datetimepicker #picker type=\"time\"></mtx-datetimepicker>\n <mtx-datetimepicker-toggle matSuffix [for]=\"picker\" tabindex=\"-1\"></mtx-datetimepicker-toggle>\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3$4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4$3.MtxDatetimepicker, selector: "mtx-datetimepicker", inputs: ["multiYearSelector", "twelvehour", "showWeekNumbers", "startView", "mode", "timeInterval", "preventSameDateTimeSelection", "calendarHeaderComponent", "panelClass", "opened", "color", "startAt", "type", "touchUi", "timeInput", "timeInputAutoFocus", "disabled", "xPosition", "yPosition", "restoreFocus"], outputs: ["selectedChanged", "opened", "closed", "viewChanged"], exportAs: ["mtxDatetimepicker"] }, { kind: "component", type: i4$3.MtxDatetimepickerToggle, selector: "mtx-datetimepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["mtxDatetimepickerToggle"] }, { kind: "directive", type: i4$3.MtxDatetimepickerInput, selector: "input[mtxDatetimepicker]", inputs: ["mtxDatetimepicker", "mtxDatetimepickerFilter", "value", "min", "max", "disabled"], outputs: ["dateChange", "dateInput"], exportAs: ["mtxDatetimepickerInput"] }, { kind: "component", type: TooltipComponent, selector: "mantle-tooltip", inputs: ["message"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
2790
2790
  }
2791
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: TimeInputComponent, decorators: [{
2791
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TimeInputComponent, decorators: [{
2792
2792
  type: Component,
2793
2793
  args: [{ selector: 'mantle-time-input', standalone: false, providers: [
2794
2794
  {
@@ -2821,8 +2821,8 @@ class MarkdownInputComponent {
2821
2821
  this.value = newValue;
2822
2822
  this.onChange(newValue);
2823
2823
  }
2824
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: MarkdownInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2825
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: MarkdownInputComponent, isStandalone: false, selector: "mantle-markdown-input", inputs: { label: "label", tooltip: "tooltip", disable: "disable", required: "required", error: "error" }, providers: [
2824
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MarkdownInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2825
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: MarkdownInputComponent, isStandalone: false, selector: "mantle-markdown-input", inputs: { label: "label", tooltip: "tooltip", disable: "disable", required: "required", error: "error" }, providers: [
2826
2826
  {
2827
2827
  provide: NG_VALUE_ACCESSOR,
2828
2828
  useExisting: forwardRef(() => MarkdownInputComponent),
@@ -2830,7 +2830,7 @@ class MarkdownInputComponent {
2830
2830
  }
2831
2831
  ], ngImport: i0, template: "<div class=\"markdown-input-disabled\" *ngIf=\"disable\">\n <mat-form-field [class.mat-mdc-form-field-invalid]=\"error\">\n <mat-label>\n {{ label | translate }}\n <mantle-tooltip *ngIf=\"tooltip\" [message]=\"tooltip\"></mantle-tooltip>\n </mat-label>\n\n <markdown ngPreserveWhitespaces>\n {{ value }}\n </markdown>\n\n <input matInput\n type=\"text\"\n [(ngModel)]=\"value\"\n [required]=\"required\"\n [disabled]=true\n [hidden]=true\n autocomplete=\"off\">\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n </mat-form-field>\n</div>\n", styles: [".markdown-input-disabled ::ng-deep .mdc-line-ripple{display:none}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "disableSanitizer", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }, { kind: "directive", type: i3$4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: TooltipComponent, selector: "mantle-tooltip", inputs: ["message"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
2832
2832
  }
2833
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: MarkdownInputComponent, decorators: [{
2833
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MarkdownInputComponent, decorators: [{
2834
2834
  type: Component,
2835
2835
  args: [{ selector: 'mantle-markdown-input', standalone: false, providers: [
2836
2836
  {
@@ -2896,8 +2896,8 @@ class MultiselectInputComponent {
2896
2896
  return;
2897
2897
  this.multiselectValues = this.value.split(',');
2898
2898
  }
2899
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: MultiselectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2900
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: MultiselectInputComponent, isStandalone: false, selector: "mantle-multiselect-input", inputs: { label: "label", tooltip: "tooltip", options: "options", disable: "disable", required: "required", error: "error" }, providers: [
2899
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MultiselectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2900
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: MultiselectInputComponent, isStandalone: false, selector: "mantle-multiselect-input", inputs: { label: "label", tooltip: "tooltip", options: "options", disable: "disable", required: "required", error: "error" }, providers: [
2901
2901
  {
2902
2902
  provide: NG_VALUE_ACCESSOR,
2903
2903
  useExisting: forwardRef(() => MultiselectInputComponent),
@@ -2905,7 +2905,7 @@ class MultiselectInputComponent {
2905
2905
  }
2906
2906
  ], usesOnChanges: true, ngImport: i0, template: "<mat-form-field [class.mat-mdc-form-field-invalid]=\"error\">\n <mat-label>\n {{ label | translate }}\n <mantle-tooltip *ngIf=\"tooltip\" [message]=\"tooltip\"></mantle-tooltip>\n </mat-label>\n <mtx-select\n [(ngModel)]=\"multiselectValues\"\n (change)=\"onValueChanged($event)\"\n [required]=\"required\"\n [disabled]=\"disable\"\n [multiple]=\"true\"\n [matTooltip]=\"(tooltip! | translate)\"\n (add)=\"add()\"\n (remove)=\"remove()\"\n appendTo=\"body\">\n <mtx-option value=\"\"></mtx-option>\n <mtx-option *ngFor=\"let option of dropdownValues\" [value]=\"option.value\">\n {{option.label}}\n </mtx-option>\n </mtx-select>\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i5$2.MtxSelect, selector: "mtx-select", inputs: ["addTag", "addTagText", "appearance", "appendTo", "bindLabel", "bindValue", "closeOnSelect", "clearAllText", "clearable", "clearOnBackspace", "compareWith", "dropdownPosition", "groupBy", "groupValue", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "hideSelected", "loading", "loadingText", "labelForId", "markFirst", "maxSelectedItems", "multiple", "notFoundText", "searchable", "readonly", "searchFn", "searchWhileComposing", "selectOnTab", "trackByFn", "inputAttrs", "tabIndex", "openOnEnter", "minTermLength", "editableSearchTerm", "keyDownFn", "virtualScroll", "typeToSearchText", "typeahead", "isOpen", "fixedPlaceholder", "deselectOnClick", "clearSearchOnAdd", "items", "value", "id", "placeholder", "disabled", "required", "errorStateMatcher", "aria-label", "aria-labelledby"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"], exportAs: ["mtxSelect"] }, { kind: "component", type: i5$2.MtxOption, selector: "mtx-option", inputs: ["value", "disabled"], exportAs: ["mtxOption"] }, { kind: "component", type: TooltipComponent, selector: "mantle-tooltip", inputs: ["message"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
2907
2907
  }
2908
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: MultiselectInputComponent, decorators: [{
2908
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MultiselectInputComponent, decorators: [{
2909
2909
  type: Component,
2910
2910
  args: [{ selector: 'mantle-multiselect-input', standalone: false, providers: [
2911
2911
  {
@@ -2955,8 +2955,8 @@ class RichTextInputComponent extends RichTextBaseComponent {
2955
2955
  this.value = event.html || '';
2956
2956
  this.onChange(this.value);
2957
2957
  }
2958
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: RichTextInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2959
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: RichTextInputComponent, isStandalone: false, selector: "mantle-rich-text-input", inputs: { label: "label", tooltip: "tooltip", options: "options", disable: "disable", required: "required", error: "error" }, providers: [
2958
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RichTextInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2959
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: RichTextInputComponent, isStandalone: false, selector: "mantle-rich-text-input", inputs: { label: "label", tooltip: "tooltip", options: "options", disable: "disable", required: "required", error: "error" }, providers: [
2960
2960
  {
2961
2961
  provide: NG_VALUE_ACCESSOR,
2962
2962
  useExisting: forwardRef(() => RichTextInputComponent),
@@ -2964,7 +2964,7 @@ class RichTextInputComponent extends RichTextBaseComponent {
2964
2964
  }
2965
2965
  ], usesInheritance: true, ngImport: i0, template: "<div class=\"rich-text-editor-wrapper mat-mdc-form-field\" [class.mat-mdc-form-field-invalid]=\"error\">\n <label>\n {{ label | translate }}\n <mantle-tooltip *ngIf=\"tooltip\" [message]=\"tooltip\"></mantle-tooltip>\n </label>\n\n <quill-editor class=\"quill-editor\"\n theme=\"snow\"\n placeholder=\"\"\n [modules]=\"quillModules\"\n [bounds]=\"'self'\"\n (onEditorCreated)=\"onEditorCreated($event)\"\n (onContentChanged)=\"onContentChanged($event)\"\n [readOnly]=\"disable\"\n [required]=\"required\">\n </quill-editor>\n\n <mat-hint *ngIf=\"error\" fxFlex=\"0 0 auto\" class=\"error-message\">{{ error }}</mat-hint>\n</div>\n", styles: ["label{text-transform:uppercase}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i1$4.QuillEditorComponent, selector: "quill-editor" }, { kind: "directive", type: i3$4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: TooltipComponent, selector: "mantle-tooltip", inputs: ["message"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
2966
2966
  }
2967
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: RichTextInputComponent, decorators: [{
2967
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RichTextInputComponent, decorators: [{
2968
2968
  type: Component,
2969
2969
  args: [{ selector: 'mantle-rich-text-input', standalone: false, providers: [
2970
2970
  {
@@ -3329,8 +3329,8 @@ class ChartConfigInputComponent {
3329
3329
  this.errorMessage = Object.values(errors).filter(Boolean).join(', ');
3330
3330
  return Object.keys(errors).length > 0 ? errors : null;
3331
3331
  }
3332
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ChartConfigInputComponent, deps: [{ token: ArrayService }, { token: LocaleService }], target: i0.ɵɵFactoryTarget.Component }); }
3333
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: ChartConfigInputComponent, isStandalone: false, selector: "mantle-chart-config-input", inputs: { label: "label", tooltip: "tooltip", options: "options", disable: "disable", required: "required", error: "error" }, providers: [
3332
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ChartConfigInputComponent, deps: [{ token: ArrayService }, { token: LocaleService }], target: i0.ɵɵFactoryTarget.Component }); }
3333
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ChartConfigInputComponent, isStandalone: false, selector: "mantle-chart-config-input", inputs: { label: "label", tooltip: "tooltip", options: "options", disable: "disable", required: "required", error: "error" }, providers: [
3334
3334
  {
3335
3335
  provide: NG_VALUE_ACCESSOR,
3336
3336
  useExisting: forwardRef(() => ChartConfigInputComponent),
@@ -3343,7 +3343,7 @@ class ChartConfigInputComponent {
3343
3343
  }
3344
3344
  ], viewQueries: [{ propertyName: "yAxesContainer", first: true, predicate: ["yAxesContainer"], descendants: true }, { propertyName: "filterContainer", first: true, predicate: ["filterContainer"], descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"8px\" class=\"chart-config-editor-wrapper mat-mdc-form-field\" [class.mat-mdc-form-field-invalid]=\"error\">\n\n <mantle-field-grid fxFlex=\"0 0 auto\">\n\n <mat-form-field *mantleFieldGridItem=\"let _; colspan: 2;\" [class.mat-mdc-form-field-invalid]=\"error\">\n <label>\n {{ 'mantle.chart_config.dataset' | translate }}\n </label>\n <mtx-select\n [(ngModel)]=\"value.dataset_id\"\n (change)=\"setDatasetId($event)\"\n appendTo=\"body\">\n <mtx-option value=\"\"></mtx-option>\n <mtx-option *ngFor=\"let option of datasets\" [value]=\"option.id\">\n {{option.name}}\n </mtx-option>\n </mtx-select>\n </mat-form-field>\n\n <mat-form-field *mantleFieldGridItem [class.mat-mdc-form-field-invalid]=\"error\">\n <label>\n {{ 'mantle.chart_config.chart_type' | translate }}\n </label>\n <mtx-select\n [(ngModel)]=\"value.chart_type\"\n (change)=\"setChartType($event)\"\n appendTo=\"body\">\n <mtx-option value=\"\"></mtx-option>\n <mtx-option *ngFor=\"let option of chartTypes\" [value]=\"option.value\">\n {{ option.label | translate }}\n </mtx-option>\n </mtx-select>\n </mat-form-field>\n\n <mat-form-field *mantleFieldGridItem=\"let _; colspan: 2;\" [class.mat-mdc-form-field-invalid]=\"error\">\n <label>\n {{ 'mantle.chart_config.x_axis' | translate }}\n </label>\n <mtx-select\n [(ngModel)]=\"value.x_axis.attr\"\n appendTo=\"body\">\n <mtx-option value=\"\"></mtx-option>\n <mtx-option *ngFor=\"let option of columnPickerOptions.values\" [value]=\"option.value\">\n {{option.label}}\n </mtx-option>\n </mtx-select>\n </mat-form-field>\n\n <mat-form-field *mantleFieldGridItem [class.mat-mdc-form-field-invalid]=\"error\">\n <label>\n {{ 'mantle.chart_config.x_axis_label' | translate }}\n </label>\n <input matInput\n type=\"text\"\n [(ngModel)]=\"value.x_axis.label\"\n autocomplete=\"off\">\n </mat-form-field>\n\n </mantle-field-grid>\n\n <h3 fxFlex=\"0 0 auto\" class=\"chart-config-subsection-header\">{{ 'mantle.chart_config.y_axes' | translate }}</h3>\n\n <div fxFlex=\"1 0 1px\" fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"8px\" class=\"y-axes-container\">\n\n <div fxFlex=\"0 0 auto\" fxLayout=\"row\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"8px\" class=\"header-row\">\n <div fxFlex=\"1 1 0\" class=\"header-row-label\">{{ 'mantle.chart_config.column' | translate }}</div>\n <div fxFlex=\"1 1 0\" class=\"header-row-label\">{{ 'mantle.chart_config.aggregation' | translate }}</div>\n <div fxFlex=\"1 1 0\" class=\"header-row-label\">{{ 'mantle.chart_config.label' | translate }}</div>\n <div fxFlex=\"0 0 48px\" class=\"header-row-label\"></div>\n </div>\n\n <div #yAxesContainer fxFlex=\"1 0 0\" fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"0\" class=\"y-axis-rows\">\n <div fxFlex=\"0 0 auto\" fxLayout=\"row\" fxLayoutAlign=\"stretch center\" fxLayoutGap=\"8px\"\n *ngFor=\"let column of value.y_axes; let i = index\">\n\n <ng-container [formGroup]=\"yAxisFormArray.at(i)\">\n <div fxFlex=\"1 1 0\">\n <mantle-dropdown\n [id]=\"'yAxisName' + i\"\n [formControlName]=\"'attr'\"\n [options]=\"columnPickerOptions\"\n [required]=\"true\"\n (change)=\"setYAxisColumn(column, $event)\">\n </mantle-dropdown>\n </div>\n <div fxFlex=\"1 1 0\">\n <mantle-dropdown\n [id]=\"'yAxisAggregation' + i\"\n [formControlName]=\"'aggregation'\"\n [options]=\"column.options.aggregations\"\n [required]=\"true\"\n [disable]=\"!column.attr\"\n (change)=\"setYAxisAggregation(column, $event)\">\n </mantle-dropdown>\n </div>\n <div fxFlex=\"1 1 0\">\n <mantle-text-input\n [id]=\"'yAxisLabel' + i\"\n [formControlName]=\"'label'\"\n [required]=\"true\"\n [disable]=\"!column.attr\">\n </mantle-text-input>\n </div>\n </ng-container>\n\n <div fxFlex=\"0 0 48px\">\n <button matIconButton color=\"warn\" type=\"button\" (click)=\"removeYAxis(i)\">\n <mat-icon>cancel</mat-icon>\n </button>\n </div>\n\n </div>\n </div>\n\n <button mat-raised-button color=\"primary\" type=\"button\" (click)=\"addYAxis()\">{{ 'mantle.chart_config.add_y_axis' | translate }}</button>\n\n </div>\n\n <h3 fxFlex=\"0 0 auto\" class=\"chart-config-subsection-header\">{{ 'mantle.chart_config.filters' | translate }}</h3>\n\n <div fxFlex=\"1 0 1px\" fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"8px\" class=\"filters-container\">\n\n <div fxFlex=\"0 0 auto\" fxLayout=\"row\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"8px\" class=\"header-row\">\n <div fxFlex=\"1 1 0\" class=\"header-row-label\">{{ 'mantle.chart_config.filter' | translate }}</div>\n <div fxFlex=\"1 1 0\" class=\"header-row-label\">{{ 'mantle.chart_config.operator' | translate }}</div>\n <div fxFlex=\"1 1 0\" class=\"header-row-label\">{{ 'mantle.chart_config.filter_value' | translate }}</div>\n <div fxFlex=\"0 0 48px\" class=\"header-row-label\"></div>\n </div>\n\n <div #filterContainer fxFlex=\"1 0 0\" fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"0\" class=\"filter-rows\">\n <div fxFlex=\"0 0 auto\" fxLayout=\"row\" fxLayoutAlign=\"stretch center\" fxLayoutGap=\"8px\"\n *ngFor=\"let filter of value.filters; let i = index\">\n\n <ng-container [formGroup]=\"filterFormArray.at(i)\">\n <div fxFlex=\"1 1 0\">\n <mantle-dropdown\n [id]=\"'filterAttr' + i\"\n [formControlName]=\"'attr'\"\n [options]=\"columnPickerOptions\"\n [required]=\"true\"\n (change)=\"setFilterColumn(filter, $event)\">\n </mantle-dropdown>\n </div>\n <div fxFlex=\"1 1 0\">\n <mantle-dropdown\n [id]=\"'filterOperator' + i\"\n [formControlName]=\"'operator'\"\n [options]=\"filter.options.operators\"\n [required]=\"true\"\n [disable]=\"!filter.attr\"\n (change)=\"setFilterOperator(filter, $event)\">\n </mantle-dropdown>\n </div>\n <div fxFlex=\"1 1 0\">\n <ng-container [ngSwitch]=\"filter.type\">\n\n <mantle-number-input *ngSwitchCase=\"'number'\"\n [id]=\"'filterValue' + i\"\n [formControlName]=\"'value'\"\n [required]=\"true\"\n [disable]=\"!filter.attr\">\n </mantle-number-input>\n\n <mantle-datepicker *ngSwitchCase=\"'date'\"\n [id]=\"'filterValue' + i\"\n [formControlName]=\"'value'\"\n [required]=\"true\"\n [disable]=\"!filter.attr\">\n </mantle-datepicker>\n\n <mantle-datetimepicker *ngSwitchCase=\"'datetime'\"\n [id]=\"'filterValue' + i\"\n [formControlName]=\"'value'\"\n [required]=\"true\"\n [disable]=\"!filter.attr\">\n </mantle-datetimepicker>\n\n <mantle-text-input *ngSwitchCase=\"'string'\"\n [id]=\"'filterValue' + i\"\n [formControlName]=\"'value'\"\n [required]=\"true\"\n [disable]=\"!filter.attr\">\n </mantle-text-input>\n\n <mantle-multiselect-input *ngSwitchCase=\"'dropdown'\"\n [id]=\"'filterValue' + i\"\n [formControlName]=\"'value'\"\n [options]=\"filter.options.preSelectedValues\"\n [required]=\"true\">\n </mantle-multiselect-input>\n\n </ng-container>\n </div>\n </ng-container>\n\n <div fxFlex=\"0 0 48px\">\n <button matIconButton color=\"warn\" type=\"button\" (click)=\"removeFilter(i)\">\n <mat-icon>cancel</mat-icon>\n </button>\n </div>\n\n </div>\n </div>\n\n <button mat-raised-button color=\"primary\" type=\"button\" (click)=\"addFilter()\">{{ 'mantle.chart_config.add_filter' | translate }}</button>\n\n </div>\n\n <mat-hint *ngIf=\"value.dataset_id && errorMessage\" class=\"error-message\">{{ errorMessage }}</mat-hint>\n</div>\n", styles: [".chart-config-editor-wrapper{height:100%;width:100%}label{text-transform:uppercase}.chart-config-subsection-header{margin-top:16px;font-size:16px;font-weight:600}.items-container,.filters-container,.y-axes-container{width:100%;margin:0;border:1px solid #ccc;border-radius:8px;padding:8px}.items-container .header-row,.filters-container .header-row,.y-axes-container .header-row{align-items:center;padding:8px 12px;border-bottom:2px solid #ccc}.items-container .header-row .header-row-label,.filters-container .header-row .header-row-label,.y-axes-container .header-row .header-row-label{font-weight:700;font-size:14px;text-align:left}.field-rows,.filter-rows,.y-axis-rows{overflow-y:auto}.field-row{padding:8px 12px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:14px}.error-message{color:#f44336;font-size:12px;margin-top:4px;width:100%;text-align:center}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3$4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i5$2.MtxSelect, selector: "mtx-select", inputs: ["addTag", "addTagText", "appearance", "appendTo", "bindLabel", "bindValue", "closeOnSelect", "clearAllText", "clearable", "clearOnBackspace", "compareWith", "dropdownPosition", "groupBy", "groupValue", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "hideSelected", "loading", "loadingText", "labelForId", "markFirst", "maxSelectedItems", "multiple", "notFoundText", "searchable", "readonly", "searchFn", "searchWhileComposing", "selectOnTab", "trackByFn", "inputAttrs", "tabIndex", "openOnEnter", "minTermLength", "editableSearchTerm", "keyDownFn", "virtualScroll", "typeToSearchText", "typeahead", "isOpen", "fixedPlaceholder", "deselectOnClick", "clearSearchOnAdd", "items", "value", "id", "placeholder", "disabled", "required", "errorStateMatcher", "aria-label", "aria-labelledby"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"], exportAs: ["mtxSelect"] }, { kind: "component", type: i5$2.MtxOption, selector: "mtx-option", inputs: ["value", "disabled"], exportAs: ["mtxOption"] }, { kind: "directive", type: FieldGridItemDirective, selector: "[mantleFieldGridItem]", inputs: ["mantleFieldGridItemColspan", "mantleFieldGridItemRowspan"] }, { kind: "component", type: DatepickerComponent, selector: "mantle-datepicker", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: DatetimepickerComponent, selector: "mantle-datetimepicker", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: DropdownComponent, selector: "mantle-dropdown", inputs: ["label", "tooltip", "options", "disable", "required", "error"], outputs: ["change"] }, { kind: "component", type: NumberInputComponent, selector: "mantle-number-input", inputs: ["label", "tooltip", "options", "disable", "required", "error"] }, { kind: "component", type: TextInputComponent, selector: "mantle-text-input", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: MultiselectInputComponent, selector: "mantle-multiselect-input", inputs: ["label", "tooltip", "options", "disable", "required", "error"] }, { kind: "component", type: FieldGridComponent, selector: "mantle-field-grid", inputs: ["singleColumn", "rowHeight"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
3345
3345
  }
3346
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ChartConfigInputComponent, decorators: [{
3346
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ChartConfigInputComponent, decorators: [{
3347
3347
  type: Component,
3348
3348
  args: [{ selector: 'mantle-chart-config-input', standalone: false, providers: [
3349
3349
  {
@@ -3664,8 +3664,8 @@ class ReportConfigInputComponent {
3664
3664
  this.errorMessage = Object.values(errors).filter(Boolean).join(', ');
3665
3665
  return Object.keys(errors).length > 0 ? errors : null;
3666
3666
  }
3667
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ReportConfigInputComponent, deps: [{ token: ArrayService }, { token: LocaleService }], target: i0.ɵɵFactoryTarget.Component }); }
3668
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: ReportConfigInputComponent, isStandalone: false, selector: "mantle-report-config-input", inputs: { label: "label", tooltip: "tooltip", options: "options", disable: "disable", required: "required", error: "error" }, providers: [
3667
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportConfigInputComponent, deps: [{ token: ArrayService }, { token: LocaleService }], target: i0.ɵɵFactoryTarget.Component }); }
3668
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ReportConfigInputComponent, isStandalone: false, selector: "mantle-report-config-input", inputs: { label: "label", tooltip: "tooltip", options: "options", disable: "disable", required: "required", error: "error" }, providers: [
3669
3669
  {
3670
3670
  provide: NG_VALUE_ACCESSOR,
3671
3671
  useExisting: forwardRef(() => ReportConfigInputComponent),
@@ -3678,7 +3678,7 @@ class ReportConfigInputComponent {
3678
3678
  }
3679
3679
  ], viewQueries: [{ propertyName: "filterContainer", first: true, predicate: ["filterContainer"], descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"8px\" class=\"report-config-editor-wrapper mat-mdc-form-field\" [class.mat-mdc-form-field-invalid]=\"error\">\n <mat-form-field fxFlex=\"0 0 auto\" [class.mat-mdc-form-field-invalid]=\"error\">\n <label>\n {{ 'mantle.report_config.dataset' | translate }}\n </label>\n <mtx-select\n [(ngModel)]=\"value.dataset_id\"\n (change)=\"setDatasetId($event)\"\n appendTo=\"body\">\n <mtx-option value=\"\"></mtx-option>\n <mtx-option *ngFor=\"let option of datasets\" [value]=\"option.id\">\n {{option.name}}\n </mtx-option>\n </mtx-select>\n </mat-form-field>\n\n <div fxFlex=\"0 0 auto\">\n <mat-checkbox [checked]=\"value.aggregated\" (change)=\"setAggregated($event.checked)\">\n {{ 'mantle.report_config.use_aggregation' | translate }}\n </mat-checkbox>\n </div>\n\n <h3 fxFlex=\"0 0 auto\" class=\"report-config-subsection-header\">{{ 'mantle.report_config.columns' | translate }}</h3>\n\n <div fxFlex=\"1 0 1px\" fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"8px\" class=\"items-container\">\n \n <div fxFlex=\"0 0 auto\" fxLayout=\"row\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"8px\" class=\"header-row\">\n <div fxFlex=\"0 0 24px\" class=\"header-row-label\"></div>\n <div fxFlex=\"0 0 80px\" class=\"header-row-label selection-check-header\">{{ 'mantle.report_config.select' | translate }}</div>\n <div fxFlex=\"1 1 0\" class=\"header-row-label\">{{ 'mantle.report_config.column' | translate }}</div>\n <ng-container *ngIf=\"value.aggregated\">\n <div fxFlex=\"0 0 80px\" class=\"header-row-label aggregation-check-header\">{{ 'mantle.report_config.group_by' | translate }}</div>\n <div fxFlex=\"0 0 80px\" class=\"header-row-label aggregation-check-header\">{{ 'mantle.report_config.count' | translate }}</div>\n <div fxFlex=\"0 0 80px\" class=\"header-row-label aggregation-check-header\">{{ 'mantle.report_config.count_distinct' | translate }}</div>\n <div fxFlex=\"0 0 80px\" class=\"header-row-label aggregation-check-header\">{{ 'mantle.report_config.average' | translate }}</div>\n <div fxFlex=\"0 0 80px\" class=\"header-row-label aggregation-check-header\">{{ 'mantle.report_config.max' | translate }}</div>\n <div fxFlex=\"0 0 80px\" class=\"header-row-label aggregation-check-header\">{{ 'mantle.report_config.min' | translate }}</div>\n <div fxFlex=\"0 0 80px\" class=\"header-row-label aggregation-check-header\">{{ 'mantle.report_config.sum' | translate }}</div>\n </ng-container>\n </div>\n\n <div fxFlex=\"1 0 0\" fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"8px\" class=\"field-rows\"\n cdkDropList [cdkDropListData]=\"datasetColumns\" (cdkDropListDropped)=\"drop($event)\">\n\n <div fxFlex=\"0 0 auto\" fxLayout=\"row\" fxLayoutAlign=\"stretch center\" fxLayoutGap=\"8px\" class=\"field-row\"\n *ngFor=\"let item of datasetColumns; let i = index\" cdkDrag>\n\n <!-- Drag handle -->\n <div fxFlex=\"0 0 24px\" class=\"drag-handle\" cdkDragHandle>\n <mat-icon>drag_indicator</mat-icon>\n </div>\n\n <!-- Left checkbox -->\n <mat-checkbox fxFlex=\"0 0 80px\" class=\"selection-check\" [checked]=\"item.selected\" (change)=\"setSelected(item, $event.checked)\"></mat-checkbox>\n\n <!-- Label -->\n <div fxFlex=\"1 1 0\">{{ item.name }}</div>\n\n <!-- Right checkboxes -->\n <ng-container *ngIf=\"value.aggregated\">\n <mat-checkbox fxFlex=\"0 0 80px\" class=\"aggregation-check\" [checked]=\"item.group_by\" (change)=\"setGroupBy(item, $event.checked)\" [disabled]=\"!item.selected\"></mat-checkbox>\n <mat-checkbox fxFlex=\"0 0 80px\" class=\"aggregation-check\" [(ngModel)]=\"item.count\" (change)=\"onAggregationChange()\" [disabled]=\"!item.selected || item.group_by\"></mat-checkbox>\n <mat-checkbox fxFlex=\"0 0 80px\" class=\"aggregation-check\" [(ngModel)]=\"item.count_distinct\" (change)=\"onAggregationChange()\" [disabled]=\"!item.selected || item.group_by\"></mat-checkbox>\n <mat-checkbox fxFlex=\"0 0 80px\" class=\"aggregation-check\" [(ngModel)]=\"item.average\" (change)=\"onAggregationChange()\" [disabled]=\"!item.selected || item.group_by || ['string', 'boolean'].includes(item.type)\"></mat-checkbox>\n <mat-checkbox fxFlex=\"0 0 80px\" class=\"aggregation-check\" [(ngModel)]=\"item.max\" (change)=\"onAggregationChange()\" [disabled]=\"!item.selected || item.group_by || ['string', 'boolean'].includes(item.type)\"></mat-checkbox>\n <mat-checkbox fxFlex=\"0 0 80px\" class=\"aggregation-check\" [(ngModel)]=\"item.min\" (change)=\"onAggregationChange()\" [disabled]=\"!item.selected || item.group_by || ['string', 'boolean'].includes(item.type)\"></mat-checkbox>\n <mat-checkbox fxFlex=\"0 0 80px\" class=\"aggregation-check\" [(ngModel)]=\"item.sum\" (change)=\"onAggregationChange()\" [disabled]=\"!item.selected || item.group_by || ['string', 'boolean', 'date', 'datetime'].includes(item.type)\"></mat-checkbox>\n </ng-container>\n </div>\n\n </div>\n\n </div>\n\n <h3 fxFlex=\"0 0 auto\" class=\"report-config-subsection-header\">{{ 'mantle.report_config.filters' | translate }}</h3>\n\n <div fxFlex=\"1 0 1px\" fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"8px\" class=\"filters-container\">\n\n <div fxFlex=\"0 0 auto\" fxLayout=\"row\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"8px\" class=\"header-row\">\n <div fxFlex=\"1 1 0\" class=\"header-row-label\">{{ 'mantle.report_config.filter' | translate }}</div>\n <div fxFlex=\"1 1 0\" class=\"header-row-label\">{{ 'mantle.report_config.operator' | translate }}</div>\n <div fxFlex=\"1 1 0\" class=\"header-row-label\">{{ 'mantle.report_config.filter_value' | translate }}</div>\n <div fxFlex=\"0 0 48px\" class=\"header-row-label\"></div>\n </div>\n\n <div #filterContainer fxFlex=\"1 0 0\" fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"0\" class=\"filter-rows\">\n <div fxFlex=\"0 0 auto\" fxLayout=\"row\" fxLayoutAlign=\"stretch center\" fxLayoutGap=\"8px\"\n *ngFor=\"let filter of value.filters; let i = index\">\n\n <ng-container [formGroup]=\"filterFormArray.at(i)\">\n <div fxFlex=\"1 1 0\">\n <mantle-dropdown\n [id]=\"'filterName' + i\"\n [formControlName]=\"'name'\"\n [options]=\"filterPickerOptions\"\n [required]=\"true\"\n (change)=\"setFilterColumn(filter, $event)\">\n </mantle-dropdown>\n </div>\n <div fxFlex=\"1 1 0\">\n <mantle-dropdown\n [id]=\"'filterOperator' + i\"\n [formControlName]=\"'operator'\"\n [options]=\"filter.options.operators\"\n [required]=\"true\"\n [disable]=\"!filter.name\"\n (change)=\"setFilterOperator(filter, $event)\">\n </mantle-dropdown>\n </div>\n <div fxFlex=\"1 1 0\">\n <ng-container [ngSwitch]=\"filter.type\">\n\n <mantle-number-input *ngSwitchCase=\"'number'\"\n [id]=\"'filterValue' + i\"\n [formControlName]=\"'value'\"\n [required]=\"true\"\n [disable]=\"!filter.name\">\n </mantle-number-input>\n\n <mantle-datepicker *ngSwitchCase=\"'date'\"\n [id]=\"'filterValue' + i\"\n [formControlName]=\"'value'\"\n [required]=\"true\"\n [disable]=\"!filter.name\">\n </mantle-datepicker>\n\n <mantle-datetimepicker *ngSwitchCase=\"'datetime'\"\n [id]=\"'filterValue' + i\"\n [formControlName]=\"'value'\"\n [required]=\"true\"\n [disable]=\"!filter.name\">\n </mantle-datetimepicker>\n\n <mantle-text-input *ngSwitchCase=\"'string'\"\n [id]=\"'filterValue' + i\"\n [formControlName]=\"'value'\"\n [required]=\"true\"\n [disable]=\"!filter.name\">\n </mantle-text-input>\n\n <mantle-multiselect-input *ngSwitchCase=\"'dropdown'\"\n [id]=\"'filterValue' + i\"\n [formControlName]=\"'value'\"\n [options]=\"filter.options.preSelectedValues\"\n [required]=\"true\">\n </mantle-multiselect-input>\n\n </ng-container>\n </div>\n </ng-container>\n\n <div fxFlex=\"0 0 48px\">\n <button matIconButton color=\"warn\" type=\"button\" (click)=\"removeFilter(i)\">\n <mat-icon>cancel</mat-icon>\n </button>\n </div>\n\n </div>\n </div>\n\n <button mat-raised-button color=\"primary\" type=\"button\" (click)=\"addFilter()\">{{ 'mantle.report_config.add_filter' | translate }}</button>\n\n </div>\n\n <mat-hint *ngIf=\"value.dataset_id && errorMessage\" class=\"error-message\">{{ errorMessage }}</mat-hint>\n</div>\n", styles: [".report-config-editor-wrapper{height:100%;width:100%}label{text-transform:uppercase}.report-config-subsection-header{margin-top:16px;font-size:16px;font-weight:600}.items-container,.filters-container{width:100%;margin:0;border:1px solid #ccc;border-radius:8px;padding:8px}.items-container .header-row,.filters-container .header-row{align-items:center;padding:8px 12px;border-bottom:2px solid #ccc}.items-container .header-row .header-row-label,.filters-container .header-row .header-row-label{font-weight:700;font-size:14px;text-align:left}.items-container .header-row .selection-check-header,.items-container .header-row .aggregation-check-header,.filters-container .header-row .selection-check-header,.filters-container .header-row .aggregation-check-header{text-align:center}.field-rows,.filter-rows{overflow-y:auto}.field-row{padding:8px 12px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:14px}.field-row .drag-handle{cursor:grab;display:flex;align-items:center}.field-row .selection-check,.field-row .aggregation-check{text-align:center}.error-message{color:#f44336;font-size:12px;margin-top:4px;width:100%;text-align:center}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i5$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i5$1.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i8$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i5$2.MtxSelect, selector: "mtx-select", inputs: ["addTag", "addTagText", "appearance", "appendTo", "bindLabel", "bindValue", "closeOnSelect", "clearAllText", "clearable", "clearOnBackspace", "compareWith", "dropdownPosition", "groupBy", "groupValue", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "hideSelected", "loading", "loadingText", "labelForId", "markFirst", "maxSelectedItems", "multiple", "notFoundText", "searchable", "readonly", "searchFn", "searchWhileComposing", "selectOnTab", "trackByFn", "inputAttrs", "tabIndex", "openOnEnter", "minTermLength", "editableSearchTerm", "keyDownFn", "virtualScroll", "typeToSearchText", "typeahead", "isOpen", "fixedPlaceholder", "deselectOnClick", "clearSearchOnAdd", "items", "value", "id", "placeholder", "disabled", "required", "errorStateMatcher", "aria-label", "aria-labelledby"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"], exportAs: ["mtxSelect"] }, { kind: "component", type: i5$2.MtxOption, selector: "mtx-option", inputs: ["value", "disabled"], exportAs: ["mtxOption"] }, { kind: "component", type: DatepickerComponent, selector: "mantle-datepicker", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: DatetimepickerComponent, selector: "mantle-datetimepicker", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: DropdownComponent, selector: "mantle-dropdown", inputs: ["label", "tooltip", "options", "disable", "required", "error"], outputs: ["change"] }, { kind: "component", type: NumberInputComponent, selector: "mantle-number-input", inputs: ["label", "tooltip", "options", "disable", "required", "error"] }, { kind: "component", type: TextInputComponent, selector: "mantle-text-input", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: MultiselectInputComponent, selector: "mantle-multiselect-input", inputs: ["label", "tooltip", "options", "disable", "required", "error"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
3680
3680
  }
3681
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ReportConfigInputComponent, decorators: [{
3681
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportConfigInputComponent, decorators: [{
3682
3682
  type: Component,
3683
3683
  args: [{ selector: 'mantle-report-config-input', standalone: false, providers: [
3684
3684
  {
@@ -3733,8 +3733,8 @@ class AutocompleteInputComponent {
3733
3733
  const filterValue = value.toLowerCase();
3734
3734
  return this.options.values.filter(item => item.value.toLowerCase().includes(filterValue));
3735
3735
  }
3736
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AutocompleteInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3737
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: AutocompleteInputComponent, isStandalone: false, selector: "mantle-autocomplete-input", inputs: { label: "label", tooltip: "tooltip", options: "options", disable: "disable", required: "required", error: "error" }, providers: [
3736
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AutocompleteInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3737
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: AutocompleteInputComponent, isStandalone: false, selector: "mantle-autocomplete-input", inputs: { label: "label", tooltip: "tooltip", options: "options", disable: "disable", required: "required", error: "error" }, providers: [
3738
3738
  {
3739
3739
  provide: NG_VALUE_ACCESSOR,
3740
3740
  useExisting: forwardRef(() => AutocompleteInputComponent),
@@ -3742,7 +3742,7 @@ class AutocompleteInputComponent {
3742
3742
  }
3743
3743
  ], ngImport: i0, template: "<mat-form-field [class.mat-mdc-form-field-invalid]=\"error\">\n <mat-label>\n {{ label | translate }}\n <mantle-tooltip *ngIf=\"tooltip\" [message]=\"tooltip\"></mantle-tooltip>\n </mat-label>\n <input matInput\n type=\"text\"\n [(ngModel)]=\"value\"\n (keyup)=\"onValueChanged($event)\"\n (change)=\"onValueChanged($event)\"\n [required]=\"required\"\n [disabled]=\"disable\"\n [matAutocomplete]=\"auto\">\n\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onValueChanged($event)\">\n <mat-option *ngFor=\"let option of filteredOptions$ | async\" [value]=\"option.value\">\n {{option.label}}\n </mat-option>\n </mat-autocomplete>\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i4$5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i5$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i5$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: TooltipComponent, selector: "mantle-tooltip", inputs: ["message"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
3744
3744
  }
3745
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AutocompleteInputComponent, decorators: [{
3745
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AutocompleteInputComponent, decorators: [{
3746
3746
  type: Component,
3747
3747
  args: [{ selector: 'mantle-autocomplete-input', standalone: false, providers: [
3748
3748
  {
@@ -3766,10 +3766,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
3766
3766
  }] } });
3767
3767
 
3768
3768
  class DynamicFormFieldComponent {
3769
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3770
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicFormFieldComponent, isStandalone: false, selector: "mantle-dynamic-form-field", inputs: { field: "field", form: "form", error: "error" }, ngImport: i0, template: "<div class=\"dynamic-form-field-wrapper\" [formGroup]=\"form\">\n <ng-container [ngSwitch]=\"field.type\">\n\n <mantle-text-input *ngSwitchCase=\"'string'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-text-input>\n\n <mantle-text-input *ngSwitchCase=\"'string-md'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-text-input>\n\n <mantle-text-input *ngSwitchCase=\"'string-lg'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-text-input>\n\n <mantle-textarea *ngSwitchCase=\"'text'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [rows]=\"4\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-textarea>\n\n <mantle-dropdown *ngSwitchCase=\"'dropdown'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-dropdown>\n\n <mantle-dropdown *ngSwitchCase=\"'dropdown-md'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-dropdown>\n\n <mantle-dropdown *ngSwitchCase=\"'dropdown-lg'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-dropdown>\n\n <mantle-multiselect-input *ngSwitchCase=\"'multiselect'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-multiselect-input>\n\n <mantle-multiselect-input *ngSwitchCase=\"'multiselect-md'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-multiselect-input>\n\n <mantle-multiselect-input *ngSwitchCase=\"'multiselect-lg'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-multiselect-input>\n\n <mantle-datepicker *ngSwitchCase=\"'date'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-datepicker>\n\n <mantle-datetimepicker *ngSwitchCase=\"'datetime'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-datetimepicker>\n\n <mantle-time-input *ngSwitchCase=\"'time'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-time-input>\n\n <mantle-number-input *ngSwitchCase=\"'number'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-number-input>\n\n <mantle-number-input *ngSwitchCase=\"'currency'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-number-input>\n\n <mantle-filepicker *ngSwitchCase=\"'file'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-filepicker>\n\n <mantle-imagepicker *ngSwitchCase=\"'image'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-imagepicker>\n\n <mantle-chip-input *ngSwitchCase=\"'chips'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-chip-input>\n\n <mantle-chip-input *ngSwitchCase=\"'chips-lg'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-chip-input>\n\n <mantle-password-input *ngSwitchCase=\"'password'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-password-input>\n\n <mantle-markdown-input *ngSwitchCase=\"'markdown'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-markdown-input>\n\n <mantle-rich-text-input *ngSwitchCase=\"'rich-text'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-rich-text-input>\n\n <mantle-autocomplete-input *ngSwitchCase=\"'autocomplete'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-autocomplete-input>\n\n <mantle-text-input *ngSwitchCase=\"'link'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-text-input>\n\n <mantle-colorpicker-input *ngSwitchCase=\"'color'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-colorpicker-input>\n\n <mantle-chart-config-input *ngSwitchCase=\"'chart-config'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-chart-config-input>\n\n <mantle-report-config-input *ngSwitchCase=\"'report-config'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-report-config-input>\n </ng-container>\n</div>\n", styles: [":host,.dynamic-form-field-wrapper{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ChipInputComponent, selector: "mantle-chip-input", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: DatepickerComponent, selector: "mantle-datepicker", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: DatetimepickerComponent, selector: "mantle-datetimepicker", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: ColorPickerInputComponent, selector: "mantle-colorpicker-input", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: DropdownComponent, selector: "mantle-dropdown", inputs: ["label", "tooltip", "options", "disable", "required", "error"], outputs: ["change"] }, { kind: "component", type: FilepickerComponent, selector: "mantle-filepicker", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: ImagepickerComponent, selector: "mantle-imagepicker", inputs: ["label", "tooltip", "options", "disable", "required", "error"] }, { kind: "component", type: NumberInputComponent, selector: "mantle-number-input", inputs: ["label", "tooltip", "options", "disable", "required", "error"] }, { kind: "component", type: PasswordInputComponent, selector: "mantle-password-input", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: TextareaComponent, selector: "mantle-textarea", inputs: ["label", "tooltip", "rows", "disable", "required", "error"] }, { kind: "component", type: TextInputComponent, selector: "mantle-text-input", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: TimeInputComponent, selector: "mantle-time-input", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: MarkdownInputComponent, selector: "mantle-markdown-input", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: MultiselectInputComponent, selector: "mantle-multiselect-input", inputs: ["label", "tooltip", "options", "disable", "required", "error"] }, { kind: "component", type: RichTextInputComponent, selector: "mantle-rich-text-input", inputs: ["label", "tooltip", "options", "disable", "required", "error"] }, { kind: "component", type: ChartConfigInputComponent, selector: "mantle-chart-config-input", inputs: ["label", "tooltip", "options", "disable", "required", "error"] }, { kind: "component", type: ReportConfigInputComponent, selector: "mantle-report-config-input", inputs: ["label", "tooltip", "options", "disable", "required", "error"] }, { kind: "component", type: AutocompleteInputComponent, selector: "mantle-autocomplete-input", inputs: ["label", "tooltip", "options", "disable", "required", "error"] }] }); }
3769
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3770
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicFormFieldComponent, isStandalone: false, selector: "mantle-dynamic-form-field", inputs: { field: "field", form: "form", error: "error" }, ngImport: i0, template: "<div class=\"dynamic-form-field-wrapper\" [formGroup]=\"form\">\n <ng-container [ngSwitch]=\"field.type\">\n\n <mantle-text-input *ngSwitchCase=\"'string'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-text-input>\n\n <mantle-text-input *ngSwitchCase=\"'string-md'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-text-input>\n\n <mantle-text-input *ngSwitchCase=\"'string-lg'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-text-input>\n\n <mantle-textarea *ngSwitchCase=\"'text'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [rows]=\"4\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-textarea>\n\n <mantle-dropdown *ngSwitchCase=\"'dropdown'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-dropdown>\n\n <mantle-dropdown *ngSwitchCase=\"'dropdown-md'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-dropdown>\n\n <mantle-dropdown *ngSwitchCase=\"'dropdown-lg'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-dropdown>\n\n <mantle-multiselect-input *ngSwitchCase=\"'multiselect'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-multiselect-input>\n\n <mantle-multiselect-input *ngSwitchCase=\"'multiselect-md'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-multiselect-input>\n\n <mantle-multiselect-input *ngSwitchCase=\"'multiselect-lg'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-multiselect-input>\n\n <mantle-datepicker *ngSwitchCase=\"'date'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-datepicker>\n\n <mantle-datetimepicker *ngSwitchCase=\"'datetime'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-datetimepicker>\n\n <mantle-time-input *ngSwitchCase=\"'time'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-time-input>\n\n <mantle-number-input *ngSwitchCase=\"'number'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-number-input>\n\n <mantle-number-input *ngSwitchCase=\"'currency'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-number-input>\n\n <mantle-filepicker *ngSwitchCase=\"'file'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-filepicker>\n\n <mantle-imagepicker *ngSwitchCase=\"'image'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-imagepicker>\n\n <mantle-chip-input *ngSwitchCase=\"'chips'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-chip-input>\n\n <mantle-chip-input *ngSwitchCase=\"'chips-lg'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-chip-input>\n\n <mantle-password-input *ngSwitchCase=\"'password'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-password-input>\n\n <mantle-markdown-input *ngSwitchCase=\"'markdown'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-markdown-input>\n\n <mantle-rich-text-input *ngSwitchCase=\"'rich-text'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-rich-text-input>\n\n <mantle-autocomplete-input *ngSwitchCase=\"'autocomplete'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-autocomplete-input>\n\n <mantle-text-input *ngSwitchCase=\"'link'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-text-input>\n\n <mantle-colorpicker-input *ngSwitchCase=\"'color'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-colorpicker-input>\n\n <mantle-chart-config-input *ngSwitchCase=\"'chart-config'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-chart-config-input>\n\n <mantle-report-config-input *ngSwitchCase=\"'report-config'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-report-config-input>\n </ng-container>\n</div>\n", styles: [":host,.dynamic-form-field-wrapper{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ChipInputComponent, selector: "mantle-chip-input", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: DatepickerComponent, selector: "mantle-datepicker", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: DatetimepickerComponent, selector: "mantle-datetimepicker", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: ColorPickerInputComponent, selector: "mantle-colorpicker-input", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: DropdownComponent, selector: "mantle-dropdown", inputs: ["label", "tooltip", "options", "disable", "required", "error"], outputs: ["change"] }, { kind: "component", type: FilepickerComponent, selector: "mantle-filepicker", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: ImagepickerComponent, selector: "mantle-imagepicker", inputs: ["label", "tooltip", "options", "disable", "required", "error"] }, { kind: "component", type: NumberInputComponent, selector: "mantle-number-input", inputs: ["label", "tooltip", "options", "disable", "required", "error"] }, { kind: "component", type: PasswordInputComponent, selector: "mantle-password-input", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: TextareaComponent, selector: "mantle-textarea", inputs: ["label", "tooltip", "rows", "disable", "required", "error"] }, { kind: "component", type: TextInputComponent, selector: "mantle-text-input", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: TimeInputComponent, selector: "mantle-time-input", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: MarkdownInputComponent, selector: "mantle-markdown-input", inputs: ["label", "tooltip", "disable", "required", "error"] }, { kind: "component", type: MultiselectInputComponent, selector: "mantle-multiselect-input", inputs: ["label", "tooltip", "options", "disable", "required", "error"] }, { kind: "component", type: RichTextInputComponent, selector: "mantle-rich-text-input", inputs: ["label", "tooltip", "options", "disable", "required", "error"] }, { kind: "component", type: ChartConfigInputComponent, selector: "mantle-chart-config-input", inputs: ["label", "tooltip", "options", "disable", "required", "error"] }, { kind: "component", type: ReportConfigInputComponent, selector: "mantle-report-config-input", inputs: ["label", "tooltip", "options", "disable", "required", "error"] }, { kind: "component", type: AutocompleteInputComponent, selector: "mantle-autocomplete-input", inputs: ["label", "tooltip", "options", "disable", "required", "error"] }] }); }
3771
3771
  }
3772
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicFormFieldComponent, decorators: [{
3772
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicFormFieldComponent, decorators: [{
3773
3773
  type: Component,
3774
3774
  args: [{ selector: 'mantle-dynamic-form-field', standalone: false, template: "<div class=\"dynamic-form-field-wrapper\" [formGroup]=\"form\">\n <ng-container [ngSwitch]=\"field.type\">\n\n <mantle-text-input *ngSwitchCase=\"'string'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-text-input>\n\n <mantle-text-input *ngSwitchCase=\"'string-md'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-text-input>\n\n <mantle-text-input *ngSwitchCase=\"'string-lg'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-text-input>\n\n <mantle-textarea *ngSwitchCase=\"'text'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [rows]=\"4\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-textarea>\n\n <mantle-dropdown *ngSwitchCase=\"'dropdown'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-dropdown>\n\n <mantle-dropdown *ngSwitchCase=\"'dropdown-md'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-dropdown>\n\n <mantle-dropdown *ngSwitchCase=\"'dropdown-lg'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-dropdown>\n\n <mantle-multiselect-input *ngSwitchCase=\"'multiselect'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-multiselect-input>\n\n <mantle-multiselect-input *ngSwitchCase=\"'multiselect-md'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-multiselect-input>\n\n <mantle-multiselect-input *ngSwitchCase=\"'multiselect-lg'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-multiselect-input>\n\n <mantle-datepicker *ngSwitchCase=\"'date'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-datepicker>\n\n <mantle-datetimepicker *ngSwitchCase=\"'datetime'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-datetimepicker>\n\n <mantle-time-input *ngSwitchCase=\"'time'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-time-input>\n\n <mantle-number-input *ngSwitchCase=\"'number'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-number-input>\n\n <mantle-number-input *ngSwitchCase=\"'currency'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-number-input>\n\n <mantle-filepicker *ngSwitchCase=\"'file'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-filepicker>\n\n <mantle-imagepicker *ngSwitchCase=\"'image'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-imagepicker>\n\n <mantle-chip-input *ngSwitchCase=\"'chips'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-chip-input>\n\n <mantle-chip-input *ngSwitchCase=\"'chips-lg'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-chip-input>\n\n <mantle-password-input *ngSwitchCase=\"'password'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-password-input>\n\n <mantle-markdown-input *ngSwitchCase=\"'markdown'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-markdown-input>\n\n <mantle-rich-text-input *ngSwitchCase=\"'rich-text'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-rich-text-input>\n\n <mantle-autocomplete-input *ngSwitchCase=\"'autocomplete'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-autocomplete-input>\n\n <mantle-text-input *ngSwitchCase=\"'link'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-text-input>\n\n <mantle-colorpicker-input *ngSwitchCase=\"'color'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-colorpicker-input>\n\n <mantle-chart-config-input *ngSwitchCase=\"'chart-config'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-chart-config-input>\n\n <mantle-report-config-input *ngSwitchCase=\"'report-config'\"\n [id]=\"field.attr\"\n [formControlName]=\"field.attr\"\n [label]=\"field.label\"\n [tooltip]=\"field.tooltip\"\n [options]=\"field.options\"\n [required]=\"field.required\"\n [disable]=\"field.disabled\"\n [error]=\"error\">\n </mantle-report-config-input>\n </ng-container>\n</div>\n", styles: [":host,.dynamic-form-field-wrapper{display:block;width:100%;height:100%}\n"] }]
3775
3775
  }], propDecorators: { field: [{
@@ -3814,10 +3814,10 @@ class GridFormSectionComponent {
3814
3814
  reset() {
3815
3815
  this.form.reset();
3816
3816
  }
3817
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: GridFormSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3818
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: GridFormSectionComponent, isStandalone: false, selector: "mantle-grid-form-section", inputs: { title: "title", section: "section", form: "form", errors: "errors", defaultRowHeight: "defaultRowHeight" }, ngImport: i0, template: "<mantle-section-title *ngIf=\"title\" [title]=\"title\"></mantle-section-title>\n\n<form [formGroup]=\"form\" class=\"grid-form-layout\">\n <mantle-field-grid\n [singleColumn]=\"section.singleColumn || false\"\n [rowHeight]=\"section.rowHeight || defaultRowHeight\">\n\n <ng-container *ngFor=\"let field of section.elements\">\n <ng-container *ngIf=\"!field.hidden\">\n <ng-container *mantleFieldGridItem=\"let _; colspan: getColSpanForField(field); rowspan: getRowSpanForField(field)\">\n <mantle-dynamic-form-field [field]=\"field\" [form]=\"form\" [error]=\"errors[field.attr]\"></mantle-dynamic-form-field>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </mantle-field-grid>\n</form>\n", styles: ["mantle-dynamic-form-field{height:100%}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: FieldGridItemDirective, selector: "[mantleFieldGridItem]", inputs: ["mantleFieldGridItemColspan", "mantleFieldGridItemRowspan"] }, { kind: "component", type: DynamicFormFieldComponent, selector: "mantle-dynamic-form-field", inputs: ["field", "form", "error"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "component", type: FieldGridComponent, selector: "mantle-field-grid", inputs: ["singleColumn", "rowHeight"] }] }); }
3817
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GridFormSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3818
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: GridFormSectionComponent, isStandalone: false, selector: "mantle-grid-form-section", inputs: { title: "title", section: "section", form: "form", errors: "errors", defaultRowHeight: "defaultRowHeight" }, ngImport: i0, template: "<mantle-section-title *ngIf=\"title\" [title]=\"title\"></mantle-section-title>\n\n<form [formGroup]=\"form\" class=\"grid-form-layout\">\n <mantle-field-grid\n [singleColumn]=\"section.singleColumn || false\"\n [rowHeight]=\"section.rowHeight || defaultRowHeight\">\n\n <ng-container *ngFor=\"let field of section.elements\">\n <ng-container *ngIf=\"!field.hidden\">\n <ng-container *mantleFieldGridItem=\"let _; colspan: getColSpanForField(field); rowspan: getRowSpanForField(field)\">\n <mantle-dynamic-form-field [field]=\"field\" [form]=\"form\" [error]=\"errors[field.attr]\"></mantle-dynamic-form-field>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </mantle-field-grid>\n</form>\n", styles: ["mantle-dynamic-form-field{height:100%}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: FieldGridItemDirective, selector: "[mantleFieldGridItem]", inputs: ["mantleFieldGridItemColspan", "mantleFieldGridItemRowspan"] }, { kind: "component", type: DynamicFormFieldComponent, selector: "mantle-dynamic-form-field", inputs: ["field", "form", "error"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "component", type: FieldGridComponent, selector: "mantle-field-grid", inputs: ["singleColumn", "rowHeight"] }] }); }
3819
3819
  }
3820
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: GridFormSectionComponent, decorators: [{
3820
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GridFormSectionComponent, decorators: [{
3821
3821
  type: Component,
3822
3822
  args: [{ selector: 'mantle-grid-form-section', standalone: false, template: "<mantle-section-title *ngIf=\"title\" [title]=\"title\"></mantle-section-title>\n\n<form [formGroup]=\"form\" class=\"grid-form-layout\">\n <mantle-field-grid\n [singleColumn]=\"section.singleColumn || false\"\n [rowHeight]=\"section.rowHeight || defaultRowHeight\">\n\n <ng-container *ngFor=\"let field of section.elements\">\n <ng-container *ngIf=\"!field.hidden\">\n <ng-container *mantleFieldGridItem=\"let _; colspan: getColSpanForField(field); rowspan: getRowSpanForField(field)\">\n <mantle-dynamic-form-field [field]=\"field\" [form]=\"form\" [error]=\"errors[field.attr]\"></mantle-dynamic-form-field>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </mantle-field-grid>\n</form>\n", styles: ["mantle-dynamic-form-field{height:100%}\n"] }]
3823
3823
  }], propDecorators: { title: [{
@@ -3864,10 +3864,10 @@ class DashboardCardSearchMenuComponent {
3864
3864
  reset() {
3865
3865
  this.form.reset();
3866
3866
  }
3867
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DashboardCardSearchMenuComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: DynamicFormService }], target: i0.ɵɵFactoryTarget.Component }); }
3868
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DashboardCardSearchMenuComponent, isStandalone: false, selector: "mantle-dashboard-card-search-menu", inputs: { content: "content" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"content; else loader\">\n <mantle-grid-form-section\n [section]=\"section\"\n [form]=\"form\">\n </mantle-grid-form-section>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GridFormSectionComponent, selector: "mantle-grid-form-section", inputs: ["title", "section", "form", "errors", "defaultRowHeight"] }, { kind: "component", type: LoaderComponent, selector: "mantle-loader", inputs: ["delay"] }] }); }
3867
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DashboardCardSearchMenuComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: DynamicFormService }], target: i0.ɵɵFactoryTarget.Component }); }
3868
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DashboardCardSearchMenuComponent, isStandalone: false, selector: "mantle-dashboard-card-search-menu", inputs: { content: "content" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"content; else loader\">\n <mantle-grid-form-section\n [section]=\"section\"\n [form]=\"form\">\n </mantle-grid-form-section>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GridFormSectionComponent, selector: "mantle-grid-form-section", inputs: ["title", "section", "form", "errors", "defaultRowHeight"] }, { kind: "component", type: LoaderComponent, selector: "mantle-loader", inputs: ["delay"] }] }); }
3869
3869
  }
3870
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DashboardCardSearchMenuComponent, decorators: [{
3870
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DashboardCardSearchMenuComponent, decorators: [{
3871
3871
  type: Component,
3872
3872
  args: [{ selector: 'mantle-dashboard-card-search-menu', standalone: false, template: "<ng-container *ngIf=\"content; else loader\">\n <mantle-grid-form-section\n [section]=\"section\"\n [form]=\"form\">\n </mantle-grid-form-section>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n" }]
3873
3873
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: DynamicFormService }], propDecorators: { content: [{
@@ -3879,10 +3879,10 @@ class DashboardInfoCardComponent {
3879
3879
  this.data = '';
3880
3880
  this.options = '';
3881
3881
  }
3882
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DashboardInfoCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3883
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DashboardInfoCardComponent, isStandalone: false, selector: "mantle-dashboard-info-card", inputs: { data: "data", options: "options" }, ngImport: i0, template: "<div class=\"info-card\">\n <div *ngIf=\"data.key_value\">\n <div *ngIf=\"data.key_value.label\" class=\"sub-header\">{{ data.key_value.label }}</div>\n <span class=\"header\">\n <h1 class=\"header-value\" [ngStyle]=\"{ 'color': data.color }\">{{ data.key_value.value }}</h1> <span class=\"header-units\">{{ data.key_value.unit }}</span>\n </span>\n <div *ngIf=\"data.showSubLabel\">\n <span class=\"header-date\">{{ data.key_value.sub_label }}</span>\n </div>\n </div>\n\n <small *ngIf=\"data.comparison\" class=\"comparison\">\n <mat-icon>{{ (data.comparison.value < 0) ? 'keyboard_arrow_down' : 'keyboard_arrow_up' }}</mat-icon>\n {{ data.comparison.value }} {{ data.comparison.unit }} {{ data.comparison.label }}\n </small>\n\n <table *ngIf=\"data.bulletpoints && data.bulletpoints.length > 0\" class=\"bulletpoints\">\n <tr *ngFor=\"let bulletpoint of data.bulletpoints\" class=\"bulletpoint\">\n <td class=\"bulletpoint-icon\"><mat-icon>chevron_right</mat-icon></td><td class=\"bulletpoint-value\"><b>{{ bulletpoint.value }}</b></td><td class=\"bulletpoint-label\">{{ bulletpoint.label }}</td>\n </tr>\n </table>\n</div>\n", styles: [".info-card{padding:10px;margin:auto;max-width:100%;max-height:100%}.header{padding-bottom:4px;min-width:100px;margin:auto;word-wrap:normal}.header .header-value{display:inline-block;margin-bottom:10px;font-size:46px;font-weight:500}.header .header-units{display:inline-block;margin-left:4px;margin-bottom:0;font-size:16px;text-transform:uppercase}.sub-header{margin-top:4px;margin-bottom:30px;font-size:15px;font-weight:500}.header-date{margin-top:4px;margin-bottom:30px;font-size:12px;color:gray}.comparison .mat-icon{font-size:14px!important;height:14px}.bulletpoints{margin-top:16px;border-collapse:collapse}.bulletpoints .bulletpoint .bulletpoint-icon{padding-right:4px!important}.bulletpoints .bulletpoint .bulletpoint-value{font-weight:500;font-size:16px;text-align:right;padding-left:2px!important;padding-right:4px!important}.bulletpoints .bulletpoint .bulletpoint-label{text-align:left;padding-left:2px!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
3882
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DashboardInfoCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3883
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DashboardInfoCardComponent, isStandalone: false, selector: "mantle-dashboard-info-card", inputs: { data: "data", options: "options" }, ngImport: i0, template: "<div class=\"info-card\">\n <div *ngIf=\"data.key_value\">\n <div *ngIf=\"data.key_value.label\" class=\"sub-header\">{{ data.key_value.label }}</div>\n <span class=\"header\">\n <h1 class=\"header-value\" [ngStyle]=\"{ 'color': data.color }\">{{ data.key_value.value }}</h1> <span class=\"header-units\">{{ data.key_value.unit }}</span>\n </span>\n <div *ngIf=\"data.showSubLabel\">\n <span class=\"header-date\">{{ data.key_value.sub_label }}</span>\n </div>\n </div>\n\n <small *ngIf=\"data.comparison\" class=\"comparison\">\n <mat-icon>{{ (data.comparison.value < 0) ? 'keyboard_arrow_down' : 'keyboard_arrow_up' }}</mat-icon>\n {{ data.comparison.value }} {{ data.comparison.unit }} {{ data.comparison.label }}\n </small>\n\n <table *ngIf=\"data.bulletpoints && data.bulletpoints.length > 0\" class=\"bulletpoints\">\n <tr *ngFor=\"let bulletpoint of data.bulletpoints\" class=\"bulletpoint\">\n <td class=\"bulletpoint-icon\"><mat-icon>chevron_right</mat-icon></td><td class=\"bulletpoint-value\"><b>{{ bulletpoint.value }}</b></td><td class=\"bulletpoint-label\">{{ bulletpoint.label }}</td>\n </tr>\n </table>\n</div>\n", styles: [".info-card{padding:10px;margin:auto;max-width:100%;max-height:100%}.header{padding-bottom:4px;min-width:100px;margin:auto;word-wrap:normal}.header .header-value{display:inline-block;margin-bottom:10px;font-size:46px;font-weight:500}.header .header-units{display:inline-block;margin-left:4px;margin-bottom:0;font-size:16px;text-transform:uppercase}.sub-header{margin-top:4px;margin-bottom:30px;font-size:15px;font-weight:500}.header-date{margin-top:4px;margin-bottom:30px;font-size:12px;color:gray}.comparison .mat-icon{font-size:14px!important;height:14px}.bulletpoints{margin-top:16px;border-collapse:collapse}.bulletpoints .bulletpoint .bulletpoint-icon{padding-right:4px!important}.bulletpoints .bulletpoint .bulletpoint-value{font-weight:500;font-size:16px;text-align:right;padding-left:2px!important;padding-right:4px!important}.bulletpoints .bulletpoint .bulletpoint-label{text-align:left;padding-left:2px!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
3884
3884
  }
3885
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DashboardInfoCardComponent, decorators: [{
3885
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DashboardInfoCardComponent, decorators: [{
3886
3886
  type: Component,
3887
3887
  args: [{ selector: 'mantle-dashboard-info-card', standalone: false, template: "<div class=\"info-card\">\n <div *ngIf=\"data.key_value\">\n <div *ngIf=\"data.key_value.label\" class=\"sub-header\">{{ data.key_value.label }}</div>\n <span class=\"header\">\n <h1 class=\"header-value\" [ngStyle]=\"{ 'color': data.color }\">{{ data.key_value.value }}</h1> <span class=\"header-units\">{{ data.key_value.unit }}</span>\n </span>\n <div *ngIf=\"data.showSubLabel\">\n <span class=\"header-date\">{{ data.key_value.sub_label }}</span>\n </div>\n </div>\n\n <small *ngIf=\"data.comparison\" class=\"comparison\">\n <mat-icon>{{ (data.comparison.value < 0) ? 'keyboard_arrow_down' : 'keyboard_arrow_up' }}</mat-icon>\n {{ data.comparison.value }} {{ data.comparison.unit }} {{ data.comparison.label }}\n </small>\n\n <table *ngIf=\"data.bulletpoints && data.bulletpoints.length > 0\" class=\"bulletpoints\">\n <tr *ngFor=\"let bulletpoint of data.bulletpoints\" class=\"bulletpoint\">\n <td class=\"bulletpoint-icon\"><mat-icon>chevron_right</mat-icon></td><td class=\"bulletpoint-value\"><b>{{ bulletpoint.value }}</b></td><td class=\"bulletpoint-label\">{{ bulletpoint.label }}</td>\n </tr>\n </table>\n</div>\n", styles: [".info-card{padding:10px;margin:auto;max-width:100%;max-height:100%}.header{padding-bottom:4px;min-width:100px;margin:auto;word-wrap:normal}.header .header-value{display:inline-block;margin-bottom:10px;font-size:46px;font-weight:500}.header .header-units{display:inline-block;margin-left:4px;margin-bottom:0;font-size:16px;text-transform:uppercase}.sub-header{margin-top:4px;margin-bottom:30px;font-size:15px;font-weight:500}.header-date{margin-top:4px;margin-bottom:30px;font-size:12px;color:gray}.comparison .mat-icon{font-size:14px!important;height:14px}.bulletpoints{margin-top:16px;border-collapse:collapse}.bulletpoints .bulletpoint .bulletpoint-icon{padding-right:4px!important}.bulletpoints .bulletpoint .bulletpoint-value{font-weight:500;font-size:16px;text-align:right;padding-left:2px!important;padding-right:4px!important}.bulletpoints .bulletpoint .bulletpoint-label{text-align:left;padding-left:2px!important}\n"] }]
3888
3888
  }], ctorParameters: () => [], propDecorators: { data: [{
@@ -3941,10 +3941,10 @@ class DashboardTableComponent {
3941
3941
  // TODO: The action triggered by the click should depend on the associated service. So, the dynamic table should not know about the dialog service.
3942
3942
  this.onRecordClicked(this.dialog, row);
3943
3943
  }
3944
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DashboardTableComponent, deps: [{ token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
3945
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DashboardTableComponent, isStandalone: false, selector: "mantle-dashboard-table", inputs: { label: "label", columns: "columns", items: "items", hideHeaders: "hideHeaders", withStripedRows: "withStripedRows", withClickableRows: "withClickableRows", onRecordClicked: "onRecordClicked" }, viewQueries: [{ propertyName: "table", first: true, predicate: MatTable, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"label\" class=\"header\">\n <p class=\"header-text\">{{ label | translate }}</p>\n</div>\n\n<div class=\"vertically-scrollable horizontal-scroll-table\">\n <table mat-table class=\"full-width\">\n\n <ng-container *ngFor=\"let column of columns\">\n <ng-container matColumnDef=\"{{ column.attr }}\">\n <th mat-header-cell *matHeaderCellDef>{{ column.header | translate }}</th>\n <td mat-cell *matCellDef=\"let row\">\n <mantle-dynamic-attribute-display [fieldType]=\"column.type\" [value]=\"row[column.attr]\" [field]=\"column\"></mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!hideHeaders\">\n <tr mat-header-row *matHeaderRowDef=\"listColumnAttrs()\"></tr>\n </ng-container>\n <tr mat-row *matRowDef=\"let row; columns: listColumnAttrs();\"\n (click)=\"onRowClicked(row)\"\n [class.clickable-row]=\"withClickableRows\"\n [class.striped-row]=\"withStripedRows\">\n </tr>\n\n </table>\n</div>\n", styles: [".horizontal-scroll-table{width:100%}.mat-mdc-header-row,th{font-weight:700}.mat-mdc-row{text-align:left}.header{text-align:left;width:95%;padding-top:5px}.header .header-text{font-size:15px;font-weight:500}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3$3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3$3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3$3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3$3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3$3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3$3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3$3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3$3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3$3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: DynamicAttributeDisplayComponent, selector: "mantle-dynamic-attribute-display", inputs: ["value", "field", "fieldType", "options"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
3944
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DashboardTableComponent, deps: [{ token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
3945
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DashboardTableComponent, isStandalone: false, selector: "mantle-dashboard-table", inputs: { label: "label", columns: "columns", items: "items", hideHeaders: "hideHeaders", withStripedRows: "withStripedRows", withClickableRows: "withClickableRows", onRecordClicked: "onRecordClicked" }, viewQueries: [{ propertyName: "table", first: true, predicate: MatTable, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"label\" class=\"header\">\n <p class=\"header-text\">{{ label | translate }}</p>\n</div>\n\n<div class=\"vertically-scrollable horizontal-scroll-table\">\n <table mat-table class=\"full-width\">\n\n <ng-container *ngFor=\"let column of columns\">\n <ng-container matColumnDef=\"{{ column.attr }}\">\n <th mat-header-cell *matHeaderCellDef>{{ column.header | translate }}</th>\n <td mat-cell *matCellDef=\"let row\">\n <mantle-dynamic-attribute-display [fieldType]=\"column.type\" [value]=\"row[column.attr]\" [field]=\"column\"></mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!hideHeaders\">\n <tr mat-header-row *matHeaderRowDef=\"listColumnAttrs()\"></tr>\n </ng-container>\n <tr mat-row *matRowDef=\"let row; columns: listColumnAttrs();\"\n (click)=\"onRowClicked(row)\"\n [class.clickable-row]=\"withClickableRows\"\n [class.striped-row]=\"withStripedRows\">\n </tr>\n\n </table>\n</div>\n", styles: [".horizontal-scroll-table{width:100%}.mat-mdc-header-row,th{font-weight:700}.mat-mdc-row{text-align:left}.header{text-align:left;width:95%;padding-top:5px}.header .header-text{font-size:15px;font-weight:500}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3$3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3$3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3$3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3$3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3$3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3$3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3$3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3$3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3$3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: DynamicAttributeDisplayComponent, selector: "mantle-dynamic-attribute-display", inputs: ["value", "field", "fieldType", "options"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
3946
3946
  }
3947
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DashboardTableComponent, decorators: [{
3947
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DashboardTableComponent, decorators: [{
3948
3948
  type: Component,
3949
3949
  args: [{ selector: 'mantle-dashboard-table', standalone: false, template: "<div *ngIf=\"label\" class=\"header\">\n <p class=\"header-text\">{{ label | translate }}</p>\n</div>\n\n<div class=\"vertically-scrollable horizontal-scroll-table\">\n <table mat-table class=\"full-width\">\n\n <ng-container *ngFor=\"let column of columns\">\n <ng-container matColumnDef=\"{{ column.attr }}\">\n <th mat-header-cell *matHeaderCellDef>{{ column.header | translate }}</th>\n <td mat-cell *matCellDef=\"let row\">\n <mantle-dynamic-attribute-display [fieldType]=\"column.type\" [value]=\"row[column.attr]\" [field]=\"column\"></mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!hideHeaders\">\n <tr mat-header-row *matHeaderRowDef=\"listColumnAttrs()\"></tr>\n </ng-container>\n <tr mat-row *matRowDef=\"let row; columns: listColumnAttrs();\"\n (click)=\"onRowClicked(row)\"\n [class.clickable-row]=\"withClickableRows\"\n [class.striped-row]=\"withStripedRows\">\n </tr>\n\n </table>\n</div>\n", styles: [".horizontal-scroll-table{width:100%}.mat-mdc-header-row,th{font-weight:700}.mat-mdc-row{text-align:left}.header{text-align:left;width:95%;padding-top:5px}.header .header-text{font-size:15px;font-weight:500}\n"] }]
3950
3950
  }], ctorParameters: () => [{ type: i1$3.MatDialog }], propDecorators: { table: [{
@@ -3971,10 +3971,10 @@ class DynamicWidgetDisplayComponent {
3971
3971
  this.data = '';
3972
3972
  this.options = '';
3973
3973
  }
3974
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicWidgetDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3975
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicWidgetDisplayComponent, isStandalone: false, selector: "mantle-dynamic-widget-display", inputs: { widgetItem: "widgetItem", data: "data", options: "options" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"widgetItem.type\">\n\n <ng-container *ngSwitchCase=\"'chart'\">\n <mantle-dynamic-chart class=\"widget-item\" [label]=\"widgetItem.label\" [data]=\"data\">\n </mantle-dynamic-chart>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'info'\">\n <mantle-dashboard-info-card class=\"widget-item\" [data]=\"data\" [options]=\"options\">\n </mantle-dashboard-info-card>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-dashboard-table class=\"widget-item\"\n [label]=\"widgetItem.label\"\n [columns]=\"data.columns\" [items]=\"data.items\"\n [hideHeaders]=\"data.hideHeaders\"\n [withStripedRows]=\"data.withStripedRows\"\n [withClickableRows]=\"data.withClickableRows\"\n [onRecordClicked]=\"data.onRecordClicked\">\n </mantle-dashboard-table>\n </ng-container>\n\n</ng-container>\n", styles: [".widget-item{width:100%;height:100%;max-width:100%;max-height:100%;display:flex;align-items:center;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: DynamicChartComponent, selector: "mantle-dynamic-chart", inputs: ["label", "data"] }, { kind: "component", type: DashboardInfoCardComponent, selector: "mantle-dashboard-info-card", inputs: ["data", "options"] }, { kind: "component", type: DashboardTableComponent, selector: "mantle-dashboard-table", inputs: ["label", "columns", "items", "hideHeaders", "withStripedRows", "withClickableRows", "onRecordClicked"] }] }); }
3974
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicWidgetDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3975
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicWidgetDisplayComponent, isStandalone: false, selector: "mantle-dynamic-widget-display", inputs: { widgetItem: "widgetItem", data: "data", options: "options" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"widgetItem.type\">\n\n <ng-container *ngSwitchCase=\"'chart'\">\n <mantle-dynamic-chart class=\"widget-item\" [label]=\"widgetItem.label\" [data]=\"data\">\n </mantle-dynamic-chart>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'info'\">\n <mantle-dashboard-info-card class=\"widget-item\" [data]=\"data\" [options]=\"options\">\n </mantle-dashboard-info-card>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-dashboard-table class=\"widget-item\"\n [label]=\"widgetItem.label\"\n [columns]=\"data.columns\" [items]=\"data.items\"\n [hideHeaders]=\"data.hideHeaders\"\n [withStripedRows]=\"data.withStripedRows\"\n [withClickableRows]=\"data.withClickableRows\"\n [onRecordClicked]=\"data.onRecordClicked\">\n </mantle-dashboard-table>\n </ng-container>\n\n</ng-container>\n", styles: [".widget-item{width:100%;height:100%;max-width:100%;max-height:100%;display:flex;align-items:center;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: DynamicChartComponent, selector: "mantle-dynamic-chart", inputs: ["label", "data"] }, { kind: "component", type: DashboardInfoCardComponent, selector: "mantle-dashboard-info-card", inputs: ["data", "options"] }, { kind: "component", type: DashboardTableComponent, selector: "mantle-dashboard-table", inputs: ["label", "columns", "items", "hideHeaders", "withStripedRows", "withClickableRows", "onRecordClicked"] }] }); }
3976
3976
  }
3977
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicWidgetDisplayComponent, decorators: [{
3977
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicWidgetDisplayComponent, decorators: [{
3978
3978
  type: Component,
3979
3979
  args: [{ selector: 'mantle-dynamic-widget-display', standalone: false, template: "<ng-container [ngSwitch]=\"widgetItem.type\">\n\n <ng-container *ngSwitchCase=\"'chart'\">\n <mantle-dynamic-chart class=\"widget-item\" [label]=\"widgetItem.label\" [data]=\"data\">\n </mantle-dynamic-chart>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'info'\">\n <mantle-dashboard-info-card class=\"widget-item\" [data]=\"data\" [options]=\"options\">\n </mantle-dashboard-info-card>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-dashboard-table class=\"widget-item\"\n [label]=\"widgetItem.label\"\n [columns]=\"data.columns\" [items]=\"data.items\"\n [hideHeaders]=\"data.hideHeaders\"\n [withStripedRows]=\"data.withStripedRows\"\n [withClickableRows]=\"data.withClickableRows\"\n [onRecordClicked]=\"data.onRecordClicked\">\n </mantle-dashboard-table>\n </ng-container>\n\n</ng-container>\n", styles: [".widget-item{width:100%;height:100%;max-width:100%;max-height:100%;display:flex;align-items:center;flex-direction:column}\n"] }]
3980
3980
  }], propDecorators: { widgetItem: [{
@@ -4076,10 +4076,10 @@ class DashboardCardComponent {
4076
4076
  getWidgetItemRowspan(config) {
4077
4077
  return config.size.findByScreenSize(this.screenSize).rowspan;
4078
4078
  }
4079
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DashboardCardComponent, deps: [{ token: ObjectService }, { token: ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component }); }
4080
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DashboardCardComponent, isStandalone: false, selector: "mantle-dashboard-card", inputs: { widget: "widget", widgetConfig: "widgetConfig", widgetItems: "widgetItems", rowHeight: "rowHeight", dashboardWidgetService: "dashboardWidgetService", dashboardPageService: "dashboardPageService", searchValues: "searchValues" }, viewQueries: [{ propertyName: "searchForm", first: true, predicate: DashboardCardSearchMenuComponent, descendants: true }, { propertyName: "menuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<mat-card fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"0px\" class=\"dashboard-card\">\n <mat-card-header fxFlex=\"0 0 auto\">\n <mat-card-title>\n <span *ngIf=\"!dashboardWidgetService.icon; else iconHeader\" class=\"main-card-title dashboard-card-title\">{{ widget.label }}</span>\n <ng-template #iconHeader>\n <div>\n <mat-icon class=\"card-title-icon\">{{ dashboardWidgetService.icon }}</mat-icon>\n <span class=\"main-card-title dashboard-card-title\">\n {{ widget.label }}\n </span>\n </div>\n </ng-template>\n\n <ng-container *ngFor=\"let exportOption of exportOptions\">\n <button mat-button type=\"button\" class=\"export-button\" (click)=\"exportOption.export(options).subscribe()\">\n <span class=\"export-button-label\">{{ exportOption.label | translate }}</span>\n <mat-icon>download</mat-icon>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"additionalWidgetButtons\">\n <div class=\"widget-button-container\" [ngClass]=\"{ 'with-menu-button': dashboardWidgetService.showMenuButton }\">\n <button *ngFor=\"let button of additionalWidgetButtons\"\n mat-raised-button\n color=\"{{ button.color }}\"\n type=\"button\"\n class=\"widget-button\"\n [ngStyle]=\"button.styling\"\n (click)=\"onAdditionalWidgetButtonClicked(button.onClick)\"\n [disabled]=\"button.disabled\">\n {{ button.label | translate }}\n </button>\n </div>\n </ng-container>\n\n <button #menuTrigger mat-icon-button class=\"more-button\" [matMenuTriggerFor]=\"menu\" *ngIf=\"dashboardWidgetService.showMenuButton\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <div class=\"menu-form\" click-stop-propagation>\n <mantle-dashboard-card-search-menu #searchForm [content]=\"formContent\"></mantle-dashboard-card-search-menu>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\"></div>\n <div fxFlex=\"0 0 auto\">\n <button mat-raised-button color=\"primary\" type=\"button\" class=\"search-button\" (click)=\"onSearchClicked(); menuTrigger.closeMenu();\">\n {{ 'mantle.buttons.search' | translate }}\n </button>\n </div>\n </div>\n </div>\n </mat-menu>\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content fxFlex=\"1 0 1px\" fxAlign=\"center center\" class=\"dashboard-card-content\">\n\n <div class=\"grid-container\">\n <mat-grid-list\n [rowHeight]=\"widgetRowHeight\"\n [cols]=\"WIDGET_COLUMNS\">\n <mat-grid-tile *ngFor=\"let context of widgetItemContexts\" [colspan]=\"getWidgetItemColspan(context.config)\" [rowspan]=\"getWidgetItemRowspan(context.config)\">\n <mantle-dynamic-widget-display\n class=\"card-content-wrapper\"\n [widgetItem]=\"context.config\"\n [data]=\"context.data\"\n [options]=\"context.options\">\n </mantle-dynamic-widget-display>\n </mat-grid-tile>\n </mat-grid-list>\n </div>\n\n </mat-card-content>\n</mat-card>\n", styles: [".dashboard-card{position:absolute;inset:15px;padding:10px 15px}.more-button{position:absolute;top:5px;right:10px}.dashboard-card-content{text-align:center}.mat-mdc-card-title{margin-bottom:10px;padding-top:5px}.mat-mdc-card-title .main-card-title{text-transform:uppercase;vertical-align:middle}.mat-mdc-card-title .card-title-icon{font-size:2rem;vertical-align:middle;padding-right:7px}.card-content-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:stretch}.menu-form{width:140px;padding:0 8px}.export-button{display:inline-block;width:110px;background-color:transparent;white-space:nowrap;padding:0;position:absolute;top:8px;right:50px}.export-button .export-button-label{display:inline-block;width:80px;white-space:normal;text-align:right;text-transform:uppercase;font-weight:400;font-size:12px;line-height:1.25rem;margin-right:.25rem}.widget-button-container{display:inline-block;position:absolute;z-index:100;top:15px;right:20px}.widget-button-container .widget-button{margin-left:7px}.with-menu-button{right:50px}.mat-icon{height:auto;width:auto;font-size:1.5rem}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i5.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i7.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i7.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i7.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i3$2.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { kind: "component", type: i3$2.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i8$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[click-stop-propagation]" }, { kind: "component", type: DynamicWidgetDisplayComponent, selector: "mantle-dynamic-widget-display", inputs: ["widgetItem", "data", "options"] }, { kind: "component", type: DashboardCardSearchMenuComponent, selector: "mantle-dashboard-card-search-menu", inputs: ["content"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
4079
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DashboardCardComponent, deps: [{ token: ObjectService }, { token: ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component }); }
4080
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DashboardCardComponent, isStandalone: false, selector: "mantle-dashboard-card", inputs: { widget: "widget", widgetConfig: "widgetConfig", widgetItems: "widgetItems", rowHeight: "rowHeight", dashboardWidgetService: "dashboardWidgetService", dashboardPageService: "dashboardPageService", searchValues: "searchValues" }, viewQueries: [{ propertyName: "searchForm", first: true, predicate: DashboardCardSearchMenuComponent, descendants: true }, { propertyName: "menuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<mat-card fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"0px\" class=\"dashboard-card\">\n <mat-card-header fxFlex=\"0 0 auto\">\n <mat-card-title>\n <span *ngIf=\"!dashboardWidgetService.icon; else iconHeader\" class=\"main-card-title dashboard-card-title\">{{ widget.label }}</span>\n <ng-template #iconHeader>\n <div>\n <mat-icon class=\"card-title-icon\">{{ dashboardWidgetService.icon }}</mat-icon>\n <span class=\"main-card-title dashboard-card-title\">\n {{ widget.label }}\n </span>\n </div>\n </ng-template>\n\n <ng-container *ngFor=\"let exportOption of exportOptions\">\n <button mat-button type=\"button\" class=\"export-button\" (click)=\"exportOption.export(options).subscribe()\">\n <span class=\"export-button-label\">{{ exportOption.label | translate }}</span>\n <mat-icon>download</mat-icon>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"additionalWidgetButtons\">\n <div class=\"widget-button-container\" [ngClass]=\"{ 'with-menu-button': dashboardWidgetService.showMenuButton }\">\n <button *ngFor=\"let button of additionalWidgetButtons\"\n mat-raised-button\n color=\"{{ button.color }}\"\n type=\"button\"\n class=\"widget-button\"\n [ngStyle]=\"button.styling\"\n (click)=\"onAdditionalWidgetButtonClicked(button.onClick)\"\n [disabled]=\"button.disabled\">\n {{ button.label | translate }}\n </button>\n </div>\n </ng-container>\n\n <button #menuTrigger mat-icon-button class=\"more-button\" [matMenuTriggerFor]=\"menu\" *ngIf=\"dashboardWidgetService.showMenuButton\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <div class=\"menu-form\" click-stop-propagation>\n <mantle-dashboard-card-search-menu #searchForm [content]=\"formContent\"></mantle-dashboard-card-search-menu>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\"></div>\n <div fxFlex=\"0 0 auto\">\n <button mat-raised-button color=\"primary\" type=\"button\" class=\"search-button\" (click)=\"onSearchClicked(); menuTrigger.closeMenu();\">\n {{ 'mantle.buttons.search' | translate }}\n </button>\n </div>\n </div>\n </div>\n </mat-menu>\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content fxFlex=\"1 0 1px\" fxAlign=\"center center\" class=\"dashboard-card-content\">\n\n <div class=\"grid-container\">\n <mat-grid-list\n [rowHeight]=\"widgetRowHeight\"\n [cols]=\"WIDGET_COLUMNS\">\n <mat-grid-tile *ngFor=\"let context of widgetItemContexts\" [colspan]=\"getWidgetItemColspan(context.config)\" [rowspan]=\"getWidgetItemRowspan(context.config)\">\n <mantle-dynamic-widget-display\n class=\"card-content-wrapper\"\n [widgetItem]=\"context.config\"\n [data]=\"context.data\"\n [options]=\"context.options\">\n </mantle-dynamic-widget-display>\n </mat-grid-tile>\n </mat-grid-list>\n </div>\n\n </mat-card-content>\n</mat-card>\n", styles: [".dashboard-card{position:absolute;inset:15px;padding:10px 15px}.more-button{position:absolute;top:5px;right:10px}.dashboard-card-content{text-align:center}.mat-mdc-card-title{margin-bottom:10px;padding-top:5px}.mat-mdc-card-title .main-card-title{text-transform:uppercase;vertical-align:middle}.mat-mdc-card-title .card-title-icon{font-size:2rem;vertical-align:middle;padding-right:7px}.card-content-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:stretch}.menu-form{width:140px;padding:0 8px}.export-button{display:inline-block;width:110px;background-color:transparent;white-space:nowrap;padding:0;position:absolute;top:8px;right:50px}.export-button .export-button-label{display:inline-block;width:80px;white-space:normal;text-align:right;text-transform:uppercase;font-weight:400;font-size:12px;line-height:1.25rem;margin-right:.25rem}.widget-button-container{display:inline-block;position:absolute;z-index:100;top:15px;right:20px}.widget-button-container .widget-button{margin-left:7px}.with-menu-button{right:50px}.mat-icon{height:auto;width:auto;font-size:1.5rem}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i5.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i7.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i7.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i7.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i3$2.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { kind: "component", type: i3$2.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i8$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[click-stop-propagation]" }, { kind: "component", type: DynamicWidgetDisplayComponent, selector: "mantle-dynamic-widget-display", inputs: ["widgetItem", "data", "options"] }, { kind: "component", type: DashboardCardSearchMenuComponent, selector: "mantle-dashboard-card-search-menu", inputs: ["content"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
4081
4081
  }
4082
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DashboardCardComponent, decorators: [{
4082
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DashboardCardComponent, decorators: [{
4083
4083
  type: Component,
4084
4084
  args: [{ selector: 'mantle-dashboard-card', standalone: false, template: "<mat-card fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"0px\" class=\"dashboard-card\">\n <mat-card-header fxFlex=\"0 0 auto\">\n <mat-card-title>\n <span *ngIf=\"!dashboardWidgetService.icon; else iconHeader\" class=\"main-card-title dashboard-card-title\">{{ widget.label }}</span>\n <ng-template #iconHeader>\n <div>\n <mat-icon class=\"card-title-icon\">{{ dashboardWidgetService.icon }}</mat-icon>\n <span class=\"main-card-title dashboard-card-title\">\n {{ widget.label }}\n </span>\n </div>\n </ng-template>\n\n <ng-container *ngFor=\"let exportOption of exportOptions\">\n <button mat-button type=\"button\" class=\"export-button\" (click)=\"exportOption.export(options).subscribe()\">\n <span class=\"export-button-label\">{{ exportOption.label | translate }}</span>\n <mat-icon>download</mat-icon>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"additionalWidgetButtons\">\n <div class=\"widget-button-container\" [ngClass]=\"{ 'with-menu-button': dashboardWidgetService.showMenuButton }\">\n <button *ngFor=\"let button of additionalWidgetButtons\"\n mat-raised-button\n color=\"{{ button.color }}\"\n type=\"button\"\n class=\"widget-button\"\n [ngStyle]=\"button.styling\"\n (click)=\"onAdditionalWidgetButtonClicked(button.onClick)\"\n [disabled]=\"button.disabled\">\n {{ button.label | translate }}\n </button>\n </div>\n </ng-container>\n\n <button #menuTrigger mat-icon-button class=\"more-button\" [matMenuTriggerFor]=\"menu\" *ngIf=\"dashboardWidgetService.showMenuButton\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <div class=\"menu-form\" click-stop-propagation>\n <mantle-dashboard-card-search-menu #searchForm [content]=\"formContent\"></mantle-dashboard-card-search-menu>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\"></div>\n <div fxFlex=\"0 0 auto\">\n <button mat-raised-button color=\"primary\" type=\"button\" class=\"search-button\" (click)=\"onSearchClicked(); menuTrigger.closeMenu();\">\n {{ 'mantle.buttons.search' | translate }}\n </button>\n </div>\n </div>\n </div>\n </mat-menu>\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content fxFlex=\"1 0 1px\" fxAlign=\"center center\" class=\"dashboard-card-content\">\n\n <div class=\"grid-container\">\n <mat-grid-list\n [rowHeight]=\"widgetRowHeight\"\n [cols]=\"WIDGET_COLUMNS\">\n <mat-grid-tile *ngFor=\"let context of widgetItemContexts\" [colspan]=\"getWidgetItemColspan(context.config)\" [rowspan]=\"getWidgetItemRowspan(context.config)\">\n <mantle-dynamic-widget-display\n class=\"card-content-wrapper\"\n [widgetItem]=\"context.config\"\n [data]=\"context.data\"\n [options]=\"context.options\">\n </mantle-dynamic-widget-display>\n </mat-grid-tile>\n </mat-grid-list>\n </div>\n\n </mat-card-content>\n</mat-card>\n", styles: [".dashboard-card{position:absolute;inset:15px;padding:10px 15px}.more-button{position:absolute;top:5px;right:10px}.dashboard-card-content{text-align:center}.mat-mdc-card-title{margin-bottom:10px;padding-top:5px}.mat-mdc-card-title .main-card-title{text-transform:uppercase;vertical-align:middle}.mat-mdc-card-title .card-title-icon{font-size:2rem;vertical-align:middle;padding-right:7px}.card-content-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:stretch}.menu-form{width:140px;padding:0 8px}.export-button{display:inline-block;width:110px;background-color:transparent;white-space:nowrap;padding:0;position:absolute;top:8px;right:50px}.export-button .export-button-label{display:inline-block;width:80px;white-space:normal;text-align:right;text-transform:uppercase;font-weight:400;font-size:12px;line-height:1.25rem;margin-right:.25rem}.widget-button-container{display:inline-block;position:absolute;z-index:100;top:15px;right:20px}.widget-button-container .widget-button{margin-left:7px}.with-menu-button{right:50px}.mat-icon{height:auto;width:auto;font-size:1.5rem}\n"] }]
4085
4085
  }], ctorParameters: () => [{ type: ObjectService }, { type: ScreenSizeService }], propDecorators: { searchForm: [{
@@ -4154,10 +4154,10 @@ class DashboardSectionComponent {
4154
4154
  return !widget.hidden;
4155
4155
  });
4156
4156
  }
4157
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DashboardSectionComponent, deps: [{ token: ArrayService }, { token: ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component }); }
4158
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DashboardSectionComponent, isStandalone: false, selector: "mantle-dashboard-section", inputs: { dashboardPageService: "dashboardPageService", slug: "slug", data: "data", section: "section", searchValues: "searchValues" }, ngImport: i0, template: "<div class=\"grid-container\">\n <mat-grid-list\n [rowHeight]=\"rowHeight\"\n [cols]=\"SECTION_COLUMNS\"\n [class.multi-column]=\"true\">\n\n <mat-grid-tile *ngFor=\"let widget of dashbordWidgets\" [colspan]=\"getColSpanForWidget(widget.slug)\" [rowspan]=\"getRowSpanForWidget(widget.slug)\">\n <mantle-dashboard-card\n [widget]=\"widget\"\n [widgetConfig]=\"data.widget_configs[widget.slug]\"\n [widgetItems]=\"data.widget_items\"\n [rowHeight]=\"rowHeight\"\n [dashboardWidgetService]=\"getDashboardWidgetService(widget.slug)\"\n [dashboardPageService]=\"dashboardPageService\"\n [searchValues]=\"searchValues\">\n </mantle-dashboard-card>\n </mat-grid-tile>\n\n </mat-grid-list>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3$2.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { kind: "component", type: i3$2.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { kind: "component", type: DashboardCardComponent, selector: "mantle-dashboard-card", inputs: ["widget", "widgetConfig", "widgetItems", "rowHeight", "dashboardWidgetService", "dashboardPageService", "searchValues"] }] }); }
4157
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DashboardSectionComponent, deps: [{ token: ArrayService }, { token: ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component }); }
4158
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DashboardSectionComponent, isStandalone: false, selector: "mantle-dashboard-section", inputs: { dashboardPageService: "dashboardPageService", slug: "slug", data: "data", section: "section", searchValues: "searchValues" }, ngImport: i0, template: "<div class=\"grid-container\">\n <mat-grid-list\n [rowHeight]=\"rowHeight\"\n [cols]=\"SECTION_COLUMNS\"\n [class.multi-column]=\"true\">\n\n <mat-grid-tile *ngFor=\"let widget of dashbordWidgets\" [colspan]=\"getColSpanForWidget(widget.slug)\" [rowspan]=\"getRowSpanForWidget(widget.slug)\">\n <mantle-dashboard-card\n [widget]=\"widget\"\n [widgetConfig]=\"data.widget_configs[widget.slug]\"\n [widgetItems]=\"data.widget_items\"\n [rowHeight]=\"rowHeight\"\n [dashboardWidgetService]=\"getDashboardWidgetService(widget.slug)\"\n [dashboardPageService]=\"dashboardPageService\"\n [searchValues]=\"searchValues\">\n </mantle-dashboard-card>\n </mat-grid-tile>\n\n </mat-grid-list>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3$2.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { kind: "component", type: i3$2.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { kind: "component", type: DashboardCardComponent, selector: "mantle-dashboard-card", inputs: ["widget", "widgetConfig", "widgetItems", "rowHeight", "dashboardWidgetService", "dashboardPageService", "searchValues"] }] }); }
4159
4159
  }
4160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DashboardSectionComponent, decorators: [{
4160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DashboardSectionComponent, decorators: [{
4161
4161
  type: Component,
4162
4162
  args: [{ selector: 'mantle-dashboard-section', standalone: false, template: "<div class=\"grid-container\">\n <mat-grid-list\n [rowHeight]=\"rowHeight\"\n [cols]=\"SECTION_COLUMNS\"\n [class.multi-column]=\"true\">\n\n <mat-grid-tile *ngFor=\"let widget of dashbordWidgets\" [colspan]=\"getColSpanForWidget(widget.slug)\" [rowspan]=\"getRowSpanForWidget(widget.slug)\">\n <mantle-dashboard-card\n [widget]=\"widget\"\n [widgetConfig]=\"data.widget_configs[widget.slug]\"\n [widgetItems]=\"data.widget_items\"\n [rowHeight]=\"rowHeight\"\n [dashboardWidgetService]=\"getDashboardWidgetService(widget.slug)\"\n [dashboardPageService]=\"dashboardPageService\"\n [searchValues]=\"searchValues\">\n </mantle-dashboard-card>\n </mat-grid-tile>\n\n </mat-grid-list>\n</div>\n" }]
4163
4163
  }], ctorParameters: () => [{ type: ArrayService }, { type: ScreenSizeService }], propDecorators: { dashboardPageService: [{
@@ -4173,10 +4173,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
4173
4173
  }] } });
4174
4174
 
4175
4175
  class MarkdownDetailsSectionComponent {
4176
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: MarkdownDetailsSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4177
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: MarkdownDetailsSectionComponent, isStandalone: false, selector: "mantle-markdown-details-section", inputs: { section: "section" }, ngImport: i0, template: "<div class=\"markdown-wrapper\">\n <markdown ngPreserveWhitespaces *ngFor=\"let element of section.elements\">\n {{ element.text }}\n </markdown>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "disableSanitizer", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }] }); }
4176
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MarkdownDetailsSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4177
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: MarkdownDetailsSectionComponent, isStandalone: false, selector: "mantle-markdown-details-section", inputs: { section: "section" }, ngImport: i0, template: "<div class=\"markdown-wrapper\">\n <markdown ngPreserveWhitespaces *ngFor=\"let element of section.elements\">\n {{ element.text }}\n </markdown>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "disableSanitizer", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }] }); }
4178
4178
  }
4179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: MarkdownDetailsSectionComponent, decorators: [{
4179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MarkdownDetailsSectionComponent, decorators: [{
4180
4180
  type: Component,
4181
4181
  args: [{ selector: 'mantle-markdown-details-section', standalone: false, template: "<div class=\"markdown-wrapper\">\n <markdown ngPreserveWhitespaces *ngFor=\"let element of section.elements\">\n {{ element.text }}\n </markdown>\n</div>\n" }]
4182
4182
  }], propDecorators: { section: [{
@@ -4206,10 +4206,10 @@ class DynamicDetailsSectionComponent {
4206
4206
  asDashboardPageService(detailPageService) {
4207
4207
  return detailPageService;
4208
4208
  }
4209
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicDetailsSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4210
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicDetailsSectionComponent, isStandalone: false, selector: "mantle-dynamic-details-section", inputs: { detailPageService: "detailPageService", content: "content", section: "section" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-details-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [data]=\"content.data\">\n </mantle-grid-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-details-section\n [section]=\"asDynamicLayoutTableSection(section)\"\n [data]=\"content.data\"\n [detailPageService]=\"detailPageService\">\n </mantle-table-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dashboard'\">\n <mantle-dashboard-section\n [slug]=\"section.slug\"\n [section]=\"asDynamicLayoutDashboardSection(section)\"\n [data]=\"content.data\"\n [dashboardPageService]=\"asDashboardPageService(detailPageService)\">\n </mantle-dashboard-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'markdown'\">\n <mantle-markdown-details-section\n [section]=\"asDynamicLayoutMarkdownSection(section)\">\n </mantle-markdown-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'roster-shift-list'\">\n <mantle-roster-shift-list-details-section\n [section]=\"asDynamicLayoutRosterShiftListSection(section)\"\n [data]=\"content.data\">\n </mantle-roster-shift-list-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'report'\">\n <mantle-report-details-section\n [section]=\"asDynamicLayoutReportSection(section)\"\n [data]=\"content.data\">\n </mantle-report-details-section>\n </ng-container>\n\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: GridDetailsSectionComponent, selector: "mantle-grid-details-section", inputs: ["data", "section", "defaultRowHeight"] }, { kind: "component", type: TableDetailsSectionComponent, selector: "mantle-table-details-section", inputs: ["data", "section", "detailPageService"] }, { kind: "component", type: ReportDetailsSectionComponent, selector: "mantle-report-details-section", inputs: ["data", "section"] }, { kind: "component", type: RosterShiftListDetailsSectionComponent, selector: "mantle-roster-shift-list-details-section", inputs: ["data", "section"] }, { kind: "component", type: DashboardSectionComponent, selector: "mantle-dashboard-section", inputs: ["dashboardPageService", "slug", "data", "section", "searchValues"] }, { kind: "component", type: MarkdownDetailsSectionComponent, selector: "mantle-markdown-details-section", inputs: ["section"] }] }); }
4209
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicDetailsSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4210
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicDetailsSectionComponent, isStandalone: false, selector: "mantle-dynamic-details-section", inputs: { detailPageService: "detailPageService", content: "content", section: "section" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-details-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [data]=\"content.data\">\n </mantle-grid-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-details-section\n [section]=\"asDynamicLayoutTableSection(section)\"\n [data]=\"content.data\"\n [detailPageService]=\"detailPageService\">\n </mantle-table-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dashboard'\">\n <mantle-dashboard-section\n [slug]=\"section.slug\"\n [section]=\"asDynamicLayoutDashboardSection(section)\"\n [data]=\"content.data\"\n [dashboardPageService]=\"asDashboardPageService(detailPageService)\">\n </mantle-dashboard-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'markdown'\">\n <mantle-markdown-details-section\n [section]=\"asDynamicLayoutMarkdownSection(section)\">\n </mantle-markdown-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'roster-shift-list'\">\n <mantle-roster-shift-list-details-section\n [section]=\"asDynamicLayoutRosterShiftListSection(section)\"\n [data]=\"content.data\">\n </mantle-roster-shift-list-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'report'\">\n <mantle-report-details-section\n [section]=\"asDynamicLayoutReportSection(section)\"\n [data]=\"content.data\">\n </mantle-report-details-section>\n </ng-container>\n\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: GridDetailsSectionComponent, selector: "mantle-grid-details-section", inputs: ["data", "section", "defaultRowHeight"] }, { kind: "component", type: TableDetailsSectionComponent, selector: "mantle-table-details-section", inputs: ["data", "section", "detailPageService"] }, { kind: "component", type: ReportDetailsSectionComponent, selector: "mantle-report-details-section", inputs: ["data", "section"] }, { kind: "component", type: RosterShiftListDetailsSectionComponent, selector: "mantle-roster-shift-list-details-section", inputs: ["data", "section"] }, { kind: "component", type: DashboardSectionComponent, selector: "mantle-dashboard-section", inputs: ["dashboardPageService", "slug", "data", "section", "searchValues"] }, { kind: "component", type: MarkdownDetailsSectionComponent, selector: "mantle-markdown-details-section", inputs: ["section"] }] }); }
4211
4211
  }
4212
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicDetailsSectionComponent, decorators: [{
4212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicDetailsSectionComponent, decorators: [{
4213
4213
  type: Component,
4214
4214
  args: [{ selector: 'mantle-dynamic-details-section', standalone: false, template: "<ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-details-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [data]=\"content.data\">\n </mantle-grid-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-details-section\n [section]=\"asDynamicLayoutTableSection(section)\"\n [data]=\"content.data\"\n [detailPageService]=\"detailPageService\">\n </mantle-table-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dashboard'\">\n <mantle-dashboard-section\n [slug]=\"section.slug\"\n [section]=\"asDynamicLayoutDashboardSection(section)\"\n [data]=\"content.data\"\n [dashboardPageService]=\"asDashboardPageService(detailPageService)\">\n </mantle-dashboard-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'markdown'\">\n <mantle-markdown-details-section\n [section]=\"asDynamicLayoutMarkdownSection(section)\">\n </mantle-markdown-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'roster-shift-list'\">\n <mantle-roster-shift-list-details-section\n [section]=\"asDynamicLayoutRosterShiftListSection(section)\"\n [data]=\"content.data\">\n </mantle-roster-shift-list-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'report'\">\n <mantle-report-details-section\n [section]=\"asDynamicLayoutReportSection(section)\"\n [data]=\"content.data\">\n </mantle-report-details-section>\n </ng-container>\n\n</ng-container>\n" }]
4215
4215
  }], ctorParameters: () => [], propDecorators: { detailPageService: [{
@@ -4222,10 +4222,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
4222
4222
 
4223
4223
  class AccordionDetailsContainerComponent {
4224
4224
  constructor() { }
4225
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AccordionDetailsContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4226
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: AccordionDetailsContainerComponent, isStandalone: false, selector: "mantle-accordion-details-container", inputs: { detailPageService: "detailPageService", content: "content", container: "container" }, ngImport: i0, template: "<mat-accordion multi class=\"dynamic-details accordion\">\n <ng-container *ngFor=\"let section of container.sections\">\n <mat-expansion-panel *ngIf=\"!section.hidden\" [expanded]=\"!section.collapsed\" class=\"dynamic-details-section\">\n <mat-expansion-panel-header>\n <mat-panel-title *ngIf=\"section.title\">\n <div class=\"title-wrapper\">\n <h4>{{ section.title }}</h4>\n <mat-divider></mat-divider>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <mantle-dynamic-details-section [detailPageService]=\"detailPageService\" [section]=\"section\" [content]=\"content\">\n </mantle-dynamic-details-section>\n </mat-expansion-panel>\n </ng-container>\n</mat-accordion>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i2$2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i2$2.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i2$2.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: i3$5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: DynamicDetailsSectionComponent, selector: "mantle-dynamic-details-section", inputs: ["detailPageService", "content", "section"] }] }); }
4225
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AccordionDetailsContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4226
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: AccordionDetailsContainerComponent, isStandalone: false, selector: "mantle-accordion-details-container", inputs: { detailPageService: "detailPageService", content: "content", container: "container" }, ngImport: i0, template: "<mat-accordion multi class=\"dynamic-details accordion\">\n <ng-container *ngFor=\"let section of container.sections\">\n <mat-expansion-panel *ngIf=\"!section.hidden\" [expanded]=\"!section.collapsed\" class=\"dynamic-details-section\">\n <mat-expansion-panel-header>\n <mat-panel-title *ngIf=\"section.title\">\n <div class=\"title-wrapper\">\n <h4>{{ section.title }}</h4>\n <mat-divider></mat-divider>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <mantle-dynamic-details-section [detailPageService]=\"detailPageService\" [section]=\"section\" [content]=\"content\">\n </mantle-dynamic-details-section>\n </mat-expansion-panel>\n </ng-container>\n</mat-accordion>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i2$2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i2$2.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i2$2.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: i3$5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: DynamicDetailsSectionComponent, selector: "mantle-dynamic-details-section", inputs: ["detailPageService", "content", "section"] }] }); }
4227
4227
  }
4228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AccordionDetailsContainerComponent, decorators: [{
4228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AccordionDetailsContainerComponent, decorators: [{
4229
4229
  type: Component,
4230
4230
  args: [{ selector: 'mantle-accordion-details-container', standalone: false, template: "<mat-accordion multi class=\"dynamic-details accordion\">\n <ng-container *ngFor=\"let section of container.sections\">\n <mat-expansion-panel *ngIf=\"!section.hidden\" [expanded]=\"!section.collapsed\" class=\"dynamic-details-section\">\n <mat-expansion-panel-header>\n <mat-panel-title *ngIf=\"section.title\">\n <div class=\"title-wrapper\">\n <h4>{{ section.title }}</h4>\n <mat-divider></mat-divider>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <mantle-dynamic-details-section [detailPageService]=\"detailPageService\" [section]=\"section\" [content]=\"content\">\n </mantle-dynamic-details-section>\n </mat-expansion-panel>\n </ng-container>\n</mat-accordion>\n" }]
4231
4231
  }], ctorParameters: () => [], propDecorators: { detailPageService: [{
@@ -4238,10 +4238,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
4238
4238
 
4239
4239
  class PlainDetailsContainerComponent {
4240
4240
  constructor() { }
4241
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PlainDetailsContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4242
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: PlainDetailsContainerComponent, isStandalone: false, selector: "mantle-plain-details-container", inputs: { detailPageService: "detailPageService", content: "content", container: "container" }, ngImport: i0, template: "<div class=\"dynamic-details plain\">\n <ng-container *ngFor=\"let section of container.sections\">\n <div *ngIf=\"!section.hidden\" class=\"dynamic-details-section\">\n <mantle-section-title *ngIf=\"section.title\" [title]=\"section.title\"></mantle-section-title>\n <mantle-dynamic-details-section [detailPageService]=\"detailPageService\" [section]=\"section\" [content]=\"content\">\n </mantle-dynamic-details-section>\n </div>\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "component", type: DynamicDetailsSectionComponent, selector: "mantle-dynamic-details-section", inputs: ["detailPageService", "content", "section"] }] }); }
4241
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PlainDetailsContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4242
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: PlainDetailsContainerComponent, isStandalone: false, selector: "mantle-plain-details-container", inputs: { detailPageService: "detailPageService", content: "content", container: "container" }, ngImport: i0, template: "<div class=\"dynamic-details plain\">\n <ng-container *ngFor=\"let section of container.sections\">\n <div *ngIf=\"!section.hidden\" class=\"dynamic-details-section\">\n <mantle-section-title *ngIf=\"section.title\" [title]=\"section.title\"></mantle-section-title>\n <mantle-dynamic-details-section [detailPageService]=\"detailPageService\" [section]=\"section\" [content]=\"content\">\n </mantle-dynamic-details-section>\n </div>\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "component", type: DynamicDetailsSectionComponent, selector: "mantle-dynamic-details-section", inputs: ["detailPageService", "content", "section"] }] }); }
4243
4243
  }
4244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PlainDetailsContainerComponent, decorators: [{
4244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PlainDetailsContainerComponent, decorators: [{
4245
4245
  type: Component,
4246
4246
  args: [{ selector: 'mantle-plain-details-container', standalone: false, template: "<div class=\"dynamic-details plain\">\n <ng-container *ngFor=\"let section of container.sections\">\n <div *ngIf=\"!section.hidden\" class=\"dynamic-details-section\">\n <mantle-section-title *ngIf=\"section.title\" [title]=\"section.title\"></mantle-section-title>\n <mantle-dynamic-details-section [detailPageService]=\"detailPageService\" [section]=\"section\" [content]=\"content\">\n </mantle-dynamic-details-section>\n </div>\n </ng-container>\n</div>\n" }]
4247
4247
  }], ctorParameters: () => [], propDecorators: { detailPageService: [{
@@ -4254,10 +4254,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
4254
4254
 
4255
4255
  class DynamicDetailsContainerComponent {
4256
4256
  constructor() { }
4257
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicDetailsContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4258
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicDetailsContainerComponent, isStandalone: false, selector: "mantle-dynamic-details-container", inputs: { detailPageService: "detailPageService", content: "content", container: "container" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"container.container_style\">\n\n <ng-container *ngSwitchCase=\"'plain'\">\n <mantle-plain-details-container [detailPageService]=\"detailPageService\" [container]=\"container\" [content]=\"content\">\n </mantle-plain-details-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'accordion'\">\n <mantle-accordion-details-container [detailPageService]=\"detailPageService\" [container]=\"container\" [content]=\"content\">\n </mantle-accordion-details-container>\n </ng-container>\n\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: AccordionDetailsContainerComponent, selector: "mantle-accordion-details-container", inputs: ["detailPageService", "content", "container"] }, { kind: "component", type: PlainDetailsContainerComponent, selector: "mantle-plain-details-container", inputs: ["detailPageService", "content", "container"] }] }); }
4257
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicDetailsContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4258
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicDetailsContainerComponent, isStandalone: false, selector: "mantle-dynamic-details-container", inputs: { detailPageService: "detailPageService", content: "content", container: "container" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"container.container_style\">\n\n <ng-container *ngSwitchCase=\"'plain'\">\n <mantle-plain-details-container [detailPageService]=\"detailPageService\" [container]=\"container\" [content]=\"content\">\n </mantle-plain-details-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'accordion'\">\n <mantle-accordion-details-container [detailPageService]=\"detailPageService\" [container]=\"container\" [content]=\"content\">\n </mantle-accordion-details-container>\n </ng-container>\n\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: AccordionDetailsContainerComponent, selector: "mantle-accordion-details-container", inputs: ["detailPageService", "content", "container"] }, { kind: "component", type: PlainDetailsContainerComponent, selector: "mantle-plain-details-container", inputs: ["detailPageService", "content", "container"] }] }); }
4259
4259
  }
4260
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicDetailsContainerComponent, decorators: [{
4260
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicDetailsContainerComponent, decorators: [{
4261
4261
  type: Component,
4262
4262
  args: [{ selector: 'mantle-dynamic-details-container', standalone: false, template: "<ng-container [ngSwitch]=\"container.container_style\">\n\n <ng-container *ngSwitchCase=\"'plain'\">\n <mantle-plain-details-container [detailPageService]=\"detailPageService\" [container]=\"container\" [content]=\"content\">\n </mantle-plain-details-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'accordion'\">\n <mantle-accordion-details-container [detailPageService]=\"detailPageService\" [container]=\"container\" [content]=\"content\">\n </mantle-accordion-details-container>\n </ng-container>\n\n</ng-container>\n" }]
4263
4263
  }], ctorParameters: () => [], propDecorators: { detailPageService: [{
@@ -4270,10 +4270,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
4270
4270
 
4271
4271
  class DynamicDetailsComponent {
4272
4272
  constructor() { }
4273
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4274
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicDetailsComponent, isStandalone: false, selector: "mantle-dynamic-details", inputs: { detailPageService: "detailPageService", content: "content" }, ngImport: i0, template: "<ng-container *ngIf=\"content; else loader\">\n <ng-container *ngFor=\"let container of content.containers\">\n <mantle-dynamic-details-container [detailPageService]=\"detailPageService\" [container]=\"container\" [content]=\"content\">\n </mantle-dynamic-details-container>\n </ng-container>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoaderComponent, selector: "mantle-loader", inputs: ["delay"] }, { kind: "component", type: DynamicDetailsContainerComponent, selector: "mantle-dynamic-details-container", inputs: ["detailPageService", "content", "container"] }] }); }
4273
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4274
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicDetailsComponent, isStandalone: false, selector: "mantle-dynamic-details", inputs: { detailPageService: "detailPageService", content: "content" }, ngImport: i0, template: "<ng-container *ngIf=\"content; else loader\">\n <ng-container *ngFor=\"let container of content.containers\">\n <mantle-dynamic-details-container [detailPageService]=\"detailPageService\" [container]=\"container\" [content]=\"content\">\n </mantle-dynamic-details-container>\n </ng-container>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoaderComponent, selector: "mantle-loader", inputs: ["delay"] }, { kind: "component", type: DynamicDetailsContainerComponent, selector: "mantle-dynamic-details-container", inputs: ["detailPageService", "content", "container"] }] }); }
4275
4275
  }
4276
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicDetailsComponent, decorators: [{
4276
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicDetailsComponent, decorators: [{
4277
4277
  type: Component,
4278
4278
  args: [{ selector: 'mantle-dynamic-details', standalone: false, template: "<ng-container *ngIf=\"content; else loader\">\n <ng-container *ngFor=\"let container of content.containers\">\n <mantle-dynamic-details-container [detailPageService]=\"detailPageService\" [container]=\"container\" [content]=\"content\">\n </mantle-dynamic-details-container>\n </ng-container>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n" }]
4279
4279
  }], ctorParameters: () => [], propDecorators: { detailPageService: [{
@@ -4294,10 +4294,10 @@ class DynamicBoardWidgetContentComponent {
4294
4294
  loadWidgetData(newData) {
4295
4295
  this.data = newData;
4296
4296
  }
4297
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicBoardWidgetContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4298
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicBoardWidgetContentComponent, isStandalone: false, selector: "mantle-dynamic-board-widget-content", inputs: { chartId: "chartId" }, outputs: { onWidgetConfigChanged: "onWidgetConfigChanged" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"data; else loader\">\n <mantle-dynamic-chart [data]=\"data\"></mantle-dynamic-chart>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoaderComponent, selector: "mantle-loader", inputs: ["delay"] }, { kind: "component", type: DynamicChartComponent, selector: "mantle-dynamic-chart", inputs: ["label", "data"] }] }); }
4297
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicBoardWidgetContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4298
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicBoardWidgetContentComponent, isStandalone: false, selector: "mantle-dynamic-board-widget-content", inputs: { chartId: "chartId" }, outputs: { onWidgetConfigChanged: "onWidgetConfigChanged" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"data; else loader\">\n <mantle-dynamic-chart [data]=\"data\"></mantle-dynamic-chart>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoaderComponent, selector: "mantle-loader", inputs: ["delay"] }, { kind: "component", type: DynamicChartComponent, selector: "mantle-dynamic-chart", inputs: ["label", "data"] }] }); }
4299
4299
  }
4300
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicBoardWidgetContentComponent, decorators: [{
4300
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicBoardWidgetContentComponent, decorators: [{
4301
4301
  type: Component,
4302
4302
  args: [{ selector: 'mantle-dynamic-board-widget-content', standalone: false, template: "<ng-container *ngIf=\"data; else loader\">\n <mantle-dynamic-chart [data]=\"data\"></mantle-dynamic-chart>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n" }]
4303
4303
  }], propDecorators: { chartId: [{
@@ -4409,10 +4409,10 @@ class DynamicBoardComponent {
4409
4409
  identify(index, widget) {
4410
4410
  return widget.layout.id;
4411
4411
  }
4412
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicBoardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4413
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicBoardComponent, isStandalone: false, selector: "mantle-dynamic-board", inputs: { items: "items", numColumns: "numColumns", canAdd: "canAdd", canEdit: "canEdit", canRemove: "canRemove" }, outputs: { onAddItemClicked: "onAddItemClicked", onRemoveItemClicked: "onRemoveItemClicked", onEditItemClicked: "onEditItemClicked", onWidgetConfigChanged: "onWidgetConfigChanged" }, viewQueries: [{ propertyName: "gridElement", first: true, predicate: ["grid"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"board-toolbar\" fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\"></div>\n <button *ngIf=\"canAdd\" mat-raised-button fxFlex=\"0 0 auto\" color=\"accent\" type=\"button\" class=\"add-button\" (click)=\"addItem()\">\n + {{ 'mantle.buttons.add_widget' | translate }}\n </button>\n</div>\n\n<gridstack #grid [options]=\"gridOptions\" (changeCB)=\"onGridChange($event)\" [ngClass]=\"{ 'board-editor': canEdit || canRemove }\">\n <ng-container *ngFor=\"let item of items; trackBy: identify\">\n <gridstack-item *ngIf=\"!item._destroy\" [options]=\"{ id: item.layout.id, x: item.layout.pos_x, y: item.layout.pos_y, w: item.layout.width, h: item.layout.height }\">\n <mat-card fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"0px\" class=\"board-widget\">\n <mat-card-header *ngIf=\"canEdit || canRemove\" fxFlex=\"0 0 auto\" fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"8px\" class=\"board-widget-header\">\n <div fxFlex=\"1 1 auto\">{{ item.name }}</div>\n <div fxFlex=\"0 0 auto\">\n <button mat-icon-button [matMenuTriggerFor]=\"widgetMenu\">\n <mat-icon>settings</mat-icon>\n </button>\n <mat-menu #widgetMenu=\"matMenu\" xPosition=\"before\">\n <button *ngIf=\"canEdit\" mat-menu-item (click)=\"editItem(item)\"><mat-icon>edit</mat-icon> Widget Settings</button>\n <button *ngIf=\"canRemove\" mat-menu-item (click)=\"removeItem(item)\"><mat-icon>close</mat-icon> Remove Widget</button>\n </mat-menu>\n </div>\n </mat-card-header>\n <mat-card-content fxFlex=\"1 0 1px\" fxAlign=\"center center\" class=\"board-widget-body\">\n <mantle-dynamic-board-widget-content class=\"board-widget-content\" [chartId]=\"item.chart_id\" (onWidgetConfigChanged)=\"onWidgetConfigChanged.emit($event)\"></mantle-dynamic-board-widget-content>\n </mat-card-content>\n </mat-card>\n </gridstack-item>\n </ng-container>\n</gridstack>\n", styles: [".board-toolbar{margin-bottom:10px}.board-toolbar .add-button{text-transform:uppercase;border-radius:0}.board-editor{border:1px dashed #000000;border-radius:4px}.board-editor .board-widget{cursor:pointer}.board-widget{height:calc(100% - 4px);width:calc(100% - 4px);margin:2px}.board-widget .board-widget-header{padding:0}.board-widget .board-widget-body .board-widget-content{height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4$6.GridstackItemComponent, selector: "gridstack-item", inputs: ["options"] }, { kind: "component", type: i4$6.GridstackComponent, selector: "gridstack", inputs: ["options", "isEmpty"], outputs: ["addedCB", "changeCB", "disableCB", "dragCB", "dragStartCB", "dragStopCB", "droppedCB", "enableCB", "removedCB", "resizeCB", "resizeStartCB", "resizeStopCB"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i7.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i7.MatCardHeader, selector: "mat-card-header" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i8$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: DynamicBoardWidgetContentComponent, selector: "mantle-dynamic-board-widget-content", inputs: ["chartId"], outputs: ["onWidgetConfigChanged"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
4412
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicBoardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4413
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicBoardComponent, isStandalone: false, selector: "mantle-dynamic-board", inputs: { items: "items", numColumns: "numColumns", canAdd: "canAdd", canEdit: "canEdit", canRemove: "canRemove" }, outputs: { onAddItemClicked: "onAddItemClicked", onRemoveItemClicked: "onRemoveItemClicked", onEditItemClicked: "onEditItemClicked", onWidgetConfigChanged: "onWidgetConfigChanged" }, viewQueries: [{ propertyName: "gridElement", first: true, predicate: ["grid"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"board-toolbar\" fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\"></div>\n <button *ngIf=\"canAdd\" mat-raised-button fxFlex=\"0 0 auto\" color=\"accent\" type=\"button\" class=\"add-button\" (click)=\"addItem()\">\n + {{ 'mantle.buttons.add_widget' | translate }}\n </button>\n</div>\n\n<gridstack #grid [options]=\"gridOptions\" (changeCB)=\"onGridChange($event)\" [ngClass]=\"{ 'board-editor': canEdit || canRemove }\">\n <ng-container *ngFor=\"let item of items; trackBy: identify\">\n <gridstack-item *ngIf=\"!item._destroy\" [options]=\"{ id: item.layout.id, x: item.layout.pos_x, y: item.layout.pos_y, w: item.layout.width, h: item.layout.height }\">\n <mat-card fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"0px\" class=\"board-widget\">\n <mat-card-header *ngIf=\"canEdit || canRemove\" fxFlex=\"0 0 auto\" fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"8px\" class=\"board-widget-header\">\n <div fxFlex=\"1 1 auto\">{{ item.name }}</div>\n <div fxFlex=\"0 0 auto\">\n <button mat-icon-button [matMenuTriggerFor]=\"widgetMenu\">\n <mat-icon>settings</mat-icon>\n </button>\n <mat-menu #widgetMenu=\"matMenu\" xPosition=\"before\">\n <button *ngIf=\"canEdit\" mat-menu-item (click)=\"editItem(item)\"><mat-icon>edit</mat-icon> Widget Settings</button>\n <button *ngIf=\"canRemove\" mat-menu-item (click)=\"removeItem(item)\"><mat-icon>close</mat-icon> Remove Widget</button>\n </mat-menu>\n </div>\n </mat-card-header>\n <mat-card-content fxFlex=\"1 0 1px\" fxAlign=\"center center\" class=\"board-widget-body\">\n <mantle-dynamic-board-widget-content class=\"board-widget-content\" [chartId]=\"item.chart_id\" (onWidgetConfigChanged)=\"onWidgetConfigChanged.emit($event)\"></mantle-dynamic-board-widget-content>\n </mat-card-content>\n </mat-card>\n </gridstack-item>\n </ng-container>\n</gridstack>\n", styles: [".board-toolbar{margin-bottom:10px}.board-toolbar .add-button{text-transform:uppercase;border-radius:0}.board-editor{border:1px dashed #000000;border-radius:4px}.board-editor .board-widget{cursor:pointer}.board-widget{height:calc(100% - 4px);width:calc(100% - 4px);margin:2px}.board-widget .board-widget-header{padding:0}.board-widget .board-widget-body .board-widget-content{height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4$6.GridstackItemComponent, selector: "gridstack-item", inputs: ["options"] }, { kind: "component", type: i4$6.GridstackComponent, selector: "gridstack", inputs: ["options", "isEmpty"], outputs: ["addedCB", "changeCB", "disableCB", "dragCB", "dragStartCB", "dragStopCB", "droppedCB", "enableCB", "removedCB", "resizeCB", "resizeStartCB", "resizeStopCB"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i7.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i7.MatCardHeader, selector: "mat-card-header" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i8$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: DynamicBoardWidgetContentComponent, selector: "mantle-dynamic-board-widget-content", inputs: ["chartId"], outputs: ["onWidgetConfigChanged"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
4414
4414
  }
4415
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicBoardComponent, decorators: [{
4415
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicBoardComponent, decorators: [{
4416
4416
  type: Component,
4417
4417
  args: [{ selector: 'mantle-dynamic-board', standalone: false, template: "<div class=\"board-toolbar\" fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\"></div>\n <button *ngIf=\"canAdd\" mat-raised-button fxFlex=\"0 0 auto\" color=\"accent\" type=\"button\" class=\"add-button\" (click)=\"addItem()\">\n + {{ 'mantle.buttons.add_widget' | translate }}\n </button>\n</div>\n\n<gridstack #grid [options]=\"gridOptions\" (changeCB)=\"onGridChange($event)\" [ngClass]=\"{ 'board-editor': canEdit || canRemove }\">\n <ng-container *ngFor=\"let item of items; trackBy: identify\">\n <gridstack-item *ngIf=\"!item._destroy\" [options]=\"{ id: item.layout.id, x: item.layout.pos_x, y: item.layout.pos_y, w: item.layout.width, h: item.layout.height }\">\n <mat-card fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"0px\" class=\"board-widget\">\n <mat-card-header *ngIf=\"canEdit || canRemove\" fxFlex=\"0 0 auto\" fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"8px\" class=\"board-widget-header\">\n <div fxFlex=\"1 1 auto\">{{ item.name }}</div>\n <div fxFlex=\"0 0 auto\">\n <button mat-icon-button [matMenuTriggerFor]=\"widgetMenu\">\n <mat-icon>settings</mat-icon>\n </button>\n <mat-menu #widgetMenu=\"matMenu\" xPosition=\"before\">\n <button *ngIf=\"canEdit\" mat-menu-item (click)=\"editItem(item)\"><mat-icon>edit</mat-icon> Widget Settings</button>\n <button *ngIf=\"canRemove\" mat-menu-item (click)=\"removeItem(item)\"><mat-icon>close</mat-icon> Remove Widget</button>\n </mat-menu>\n </div>\n </mat-card-header>\n <mat-card-content fxFlex=\"1 0 1px\" fxAlign=\"center center\" class=\"board-widget-body\">\n <mantle-dynamic-board-widget-content class=\"board-widget-content\" [chartId]=\"item.chart_id\" (onWidgetConfigChanged)=\"onWidgetConfigChanged.emit($event)\"></mantle-dynamic-board-widget-content>\n </mat-card-content>\n </mat-card>\n </gridstack-item>\n </ng-container>\n</gridstack>\n", styles: [".board-toolbar{margin-bottom:10px}.board-toolbar .add-button{text-transform:uppercase;border-radius:0}.board-editor{border:1px dashed #000000;border-radius:4px}.board-editor .board-widget{cursor:pointer}.board-widget{height:calc(100% - 4px);width:calc(100% - 4px);margin:2px}.board-widget .board-widget-header{padding:0}.board-widget .board-widget-body .board-widget-content{height:100%;width:100%}\n"] }]
4418
4418
  }], propDecorators: { gridElement: [{
@@ -4457,10 +4457,10 @@ class BoardDetailsSectionComponent {
4457
4457
  refreshWidgetData(chartId, callback) {
4458
4458
  this.customDashboardPageService.refreshWidgetData(chartId, callback);
4459
4459
  }
4460
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: BoardDetailsSectionComponent, deps: [{ token: ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component }); }
4461
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: BoardDetailsSectionComponent, isStandalone: false, selector: "mantle-board-details-section", inputs: { data: "data", section: "section", customDashboardPageService: "customDashboardPageService" }, ngImport: i0, template: "<div class=\"board-section-content\">\n <mantle-dynamic-board\n [items]=\"data[section.config.attr]\"\n [numColumns]=\"numColumns\"\n [canAdd]=\"false\"\n [canEdit]=\"false\"\n [canRemove]=\"false\"\n (onWidgetConfigChanged)=\"refreshWidgetData($event.chartId, $event.callback)\">\n </mantle-dynamic-board>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: DynamicBoardComponent, selector: "mantle-dynamic-board", inputs: ["items", "numColumns", "canAdd", "canEdit", "canRemove"], outputs: ["onAddItemClicked", "onRemoveItemClicked", "onEditItemClicked", "onWidgetConfigChanged"] }] }); }
4460
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BoardDetailsSectionComponent, deps: [{ token: ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component }); }
4461
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: BoardDetailsSectionComponent, isStandalone: false, selector: "mantle-board-details-section", inputs: { data: "data", section: "section", customDashboardPageService: "customDashboardPageService" }, ngImport: i0, template: "<div class=\"board-section-content\">\n <mantle-dynamic-board\n [items]=\"data[section.config.attr]\"\n [numColumns]=\"numColumns\"\n [canAdd]=\"false\"\n [canEdit]=\"false\"\n [canRemove]=\"false\"\n (onWidgetConfigChanged)=\"refreshWidgetData($event.chartId, $event.callback)\">\n </mantle-dynamic-board>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: DynamicBoardComponent, selector: "mantle-dynamic-board", inputs: ["items", "numColumns", "canAdd", "canEdit", "canRemove"], outputs: ["onAddItemClicked", "onRemoveItemClicked", "onEditItemClicked", "onWidgetConfigChanged"] }] }); }
4462
4462
  }
4463
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: BoardDetailsSectionComponent, decorators: [{
4463
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BoardDetailsSectionComponent, decorators: [{
4464
4464
  type: Component,
4465
4465
  args: [{ selector: 'mantle-board-details-section', standalone: false, template: "<div class=\"board-section-content\">\n <mantle-dynamic-board\n [items]=\"data[section.config.attr]\"\n [numColumns]=\"numColumns\"\n [canAdd]=\"false\"\n [canEdit]=\"false\"\n [canRemove]=\"false\"\n (onWidgetConfigChanged)=\"refreshWidgetData($event.chartId, $event.callback)\">\n </mantle-dynamic-board>\n</div>\n" }]
4466
4466
  }], ctorParameters: () => [{ type: ScreenSizeService }], propDecorators: { data: [{
@@ -4510,10 +4510,10 @@ class DialogNestedFormComponent {
4510
4510
  onCancel() {
4511
4511
  this.dialogRef.close();
4512
4512
  }
4513
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DialogNestedFormComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: DynamicFormService }], target: i0.ɵɵFactoryTarget.Component }); }
4514
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DialogNestedFormComponent, isStandalone: false, selector: "mantle-dialog-nested-form", ngImport: i0, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" [title]=\"title\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancel()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n\n <mantle-grid-form-section\n [section]=\"section\"\n [form]=\"form\">\n </mantle-grid-form-section>\n\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" class=\"actions-section\">\n <button fxFlex=\"0 0 auto\" *ngIf=\"showDeleteButton\" mat-button (click)=\"onDelete()\" color=\"warn\">{{ 'mantle.buttons.delete' | translate }}</button>\n <div fxFlex=\"1 1 auto\"></div>\n <button fxFlex=\"0 0 auto\" mat-button (click)=\"onSave()\" [disabled]=\"!form.valid\">{{ saveButtonText | translate }}</button>\n</mat-dialog-actions>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: GridFormSectionComponent, selector: "mantle-grid-form-section", inputs: ["title", "section", "form", "errors", "defaultRowHeight"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
4513
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DialogNestedFormComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: DynamicFormService }], target: i0.ɵɵFactoryTarget.Component }); }
4514
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DialogNestedFormComponent, isStandalone: false, selector: "mantle-dialog-nested-form", ngImport: i0, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" [title]=\"title\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancel()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n\n <mantle-grid-form-section\n [section]=\"section\"\n [form]=\"form\">\n </mantle-grid-form-section>\n\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" class=\"actions-section\">\n <button fxFlex=\"0 0 auto\" *ngIf=\"showDeleteButton\" mat-button (click)=\"onDelete()\" color=\"warn\">{{ 'mantle.buttons.delete' | translate }}</button>\n <div fxFlex=\"1 1 auto\"></div>\n <button fxFlex=\"0 0 auto\" mat-button (click)=\"onSave()\" [disabled]=\"!form.valid\">{{ saveButtonText | translate }}</button>\n</mat-dialog-actions>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: GridFormSectionComponent, selector: "mantle-grid-form-section", inputs: ["title", "section", "form", "errors", "defaultRowHeight"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
4515
4515
  }
4516
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DialogNestedFormComponent, decorators: [{
4516
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DialogNestedFormComponent, decorators: [{
4517
4517
  type: Component,
4518
4518
  args: [{ selector: 'mantle-dialog-nested-form', standalone: false, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" [title]=\"title\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancel()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n\n <mantle-grid-form-section\n [section]=\"section\"\n [form]=\"form\">\n </mantle-grid-form-section>\n\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" class=\"actions-section\">\n <button fxFlex=\"0 0 auto\" *ngIf=\"showDeleteButton\" mat-button (click)=\"onDelete()\" color=\"warn\">{{ 'mantle.buttons.delete' | translate }}</button>\n <div fxFlex=\"1 1 auto\"></div>\n <button fxFlex=\"0 0 auto\" mat-button (click)=\"onSave()\" [disabled]=\"!form.valid\">{{ saveButtonText | translate }}</button>\n</mat-dialog-actions>\n" }]
4519
4519
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$3.MatDialogRef }, { type: undefined, decorators: [{
@@ -4602,10 +4602,10 @@ class BoardFormSectionComponent {
4602
4602
  reset() {
4603
4603
  this.form.reset();
4604
4604
  }
4605
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: BoardFormSectionComponent, deps: [{ token: i1$3.MatDialog }, { token: ArrayService }, { token: ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component }); }
4606
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: BoardFormSectionComponent, isStandalone: false, selector: "mantle-board-form-section", inputs: { section: "section", form: "form", customDashboardPageService: "customDashboardPageService" }, ngImport: i0, template: "<div class=\"board-section-content\">\n <mantle-dynamic-board\n [items]=\"form.value[section.config.attr]\"\n [numColumns]=\"numColumns\"\n [canAdd]=\"section.config.can_add && isWritableScreenSize\"\n [canEdit]=\"section.config.can_edit && isWritableScreenSize\"\n [canRemove]=\"section.config.can_delete && isWritableScreenSize\"\n (onAddItemClicked)=\"openFormDialog(null, $event.layout)\"\n (onRemoveItemClicked)=\"removeItem($event.record)\"\n (onEditItemClicked)=\"openFormDialog($event.record, $event.layout)\"\n (onWidgetConfigChanged)=\"refreshWidgetData($event.chartId, $event.callback)\">\n </mantle-dynamic-board>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: DynamicBoardComponent, selector: "mantle-dynamic-board", inputs: ["items", "numColumns", "canAdd", "canEdit", "canRemove"], outputs: ["onAddItemClicked", "onRemoveItemClicked", "onEditItemClicked", "onWidgetConfigChanged"] }] }); }
4605
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BoardFormSectionComponent, deps: [{ token: i1$3.MatDialog }, { token: ArrayService }, { token: ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component }); }
4606
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: BoardFormSectionComponent, isStandalone: false, selector: "mantle-board-form-section", inputs: { section: "section", form: "form", customDashboardPageService: "customDashboardPageService" }, ngImport: i0, template: "<div class=\"board-section-content\">\n <mantle-dynamic-board\n [items]=\"form.value[section.config.attr]\"\n [numColumns]=\"numColumns\"\n [canAdd]=\"section.config.can_add && isWritableScreenSize\"\n [canEdit]=\"section.config.can_edit && isWritableScreenSize\"\n [canRemove]=\"section.config.can_delete && isWritableScreenSize\"\n (onAddItemClicked)=\"openFormDialog(null, $event.layout)\"\n (onRemoveItemClicked)=\"removeItem($event.record)\"\n (onEditItemClicked)=\"openFormDialog($event.record, $event.layout)\"\n (onWidgetConfigChanged)=\"refreshWidgetData($event.chartId, $event.callback)\">\n </mantle-dynamic-board>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: DynamicBoardComponent, selector: "mantle-dynamic-board", inputs: ["items", "numColumns", "canAdd", "canEdit", "canRemove"], outputs: ["onAddItemClicked", "onRemoveItemClicked", "onEditItemClicked", "onWidgetConfigChanged"] }] }); }
4607
4607
  }
4608
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: BoardFormSectionComponent, decorators: [{
4608
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BoardFormSectionComponent, decorators: [{
4609
4609
  type: Component,
4610
4610
  args: [{ selector: 'mantle-board-form-section', standalone: false, template: "<div class=\"board-section-content\">\n <mantle-dynamic-board\n [items]=\"form.value[section.config.attr]\"\n [numColumns]=\"numColumns\"\n [canAdd]=\"section.config.can_add && isWritableScreenSize\"\n [canEdit]=\"section.config.can_edit && isWritableScreenSize\"\n [canRemove]=\"section.config.can_delete && isWritableScreenSize\"\n (onAddItemClicked)=\"openFormDialog(null, $event.layout)\"\n (onRemoveItemClicked)=\"removeItem($event.record)\"\n (onEditItemClicked)=\"openFormDialog($event.record, $event.layout)\"\n (onWidgetConfigChanged)=\"refreshWidgetData($event.chartId, $event.callback)\">\n </mantle-dynamic-board>\n</div>\n" }]
4611
4611
  }], ctorParameters: () => [{ type: i1$3.MatDialog }, { type: ArrayService }, { type: ScreenSizeService }], propDecorators: { section: [{
@@ -4626,10 +4626,10 @@ class DynamicCustomDashboardSectionComponent {
4626
4626
  asDynamicLayoutBoardSection(section) {
4627
4627
  return section;
4628
4628
  }
4629
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicCustomDashboardSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4630
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicCustomDashboardSectionComponent, isStandalone: false, selector: "mantle-dynamic-custom-dashboard-section", inputs: { customDashboardPageService: "customDashboardPageService", section: "section", content: "content", isEditor: "isEditor", form: "form" }, ngImport: i0, template: "<ng-container *ngIf=\"isEditor && section.writable\">\n <ng-container *ngTemplateOutlet=\"dynamicFormContent; context: { form: form, section: section, content: content };\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"!isEditor || !section.writable\">\n <ng-container *ngTemplateOutlet=\"dynamicDetailsContent; context: { section: section, content: content };\"></ng-container>\n</ng-container>\n\n<ng-template #dynamicFormContent let-form=\"form\" let-content=\"content\" let-section=\"section\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-form-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [form]=\"form\"\n [errors]=\"content.errors || {}\">\n </mantle-grid-form-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'board'\">\n <mantle-board-form-section\n [section]=\"asDynamicLayoutBoardSection(section)\"\n [form]=\"form\"\n [customDashboardPageService]=\"customDashboardPageService\">\n </mantle-board-form-section>\n </ng-container>\n\n </ng-container>\n</ng-template>\n\n<ng-template #dynamicDetailsContent let-content=\"content\" let-section=\"section\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-details-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [data]=\"content.data\">\n </mantle-grid-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'board'\">\n <mantle-board-details-section\n [section]=\"asDynamicLayoutBoardSection(section)\"\n [data]=\"content.data\"\n [customDashboardPageService]=\"customDashboardPageService\">\n </mantle-board-details-section>\n </ng-container>\n\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: BoardDetailsSectionComponent, selector: "mantle-board-details-section", inputs: ["data", "section", "customDashboardPageService"] }, { kind: "component", type: GridDetailsSectionComponent, selector: "mantle-grid-details-section", inputs: ["data", "section", "defaultRowHeight"] }, { kind: "component", type: BoardFormSectionComponent, selector: "mantle-board-form-section", inputs: ["section", "form", "customDashboardPageService"] }, { kind: "component", type: GridFormSectionComponent, selector: "mantle-grid-form-section", inputs: ["title", "section", "form", "errors", "defaultRowHeight"] }] }); }
4629
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicCustomDashboardSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4630
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicCustomDashboardSectionComponent, isStandalone: false, selector: "mantle-dynamic-custom-dashboard-section", inputs: { customDashboardPageService: "customDashboardPageService", section: "section", content: "content", isEditor: "isEditor", form: "form" }, ngImport: i0, template: "<ng-container *ngIf=\"isEditor && section.writable\">\n <ng-container *ngTemplateOutlet=\"dynamicFormContent; context: { form: form, section: section, content: content };\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"!isEditor || !section.writable\">\n <ng-container *ngTemplateOutlet=\"dynamicDetailsContent; context: { section: section, content: content };\"></ng-container>\n</ng-container>\n\n<ng-template #dynamicFormContent let-form=\"form\" let-content=\"content\" let-section=\"section\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-form-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [form]=\"form\"\n [errors]=\"content.errors || {}\">\n </mantle-grid-form-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'board'\">\n <mantle-board-form-section\n [section]=\"asDynamicLayoutBoardSection(section)\"\n [form]=\"form\"\n [customDashboardPageService]=\"customDashboardPageService\">\n </mantle-board-form-section>\n </ng-container>\n\n </ng-container>\n</ng-template>\n\n<ng-template #dynamicDetailsContent let-content=\"content\" let-section=\"section\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-details-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [data]=\"content.data\">\n </mantle-grid-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'board'\">\n <mantle-board-details-section\n [section]=\"asDynamicLayoutBoardSection(section)\"\n [data]=\"content.data\"\n [customDashboardPageService]=\"customDashboardPageService\">\n </mantle-board-details-section>\n </ng-container>\n\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: BoardDetailsSectionComponent, selector: "mantle-board-details-section", inputs: ["data", "section", "customDashboardPageService"] }, { kind: "component", type: GridDetailsSectionComponent, selector: "mantle-grid-details-section", inputs: ["data", "section", "defaultRowHeight"] }, { kind: "component", type: BoardFormSectionComponent, selector: "mantle-board-form-section", inputs: ["section", "form", "customDashboardPageService"] }, { kind: "component", type: GridFormSectionComponent, selector: "mantle-grid-form-section", inputs: ["title", "section", "form", "errors", "defaultRowHeight"] }] }); }
4631
4631
  }
4632
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicCustomDashboardSectionComponent, decorators: [{
4632
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicCustomDashboardSectionComponent, decorators: [{
4633
4633
  type: Component,
4634
4634
  args: [{ selector: 'mantle-dynamic-custom-dashboard-section', standalone: false, template: "<ng-container *ngIf=\"isEditor && section.writable\">\n <ng-container *ngTemplateOutlet=\"dynamicFormContent; context: { form: form, section: section, content: content };\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"!isEditor || !section.writable\">\n <ng-container *ngTemplateOutlet=\"dynamicDetailsContent; context: { section: section, content: content };\"></ng-container>\n</ng-container>\n\n<ng-template #dynamicFormContent let-form=\"form\" let-content=\"content\" let-section=\"section\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-form-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [form]=\"form\"\n [errors]=\"content.errors || {}\">\n </mantle-grid-form-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'board'\">\n <mantle-board-form-section\n [section]=\"asDynamicLayoutBoardSection(section)\"\n [form]=\"form\"\n [customDashboardPageService]=\"customDashboardPageService\">\n </mantle-board-form-section>\n </ng-container>\n\n </ng-container>\n</ng-template>\n\n<ng-template #dynamicDetailsContent let-content=\"content\" let-section=\"section\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-details-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [data]=\"content.data\">\n </mantle-grid-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'board'\">\n <mantle-board-details-section\n [section]=\"asDynamicLayoutBoardSection(section)\"\n [data]=\"content.data\"\n [customDashboardPageService]=\"customDashboardPageService\">\n </mantle-board-details-section>\n </ng-container>\n\n </ng-container>\n</ng-template>\n" }]
4635
4635
  }], propDecorators: { customDashboardPageService: [{
@@ -4648,10 +4648,10 @@ class PlainCustomDashboardContainerComponent {
4648
4648
  constructor() {
4649
4649
  this.isEditor = false;
4650
4650
  }
4651
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PlainCustomDashboardContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4652
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: PlainCustomDashboardContainerComponent, isStandalone: false, selector: "mantle-plain-custom-dashboard-container", inputs: { customDashboardPageService: "customDashboardPageService", content: "content", container: "container", isEditor: "isEditor", form: "form" }, ngImport: i0, template: "<div class=\"dynamic-custom-dashboard plain\">\n <ng-container *ngFor=\"let section of container.sections\">\n <div *ngIf=\"!section.hidden\" class=\"dynamic-custom-dashboard-section\">\n <mantle-section-title *ngIf=\"section.title\" [title]=\"section.title\"></mantle-section-title>\n <mantle-dynamic-custom-dashboard-section [customDashboardPageService]=\"customDashboardPageService\" [section]=\"section\" [content]=\"content\" [isEditor]=\"isEditor\" [form]=\"form\">\n </mantle-dynamic-custom-dashboard-section>\n </div>\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "component", type: DynamicCustomDashboardSectionComponent, selector: "mantle-dynamic-custom-dashboard-section", inputs: ["customDashboardPageService", "section", "content", "isEditor", "form"] }] }); }
4651
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PlainCustomDashboardContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4652
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: PlainCustomDashboardContainerComponent, isStandalone: false, selector: "mantle-plain-custom-dashboard-container", inputs: { customDashboardPageService: "customDashboardPageService", content: "content", container: "container", isEditor: "isEditor", form: "form" }, ngImport: i0, template: "<div class=\"dynamic-custom-dashboard plain\">\n <ng-container *ngFor=\"let section of container.sections\">\n <div *ngIf=\"!section.hidden\" class=\"dynamic-custom-dashboard-section\">\n <mantle-section-title *ngIf=\"section.title\" [title]=\"section.title\"></mantle-section-title>\n <mantle-dynamic-custom-dashboard-section [customDashboardPageService]=\"customDashboardPageService\" [section]=\"section\" [content]=\"content\" [isEditor]=\"isEditor\" [form]=\"form\">\n </mantle-dynamic-custom-dashboard-section>\n </div>\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "component", type: DynamicCustomDashboardSectionComponent, selector: "mantle-dynamic-custom-dashboard-section", inputs: ["customDashboardPageService", "section", "content", "isEditor", "form"] }] }); }
4653
4653
  }
4654
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PlainCustomDashboardContainerComponent, decorators: [{
4654
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PlainCustomDashboardContainerComponent, decorators: [{
4655
4655
  type: Component,
4656
4656
  args: [{ selector: 'mantle-plain-custom-dashboard-container', standalone: false, template: "<div class=\"dynamic-custom-dashboard plain\">\n <ng-container *ngFor=\"let section of container.sections\">\n <div *ngIf=\"!section.hidden\" class=\"dynamic-custom-dashboard-section\">\n <mantle-section-title *ngIf=\"section.title\" [title]=\"section.title\"></mantle-section-title>\n <mantle-dynamic-custom-dashboard-section [customDashboardPageService]=\"customDashboardPageService\" [section]=\"section\" [content]=\"content\" [isEditor]=\"isEditor\" [form]=\"form\">\n </mantle-dynamic-custom-dashboard-section>\n </div>\n </ng-container>\n</div>\n" }]
4657
4657
  }], propDecorators: { customDashboardPageService: [{
@@ -4670,10 +4670,10 @@ class DynamicCustomDashboardContainerComponent {
4670
4670
  constructor() {
4671
4671
  this.isEditor = false;
4672
4672
  }
4673
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicCustomDashboardContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4674
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicCustomDashboardContainerComponent, isStandalone: false, selector: "mantle-dynamic-custom-dashboard-container", inputs: { customDashboardPageService: "customDashboardPageService", content: "content", container: "container", isEditor: "isEditor", form: "form" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"container.container_style\">\n\n <ng-container *ngSwitchCase=\"'plain'\">\n <mantle-plain-custom-dashboard-container [customDashboardPageService]=\"customDashboardPageService\" [container]=\"container\" [content]=\"content\" [isEditor]=\"isEditor\" [form]=\"form\">\n </mantle-plain-custom-dashboard-container>\n </ng-container>\n\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: PlainCustomDashboardContainerComponent, selector: "mantle-plain-custom-dashboard-container", inputs: ["customDashboardPageService", "content", "container", "isEditor", "form"] }] }); }
4673
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicCustomDashboardContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4674
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicCustomDashboardContainerComponent, isStandalone: false, selector: "mantle-dynamic-custom-dashboard-container", inputs: { customDashboardPageService: "customDashboardPageService", content: "content", container: "container", isEditor: "isEditor", form: "form" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"container.container_style\">\n\n <ng-container *ngSwitchCase=\"'plain'\">\n <mantle-plain-custom-dashboard-container [customDashboardPageService]=\"customDashboardPageService\" [container]=\"container\" [content]=\"content\" [isEditor]=\"isEditor\" [form]=\"form\">\n </mantle-plain-custom-dashboard-container>\n </ng-container>\n\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: PlainCustomDashboardContainerComponent, selector: "mantle-plain-custom-dashboard-container", inputs: ["customDashboardPageService", "content", "container", "isEditor", "form"] }] }); }
4675
4675
  }
4676
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicCustomDashboardContainerComponent, decorators: [{
4676
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicCustomDashboardContainerComponent, decorators: [{
4677
4677
  type: Component,
4678
4678
  args: [{ selector: 'mantle-dynamic-custom-dashboard-container', standalone: false, template: "<ng-container [ngSwitch]=\"container.container_style\">\n\n <ng-container *ngSwitchCase=\"'plain'\">\n <mantle-plain-custom-dashboard-container [customDashboardPageService]=\"customDashboardPageService\" [container]=\"container\" [content]=\"content\" [isEditor]=\"isEditor\" [form]=\"form\">\n </mantle-plain-custom-dashboard-container>\n </ng-container>\n\n</ng-container>\n" }]
4679
4679
  }], propDecorators: { customDashboardPageService: [{
@@ -4711,10 +4711,10 @@ class DynamicCustomDashboardComponent {
4711
4711
  reset() {
4712
4712
  this.form.reset();
4713
4713
  }
4714
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicCustomDashboardComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: DynamicFormService }], target: i0.ɵɵFactoryTarget.Component }); }
4715
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicCustomDashboardComponent, isStandalone: false, selector: "mantle-dynamic-custom-dashboard", inputs: { customDashboardPageService: "customDashboardPageService", content: "content", isEditor: "isEditor" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"content; else loader\">\n <ng-container *ngFor=\"let container of content.containers\">\n <mantle-dynamic-custom-dashboard-container [customDashboardPageService]=\"customDashboardPageService\" [container]=\"container\" [content]=\"content\" [isEditor]=\"isEditor\" [form]=\"form\">\n </mantle-dynamic-custom-dashboard-container>\n </ng-container>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoaderComponent, selector: "mantle-loader", inputs: ["delay"] }, { kind: "component", type: DynamicCustomDashboardContainerComponent, selector: "mantle-dynamic-custom-dashboard-container", inputs: ["customDashboardPageService", "content", "container", "isEditor", "form"] }] }); }
4714
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicCustomDashboardComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: DynamicFormService }], target: i0.ɵɵFactoryTarget.Component }); }
4715
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicCustomDashboardComponent, isStandalone: false, selector: "mantle-dynamic-custom-dashboard", inputs: { customDashboardPageService: "customDashboardPageService", content: "content", isEditor: "isEditor" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"content; else loader\">\n <ng-container *ngFor=\"let container of content.containers\">\n <mantle-dynamic-custom-dashboard-container [customDashboardPageService]=\"customDashboardPageService\" [container]=\"container\" [content]=\"content\" [isEditor]=\"isEditor\" [form]=\"form\">\n </mantle-dynamic-custom-dashboard-container>\n </ng-container>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoaderComponent, selector: "mantle-loader", inputs: ["delay"] }, { kind: "component", type: DynamicCustomDashboardContainerComponent, selector: "mantle-dynamic-custom-dashboard-container", inputs: ["customDashboardPageService", "content", "container", "isEditor", "form"] }] }); }
4716
4716
  }
4717
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicCustomDashboardComponent, decorators: [{
4717
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicCustomDashboardComponent, decorators: [{
4718
4718
  type: Component,
4719
4719
  args: [{ selector: 'mantle-dynamic-custom-dashboard', standalone: false, template: "<ng-container *ngIf=\"content; else loader\">\n <ng-container *ngFor=\"let container of content.containers\">\n <mantle-dynamic-custom-dashboard-container [customDashboardPageService]=\"customDashboardPageService\" [container]=\"container\" [content]=\"content\" [isEditor]=\"isEditor\" [form]=\"form\">\n </mantle-dynamic-custom-dashboard-container>\n </ng-container>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n" }]
4720
4720
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: DynamicFormService }], propDecorators: { customDashboardPageService: [{
@@ -4808,10 +4808,10 @@ class TableFormSectionComponent {
4808
4808
  reset() {
4809
4809
  this.form.reset();
4810
4810
  }
4811
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: TableFormSectionComponent, deps: [{ token: i1$3.MatDialog }, { token: ArrayService }], target: i0.ɵɵFactoryTarget.Component }); }
4812
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: TableFormSectionComponent, isStandalone: false, selector: "mantle-table-form-section", inputs: { title: "title", section: "section", form: "form", formPageService: "formPageService" }, ngImport: i0, template: "<mantle-section-title *ngIf=\"title\" [title]=\"title\"></mantle-section-title>\n\n<div class=\"table-section-content\">\n <button *ngIf=\"canAddRecord()\" mat-raised-button color=\"primary\" type=\"button\" class=\"add-button\" (click)=\"openFormDialog()\">\n + {{ 'mantle.buttons.add_item' | translate }}\n </button>\n\n <mantle-dynamic-table\n [columns]=\"section.elements\"\n [items]=\"form.value[section.config.attr]\"\n [withClickableRows]=\"true\"\n (rowClicked)=\"openDetailsDialog($event)\">\n </mantle-dynamic-table>\n</div>\n", styles: [".add-button{text-transform:uppercase;border-radius:0}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "component", type: DynamicTableComponent, selector: "mantle-dynamic-table", inputs: ["columns", "items", "withClickableRows"], outputs: ["rowClicked"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
4811
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TableFormSectionComponent, deps: [{ token: i1$3.MatDialog }, { token: ArrayService }], target: i0.ɵɵFactoryTarget.Component }); }
4812
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: TableFormSectionComponent, isStandalone: false, selector: "mantle-table-form-section", inputs: { title: "title", section: "section", form: "form", formPageService: "formPageService" }, ngImport: i0, template: "<mantle-section-title *ngIf=\"title\" [title]=\"title\"></mantle-section-title>\n\n<div class=\"table-section-content\">\n <button *ngIf=\"canAddRecord()\" mat-raised-button color=\"primary\" type=\"button\" class=\"add-button\" (click)=\"openFormDialog()\">\n + {{ 'mantle.buttons.add_item' | translate }}\n </button>\n\n <mantle-dynamic-table\n [columns]=\"section.elements\"\n [items]=\"form.value[section.config.attr]\"\n [withClickableRows]=\"true\"\n (rowClicked)=\"openDetailsDialog($event)\">\n </mantle-dynamic-table>\n</div>\n", styles: [".add-button{text-transform:uppercase;border-radius:0}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "component", type: DynamicTableComponent, selector: "mantle-dynamic-table", inputs: ["columns", "items", "withClickableRows"], outputs: ["rowClicked"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
4813
4813
  }
4814
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: TableFormSectionComponent, decorators: [{
4814
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TableFormSectionComponent, decorators: [{
4815
4815
  type: Component,
4816
4816
  args: [{ selector: 'mantle-table-form-section', standalone: false, template: "<mantle-section-title *ngIf=\"title\" [title]=\"title\"></mantle-section-title>\n\n<div class=\"table-section-content\">\n <button *ngIf=\"canAddRecord()\" mat-raised-button color=\"primary\" type=\"button\" class=\"add-button\" (click)=\"openFormDialog()\">\n + {{ 'mantle.buttons.add_item' | translate }}\n </button>\n\n <mantle-dynamic-table\n [columns]=\"section.elements\"\n [items]=\"form.value[section.config.attr]\"\n [withClickableRows]=\"true\"\n (rowClicked)=\"openDetailsDialog($event)\">\n </mantle-dynamic-table>\n</div>\n", styles: [".add-button{text-transform:uppercase;border-radius:0}\n"] }]
4817
4817
  }], ctorParameters: () => [{ type: i1$3.MatDialog }, { type: ArrayService }], propDecorators: { title: [{
@@ -4867,10 +4867,10 @@ class RosterShiftListFormSectionComponent {
4867
4867
  reset() {
4868
4868
  this.form.reset();
4869
4869
  }
4870
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: RosterShiftListFormSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4871
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: RosterShiftListFormSectionComponent, isStandalone: false, selector: "mantle-roster-shift-list-form-section", inputs: { title: "title", section: "section", form: "form" }, ngImport: i0, template: "<mantle-section-title *ngIf=\"title\" [title]=\"title\"></mantle-section-title>\n\n<div class=\"roster-shift-list-content\">\n <mantle-draggable-table\n [columns]=\"section.elements\"\n [items]=\"form.value[section.config.attr]\"\n [sortAttr]=\"section.options.ordinal\"\n [writable]=\"true\">\n </mantle-draggable-table>\n\n <div class=\"dropdown-add-button-section\" *ngIf=\"canAddRecord()\">\n <button mat-raised-button color=\"primary\"\n type=\"button\" class=\"add-button\"\n [matMenuTriggerFor]=\"dropdownMenu\">\n + {{ 'mantle.buttons.add_item' | translate }} \n </button>\n <mat-menu #dropdownMenu=\"matMenu\">\n <button *ngFor=\"let dropdownValue of dropdownValues\"\n mat-menu-item\n (click)=\"onAddClicked(dropdownValue.value)\">\n {{ dropdownValue.label }}\n </button>\n </mat-menu>\n </div>\n</div>\n", styles: [".add-button{text-transform:uppercase;border-radius:0}.dropdown-add-button-section{padding-top:20px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i8$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i8$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "component", type: DraggableTableComponent, selector: "mantle-draggable-table", inputs: ["columns", "items", "sortAttr", "writable"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
4870
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RosterShiftListFormSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4871
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: RosterShiftListFormSectionComponent, isStandalone: false, selector: "mantle-roster-shift-list-form-section", inputs: { title: "title", section: "section", form: "form" }, ngImport: i0, template: "<mantle-section-title *ngIf=\"title\" [title]=\"title\"></mantle-section-title>\n\n<div class=\"roster-shift-list-content\">\n <mantle-draggable-table\n [columns]=\"section.elements\"\n [items]=\"form.value[section.config.attr]\"\n [sortAttr]=\"section.options.ordinal\"\n [writable]=\"true\">\n </mantle-draggable-table>\n\n <div class=\"dropdown-add-button-section\" *ngIf=\"canAddRecord()\">\n <button mat-raised-button color=\"primary\"\n type=\"button\" class=\"add-button\"\n [matMenuTriggerFor]=\"dropdownMenu\">\n + {{ 'mantle.buttons.add_item' | translate }} \n </button>\n <mat-menu #dropdownMenu=\"matMenu\">\n <button *ngFor=\"let dropdownValue of dropdownValues\"\n mat-menu-item\n (click)=\"onAddClicked(dropdownValue.value)\">\n {{ dropdownValue.label }}\n </button>\n </mat-menu>\n </div>\n</div>\n", styles: [".add-button{text-transform:uppercase;border-radius:0}.dropdown-add-button-section{padding-top:20px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i8$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i8$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "component", type: DraggableTableComponent, selector: "mantle-draggable-table", inputs: ["columns", "items", "sortAttr", "writable"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
4872
4872
  }
4873
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: RosterShiftListFormSectionComponent, decorators: [{
4873
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RosterShiftListFormSectionComponent, decorators: [{
4874
4874
  type: Component,
4875
4875
  args: [{ selector: 'mantle-roster-shift-list-form-section', standalone: false, template: "<mantle-section-title *ngIf=\"title\" [title]=\"title\"></mantle-section-title>\n\n<div class=\"roster-shift-list-content\">\n <mantle-draggable-table\n [columns]=\"section.elements\"\n [items]=\"form.value[section.config.attr]\"\n [sortAttr]=\"section.options.ordinal\"\n [writable]=\"true\">\n </mantle-draggable-table>\n\n <div class=\"dropdown-add-button-section\" *ngIf=\"canAddRecord()\">\n <button mat-raised-button color=\"primary\"\n type=\"button\" class=\"add-button\"\n [matMenuTriggerFor]=\"dropdownMenu\">\n + {{ 'mantle.buttons.add_item' | translate }} \n </button>\n <mat-menu #dropdownMenu=\"matMenu\">\n <button *ngFor=\"let dropdownValue of dropdownValues\"\n mat-menu-item\n (click)=\"onAddClicked(dropdownValue.value)\">\n {{ dropdownValue.label }}\n </button>\n </mat-menu>\n </div>\n</div>\n", styles: [".add-button{text-transform:uppercase;border-radius:0}.dropdown-add-button-section{padding-top:20px}\n"] }]
4876
4876
  }], ctorParameters: () => [], propDecorators: { title: [{
@@ -4904,10 +4904,10 @@ class DynamicFormSectionComponent {
4904
4904
  asDetailPageService(formPageService) {
4905
4905
  return formPageService;
4906
4906
  }
4907
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicFormSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4908
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicFormSectionComponent, isStandalone: false, selector: "mantle-dynamic-form-section", inputs: { formPageService: "formPageService", section: "section", content: "content", form: "form" }, ngImport: i0, template: "<ng-container *ngIf=\"section.writable\">\n <ng-container *ngTemplateOutlet=\"dynamicFormContent; context: { form: form, section: section, content: content };\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"!section.writable\">\n <ng-container *ngTemplateOutlet=\"dynamicDetailsContent; context: { section: section, content: content };\"></ng-container>\n</ng-container>\n\n<ng-template #dynamicFormContent let-form=\"form\" let-content=\"content\" let-section=\"section\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-form-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [form]=\"form\"\n [errors]=\"content.errors || {}\">\n </mantle-grid-form-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-form-section\n [section]=\"asDynamicLayoutTableSection(section)\"\n [form]=\"form\"\n [formPageService]=\"formPageService\">\n </mantle-table-form-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'roster-shift-list'\">\n <mantle-roster-shift-list-form-section\n [section]=\"asDynamicLayoutRosterShiftListSection(section)\"\n [form]=\"form\">\n </mantle-roster-shift-list-form-section>\n </ng-container>\n\n </ng-container>\n</ng-template>\n\n<ng-template #dynamicDetailsContent let-content=\"content\" let-section=\"section\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-details-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [data]=\"content.data\">\n </mantle-grid-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-details-section\n [section]=\"asDynamicLayoutTableSection(section)\"\n [data]=\"content.data\"\n [detailPageService]=\"asDetailPageService(formPageService)\">\n </mantle-table-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dashboard'\">\n <mantle-dashboard-section\n [slug]=\"section.slug\"\n [section]=\"asDynamicLayoutDashboardSection(section)\"\n [data]=\"content.data\"\n [dashboardPageService]=\"asDashboardPageService(formPageService)\">\n </mantle-dashboard-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'markdown'\">\n <mantle-markdown-details-section\n [section]=\"asDynamicLayoutMarkdownSection(section)\">\n </mantle-markdown-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'roster-shift-list'\">\n <mantle-roster-shift-list-details-section\n [section]=\"asDynamicLayoutRosterShiftListSection(section)\"\n [data]=\"content.data\">\n </mantle-roster-shift-list-details-section>\n </ng-container>\n\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: GridDetailsSectionComponent, selector: "mantle-grid-details-section", inputs: ["data", "section", "defaultRowHeight"] }, { kind: "component", type: TableDetailsSectionComponent, selector: "mantle-table-details-section", inputs: ["data", "section", "detailPageService"] }, { kind: "component", type: RosterShiftListDetailsSectionComponent, selector: "mantle-roster-shift-list-details-section", inputs: ["data", "section"] }, { kind: "component", type: GridFormSectionComponent, selector: "mantle-grid-form-section", inputs: ["title", "section", "form", "errors", "defaultRowHeight"] }, { kind: "component", type: TableFormSectionComponent, selector: "mantle-table-form-section", inputs: ["title", "section", "form", "formPageService"] }, { kind: "component", type: RosterShiftListFormSectionComponent, selector: "mantle-roster-shift-list-form-section", inputs: ["title", "section", "form"] }, { kind: "component", type: DashboardSectionComponent, selector: "mantle-dashboard-section", inputs: ["dashboardPageService", "slug", "data", "section", "searchValues"] }, { kind: "component", type: MarkdownDetailsSectionComponent, selector: "mantle-markdown-details-section", inputs: ["section"] }] }); }
4907
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicFormSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4908
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicFormSectionComponent, isStandalone: false, selector: "mantle-dynamic-form-section", inputs: { formPageService: "formPageService", section: "section", content: "content", form: "form" }, ngImport: i0, template: "<ng-container *ngIf=\"section.writable\">\n <ng-container *ngTemplateOutlet=\"dynamicFormContent; context: { form: form, section: section, content: content };\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"!section.writable\">\n <ng-container *ngTemplateOutlet=\"dynamicDetailsContent; context: { section: section, content: content };\"></ng-container>\n</ng-container>\n\n<ng-template #dynamicFormContent let-form=\"form\" let-content=\"content\" let-section=\"section\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-form-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [form]=\"form\"\n [errors]=\"content.errors || {}\">\n </mantle-grid-form-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-form-section\n [section]=\"asDynamicLayoutTableSection(section)\"\n [form]=\"form\"\n [formPageService]=\"formPageService\">\n </mantle-table-form-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'roster-shift-list'\">\n <mantle-roster-shift-list-form-section\n [section]=\"asDynamicLayoutRosterShiftListSection(section)\"\n [form]=\"form\">\n </mantle-roster-shift-list-form-section>\n </ng-container>\n\n </ng-container>\n</ng-template>\n\n<ng-template #dynamicDetailsContent let-content=\"content\" let-section=\"section\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-details-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [data]=\"content.data\">\n </mantle-grid-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-details-section\n [section]=\"asDynamicLayoutTableSection(section)\"\n [data]=\"content.data\"\n [detailPageService]=\"asDetailPageService(formPageService)\">\n </mantle-table-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dashboard'\">\n <mantle-dashboard-section\n [slug]=\"section.slug\"\n [section]=\"asDynamicLayoutDashboardSection(section)\"\n [data]=\"content.data\"\n [dashboardPageService]=\"asDashboardPageService(formPageService)\">\n </mantle-dashboard-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'markdown'\">\n <mantle-markdown-details-section\n [section]=\"asDynamicLayoutMarkdownSection(section)\">\n </mantle-markdown-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'roster-shift-list'\">\n <mantle-roster-shift-list-details-section\n [section]=\"asDynamicLayoutRosterShiftListSection(section)\"\n [data]=\"content.data\">\n </mantle-roster-shift-list-details-section>\n </ng-container>\n\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: GridDetailsSectionComponent, selector: "mantle-grid-details-section", inputs: ["data", "section", "defaultRowHeight"] }, { kind: "component", type: TableDetailsSectionComponent, selector: "mantle-table-details-section", inputs: ["data", "section", "detailPageService"] }, { kind: "component", type: RosterShiftListDetailsSectionComponent, selector: "mantle-roster-shift-list-details-section", inputs: ["data", "section"] }, { kind: "component", type: GridFormSectionComponent, selector: "mantle-grid-form-section", inputs: ["title", "section", "form", "errors", "defaultRowHeight"] }, { kind: "component", type: TableFormSectionComponent, selector: "mantle-table-form-section", inputs: ["title", "section", "form", "formPageService"] }, { kind: "component", type: RosterShiftListFormSectionComponent, selector: "mantle-roster-shift-list-form-section", inputs: ["title", "section", "form"] }, { kind: "component", type: DashboardSectionComponent, selector: "mantle-dashboard-section", inputs: ["dashboardPageService", "slug", "data", "section", "searchValues"] }, { kind: "component", type: MarkdownDetailsSectionComponent, selector: "mantle-markdown-details-section", inputs: ["section"] }] }); }
4909
4909
  }
4910
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicFormSectionComponent, decorators: [{
4910
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicFormSectionComponent, decorators: [{
4911
4911
  type: Component,
4912
4912
  args: [{ selector: 'mantle-dynamic-form-section', standalone: false, template: "<ng-container *ngIf=\"section.writable\">\n <ng-container *ngTemplateOutlet=\"dynamicFormContent; context: { form: form, section: section, content: content };\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"!section.writable\">\n <ng-container *ngTemplateOutlet=\"dynamicDetailsContent; context: { section: section, content: content };\"></ng-container>\n</ng-container>\n\n<ng-template #dynamicFormContent let-form=\"form\" let-content=\"content\" let-section=\"section\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-form-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [form]=\"form\"\n [errors]=\"content.errors || {}\">\n </mantle-grid-form-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-form-section\n [section]=\"asDynamicLayoutTableSection(section)\"\n [form]=\"form\"\n [formPageService]=\"formPageService\">\n </mantle-table-form-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'roster-shift-list'\">\n <mantle-roster-shift-list-form-section\n [section]=\"asDynamicLayoutRosterShiftListSection(section)\"\n [form]=\"form\">\n </mantle-roster-shift-list-form-section>\n </ng-container>\n\n </ng-container>\n</ng-template>\n\n<ng-template #dynamicDetailsContent let-content=\"content\" let-section=\"section\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-details-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [data]=\"content.data\">\n </mantle-grid-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-details-section\n [section]=\"asDynamicLayoutTableSection(section)\"\n [data]=\"content.data\"\n [detailPageService]=\"asDetailPageService(formPageService)\">\n </mantle-table-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dashboard'\">\n <mantle-dashboard-section\n [slug]=\"section.slug\"\n [section]=\"asDynamicLayoutDashboardSection(section)\"\n [data]=\"content.data\"\n [dashboardPageService]=\"asDashboardPageService(formPageService)\">\n </mantle-dashboard-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'markdown'\">\n <mantle-markdown-details-section\n [section]=\"asDynamicLayoutMarkdownSection(section)\">\n </mantle-markdown-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'roster-shift-list'\">\n <mantle-roster-shift-list-details-section\n [section]=\"asDynamicLayoutRosterShiftListSection(section)\"\n [data]=\"content.data\">\n </mantle-roster-shift-list-details-section>\n </ng-container>\n\n </ng-container>\n</ng-template>\n" }]
4913
4913
  }], ctorParameters: () => [], propDecorators: { formPageService: [{
@@ -4922,10 +4922,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
4922
4922
 
4923
4923
  class PlainFormContainerComponent {
4924
4924
  constructor() { }
4925
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PlainFormContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4926
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: PlainFormContainerComponent, isStandalone: false, selector: "mantle-plain-form-container", inputs: { formPageService: "formPageService", content: "content", container: "container", form: "form" }, ngImport: i0, template: "<div class=\"dynamic-form plain\">\n <ng-container *ngFor=\"let section of container.sections\">\n <div *ngIf=\"!section.hidden\" class=\"dynamic-form-section\">\n <mantle-section-title *ngIf=\"section.title\" [title]=\"section.title\"></mantle-section-title>\n <mantle-dynamic-form-section [formPageService]=\"formPageService\" [section]=\"section\" [content]=\"content\" [form]=\"form\">\n </mantle-dynamic-form-section>\n </div>\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "component", type: DynamicFormSectionComponent, selector: "mantle-dynamic-form-section", inputs: ["formPageService", "section", "content", "form"] }] }); }
4925
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PlainFormContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4926
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: PlainFormContainerComponent, isStandalone: false, selector: "mantle-plain-form-container", inputs: { formPageService: "formPageService", content: "content", container: "container", form: "form" }, ngImport: i0, template: "<div class=\"dynamic-form plain\">\n <ng-container *ngFor=\"let section of container.sections\">\n <div *ngIf=\"!section.hidden\" class=\"dynamic-form-section\">\n <mantle-section-title *ngIf=\"section.title\" [title]=\"section.title\"></mantle-section-title>\n <mantle-dynamic-form-section [formPageService]=\"formPageService\" [section]=\"section\" [content]=\"content\" [form]=\"form\">\n </mantle-dynamic-form-section>\n </div>\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "component", type: DynamicFormSectionComponent, selector: "mantle-dynamic-form-section", inputs: ["formPageService", "section", "content", "form"] }] }); }
4927
4927
  }
4928
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PlainFormContainerComponent, decorators: [{
4928
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PlainFormContainerComponent, decorators: [{
4929
4929
  type: Component,
4930
4930
  args: [{ selector: 'mantle-plain-form-container', standalone: false, template: "<div class=\"dynamic-form plain\">\n <ng-container *ngFor=\"let section of container.sections\">\n <div *ngIf=\"!section.hidden\" class=\"dynamic-form-section\">\n <mantle-section-title *ngIf=\"section.title\" [title]=\"section.title\"></mantle-section-title>\n <mantle-dynamic-form-section [formPageService]=\"formPageService\" [section]=\"section\" [content]=\"content\" [form]=\"form\">\n </mantle-dynamic-form-section>\n </div>\n </ng-container>\n</div>\n" }]
4931
4931
  }], ctorParameters: () => [], propDecorators: { formPageService: [{
@@ -4940,10 +4940,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
4940
4940
 
4941
4941
  class AccordionFormContainerComponent {
4942
4942
  constructor() { }
4943
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AccordionFormContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4944
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: AccordionFormContainerComponent, isStandalone: false, selector: "mantle-accordion-form-container", inputs: { formPageService: "formPageService", content: "content", container: "container", form: "form" }, ngImport: i0, template: "<mat-accordion multi class=\"dynamic-form accordion\">\n <ng-container *ngFor=\"let section of container.sections\">\n <mat-expansion-panel *ngIf=\"!section.hidden\" [expanded]=\"!section.collapsed\" class=\"dynamic-form-section\">\n <mat-expansion-panel-header>\n <mat-panel-title *ngIf=\"section.title\">\n <div class=\"title-wrapper\">\n <h4>{{ section.title }}</h4>\n <mat-divider></mat-divider>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <mantle-dynamic-form-section [formPageService]=\"formPageService\" [section]=\"section\" [content]=\"content\" [form]=\"form\">\n </mantle-dynamic-form-section>\n </mat-expansion-panel>\n </ng-container>\n</mat-accordion>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i2$2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i2$2.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i2$2.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: i3$5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: DynamicFormSectionComponent, selector: "mantle-dynamic-form-section", inputs: ["formPageService", "section", "content", "form"] }] }); }
4943
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AccordionFormContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4944
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: AccordionFormContainerComponent, isStandalone: false, selector: "mantle-accordion-form-container", inputs: { formPageService: "formPageService", content: "content", container: "container", form: "form" }, ngImport: i0, template: "<mat-accordion multi class=\"dynamic-form accordion\">\n <ng-container *ngFor=\"let section of container.sections\">\n <mat-expansion-panel *ngIf=\"!section.hidden\" [expanded]=\"!section.collapsed\" class=\"dynamic-form-section\">\n <mat-expansion-panel-header>\n <mat-panel-title *ngIf=\"section.title\">\n <div class=\"title-wrapper\">\n <h4>{{ section.title }}</h4>\n <mat-divider></mat-divider>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <mantle-dynamic-form-section [formPageService]=\"formPageService\" [section]=\"section\" [content]=\"content\" [form]=\"form\">\n </mantle-dynamic-form-section>\n </mat-expansion-panel>\n </ng-container>\n</mat-accordion>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i2$2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i2$2.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i2$2.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: i3$5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: DynamicFormSectionComponent, selector: "mantle-dynamic-form-section", inputs: ["formPageService", "section", "content", "form"] }] }); }
4945
4945
  }
4946
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AccordionFormContainerComponent, decorators: [{
4946
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AccordionFormContainerComponent, decorators: [{
4947
4947
  type: Component,
4948
4948
  args: [{ selector: 'mantle-accordion-form-container', standalone: false, template: "<mat-accordion multi class=\"dynamic-form accordion\">\n <ng-container *ngFor=\"let section of container.sections\">\n <mat-expansion-panel *ngIf=\"!section.hidden\" [expanded]=\"!section.collapsed\" class=\"dynamic-form-section\">\n <mat-expansion-panel-header>\n <mat-panel-title *ngIf=\"section.title\">\n <div class=\"title-wrapper\">\n <h4>{{ section.title }}</h4>\n <mat-divider></mat-divider>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <mantle-dynamic-form-section [formPageService]=\"formPageService\" [section]=\"section\" [content]=\"content\" [form]=\"form\">\n </mantle-dynamic-form-section>\n </mat-expansion-panel>\n </ng-container>\n</mat-accordion>\n" }]
4949
4949
  }], ctorParameters: () => [], propDecorators: { formPageService: [{
@@ -4958,10 +4958,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
4958
4958
 
4959
4959
  class DynamicFormContainerComponent {
4960
4960
  constructor() { }
4961
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicFormContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4962
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicFormContainerComponent, isStandalone: false, selector: "mantle-dynamic-form-container", inputs: { formPageService: "formPageService", content: "content", container: "container", form: "form" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"container.container_style\">\n\n <ng-container *ngSwitchCase=\"'plain'\">\n <mantle-plain-form-container [formPageService]=\"formPageService\" [container]=\"container\" [content]=\"content\" [form]=\"form\">\n </mantle-plain-form-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'accordion'\">\n <mantle-accordion-form-container [formPageService]=\"formPageService\" [container]=\"container\" [content]=\"content\" [form]=\"form\">\n </mantle-accordion-form-container>\n </ng-container>\n\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: PlainFormContainerComponent, selector: "mantle-plain-form-container", inputs: ["formPageService", "content", "container", "form"] }, { kind: "component", type: AccordionFormContainerComponent, selector: "mantle-accordion-form-container", inputs: ["formPageService", "content", "container", "form"] }] }); }
4961
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicFormContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4962
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicFormContainerComponent, isStandalone: false, selector: "mantle-dynamic-form-container", inputs: { formPageService: "formPageService", content: "content", container: "container", form: "form" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"container.container_style\">\n\n <ng-container *ngSwitchCase=\"'plain'\">\n <mantle-plain-form-container [formPageService]=\"formPageService\" [container]=\"container\" [content]=\"content\" [form]=\"form\">\n </mantle-plain-form-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'accordion'\">\n <mantle-accordion-form-container [formPageService]=\"formPageService\" [container]=\"container\" [content]=\"content\" [form]=\"form\">\n </mantle-accordion-form-container>\n </ng-container>\n\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: PlainFormContainerComponent, selector: "mantle-plain-form-container", inputs: ["formPageService", "content", "container", "form"] }, { kind: "component", type: AccordionFormContainerComponent, selector: "mantle-accordion-form-container", inputs: ["formPageService", "content", "container", "form"] }] }); }
4963
4963
  }
4964
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicFormContainerComponent, decorators: [{
4964
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicFormContainerComponent, decorators: [{
4965
4965
  type: Component,
4966
4966
  args: [{ selector: 'mantle-dynamic-form-container', standalone: false, template: "<ng-container [ngSwitch]=\"container.container_style\">\n\n <ng-container *ngSwitchCase=\"'plain'\">\n <mantle-plain-form-container [formPageService]=\"formPageService\" [container]=\"container\" [content]=\"content\" [form]=\"form\">\n </mantle-plain-form-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'accordion'\">\n <mantle-accordion-form-container [formPageService]=\"formPageService\" [container]=\"container\" [content]=\"content\" [form]=\"form\">\n </mantle-accordion-form-container>\n </ng-container>\n\n</ng-container>\n" }]
4967
4967
  }], ctorParameters: () => [], propDecorators: { formPageService: [{
@@ -5005,10 +5005,10 @@ class DynamicFormComponent {
5005
5005
  reset() {
5006
5006
  this.form.reset();
5007
5007
  }
5008
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicFormComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: DynamicFormService }], target: i0.ɵɵFactoryTarget.Component }); }
5009
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicFormComponent, isStandalone: false, selector: "mantle-dynamic-form", inputs: { formPageService: "formPageService", content: "content" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"content; else loader\">\n <ng-container *ngFor=\"let container of content.containers\">\n <mantle-dynamic-form-container [formPageService]=\"formPageService\" [container]=\"container\" [content]=\"content\" [form]=\"form\">\n </mantle-dynamic-form-container>\n </ng-container>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoaderComponent, selector: "mantle-loader", inputs: ["delay"] }, { kind: "component", type: DynamicFormContainerComponent, selector: "mantle-dynamic-form-container", inputs: ["formPageService", "content", "container", "form"] }] }); }
5008
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicFormComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: DynamicFormService }], target: i0.ɵɵFactoryTarget.Component }); }
5009
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicFormComponent, isStandalone: false, selector: "mantle-dynamic-form", inputs: { formPageService: "formPageService", content: "content" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"content; else loader\">\n <ng-container *ngFor=\"let container of content.containers\">\n <mantle-dynamic-form-container [formPageService]=\"formPageService\" [container]=\"container\" [content]=\"content\" [form]=\"form\">\n </mantle-dynamic-form-container>\n </ng-container>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoaderComponent, selector: "mantle-loader", inputs: ["delay"] }, { kind: "component", type: DynamicFormContainerComponent, selector: "mantle-dynamic-form-container", inputs: ["formPageService", "content", "container", "form"] }] }); }
5010
5010
  }
5011
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicFormComponent, decorators: [{
5011
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicFormComponent, decorators: [{
5012
5012
  type: Component,
5013
5013
  args: [{ selector: 'mantle-dynamic-form', standalone: false, template: "<ng-container *ngIf=\"content; else loader\">\n <ng-container *ngFor=\"let container of content.containers\">\n <mantle-dynamic-form-container [formPageService]=\"formPageService\" [container]=\"container\" [content]=\"content\" [form]=\"form\">\n </mantle-dynamic-form-container>\n </ng-container>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n" }]
5014
5014
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: DynamicFormService }], propDecorators: { formPageService: [{
@@ -5037,10 +5037,10 @@ class SnackbarComponent {
5037
5037
  close() {
5038
5038
  this.snackbarRef.dismiss();
5039
5039
  }
5040
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SnackbarComponent, deps: [{ token: MAT_SNACK_BAR_DATA }, { token: i1$8.MatSnackBarRef }], target: i0.ɵɵFactoryTarget.Component }); }
5041
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: SnackbarComponent, isStandalone: false, selector: "mantle-snackbar", ngImport: i0, template: "<div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"8px\" class=\"snack-container\">\n <div fxFlex=\"0 0 auto\">\n <mat-icon class=\"large-icon\">{{ icon }}</mat-icon>\n </div>\n <div fxFlex=\"1 0 1px\">\n <span>{{ data.message | translate }}</span>\n </div>\n <div fxFlex=\"0 0 auto\">\n <button mat-icon-button (click)=\"close()\"><mat-icon>done</mat-icon></button>\n </div>\n</div>\n", styles: [".large-icon{width:32px;height:32px;font-size:32px}\n"], dependencies: [{ kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
5040
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SnackbarComponent, deps: [{ token: MAT_SNACK_BAR_DATA }, { token: i1$8.MatSnackBarRef }], target: i0.ɵɵFactoryTarget.Component }); }
5041
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: SnackbarComponent, isStandalone: false, selector: "mantle-snackbar", ngImport: i0, template: "<div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"8px\" class=\"snack-container\">\n <div fxFlex=\"0 0 auto\">\n <mat-icon class=\"large-icon\">{{ icon }}</mat-icon>\n </div>\n <div fxFlex=\"1 0 1px\">\n <span>{{ data.message | translate }}</span>\n </div>\n <div fxFlex=\"0 0 auto\">\n <button mat-icon-button (click)=\"close()\"><mat-icon>done</mat-icon></button>\n </div>\n</div>\n", styles: [".large-icon{width:32px;height:32px;font-size:32px}\n"], dependencies: [{ kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
5042
5042
  }
5043
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SnackbarComponent, decorators: [{
5043
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SnackbarComponent, decorators: [{
5044
5044
  type: Component,
5045
5045
  args: [{ selector: 'mantle-snackbar', standalone: false, template: "<div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"8px\" class=\"snack-container\">\n <div fxFlex=\"0 0 auto\">\n <mat-icon class=\"large-icon\">{{ icon }}</mat-icon>\n </div>\n <div fxFlex=\"1 0 1px\">\n <span>{{ data.message | translate }}</span>\n </div>\n <div fxFlex=\"0 0 auto\">\n <button mat-icon-button (click)=\"close()\"><mat-icon>done</mat-icon></button>\n </div>\n</div>\n", styles: [".large-icon{width:32px;height:32px;font-size:32px}\n"] }]
5046
5046
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -5076,10 +5076,10 @@ class AnnouncementService {
5076
5076
  horizontalPosition: 'center'
5077
5077
  });
5078
5078
  }
5079
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AnnouncementService, deps: [{ token: i1$8.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
5080
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AnnouncementService, providedIn: 'root' }); }
5079
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AnnouncementService, deps: [{ token: i1$8.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
5080
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AnnouncementService, providedIn: 'root' }); }
5081
5081
  }
5082
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AnnouncementService, decorators: [{
5082
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AnnouncementService, decorators: [{
5083
5083
  type: Injectable,
5084
5084
  args: [{
5085
5085
  providedIn: 'root'
@@ -5151,10 +5151,10 @@ class DialogFormComponent {
5151
5151
  close(result = false) {
5152
5152
  this.dialogRef.close(result);
5153
5153
  }
5154
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DialogFormComponent, deps: [{ token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i0.ChangeDetectorRef }, { token: AnnouncementService }, { token: ObjectService }], target: i0.ɵɵFactoryTarget.Component }); }
5155
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DialogFormComponent, isStandalone: false, selector: "mantle-dialog-form", viewQueries: [{ propertyName: "dynamicForm", first: true, predicate: DynamicFormComponent, descendants: true }], ngImport: i0, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" [title]=\"title\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancelClicked()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n <mantle-dynamic-form #dynamicForm [content]=\"content$ | async\"></mantle-dynamic-form>\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" class=\"actions-section\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"!!id && formPageService.showDeleteButtonInForm\">\n <button mat-button\n *ngIf=\"!isDeleteInProgress\"\n color=\"warn\"\n type=\"button\"\n class=\"delete-button\"\n (click)=\"onDeleteClicked()\">\n {{ 'mantle.buttons.delete' | translate }}\n </button>\n\n <button mat-raised-button\n *ngIf=\"isDeleteInProgress\"\n color=\"warn\"\n type=\"button\"\n class=\"button-with-spinner deleting-button\"\n [disabled]=\"true\">\n {{ 'mantle.buttons.deleting' | translate }}\n <mat-spinner [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <button mat-raised-button\n *ngIf=\"!isSaveInProgress\"\n color=\"primary\"\n type=\"button\"\n class=\"save-button\"\n (click)=\"onSaveClicked()\"\n [disabled]=\"!dynamicForm?.valid\">\n {{ 'mantle.buttons.save' | translate }}\n </button>\n\n <button mat-raised-button\n *ngIf=\"isSaveInProgress\"\n color=\"primary\"\n type=\"button\"\n class=\"button-with-spinner saving-button\"\n (click)=\"onSaveClicked()\"\n [disabled]=\"true\">\n {{ 'mantle.buttons.saving' | translate }}\n <mat-spinner [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n</mat-dialog-actions>\n", styles: [".save-button,.saving-button{width:140px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: DynamicFormComponent, selector: "mantle-dynamic-form", inputs: ["formPageService", "content"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
5154
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DialogFormComponent, deps: [{ token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i0.ChangeDetectorRef }, { token: AnnouncementService }, { token: ObjectService }], target: i0.ɵɵFactoryTarget.Component }); }
5155
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DialogFormComponent, isStandalone: false, selector: "mantle-dialog-form", viewQueries: [{ propertyName: "dynamicForm", first: true, predicate: DynamicFormComponent, descendants: true }], ngImport: i0, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" [title]=\"title\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancelClicked()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n <mantle-dynamic-form #dynamicForm [content]=\"content$ | async\"></mantle-dynamic-form>\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" class=\"actions-section\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"!!id && formPageService.showDeleteButtonInForm\">\n <button mat-button\n *ngIf=\"!isDeleteInProgress\"\n color=\"warn\"\n type=\"button\"\n class=\"delete-button\"\n (click)=\"onDeleteClicked()\">\n {{ 'mantle.buttons.delete' | translate }}\n </button>\n\n <button mat-raised-button\n *ngIf=\"isDeleteInProgress\"\n color=\"warn\"\n type=\"button\"\n class=\"button-with-spinner deleting-button\"\n [disabled]=\"true\">\n {{ 'mantle.buttons.deleting' | translate }}\n <mat-spinner [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <button mat-raised-button\n *ngIf=\"!isSaveInProgress\"\n color=\"primary\"\n type=\"button\"\n class=\"save-button\"\n (click)=\"onSaveClicked()\"\n [disabled]=\"!dynamicForm?.valid\">\n {{ 'mantle.buttons.save' | translate }}\n </button>\n\n <button mat-raised-button\n *ngIf=\"isSaveInProgress\"\n color=\"primary\"\n type=\"button\"\n class=\"button-with-spinner saving-button\"\n (click)=\"onSaveClicked()\"\n [disabled]=\"true\">\n {{ 'mantle.buttons.saving' | translate }}\n <mat-spinner [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n</mat-dialog-actions>\n", styles: [".save-button,.saving-button{width:140px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: DynamicFormComponent, selector: "mantle-dynamic-form", inputs: ["formPageService", "content"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
5156
5156
  }
5157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DialogFormComponent, decorators: [{
5157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DialogFormComponent, decorators: [{
5158
5158
  type: Component,
5159
5159
  args: [{ selector: 'mantle-dialog-form', standalone: false, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" [title]=\"title\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancelClicked()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n <mantle-dynamic-form #dynamicForm [content]=\"content$ | async\"></mantle-dynamic-form>\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" class=\"actions-section\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"!!id && formPageService.showDeleteButtonInForm\">\n <button mat-button\n *ngIf=\"!isDeleteInProgress\"\n color=\"warn\"\n type=\"button\"\n class=\"delete-button\"\n (click)=\"onDeleteClicked()\">\n {{ 'mantle.buttons.delete' | translate }}\n </button>\n\n <button mat-raised-button\n *ngIf=\"isDeleteInProgress\"\n color=\"warn\"\n type=\"button\"\n class=\"button-with-spinner deleting-button\"\n [disabled]=\"true\">\n {{ 'mantle.buttons.deleting' | translate }}\n <mat-spinner [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <button mat-raised-button\n *ngIf=\"!isSaveInProgress\"\n color=\"primary\"\n type=\"button\"\n class=\"save-button\"\n (click)=\"onSaveClicked()\"\n [disabled]=\"!dynamicForm?.valid\">\n {{ 'mantle.buttons.save' | translate }}\n </button>\n\n <button mat-raised-button\n *ngIf=\"isSaveInProgress\"\n color=\"primary\"\n type=\"button\"\n class=\"button-with-spinner saving-button\"\n (click)=\"onSaveClicked()\"\n [disabled]=\"true\">\n {{ 'mantle.buttons.saving' | translate }}\n <mat-spinner [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n</mat-dialog-actions>\n", styles: [".save-button,.saving-button{width:140px}\n"] }]
5160
5160
  }], ctorParameters: () => [{ type: i1$3.MatDialogRef }, { type: undefined, decorators: [{
@@ -5215,10 +5215,10 @@ class LayoutEditorFieldElementComponent {
5215
5215
  onDeleteElementClicked() {
5216
5216
  this.element._destroy = true;
5217
5217
  }
5218
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LayoutEditorFieldElementComponent, deps: [{ token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
5219
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: LayoutEditorFieldElementComponent, isStandalone: false, selector: "mantle-layout-editor-field-element", inputs: { element: "element", showControls: "showControls" }, ngImport: i0, template: "<mat-card>\n <div class=\"element-content\" fxLayout=\"column\" fxLayoutAlign=\"stretch\">\n\n <div fxFlex=\"0 0 40px\">\n <div *ngIf=\"showControls\" fxLayout=\"row\" fxLayoutAlign=\"center start\" class=\"element-controls\">\n <div fxFlex=\"0 0 auto\">\n <button mat-icon-button\n type=\"button\">\n <mat-icon>drag_indicator</mat-icon>\n </button>\n </div>\n <div fxFlex=\"1 1 auto\"></div>\n <div *ngIf=\"element.user_specified\" fxFlex=\"0 0 auto\">\n <button mat-icon-button\n color=\"primary\"\n type=\"button\"\n (click)=\"onEditElementClicked()\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n <div *ngIf=\"element.user_specified\" fxFlex=\"0 0 auto\">\n <button mat-icon-button\n color=\"warn\"\n type=\"button\"\n (click)=\"onDeleteElementClicked()\">\n <mat-icon>delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 0\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <h4 class=\"label\">{{ element.label }}</h4>\n </div>\n\n <div fxFlex=\"1 0 0\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <h5 class=\"properties\"><b>{{ '{' }}</b> {{ element.attr_type }} <b>{{ '}' }}</b></h5>\n </div>\n\n </div>\n</mat-card>\n", styles: [".mat-mdc-card{height:100px;padding:8px}.mat-mdc-card .element-content{height:100%}.mat-mdc-card .element-content .label{width:100%;margin-bottom:0;text-align:center;font-weight:700}.mat-mdc-card .element-content .properties{width:100%;margin-bottom:0;text-align:right}.mat-mdc-card .element-content .element-controls .mat-icon{font-size:20px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
5218
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LayoutEditorFieldElementComponent, deps: [{ token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
5219
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: LayoutEditorFieldElementComponent, isStandalone: false, selector: "mantle-layout-editor-field-element", inputs: { element: "element", showControls: "showControls" }, ngImport: i0, template: "<mat-card>\n <div class=\"element-content\" fxLayout=\"column\" fxLayoutAlign=\"stretch\">\n\n <div fxFlex=\"0 0 40px\">\n <div *ngIf=\"showControls\" fxLayout=\"row\" fxLayoutAlign=\"center start\" class=\"element-controls\">\n <div fxFlex=\"0 0 auto\">\n <button mat-icon-button\n type=\"button\">\n <mat-icon>drag_indicator</mat-icon>\n </button>\n </div>\n <div fxFlex=\"1 1 auto\"></div>\n <div *ngIf=\"element.user_specified\" fxFlex=\"0 0 auto\">\n <button mat-icon-button\n color=\"primary\"\n type=\"button\"\n (click)=\"onEditElementClicked()\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n <div *ngIf=\"element.user_specified\" fxFlex=\"0 0 auto\">\n <button mat-icon-button\n color=\"warn\"\n type=\"button\"\n (click)=\"onDeleteElementClicked()\">\n <mat-icon>delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 0\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <h4 class=\"label\">{{ element.label }}</h4>\n </div>\n\n <div fxFlex=\"1 0 0\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <h5 class=\"properties\"><b>{{ '{' }}</b> {{ element.attr_type }} <b>{{ '}' }}</b></h5>\n </div>\n\n </div>\n</mat-card>\n", styles: [".mat-mdc-card{height:100px;padding:8px}.mat-mdc-card .element-content{height:100%}.mat-mdc-card .element-content .label{width:100%;margin-bottom:0;text-align:center;font-weight:700}.mat-mdc-card .element-content .properties{width:100%;margin-bottom:0;text-align:right}.mat-mdc-card .element-content .element-controls .mat-icon{font-size:20px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
5220
5220
  }
5221
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LayoutEditorFieldElementComponent, decorators: [{
5221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LayoutEditorFieldElementComponent, decorators: [{
5222
5222
  type: Component,
5223
5223
  args: [{ selector: 'mantle-layout-editor-field-element', standalone: false, template: "<mat-card>\n <div class=\"element-content\" fxLayout=\"column\" fxLayoutAlign=\"stretch\">\n\n <div fxFlex=\"0 0 40px\">\n <div *ngIf=\"showControls\" fxLayout=\"row\" fxLayoutAlign=\"center start\" class=\"element-controls\">\n <div fxFlex=\"0 0 auto\">\n <button mat-icon-button\n type=\"button\">\n <mat-icon>drag_indicator</mat-icon>\n </button>\n </div>\n <div fxFlex=\"1 1 auto\"></div>\n <div *ngIf=\"element.user_specified\" fxFlex=\"0 0 auto\">\n <button mat-icon-button\n color=\"primary\"\n type=\"button\"\n (click)=\"onEditElementClicked()\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n <div *ngIf=\"element.user_specified\" fxFlex=\"0 0 auto\">\n <button mat-icon-button\n color=\"warn\"\n type=\"button\"\n (click)=\"onDeleteElementClicked()\">\n <mat-icon>delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 0\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <h4 class=\"label\">{{ element.label }}</h4>\n </div>\n\n <div fxFlex=\"1 0 0\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <h5 class=\"properties\"><b>{{ '{' }}</b> {{ element.attr_type }} <b>{{ '}' }}</b></h5>\n </div>\n\n </div>\n</mat-card>\n", styles: [".mat-mdc-card{height:100px;padding:8px}.mat-mdc-card .element-content{height:100%}.mat-mdc-card .element-content .label{width:100%;margin-bottom:0;text-align:center;font-weight:700}.mat-mdc-card .element-content .properties{width:100%;margin-bottom:0;text-align:right}.mat-mdc-card .element-content .element-controls .mat-icon{font-size:20px}\n"] }]
5224
5224
  }], ctorParameters: () => [{ type: i1$3.MatDialog }], propDecorators: { element: [{
@@ -5277,10 +5277,10 @@ class LayoutEditorTableColumnElementComponent {
5277
5277
  onDeleteElementClicked() {
5278
5278
  this.element._destroy = true;
5279
5279
  }
5280
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LayoutEditorTableColumnElementComponent, deps: [{ token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
5281
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: LayoutEditorTableColumnElementComponent, isStandalone: false, selector: "mantle-layout-editor-table-column-element", inputs: { element: "element", showControls: "showControls" }, ngImport: i0, template: "<mat-card>\n <div class=\"element-content\" fxLayout=\"column\" fxLayoutAlign=\"stretch\">\n\n <div fxFlex=\"0 0 40px\">\n <div *ngIf=\"showControls\" fxLayout=\"row\" fxLayoutAlign=\"center start\" class=\"element-controls\">\n <div fxFlex=\"0 0 auto\">\n <button mat-icon-button\n type=\"button\">\n <mat-icon>drag_indicator</mat-icon>\n </button>\n </div>\n <div fxFlex=\"1 1 auto\"></div>\n <div *ngIf=\"element.user_specified\" fxFlex=\"0 0 auto\">\n <button mat-icon-button\n color=\"primary\"\n type=\"button\"\n (click)=\"onEditElementClicked()\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n <div *ngIf=\"element.user_specified\" fxFlex=\"0 0 auto\">\n <button mat-icon-button\n color=\"warn\"\n type=\"button\"\n (click)=\"onDeleteElementClicked()\">\n <mat-icon>delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 0\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <h4 class=\"label\">{{ element.label }}</h4>\n </div>\n\n <div fxFlex=\"1 0 0\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <h5 class=\"properties\"><b>{{ '{' }}</b> {{ element.attr_type }} <b>{{ '}' }}</b></h5>\n </div>\n\n </div>\n</mat-card>\n", styles: [".mat-mdc-card{height:100px;padding:8px}.mat-mdc-card .element-content{height:100%}.mat-mdc-card .element-content .label{width:100%;margin-bottom:0;text-align:center;font-weight:700}.mat-mdc-card .element-content .properties{width:100%;margin-bottom:0;text-align:right}.mat-mdc-card .element-content .element-controls .mat-icon{font-size:20px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
5280
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LayoutEditorTableColumnElementComponent, deps: [{ token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
5281
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: LayoutEditorTableColumnElementComponent, isStandalone: false, selector: "mantle-layout-editor-table-column-element", inputs: { element: "element", showControls: "showControls" }, ngImport: i0, template: "<mat-card>\n <div class=\"element-content\" fxLayout=\"column\" fxLayoutAlign=\"stretch\">\n\n <div fxFlex=\"0 0 40px\">\n <div *ngIf=\"showControls\" fxLayout=\"row\" fxLayoutAlign=\"center start\" class=\"element-controls\">\n <div fxFlex=\"0 0 auto\">\n <button mat-icon-button\n type=\"button\">\n <mat-icon>drag_indicator</mat-icon>\n </button>\n </div>\n <div fxFlex=\"1 1 auto\"></div>\n <div *ngIf=\"element.user_specified\" fxFlex=\"0 0 auto\">\n <button mat-icon-button\n color=\"primary\"\n type=\"button\"\n (click)=\"onEditElementClicked()\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n <div *ngIf=\"element.user_specified\" fxFlex=\"0 0 auto\">\n <button mat-icon-button\n color=\"warn\"\n type=\"button\"\n (click)=\"onDeleteElementClicked()\">\n <mat-icon>delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 0\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <h4 class=\"label\">{{ element.label }}</h4>\n </div>\n\n <div fxFlex=\"1 0 0\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <h5 class=\"properties\"><b>{{ '{' }}</b> {{ element.attr_type }} <b>{{ '}' }}</b></h5>\n </div>\n\n </div>\n</mat-card>\n", styles: [".mat-mdc-card{height:100px;padding:8px}.mat-mdc-card .element-content{height:100%}.mat-mdc-card .element-content .label{width:100%;margin-bottom:0;text-align:center;font-weight:700}.mat-mdc-card .element-content .properties{width:100%;margin-bottom:0;text-align:right}.mat-mdc-card .element-content .element-controls .mat-icon{font-size:20px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
5282
5282
  }
5283
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LayoutEditorTableColumnElementComponent, decorators: [{
5283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LayoutEditorTableColumnElementComponent, decorators: [{
5284
5284
  type: Component,
5285
5285
  args: [{ selector: 'mantle-layout-editor-table-column-element', standalone: false, template: "<mat-card>\n <div class=\"element-content\" fxLayout=\"column\" fxLayoutAlign=\"stretch\">\n\n <div fxFlex=\"0 0 40px\">\n <div *ngIf=\"showControls\" fxLayout=\"row\" fxLayoutAlign=\"center start\" class=\"element-controls\">\n <div fxFlex=\"0 0 auto\">\n <button mat-icon-button\n type=\"button\">\n <mat-icon>drag_indicator</mat-icon>\n </button>\n </div>\n <div fxFlex=\"1 1 auto\"></div>\n <div *ngIf=\"element.user_specified\" fxFlex=\"0 0 auto\">\n <button mat-icon-button\n color=\"primary\"\n type=\"button\"\n (click)=\"onEditElementClicked()\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n <div *ngIf=\"element.user_specified\" fxFlex=\"0 0 auto\">\n <button mat-icon-button\n color=\"warn\"\n type=\"button\"\n (click)=\"onDeleteElementClicked()\">\n <mat-icon>delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 0\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <h4 class=\"label\">{{ element.label }}</h4>\n </div>\n\n <div fxFlex=\"1 0 0\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <h5 class=\"properties\"><b>{{ '{' }}</b> {{ element.attr_type }} <b>{{ '}' }}</b></h5>\n </div>\n\n </div>\n</mat-card>\n", styles: [".mat-mdc-card{height:100px;padding:8px}.mat-mdc-card .element-content{height:100%}.mat-mdc-card .element-content .label{width:100%;margin-bottom:0;text-align:center;font-weight:700}.mat-mdc-card .element-content .properties{width:100%;margin-bottom:0;text-align:right}.mat-mdc-card .element-content .element-controls .mat-icon{font-size:20px}\n"] }]
5286
5286
  }], ctorParameters: () => [{ type: i1$3.MatDialog }], propDecorators: { element: [{
@@ -5291,10 +5291,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
5291
5291
 
5292
5292
  class LayoutEditorWidgetElementComponent {
5293
5293
  constructor() { }
5294
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LayoutEditorWidgetElementComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5295
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: LayoutEditorWidgetElementComponent, isStandalone: false, selector: "mantle-layout-editor-widget-element", inputs: { element: "element" }, ngImport: i0, template: "<mat-card class=\"widget-card\">\n <h4 class=\"label\">{{ element.widget_slug }}</h4>\n <h5 class=\"properties\"><b>{{ '{' }}</b> widget <b>{{ '}' }}</b></h5>\n</mat-card>\n", styles: [".widget-card{height:136px}.label{margin-bottom:0}.properties{padding-left:12px}\n"], dependencies: [{ kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }] }); }
5294
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LayoutEditorWidgetElementComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5295
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: LayoutEditorWidgetElementComponent, isStandalone: false, selector: "mantle-layout-editor-widget-element", inputs: { element: "element" }, ngImport: i0, template: "<mat-card class=\"widget-card\">\n <h4 class=\"label\">{{ element.widget_slug }}</h4>\n <h5 class=\"properties\"><b>{{ '{' }}</b> widget <b>{{ '}' }}</b></h5>\n</mat-card>\n", styles: [".widget-card{height:136px}.label{margin-bottom:0}.properties{padding-left:12px}\n"], dependencies: [{ kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }] }); }
5296
5296
  }
5297
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LayoutEditorWidgetElementComponent, decorators: [{
5297
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LayoutEditorWidgetElementComponent, decorators: [{
5298
5298
  type: Component,
5299
5299
  args: [{ selector: 'mantle-layout-editor-widget-element', standalone: false, template: "<mat-card class=\"widget-card\">\n <h4 class=\"label\">{{ element.widget_slug }}</h4>\n <h5 class=\"properties\"><b>{{ '{' }}</b> widget <b>{{ '}' }}</b></h5>\n</mat-card>\n", styles: [".widget-card{height:136px}.label{margin-bottom:0}.properties{padding-left:12px}\n"] }]
5300
5300
  }], ctorParameters: () => [], propDecorators: { element: [{
@@ -5315,10 +5315,10 @@ class DynamicLayoutEditorElementComponent {
5315
5315
  asDynamicLayoutEditorDashboardWidget(element) {
5316
5316
  return element;
5317
5317
  }
5318
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicLayoutEditorElementComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5319
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicLayoutEditorElementComponent, isStandalone: false, selector: "mantle-dynamic-layout-editor-element", inputs: { element: "element", elementType: "elementType", showControls: "showControls" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"elementType\">\n\n <ng-container *ngSwitchCase=\"'field'\">\n <mantle-layout-editor-field-element\n [element]=\"asDynamicLayoutEditorFormField(element)\"\n [showControls]=\"showControls\">\n </mantle-layout-editor-field-element>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table-column'\">\n <mantle-layout-editor-table-column-element\n [element]=\"asDynamicLayoutEditorTableColumn(element)\"\n [showControls]=\"showControls\">\n </mantle-layout-editor-table-column-element>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'widget'\">\n <mantle-layout-editor-widget-element [element]=\"asDynamicLayoutEditorDashboardWidget(element)\">\n </mantle-layout-editor-widget-element>\n </ng-container>\n\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: LayoutEditorFieldElementComponent, selector: "mantle-layout-editor-field-element", inputs: ["element", "showControls"] }, { kind: "component", type: LayoutEditorTableColumnElementComponent, selector: "mantle-layout-editor-table-column-element", inputs: ["element", "showControls"] }, { kind: "component", type: LayoutEditorWidgetElementComponent, selector: "mantle-layout-editor-widget-element", inputs: ["element"] }] }); }
5318
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicLayoutEditorElementComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5319
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicLayoutEditorElementComponent, isStandalone: false, selector: "mantle-dynamic-layout-editor-element", inputs: { element: "element", elementType: "elementType", showControls: "showControls" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"elementType\">\n\n <ng-container *ngSwitchCase=\"'field'\">\n <mantle-layout-editor-field-element\n [element]=\"asDynamicLayoutEditorFormField(element)\"\n [showControls]=\"showControls\">\n </mantle-layout-editor-field-element>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table-column'\">\n <mantle-layout-editor-table-column-element\n [element]=\"asDynamicLayoutEditorTableColumn(element)\"\n [showControls]=\"showControls\">\n </mantle-layout-editor-table-column-element>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'widget'\">\n <mantle-layout-editor-widget-element [element]=\"asDynamicLayoutEditorDashboardWidget(element)\">\n </mantle-layout-editor-widget-element>\n </ng-container>\n\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: LayoutEditorFieldElementComponent, selector: "mantle-layout-editor-field-element", inputs: ["element", "showControls"] }, { kind: "component", type: LayoutEditorTableColumnElementComponent, selector: "mantle-layout-editor-table-column-element", inputs: ["element", "showControls"] }, { kind: "component", type: LayoutEditorWidgetElementComponent, selector: "mantle-layout-editor-widget-element", inputs: ["element"] }] }); }
5320
5320
  }
5321
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicLayoutEditorElementComponent, decorators: [{
5321
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicLayoutEditorElementComponent, decorators: [{
5322
5322
  type: Component,
5323
5323
  args: [{ selector: 'mantle-dynamic-layout-editor-element', standalone: false, template: "<ng-container [ngSwitch]=\"elementType\">\n\n <ng-container *ngSwitchCase=\"'field'\">\n <mantle-layout-editor-field-element\n [element]=\"asDynamicLayoutEditorFormField(element)\"\n [showControls]=\"showControls\">\n </mantle-layout-editor-field-element>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table-column'\">\n <mantle-layout-editor-table-column-element\n [element]=\"asDynamicLayoutEditorTableColumn(element)\"\n [showControls]=\"showControls\">\n </mantle-layout-editor-table-column-element>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'widget'\">\n <mantle-layout-editor-widget-element [element]=\"asDynamicLayoutEditorDashboardWidget(element)\">\n </mantle-layout-editor-widget-element>\n </ng-container>\n\n</ng-container>\n" }]
5324
5324
  }], ctorParameters: () => [], propDecorators: { element: [{
@@ -5331,10 +5331,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
5331
5331
 
5332
5332
  class DashboardLayoutEditorSectionComponent {
5333
5333
  constructor() { }
5334
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DashboardLayoutEditorSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5335
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DashboardLayoutEditorSectionComponent, isStandalone: false, selector: "mantle-dashboard-layout-editor-section", inputs: { section: "section" }, ngImport: i0, template: "<div class=\"grid-layout-editor-section\">\n <mat-grid-list\n rowHeight=\"180px\"\n cols=\"1\"\n [class.multi-column]=\"true\">\n\n <mat-grid-tile *ngFor=\"let widget of section.dynamic_layout_dashboard_widgets_attributes\" [colspan]=\"1\" [rowspan]=\"1\">\n <mantle-dynamic-layout-editor-element\n [element]=\"widget\"\n elementType=\"widget\">\n </mantle-dynamic-layout-editor-element>\n </mat-grid-tile>\n\n </mat-grid-list>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3$2.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { kind: "component", type: i3$2.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { kind: "component", type: DynamicLayoutEditorElementComponent, selector: "mantle-dynamic-layout-editor-element", inputs: ["element", "elementType", "showControls"] }] }); }
5334
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DashboardLayoutEditorSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5335
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DashboardLayoutEditorSectionComponent, isStandalone: false, selector: "mantle-dashboard-layout-editor-section", inputs: { section: "section" }, ngImport: i0, template: "<div class=\"grid-layout-editor-section\">\n <mat-grid-list\n rowHeight=\"180px\"\n cols=\"1\"\n [class.multi-column]=\"true\">\n\n <mat-grid-tile *ngFor=\"let widget of section.dynamic_layout_dashboard_widgets_attributes\" [colspan]=\"1\" [rowspan]=\"1\">\n <mantle-dynamic-layout-editor-element\n [element]=\"widget\"\n elementType=\"widget\">\n </mantle-dynamic-layout-editor-element>\n </mat-grid-tile>\n\n </mat-grid-list>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3$2.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { kind: "component", type: i3$2.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { kind: "component", type: DynamicLayoutEditorElementComponent, selector: "mantle-dynamic-layout-editor-element", inputs: ["element", "elementType", "showControls"] }] }); }
5336
5336
  }
5337
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DashboardLayoutEditorSectionComponent, decorators: [{
5337
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DashboardLayoutEditorSectionComponent, decorators: [{
5338
5338
  type: Component,
5339
5339
  args: [{ selector: 'mantle-dashboard-layout-editor-section', standalone: false, template: "<div class=\"grid-layout-editor-section\">\n <mat-grid-list\n rowHeight=\"180px\"\n cols=\"1\"\n [class.multi-column]=\"true\">\n\n <mat-grid-tile *ngFor=\"let widget of section.dynamic_layout_dashboard_widgets_attributes\" [colspan]=\"1\" [rowspan]=\"1\">\n <mantle-dynamic-layout-editor-element\n [element]=\"widget\"\n elementType=\"widget\">\n </mantle-dynamic-layout-editor-element>\n </mat-grid-tile>\n\n </mat-grid-list>\n</div>\n" }]
5340
5340
  }], ctorParameters: () => [], propDecorators: { section: [{
@@ -5398,10 +5398,10 @@ class GridLayoutEditorSectionComponent {
5398
5398
  dialogConfig.width = '40%';
5399
5399
  return dialogConfig;
5400
5400
  }
5401
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: GridLayoutEditorSectionComponent, deps: [{ token: i1$3.MatDialog }, { token: ArrayService }], target: i0.ɵɵFactoryTarget.Component }); }
5402
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: GridLayoutEditorSectionComponent, isStandalone: false, selector: "mantle-grid-layout-editor-section", inputs: { section: "section", defaultRowHeight: "defaultRowHeight" }, ngImport: i0, template: "<div class=\"grid-layout-editor-section\">\n <mantle-field-grid\n [singleColumn]=\"section.singleColumn || false\"\n [rowHeight]=\"section.rowHeight || defaultRowHeight\">\n\n <ng-container *ngFor=\"let element of section.dynamic_layout_grid_fields_attributes\">\n <ng-container *ngIf=\"!element._destroy\">\n <ng-container *mantleFieldGridItem=\"let _; colspan: getColSpanForField(element); rowspan: getRowSpanForField(element)\">\n <mantle-dynamic-layout-editor-element\n elementType=\"field\"\n [element]=\"element\"\n [showControls]=\"!section.elements_locked\">\n </mantle-dynamic-layout-editor-element>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </mantle-field-grid>\n</div>\n\n<div fxLayout=\"row\" fxLayoutAlign=\"center start\" fxLayoutGap=\"16px\" class=\"section-controls\">\n <div fxFlex=\"1 1 auto\"></div>\n <div fxFlex=\"0 0 auto\" *ngIf=\"!section.elements_locked\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n (click)=\"onAddElementClicked()\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n</div>\n", styles: [".section-controls{margin-top:16px}.section-controls button{padding:0;min-width:36px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: FieldGridItemDirective, selector: "[mantleFieldGridItem]", inputs: ["mantleFieldGridItemColspan", "mantleFieldGridItemRowspan"] }, { kind: "component", type: DynamicLayoutEditorElementComponent, selector: "mantle-dynamic-layout-editor-element", inputs: ["element", "elementType", "showControls"] }, { kind: "component", type: FieldGridComponent, selector: "mantle-field-grid", inputs: ["singleColumn", "rowHeight"] }] }); }
5401
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GridLayoutEditorSectionComponent, deps: [{ token: i1$3.MatDialog }, { token: ArrayService }], target: i0.ɵɵFactoryTarget.Component }); }
5402
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: GridLayoutEditorSectionComponent, isStandalone: false, selector: "mantle-grid-layout-editor-section", inputs: { section: "section", defaultRowHeight: "defaultRowHeight" }, ngImport: i0, template: "<div class=\"grid-layout-editor-section\">\n <mantle-field-grid\n [singleColumn]=\"section.singleColumn || false\"\n [rowHeight]=\"section.rowHeight || defaultRowHeight\">\n\n <ng-container *ngFor=\"let element of section.dynamic_layout_grid_fields_attributes\">\n <ng-container *ngIf=\"!element._destroy\">\n <ng-container *mantleFieldGridItem=\"let _; colspan: getColSpanForField(element); rowspan: getRowSpanForField(element)\">\n <mantle-dynamic-layout-editor-element\n elementType=\"field\"\n [element]=\"element\"\n [showControls]=\"!section.elements_locked\">\n </mantle-dynamic-layout-editor-element>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </mantle-field-grid>\n</div>\n\n<div fxLayout=\"row\" fxLayoutAlign=\"center start\" fxLayoutGap=\"16px\" class=\"section-controls\">\n <div fxFlex=\"1 1 auto\"></div>\n <div fxFlex=\"0 0 auto\" *ngIf=\"!section.elements_locked\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n (click)=\"onAddElementClicked()\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n</div>\n", styles: [".section-controls{margin-top:16px}.section-controls button{padding:0;min-width:36px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: FieldGridItemDirective, selector: "[mantleFieldGridItem]", inputs: ["mantleFieldGridItemColspan", "mantleFieldGridItemRowspan"] }, { kind: "component", type: DynamicLayoutEditorElementComponent, selector: "mantle-dynamic-layout-editor-element", inputs: ["element", "elementType", "showControls"] }, { kind: "component", type: FieldGridComponent, selector: "mantle-field-grid", inputs: ["singleColumn", "rowHeight"] }] }); }
5403
5403
  }
5404
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: GridLayoutEditorSectionComponent, decorators: [{
5404
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GridLayoutEditorSectionComponent, decorators: [{
5405
5405
  type: Component,
5406
5406
  args: [{ selector: 'mantle-grid-layout-editor-section', standalone: false, template: "<div class=\"grid-layout-editor-section\">\n <mantle-field-grid\n [singleColumn]=\"section.singleColumn || false\"\n [rowHeight]=\"section.rowHeight || defaultRowHeight\">\n\n <ng-container *ngFor=\"let element of section.dynamic_layout_grid_fields_attributes\">\n <ng-container *ngIf=\"!element._destroy\">\n <ng-container *mantleFieldGridItem=\"let _; colspan: getColSpanForField(element); rowspan: getRowSpanForField(element)\">\n <mantle-dynamic-layout-editor-element\n elementType=\"field\"\n [element]=\"element\"\n [showControls]=\"!section.elements_locked\">\n </mantle-dynamic-layout-editor-element>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </mantle-field-grid>\n</div>\n\n<div fxLayout=\"row\" fxLayoutAlign=\"center start\" fxLayoutGap=\"16px\" class=\"section-controls\">\n <div fxFlex=\"1 1 auto\"></div>\n <div fxFlex=\"0 0 auto\" *ngIf=\"!section.elements_locked\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n (click)=\"onAddElementClicked()\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n</div>\n", styles: [".section-controls{margin-top:16px}.section-controls button{padding:0;min-width:36px}\n"] }]
5407
5407
  }], ctorParameters: () => [{ type: i1$3.MatDialog }, { type: ArrayService }], propDecorators: { section: [{
@@ -5411,10 +5411,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
5411
5411
  }] } });
5412
5412
 
5413
5413
  class MarkdownLayoutEditorSectionComponent {
5414
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: MarkdownLayoutEditorSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5415
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: MarkdownLayoutEditorSectionComponent, isStandalone: false, selector: "mantle-markdown-layout-editor-section", inputs: { section: "section" }, ngImport: i0, template: "<div class=\"markdown-wrapper\">\n <markdown ngPreserveWhitespaces *ngFor=\"let element of section.dynamic_layout_markdown_elements_attributes\">\n {{ element.text }}\n </markdown>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "disableSanitizer", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }] }); }
5414
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MarkdownLayoutEditorSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5415
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: MarkdownLayoutEditorSectionComponent, isStandalone: false, selector: "mantle-markdown-layout-editor-section", inputs: { section: "section" }, ngImport: i0, template: "<div class=\"markdown-wrapper\">\n <markdown ngPreserveWhitespaces *ngFor=\"let element of section.dynamic_layout_markdown_elements_attributes\">\n {{ element.text }}\n </markdown>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "disableSanitizer", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }] }); }
5416
5416
  }
5417
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: MarkdownLayoutEditorSectionComponent, decorators: [{
5417
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MarkdownLayoutEditorSectionComponent, decorators: [{
5418
5418
  type: Component,
5419
5419
  args: [{ selector: 'mantle-markdown-layout-editor-section', standalone: false, template: "<div class=\"markdown-wrapper\">\n <markdown ngPreserveWhitespaces *ngFor=\"let element of section.dynamic_layout_markdown_elements_attributes\">\n {{ element.text }}\n </markdown>\n</div>\n" }]
5420
5420
  }], propDecorators: { section: [{
@@ -5467,10 +5467,10 @@ class TableLayoutEditorSectionComponent {
5467
5467
  dialogConfig.width = '40%';
5468
5468
  return dialogConfig;
5469
5469
  }
5470
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: TableLayoutEditorSectionComponent, deps: [{ token: i1$3.MatDialog }, { token: ArrayService }], target: i0.ɵɵFactoryTarget.Component }); }
5471
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: TableLayoutEditorSectionComponent, isStandalone: false, selector: "mantle-table-layout-editor-section", inputs: { section: "section" }, ngImport: i0, template: "<div class=\"table-layout-editor-section\">\n <h4 class=\"section-type-label\">Table</h4>\n <mat-grid-list rowHeight=\"120px\" [cols]=\"section.dynamic_layout_table_columns_attributes.length\" [class.multi-column]=\"true\" [ngStyle]=\"{ 'width.px': section.dynamic_layout_table_columns_attributes.length * 300 }\">\n\n <ng-container *ngFor=\"let element of section.dynamic_layout_table_columns_attributes\">\n <mat-grid-tile *ngIf=\"!element._destroy\" colspan=\"1\" rowspan=\"1\">\n <mantle-dynamic-layout-editor-element\n elementType=\"table-column\"\n [element]=\"element\"\n [showControls]=\"!section.elements_locked\">\n </mantle-dynamic-layout-editor-element>\n </mat-grid-tile>\n </ng-container>\n\n </mat-grid-list>\n</div>\n\n<div fxLayout=\"row\" fxLayoutAlign=\"center start\" fxLayoutGap=\"16px\" class=\"section-controls\">\n <div fxFlex=\"1 1 auto\"></div>\n <div fxFlex=\"0 0 auto\" *ngIf=\"!section.elements_locked\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n (click)=\"onAddElementClicked()\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n</div>\n", styles: [".section-controls{margin-top:16px}.section-controls button{padding:0;min-width:36px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3$2.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { kind: "component", type: i3$2.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: DynamicLayoutEditorElementComponent, selector: "mantle-dynamic-layout-editor-element", inputs: ["element", "elementType", "showControls"] }] }); }
5470
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TableLayoutEditorSectionComponent, deps: [{ token: i1$3.MatDialog }, { token: ArrayService }], target: i0.ɵɵFactoryTarget.Component }); }
5471
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: TableLayoutEditorSectionComponent, isStandalone: false, selector: "mantle-table-layout-editor-section", inputs: { section: "section" }, ngImport: i0, template: "<div class=\"table-layout-editor-section\">\n <h4 class=\"section-type-label\">Table</h4>\n <mat-grid-list rowHeight=\"120px\" [cols]=\"section.dynamic_layout_table_columns_attributes.length\" [class.multi-column]=\"true\" [ngStyle]=\"{ 'width.px': section.dynamic_layout_table_columns_attributes.length * 300 }\">\n\n <ng-container *ngFor=\"let element of section.dynamic_layout_table_columns_attributes\">\n <mat-grid-tile *ngIf=\"!element._destroy\" colspan=\"1\" rowspan=\"1\">\n <mantle-dynamic-layout-editor-element\n elementType=\"table-column\"\n [element]=\"element\"\n [showControls]=\"!section.elements_locked\">\n </mantle-dynamic-layout-editor-element>\n </mat-grid-tile>\n </ng-container>\n\n </mat-grid-list>\n</div>\n\n<div fxLayout=\"row\" fxLayoutAlign=\"center start\" fxLayoutGap=\"16px\" class=\"section-controls\">\n <div fxFlex=\"1 1 auto\"></div>\n <div fxFlex=\"0 0 auto\" *ngIf=\"!section.elements_locked\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n (click)=\"onAddElementClicked()\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n</div>\n", styles: [".section-controls{margin-top:16px}.section-controls button{padding:0;min-width:36px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3$2.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { kind: "component", type: i3$2.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: DynamicLayoutEditorElementComponent, selector: "mantle-dynamic-layout-editor-element", inputs: ["element", "elementType", "showControls"] }] }); }
5472
5472
  }
5473
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: TableLayoutEditorSectionComponent, decorators: [{
5473
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TableLayoutEditorSectionComponent, decorators: [{
5474
5474
  type: Component,
5475
5475
  args: [{ selector: 'mantle-table-layout-editor-section', standalone: false, template: "<div class=\"table-layout-editor-section\">\n <h4 class=\"section-type-label\">Table</h4>\n <mat-grid-list rowHeight=\"120px\" [cols]=\"section.dynamic_layout_table_columns_attributes.length\" [class.multi-column]=\"true\" [ngStyle]=\"{ 'width.px': section.dynamic_layout_table_columns_attributes.length * 300 }\">\n\n <ng-container *ngFor=\"let element of section.dynamic_layout_table_columns_attributes\">\n <mat-grid-tile *ngIf=\"!element._destroy\" colspan=\"1\" rowspan=\"1\">\n <mantle-dynamic-layout-editor-element\n elementType=\"table-column\"\n [element]=\"element\"\n [showControls]=\"!section.elements_locked\">\n </mantle-dynamic-layout-editor-element>\n </mat-grid-tile>\n </ng-container>\n\n </mat-grid-list>\n</div>\n\n<div fxLayout=\"row\" fxLayoutAlign=\"center start\" fxLayoutGap=\"16px\" class=\"section-controls\">\n <div fxFlex=\"1 1 auto\"></div>\n <div fxFlex=\"0 0 auto\" *ngIf=\"!section.elements_locked\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n (click)=\"onAddElementClicked()\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n</div>\n", styles: [".section-controls{margin-top:16px}.section-controls button{padding:0;min-width:36px}\n"] }]
5476
5476
  }], ctorParameters: () => [{ type: i1$3.MatDialog }, { type: ArrayService }], propDecorators: { section: [{
@@ -5479,10 +5479,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
5479
5479
 
5480
5480
  class DynamicLayoutEditorSectionComponent {
5481
5481
  constructor() { }
5482
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicLayoutEditorSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5483
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicLayoutEditorSectionComponent, isStandalone: false, selector: "mantle-dynamic-layout-editor-section", inputs: { layoutEditorPageService: "layoutEditorPageService", section: "section" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"section.layout_style\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-layout-editor-section\n [section]=\"section\">\n </mantle-grid-layout-editor-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-layout-editor-section\n [section]=\"section\">\n </mantle-table-layout-editor-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dashboard'\">\n <mantle-dashboard-layout-editor-section\n [section]=\"section\">\n </mantle-dashboard-layout-editor-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'markdown'\">\n <mantle-markdown-layout-editor-section\n [section]=\"section\">\n </mantle-markdown-layout-editor-section>\n </ng-container>\n\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: DashboardLayoutEditorSectionComponent, selector: "mantle-dashboard-layout-editor-section", inputs: ["section"] }, { kind: "component", type: GridLayoutEditorSectionComponent, selector: "mantle-grid-layout-editor-section", inputs: ["section", "defaultRowHeight"] }, { kind: "component", type: MarkdownLayoutEditorSectionComponent, selector: "mantle-markdown-layout-editor-section", inputs: ["section"] }, { kind: "component", type: TableLayoutEditorSectionComponent, selector: "mantle-table-layout-editor-section", inputs: ["section"] }] }); }
5482
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicLayoutEditorSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5483
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicLayoutEditorSectionComponent, isStandalone: false, selector: "mantle-dynamic-layout-editor-section", inputs: { layoutEditorPageService: "layoutEditorPageService", section: "section" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"section.layout_style\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-layout-editor-section\n [section]=\"section\">\n </mantle-grid-layout-editor-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-layout-editor-section\n [section]=\"section\">\n </mantle-table-layout-editor-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dashboard'\">\n <mantle-dashboard-layout-editor-section\n [section]=\"section\">\n </mantle-dashboard-layout-editor-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'markdown'\">\n <mantle-markdown-layout-editor-section\n [section]=\"section\">\n </mantle-markdown-layout-editor-section>\n </ng-container>\n\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: DashboardLayoutEditorSectionComponent, selector: "mantle-dashboard-layout-editor-section", inputs: ["section"] }, { kind: "component", type: GridLayoutEditorSectionComponent, selector: "mantle-grid-layout-editor-section", inputs: ["section", "defaultRowHeight"] }, { kind: "component", type: MarkdownLayoutEditorSectionComponent, selector: "mantle-markdown-layout-editor-section", inputs: ["section"] }, { kind: "component", type: TableLayoutEditorSectionComponent, selector: "mantle-table-layout-editor-section", inputs: ["section"] }] }); }
5484
5484
  }
5485
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicLayoutEditorSectionComponent, decorators: [{
5485
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicLayoutEditorSectionComponent, decorators: [{
5486
5486
  type: Component,
5487
5487
  args: [{ selector: 'mantle-dynamic-layout-editor-section', standalone: false, template: "<ng-container [ngSwitch]=\"section.layout_style\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-layout-editor-section\n [section]=\"section\">\n </mantle-grid-layout-editor-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-layout-editor-section\n [section]=\"section\">\n </mantle-table-layout-editor-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dashboard'\">\n <mantle-dashboard-layout-editor-section\n [section]=\"section\">\n </mantle-dashboard-layout-editor-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'markdown'\">\n <mantle-markdown-layout-editor-section\n [section]=\"section\">\n </mantle-markdown-layout-editor-section>\n </ng-container>\n\n</ng-container>\n" }]
5488
5488
  }], ctorParameters: () => [], propDecorators: { layoutEditorPageService: [{
@@ -5493,10 +5493,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
5493
5493
 
5494
5494
  class AccordionLayoutEditorContainerComponent {
5495
5495
  constructor() { }
5496
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AccordionLayoutEditorContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5497
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: AccordionLayoutEditorContainerComponent, isStandalone: false, selector: "mantle-accordion-layout-editor-container", inputs: { layoutEditorPageService: "layoutEditorPageService", container: "container" }, ngImport: i0, template: "<mat-accordion multi class=\"dynamic-details accordion\">\n <ng-container *ngFor=\"let section of container.dynamic_layout_sections_attributes\">\n <mat-expansion-panel [expanded]=\"!section.collapsed\" class=\"dynamic-details-section\">\n <mat-expansion-panel-header>\n <mat-panel-title *ngIf=\"section.title\">\n <div class=\"title-wrapper\">\n <h4>{{ section.title }}</h4>\n <mat-divider></mat-divider>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <mantle-dynamic-layout-editor-section [layoutEditorPageService]=\"layoutEditorPageService\" [section]=\"section\">\n </mantle-dynamic-layout-editor-section>\n </mat-expansion-panel>\n </ng-container>\n</mat-accordion>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i2$2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i2$2.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i2$2.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: i3$5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: DynamicLayoutEditorSectionComponent, selector: "mantle-dynamic-layout-editor-section", inputs: ["layoutEditorPageService", "section"] }] }); }
5496
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AccordionLayoutEditorContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5497
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: AccordionLayoutEditorContainerComponent, isStandalone: false, selector: "mantle-accordion-layout-editor-container", inputs: { layoutEditorPageService: "layoutEditorPageService", container: "container" }, ngImport: i0, template: "<mat-accordion multi class=\"dynamic-details accordion\">\n <ng-container *ngFor=\"let section of container.dynamic_layout_sections_attributes\">\n <mat-expansion-panel [expanded]=\"!section.collapsed\" class=\"dynamic-details-section\">\n <mat-expansion-panel-header>\n <mat-panel-title *ngIf=\"section.title\">\n <div class=\"title-wrapper\">\n <h4>{{ section.title }}</h4>\n <mat-divider></mat-divider>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <mantle-dynamic-layout-editor-section [layoutEditorPageService]=\"layoutEditorPageService\" [section]=\"section\">\n </mantle-dynamic-layout-editor-section>\n </mat-expansion-panel>\n </ng-container>\n</mat-accordion>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i2$2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i2$2.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i2$2.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: i3$5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: DynamicLayoutEditorSectionComponent, selector: "mantle-dynamic-layout-editor-section", inputs: ["layoutEditorPageService", "section"] }] }); }
5498
5498
  }
5499
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AccordionLayoutEditorContainerComponent, decorators: [{
5499
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AccordionLayoutEditorContainerComponent, decorators: [{
5500
5500
  type: Component,
5501
5501
  args: [{ selector: 'mantle-accordion-layout-editor-container', standalone: false, template: "<mat-accordion multi class=\"dynamic-details accordion\">\n <ng-container *ngFor=\"let section of container.dynamic_layout_sections_attributes\">\n <mat-expansion-panel [expanded]=\"!section.collapsed\" class=\"dynamic-details-section\">\n <mat-expansion-panel-header>\n <mat-panel-title *ngIf=\"section.title\">\n <div class=\"title-wrapper\">\n <h4>{{ section.title }}</h4>\n <mat-divider></mat-divider>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <mantle-dynamic-layout-editor-section [layoutEditorPageService]=\"layoutEditorPageService\" [section]=\"section\">\n </mantle-dynamic-layout-editor-section>\n </mat-expansion-panel>\n </ng-container>\n</mat-accordion>\n" }]
5502
5502
  }], ctorParameters: () => [], propDecorators: { layoutEditorPageService: [{
@@ -5507,10 +5507,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
5507
5507
 
5508
5508
  class PlainLayoutEditorContainerComponent {
5509
5509
  constructor() { }
5510
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PlainLayoutEditorContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5511
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: PlainLayoutEditorContainerComponent, isStandalone: false, selector: "mantle-plain-layout-editor-container", inputs: { layoutEditorPageService: "layoutEditorPageService", container: "container" }, ngImport: i0, template: "<div class=\"dynamic-details plain\">\n <ng-container *ngFor=\"let section of container.dynamic_layout_sections_attributes\">\n <mat-card class=\"dynamic-details-section\">\n <mantle-section-title *ngIf=\"section.title\" [title]=\"section.title\"></mantle-section-title>\n <mantle-dynamic-layout-editor-section [layoutEditorPageService]=\"layoutEditorPageService\" [section]=\"section\">\n </mantle-dynamic-layout-editor-section>\n </mat-card>\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: DynamicLayoutEditorSectionComponent, selector: "mantle-dynamic-layout-editor-section", inputs: ["layoutEditorPageService", "section"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }] }); }
5510
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PlainLayoutEditorContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5511
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: PlainLayoutEditorContainerComponent, isStandalone: false, selector: "mantle-plain-layout-editor-container", inputs: { layoutEditorPageService: "layoutEditorPageService", container: "container" }, ngImport: i0, template: "<div class=\"dynamic-details plain\">\n <ng-container *ngFor=\"let section of container.dynamic_layout_sections_attributes\">\n <mat-card class=\"dynamic-details-section\">\n <mantle-section-title *ngIf=\"section.title\" [title]=\"section.title\"></mantle-section-title>\n <mantle-dynamic-layout-editor-section [layoutEditorPageService]=\"layoutEditorPageService\" [section]=\"section\">\n </mantle-dynamic-layout-editor-section>\n </mat-card>\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: DynamicLayoutEditorSectionComponent, selector: "mantle-dynamic-layout-editor-section", inputs: ["layoutEditorPageService", "section"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }] }); }
5512
5512
  }
5513
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PlainLayoutEditorContainerComponent, decorators: [{
5513
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PlainLayoutEditorContainerComponent, decorators: [{
5514
5514
  type: Component,
5515
5515
  args: [{ selector: 'mantle-plain-layout-editor-container', standalone: false, template: "<div class=\"dynamic-details plain\">\n <ng-container *ngFor=\"let section of container.dynamic_layout_sections_attributes\">\n <mat-card class=\"dynamic-details-section\">\n <mantle-section-title *ngIf=\"section.title\" [title]=\"section.title\"></mantle-section-title>\n <mantle-dynamic-layout-editor-section [layoutEditorPageService]=\"layoutEditorPageService\" [section]=\"section\">\n </mantle-dynamic-layout-editor-section>\n </mat-card>\n </ng-container>\n</div>\n" }]
5516
5516
  }], ctorParameters: () => [], propDecorators: { layoutEditorPageService: [{
@@ -5521,10 +5521,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
5521
5521
 
5522
5522
  class DynamicLayoutEditorContainerComponent {
5523
5523
  constructor() { }
5524
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicLayoutEditorContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5525
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicLayoutEditorContainerComponent, isStandalone: false, selector: "mantle-dynamic-layout-editor-container", inputs: { layoutEditorPageService: "layoutEditorPageService", container: "container" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"container.container_style\">\n\n <ng-container *ngSwitchCase=\"'plain'\">\n <mantle-plain-layout-editor-container\n [layoutEditorPageService]=\"layoutEditorPageService\"\n [container]=\"container\">\n </mantle-plain-layout-editor-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'accordion'\">\n <mantle-accordion-layout-editor-container\n [layoutEditorPageService]=\"layoutEditorPageService\"\n [container]=\"container\">\n </mantle-accordion-layout-editor-container>\n </ng-container>\n\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: AccordionLayoutEditorContainerComponent, selector: "mantle-accordion-layout-editor-container", inputs: ["layoutEditorPageService", "container"] }, { kind: "component", type: PlainLayoutEditorContainerComponent, selector: "mantle-plain-layout-editor-container", inputs: ["layoutEditorPageService", "container"] }] }); }
5524
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicLayoutEditorContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5525
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicLayoutEditorContainerComponent, isStandalone: false, selector: "mantle-dynamic-layout-editor-container", inputs: { layoutEditorPageService: "layoutEditorPageService", container: "container" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"container.container_style\">\n\n <ng-container *ngSwitchCase=\"'plain'\">\n <mantle-plain-layout-editor-container\n [layoutEditorPageService]=\"layoutEditorPageService\"\n [container]=\"container\">\n </mantle-plain-layout-editor-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'accordion'\">\n <mantle-accordion-layout-editor-container\n [layoutEditorPageService]=\"layoutEditorPageService\"\n [container]=\"container\">\n </mantle-accordion-layout-editor-container>\n </ng-container>\n\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: AccordionLayoutEditorContainerComponent, selector: "mantle-accordion-layout-editor-container", inputs: ["layoutEditorPageService", "container"] }, { kind: "component", type: PlainLayoutEditorContainerComponent, selector: "mantle-plain-layout-editor-container", inputs: ["layoutEditorPageService", "container"] }] }); }
5526
5526
  }
5527
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicLayoutEditorContainerComponent, decorators: [{
5527
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicLayoutEditorContainerComponent, decorators: [{
5528
5528
  type: Component,
5529
5529
  args: [{ selector: 'mantle-dynamic-layout-editor-container', standalone: false, template: "<ng-container [ngSwitch]=\"container.container_style\">\n\n <ng-container *ngSwitchCase=\"'plain'\">\n <mantle-plain-layout-editor-container\n [layoutEditorPageService]=\"layoutEditorPageService\"\n [container]=\"container\">\n </mantle-plain-layout-editor-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'accordion'\">\n <mantle-accordion-layout-editor-container\n [layoutEditorPageService]=\"layoutEditorPageService\"\n [container]=\"container\">\n </mantle-accordion-layout-editor-container>\n </ng-container>\n\n</ng-container>\n" }]
5530
5530
  }], ctorParameters: () => [], propDecorators: { layoutEditorPageService: [{
@@ -5535,10 +5535,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
5535
5535
 
5536
5536
  class DynamicLayoutEditorComponent {
5537
5537
  constructor() { }
5538
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicLayoutEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5539
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicLayoutEditorComponent, isStandalone: false, selector: "mantle-dynamic-layout-editor", inputs: { layoutEditorPageService: "layoutEditorPageService", content: "content" }, ngImport: i0, template: "<ng-container *ngIf=\"content; else loader\">\n <ng-container *ngFor=\"let container of content.data.dynamic_layout_containers_attributes\">\n <mantle-dynamic-layout-editor-container\n [layoutEditorPageService]=\"layoutEditorPageService\"\n [container]=\"container\">\n </mantle-dynamic-layout-editor-container>\n </ng-container>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DynamicLayoutEditorContainerComponent, selector: "mantle-dynamic-layout-editor-container", inputs: ["layoutEditorPageService", "container"] }, { kind: "component", type: LoaderComponent, selector: "mantle-loader", inputs: ["delay"] }] }); }
5538
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicLayoutEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5539
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicLayoutEditorComponent, isStandalone: false, selector: "mantle-dynamic-layout-editor", inputs: { layoutEditorPageService: "layoutEditorPageService", content: "content" }, ngImport: i0, template: "<ng-container *ngIf=\"content; else loader\">\n <ng-container *ngFor=\"let container of content.data.dynamic_layout_containers_attributes\">\n <mantle-dynamic-layout-editor-container\n [layoutEditorPageService]=\"layoutEditorPageService\"\n [container]=\"container\">\n </mantle-dynamic-layout-editor-container>\n </ng-container>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DynamicLayoutEditorContainerComponent, selector: "mantle-dynamic-layout-editor-container", inputs: ["layoutEditorPageService", "container"] }, { kind: "component", type: LoaderComponent, selector: "mantle-loader", inputs: ["delay"] }] }); }
5540
5540
  }
5541
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicLayoutEditorComponent, decorators: [{
5541
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicLayoutEditorComponent, decorators: [{
5542
5542
  type: Component,
5543
5543
  args: [{ selector: 'mantle-dynamic-layout-editor', standalone: false, template: "<ng-container *ngIf=\"content; else loader\">\n <ng-container *ngFor=\"let container of content.data.dynamic_layout_containers_attributes\">\n <mantle-dynamic-layout-editor-container\n [layoutEditorPageService]=\"layoutEditorPageService\"\n [container]=\"container\">\n </mantle-dynamic-layout-editor-container>\n </ng-container>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n" }]
5544
5544
  }], ctorParameters: () => [], propDecorators: { layoutEditorPageService: [{
@@ -5549,10 +5549,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
5549
5549
 
5550
5550
  class ContentTitleComponent {
5551
5551
  constructor() { }
5552
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ContentTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5553
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: ContentTitleComponent, isStandalone: false, selector: "mantle-content-title", inputs: { thumbnail: "thumbnail", title: "title" }, ngImport: i0, template: "<div fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"content-title\">\n <div *ngIf=\"thumbnail\" fxFlex=\"0 0 auto\">\n <img class=\"content-title-thumbnail\" [attr.src]=\"thumbnail | secureImage | async\" />\n </div>\n\n <div fxFlex=\"1 0 1px\">\n <h1 *ngIf=\"title\" class=\"content-title-title\">{{ title }}</h1>\n </div>\n</div>\n", styles: [".content-title .content-title-thumbnail{width:60px;height:60px;border-radius:50%;margin:0 16px}.content-title .content-title-title{max-width:100%;text-transform:uppercase;margin-bottom:0}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: SecureImagePipe, name: "secureImage" }] }); }
5552
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ContentTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5553
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ContentTitleComponent, isStandalone: false, selector: "mantle-content-title", inputs: { thumbnail: "thumbnail", title: "title" }, ngImport: i0, template: "<div fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"content-title\">\n <div *ngIf=\"thumbnail\" fxFlex=\"0 0 auto\">\n <img class=\"content-title-thumbnail\" [attr.src]=\"thumbnail | secureImage | async\" />\n </div>\n\n <div fxFlex=\"1 0 1px\">\n <h1 *ngIf=\"title\" class=\"content-title-title\">{{ title }}</h1>\n </div>\n</div>\n", styles: [".content-title .content-title-thumbnail{width:60px;height:60px;border-radius:50%;margin:0 16px}.content-title .content-title-title{max-width:100%;text-transform:uppercase;margin-bottom:0}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: SecureImagePipe, name: "secureImage" }] }); }
5554
5554
  }
5555
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ContentTitleComponent, decorators: [{
5555
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ContentTitleComponent, decorators: [{
5556
5556
  type: Component,
5557
5557
  args: [{ selector: 'mantle-content-title', standalone: false, template: "<div fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"content-title\">\n <div *ngIf=\"thumbnail\" fxFlex=\"0 0 auto\">\n <img class=\"content-title-thumbnail\" [attr.src]=\"thumbnail | secureImage | async\" />\n </div>\n\n <div fxFlex=\"1 0 1px\">\n <h1 *ngIf=\"title\" class=\"content-title-title\">{{ title }}</h1>\n </div>\n</div>\n", styles: [".content-title .content-title-thumbnail{width:60px;height:60px;border-radius:50%;margin:0 16px}.content-title .content-title-title{max-width:100%;text-transform:uppercase;margin-bottom:0}\n"] }]
5558
5558
  }], ctorParameters: () => [], propDecorators: { thumbnail: [{
@@ -5662,10 +5662,10 @@ class CustomDashboardPageComponent {
5662
5662
  this.announcementService.error('mantle.messages.delete_failed');
5663
5663
  this.isDeleteInProgress = false;
5664
5664
  }
5665
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CustomDashboardPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: AnnouncementService }], target: i0.ɵɵFactoryTarget.Component }); }
5666
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: CustomDashboardPageComponent, isStandalone: false, selector: "mantle-custom-dashboard-page", viewQueries: [{ propertyName: "dynamicCustomDashboard", first: true, predicate: DynamicCustomDashboardComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" class=\"page full-height-only full-height-min vertically-scrollable\">\n <div fxFlex=\"0 0 auto\" class=\"page-header headline-5\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center start\" fxLayoutGap=\"16px\">\n <div *ngIf=\"!isEditor && !customDashboardPageService.hideBackButton\" fxFlex=\"0 0 auto\">\n <button class=\"back-button\" mat-mini-fab color=\"primary\" type=\"button\" (click)=\"goToListPage()\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n </div>\n\n <div fxFlex=\"1 1 auto\">\n <mantle-content-title *ngIf=\"header\" fxFlex=\"0 0 auto\" [thumbnail]=\"header.thumbnail\" [title]=\"header.title\"></mantle-content-title>\n </div>\n\n <div *ngIf=\"!isEditor && customDashboardPageService.showEditButton && customDashboardPageService.canWrite()\" fxFlex=\"0 0 auto\">\n <button mat-mini-fab\n color=\"primary\"\n type=\"button\"\n class=\"edit-button\"\n (click)=\"goToForm()\"\n [disabled]=\"customDashboardPageService.isCommitInProgress\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n\n <div *ngIf=\"isEditor\" fxFlex=\"0 0 auto\">\n <button mat-icon-button\n type=\"button\"\n (click)=\"closeForm()\"\n [disabled]=\"customDashboardPageService.isCommitInProgress\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 auto\">\n <mantle-dynamic-custom-dashboard #dynamicCustomDashboard [content]=\"content$ | async\" [customDashboardPageService]=\"customDashboardPageService\" [isEditor]=\"isEditor\"></mantle-dynamic-custom-dashboard>\n </div>\n\n <div *ngIf=\"isEditor && customDashboardPageService.canWrite()\" fxFlex=\"0 0 auto\" class=\"page-footer\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"!!id && customDashboardPageService.showDeleteButton\">\n <button mat-button\n color=\"warn\"\n type=\"button\"\n class=\"button-with-spinner delete-button\"\n [disabled]=\"customDashboardPageService.isCommitInProgress\"\n (click)=\"onDeleteClicked()\">\n {{ 'mantle.buttons.delete' | translate }} {{ customDashboardPageService.noun() | translate }}\n <mat-spinner *ngIf=\"isDeleteInProgress\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"customDashboardPageService.showCloneButton && !cloneId\">\n <button mat-raised-button\n color=\"accent\"\n type=\"button\"\n class=\"clone-button\"\n (click)=\"onCloneClicked()\">\n {{ 'mantle.buttons.clone' | translate }}\n </button>\n </div>\n\n <div fxFlex=\"0 0 auto\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n class=\"button-with-spinner save-button\"\n [disabled]=\"customDashboardPageService.isCommitInProgress || !dynamicCustomDashboard?.valid\"\n (click)=\"onSaveClicked()\">\n {{ 'mantle.buttons.save' | translate }}\n <mat-spinner *ngIf=\"isSaveInProgress\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".save-button,.clone-button{width:140px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: ContentTitleComponent, selector: "mantle-content-title", inputs: ["thumbnail", "title"] }, { kind: "component", type: DynamicCustomDashboardComponent, selector: "mantle-dynamic-custom-dashboard", inputs: ["customDashboardPageService", "content", "isEditor"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
5665
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CustomDashboardPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: AnnouncementService }], target: i0.ɵɵFactoryTarget.Component }); }
5666
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: CustomDashboardPageComponent, isStandalone: false, selector: "mantle-custom-dashboard-page", viewQueries: [{ propertyName: "dynamicCustomDashboard", first: true, predicate: DynamicCustomDashboardComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" class=\"page full-height-only full-height-min vertically-scrollable\">\n <div fxFlex=\"0 0 auto\" class=\"page-header headline-5\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center start\" fxLayoutGap=\"16px\">\n <div *ngIf=\"!isEditor && !customDashboardPageService.hideBackButton\" fxFlex=\"0 0 auto\">\n <button class=\"back-button\" mat-mini-fab color=\"primary\" type=\"button\" (click)=\"goToListPage()\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n </div>\n\n <div fxFlex=\"1 1 auto\">\n <mantle-content-title *ngIf=\"header\" fxFlex=\"0 0 auto\" [thumbnail]=\"header.thumbnail\" [title]=\"header.title\"></mantle-content-title>\n </div>\n\n <div *ngIf=\"!isEditor && customDashboardPageService.showEditButton && customDashboardPageService.canWrite()\" fxFlex=\"0 0 auto\">\n <button mat-mini-fab\n color=\"primary\"\n type=\"button\"\n class=\"edit-button\"\n (click)=\"goToForm()\"\n [disabled]=\"customDashboardPageService.isCommitInProgress\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n\n <div *ngIf=\"isEditor\" fxFlex=\"0 0 auto\">\n <button mat-icon-button\n type=\"button\"\n (click)=\"closeForm()\"\n [disabled]=\"customDashboardPageService.isCommitInProgress\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 auto\">\n <mantle-dynamic-custom-dashboard #dynamicCustomDashboard [content]=\"content$ | async\" [customDashboardPageService]=\"customDashboardPageService\" [isEditor]=\"isEditor\"></mantle-dynamic-custom-dashboard>\n </div>\n\n <div *ngIf=\"isEditor && customDashboardPageService.canWrite()\" fxFlex=\"0 0 auto\" class=\"page-footer\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"!!id && customDashboardPageService.showDeleteButton\">\n <button mat-button\n color=\"warn\"\n type=\"button\"\n class=\"button-with-spinner delete-button\"\n [disabled]=\"customDashboardPageService.isCommitInProgress\"\n (click)=\"onDeleteClicked()\">\n {{ 'mantle.buttons.delete' | translate }} {{ customDashboardPageService.noun() | translate }}\n <mat-spinner *ngIf=\"isDeleteInProgress\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"customDashboardPageService.showCloneButton && !cloneId\">\n <button mat-raised-button\n color=\"accent\"\n type=\"button\"\n class=\"clone-button\"\n (click)=\"onCloneClicked()\">\n {{ 'mantle.buttons.clone' | translate }}\n </button>\n </div>\n\n <div fxFlex=\"0 0 auto\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n class=\"button-with-spinner save-button\"\n [disabled]=\"customDashboardPageService.isCommitInProgress || !dynamicCustomDashboard?.valid\"\n (click)=\"onSaveClicked()\">\n {{ 'mantle.buttons.save' | translate }}\n <mat-spinner *ngIf=\"isSaveInProgress\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".save-button,.clone-button{width:140px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: ContentTitleComponent, selector: "mantle-content-title", inputs: ["thumbnail", "title"] }, { kind: "component", type: DynamicCustomDashboardComponent, selector: "mantle-dynamic-custom-dashboard", inputs: ["customDashboardPageService", "content", "isEditor"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
5667
5667
  }
5668
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CustomDashboardPageComponent, decorators: [{
5668
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CustomDashboardPageComponent, decorators: [{
5669
5669
  type: Component,
5670
5670
  args: [{ selector: 'mantle-custom-dashboard-page', standalone: false, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" class=\"page full-height-only full-height-min vertically-scrollable\">\n <div fxFlex=\"0 0 auto\" class=\"page-header headline-5\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center start\" fxLayoutGap=\"16px\">\n <div *ngIf=\"!isEditor && !customDashboardPageService.hideBackButton\" fxFlex=\"0 0 auto\">\n <button class=\"back-button\" mat-mini-fab color=\"primary\" type=\"button\" (click)=\"goToListPage()\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n </div>\n\n <div fxFlex=\"1 1 auto\">\n <mantle-content-title *ngIf=\"header\" fxFlex=\"0 0 auto\" [thumbnail]=\"header.thumbnail\" [title]=\"header.title\"></mantle-content-title>\n </div>\n\n <div *ngIf=\"!isEditor && customDashboardPageService.showEditButton && customDashboardPageService.canWrite()\" fxFlex=\"0 0 auto\">\n <button mat-mini-fab\n color=\"primary\"\n type=\"button\"\n class=\"edit-button\"\n (click)=\"goToForm()\"\n [disabled]=\"customDashboardPageService.isCommitInProgress\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n\n <div *ngIf=\"isEditor\" fxFlex=\"0 0 auto\">\n <button mat-icon-button\n type=\"button\"\n (click)=\"closeForm()\"\n [disabled]=\"customDashboardPageService.isCommitInProgress\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 auto\">\n <mantle-dynamic-custom-dashboard #dynamicCustomDashboard [content]=\"content$ | async\" [customDashboardPageService]=\"customDashboardPageService\" [isEditor]=\"isEditor\"></mantle-dynamic-custom-dashboard>\n </div>\n\n <div *ngIf=\"isEditor && customDashboardPageService.canWrite()\" fxFlex=\"0 0 auto\" class=\"page-footer\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"!!id && customDashboardPageService.showDeleteButton\">\n <button mat-button\n color=\"warn\"\n type=\"button\"\n class=\"button-with-spinner delete-button\"\n [disabled]=\"customDashboardPageService.isCommitInProgress\"\n (click)=\"onDeleteClicked()\">\n {{ 'mantle.buttons.delete' | translate }} {{ customDashboardPageService.noun() | translate }}\n <mat-spinner *ngIf=\"isDeleteInProgress\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"customDashboardPageService.showCloneButton && !cloneId\">\n <button mat-raised-button\n color=\"accent\"\n type=\"button\"\n class=\"clone-button\"\n (click)=\"onCloneClicked()\">\n {{ 'mantle.buttons.clone' | translate }}\n </button>\n </div>\n\n <div fxFlex=\"0 0 auto\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n class=\"button-with-spinner save-button\"\n [disabled]=\"customDashboardPageService.isCommitInProgress || !dynamicCustomDashboard?.valid\"\n (click)=\"onSaveClicked()\">\n {{ 'mantle.buttons.save' | translate }}\n <mat-spinner *ngIf=\"isSaveInProgress\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".save-button,.clone-button{width:140px}\n"] }]
5671
5671
  }], ctorParameters: () => [{ type: i1$5.ActivatedRoute }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: AnnouncementService }], propDecorators: { dynamicCustomDashboard: [{
@@ -5683,10 +5683,10 @@ class PageTitleComponent {
5683
5683
  this.isSmallScreen = screenSize == 'xs' || screenSize == 'sm';
5684
5684
  });
5685
5685
  }
5686
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PageTitleComponent, deps: [{ token: LocaleService }, { token: ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component }); }
5687
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: PageTitleComponent, isStandalone: false, selector: "mantle-page-title", ngImport: i0, template: "<h1 fxLayout=\"row wrap\" fxLayoutGap=\"8px\">\n <div fxFlex=\"0 0 auto\" class=\"title-text\"><ng-content></ng-content></div>\n <div fxFlex=\"1 0 1px\"></div>\n <div fxFlex=\"0 0 auto\" [fxHide]=\"isSmallScreen\" class=\"title-date\">{{ today }}</div>\n</h1>\n\n<hr />\n", styles: ["h1{margin-bottom:12px}.title-text{max-width:100%;text-transform:uppercase}.title-date{font-weight:lighter;text-align:right;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }] }); }
5686
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PageTitleComponent, deps: [{ token: LocaleService }, { token: ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component }); }
5687
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: PageTitleComponent, isStandalone: false, selector: "mantle-page-title", ngImport: i0, template: "<h1 fxLayout=\"row wrap\" fxLayoutGap=\"8px\">\n <div fxFlex=\"0 0 auto\" class=\"title-text\"><ng-content></ng-content></div>\n <div fxFlex=\"1 0 1px\"></div>\n <div fxFlex=\"0 0 auto\" [fxHide]=\"isSmallScreen\" class=\"title-date\">{{ today }}</div>\n</h1>\n\n<hr />\n", styles: ["h1{margin-bottom:12px}.title-text{max-width:100%;text-transform:uppercase}.title-date{font-weight:lighter;text-align:right;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }] }); }
5688
5688
  }
5689
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PageTitleComponent, decorators: [{
5689
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PageTitleComponent, decorators: [{
5690
5690
  type: Component,
5691
5691
  args: [{ selector: 'mantle-page-title', standalone: false, template: "<h1 fxLayout=\"row wrap\" fxLayoutGap=\"8px\">\n <div fxFlex=\"0 0 auto\" class=\"title-text\"><ng-content></ng-content></div>\n <div fxFlex=\"1 0 1px\"></div>\n <div fxFlex=\"0 0 auto\" [fxHide]=\"isSmallScreen\" class=\"title-date\">{{ today }}</div>\n</h1>\n\n<hr />\n", styles: ["h1{margin-bottom:12px}.title-text{max-width:100%;text-transform:uppercase}.title-date{font-weight:lighter;text-align:right;white-space:nowrap}\n"] }]
5692
5692
  }], ctorParameters: () => [{ type: LocaleService }, { type: ScreenSizeService }] });
@@ -5704,10 +5704,10 @@ class PlainDashboardContainerComponent {
5704
5704
  asDynamicLayoutDashboardSection(section) {
5705
5705
  return section;
5706
5706
  }
5707
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PlainDashboardContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5708
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: PlainDashboardContainerComponent, isStandalone: false, selector: "mantle-plain-dashboard-container", inputs: { dashboardPageService: "dashboardPageService", content: "content", container: "container", searchValues: "searchValues" }, ngImport: i0, template: "<ng-container *ngFor=\"let section of container.sections\">\n <ng-container *ngIf=\"!section.hidden\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'dashboard'\">\n <mantle-dashboard-section\n [slug]=\"section.slug\"\n [section]=\"asDynamicLayoutDashboardSection(section)\"\n [data]=\"content.data\"\n [dashboardPageService]=\"dashboardPageService\"\n [searchValues]=\"searchValues\">\n </mantle-dashboard-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-details-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [data]=\"content.data\">\n </mantle-grid-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-details-section\n [section]=\"asDynamicLayoutTableSection(section)\"\n [data]=\"content.data\">\n </mantle-table-details-section>\n </ng-container>\n\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: GridDetailsSectionComponent, selector: "mantle-grid-details-section", inputs: ["data", "section", "defaultRowHeight"] }, { kind: "component", type: TableDetailsSectionComponent, selector: "mantle-table-details-section", inputs: ["data", "section", "detailPageService"] }, { kind: "component", type: DashboardSectionComponent, selector: "mantle-dashboard-section", inputs: ["dashboardPageService", "slug", "data", "section", "searchValues"] }] }); }
5707
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PlainDashboardContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5708
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: PlainDashboardContainerComponent, isStandalone: false, selector: "mantle-plain-dashboard-container", inputs: { dashboardPageService: "dashboardPageService", content: "content", container: "container", searchValues: "searchValues" }, ngImport: i0, template: "<ng-container *ngFor=\"let section of container.sections\">\n <ng-container *ngIf=\"!section.hidden\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'dashboard'\">\n <mantle-dashboard-section\n [slug]=\"section.slug\"\n [section]=\"asDynamicLayoutDashboardSection(section)\"\n [data]=\"content.data\"\n [dashboardPageService]=\"dashboardPageService\"\n [searchValues]=\"searchValues\">\n </mantle-dashboard-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-details-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [data]=\"content.data\">\n </mantle-grid-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-details-section\n [section]=\"asDynamicLayoutTableSection(section)\"\n [data]=\"content.data\">\n </mantle-table-details-section>\n </ng-container>\n\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: GridDetailsSectionComponent, selector: "mantle-grid-details-section", inputs: ["data", "section", "defaultRowHeight"] }, { kind: "component", type: TableDetailsSectionComponent, selector: "mantle-table-details-section", inputs: ["data", "section", "detailPageService"] }, { kind: "component", type: DashboardSectionComponent, selector: "mantle-dashboard-section", inputs: ["dashboardPageService", "slug", "data", "section", "searchValues"] }] }); }
5709
5709
  }
5710
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PlainDashboardContainerComponent, decorators: [{
5710
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PlainDashboardContainerComponent, decorators: [{
5711
5711
  type: Component,
5712
5712
  args: [{ selector: 'mantle-plain-dashboard-container', standalone: false, template: "<ng-container *ngFor=\"let section of container.sections\">\n <ng-container *ngIf=\"!section.hidden\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'dashboard'\">\n <mantle-dashboard-section\n [slug]=\"section.slug\"\n [section]=\"asDynamicLayoutDashboardSection(section)\"\n [data]=\"content.data\"\n [dashboardPageService]=\"dashboardPageService\"\n [searchValues]=\"searchValues\">\n </mantle-dashboard-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-details-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [data]=\"content.data\">\n </mantle-grid-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-details-section\n [section]=\"asDynamicLayoutTableSection(section)\"\n [data]=\"content.data\">\n </mantle-table-details-section>\n </ng-container>\n\n </ng-container>\n </ng-container>\n</ng-container>\n" }]
5713
5713
  }], ctorParameters: () => [], propDecorators: { dashboardPageService: [{
@@ -5724,10 +5724,10 @@ class DynamicDashboardContainerComponent {
5724
5724
  constructor() {
5725
5725
  this.searchValues = {};
5726
5726
  }
5727
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicDashboardContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5728
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicDashboardContainerComponent, isStandalone: false, selector: "mantle-dynamic-dashboard-container", inputs: { dashboardPageService: "dashboardPageService", content: "content", container: "container", searchValues: "searchValues" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"container.container_style\">\n\n <ng-container *ngSwitchCase=\"'plain'\">\n <mantle-plain-dashboard-container [dashboardPageService]=\"dashboardPageService\" [container]=\"container\" [content]=\"content\" [searchValues]=\"searchValues\">\n </mantle-plain-dashboard-container>\n </ng-container>\n\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: PlainDashboardContainerComponent, selector: "mantle-plain-dashboard-container", inputs: ["dashboardPageService", "content", "container", "searchValues"] }] }); }
5727
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicDashboardContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5728
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicDashboardContainerComponent, isStandalone: false, selector: "mantle-dynamic-dashboard-container", inputs: { dashboardPageService: "dashboardPageService", content: "content", container: "container", searchValues: "searchValues" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"container.container_style\">\n\n <ng-container *ngSwitchCase=\"'plain'\">\n <mantle-plain-dashboard-container [dashboardPageService]=\"dashboardPageService\" [container]=\"container\" [content]=\"content\" [searchValues]=\"searchValues\">\n </mantle-plain-dashboard-container>\n </ng-container>\n\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: PlainDashboardContainerComponent, selector: "mantle-plain-dashboard-container", inputs: ["dashboardPageService", "content", "container", "searchValues"] }] }); }
5729
5729
  }
5730
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicDashboardContainerComponent, decorators: [{
5730
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicDashboardContainerComponent, decorators: [{
5731
5731
  type: Component,
5732
5732
  args: [{ selector: 'mantle-dynamic-dashboard-container', standalone: false, template: "<ng-container [ngSwitch]=\"container.container_style\">\n\n <ng-container *ngSwitchCase=\"'plain'\">\n <mantle-plain-dashboard-container [dashboardPageService]=\"dashboardPageService\" [container]=\"container\" [content]=\"content\" [searchValues]=\"searchValues\">\n </mantle-plain-dashboard-container>\n </ng-container>\n\n</ng-container>\n" }]
5733
5733
  }], ctorParameters: () => [], propDecorators: { dashboardPageService: [{
@@ -5744,10 +5744,10 @@ class DynamicDashboardComponent {
5744
5744
  constructor() {
5745
5745
  this.searchValues = {};
5746
5746
  }
5747
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicDashboardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5748
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DynamicDashboardComponent, isStandalone: false, selector: "mantle-dynamic-dashboard", inputs: { dashboardPageService: "dashboardPageService", content: "content", searchValues: "searchValues" }, ngImport: i0, template: "<ng-container *ngIf=\"content; else loader\">\n <ng-container *ngFor=\"let container of content.containers\">\n <mantle-dynamic-dashboard-container [dashboardPageService]=\"dashboardPageService\" [container]=\"container\" [content]=\"content\" [searchValues]=\"searchValues\">\n </mantle-dynamic-dashboard-container>\n </ng-container>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoaderComponent, selector: "mantle-loader", inputs: ["delay"] }, { kind: "component", type: DynamicDashboardContainerComponent, selector: "mantle-dynamic-dashboard-container", inputs: ["dashboardPageService", "content", "container", "searchValues"] }] }); }
5747
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicDashboardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5748
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DynamicDashboardComponent, isStandalone: false, selector: "mantle-dynamic-dashboard", inputs: { dashboardPageService: "dashboardPageService", content: "content", searchValues: "searchValues" }, ngImport: i0, template: "<ng-container *ngIf=\"content; else loader\">\n <ng-container *ngFor=\"let container of content.containers\">\n <mantle-dynamic-dashboard-container [dashboardPageService]=\"dashboardPageService\" [container]=\"container\" [content]=\"content\" [searchValues]=\"searchValues\">\n </mantle-dynamic-dashboard-container>\n </ng-container>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoaderComponent, selector: "mantle-loader", inputs: ["delay"] }, { kind: "component", type: DynamicDashboardContainerComponent, selector: "mantle-dynamic-dashboard-container", inputs: ["dashboardPageService", "content", "container", "searchValues"] }] }); }
5749
5749
  }
5750
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DynamicDashboardComponent, decorators: [{
5750
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DynamicDashboardComponent, decorators: [{
5751
5751
  type: Component,
5752
5752
  args: [{ selector: 'mantle-dynamic-dashboard', standalone: false, template: "<ng-container *ngIf=\"content; else loader\">\n <ng-container *ngFor=\"let container of content.containers\">\n <mantle-dynamic-dashboard-container [dashboardPageService]=\"dashboardPageService\" [container]=\"container\" [content]=\"content\" [searchValues]=\"searchValues\">\n </mantle-dynamic-dashboard-container>\n </ng-container>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n" }]
5753
5753
  }], ctorParameters: () => [], propDecorators: { dashboardPageService: [{
@@ -5773,10 +5773,10 @@ class DashboardPageComponent {
5773
5773
  return res.content;
5774
5774
  }));
5775
5775
  }
5776
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DashboardPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
5777
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DashboardPageComponent, isStandalone: false, selector: "mantle-dashboard-page", ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\" class=\"page dashboard-page full-height-only vertically-scrollable\">\n\n <div fxFlex=\"0 0 auto\">\n <mantle-page-title>{{ pageTitle | translate }}</mantle-page-title>\n </div>\n\n <div fxFlex=\"1 0 auto\">\n <mantle-dynamic-dashboard [content]=\"content$ | async\" [searchValues]=\"searchValues\" [dashboardPageService]=\"dashboardPageService\"></mantle-dynamic-dashboard>\n </div>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: PageTitleComponent, selector: "mantle-page-title" }, { kind: "component", type: DynamicDashboardComponent, selector: "mantle-dynamic-dashboard", inputs: ["dashboardPageService", "content", "searchValues"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
5776
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DashboardPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
5777
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DashboardPageComponent, isStandalone: false, selector: "mantle-dashboard-page", ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\" class=\"page dashboard-page full-height-only vertically-scrollable\">\n\n <div fxFlex=\"0 0 auto\">\n <mantle-page-title>{{ pageTitle | translate }}</mantle-page-title>\n </div>\n\n <div fxFlex=\"1 0 auto\">\n <mantle-dynamic-dashboard [content]=\"content$ | async\" [searchValues]=\"searchValues\" [dashboardPageService]=\"dashboardPageService\"></mantle-dynamic-dashboard>\n </div>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: PageTitleComponent, selector: "mantle-page-title" }, { kind: "component", type: DynamicDashboardComponent, selector: "mantle-dynamic-dashboard", inputs: ["dashboardPageService", "content", "searchValues"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
5778
5778
  }
5779
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DashboardPageComponent, decorators: [{
5779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DashboardPageComponent, decorators: [{
5780
5780
  type: Component,
5781
5781
  args: [{ selector: 'mantle-dashboard-page', standalone: false, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\" class=\"page dashboard-page full-height-only vertically-scrollable\">\n\n <div fxFlex=\"0 0 auto\">\n <mantle-page-title>{{ pageTitle | translate }}</mantle-page-title>\n </div>\n\n <div fxFlex=\"1 0 auto\">\n <mantle-dynamic-dashboard [content]=\"content$ | async\" [searchValues]=\"searchValues\" [dashboardPageService]=\"dashboardPageService\"></mantle-dynamic-dashboard>\n </div>\n\n</div>\n" }]
5782
5782
  }], ctorParameters: () => [{ type: i1$5.ActivatedRoute }, { type: i0.Injector }] });
@@ -5830,10 +5830,10 @@ class LayoutEditorPageComponent {
5830
5830
  back() {
5831
5831
  this.layoutEditorPageService.openList();
5832
5832
  }
5833
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LayoutEditorPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }, { token: AnnouncementService }], target: i0.ɵɵFactoryTarget.Component }); }
5834
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: LayoutEditorPageComponent, isStandalone: false, selector: "mantle-layout-editor-page", ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" class=\"full-height-min\" [ngClass]=\"{'page full-height-only vertically-scrollable': !isTabbedContent}\">\n <div fxFlex=\"0 0 auto\" class=\"page-header headline-5\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center start\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\">\n <mantle-content-title *ngIf=\"header\" [title]=\"header.title\"></mantle-content-title>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 auto\" class=\"main-content\">\n <mantle-dynamic-layout-editor [content]=\"content\" [layoutEditorPageService]=\"layoutEditorPageService\"></mantle-dynamic-layout-editor>\n </div>\n\n <div fxFlex=\"0 0 auto\" class=\"page-footer\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"layoutEditorPageService.showSaveButton\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n class=\"button-with-spinner save-button\"\n [disabled]=\"layoutEditorPageService.isCommitInProgress\"\n (click)=\"onSaveClicked()\"> <!-- TODO || !dynamicForm?.valid -->\n {{ 'mantle.buttons.save' | translate }}\n <mat-spinner *ngIf=\"isSaveInProgress\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".save-button{width:140px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: DynamicLayoutEditorComponent, selector: "mantle-dynamic-layout-editor", inputs: ["layoutEditorPageService", "content"] }, { kind: "component", type: ContentTitleComponent, selector: "mantle-content-title", inputs: ["thumbnail", "title"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
5833
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LayoutEditorPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }, { token: AnnouncementService }], target: i0.ɵɵFactoryTarget.Component }); }
5834
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: LayoutEditorPageComponent, isStandalone: false, selector: "mantle-layout-editor-page", ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" class=\"full-height-min\" [ngClass]=\"{'page full-height-only vertically-scrollable': !isTabbedContent}\">\n <div fxFlex=\"0 0 auto\" class=\"page-header headline-5\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center start\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\">\n <mantle-content-title *ngIf=\"header\" [title]=\"header.title\"></mantle-content-title>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 auto\" class=\"main-content\">\n <mantle-dynamic-layout-editor [content]=\"content\" [layoutEditorPageService]=\"layoutEditorPageService\"></mantle-dynamic-layout-editor>\n </div>\n\n <div fxFlex=\"0 0 auto\" class=\"page-footer\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"layoutEditorPageService.showSaveButton\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n class=\"button-with-spinner save-button\"\n [disabled]=\"layoutEditorPageService.isCommitInProgress\"\n (click)=\"onSaveClicked()\"> <!-- TODO || !dynamicForm?.valid -->\n {{ 'mantle.buttons.save' | translate }}\n <mat-spinner *ngIf=\"isSaveInProgress\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".save-button{width:140px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: DynamicLayoutEditorComponent, selector: "mantle-dynamic-layout-editor", inputs: ["layoutEditorPageService", "content"] }, { kind: "component", type: ContentTitleComponent, selector: "mantle-content-title", inputs: ["thumbnail", "title"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
5835
5835
  }
5836
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LayoutEditorPageComponent, decorators: [{
5836
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: LayoutEditorPageComponent, decorators: [{
5837
5837
  type: Component,
5838
5838
  args: [{ selector: 'mantle-layout-editor-page', standalone: false, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" class=\"full-height-min\" [ngClass]=\"{'page full-height-only vertically-scrollable': !isTabbedContent}\">\n <div fxFlex=\"0 0 auto\" class=\"page-header headline-5\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center start\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\">\n <mantle-content-title *ngIf=\"header\" [title]=\"header.title\"></mantle-content-title>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 auto\" class=\"main-content\">\n <mantle-dynamic-layout-editor [content]=\"content\" [layoutEditorPageService]=\"layoutEditorPageService\"></mantle-dynamic-layout-editor>\n </div>\n\n <div fxFlex=\"0 0 auto\" class=\"page-footer\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"layoutEditorPageService.showSaveButton\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n class=\"button-with-spinner save-button\"\n [disabled]=\"layoutEditorPageService.isCommitInProgress\"\n (click)=\"onSaveClicked()\"> <!-- TODO || !dynamicForm?.valid -->\n {{ 'mantle.buttons.save' | translate }}\n <mat-spinner *ngIf=\"isSaveInProgress\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".save-button{width:140px}\n"] }]
5839
5839
  }], ctorParameters: () => [{ type: i1$5.ActivatedRoute }, { type: i0.Injector }, { type: AnnouncementService }] });
@@ -5965,10 +5965,10 @@ class SearchPanelComponent {
5965
5965
  onSearchClicked() {
5966
5966
  this.search.emit(this.searchParams);
5967
5967
  }
5968
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SearchPanelComponent, deps: [{ token: DynamicFormService }, { token: ObjectService }], target: i0.ɵɵFactoryTarget.Component }); }
5969
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: SearchPanelComponent, isStandalone: false, selector: "mantle-search-panel", inputs: { searchFields: "searchFields" }, outputs: { search: "search" }, viewQueries: [{ propertyName: "searchForm", first: true, predicate: DynamicFormComponent, descendants: true }], ngImport: i0, template: "<div class=\"search-panel\">\n <div fxLayout=\"row\" fxLayoutAlign=\"stretch\">\n <div fxFlex=\"1 0 1px\"><h3 class=\"search-panel-title\">{{ 'mantle.search_panel.search' | translate }}</h3></div> <div fxFlex=\"0 0 auto\"><mat-icon>search</mat-icon></div>\n </div>\n <hr />\n\n <div class=\"filter-subtitle\">{{ 'mantle.search_panel.filter_by' | translate }}</div>\n\n <mantle-dynamic-form #searchForm [content]=\"content\"></mantle-dynamic-form>\n\n <button mat-button type=\"button\" class=\"reset-button\" (click)=\"onResetClicked()\">\n {{ 'mantle.buttons.reset' | translate }}\n </button>\n\n <button mat-raised-button color=\"primary\" type=\"button\" class=\"search-button\" (click)=\"onSearchClicked();\">\n {{ 'mantle.buttons.search' | translate }}\n </button>\n</div>\n", styles: [".search-panel{width:200px}.search-panel .search-panel-title{text-transform:uppercase;margin:0}.search-panel hr{margin-top:0}.search-panel .filter-subtitle{text-transform:uppercase;font-weight:700;margin-top:16px;margin-bottom:8px}.search-panel .reset-button{display:block;min-width:auto;background-color:transparent;text-transform:uppercase;font-weight:700;padding:0}.search-panel .search-button{display:block;width:100%;text-transform:uppercase;border-radius:0;margin:16px 0}\n"], dependencies: [{ kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: DynamicFormComponent, selector: "mantle-dynamic-form", inputs: ["formPageService", "content"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
5968
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SearchPanelComponent, deps: [{ token: DynamicFormService }, { token: ObjectService }], target: i0.ɵɵFactoryTarget.Component }); }
5969
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: SearchPanelComponent, isStandalone: false, selector: "mantle-search-panel", inputs: { searchFields: "searchFields" }, outputs: { search: "search" }, viewQueries: [{ propertyName: "searchForm", first: true, predicate: DynamicFormComponent, descendants: true }], ngImport: i0, template: "<div class=\"search-panel\">\n <div fxLayout=\"row\" fxLayoutAlign=\"stretch\">\n <div fxFlex=\"1 0 1px\"><h3 class=\"search-panel-title\">{{ 'mantle.search_panel.search' | translate }}</h3></div> <div fxFlex=\"0 0 auto\"><mat-icon>search</mat-icon></div>\n </div>\n <hr />\n\n <div class=\"filter-subtitle\">{{ 'mantle.search_panel.filter_by' | translate }}</div>\n\n <mantle-dynamic-form #searchForm [content]=\"content\"></mantle-dynamic-form>\n\n <button mat-button type=\"button\" class=\"reset-button\" (click)=\"onResetClicked()\">\n {{ 'mantle.buttons.reset' | translate }}\n </button>\n\n <button mat-raised-button color=\"primary\" type=\"button\" class=\"search-button\" (click)=\"onSearchClicked();\">\n {{ 'mantle.buttons.search' | translate }}\n </button>\n</div>\n", styles: [".search-panel{width:200px}.search-panel .search-panel-title{text-transform:uppercase;margin:0}.search-panel hr{margin-top:0}.search-panel .filter-subtitle{text-transform:uppercase;font-weight:700;margin-top:16px;margin-bottom:8px}.search-panel .reset-button{display:block;min-width:auto;background-color:transparent;text-transform:uppercase;font-weight:700;padding:0}.search-panel .search-button{display:block;width:100%;text-transform:uppercase;border-radius:0;margin:16px 0}\n"], dependencies: [{ kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: DynamicFormComponent, selector: "mantle-dynamic-form", inputs: ["formPageService", "content"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
5970
5970
  }
5971
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SearchPanelComponent, decorators: [{
5971
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SearchPanelComponent, decorators: [{
5972
5972
  type: Component,
5973
5973
  args: [{ selector: 'mantle-search-panel', standalone: false, template: "<div class=\"search-panel\">\n <div fxLayout=\"row\" fxLayoutAlign=\"stretch\">\n <div fxFlex=\"1 0 1px\"><h3 class=\"search-panel-title\">{{ 'mantle.search_panel.search' | translate }}</h3></div> <div fxFlex=\"0 0 auto\"><mat-icon>search</mat-icon></div>\n </div>\n <hr />\n\n <div class=\"filter-subtitle\">{{ 'mantle.search_panel.filter_by' | translate }}</div>\n\n <mantle-dynamic-form #searchForm [content]=\"content\"></mantle-dynamic-form>\n\n <button mat-button type=\"button\" class=\"reset-button\" (click)=\"onResetClicked()\">\n {{ 'mantle.buttons.reset' | translate }}\n </button>\n\n <button mat-raised-button color=\"primary\" type=\"button\" class=\"search-button\" (click)=\"onSearchClicked();\">\n {{ 'mantle.buttons.search' | translate }}\n </button>\n</div>\n", styles: [".search-panel{width:200px}.search-panel .search-panel-title{text-transform:uppercase;margin:0}.search-panel hr{margin-top:0}.search-panel .filter-subtitle{text-transform:uppercase;font-weight:700;margin-top:16px;margin-bottom:8px}.search-panel .reset-button{display:block;min-width:auto;background-color:transparent;text-transform:uppercase;font-weight:700;padding:0}.search-panel .search-button{display:block;width:100%;text-transform:uppercase;border-radius:0;margin:16px 0}\n"] }]
5974
5974
  }], ctorParameters: () => [{ type: DynamicFormService }, { type: ObjectService }], propDecorators: { searchForm: [{
@@ -6082,8 +6082,8 @@ class ListPageComponent {
6082
6082
  toggleCollapsibleColumns() {
6083
6083
  this.expandCollapsibleColumns = !this.expandCollapsibleColumns;
6084
6084
  }
6085
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ListPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: ArrayService }, { token: ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component }); }
6086
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: ListPageComponent, isStandalone: false, selector: "mantle-list-page", viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "table", first: true, predicate: MatTable, descendants: true }, { propertyName: "searchPanel", first: true, predicate: SearchPanelComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\" class=\"list-page\" [ngClass]=\"{'page': !isTabbedContent}\">\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"!isTabbedContent\">\n <mantle-page-title>{{ pageTitle | translate }}</mantle-page-title>\n </div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"listPageService.showBackToParentButton || withCollapsibleColumns\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"listPageService.showBackToParentButton\">\n <button class=\"back-button\" mat-mini-fab color=\"primary\" type=\"button\" (click)=\"onBackToParentClicked()\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n </div>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"withCollapsibleColumns\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n class=\"toggle-collapsible-columns-button button-with-icon\"\n (click)=\"toggleCollapsibleColumns()\">\n <ng-container *ngIf=\"expandCollapsibleColumns\">\n <mat-icon class=\"left-icon\">keyboard_double_arrow_left</mat-icon>\n <span>{{ 'mantle.buttons.collapse_table' | translate }}</span>\n </ng-container>\n <ng-container *ngIf=\"!expandCollapsibleColumns\">\n <span>{{ 'mantle.buttons.expand_table' | translate }}</span>\n <mat-icon class=\"right-icon\">keyboard_double_arrow_right</mat-icon>\n </ng-container>\n </button>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 1px\">\n <mat-drawer-container class=\"full-height-only\" [hasBackdrop]=\"isSmallScreen\">\n <mat-drawer #drawer\n [mode]=\"isSmallScreen ? 'over' : 'side'\"\n [position]=\"isSmallScreen ? 'end' : 'start'\"\n [opened]=\"isActionPanelOpen\"\n [disableClose]=\"!isSmallScreen\"\n (closedStart)=\"isActionPanelOpen = false\"\n (openedStart)=\"isActionPanelOpen = true\">\n\n <button *ngIf=\"listPageService.showAddButton && listPageService.canWrite()\"\n mat-raised-button\n color=\"accent\"\n type=\"button\"\n class=\"add-button\"\n (click)=\"onAddClicked()\">\n <ng-container *ngIf=\"listPageService.customAddButtonLabel; else standardAddButtonLabel\">\n {{ listPageService.customAddButtonLabel | translate }}\n </ng-container>\n <ng-template #standardAddButtonLabel>\n + {{ 'mantle.buttons.add' | translate }} {{ listPageService.noun() | translate }}\n </ng-template>\n </button>\n\n <div class=\"search-section\">\n <mantle-search-panel #searchPanel\n [searchFields]=\"listPageService.searchFields()\">\n </mantle-search-panel>\n </div>\n\n <ng-container *ngFor=\"let exportOption of exportOptions\">\n <button mat-button type=\"button\" class=\"export-button\" (click)=\"exportOption.export(searchPanel.searchParams).subscribe()\">\n <span class=\"export-button-label\">{{ exportOption.label | translate }}</span>\n <mat-icon>download</mat-icon>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"dataSource.selectedRecordIds.length > 0\">\n <ng-container *ngFor=\"let exportOption of bulkExportOptions\">\n <button mat-button type=\"button\" class=\"export-button\" (click)=\"onBulkExportClicked(exportOption)\">\n <span class=\"export-button-label\">{{ exportOption.label | translate }}</span>\n <mat-icon>download</mat-icon>\n </button>\n </ng-container>\n </ng-container>\n\n <ng-container *ngFor=\"let button of additionalButtons\">\n <div *ngIf=\"button.show()\">\n <button mat-raised-button\n color=\"{{ button.color }}\"\n type=\"button\"\n class=\"additional-button\"\n [disabled]=\"listPageService.isCommitInProgress || button.disabled || dataSource.selectedRecordIds.length <= 0\"\n (click)=\"button.onClick(dataSource.selectedRecordIds)\">\n {{ button.label | translate }}\n </button>\n </div>\n </ng-container>\n\n </mat-drawer>\n\n <div fxLayout=\"column\" fxLayoutAlign=\"stretch\" class=\"main-content full-height-only\">\n\n <div fxFlex=\"1 0 1px\" class=\"vertically-scrollable\">\n <table mat-table class=\"full-width horizontal-scroll-table\" matSort>\n\n <ng-container matColumnDef=\"select\">\n <th mat-header-cell *matHeaderCellDef>\n <mat-checkbox click-stop-propagation\n (change)=\"onCheckAll($event.checked)\"\n [checked]=\"dataSource.selectAll\"\n [indeterminate]=\"dataSource.selectAll && (dataSource.selectedRecordIds.length < dataSource.data.length)\">\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let row\" click-stop-propagation>\n <mat-checkbox (change)=\"onRecordChecked(row, $event.checked)\"\n [checked]=\"isRecordChecked(row)\"\n [disabled]=\"!listPageService.isRowSelectable(row)\">\n </mat-checkbox>\n </td>\n </ng-container>\n\n <ng-container *ngFor=\"let column of displayedColumns; let i = index\">\n <ng-container matColumnDef=\"{{ column.attr }}\">\n <th mat-header-cell *matHeaderCellDef\n mat-sort-header=\"{{column.sortAttr || column.attr}}\" [disabled]=\"column.disableSort\"\n [@collapse]=\"column.enableCollapse && !expandCollapsibleColumns\"\n [ngClass]=\"{\n 'collapsible-column': column.enableCollapse,\n 'collapsible-column-left': column.enableCollapse && (!displayedColumns[i - 1] || !displayedColumns[i - 1].enableCollapse),\n 'collapsible-column-right': column.enableCollapse && (!displayedColumns[i + 1] || !displayedColumns[i + 1].enableCollapse)\n }\">\n {{ column.header | translate }}\n </th>\n <td mat-cell *matCellDef=\"let row\"\n [@collapse]=\"column.enableCollapse && !expandCollapsibleColumns\"\n [ngClass]=\"{\n 'collapsible-column': column.enableCollapse,\n 'collapsible-column-left': column.enableCollapse && (!displayedColumns[i - 1] || !displayedColumns[i - 1].enableCollapse),\n 'collapsible-column-right': column.enableCollapse && (!displayedColumns[i + 1] || !displayedColumns[i + 1].enableCollapse)\n }\">\n <mantle-dynamic-attribute-display\n [fieldType]=\"column.type\"\n [value]=\"row[column.attr]\"\n [options]=\"column.options\">\n </mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumnAttrs\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumnAttrs;\"\n (click)=\"onRecordClicked(row)\"\n [class.clickable-row]=\"withClickableRows\">\n </tr>\n </table>\n </div>\n\n <mat-paginator #paginator\n fxFlex=\"0 0 auto\"\n [length]=\"0\"\n [pageIndex]=\"0\"\n [pageSize]=\"10\"\n [pageSizeOptions]=\"[10, 20, 50]\">\n </mat-paginator>\n\n </div>\n\n </mat-drawer-container>\n </div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"isSmallScreen\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n\n <button *ngIf=\"isActionPanelOpen\" type=\"button\" mat-button (click)=\"drawer.toggle()\">\n <ng-container *ngIf=\"isActionPanelOpen\">\n {{ 'mantle.buttons.close_actions' | translate }}<mat-icon>chevron_right</mat-icon>\n </ng-container>\n </button>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <button *ngIf=\"!isActionPanelOpen\" type=\"button\" mat-button (click)=\"drawer.toggle()\">\n <ng-container>\n <mat-icon>chevron_left</mat-icon> {{ 'mantle.buttons.open_actions' | translate }}\n </ng-container>\n </button>\n\n </div>\n </div>\n</div>\n", styles: [".main-content{padding-top:0;padding-bottom:0}.list-page{height:100%;max-height:100%}.mat-drawer{padding:0 16px 0 0}.mat-drawer .add-button{display:block;width:200px;height:auto;text-transform:uppercase;text-wrap-mode:wrap;border-radius:0;margin:16px 0 0;line-height:16px;padding:10px 16px}.mat-drawer-end{padding:0 16px}.search-section{margin:16px 0 0}.export-button{display:flex;align-items:center;justify-content:center;width:144px;background-color:transparent;white-space:nowrap;padding:0;margin:16px 0 16px auto}.export-button .export-button-label{display:inline-block;width:100px;white-space:normal;text-align:right;text-transform:uppercase;font-weight:400;line-height:1.25rem;margin-right:.25rem}.export-button .mdc-button__label{order:0}.export-button .mat-icon{order:1;height:auto;width:auto;font-size:2.5rem;margin:0}.toggle-collapsible-columns-button{width:220px;text-transform:uppercase}.toggle-collapsible-columns-button .mdc-button__label .mat-icon{font-size:1.2rem}.collapsible-column-left{border-left:1px solid lightgray}.collapsible-column-right{border-right:1px solid lightgray}th.collapsible-column{border-top:1px solid lightgray}th.collapsible-column-left{border-radius:2px 0 0}th.collapsible-column-right{border-radius:0 2px 0 0}.additional-button{display:block;width:200px;height:auto;text-transform:uppercase;text-wrap-mode:wrap;border-radius:0;margin:16px 0 0;line-height:16px;padding:10px 16px}@media (max-height: 600px){.list-page{height:600px;max-height:600px}}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i8$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i10.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i3$3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3$3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3$3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3$3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3$3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3$3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3$3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3$3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3$3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3$3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i12.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: i13.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i13.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[click-stop-propagation]" }, { kind: "component", type: DynamicAttributeDisplayComponent, selector: "mantle-dynamic-attribute-display", inputs: ["value", "field", "fieldType", "options"] }, { kind: "component", type: PageTitleComponent, selector: "mantle-page-title" }, { kind: "component", type: SearchPanelComponent, selector: "mantle-search-panel", inputs: ["searchFields"], outputs: ["search"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], animations: [
6085
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ListPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: ArrayService }, { token: ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component }); }
6086
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ListPageComponent, isStandalone: false, selector: "mantle-list-page", viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "table", first: true, predicate: MatTable, descendants: true }, { propertyName: "searchPanel", first: true, predicate: SearchPanelComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\" class=\"list-page\" [ngClass]=\"{'page': !isTabbedContent}\">\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"!isTabbedContent\">\n <mantle-page-title>{{ pageTitle | translate }}</mantle-page-title>\n </div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"listPageService.showBackToParentButton || withCollapsibleColumns\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"listPageService.showBackToParentButton\">\n <button class=\"back-button\" mat-mini-fab color=\"primary\" type=\"button\" (click)=\"onBackToParentClicked()\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n </div>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"withCollapsibleColumns\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n class=\"toggle-collapsible-columns-button button-with-icon\"\n (click)=\"toggleCollapsibleColumns()\">\n <ng-container *ngIf=\"expandCollapsibleColumns\">\n <mat-icon class=\"left-icon\">keyboard_double_arrow_left</mat-icon>\n <span>{{ 'mantle.buttons.collapse_table' | translate }}</span>\n </ng-container>\n <ng-container *ngIf=\"!expandCollapsibleColumns\">\n <span>{{ 'mantle.buttons.expand_table' | translate }}</span>\n <mat-icon class=\"right-icon\">keyboard_double_arrow_right</mat-icon>\n </ng-container>\n </button>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 1px\">\n <mat-drawer-container class=\"full-height-only\" [hasBackdrop]=\"isSmallScreen\">\n <mat-drawer #drawer\n [mode]=\"isSmallScreen ? 'over' : 'side'\"\n [position]=\"isSmallScreen ? 'end' : 'start'\"\n [opened]=\"isActionPanelOpen\"\n [disableClose]=\"!isSmallScreen\"\n (closedStart)=\"isActionPanelOpen = false\"\n (openedStart)=\"isActionPanelOpen = true\">\n\n <button *ngIf=\"listPageService.showAddButton && listPageService.canWrite()\"\n mat-raised-button\n color=\"accent\"\n type=\"button\"\n class=\"add-button\"\n (click)=\"onAddClicked()\">\n <ng-container *ngIf=\"listPageService.customAddButtonLabel; else standardAddButtonLabel\">\n {{ listPageService.customAddButtonLabel | translate }}\n </ng-container>\n <ng-template #standardAddButtonLabel>\n + {{ 'mantle.buttons.add' | translate }} {{ listPageService.noun() | translate }}\n </ng-template>\n </button>\n\n <div class=\"search-section\">\n <mantle-search-panel #searchPanel\n [searchFields]=\"listPageService.searchFields()\">\n </mantle-search-panel>\n </div>\n\n <ng-container *ngFor=\"let exportOption of exportOptions\">\n <button mat-button type=\"button\" class=\"export-button\" (click)=\"exportOption.export(searchPanel.searchParams).subscribe()\">\n <span class=\"export-button-label\">{{ exportOption.label | translate }}</span>\n <mat-icon>download</mat-icon>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"dataSource.selectedRecordIds.length > 0\">\n <ng-container *ngFor=\"let exportOption of bulkExportOptions\">\n <button mat-button type=\"button\" class=\"export-button\" (click)=\"onBulkExportClicked(exportOption)\">\n <span class=\"export-button-label\">{{ exportOption.label | translate }}</span>\n <mat-icon>download</mat-icon>\n </button>\n </ng-container>\n </ng-container>\n\n <ng-container *ngFor=\"let button of additionalButtons\">\n <div *ngIf=\"button.show()\">\n <button mat-raised-button\n color=\"{{ button.color }}\"\n type=\"button\"\n class=\"additional-button\"\n [disabled]=\"listPageService.isCommitInProgress || button.disabled || dataSource.selectedRecordIds.length <= 0\"\n (click)=\"button.onClick(dataSource.selectedRecordIds)\">\n {{ button.label | translate }}\n </button>\n </div>\n </ng-container>\n\n </mat-drawer>\n\n <div fxLayout=\"column\" fxLayoutAlign=\"stretch\" class=\"main-content full-height-only\">\n\n <div fxFlex=\"1 0 1px\" class=\"vertically-scrollable\">\n <table mat-table class=\"full-width horizontal-scroll-table\" matSort>\n\n <ng-container matColumnDef=\"select\">\n <th mat-header-cell *matHeaderCellDef>\n <mat-checkbox click-stop-propagation\n (change)=\"onCheckAll($event.checked)\"\n [checked]=\"dataSource.selectAll\"\n [indeterminate]=\"dataSource.selectAll && (dataSource.selectedRecordIds.length < dataSource.data.length)\">\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let row\" click-stop-propagation>\n <mat-checkbox (change)=\"onRecordChecked(row, $event.checked)\"\n [checked]=\"isRecordChecked(row)\"\n [disabled]=\"!listPageService.isRowSelectable(row)\">\n </mat-checkbox>\n </td>\n </ng-container>\n\n <ng-container *ngFor=\"let column of displayedColumns; let i = index\">\n <ng-container matColumnDef=\"{{ column.attr }}\">\n <th mat-header-cell *matHeaderCellDef\n mat-sort-header=\"{{column.sortAttr || column.attr}}\" [disabled]=\"column.disableSort\"\n [@collapse]=\"column.enableCollapse && !expandCollapsibleColumns\"\n [ngClass]=\"{\n 'collapsible-column': column.enableCollapse,\n 'collapsible-column-left': column.enableCollapse && (!displayedColumns[i - 1] || !displayedColumns[i - 1].enableCollapse),\n 'collapsible-column-right': column.enableCollapse && (!displayedColumns[i + 1] || !displayedColumns[i + 1].enableCollapse)\n }\">\n {{ column.header | translate }}\n </th>\n <td mat-cell *matCellDef=\"let row\"\n [@collapse]=\"column.enableCollapse && !expandCollapsibleColumns\"\n [ngClass]=\"{\n 'collapsible-column': column.enableCollapse,\n 'collapsible-column-left': column.enableCollapse && (!displayedColumns[i - 1] || !displayedColumns[i - 1].enableCollapse),\n 'collapsible-column-right': column.enableCollapse && (!displayedColumns[i + 1] || !displayedColumns[i + 1].enableCollapse)\n }\">\n <mantle-dynamic-attribute-display\n [fieldType]=\"column.type\"\n [value]=\"row[column.attr]\"\n [options]=\"column.options\">\n </mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumnAttrs\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumnAttrs;\"\n (click)=\"onRecordClicked(row)\"\n [class.clickable-row]=\"withClickableRows\">\n </tr>\n </table>\n </div>\n\n <mat-paginator #paginator\n fxFlex=\"0 0 auto\"\n [length]=\"0\"\n [pageIndex]=\"0\"\n [pageSize]=\"10\"\n [pageSizeOptions]=\"[10, 20, 50]\">\n </mat-paginator>\n\n </div>\n\n </mat-drawer-container>\n </div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"isSmallScreen\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n\n <button *ngIf=\"isActionPanelOpen\" type=\"button\" mat-button (click)=\"drawer.toggle()\">\n <ng-container *ngIf=\"isActionPanelOpen\">\n {{ 'mantle.buttons.close_actions' | translate }}<mat-icon>chevron_right</mat-icon>\n </ng-container>\n </button>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <button *ngIf=\"!isActionPanelOpen\" type=\"button\" mat-button (click)=\"drawer.toggle()\">\n <ng-container>\n <mat-icon>chevron_left</mat-icon> {{ 'mantle.buttons.open_actions' | translate }}\n </ng-container>\n </button>\n\n </div>\n </div>\n</div>\n", styles: [".main-content{padding-top:0;padding-bottom:0}.list-page{height:100%;max-height:100%}.mat-drawer{padding:0 16px 0 0}.mat-drawer .add-button{display:block;width:200px;height:auto;text-transform:uppercase;text-wrap-mode:wrap;border-radius:0;margin:16px 0 0;line-height:16px;padding:10px 16px}.mat-drawer-end{padding:0 16px}.search-section{margin:16px 0 0}.export-button{display:flex;align-items:center;justify-content:center;width:144px;background-color:transparent;white-space:nowrap;padding:0;margin:16px 0 16px auto}.export-button .export-button-label{display:inline-block;width:100px;white-space:normal;text-align:right;text-transform:uppercase;font-weight:400;line-height:1.25rem;margin-right:.25rem}.export-button .mdc-button__label{order:0}.export-button .mat-icon{order:1;height:auto;width:auto;font-size:2.5rem;margin:0}.toggle-collapsible-columns-button{width:220px;text-transform:uppercase}.toggle-collapsible-columns-button .mdc-button__label .mat-icon{font-size:1.2rem}.collapsible-column-left{border-left:1px solid lightgray}.collapsible-column-right{border-right:1px solid lightgray}th.collapsible-column{border-top:1px solid lightgray}th.collapsible-column-left{border-radius:2px 0 0}th.collapsible-column-right{border-radius:0 2px 0 0}.additional-button{display:block;width:200px;height:auto;text-transform:uppercase;text-wrap-mode:wrap;border-radius:0;margin:16px 0 0;line-height:16px;padding:10px 16px}@media (max-height: 600px){.list-page{height:600px;max-height:600px}}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i8$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i10.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i3$3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3$3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3$3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3$3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3$3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3$3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3$3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3$3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3$3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3$3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i12.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: i13.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i13.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[click-stop-propagation]" }, { kind: "component", type: DynamicAttributeDisplayComponent, selector: "mantle-dynamic-attribute-display", inputs: ["value", "field", "fieldType", "options"] }, { kind: "component", type: PageTitleComponent, selector: "mantle-page-title" }, { kind: "component", type: SearchPanelComponent, selector: "mantle-search-panel", inputs: ["searchFields"], outputs: ["search"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], animations: [
6087
6087
  trigger('collapse', [
6088
6088
  state('false', style({ display: AUTO_STYLE, opacity: 1 })),
6089
6089
  state('true', style({ display: 'none', opacity: 0 })),
@@ -6098,7 +6098,7 @@ class ListPageComponent {
6098
6098
  ])
6099
6099
  ] }); }
6100
6100
  }
6101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ListPageComponent, decorators: [{
6101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ListPageComponent, decorators: [{
6102
6102
  type: Component,
6103
6103
  args: [{ selector: 'mantle-list-page', standalone: false, animations: [
6104
6104
  trigger('collapse', [
@@ -6142,10 +6142,10 @@ class DeleteConfirmationDialogComponent {
6142
6142
  onCancel() {
6143
6143
  this.dialogRef.close({ confirmed: false });
6144
6144
  }
6145
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DeleteConfirmationDialogComponent, deps: [{ token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
6146
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DeleteConfirmationDialogComponent, isStandalone: false, selector: "mantle-delete-confirmation-dialog", ngImport: i0, template: "<mat-dialog-content class=\"content-section\">\n\n <h1 class=\"warn-text\">{{ 'mantle.messages.are_you_sure' | translate }} </h1>\n <h3>{{ message | translate }}</h3>\n\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" class=\"actions-section\">\n <button fxFlex=\"0 0 auto\" mat-button (click)=\"onCancel()\">{{ 'mantle.buttons.cancel' | translate }}</button>\n <div fxFlex=\"1 1 auto\"></div>\n <button fxFlex=\"0 0 auto\" *ngFor=\"let button of buttons\"\n mat-button\n color=\"warn\"\n (click)=\"onDeleteClicked(button.onClick)\">\n {{ button.label | translate }}\n </button>\n</mat-dialog-actions>\n", styles: ["h1,h3{margin-bottom:8px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6145
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DeleteConfirmationDialogComponent, deps: [{ token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
6146
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DeleteConfirmationDialogComponent, isStandalone: false, selector: "mantle-delete-confirmation-dialog", ngImport: i0, template: "<mat-dialog-content class=\"content-section\">\n\n <h1 class=\"warn-text\">{{ 'mantle.messages.are_you_sure' | translate }} </h1>\n <h3>{{ message | translate }}</h3>\n\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" class=\"actions-section\">\n <button fxFlex=\"0 0 auto\" mat-button (click)=\"onCancel()\">{{ 'mantle.buttons.cancel' | translate }}</button>\n <div fxFlex=\"1 1 auto\"></div>\n <button fxFlex=\"0 0 auto\" *ngFor=\"let button of buttons\"\n mat-button\n color=\"warn\"\n (click)=\"onDeleteClicked(button.onClick)\">\n {{ button.label | translate }}\n </button>\n</mat-dialog-actions>\n", styles: ["h1,h3{margin-bottom:8px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6147
6147
  }
6148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DeleteConfirmationDialogComponent, decorators: [{
6148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DeleteConfirmationDialogComponent, decorators: [{
6149
6149
  type: Component,
6150
6150
  args: [{ selector: 'mantle-delete-confirmation-dialog', standalone: false, template: "<mat-dialog-content class=\"content-section\">\n\n <h1 class=\"warn-text\">{{ 'mantle.messages.are_you_sure' | translate }} </h1>\n <h3>{{ message | translate }}</h3>\n\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" class=\"actions-section\">\n <button fxFlex=\"0 0 auto\" mat-button (click)=\"onCancel()\">{{ 'mantle.buttons.cancel' | translate }}</button>\n <div fxFlex=\"1 1 auto\"></div>\n <button fxFlex=\"0 0 auto\" *ngFor=\"let button of buttons\"\n mat-button\n color=\"warn\"\n (click)=\"onDeleteClicked(button.onClick)\">\n {{ button.label | translate }}\n </button>\n</mat-dialog-actions>\n", styles: ["h1,h3{margin-bottom:8px}\n"] }]
6151
6151
  }], ctorParameters: () => [{ type: i1$3.MatDialogRef }, { type: undefined, decorators: [{
@@ -6165,10 +6165,10 @@ class SaveConfirmationDialogComponent {
6165
6165
  onCancel() {
6166
6166
  this.dialogRef.close(false);
6167
6167
  }
6168
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SaveConfirmationDialogComponent, deps: [{ token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
6169
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: SaveConfirmationDialogComponent, isStandalone: false, selector: "mantle-save-confirmation-dialog", ngImport: i0, template: "<mat-dialog-content class=\"content-section\">\n\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n\n <div fxFlex=\"0 0 auto\">\n <mat-icon class=\"large-icon\">error_outline</mat-icon>\n </div>\n\n <div *ngIf=\"message\" fxFlex=\"1 0 1px\">\n <h3>{{ message | translate }}</h3>\n </div>\n\n <div fxFlex=\"0 0 auto\">\n <button mat-button mat-stroked-button (click)=\"onSaveClicked()\">{{ 'mantle.buttons.confirm' | translate }}</button>\n </div>\n\n </div>\n\n</mat-dialog-content>\n", styles: ["h1,h3{margin-bottom:8px}.large-icon{width:32px;height:32px;font-size:32px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6168
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SaveConfirmationDialogComponent, deps: [{ token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
6169
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: SaveConfirmationDialogComponent, isStandalone: false, selector: "mantle-save-confirmation-dialog", ngImport: i0, template: "<mat-dialog-content class=\"content-section\">\n\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n\n <div fxFlex=\"0 0 auto\">\n <mat-icon class=\"large-icon\">error_outline</mat-icon>\n </div>\n\n <div *ngIf=\"message\" fxFlex=\"1 0 1px\">\n <h3>{{ message | translate }}</h3>\n </div>\n\n <div fxFlex=\"0 0 auto\">\n <button mat-button mat-stroked-button (click)=\"onSaveClicked()\">{{ 'mantle.buttons.confirm' | translate }}</button>\n </div>\n\n </div>\n\n</mat-dialog-content>\n", styles: ["h1,h3{margin-bottom:8px}.large-icon{width:32px;height:32px;font-size:32px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6170
6170
  }
6171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SaveConfirmationDialogComponent, decorators: [{
6171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SaveConfirmationDialogComponent, decorators: [{
6172
6172
  type: Component,
6173
6173
  args: [{ selector: 'mantle-save-confirmation-dialog', standalone: false, template: "<mat-dialog-content class=\"content-section\">\n\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n\n <div fxFlex=\"0 0 auto\">\n <mat-icon class=\"large-icon\">error_outline</mat-icon>\n </div>\n\n <div *ngIf=\"message\" fxFlex=\"1 0 1px\">\n <h3>{{ message | translate }}</h3>\n </div>\n\n <div fxFlex=\"0 0 auto\">\n <button mat-button mat-stroked-button (click)=\"onSaveClicked()\">{{ 'mantle.buttons.confirm' | translate }}</button>\n </div>\n\n </div>\n\n</mat-dialog-content>\n", styles: ["h1,h3{margin-bottom:8px}.large-icon{width:32px;height:32px;font-size:32px}\n"] }]
6174
6174
  }], ctorParameters: () => [{ type: i1$3.MatDialogRef }, { type: undefined, decorators: [{
@@ -6213,10 +6213,10 @@ class ConfirmationService {
6213
6213
  onConfirmation(res.deletionAction);
6214
6214
  });
6215
6215
  }
6216
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ConfirmationService, deps: [{ token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
6217
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ConfirmationService, providedIn: 'root' }); }
6216
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ConfirmationService, deps: [{ token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
6217
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ConfirmationService, providedIn: 'root' }); }
6218
6218
  }
6219
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ConfirmationService, decorators: [{
6219
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ConfirmationService, decorators: [{
6220
6220
  type: Injectable,
6221
6221
  args: [{
6222
6222
  providedIn: 'root'
@@ -6319,10 +6319,10 @@ class FormPageComponent {
6319
6319
  else
6320
6320
  this.formPageService.openList();
6321
6321
  }
6322
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: FormPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: AnnouncementService }, { token: ConfirmationService }], target: i0.ɵɵFactoryTarget.Component }); }
6323
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: FormPageComponent, isStandalone: false, selector: "mantle-form-page", viewQueries: [{ propertyName: "dynamicForm", first: true, predicate: DynamicFormComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" class=\"full-height-min\" [ngClass]=\"{'page full-height-only vertically-scrollable': !isTabbedContent}\">\n <div fxFlex=\"0 0 auto\" class=\"page-header headline-5\">\n <div fxLayout=\"row\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\">\n <mantle-content-title *ngIf=\"header\" fxFlex=\"0 0 auto\" [thumbnail]=\"header.thumbnail\" [title]=\"header.title\"></mantle-content-title>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"!formPageService.hideCancelButton\">\n <button mat-icon-button\n type=\"button\"\n (click)=\"onCancelClicked()\"\n [disabled]=\"formPageService.isCommitInProgress\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 auto\" class=\"main-content\">\n <mantle-dynamic-form #dynamicForm [content]=\"content$ | async\" [formPageService]=\"formPageService\"></mantle-dynamic-form>\n </div>\n\n <div fxFlex=\"0 0 auto\" class=\"page-footer\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <ng-container *ngFor=\"let button of bottomLeftButtons\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"button.show\">\n <button mat-raised-button\n color=\"{{ button.color }}\"\n type=\"button\"\n class=\"button-with-spinner additional-button\"\n [disabled]=\"formPageService.isCommitInProgress || button.disabled\"\n (click)=\"button.onClick(dynamicForm?.value)\">\n {{ button.label | translate }}\n <mat-spinner *ngIf=\"button.isInProgress()\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </ng-container>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <ng-container *ngFor=\"let button of bottomRightButtons\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"button.show\">\n <button mat-raised-button\n color=\"{{ button.color }}\"\n type=\"button\"\n class=\"button-with-spinner additional-button\"\n [disabled]=\"formPageService.isCommitInProgress || button.disabled\"\n (click)=\"button.onClick(dynamicForm?.value)\">\n {{ button.label | translate }}\n <mat-spinner *ngIf=\"button.isInProgress()\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </ng-container>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"formPageService.showSaveButton\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n class=\"button-with-spinner save-button\"\n [disabled]=\"formPageService.isCommitInProgress || !dynamicForm?.valid\"\n (click)=\"onSaveClicked()\">\n {{ 'mantle.buttons.save' | translate }}\n <mat-spinner *ngIf=\"isSaveInProgress\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".save-button,.additional-button{width:140px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: DynamicFormComponent, selector: "mantle-dynamic-form", inputs: ["formPageService", "content"] }, { kind: "component", type: ContentTitleComponent, selector: "mantle-content-title", inputs: ["thumbnail", "title"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6322
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FormPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: AnnouncementService }, { token: ConfirmationService }], target: i0.ɵɵFactoryTarget.Component }); }
6323
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: FormPageComponent, isStandalone: false, selector: "mantle-form-page", viewQueries: [{ propertyName: "dynamicForm", first: true, predicate: DynamicFormComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" class=\"full-height-min\" [ngClass]=\"{'page full-height-only vertically-scrollable': !isTabbedContent}\">\n <div fxFlex=\"0 0 auto\" class=\"page-header headline-5\">\n <div fxLayout=\"row\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\">\n <mantle-content-title *ngIf=\"header\" fxFlex=\"0 0 auto\" [thumbnail]=\"header.thumbnail\" [title]=\"header.title\"></mantle-content-title>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"!formPageService.hideCancelButton\">\n <button mat-icon-button\n type=\"button\"\n (click)=\"onCancelClicked()\"\n [disabled]=\"formPageService.isCommitInProgress\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 auto\" class=\"main-content\">\n <mantle-dynamic-form #dynamicForm [content]=\"content$ | async\" [formPageService]=\"formPageService\"></mantle-dynamic-form>\n </div>\n\n <div fxFlex=\"0 0 auto\" class=\"page-footer\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <ng-container *ngFor=\"let button of bottomLeftButtons\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"button.show\">\n <button mat-raised-button\n color=\"{{ button.color }}\"\n type=\"button\"\n class=\"button-with-spinner additional-button\"\n [disabled]=\"formPageService.isCommitInProgress || button.disabled\"\n (click)=\"button.onClick(dynamicForm?.value)\">\n {{ button.label | translate }}\n <mat-spinner *ngIf=\"button.isInProgress()\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </ng-container>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <ng-container *ngFor=\"let button of bottomRightButtons\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"button.show\">\n <button mat-raised-button\n color=\"{{ button.color }}\"\n type=\"button\"\n class=\"button-with-spinner additional-button\"\n [disabled]=\"formPageService.isCommitInProgress || button.disabled\"\n (click)=\"button.onClick(dynamicForm?.value)\">\n {{ button.label | translate }}\n <mat-spinner *ngIf=\"button.isInProgress()\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </ng-container>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"formPageService.showSaveButton\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n class=\"button-with-spinner save-button\"\n [disabled]=\"formPageService.isCommitInProgress || !dynamicForm?.valid\"\n (click)=\"onSaveClicked()\">\n {{ 'mantle.buttons.save' | translate }}\n <mat-spinner *ngIf=\"isSaveInProgress\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".save-button,.additional-button{width:140px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: DynamicFormComponent, selector: "mantle-dynamic-form", inputs: ["formPageService", "content"] }, { kind: "component", type: ContentTitleComponent, selector: "mantle-content-title", inputs: ["thumbnail", "title"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6324
6324
  }
6325
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: FormPageComponent, decorators: [{
6325
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FormPageComponent, decorators: [{
6326
6326
  type: Component,
6327
6327
  args: [{ selector: 'mantle-form-page', standalone: false, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" class=\"full-height-min\" [ngClass]=\"{'page full-height-only vertically-scrollable': !isTabbedContent}\">\n <div fxFlex=\"0 0 auto\" class=\"page-header headline-5\">\n <div fxLayout=\"row\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\">\n <mantle-content-title *ngIf=\"header\" fxFlex=\"0 0 auto\" [thumbnail]=\"header.thumbnail\" [title]=\"header.title\"></mantle-content-title>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"!formPageService.hideCancelButton\">\n <button mat-icon-button\n type=\"button\"\n (click)=\"onCancelClicked()\"\n [disabled]=\"formPageService.isCommitInProgress\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 auto\" class=\"main-content\">\n <mantle-dynamic-form #dynamicForm [content]=\"content$ | async\" [formPageService]=\"formPageService\"></mantle-dynamic-form>\n </div>\n\n <div fxFlex=\"0 0 auto\" class=\"page-footer\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <ng-container *ngFor=\"let button of bottomLeftButtons\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"button.show\">\n <button mat-raised-button\n color=\"{{ button.color }}\"\n type=\"button\"\n class=\"button-with-spinner additional-button\"\n [disabled]=\"formPageService.isCommitInProgress || button.disabled\"\n (click)=\"button.onClick(dynamicForm?.value)\">\n {{ button.label | translate }}\n <mat-spinner *ngIf=\"button.isInProgress()\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </ng-container>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <ng-container *ngFor=\"let button of bottomRightButtons\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"button.show\">\n <button mat-raised-button\n color=\"{{ button.color }}\"\n type=\"button\"\n class=\"button-with-spinner additional-button\"\n [disabled]=\"formPageService.isCommitInProgress || button.disabled\"\n (click)=\"button.onClick(dynamicForm?.value)\">\n {{ button.label | translate }}\n <mat-spinner *ngIf=\"button.isInProgress()\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </ng-container>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"formPageService.showSaveButton\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n class=\"button-with-spinner save-button\"\n [disabled]=\"formPageService.isCommitInProgress || !dynamicForm?.valid\"\n (click)=\"onSaveClicked()\">\n {{ 'mantle.buttons.save' | translate }}\n <mat-spinner *ngIf=\"isSaveInProgress\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".save-button,.additional-button{width:140px}\n"] }]
6328
6328
  }], ctorParameters: () => [{ type: i1$5.ActivatedRoute }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: AnnouncementService }, { type: ConfirmationService }], propDecorators: { dynamicForm: [{
@@ -6409,10 +6409,10 @@ class DetailPageComponent {
6409
6409
  back() {
6410
6410
  this.detailPageService.openList();
6411
6411
  }
6412
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DetailPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }, { token: AnnouncementService }], target: i0.ɵɵFactoryTarget.Component }); }
6413
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DetailPageComponent, isStandalone: false, selector: "mantle-detail-page", ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" class=\"full-height-min\" [ngClass]=\"{'page full-height-only vertically-scrollable': !isTabbedContent}\">\n <div fxFlex=\"0 0 auto\" class=\"page-header headline-5\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center start\" fxLayoutGap=\"16px\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"!detailPageService.hideBackButton\">\n <button class=\"back-button\" mat-mini-fab color=\"primary\" type=\"button\" (click)=\"onBackClicked()\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n </div>\n\n <div fxFlex=\"1 1 auto\">\n <mantle-content-title *ngIf=\"header\" [thumbnail]=\"header.thumbnail\" [title]=\"header.title\"></mantle-content-title>\n </div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"!!content && detailPageService.showEditButton && detailPageService.canWrite()\">\n <button mat-mini-fab\n color=\"primary\"\n type=\"button\"\n class=\"edit-button\"\n (click)=\"onEditClicked()\"\n [disabled]=\"detailPageService.isCommitInProgress\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 auto\" class=\"main-content\">\n <mantle-dynamic-details [content]=\"content\" [detailPageService]=\"detailPageService\"></mantle-dynamic-details>\n </div>\n\n <div fxFlex=\"0 0 36px\" class=\"page-footer\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" *ngIf=\"!!content\">\n <ng-container *ngFor=\"let button of bottomLeftButtons\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"button.show\">\n <button mat-raised-button\n color=\"{{ button.color }}\"\n type=\"button\"\n class=\"button-with-spinner additional-button\"\n [disabled]=\"detailPageService.isCommitInProgress || button.disabled\"\n (click)=\"button.onClick(id)\">\n {{ button.label | translate }}\n <mat-spinner *ngIf=\"button.isInProgress()\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"content\">\n <div fxFlex=\"0 0 auto\" *ngFor=\"let exportOption of exportOptions\">\n <div *ngIf=\"(exportOption.show == null) || (exportOption.show)\">\n <button mat-button\n type=\"button\"\n class=\"export-button\"\n (click)=\"exportOption.export(content.data).subscribe()\"\n [disabled]=\"detailPageService.isCommitInProgress\">\n <span class=\"export-button-label\">{{ exportOption.label | translate }}</span>\n <mat-icon>download</mat-icon>\n </button>\n </div>\n </div>\n </ng-container>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"detailPageService.showCloneButton && detailPageService.canWrite()\">\n <button mat-raised-button\n color=\"accent\"\n type=\"button\"\n class=\"clone-button\"\n (click)=\"onCloneClicked()\">\n {{ 'mantle.buttons.clone' | translate }}\n </button>\n </div>\n\n <ng-container *ngFor=\"let button of bottomRightButtons\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"button.show\">\n <button mat-raised-button\n color=\"{{ button.color }}\"\n type=\"button\"\n class=\"button-with-spinner additional-button\"\n [disabled]=\"detailPageService.isCommitInProgress || button.disabled\"\n (click)=\"button.onClick(id)\">\n {{ button.label | translate }}\n <mat-spinner *ngIf=\"button.isInProgress()\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </ng-container>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"detailPageService.showDeleteButton && detailPageService.canWrite()\">\n <button mat-button\n color=\"warn\"\n type=\"button\"\n class=\"button-with-spinner delete-button\"\n [disabled]=\"detailPageService.isCommitInProgress\"\n (click)=\"onDeleteClicked()\">\n {{ 'mantle.buttons.delete' | translate }} {{ detailPageService.noun() | translate }}\n <mat-spinner *ngIf=\"isDeleteInProgress\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".edit-button,.back-button{margin-bottom:8px}.export-button{display:block;width:144px;background-color:transparent;white-space:nowrap;padding:0;margin:16px 0 16px auto}.export-button .export-button-label{display:inline-block;width:100px;white-space:normal;text-align:right;text-transform:uppercase;font-weight:400;line-height:1.25rem;margin-right:.25rem}.export-button .mat-icon{height:auto;width:auto;font-size:2.5rem}.additional-button,.clone-button{min-width:140px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: DynamicDetailsComponent, selector: "mantle-dynamic-details", inputs: ["detailPageService", "content"] }, { kind: "component", type: ContentTitleComponent, selector: "mantle-content-title", inputs: ["thumbnail", "title"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6412
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DetailPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }, { token: AnnouncementService }], target: i0.ɵɵFactoryTarget.Component }); }
6413
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DetailPageComponent, isStandalone: false, selector: "mantle-detail-page", ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" class=\"full-height-min\" [ngClass]=\"{'page full-height-only vertically-scrollable': !isTabbedContent}\">\n <div fxFlex=\"0 0 auto\" class=\"page-header headline-5\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center start\" fxLayoutGap=\"16px\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"!detailPageService.hideBackButton\">\n <button class=\"back-button\" mat-mini-fab color=\"primary\" type=\"button\" (click)=\"onBackClicked()\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n </div>\n\n <div fxFlex=\"1 1 auto\">\n <mantle-content-title *ngIf=\"header\" [thumbnail]=\"header.thumbnail\" [title]=\"header.title\"></mantle-content-title>\n </div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"!!content && detailPageService.showEditButton && detailPageService.canWrite()\">\n <button mat-mini-fab\n color=\"primary\"\n type=\"button\"\n class=\"edit-button\"\n (click)=\"onEditClicked()\"\n [disabled]=\"detailPageService.isCommitInProgress\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 auto\" class=\"main-content\">\n <mantle-dynamic-details [content]=\"content\" [detailPageService]=\"detailPageService\"></mantle-dynamic-details>\n </div>\n\n <div fxFlex=\"0 0 36px\" class=\"page-footer\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" *ngIf=\"!!content\">\n <ng-container *ngFor=\"let button of bottomLeftButtons\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"button.show\">\n <button mat-raised-button\n color=\"{{ button.color }}\"\n type=\"button\"\n class=\"button-with-spinner additional-button\"\n [disabled]=\"detailPageService.isCommitInProgress || button.disabled\"\n (click)=\"button.onClick(id)\">\n {{ button.label | translate }}\n <mat-spinner *ngIf=\"button.isInProgress()\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"content\">\n <div fxFlex=\"0 0 auto\" *ngFor=\"let exportOption of exportOptions\">\n <div *ngIf=\"(exportOption.show == null) || (exportOption.show)\">\n <button mat-button\n type=\"button\"\n class=\"export-button\"\n (click)=\"exportOption.export(content.data).subscribe()\"\n [disabled]=\"detailPageService.isCommitInProgress\">\n <span class=\"export-button-label\">{{ exportOption.label | translate }}</span>\n <mat-icon>download</mat-icon>\n </button>\n </div>\n </div>\n </ng-container>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"detailPageService.showCloneButton && detailPageService.canWrite()\">\n <button mat-raised-button\n color=\"accent\"\n type=\"button\"\n class=\"clone-button\"\n (click)=\"onCloneClicked()\">\n {{ 'mantle.buttons.clone' | translate }}\n </button>\n </div>\n\n <ng-container *ngFor=\"let button of bottomRightButtons\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"button.show\">\n <button mat-raised-button\n color=\"{{ button.color }}\"\n type=\"button\"\n class=\"button-with-spinner additional-button\"\n [disabled]=\"detailPageService.isCommitInProgress || button.disabled\"\n (click)=\"button.onClick(id)\">\n {{ button.label | translate }}\n <mat-spinner *ngIf=\"button.isInProgress()\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </ng-container>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"detailPageService.showDeleteButton && detailPageService.canWrite()\">\n <button mat-button\n color=\"warn\"\n type=\"button\"\n class=\"button-with-spinner delete-button\"\n [disabled]=\"detailPageService.isCommitInProgress\"\n (click)=\"onDeleteClicked()\">\n {{ 'mantle.buttons.delete' | translate }} {{ detailPageService.noun() | translate }}\n <mat-spinner *ngIf=\"isDeleteInProgress\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".edit-button,.back-button{margin-bottom:8px}.export-button{display:block;width:144px;background-color:transparent;white-space:nowrap;padding:0;margin:16px 0 16px auto}.export-button .export-button-label{display:inline-block;width:100px;white-space:normal;text-align:right;text-transform:uppercase;font-weight:400;line-height:1.25rem;margin-right:.25rem}.export-button .mat-icon{height:auto;width:auto;font-size:2.5rem}.additional-button,.clone-button{min-width:140px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: DynamicDetailsComponent, selector: "mantle-dynamic-details", inputs: ["detailPageService", "content"] }, { kind: "component", type: ContentTitleComponent, selector: "mantle-content-title", inputs: ["thumbnail", "title"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6414
6414
  }
6415
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DetailPageComponent, decorators: [{
6415
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DetailPageComponent, decorators: [{
6416
6416
  type: Component,
6417
6417
  args: [{ selector: 'mantle-detail-page', standalone: false, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" class=\"full-height-min\" [ngClass]=\"{'page full-height-only vertically-scrollable': !isTabbedContent}\">\n <div fxFlex=\"0 0 auto\" class=\"page-header headline-5\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center start\" fxLayoutGap=\"16px\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"!detailPageService.hideBackButton\">\n <button class=\"back-button\" mat-mini-fab color=\"primary\" type=\"button\" (click)=\"onBackClicked()\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n </div>\n\n <div fxFlex=\"1 1 auto\">\n <mantle-content-title *ngIf=\"header\" [thumbnail]=\"header.thumbnail\" [title]=\"header.title\"></mantle-content-title>\n </div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"!!content && detailPageService.showEditButton && detailPageService.canWrite()\">\n <button mat-mini-fab\n color=\"primary\"\n type=\"button\"\n class=\"edit-button\"\n (click)=\"onEditClicked()\"\n [disabled]=\"detailPageService.isCommitInProgress\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 auto\" class=\"main-content\">\n <mantle-dynamic-details [content]=\"content\" [detailPageService]=\"detailPageService\"></mantle-dynamic-details>\n </div>\n\n <div fxFlex=\"0 0 36px\" class=\"page-footer\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" *ngIf=\"!!content\">\n <ng-container *ngFor=\"let button of bottomLeftButtons\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"button.show\">\n <button mat-raised-button\n color=\"{{ button.color }}\"\n type=\"button\"\n class=\"button-with-spinner additional-button\"\n [disabled]=\"detailPageService.isCommitInProgress || button.disabled\"\n (click)=\"button.onClick(id)\">\n {{ button.label | translate }}\n <mat-spinner *ngIf=\"button.isInProgress()\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"content\">\n <div fxFlex=\"0 0 auto\" *ngFor=\"let exportOption of exportOptions\">\n <div *ngIf=\"(exportOption.show == null) || (exportOption.show)\">\n <button mat-button\n type=\"button\"\n class=\"export-button\"\n (click)=\"exportOption.export(content.data).subscribe()\"\n [disabled]=\"detailPageService.isCommitInProgress\">\n <span class=\"export-button-label\">{{ exportOption.label | translate }}</span>\n <mat-icon>download</mat-icon>\n </button>\n </div>\n </div>\n </ng-container>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"detailPageService.showCloneButton && detailPageService.canWrite()\">\n <button mat-raised-button\n color=\"accent\"\n type=\"button\"\n class=\"clone-button\"\n (click)=\"onCloneClicked()\">\n {{ 'mantle.buttons.clone' | translate }}\n </button>\n </div>\n\n <ng-container *ngFor=\"let button of bottomRightButtons\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"button.show\">\n <button mat-raised-button\n color=\"{{ button.color }}\"\n type=\"button\"\n class=\"button-with-spinner additional-button\"\n [disabled]=\"detailPageService.isCommitInProgress || button.disabled\"\n (click)=\"button.onClick(id)\">\n {{ button.label | translate }}\n <mat-spinner *ngIf=\"button.isInProgress()\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </ng-container>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"detailPageService.showDeleteButton && detailPageService.canWrite()\">\n <button mat-button\n color=\"warn\"\n type=\"button\"\n class=\"button-with-spinner delete-button\"\n [disabled]=\"detailPageService.isCommitInProgress\"\n (click)=\"onDeleteClicked()\">\n {{ 'mantle.buttons.delete' | translate }} {{ detailPageService.noun() | translate }}\n <mat-spinner *ngIf=\"isDeleteInProgress\" [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".edit-button,.back-button{margin-bottom:8px}.export-button{display:block;width:144px;background-color:transparent;white-space:nowrap;padding:0;margin:16px 0 16px auto}.export-button .export-button-label{display:inline-block;width:100px;white-space:normal;text-align:right;text-transform:uppercase;font-weight:400;line-height:1.25rem;margin-right:.25rem}.export-button .mat-icon{height:auto;width:auto;font-size:2.5rem}.additional-button,.clone-button{min-width:140px}\n"] }]
6418
6418
  }], ctorParameters: () => [{ type: i1$5.ActivatedRoute }, { type: i0.Injector }, { type: AnnouncementService }] });
@@ -6473,10 +6473,10 @@ class DocumentsPageComponent {
6473
6473
  this.uploadInProgress = false;
6474
6474
  });
6475
6475
  }
6476
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DocumentsPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }, { token: AnnouncementService }, { token: WebApiService }, { token: ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component }); }
6477
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DocumentsPageComponent, isStandalone: false, selector: "mantle-documents-page", viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "table", first: true, predicate: MatTable, descendants: true }, { propertyName: "searchPanel", first: true, predicate: SearchPanelComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\" class=\"list-page\" [ngClass]=\"{'page': !isTabbedContent}\">\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"!isTabbedContent\">\n <mantle-page-title>{{ pageTitle | translate }}</mantle-page-title>\n </div>\n\n <div fxFlex=\"1 0 1px\">\n <mat-drawer-container class=\"full-height-only\" [hasBackdrop]=\"isSmallScreen\">\n <mat-drawer #drawer\n [mode]=\"isSmallScreen ? 'over' : 'side'\"\n [position]=\"isSmallScreen ? 'end' : 'start'\"\n [opened]=\"isActionPanelOpen\"\n [disableClose]=\"!isSmallScreen\"\n (closedStart)=\"isActionPanelOpen = false\"\n (openedStart)=\"isActionPanelOpen = true\">\n\n <button *ngIf=\"listPageService.showAddButton && listPageService.canWrite()\"\n mat-raised-button\n color=\"accent\"\n type=\"button\"\n class=\"add-button\"\n (click)=\"onAddClicked()\">\n + {{ 'mantle.buttons.add' | translate }} {{ listPageService.noun() | translate }}\n </button>\n\n <div class=\"search-section\">\n <mantle-search-panel #searchPanel\n [searchFields]=\"listPageService.searchFields()\">\n </mantle-search-panel>\n </div>\n\n <ng-container *ngFor=\"let exportOption of exportOptions\">\n <button mat-button type=\"button\" class=\"export-button\" (click)=\"exportOption.export(searchPanel.searchParams).subscribe()\">\n <span class=\"export-button-label\">{{ exportOption.label | translate }}</span>\n <mat-icon>download</mat-icon>\n </button>\n </ng-container>\n\n </mat-drawer>\n\n <div fxLayout=\"column\" fxLayoutAlign=\"stretch\" class=\"main-content full-height-only\"\n file-dropzone (fileDropped)=\"onFileDropped($event[0])\" [class.uploading]=\"uploadInProgress\">\n\n <div *ngIf=\"uploadInProgress\" class=\"uploading-indicator-overlay\">\n <div class=\"uploading-indicator\">Uploading...</div>\n <mantle-loader></mantle-loader>\n </div>\n\n <div fxFlex=\"1 0 1px\" class=\"vertically-scrollable\">\n <table mat-table class=\"full-width horizontal-scroll-table\" matSort>\n\n <ng-container *ngFor=\"let column of displayedColumns\">\n <ng-container matColumnDef=\"{{ column.attr }}\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ column.header | translate }}</th>\n <td mat-cell *matCellDef=\"let row\">\n <mantle-dynamic-attribute-display\n [fieldType]=\"column.type\"\n [value]=\"row[column.attr]\">\n </mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumnAttrs\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumnAttrs;\"\n (click)=\"onRecordClicked(row)\"\n [class.clickable-row]=\"withClickableRows\">\n </tr>\n </table>\n </div>\n\n <mat-paginator #paginator\n fxFlex=\"0 0 auto\"\n [length]=\"0\"\n [pageIndex]=\"0\"\n [pageSize]=\"10\"\n [pageSizeOptions]=\"[10, 20, 50]\">\n </mat-paginator>\n\n </div>\n\n </mat-drawer-container>\n </div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"isSmallScreen\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n\n <button *ngIf=\"isActionPanelOpen\" type=\"button\" mat-button (click)=\"drawer.toggle()\">\n <ng-container *ngIf=\"isActionPanelOpen\">\n {{ 'mantle.buttons.close_actions' | translate }}<mat-icon>chevron_right</mat-icon>\n </ng-container>\n </button>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <button *ngIf=\"!isActionPanelOpen\" type=\"button\" mat-button (click)=\"drawer.toggle()\">\n <ng-container>\n <mat-icon>chevron_left</mat-icon> {{ 'mantle.buttons.open_actions' | translate }}\n </ng-container>\n </button>\n\n </div>\n </div>\n</div>\n", styles: [".main-content{padding-top:0;padding-bottom:0}.list-page{height:100%;max-height:100%}.mat-drawer{padding:0 16px 0 0}.mat-drawer .add-button{display:block;width:200px;height:auto;text-transform:uppercase;text-wrap-mode:wrap;border-radius:0;margin:16px 0 0;line-height:16px;padding:10px 16px}.mat-drawer-end{padding:0 16px}.search-section{margin:16px 0 0}.export-button{display:flex;align-items:center;justify-content:center;width:144px;background-color:transparent;white-space:nowrap;padding:0;margin:16px 0 16px auto}.export-button .export-button-label{display:inline-block;width:100px;white-space:normal;text-align:right;text-transform:uppercase;font-weight:400;line-height:1.25rem;margin-right:.25rem}.export-button .mdc-button__label{order:0}.export-button .mat-icon{order:1;height:auto;width:auto;font-size:2.5rem;margin:0}.toggle-collapsible-columns-button{width:220px;text-transform:uppercase}.toggle-collapsible-columns-button .mdc-button__label .mat-icon{font-size:1.2rem}.collapsible-column-left{border-left:1px solid lightgray}.collapsible-column-right{border-right:1px solid lightgray}th.collapsible-column{border-top:1px solid lightgray}th.collapsible-column-left{border-radius:2px 0 0}th.collapsible-column-right{border-radius:0 2px 0 0}.additional-button{display:block;width:200px;height:auto;text-transform:uppercase;text-wrap-mode:wrap;border-radius:0;margin:16px 0 0;line-height:16px;padding:10px 16px}@media (max-height: 600px){.list-page{height:600px;max-height:600px}}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i10.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i3$3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3$3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3$3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3$3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3$3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3$3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3$3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3$3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3$3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3$3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i12.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: i13.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i13.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: FileDropzoneDirective, selector: "[file-dropzone]", outputs: ["fileDropped"] }, { kind: "component", type: DynamicAttributeDisplayComponent, selector: "mantle-dynamic-attribute-display", inputs: ["value", "field", "fieldType", "options"] }, { kind: "component", type: PageTitleComponent, selector: "mantle-page-title" }, { kind: "component", type: SearchPanelComponent, selector: "mantle-search-panel", inputs: ["searchFields"], outputs: ["search"] }, { kind: "component", type: LoaderComponent, selector: "mantle-loader", inputs: ["delay"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6476
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DocumentsPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }, { token: AnnouncementService }, { token: WebApiService }, { token: ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component }); }
6477
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DocumentsPageComponent, isStandalone: false, selector: "mantle-documents-page", viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "table", first: true, predicate: MatTable, descendants: true }, { propertyName: "searchPanel", first: true, predicate: SearchPanelComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\" class=\"list-page\" [ngClass]=\"{'page': !isTabbedContent}\">\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"!isTabbedContent\">\n <mantle-page-title>{{ pageTitle | translate }}</mantle-page-title>\n </div>\n\n <div fxFlex=\"1 0 1px\">\n <mat-drawer-container class=\"full-height-only\" [hasBackdrop]=\"isSmallScreen\">\n <mat-drawer #drawer\n [mode]=\"isSmallScreen ? 'over' : 'side'\"\n [position]=\"isSmallScreen ? 'end' : 'start'\"\n [opened]=\"isActionPanelOpen\"\n [disableClose]=\"!isSmallScreen\"\n (closedStart)=\"isActionPanelOpen = false\"\n (openedStart)=\"isActionPanelOpen = true\">\n\n <button *ngIf=\"listPageService.showAddButton && listPageService.canWrite()\"\n mat-raised-button\n color=\"accent\"\n type=\"button\"\n class=\"add-button\"\n (click)=\"onAddClicked()\">\n + {{ 'mantle.buttons.add' | translate }} {{ listPageService.noun() | translate }}\n </button>\n\n <div class=\"search-section\">\n <mantle-search-panel #searchPanel\n [searchFields]=\"listPageService.searchFields()\">\n </mantle-search-panel>\n </div>\n\n <ng-container *ngFor=\"let exportOption of exportOptions\">\n <button mat-button type=\"button\" class=\"export-button\" (click)=\"exportOption.export(searchPanel.searchParams).subscribe()\">\n <span class=\"export-button-label\">{{ exportOption.label | translate }}</span>\n <mat-icon>download</mat-icon>\n </button>\n </ng-container>\n\n </mat-drawer>\n\n <div fxLayout=\"column\" fxLayoutAlign=\"stretch\" class=\"main-content full-height-only\"\n file-dropzone (fileDropped)=\"onFileDropped($event[0])\" [class.uploading]=\"uploadInProgress\">\n\n <div *ngIf=\"uploadInProgress\" class=\"uploading-indicator-overlay\">\n <div class=\"uploading-indicator\">Uploading...</div>\n <mantle-loader></mantle-loader>\n </div>\n\n <div fxFlex=\"1 0 1px\" class=\"vertically-scrollable\">\n <table mat-table class=\"full-width horizontal-scroll-table\" matSort>\n\n <ng-container *ngFor=\"let column of displayedColumns\">\n <ng-container matColumnDef=\"{{ column.attr }}\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ column.header | translate }}</th>\n <td mat-cell *matCellDef=\"let row\">\n <mantle-dynamic-attribute-display\n [fieldType]=\"column.type\"\n [value]=\"row[column.attr]\">\n </mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumnAttrs\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumnAttrs;\"\n (click)=\"onRecordClicked(row)\"\n [class.clickable-row]=\"withClickableRows\">\n </tr>\n </table>\n </div>\n\n <mat-paginator #paginator\n fxFlex=\"0 0 auto\"\n [length]=\"0\"\n [pageIndex]=\"0\"\n [pageSize]=\"10\"\n [pageSizeOptions]=\"[10, 20, 50]\">\n </mat-paginator>\n\n </div>\n\n </mat-drawer-container>\n </div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"isSmallScreen\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n\n <button *ngIf=\"isActionPanelOpen\" type=\"button\" mat-button (click)=\"drawer.toggle()\">\n <ng-container *ngIf=\"isActionPanelOpen\">\n {{ 'mantle.buttons.close_actions' | translate }}<mat-icon>chevron_right</mat-icon>\n </ng-container>\n </button>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <button *ngIf=\"!isActionPanelOpen\" type=\"button\" mat-button (click)=\"drawer.toggle()\">\n <ng-container>\n <mat-icon>chevron_left</mat-icon> {{ 'mantle.buttons.open_actions' | translate }}\n </ng-container>\n </button>\n\n </div>\n </div>\n</div>\n", styles: [".main-content{padding-top:0;padding-bottom:0}.list-page{height:100%;max-height:100%}.mat-drawer{padding:0 16px 0 0}.mat-drawer .add-button{display:block;width:200px;height:auto;text-transform:uppercase;text-wrap-mode:wrap;border-radius:0;margin:16px 0 0;line-height:16px;padding:10px 16px}.mat-drawer-end{padding:0 16px}.search-section{margin:16px 0 0}.export-button{display:flex;align-items:center;justify-content:center;width:144px;background-color:transparent;white-space:nowrap;padding:0;margin:16px 0 16px auto}.export-button .export-button-label{display:inline-block;width:100px;white-space:normal;text-align:right;text-transform:uppercase;font-weight:400;line-height:1.25rem;margin-right:.25rem}.export-button .mdc-button__label{order:0}.export-button .mat-icon{order:1;height:auto;width:auto;font-size:2.5rem;margin:0}.toggle-collapsible-columns-button{width:220px;text-transform:uppercase}.toggle-collapsible-columns-button .mdc-button__label .mat-icon{font-size:1.2rem}.collapsible-column-left{border-left:1px solid lightgray}.collapsible-column-right{border-right:1px solid lightgray}th.collapsible-column{border-top:1px solid lightgray}th.collapsible-column-left{border-radius:2px 0 0}th.collapsible-column-right{border-radius:0 2px 0 0}.additional-button{display:block;width:200px;height:auto;text-transform:uppercase;text-wrap-mode:wrap;border-radius:0;margin:16px 0 0;line-height:16px;padding:10px 16px}@media (max-height: 600px){.list-page{height:600px;max-height:600px}}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i10.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i3$3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3$3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3$3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3$3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3$3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3$3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3$3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3$3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3$3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3$3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i12.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: i13.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i13.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: FileDropzoneDirective, selector: "[file-dropzone]", outputs: ["fileDropped"] }, { kind: "component", type: DynamicAttributeDisplayComponent, selector: "mantle-dynamic-attribute-display", inputs: ["value", "field", "fieldType", "options"] }, { kind: "component", type: PageTitleComponent, selector: "mantle-page-title" }, { kind: "component", type: SearchPanelComponent, selector: "mantle-search-panel", inputs: ["searchFields"], outputs: ["search"] }, { kind: "component", type: LoaderComponent, selector: "mantle-loader", inputs: ["delay"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6478
6478
  }
6479
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DocumentsPageComponent, decorators: [{
6479
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DocumentsPageComponent, decorators: [{
6480
6480
  type: Component,
6481
6481
  args: [{ selector: 'mantle-documents-page', standalone: false, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\" class=\"list-page\" [ngClass]=\"{'page': !isTabbedContent}\">\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"!isTabbedContent\">\n <mantle-page-title>{{ pageTitle | translate }}</mantle-page-title>\n </div>\n\n <div fxFlex=\"1 0 1px\">\n <mat-drawer-container class=\"full-height-only\" [hasBackdrop]=\"isSmallScreen\">\n <mat-drawer #drawer\n [mode]=\"isSmallScreen ? 'over' : 'side'\"\n [position]=\"isSmallScreen ? 'end' : 'start'\"\n [opened]=\"isActionPanelOpen\"\n [disableClose]=\"!isSmallScreen\"\n (closedStart)=\"isActionPanelOpen = false\"\n (openedStart)=\"isActionPanelOpen = true\">\n\n <button *ngIf=\"listPageService.showAddButton && listPageService.canWrite()\"\n mat-raised-button\n color=\"accent\"\n type=\"button\"\n class=\"add-button\"\n (click)=\"onAddClicked()\">\n + {{ 'mantle.buttons.add' | translate }} {{ listPageService.noun() | translate }}\n </button>\n\n <div class=\"search-section\">\n <mantle-search-panel #searchPanel\n [searchFields]=\"listPageService.searchFields()\">\n </mantle-search-panel>\n </div>\n\n <ng-container *ngFor=\"let exportOption of exportOptions\">\n <button mat-button type=\"button\" class=\"export-button\" (click)=\"exportOption.export(searchPanel.searchParams).subscribe()\">\n <span class=\"export-button-label\">{{ exportOption.label | translate }}</span>\n <mat-icon>download</mat-icon>\n </button>\n </ng-container>\n\n </mat-drawer>\n\n <div fxLayout=\"column\" fxLayoutAlign=\"stretch\" class=\"main-content full-height-only\"\n file-dropzone (fileDropped)=\"onFileDropped($event[0])\" [class.uploading]=\"uploadInProgress\">\n\n <div *ngIf=\"uploadInProgress\" class=\"uploading-indicator-overlay\">\n <div class=\"uploading-indicator\">Uploading...</div>\n <mantle-loader></mantle-loader>\n </div>\n\n <div fxFlex=\"1 0 1px\" class=\"vertically-scrollable\">\n <table mat-table class=\"full-width horizontal-scroll-table\" matSort>\n\n <ng-container *ngFor=\"let column of displayedColumns\">\n <ng-container matColumnDef=\"{{ column.attr }}\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ column.header | translate }}</th>\n <td mat-cell *matCellDef=\"let row\">\n <mantle-dynamic-attribute-display\n [fieldType]=\"column.type\"\n [value]=\"row[column.attr]\">\n </mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumnAttrs\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumnAttrs;\"\n (click)=\"onRecordClicked(row)\"\n [class.clickable-row]=\"withClickableRows\">\n </tr>\n </table>\n </div>\n\n <mat-paginator #paginator\n fxFlex=\"0 0 auto\"\n [length]=\"0\"\n [pageIndex]=\"0\"\n [pageSize]=\"10\"\n [pageSizeOptions]=\"[10, 20, 50]\">\n </mat-paginator>\n\n </div>\n\n </mat-drawer-container>\n </div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"isSmallScreen\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n\n <button *ngIf=\"isActionPanelOpen\" type=\"button\" mat-button (click)=\"drawer.toggle()\">\n <ng-container *ngIf=\"isActionPanelOpen\">\n {{ 'mantle.buttons.close_actions' | translate }}<mat-icon>chevron_right</mat-icon>\n </ng-container>\n </button>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <button *ngIf=\"!isActionPanelOpen\" type=\"button\" mat-button (click)=\"drawer.toggle()\">\n <ng-container>\n <mat-icon>chevron_left</mat-icon> {{ 'mantle.buttons.open_actions' | translate }}\n </ng-container>\n </button>\n\n </div>\n </div>\n</div>\n", styles: [".main-content{padding-top:0;padding-bottom:0}.list-page{height:100%;max-height:100%}.mat-drawer{padding:0 16px 0 0}.mat-drawer .add-button{display:block;width:200px;height:auto;text-transform:uppercase;text-wrap-mode:wrap;border-radius:0;margin:16px 0 0;line-height:16px;padding:10px 16px}.mat-drawer-end{padding:0 16px}.search-section{margin:16px 0 0}.export-button{display:flex;align-items:center;justify-content:center;width:144px;background-color:transparent;white-space:nowrap;padding:0;margin:16px 0 16px auto}.export-button .export-button-label{display:inline-block;width:100px;white-space:normal;text-align:right;text-transform:uppercase;font-weight:400;line-height:1.25rem;margin-right:.25rem}.export-button .mdc-button__label{order:0}.export-button .mat-icon{order:1;height:auto;width:auto;font-size:2.5rem;margin:0}.toggle-collapsible-columns-button{width:220px;text-transform:uppercase}.toggle-collapsible-columns-button .mdc-button__label .mat-icon{font-size:1.2rem}.collapsible-column-left{border-left:1px solid lightgray}.collapsible-column-right{border-right:1px solid lightgray}th.collapsible-column{border-top:1px solid lightgray}th.collapsible-column-left{border-radius:2px 0 0}th.collapsible-column-right{border-radius:0 2px 0 0}.additional-button{display:block;width:200px;height:auto;text-transform:uppercase;text-wrap-mode:wrap;border-radius:0;margin:16px 0 0;line-height:16px;padding:10px 16px}@media (max-height: 600px){.list-page{height:600px;max-height:600px}}\n"] }]
6482
6482
  }], ctorParameters: () => [{ type: i1$5.ActivatedRoute }, { type: i0.Injector }, { type: AnnouncementService }, { type: WebApiService }, { type: ScreenSizeService }], propDecorators: { paginator: [{
@@ -6509,10 +6509,10 @@ class TabbedPageComponent {
6509
6509
  this.activeLink = this.router.url;
6510
6510
  });
6511
6511
  }
6512
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: TabbedPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i1$5.Router }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
6513
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: TabbedPageComponent, isStandalone: false, selector: "mantle-tabbed-page", ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"4px\" class=\"tabbed-page full-height-only\">\n\n <div fxFlex=\"0 0 auto\" class=\"tab-bar\">\n <nav mat-tab-nav-bar [tabPanel]=\"tabPanel\">\n <a mat-tab-link *ngFor=\"let link of links\"\n (click)=\"activeLink = link.route\"\n [active]=\"activeLink == link.route\"\n [routerLink]=\"link.route\"> {{ link.label | translate }} </a>\n </nav>\n </div>\n\n <mat-tab-nav-panel #tabPanel fxFlex=\"1 0 1px\" class=\"tab-content vertically-scrollable\">\n <router-outlet></router-outlet>\n </mat-tab-nav-panel>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i1$5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4$7.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i4$7.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i4$7.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6512
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TabbedPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i1$5.Router }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
6513
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: TabbedPageComponent, isStandalone: false, selector: "mantle-tabbed-page", ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"4px\" class=\"tabbed-page full-height-only\">\n\n <div fxFlex=\"0 0 auto\" class=\"tab-bar\">\n <nav mat-tab-nav-bar [tabPanel]=\"tabPanel\">\n <a mat-tab-link *ngFor=\"let link of links\"\n (click)=\"activeLink = link.route\"\n [active]=\"activeLink == link.route\"\n [routerLink]=\"link.route\"> {{ link.label | translate }} </a>\n </nav>\n </div>\n\n <mat-tab-nav-panel #tabPanel fxFlex=\"1 0 1px\" class=\"tab-content vertically-scrollable\">\n <router-outlet></router-outlet>\n </mat-tab-nav-panel>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i1$5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4$7.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i4$7.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i4$7.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6514
6514
  }
6515
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: TabbedPageComponent, decorators: [{
6515
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TabbedPageComponent, decorators: [{
6516
6516
  type: Component,
6517
6517
  args: [{ selector: 'mantle-tabbed-page', standalone: false, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"4px\" class=\"tabbed-page full-height-only\">\n\n <div fxFlex=\"0 0 auto\" class=\"tab-bar\">\n <nav mat-tab-nav-bar [tabPanel]=\"tabPanel\">\n <a mat-tab-link *ngFor=\"let link of links\"\n (click)=\"activeLink = link.route\"\n [active]=\"activeLink == link.route\"\n [routerLink]=\"link.route\"> {{ link.label | translate }} </a>\n </nav>\n </div>\n\n <mat-tab-nav-panel #tabPanel fxFlex=\"1 0 1px\" class=\"tab-content vertically-scrollable\">\n <router-outlet></router-outlet>\n </mat-tab-nav-panel>\n\n</div>\n" }]
6518
6518
  }], ctorParameters: () => [{ type: i1$5.ActivatedRoute }, { type: i1$5.Router }, { type: i0.Injector }] });
@@ -6673,10 +6673,10 @@ class RosterPageComponent {
6673
6673
  openScheduleForm(scheduleId) {
6674
6674
  this.rosterScheduleService.openForm({ id: scheduleId }, { roster_id: this.id });
6675
6675
  }
6676
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: RosterPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }, { token: LocaleService }, { token: i1$3.MatDialog }, { token: ObjectService }, { token: ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component }); }
6677
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: RosterPageComponent, isStandalone: false, selector: "mantle-roster-page", ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\" class=\"page full-height-min full-height-only vertically-scrollable\">\n <mantle-page-title>{{ pageTitle | translate }}</mantle-page-title>\n\n <div fxFlex=\"0 0 auto\" fxLayout=\"column\" fxLayoutGap=\"16px\" class=\"page-header headline-5\">\n <div fxLayout=\"row\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"!rosterPageService.hideBackButton\">\n <button class=\"back-button\" mat-mini-fab color=\"primary\" type=\"button\" (click)=\"onBackClicked()\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n </div>\n\n <button *ngIf=\"rosterScheduleService.showAddButton && rosterPageService.canWrite()\"\n mat-raised-button\n color=\"accent\"\n type=\"button\"\n class=\"add-button\"\n (click)=\"openScheduleForm()\">\n + {{ 'mantle.buttons.add' | translate }} {{ rosterScheduleService.noun() | translate }}\n </button>\n\n <ng-container *ngIf=\"!isSmallScreen; then monthControls\">\n </ng-container>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"rosterPageService.showEditButton && rosterPageService.canWrite()\">\n <button mat-mini-fab\n color=\"primary\"\n type=\"button\"\n class=\"edit-button\"\n (click)=\"onEditClicked()\"\n [disabled]=\"rosterPageService.isCommitInProgress\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n </div>\n\n <ng-container *ngIf=\"isSmallScreen; then monthControls\">\n </ng-container>\n </div>\n\n <mantle-dynamic-chart [data]=\"rosterData\"></mantle-dynamic-chart>\n</div>\n\n<ng-template #monthControls>\n <div class=\"month-controls\">\n <button type=\"button\" mat-button (click)=\"showPrevMonth()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n \n <div class=\"month-text\">{{ month }}</div>\n \n <button type=\"button\" mat-button (click)=\"showNextMonth()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n </div>\n</ng-template>\n", styles: [".add-button{display:block;text-transform:uppercase;border-radius:0}.month-controls{display:inline-flex}.month-text{margin:auto;font-size:14px;line-height:20px;font-weight:500}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: PageTitleComponent, selector: "mantle-page-title" }, { kind: "component", type: DynamicChartComponent, selector: "mantle-dynamic-chart", inputs: ["label", "data"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6676
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RosterPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }, { token: LocaleService }, { token: i1$3.MatDialog }, { token: ObjectService }, { token: ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component }); }
6677
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: RosterPageComponent, isStandalone: false, selector: "mantle-roster-page", ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\" class=\"page full-height-min full-height-only vertically-scrollable\">\n <mantle-page-title>{{ pageTitle | translate }}</mantle-page-title>\n\n <div fxFlex=\"0 0 auto\" fxLayout=\"column\" fxLayoutGap=\"16px\" class=\"page-header headline-5\">\n <div fxLayout=\"row\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"!rosterPageService.hideBackButton\">\n <button class=\"back-button\" mat-mini-fab color=\"primary\" type=\"button\" (click)=\"onBackClicked()\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n </div>\n\n <button *ngIf=\"rosterScheduleService.showAddButton && rosterPageService.canWrite()\"\n mat-raised-button\n color=\"accent\"\n type=\"button\"\n class=\"add-button\"\n (click)=\"openScheduleForm()\">\n + {{ 'mantle.buttons.add' | translate }} {{ rosterScheduleService.noun() | translate }}\n </button>\n\n <ng-container *ngIf=\"!isSmallScreen; then monthControls\">\n </ng-container>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"rosterPageService.showEditButton && rosterPageService.canWrite()\">\n <button mat-mini-fab\n color=\"primary\"\n type=\"button\"\n class=\"edit-button\"\n (click)=\"onEditClicked()\"\n [disabled]=\"rosterPageService.isCommitInProgress\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n </div>\n\n <ng-container *ngIf=\"isSmallScreen; then monthControls\">\n </ng-container>\n </div>\n\n <mantle-dynamic-chart [data]=\"rosterData\"></mantle-dynamic-chart>\n</div>\n\n<ng-template #monthControls>\n <div class=\"month-controls\">\n <button type=\"button\" mat-button (click)=\"showPrevMonth()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n \n <div class=\"month-text\">{{ month }}</div>\n \n <button type=\"button\" mat-button (click)=\"showNextMonth()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n </div>\n</ng-template>\n", styles: [".add-button{display:block;text-transform:uppercase;border-radius:0}.month-controls{display:inline-flex}.month-text{margin:auto;font-size:14px;line-height:20px;font-weight:500}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: PageTitleComponent, selector: "mantle-page-title" }, { kind: "component", type: DynamicChartComponent, selector: "mantle-dynamic-chart", inputs: ["label", "data"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6678
6678
  }
6679
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: RosterPageComponent, decorators: [{
6679
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RosterPageComponent, decorators: [{
6680
6680
  type: Component,
6681
6681
  args: [{ selector: 'mantle-roster-page', standalone: false, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\" class=\"page full-height-min full-height-only vertically-scrollable\">\n <mantle-page-title>{{ pageTitle | translate }}</mantle-page-title>\n\n <div fxFlex=\"0 0 auto\" fxLayout=\"column\" fxLayoutGap=\"16px\" class=\"page-header headline-5\">\n <div fxLayout=\"row\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"!rosterPageService.hideBackButton\">\n <button class=\"back-button\" mat-mini-fab color=\"primary\" type=\"button\" (click)=\"onBackClicked()\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n </div>\n\n <button *ngIf=\"rosterScheduleService.showAddButton && rosterPageService.canWrite()\"\n mat-raised-button\n color=\"accent\"\n type=\"button\"\n class=\"add-button\"\n (click)=\"openScheduleForm()\">\n + {{ 'mantle.buttons.add' | translate }} {{ rosterScheduleService.noun() | translate }}\n </button>\n\n <ng-container *ngIf=\"!isSmallScreen; then monthControls\">\n </ng-container>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"rosterPageService.showEditButton && rosterPageService.canWrite()\">\n <button mat-mini-fab\n color=\"primary\"\n type=\"button\"\n class=\"edit-button\"\n (click)=\"onEditClicked()\"\n [disabled]=\"rosterPageService.isCommitInProgress\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n </div>\n\n <ng-container *ngIf=\"isSmallScreen; then monthControls\">\n </ng-container>\n </div>\n\n <mantle-dynamic-chart [data]=\"rosterData\"></mantle-dynamic-chart>\n</div>\n\n<ng-template #monthControls>\n <div class=\"month-controls\">\n <button type=\"button\" mat-button (click)=\"showPrevMonth()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n \n <div class=\"month-text\">{{ month }}</div>\n \n <button type=\"button\" mat-button (click)=\"showNextMonth()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n </div>\n</ng-template>\n", styles: [".add-button{display:block;text-transform:uppercase;border-radius:0}.month-controls{display:inline-flex}.month-text{margin:auto;font-size:14px;line-height:20px;font-weight:500}\n"] }]
6682
6682
  }], ctorParameters: () => [{ type: i1$5.ActivatedRoute }, { type: i0.Injector }, { type: LocaleService }, { type: i1$3.MatDialog }, { type: ObjectService }, { type: ScreenSizeService }] });
@@ -6714,10 +6714,10 @@ class ExportPageComponent {
6714
6714
  this.announcementService.error('mantle.messages.export_failed');
6715
6715
  this.isExportInProgress = false;
6716
6716
  }
6717
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ExportPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: AnnouncementService }, { token: ObjectService }], target: i0.ɵɵFactoryTarget.Component }); }
6718
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: ExportPageComponent, isStandalone: false, selector: "mantle-export-page", viewQueries: [{ propertyName: "dynamicForm", first: true, predicate: DynamicFormComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\" class=\"full-height-min\" [ngClass]=\"{'page full-height-only vertically-scrollable': !isTabbedContent}\">\n <div fxFlex=\"1 0 auto\" class=\"main-content\">\n <mantle-dynamic-form #dynamicForm [content]=\"content$ | async\"></mantle-dynamic-form>\n </div>\n\n <div fxFlex=\"0 0 auto\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <button mat-raised-button\n *ngIf=\"!isExportInProgress\"\n color=\"primary\"\n type=\"button\"\n class=\"export-button\"\n [disabled]=\"!dynamicForm?.valid\"\n (click)=\"onExportClicked()\">\n {{ 'mantle.buttons.export' | translate }}\n </button>\n\n\n <button mat-raised-button\n *ngIf=\"isExportInProgress\"\n color=\"primary\"\n type=\"button\"\n class=\"button-with-spinner exporting-button\"\n [disabled]=\"true\">\n {{ 'mantle.buttons.exporting' | translate }}\n <mat-spinner [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".export-button,.exporting-button{width:140px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: DynamicFormComponent, selector: "mantle-dynamic-form", inputs: ["formPageService", "content"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6717
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ExportPageComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: AnnouncementService }, { token: ObjectService }], target: i0.ɵɵFactoryTarget.Component }); }
6718
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ExportPageComponent, isStandalone: false, selector: "mantle-export-page", viewQueries: [{ propertyName: "dynamicForm", first: true, predicate: DynamicFormComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\" class=\"full-height-min\" [ngClass]=\"{'page full-height-only vertically-scrollable': !isTabbedContent}\">\n <div fxFlex=\"1 0 auto\" class=\"main-content\">\n <mantle-dynamic-form #dynamicForm [content]=\"content$ | async\"></mantle-dynamic-form>\n </div>\n\n <div fxFlex=\"0 0 auto\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <button mat-raised-button\n *ngIf=\"!isExportInProgress\"\n color=\"primary\"\n type=\"button\"\n class=\"export-button\"\n [disabled]=\"!dynamicForm?.valid\"\n (click)=\"onExportClicked()\">\n {{ 'mantle.buttons.export' | translate }}\n </button>\n\n\n <button mat-raised-button\n *ngIf=\"isExportInProgress\"\n color=\"primary\"\n type=\"button\"\n class=\"button-with-spinner exporting-button\"\n [disabled]=\"true\">\n {{ 'mantle.buttons.exporting' | translate }}\n <mat-spinner [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".export-button,.exporting-button{width:140px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: DynamicFormComponent, selector: "mantle-dynamic-form", inputs: ["formPageService", "content"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6719
6719
  }
6720
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ExportPageComponent, decorators: [{
6720
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ExportPageComponent, decorators: [{
6721
6721
  type: Component,
6722
6722
  args: [{ selector: 'mantle-export-page', standalone: false, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"16px\" class=\"full-height-min\" [ngClass]=\"{'page full-height-only vertically-scrollable': !isTabbedContent}\">\n <div fxFlex=\"1 0 auto\" class=\"main-content\">\n <mantle-dynamic-form #dynamicForm [content]=\"content$ | async\"></mantle-dynamic-form>\n </div>\n\n <div fxFlex=\"0 0 auto\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <button mat-raised-button\n *ngIf=\"!isExportInProgress\"\n color=\"primary\"\n type=\"button\"\n class=\"export-button\"\n [disabled]=\"!dynamicForm?.valid\"\n (click)=\"onExportClicked()\">\n {{ 'mantle.buttons.export' | translate }}\n </button>\n\n\n <button mat-raised-button\n *ngIf=\"isExportInProgress\"\n color=\"primary\"\n type=\"button\"\n class=\"button-with-spinner exporting-button\"\n [disabled]=\"true\">\n {{ 'mantle.buttons.exporting' | translate }}\n <mat-spinner [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".export-button,.exporting-button{width:140px}\n"] }]
6723
6723
  }], ctorParameters: () => [{ type: i1$5.ActivatedRoute }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: AnnouncementService }, { type: ObjectService }], propDecorators: { dynamicForm: [{
@@ -6762,10 +6762,10 @@ class NavTreeComponent {
6762
6762
  getChildren(node) {
6763
6763
  return node.children;
6764
6764
  }
6765
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: NavTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6766
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: NavTreeComponent, isStandalone: false, selector: "mantle-nav-tree", inputs: { notificationCount: "notificationCount", navTreeFeatures: "navTreeFeatures" }, usesOnChanges: true, ngImport: i0, template: "<mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n\n <!-- This is the tree node template for leaf nodes -->\n <mat-tree-node *matTreeNodeDef=\"let node\" [class.leaf-node]=\"node.level > 0\">\n <div fxLayout=\"row\" class=\"tree-node-content\">\n <div fxFlex=\"0 0 28px\" *ngIf=\"node.level > 0\" class=\"tree-node-indent\">\n <mat-divider [vertical]=\"true\" color=\"primary\"></mat-divider>\n </div>\n <div fxFlex=\"1 0 1px\">\n <button mat-button [routerLink]=\"node.link\" routerLinkActive=\"active\" class=\"tree-node-button\">\n <mat-icon *ngIf=\"node.icon\"\n [matBadge]=\"(node.name == 'Notifications' && notificationCount > 0) ? notificationCount : undefined\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"small\">\n {{ node.icon }}\n </mat-icon>\n <div class=\"node-label\">{{ node.name | translate }}</div>\n </button>\n </div>\n </div>\n </mat-tree-node>\n\n <!-- This is the tree node template for expandable nodes -->\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" fxLayout=\"row\" [class.leaf-node]=\"node.level > 0\">\n <div fxLayout=\"row\" class=\"tree-node-content\">\n <div fxFlex=\"0 0 28px\" *ngIf=\"node.level > 0\" class=\"tree-node-indent\">\n <mat-divider [vertical]=\"true\" color=\"primary\"></mat-divider>\n </div>\n <div fxFlex=\"1 0 1px\">\n <button fxFlex=\"1 0 1px\" mat-button matTreeNodeToggle class=\"tree-node-button\">\n <mat-icon *ngIf=\"node.icon\">{{ node.icon }}</mat-icon>\n <div class=\"node-label\">{{ node.name | translate }}</div>\n </button>\n </div>\n </div>\n </mat-tree-node>\n\n</mat-tree>\n", styles: [".mat-tree-node .tree-node-content{min-height:48px}.mat-tree-node .tree-node-content .tree-node-button{text-align:left;border-radius:0;width:239px;height:auto;padding:8px;margin:6px 0}.mat-tree-node .tree-node-content .tree-node-button .mat-icon{margin-right:8px}.mat-tree-node .tree-node-content .tree-node-button .node-label{display:inline-block;text-align:left;white-space:normal;line-height:1.25rem}.mat-tree-node.leaf-node .tree-node-indent{position:relative}.mat-tree-node.leaf-node .tree-node-indent .mat-divider{position:absolute;top:0;bottom:0;right:0;border-width:2px}.mat-tree-node.leaf-node .tree-node-button{width:191px!important;margin:4px 0 4px 16px!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$5.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i4$8.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3$5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i8$3.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i8$3.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "component", type: i8$3.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: i8$3.MatTreeNode, selector: "mat-tree-node", inputs: ["tabIndex", "disabled"], outputs: ["activation", "expandedChange"], exportAs: ["matTreeNode"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6765
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NavTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6766
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: NavTreeComponent, isStandalone: false, selector: "mantle-nav-tree", inputs: { notificationCount: "notificationCount", navTreeFeatures: "navTreeFeatures" }, usesOnChanges: true, ngImport: i0, template: "<mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n\n <!-- This is the tree node template for leaf nodes -->\n <mat-tree-node *matTreeNodeDef=\"let node\" [class.leaf-node]=\"node.level > 0\">\n <div fxLayout=\"row\" class=\"tree-node-content\">\n <div fxFlex=\"0 0 28px\" *ngIf=\"node.level > 0\" class=\"tree-node-indent\">\n <mat-divider [vertical]=\"true\" color=\"primary\"></mat-divider>\n </div>\n <div fxFlex=\"1 0 1px\">\n <button mat-button [routerLink]=\"node.link\" routerLinkActive=\"active\" class=\"tree-node-button\">\n <mat-icon *ngIf=\"node.icon\"\n [matBadge]=\"(node.name == 'Notifications' && notificationCount > 0) ? notificationCount : undefined\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"small\">\n {{ node.icon }}\n </mat-icon>\n <div class=\"node-label\">{{ node.name | translate }}</div>\n </button>\n </div>\n </div>\n </mat-tree-node>\n\n <!-- This is the tree node template for expandable nodes -->\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" fxLayout=\"row\" [class.leaf-node]=\"node.level > 0\">\n <div fxLayout=\"row\" class=\"tree-node-content\">\n <div fxFlex=\"0 0 28px\" *ngIf=\"node.level > 0\" class=\"tree-node-indent\">\n <mat-divider [vertical]=\"true\" color=\"primary\"></mat-divider>\n </div>\n <div fxFlex=\"1 0 1px\">\n <button fxFlex=\"1 0 1px\" mat-button matTreeNodeToggle class=\"tree-node-button\">\n <mat-icon *ngIf=\"node.icon\">{{ node.icon }}</mat-icon>\n <div class=\"node-label\">{{ node.name | translate }}</div>\n </button>\n </div>\n </div>\n </mat-tree-node>\n\n</mat-tree>\n", styles: [".mat-tree-node .tree-node-content{min-height:48px}.mat-tree-node .tree-node-content .tree-node-button{text-align:left;border-radius:0;width:239px;height:auto;padding:8px;margin:6px 0}.mat-tree-node .tree-node-content .tree-node-button .mat-icon{margin-right:8px}.mat-tree-node .tree-node-content .tree-node-button .node-label{display:inline-block;text-align:left;white-space:normal;line-height:1.25rem}.mat-tree-node.leaf-node .tree-node-indent{position:relative}.mat-tree-node.leaf-node .tree-node-indent .mat-divider{position:absolute;top:0;bottom:0;right:0;border-width:2px}.mat-tree-node.leaf-node .tree-node-button{width:191px!important;margin:4px 0 4px 16px!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$5.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i4$8.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3$5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i8$3.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i8$3.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "component", type: i8$3.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: i8$3.MatTreeNode, selector: "mat-tree-node", inputs: ["tabIndex", "disabled"], outputs: ["activation", "expandedChange"], exportAs: ["matTreeNode"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6767
6767
  }
6768
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: NavTreeComponent, decorators: [{
6768
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NavTreeComponent, decorators: [{
6769
6769
  type: Component,
6770
6770
  args: [{ selector: 'mantle-nav-tree', standalone: false, template: "<mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n\n <!-- This is the tree node template for leaf nodes -->\n <mat-tree-node *matTreeNodeDef=\"let node\" [class.leaf-node]=\"node.level > 0\">\n <div fxLayout=\"row\" class=\"tree-node-content\">\n <div fxFlex=\"0 0 28px\" *ngIf=\"node.level > 0\" class=\"tree-node-indent\">\n <mat-divider [vertical]=\"true\" color=\"primary\"></mat-divider>\n </div>\n <div fxFlex=\"1 0 1px\">\n <button mat-button [routerLink]=\"node.link\" routerLinkActive=\"active\" class=\"tree-node-button\">\n <mat-icon *ngIf=\"node.icon\"\n [matBadge]=\"(node.name == 'Notifications' && notificationCount > 0) ? notificationCount : undefined\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"small\">\n {{ node.icon }}\n </mat-icon>\n <div class=\"node-label\">{{ node.name | translate }}</div>\n </button>\n </div>\n </div>\n </mat-tree-node>\n\n <!-- This is the tree node template for expandable nodes -->\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" fxLayout=\"row\" [class.leaf-node]=\"node.level > 0\">\n <div fxLayout=\"row\" class=\"tree-node-content\">\n <div fxFlex=\"0 0 28px\" *ngIf=\"node.level > 0\" class=\"tree-node-indent\">\n <mat-divider [vertical]=\"true\" color=\"primary\"></mat-divider>\n </div>\n <div fxFlex=\"1 0 1px\">\n <button fxFlex=\"1 0 1px\" mat-button matTreeNodeToggle class=\"tree-node-button\">\n <mat-icon *ngIf=\"node.icon\">{{ node.icon }}</mat-icon>\n <div class=\"node-label\">{{ node.name | translate }}</div>\n </button>\n </div>\n </div>\n </mat-tree-node>\n\n</mat-tree>\n", styles: [".mat-tree-node .tree-node-content{min-height:48px}.mat-tree-node .tree-node-content .tree-node-button{text-align:left;border-radius:0;width:239px;height:auto;padding:8px;margin:6px 0}.mat-tree-node .tree-node-content .tree-node-button .mat-icon{margin-right:8px}.mat-tree-node .tree-node-content .tree-node-button .node-label{display:inline-block;text-align:left;white-space:normal;line-height:1.25rem}.mat-tree-node.leaf-node .tree-node-indent{position:relative}.mat-tree-node.leaf-node .tree-node-indent .mat-divider{position:absolute;top:0;bottom:0;right:0;border-width:2px}.mat-tree-node.leaf-node .tree-node-button{width:191px!important;margin:4px 0 4px 16px!important}\n"] }]
6771
6771
  }], ctorParameters: () => [], propDecorators: { notificationCount: [{
@@ -6825,10 +6825,10 @@ class DialogDetailsComponent {
6825
6825
  ngOnDestroy() {
6826
6826
  this.routerSubscription.unsubscribe();
6827
6827
  }
6828
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DialogDetailsComponent, deps: [{ token: i1$5.Router }, { token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: AnnouncementService }], target: i0.ɵɵFactoryTarget.Component }); }
6829
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: DialogDetailsComponent, isStandalone: false, selector: "mantle-dialog-details", ngImport: i0, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" [title]=\"title\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancelClicked()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n <mantle-dynamic-details [content]=\"content$ | async\"></mantle-dynamic-details>\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" class=\"actions-section\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"detailPageService.showDeleteButton && detailPageService.canWrite()\">\n <button mat-button\n *ngIf=\"!isDeleteInProgress\"\n color=\"warn\"\n type=\"button\"\n class=\"delete-button\"\n (click)=\"onDeleteClicked()\">\n {{ 'mantle.buttons.delete' | translate }}\n </button>\n\n <button mat-raised-button\n *ngIf=\"isDeleteInProgress\"\n color=\"warn\"\n type=\"button\"\n class=\"button-with-spinner deleting-button\"\n [disabled]=\"true\">\n {{ 'mantle.buttons.deleting' | translate }}\n <mat-spinner [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"detailPageService.showCloneButton && detailPageService.canWrite()\">\n <button mat-raised-button\n color=\"accent\"\n type=\"button\"\n class=\"edit-button\"\n (click)=\"onCloneClicked()\">\n {{ 'mantle.buttons.clone' | translate }}\n </button>\n </div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"detailPageService.showEditButton && detailPageService.canWrite()\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n class=\"edit-button\"\n (click)=\"onEditClicked()\">\n {{ 'mantle.buttons.edit' | translate }}\n </button>\n </div>\n</mat-dialog-actions>\n", styles: [".delete-button,.deleting-button{text-transform:uppercase}.edit-button{width:140px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: DynamicDetailsComponent, selector: "mantle-dynamic-details", inputs: ["detailPageService", "content"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6828
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DialogDetailsComponent, deps: [{ token: i1$5.Router }, { token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: AnnouncementService }], target: i0.ɵɵFactoryTarget.Component }); }
6829
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: DialogDetailsComponent, isStandalone: false, selector: "mantle-dialog-details", ngImport: i0, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" [title]=\"title\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancelClicked()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n <mantle-dynamic-details [content]=\"content$ | async\"></mantle-dynamic-details>\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" class=\"actions-section\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"detailPageService.showDeleteButton && detailPageService.canWrite()\">\n <button mat-button\n *ngIf=\"!isDeleteInProgress\"\n color=\"warn\"\n type=\"button\"\n class=\"delete-button\"\n (click)=\"onDeleteClicked()\">\n {{ 'mantle.buttons.delete' | translate }}\n </button>\n\n <button mat-raised-button\n *ngIf=\"isDeleteInProgress\"\n color=\"warn\"\n type=\"button\"\n class=\"button-with-spinner deleting-button\"\n [disabled]=\"true\">\n {{ 'mantle.buttons.deleting' | translate }}\n <mat-spinner [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"detailPageService.showCloneButton && detailPageService.canWrite()\">\n <button mat-raised-button\n color=\"accent\"\n type=\"button\"\n class=\"edit-button\"\n (click)=\"onCloneClicked()\">\n {{ 'mantle.buttons.clone' | translate }}\n </button>\n </div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"detailPageService.showEditButton && detailPageService.canWrite()\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n class=\"edit-button\"\n (click)=\"onEditClicked()\">\n {{ 'mantle.buttons.edit' | translate }}\n </button>\n </div>\n</mat-dialog-actions>\n", styles: [".delete-button,.deleting-button{text-transform:uppercase}.edit-button{width:140px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: DynamicDetailsComponent, selector: "mantle-dynamic-details", inputs: ["detailPageService", "content"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6830
6830
  }
6831
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DialogDetailsComponent, decorators: [{
6831
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DialogDetailsComponent, decorators: [{
6832
6832
  type: Component,
6833
6833
  args: [{ selector: 'mantle-dialog-details', standalone: false, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" [title]=\"title\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancelClicked()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n <mantle-dynamic-details [content]=\"content$ | async\"></mantle-dynamic-details>\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" class=\"actions-section\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"detailPageService.showDeleteButton && detailPageService.canWrite()\">\n <button mat-button\n *ngIf=\"!isDeleteInProgress\"\n color=\"warn\"\n type=\"button\"\n class=\"delete-button\"\n (click)=\"onDeleteClicked()\">\n {{ 'mantle.buttons.delete' | translate }}\n </button>\n\n <button mat-raised-button\n *ngIf=\"isDeleteInProgress\"\n color=\"warn\"\n type=\"button\"\n class=\"button-with-spinner deleting-button\"\n [disabled]=\"true\">\n {{ 'mantle.buttons.deleting' | translate }}\n <mat-spinner [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"detailPageService.showCloneButton && detailPageService.canWrite()\">\n <button mat-raised-button\n color=\"accent\"\n type=\"button\"\n class=\"edit-button\"\n (click)=\"onCloneClicked()\">\n {{ 'mantle.buttons.clone' | translate }}\n </button>\n </div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"detailPageService.showEditButton && detailPageService.canWrite()\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n class=\"edit-button\"\n (click)=\"onEditClicked()\">\n {{ 'mantle.buttons.edit' | translate }}\n </button>\n </div>\n</mat-dialog-actions>\n", styles: [".delete-button,.deleting-button{text-transform:uppercase}.edit-button{width:140px}\n"] }]
6834
6834
  }], ctorParameters: () => [{ type: i1$5.Router }, { type: i1$3.MatDialogRef }, { type: undefined, decorators: [{
@@ -6849,10 +6849,10 @@ class RerouteComponent {
6849
6849
  reroute() {
6850
6850
  this.rerouteService.reroute();
6851
6851
  }
6852
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: RerouteComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
6853
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: RerouteComponent, isStandalone: false, selector: "mantle-reroute", ngImport: i0, template: '', isInline: true }); }
6852
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RerouteComponent, deps: [{ token: i1$5.ActivatedRoute }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
6853
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: RerouteComponent, isStandalone: false, selector: "mantle-reroute", ngImport: i0, template: '', isInline: true }); }
6854
6854
  }
6855
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: RerouteComponent, decorators: [{
6855
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: RerouteComponent, decorators: [{
6856
6856
  type: Component,
6857
6857
  args: [{
6858
6858
  selector: 'mantle-reroute',
@@ -6873,10 +6873,10 @@ class QrCodeDialogComponent {
6873
6873
  onClose() {
6874
6874
  this.dialogRef.close();
6875
6875
  }
6876
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: QrCodeDialogComponent, deps: [{ token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
6877
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: QrCodeDialogComponent, isStandalone: false, selector: "mantle-qr-code-dialog", ngImport: i0, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" title=\"QR Code\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onClose()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n <p class=\"instructions\">{{ instructions | translate }}</p>\n <div class=\"qr-code-wrapper\">\n <qr-code [value]=\"value\"\n size=\"300\"\n cssClass=\"qr-code\"\n errorCorrectionLevel=\"M\">\n </qr-code>\n </div>\n</mat-dialog-content>\n", styles: [".instructions{text-align:justify}.qr-code-wrapper{text-align:center}\n"], dependencies: [{ kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i3$6.QrCodeComponent, selector: "qr-code", inputs: ["value", "size", "style", "styleClass", "darkColor", "lightColor", "errorCorrectionLevel", "centerImageSrc", "centerImageSize", "margin", "scale", "maskPattern"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6876
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: QrCodeDialogComponent, deps: [{ token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
6877
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: QrCodeDialogComponent, isStandalone: false, selector: "mantle-qr-code-dialog", ngImport: i0, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" title=\"QR Code\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onClose()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n <p class=\"instructions\">{{ instructions | translate }}</p>\n <div class=\"qr-code-wrapper\">\n <qr-code [value]=\"value\"\n size=\"300\"\n cssClass=\"qr-code\"\n errorCorrectionLevel=\"M\">\n </qr-code>\n </div>\n</mat-dialog-content>\n", styles: [".instructions{text-align:justify}.qr-code-wrapper{text-align:center}\n"], dependencies: [{ kind: "directive", type: i4$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i3$6.QrCodeComponent, selector: "qr-code", inputs: ["value", "size", "style", "styleClass", "darkColor", "lightColor", "errorCorrectionLevel", "centerImageSrc", "centerImageSize", "margin", "scale", "maskPattern"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
6878
6878
  }
6879
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: QrCodeDialogComponent, decorators: [{
6879
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: QrCodeDialogComponent, decorators: [{
6880
6880
  type: Component,
6881
6881
  args: [{ selector: 'mantle-qr-code-dialog', standalone: false, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" title=\"QR Code\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onClose()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n <p class=\"instructions\">{{ instructions | translate }}</p>\n <div class=\"qr-code-wrapper\">\n <qr-code [value]=\"value\"\n size=\"300\"\n cssClass=\"qr-code\"\n errorCorrectionLevel=\"M\">\n </qr-code>\n </div>\n</mat-dialog-content>\n", styles: [".instructions{text-align:justify}.qr-code-wrapper{text-align:center}\n"] }]
6882
6882
  }], ctorParameters: () => [{ type: i1$3.MatDialogRef }, { type: undefined, decorators: [{
@@ -6885,8 +6885,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
6885
6885
  }] }] });
6886
6886
 
6887
6887
  class MantleModule {
6888
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: MantleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6889
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.3", ngImport: i0, type: MantleModule, declarations: [DynamicPipe,
6888
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MantleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6889
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: MantleModule, declarations: [DynamicPipe,
6890
6890
  SecureImagePipe,
6891
6891
  ClickStopPropagationDirective,
6892
6892
  FieldGridItemDirective,
@@ -7132,7 +7132,7 @@ class MantleModule {
7132
7132
  DynamicCustomDashboardContainerComponent,
7133
7133
  PlainCustomDashboardContainerComponent,
7134
7134
  DynamicCustomDashboardSectionComponent] }); }
7135
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: MantleModule, providers: [
7135
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MantleModule, providers: [
7136
7136
  DatePipe,
7137
7137
  ], imports: [CommonModule,
7138
7138
  RouterModule,
@@ -7153,7 +7153,7 @@ class MantleModule {
7153
7153
  MaterialModule,
7154
7154
  ImageCropperComponent$1, MaterialModule] }); }
7155
7155
  }
7156
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: MantleModule, decorators: [{
7156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MantleModule, decorators: [{
7157
7157
  type: NgModule,
7158
7158
  args: [{
7159
7159
  declarations: [
@@ -7988,10 +7988,10 @@ class CurrentUserService {
7988
7988
  this.dataBroadcastService.locale.next(locale);
7989
7989
  }
7990
7990
  }
7991
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CurrentUserService, deps: [{ token: i1$1.AngularTokenService }, { token: i1$5.Router }, { token: AnnouncementService }, { token: ArrayService }, { token: DataBroadcastService }, { token: LocaleService }, { token: WebApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
7992
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CurrentUserService, providedIn: 'root' }); }
7991
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CurrentUserService, deps: [{ token: i1$1.AngularTokenService }, { token: i1$5.Router }, { token: AnnouncementService }, { token: ArrayService }, { token: DataBroadcastService }, { token: LocaleService }, { token: WebApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
7992
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CurrentUserService, providedIn: 'root' }); }
7993
7993
  }
7994
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CurrentUserService, decorators: [{
7994
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CurrentUserService, decorators: [{
7995
7995
  type: Injectable,
7996
7996
  args: [{
7997
7997
  providedIn: 'root'
@@ -8024,10 +8024,10 @@ class ChartService {
8024
8024
  splineChart(domainConfig, widgetConfig) {
8025
8025
  return this.mergeChartConfig(SPLINE_CHART, domainConfig, widgetConfig);
8026
8026
  }
8027
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ChartService, deps: [{ token: ObjectService }], target: i0.ɵɵFactoryTarget.Injectable }); }
8028
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ChartService, providedIn: 'root' }); }
8027
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ChartService, deps: [{ token: ObjectService }], target: i0.ɵɵFactoryTarget.Injectable }); }
8028
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ChartService, providedIn: 'root' }); }
8029
8029
  }
8030
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ChartService, decorators: [{
8030
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ChartService, decorators: [{
8031
8031
  type: Injectable,
8032
8032
  args: [{
8033
8033
  providedIn: 'root'
@@ -8073,10 +8073,10 @@ class WebsocketService {
8073
8073
  }
8074
8074
  };
8075
8075
  }
8076
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WebsocketService, deps: [{ token: ENVIRONMENT }, { token: i1$1.AngularTokenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
8077
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WebsocketService, providedIn: 'root' }); }
8076
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: WebsocketService, deps: [{ token: ENVIRONMENT }, { token: i1$1.AngularTokenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
8077
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: WebsocketService, providedIn: 'root' }); }
8078
8078
  }
8079
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WebsocketService, decorators: [{
8079
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: WebsocketService, decorators: [{
8080
8080
  type: Injectable,
8081
8081
  args: [{
8082
8082
  providedIn: 'root'
@@ -8162,10 +8162,10 @@ class PasswordCheckService {
8162
8162
  dialogConfig.width = '40%';
8163
8163
  return dialogConfig;
8164
8164
  }
8165
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PasswordCheckService, deps: [{ token: i1$3.MatDialog }, { token: AnnouncementService }, { token: CurrentUserService }, { token: DataBroadcastService }, { token: WebApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
8166
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PasswordCheckService, providedIn: 'root' }); }
8165
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PasswordCheckService, deps: [{ token: i1$3.MatDialog }, { token: AnnouncementService }, { token: CurrentUserService }, { token: DataBroadcastService }, { token: WebApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
8166
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PasswordCheckService, providedIn: 'root' }); }
8167
8167
  }
8168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PasswordCheckService, decorators: [{
8168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PasswordCheckService, decorators: [{
8169
8169
  type: Injectable,
8170
8170
  args: [{
8171
8171
  providedIn: 'root'
@@ -8446,10 +8446,10 @@ class SessionGuard {
8446
8446
  canActivate(route, state) {
8447
8447
  return this.angularTokenService.canActivate(route, state);
8448
8448
  }
8449
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SessionGuard, deps: [{ token: i1$1.AngularTokenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
8450
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SessionGuard, providedIn: 'root' }); }
8449
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SessionGuard, deps: [{ token: i1$1.AngularTokenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
8450
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SessionGuard, providedIn: 'root' }); }
8451
8451
  }
8452
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SessionGuard, decorators: [{
8452
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SessionGuard, decorators: [{
8453
8453
  type: Injectable,
8454
8454
  args: [{
8455
8455
  providedIn: 'root'
@@ -8480,10 +8480,10 @@ class FeatureGuard {
8480
8480
  });
8481
8481
  });
8482
8482
  }
8483
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: FeatureGuard, deps: [{ token: AnnouncementService }, { token: CurrentUserService }, { token: i1$5.Router }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
8484
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: FeatureGuard, providedIn: 'root' }); }
8483
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FeatureGuard, deps: [{ token: AnnouncementService }, { token: CurrentUserService }, { token: i1$5.Router }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
8484
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FeatureGuard, providedIn: 'root' }); }
8485
8485
  }
8486
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: FeatureGuard, decorators: [{
8486
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FeatureGuard, decorators: [{
8487
8487
  type: Injectable,
8488
8488
  args: [{
8489
8489
  providedIn: 'root'
@@ -8497,10 +8497,10 @@ class PasswordCheckGuard {
8497
8497
  canActivateChild() {
8498
8498
  return this.passwordCheckService.checkPassword();
8499
8499
  }
8500
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PasswordCheckGuard, deps: [{ token: PasswordCheckService }], target: i0.ɵɵFactoryTarget.Injectable }); }
8501
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PasswordCheckGuard, providedIn: 'root' }); }
8500
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PasswordCheckGuard, deps: [{ token: PasswordCheckService }], target: i0.ɵɵFactoryTarget.Injectable }); }
8501
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PasswordCheckGuard, providedIn: 'root' }); }
8502
8502
  }
8503
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: PasswordCheckGuard, decorators: [{
8503
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: PasswordCheckGuard, decorators: [{
8504
8504
  type: Injectable,
8505
8505
  args: [{
8506
8506
  providedIn: 'root'