@bcgov/nr-ngx-component-lib 0.0.33 → 0.0.35

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.
@@ -39,9 +39,9 @@ import * as i2$3 from '@angular/material/radio';
39
39
  import { MatRadioModule } from '@angular/material/radio';
40
40
  import * as i1$8 from '@angular/material/snack-bar';
41
41
  import { MAT_SNACK_BAR_DATA, MatSnackBar } from '@angular/material/snack-bar';
42
- import * as i1$9 from '@angular/material/chips';
42
+ import * as i2$4 from '@angular/material/chips';
43
43
  import { MatChipsModule } from '@angular/material/chips';
44
- import * as i2$4 from '@angular/material/dialog';
44
+ import * as i2$5 from '@angular/material/dialog';
45
45
  import { MatDialogRef, MAT_DIALOG_DATA, MatDialog, MatDialogModule } from '@angular/material/dialog';
46
46
  import { MatButtonModule } from '@angular/material/button';
47
47
  import { MatCheckboxModule } from '@angular/material/checkbox';
@@ -534,11 +534,11 @@ function parseMultiple(v, def) {
534
534
 
535
535
  class ExpansionPanelSectionComponent extends NrclBase {
536
536
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpansionPanelSectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
537
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ExpansionPanelSectionComponent, selector: "nrcl-expansion-panel-section", usesInheritance: true, ngImport: i0, template: "<nrcl-gap divider/>\n\n<ng-content></ng-content>\n", styles: [":host ::ng-deep h3{font-size:var(--nrcl-font-size-h3);font-weight:400;padding:0;margin:0;padding-bottom:var(--nrcl-gutter-space)}:host>::ng-deep .nrcl-gap{width:calc(100% + 2 * var(--nrcl-gutter-space))}:host>::ng-deep .nrcl-gap .divider{margin-left:calc(-1 * var(--nrcl-gutter-space));margin-right:calc(-1 * var(--nrcl-gutter-space))}\n"], dependencies: [{ kind: "component", type: GapComponent, selector: "nrcl-gap", inputs: ["horizontal", "vertical", "divider"] }] }); }
537
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ExpansionPanelSectionComponent, selector: "nrcl-expansion-panel-section", usesInheritance: true, ngImport: i0, template: "<nrcl-gap divider class=\"section\"/>\n\n<ng-content></ng-content>\n", styles: [":host .nrcl-gap.section{width:calc(100% + 2 * var(--nrcl-gutter-space))}:host .nrcl-gap.section ::ng-deep .divider{margin-left:calc(-1 * var(--nrcl-gutter-space));margin-right:calc(-1 * var(--nrcl-gutter-space))}:host ::ng-deep h3{font-size:var(--nrcl-font-size-h3);font-weight:400;padding:0;margin:0;display:flex;justify-content:space-between}\n"], dependencies: [{ kind: "component", type: GapComponent, selector: "nrcl-gap", inputs: ["horizontal", "vertical", "divider"] }] }); }
538
538
  }
539
539
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpansionPanelSectionComponent, decorators: [{
540
540
  type: Component,
541
- args: [{ selector: "nrcl-expansion-panel-section", template: "<nrcl-gap divider/>\n\n<ng-content></ng-content>\n", styles: [":host ::ng-deep h3{font-size:var(--nrcl-font-size-h3);font-weight:400;padding:0;margin:0;padding-bottom:var(--nrcl-gutter-space)}:host>::ng-deep .nrcl-gap{width:calc(100% + 2 * var(--nrcl-gutter-space))}:host>::ng-deep .nrcl-gap .divider{margin-left:calc(-1 * var(--nrcl-gutter-space));margin-right:calc(-1 * var(--nrcl-gutter-space))}\n"] }]
541
+ args: [{ selector: "nrcl-expansion-panel-section", template: "<nrcl-gap divider class=\"section\"/>\n\n<ng-content></ng-content>\n", styles: [":host .nrcl-gap.section{width:calc(100% + 2 * var(--nrcl-gutter-space))}:host .nrcl-gap.section ::ng-deep .divider{margin-left:calc(-1 * var(--nrcl-gutter-space));margin-right:calc(-1 * var(--nrcl-gutter-space))}:host ::ng-deep h3{font-size:var(--nrcl-font-size-h3);font-weight:400;padding:0;margin:0;display:flex;justify-content:space-between}\n"] }]
542
542
  }] });
543
543
 
544
544
  class FilterContainerComponent extends NrclBase {
@@ -1068,14 +1068,14 @@ class FormFieldComponent extends NrclBase {
1068
1068
  }
1069
1069
  }
1070
1070
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1071
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.14", type: FormFieldComponent, selector: "nrcl-form-field", inputs: { required: ["required", "required", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute] }, host: { properties: { "class.required": "required", "class.readonly": "readonly" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>", isInline: true, styles: [":host ::ng-deep .mat-mdc-form-field{width:100%;font-family:var(--nrcl-font-family)}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper{padding-left:0;padding-right:0;background-color:unset}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix{font-size:var(--nrcl-font-size);padding-bottom:2px;line-height:20px;min-height:50px;width:unset}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-mdc-form-field-required-marker{display:none}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host ::ng-deep .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{padding:0}:host.required ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mdc-floating-label :after{color:red;content:\" *\"}:host.readonly ::ng-deep .mat-mdc-form-field{cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field [readonly=true]{color:#0000008c;cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field .mdc-line-ripple:before{border-style:dashed;border-width:1px;border-color:#00000021}:host.readonly ::ng-deep .mat-mdc-form-field mat-error{display:none}:host.readonly ::ng-deep .mat-mdc-form-field input,:host.readonly ::ng-deep .mat-mdc-form-field textarea{cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field .select-read-only-cursor{cursor:not-allowed;pointer-events:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1071
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.14", type: FormFieldComponent, selector: "nrcl-form-field", inputs: { required: ["required", "required", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute] }, host: { properties: { "class.required": "required", "class.readonly": "readonly" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>", isInline: true, styles: [":host ::ng-deep .mat-mdc-form-field{width:100%;font-family:var(--nrcl-font-family)}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper{padding-left:0;padding-right:0;background-color:unset}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix{font-size:var(--nrcl-font-size);padding-bottom:2px;line-height:20px;min-height:50px;width:unset}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-mdc-form-field-required-marker{display:none}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host ::ng-deep .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{padding:0}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-subscript-dynamic-size{min-height:22px}:host.required ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mdc-floating-label :after{color:red;content:\" *\"}:host.readonly ::ng-deep .mat-mdc-form-field{cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field [readonly=true]{color:#0000008c;cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field .mdc-line-ripple:before{border-style:dashed;border-width:1px;border-color:#00000021}:host.readonly ::ng-deep .mat-mdc-form-field mat-error{display:none}:host.readonly ::ng-deep .mat-mdc-form-field input,:host.readonly ::ng-deep .mat-mdc-form-field textarea{cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field .select-read-only-cursor{cursor:not-allowed;pointer-events:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1072
1072
  }
1073
1073
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormFieldComponent, decorators: [{
1074
1074
  type: Component,
1075
1075
  args: [{ selector: "nrcl-form-field", template: "<ng-content></ng-content>", changeDetection: ChangeDetectionStrategy.OnPush, host: {
1076
1076
  '[class.required]': "required",
1077
1077
  '[class.readonly]': "readonly",
1078
- }, styles: [":host ::ng-deep .mat-mdc-form-field{width:100%;font-family:var(--nrcl-font-family)}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper{padding-left:0;padding-right:0;background-color:unset}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix{font-size:var(--nrcl-font-size);padding-bottom:2px;line-height:20px;min-height:50px;width:unset}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-mdc-form-field-required-marker{display:none}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host ::ng-deep .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{padding:0}:host.required ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mdc-floating-label :after{color:red;content:\" *\"}:host.readonly ::ng-deep .mat-mdc-form-field{cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field [readonly=true]{color:#0000008c;cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field .mdc-line-ripple:before{border-style:dashed;border-width:1px;border-color:#00000021}:host.readonly ::ng-deep .mat-mdc-form-field mat-error{display:none}:host.readonly ::ng-deep .mat-mdc-form-field input,:host.readonly ::ng-deep .mat-mdc-form-field textarea{cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field .select-read-only-cursor{cursor:not-allowed;pointer-events:none}\n"] }]
1078
+ }, styles: [":host ::ng-deep .mat-mdc-form-field{width:100%;font-family:var(--nrcl-font-family)}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper{padding-left:0;padding-right:0;background-color:unset}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix{font-size:var(--nrcl-font-size);padding-bottom:2px;line-height:20px;min-height:50px;width:unset}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-mdc-form-field-required-marker{display:none}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host ::ng-deep .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{padding:0}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-subscript-dynamic-size{min-height:22px}:host.required ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mdc-floating-label :after{color:red;content:\" *\"}:host.readonly ::ng-deep .mat-mdc-form-field{cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field [readonly=true]{color:#0000008c;cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field .mdc-line-ripple:before{border-style:dashed;border-width:1px;border-color:#00000021}:host.readonly ::ng-deep .mat-mdc-form-field mat-error{display:none}:host.readonly ::ng-deep .mat-mdc-form-field input,:host.readonly ::ng-deep .mat-mdc-form-field textarea{cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field .select-read-only-cursor{cursor:not-allowed;pointer-events:none}\n"] }]
1079
1079
  }], propDecorators: { required: [{
1080
1080
  type: Input,
1081
1081
  args: [{ transform: booleanAttribute }]
@@ -1452,13 +1452,13 @@ class RowListDesktopComponent extends NrclBase {
1452
1452
  this.showRowHover = true;
1453
1453
  }
1454
1454
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowListDesktopComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1455
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RowListDesktopComponent, selector: "nrcl-row-list-desktop", inputs: { showRowHover: "showRowHover" }, host: { properties: { "class.show-row-hover": "showRowHover" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid #c6c8cb}:host:empty{border-bottom:none}:host ::ng-deep .mat-mdc-table{width:100%}:host ::ng-deep .mat-mdc-table .mat-mdc-row{background-color:#fff;cursor:default}:host ::ng-deep .mat-mdc-table .mat-mdc-row .mat-mdc-cell{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding:5px;color:#000;overflow-wrap:break-word}:host ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(odd):not(.selected){background-color:#f2f2f2}:host ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(2n):not(.selected){background-color:#fff}:host ::ng-deep .mat-mdc-table .mat-mdc-row.selected{background-color:#b6d7a8}:host ::ng-deep .mat-mdc-table .mat-mdc-header-cell{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding:5px;color:#000}:host ::ng-deep .mat-mdc-table .mat-mdc-header-cell .mat-sort-header-content{text-align:left;align-items:flex-end;font-size:15px}:host.show-row-hover ::ng-deep .mat-mdc-table .mat-mdc-row{cursor:pointer}:host.show-row-hover ::ng-deep .mat-mdc-table .mat-mdc-row:hover{background-color:#d7d7d7}:host.show-row-hover ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(odd):not(:hover):not(.selected){background-color:#f2f2f2}:host.show-row-hover ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(2n):not(:hover):not(.selected){background-color:#fff}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1455
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RowListDesktopComponent, selector: "nrcl-row-list-desktop", inputs: { showRowHover: "showRowHover" }, host: { properties: { "class.show-row-hover": "showRowHover" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: ["::ng-deep :root{--nrcl-row-list-background-color: white;--nrcl-row-list-alternate-background-color: #f2f2f2;--nrcl-row-list-hover-background-color: #d7d7d7;--nrcl-row-list-selected-background-color: #b6d7a8}:host{display:block;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid #c6c8cb}:host:empty{border-bottom:none}:host ::ng-deep .mat-mdc-table{width:100%}:host ::ng-deep .mat-mdc-table .mat-mdc-row{background-color:var(--nrcl-row-list-background-color);cursor:default}:host ::ng-deep .mat-mdc-table .mat-mdc-row .mat-mdc-cell{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding:5px;color:#000;overflow-wrap:break-word}:host ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(odd):not(.selected){background-color:var(--nrcl-row-list-background-color)}:host ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(2n):not(.selected){background-color:var(--nrcl-row-list-alternate-background-color)}:host ::ng-deep .mat-mdc-table .mat-mdc-row.selected{background-color:var(--nrcl-row-list-selected-background-color)}:host ::ng-deep .mat-mdc-table .mat-mdc-header-cell{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding:5px;color:#000}:host ::ng-deep .mat-mdc-table .mat-mdc-header-cell .mat-sort-header-content{text-align:left;align-items:flex-end;font-size:var(--nrcl-font-size)}:host ::ng-deep table.mat-mdc-table .mat-mdc-row:nth-child(odd):not(.selected){background-color:var(--nrcl-row-list-alternate-background-color)}:host ::ng-deep table.mat-mdc-table .mat-mdc-row:nth-child(2n):not(.selected){background-color:var(--nrcl-row-list-background-color)}:host.show-row-hover ::ng-deep .mat-mdc-table .mat-mdc-row,:host.show-row-hover ::ng-deep table.mat-mdc-table .mat-mdc-row{cursor:pointer}:host.show-row-hover ::ng-deep .mat-mdc-table .mat-mdc-row:hover,:host.show-row-hover ::ng-deep table.mat-mdc-table .mat-mdc-row:hover{background-color:var(--nrcl-row-list-hover-background-color)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1456
1456
  }
1457
1457
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowListDesktopComponent, decorators: [{
1458
1458
  type: Component,
1459
1459
  args: [{ selector: "nrcl-row-list-desktop", changeDetection: ChangeDetectionStrategy.OnPush, host: {
1460
1460
  '[class.show-row-hover]': 'showRowHover'
1461
- }, template: "<ng-content></ng-content>\n", styles: [":host{display:block;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid #c6c8cb}:host:empty{border-bottom:none}:host ::ng-deep .mat-mdc-table{width:100%}:host ::ng-deep .mat-mdc-table .mat-mdc-row{background-color:#fff;cursor:default}:host ::ng-deep .mat-mdc-table .mat-mdc-row .mat-mdc-cell{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding:5px;color:#000;overflow-wrap:break-word}:host ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(odd):not(.selected){background-color:#f2f2f2}:host ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(2n):not(.selected){background-color:#fff}:host ::ng-deep .mat-mdc-table .mat-mdc-row.selected{background-color:#b6d7a8}:host ::ng-deep .mat-mdc-table .mat-mdc-header-cell{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding:5px;color:#000}:host ::ng-deep .mat-mdc-table .mat-mdc-header-cell .mat-sort-header-content{text-align:left;align-items:flex-end;font-size:15px}:host.show-row-hover ::ng-deep .mat-mdc-table .mat-mdc-row{cursor:pointer}:host.show-row-hover ::ng-deep .mat-mdc-table .mat-mdc-row:hover{background-color:#d7d7d7}:host.show-row-hover ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(odd):not(:hover):not(.selected){background-color:#f2f2f2}:host.show-row-hover ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(2n):not(:hover):not(.selected){background-color:#fff}\n"] }]
1461
+ }, template: "<ng-content></ng-content>\n", styles: ["::ng-deep :root{--nrcl-row-list-background-color: white;--nrcl-row-list-alternate-background-color: #f2f2f2;--nrcl-row-list-hover-background-color: #d7d7d7;--nrcl-row-list-selected-background-color: #b6d7a8}:host{display:block;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid #c6c8cb}:host:empty{border-bottom:none}:host ::ng-deep .mat-mdc-table{width:100%}:host ::ng-deep .mat-mdc-table .mat-mdc-row{background-color:var(--nrcl-row-list-background-color);cursor:default}:host ::ng-deep .mat-mdc-table .mat-mdc-row .mat-mdc-cell{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding:5px;color:#000;overflow-wrap:break-word}:host ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(odd):not(.selected){background-color:var(--nrcl-row-list-background-color)}:host ::ng-deep .mat-mdc-table .mat-mdc-row:nth-child(2n):not(.selected){background-color:var(--nrcl-row-list-alternate-background-color)}:host ::ng-deep .mat-mdc-table .mat-mdc-row.selected{background-color:var(--nrcl-row-list-selected-background-color)}:host ::ng-deep .mat-mdc-table .mat-mdc-header-cell{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding:5px;color:#000}:host ::ng-deep .mat-mdc-table .mat-mdc-header-cell .mat-sort-header-content{text-align:left;align-items:flex-end;font-size:var(--nrcl-font-size)}:host ::ng-deep table.mat-mdc-table .mat-mdc-row:nth-child(odd):not(.selected){background-color:var(--nrcl-row-list-alternate-background-color)}:host ::ng-deep table.mat-mdc-table .mat-mdc-row:nth-child(2n):not(.selected){background-color:var(--nrcl-row-list-background-color)}:host.show-row-hover ::ng-deep .mat-mdc-table .mat-mdc-row,:host.show-row-hover ::ng-deep table.mat-mdc-table .mat-mdc-row{cursor:pointer}:host.show-row-hover ::ng-deep .mat-mdc-table .mat-mdc-row:hover,:host.show-row-hover ::ng-deep table.mat-mdc-table .mat-mdc-row:hover{background-color:var(--nrcl-row-list-hover-background-color)}\n"] }]
1462
1462
  }], propDecorators: { showRowHover: [{
1463
1463
  type: Input
1464
1464
  }] } });
@@ -1647,7 +1647,7 @@ class ListAttachmentsComponent extends RowListBase {
1647
1647
  this.canDownload = true;
1648
1648
  this.noRowsMessage = "No attachments have been added.";
1649
1649
  this.DATE_FORMATS = DATE_FORMATS;
1650
- this.columns = ['attachmentTypeCode', 'fileName', 'sourceObjectNameCode', 'uploadedBy', 'uploadedTimestamp', 'description'];
1650
+ this.columns = [];
1651
1651
  this.sortColumns = [
1652
1652
  { code: 'attachmentTypeCode', description: 'Attachment Type' },
1653
1653
  { code: 'fileName', description: 'File Name' },
@@ -1657,8 +1657,19 @@ class ListAttachmentsComponent extends RowListBase {
1657
1657
  { code: 'description', description: 'Description' }
1658
1658
  ];
1659
1659
  }
1660
- initializeRowList() {
1661
- super.initializeRowList();
1660
+ ngOnChanges(changes) {
1661
+ if (changes.canDownload || changes.canDelete) {
1662
+ this.columns = [
1663
+ 'attachmentTypeCode',
1664
+ 'fileName',
1665
+ 'sourceObjectNameCode',
1666
+ 'uploadedBy',
1667
+ 'uploadedTimestamp',
1668
+ 'description',
1669
+ ...(this.canDownload ? ['download'] : []),
1670
+ ...(this.canDelete ? ['delete'] : [])
1671
+ ];
1672
+ }
1662
1673
  }
1663
1674
  get initialPageState() {
1664
1675
  return {
@@ -1669,13 +1680,6 @@ class ListAttachmentsComponent extends RowListBase {
1669
1680
  sortDirection: 'desc',
1670
1681
  };
1671
1682
  }
1672
- ngAfterViewInit() {
1673
- if (this.canDownload)
1674
- this.columns.push('download');
1675
- if (this.canDelete)
1676
- this.columns.push('delete');
1677
- super.ngAfterViewInit();
1678
- }
1679
1683
  fetchRowListPage() {
1680
1684
  if (!this.rowListProvider?.fetchAttachments)
1681
1685
  throw Error('no provider for ListAttachmentsComponent.rowListProvider.fetchRowListPage');
@@ -1702,11 +1706,11 @@ class ListAttachmentsComponent extends RowListBase {
1702
1706
  return this.rowListProvider.deleteItem(item);
1703
1707
  }
1704
1708
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListAttachmentsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1705
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ListAttachmentsComponent, selector: "nrcl-list-attachments", inputs: { rowListProvider: "rowListProvider", canDelete: "canDelete", canDownload: "canDownload", noRowsMessage: "noRowsMessage" }, usesInheritance: true, ngImport: i0, template: "<nrcl-device-view>\n <ng-template desktop-view>\n @if ( rows?.length > 0 ) {\n <nrcl-row-list-desktop [showRowHover]=\"false\">\n <mat-table\n [dataSource]=\"rows | paginate: { \n id: 'desktop-attachments', \n itemsPerPage: pageSize, \n currentPage: pageNumber, \n totalItems: totalRowCount \n }\"\n matSort\n [matSortActive]=\"sortActive\"\n [matSortDirection]=\"sortDirection\"\n (matSortChange)=\"onSortChange( $event )\"\n >\n <ng-container matColumnDef=\"attachmentTypeCode\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Attachment Type</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.attachmentTypeDescription }}</nrcl-cell-content>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"fileName\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>File Name</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.fileName }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"sourceObjectNameCode\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>File Type</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.fileExtension }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedBy\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Uploaded By</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.uploadedBy }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedTimestamp\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Uploaded Date</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.uploadedTimestamp }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"description\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Description</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.attachmentDescription }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"download\">\n <mat-header-cell *matHeaderCellDef>Down&shy;load</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-button compact\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"delete\">\n <mat-header-cell *matHeaderCellDef>Delete</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-button compact\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n </mat-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></mat-header-row>\n <mat-row *matRowDef=\"let item; columns: columns;\"></mat-row>\n </mat-table>\n </nrcl-row-list-desktop>\n \n <nrcl-gap/>\n }\n\n <nrcl-row-list-pagination\n paginationId=\"desktop-attachments\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n </ng-template>\n\n <ng-template mobile-view>\n <nrcl-gap/>\n\n @if ( rows?.length > 0 ) {\n <nrcl-row-list-sorting\n [sortColumn]=\"sortActive\"\n [sortColumnOptions]=\"sortColumns\"\n [sortDirection]=\"sortDirection\"\n (sortChange)=\"onSortChange($event)\">\n </nrcl-row-list-sorting>\n\n <nrcl-gap/>\n\n <nrcl-row-list-mobile>\n @for ( item of rows | paginate: { \n id: 'mobile-attachments', \n itemsPerPage: pageSize, \n currentPage: pageNumber, \n totalItems: totalRowCount \n }; track item.attachmentId ) {\n <mat-card>\n <mat-card-content>\n <section full-width>\n <mat-label>File name</mat-label>\n <div class=\"value\">{{ item.fileName }}</div>\n </section>\n\n <section>\n <mat-label>Attachment Type</mat-label>\n <div class=\"value\">{{ item.attachmentTypeDescription }}</div>\n </section>\n\n <section>\n <mat-label>File Type</mat-label>\n <div class=\"value\">{{ item.fileExtension }}</div>\n </section>\n\n <section>\n <mat-label>Uploaded By</mat-label>\n <div class=\"value\">{{ item.uploadedBy }}</div>\n </section> \n\n <section>\n <mat-label>Uploaded Date</mat-label>\n <div class=\"value\">{{ item.uploadedTimestamp }}</div>\n </section> \n\n <section full-width>\n <mat-label>Description</mat-label>\n <div class=\"value\">{{ item.attachmentDescription }}</div>\n </section> \n </mat-card-content>\n\n <mat-card-footer>\n @if ( canDownload ) {\n <nrcl-button compact\n label=\"Download\"\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n }\n\n @if ( canDelete ) {\n <nrcl-button compact\n label=\"Delete\"\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n }\n </mat-card-footer> \n </mat-card>\n }\n </nrcl-row-list-mobile>\n\n <nrcl-gap/>\n }\n\n <nrcl-row-list-pagination\n paginationId=\"mobile-attachments\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n </ng-template>\n</nrcl-device-view>\n", styles: [":host .mat-mdc-table .mat-column-attachmentTypeCode{flex-basis:150px;flex-grow:0;flex-shrink:0}:host .mat-mdc-table .mat-column-fileName{flex-basis:200px;flex-grow:1;flex-shrink:0;word-break:break-word}:host .mat-mdc-table .mat-column-sourceObjectNameCode{flex-basis:60px;flex-grow:0;flex-shrink:0}:host .mat-mdc-table .mat-column-uploadedBy{flex-basis:150px;flex-grow:0;flex-shrink:0}:host .mat-mdc-table .mat-column-uploadedTimestamp{flex-basis:150px;flex-grow:0;flex-shrink:0}:host .mat-mdc-table .mat-column-description{flex-basis:200px;flex-grow:2;flex-shrink:0;word-break:break-word}:host .mat-mdc-table .mat-column-download,:host .mat-mdc-table .mat-column-delete{flex-basis:60px;flex-grow:0;flex-shrink:0;justify-content:center}\n"], dependencies: [{ kind: "component", type: i1$7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i1$7.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i1$7.MatCardFooter, selector: "mat-card-footer" }, { kind: "directive", type: i1$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i4$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i4$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: ButtonComponent, selector: "nrcl-button", inputs: ["label", "icon", "iconRight", "iconCompact", "tooltip", "compact", "small", "primary", "secondary", "tertiary", "disabled", "anchor"], outputs: ["click"] }, { kind: "component", type: CellContentComponent, selector: "nrcl-cell-content", inputs: ["tooltip", "content"] }, { kind: "component", type: GapComponent, selector: "nrcl-gap", inputs: ["horizontal", "vertical", "divider"] }, { kind: "component", type: RowListDesktopComponent, selector: "nrcl-row-list-desktop", inputs: ["showRowHover"] }, { kind: "component", type: RowListMobileComponent, selector: "nrcl-row-list-mobile" }, { kind: "component", type: RowListPaginationComponent, selector: "nrcl-row-list-pagination", inputs: ["paginationId", "pageSizeOptions", "pageSize", "pageNumber", "rowCount", "showPageSize", "noRowsMessage"], outputs: ["pageSizeChange", "pageNumberChange"] }, { kind: "component", type: RowListSortingComponent, selector: "nrcl-row-list-sorting", inputs: ["sortColumn", "sortColumnOptions", "sortDirection"], outputs: ["sortChange"] }, { kind: "directive", type: DesktopViewDirective, selector: "[desktop-view]" }, { kind: "directive", type: MobileViewDirective, selector: "[mobile-view]" }, { kind: "component", type: DeviceViewComponent, selector: "nrcl-device-view" }, { kind: "pipe", type: i1$6.PaginatePipe, name: "paginate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1709
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ListAttachmentsComponent, selector: "nrcl-list-attachments", inputs: { rowListProvider: "rowListProvider", canDelete: "canDelete", canDownload: "canDownload", noRowsMessage: "noRowsMessage" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<nrcl-device-view>\n <ng-template desktop-view>\n @if ( rows?.length > 0 ) {\n <nrcl-row-list-desktop [showRowHover]=\"false\">\n <mat-table\n [dataSource]=\"rows | paginate: { \n id: 'desktop-attachments', \n itemsPerPage: pageSize, \n currentPage: pageNumber, \n totalItems: totalRowCount \n }\"\n matSort\n [matSortActive]=\"sortActive\"\n [matSortDirection]=\"sortDirection\"\n (matSortChange)=\"onSortChange( $event )\"\n >\n <ng-container matColumnDef=\"attachmentTypeCode\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Attachment Type</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.attachmentTypeDescription }}</nrcl-cell-content>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"fileName\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>File Name</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.fileName }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"sourceObjectNameCode\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>File Type</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.fileExtension }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedBy\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Uploaded By</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.uploadedBy }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedTimestamp\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Uploaded Date</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.uploadedTimestamp }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"description\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Description</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.attachmentDescription }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"download\">\n <mat-header-cell *matHeaderCellDef>Down&shy;load</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-button compact\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"delete\">\n <mat-header-cell *matHeaderCellDef>Delete</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-button compact\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n </mat-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></mat-header-row>\n <mat-row *matRowDef=\"let item; columns: columns;\"></mat-row>\n </mat-table>\n </nrcl-row-list-desktop>\n \n <nrcl-gap/>\n }\n\n <nrcl-row-list-pagination\n paginationId=\"desktop-attachments\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n </ng-template>\n\n <ng-template mobile-view>\n <nrcl-gap/>\n\n @if ( rows?.length > 0 ) {\n <nrcl-row-list-sorting\n [sortColumn]=\"sortActive\"\n [sortColumnOptions]=\"sortColumns\"\n [sortDirection]=\"sortDirection\"\n (sortChange)=\"onSortChange($event)\">\n </nrcl-row-list-sorting>\n\n <nrcl-gap/>\n\n <nrcl-row-list-mobile>\n @for ( item of rows | paginate: { \n id: 'mobile-attachments', \n itemsPerPage: pageSize, \n currentPage: pageNumber, \n totalItems: totalRowCount \n }; track item.attachmentId ) {\n <mat-card>\n <mat-card-content>\n <section full-width>\n <mat-label>File name</mat-label>\n <div class=\"value\">{{ item.fileName }}</div>\n </section>\n\n <section>\n <mat-label>Attachment Type</mat-label>\n <div class=\"value\">{{ item.attachmentTypeDescription }}</div>\n </section>\n\n <section>\n <mat-label>File Type</mat-label>\n <div class=\"value\">{{ item.fileExtension }}</div>\n </section>\n\n <section>\n <mat-label>Uploaded By</mat-label>\n <div class=\"value\">{{ item.uploadedBy }}</div>\n </section> \n\n <section>\n <mat-label>Uploaded Date</mat-label>\n <div class=\"value\">{{ item.uploadedTimestamp }}</div>\n </section> \n\n <section full-width>\n <mat-label>Description</mat-label>\n <div class=\"value\">{{ item.attachmentDescription }}</div>\n </section> \n </mat-card-content>\n\n <mat-card-footer>\n @if ( canDownload ) {\n <nrcl-button compact\n label=\"Download\"\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n }\n\n @if ( canDelete ) {\n <nrcl-button compact\n label=\"Delete\"\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n }\n </mat-card-footer> \n </mat-card>\n }\n </nrcl-row-list-mobile>\n\n <nrcl-gap/>\n }\n\n <nrcl-row-list-pagination\n paginationId=\"mobile-attachments\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n </ng-template>\n</nrcl-device-view>\n", styles: [":host .mat-mdc-table .mat-column-attachmentTypeCode{flex-basis:150px;flex-grow:1;flex-shrink:0}:host .mat-mdc-table .mat-column-fileName{flex-basis:200px;flex-grow:2;flex-shrink:0;word-break:break-word}:host .mat-mdc-table .mat-column-sourceObjectNameCode{flex-basis:60px;flex-grow:0;flex-shrink:0}:host .mat-mdc-table .mat-column-uploadedBy{flex-basis:150px;flex-grow:0;flex-shrink:0}:host .mat-mdc-table .mat-column-uploadedTimestamp{flex-basis:150px;flex-grow:1;flex-shrink:0}:host .mat-mdc-table .mat-column-description{flex-basis:200px;flex-grow:3;flex-shrink:0;word-break:break-word}:host .mat-mdc-table .mat-column-download{flex-basis:90px;flex-grow:0;flex-shrink:0;justify-content:center}:host .mat-mdc-table .mat-column-delete{flex-basis:60px;flex-grow:0;flex-shrink:0;justify-content:center}\n"], dependencies: [{ kind: "component", type: i1$7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i1$7.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i1$7.MatCardFooter, selector: "mat-card-footer" }, { kind: "directive", type: i1$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i4$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i4$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: ButtonComponent, selector: "nrcl-button", inputs: ["label", "icon", "iconRight", "iconCompact", "tooltip", "compact", "small", "primary", "secondary", "tertiary", "disabled", "anchor"], outputs: ["click"] }, { kind: "component", type: CellContentComponent, selector: "nrcl-cell-content", inputs: ["tooltip", "content"] }, { kind: "component", type: GapComponent, selector: "nrcl-gap", inputs: ["horizontal", "vertical", "divider"] }, { kind: "component", type: RowListDesktopComponent, selector: "nrcl-row-list-desktop", inputs: ["showRowHover"] }, { kind: "component", type: RowListMobileComponent, selector: "nrcl-row-list-mobile" }, { kind: "component", type: RowListPaginationComponent, selector: "nrcl-row-list-pagination", inputs: ["paginationId", "pageSizeOptions", "pageSize", "pageNumber", "rowCount", "showPageSize", "noRowsMessage"], outputs: ["pageSizeChange", "pageNumberChange"] }, { kind: "component", type: RowListSortingComponent, selector: "nrcl-row-list-sorting", inputs: ["sortColumn", "sortColumnOptions", "sortDirection"], outputs: ["sortChange"] }, { kind: "directive", type: DesktopViewDirective, selector: "[desktop-view]" }, { kind: "directive", type: MobileViewDirective, selector: "[mobile-view]" }, { kind: "component", type: DeviceViewComponent, selector: "nrcl-device-view" }, { kind: "pipe", type: i1$6.PaginatePipe, name: "paginate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1706
1710
  }
1707
1711
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListAttachmentsComponent, decorators: [{
1708
1712
  type: Component,
1709
- args: [{ selector: "nrcl-list-attachments", changeDetection: ChangeDetectionStrategy.OnPush, template: "<nrcl-device-view>\n <ng-template desktop-view>\n @if ( rows?.length > 0 ) {\n <nrcl-row-list-desktop [showRowHover]=\"false\">\n <mat-table\n [dataSource]=\"rows | paginate: { \n id: 'desktop-attachments', \n itemsPerPage: pageSize, \n currentPage: pageNumber, \n totalItems: totalRowCount \n }\"\n matSort\n [matSortActive]=\"sortActive\"\n [matSortDirection]=\"sortDirection\"\n (matSortChange)=\"onSortChange( $event )\"\n >\n <ng-container matColumnDef=\"attachmentTypeCode\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Attachment Type</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.attachmentTypeDescription }}</nrcl-cell-content>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"fileName\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>File Name</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.fileName }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"sourceObjectNameCode\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>File Type</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.fileExtension }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedBy\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Uploaded By</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.uploadedBy }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedTimestamp\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Uploaded Date</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.uploadedTimestamp }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"description\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Description</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.attachmentDescription }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"download\">\n <mat-header-cell *matHeaderCellDef>Down&shy;load</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-button compact\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"delete\">\n <mat-header-cell *matHeaderCellDef>Delete</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-button compact\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n </mat-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></mat-header-row>\n <mat-row *matRowDef=\"let item; columns: columns;\"></mat-row>\n </mat-table>\n </nrcl-row-list-desktop>\n \n <nrcl-gap/>\n }\n\n <nrcl-row-list-pagination\n paginationId=\"desktop-attachments\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n </ng-template>\n\n <ng-template mobile-view>\n <nrcl-gap/>\n\n @if ( rows?.length > 0 ) {\n <nrcl-row-list-sorting\n [sortColumn]=\"sortActive\"\n [sortColumnOptions]=\"sortColumns\"\n [sortDirection]=\"sortDirection\"\n (sortChange)=\"onSortChange($event)\">\n </nrcl-row-list-sorting>\n\n <nrcl-gap/>\n\n <nrcl-row-list-mobile>\n @for ( item of rows | paginate: { \n id: 'mobile-attachments', \n itemsPerPage: pageSize, \n currentPage: pageNumber, \n totalItems: totalRowCount \n }; track item.attachmentId ) {\n <mat-card>\n <mat-card-content>\n <section full-width>\n <mat-label>File name</mat-label>\n <div class=\"value\">{{ item.fileName }}</div>\n </section>\n\n <section>\n <mat-label>Attachment Type</mat-label>\n <div class=\"value\">{{ item.attachmentTypeDescription }}</div>\n </section>\n\n <section>\n <mat-label>File Type</mat-label>\n <div class=\"value\">{{ item.fileExtension }}</div>\n </section>\n\n <section>\n <mat-label>Uploaded By</mat-label>\n <div class=\"value\">{{ item.uploadedBy }}</div>\n </section> \n\n <section>\n <mat-label>Uploaded Date</mat-label>\n <div class=\"value\">{{ item.uploadedTimestamp }}</div>\n </section> \n\n <section full-width>\n <mat-label>Description</mat-label>\n <div class=\"value\">{{ item.attachmentDescription }}</div>\n </section> \n </mat-card-content>\n\n <mat-card-footer>\n @if ( canDownload ) {\n <nrcl-button compact\n label=\"Download\"\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n }\n\n @if ( canDelete ) {\n <nrcl-button compact\n label=\"Delete\"\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n }\n </mat-card-footer> \n </mat-card>\n }\n </nrcl-row-list-mobile>\n\n <nrcl-gap/>\n }\n\n <nrcl-row-list-pagination\n paginationId=\"mobile-attachments\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n </ng-template>\n</nrcl-device-view>\n", styles: [":host .mat-mdc-table .mat-column-attachmentTypeCode{flex-basis:150px;flex-grow:0;flex-shrink:0}:host .mat-mdc-table .mat-column-fileName{flex-basis:200px;flex-grow:1;flex-shrink:0;word-break:break-word}:host .mat-mdc-table .mat-column-sourceObjectNameCode{flex-basis:60px;flex-grow:0;flex-shrink:0}:host .mat-mdc-table .mat-column-uploadedBy{flex-basis:150px;flex-grow:0;flex-shrink:0}:host .mat-mdc-table .mat-column-uploadedTimestamp{flex-basis:150px;flex-grow:0;flex-shrink:0}:host .mat-mdc-table .mat-column-description{flex-basis:200px;flex-grow:2;flex-shrink:0;word-break:break-word}:host .mat-mdc-table .mat-column-download,:host .mat-mdc-table .mat-column-delete{flex-basis:60px;flex-grow:0;flex-shrink:0;justify-content:center}\n"] }]
1713
+ args: [{ selector: "nrcl-list-attachments", changeDetection: ChangeDetectionStrategy.OnPush, template: "<nrcl-device-view>\n <ng-template desktop-view>\n @if ( rows?.length > 0 ) {\n <nrcl-row-list-desktop [showRowHover]=\"false\">\n <mat-table\n [dataSource]=\"rows | paginate: { \n id: 'desktop-attachments', \n itemsPerPage: pageSize, \n currentPage: pageNumber, \n totalItems: totalRowCount \n }\"\n matSort\n [matSortActive]=\"sortActive\"\n [matSortDirection]=\"sortDirection\"\n (matSortChange)=\"onSortChange( $event )\"\n >\n <ng-container matColumnDef=\"attachmentTypeCode\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Attachment Type</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.attachmentTypeDescription }}</nrcl-cell-content>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"fileName\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>File Name</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.fileName }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"sourceObjectNameCode\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>File Type</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.fileExtension }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedBy\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Uploaded By</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.uploadedBy }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedTimestamp\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Uploaded Date</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.uploadedTimestamp }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"description\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Description</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.attachmentDescription }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"download\">\n <mat-header-cell *matHeaderCellDef>Down&shy;load</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-button compact\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"delete\">\n <mat-header-cell *matHeaderCellDef>Delete</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-button compact\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n </mat-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></mat-header-row>\n <mat-row *matRowDef=\"let item; columns: columns;\"></mat-row>\n </mat-table>\n </nrcl-row-list-desktop>\n \n <nrcl-gap/>\n }\n\n <nrcl-row-list-pagination\n paginationId=\"desktop-attachments\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n </ng-template>\n\n <ng-template mobile-view>\n <nrcl-gap/>\n\n @if ( rows?.length > 0 ) {\n <nrcl-row-list-sorting\n [sortColumn]=\"sortActive\"\n [sortColumnOptions]=\"sortColumns\"\n [sortDirection]=\"sortDirection\"\n (sortChange)=\"onSortChange($event)\">\n </nrcl-row-list-sorting>\n\n <nrcl-gap/>\n\n <nrcl-row-list-mobile>\n @for ( item of rows | paginate: { \n id: 'mobile-attachments', \n itemsPerPage: pageSize, \n currentPage: pageNumber, \n totalItems: totalRowCount \n }; track item.attachmentId ) {\n <mat-card>\n <mat-card-content>\n <section full-width>\n <mat-label>File name</mat-label>\n <div class=\"value\">{{ item.fileName }}</div>\n </section>\n\n <section>\n <mat-label>Attachment Type</mat-label>\n <div class=\"value\">{{ item.attachmentTypeDescription }}</div>\n </section>\n\n <section>\n <mat-label>File Type</mat-label>\n <div class=\"value\">{{ item.fileExtension }}</div>\n </section>\n\n <section>\n <mat-label>Uploaded By</mat-label>\n <div class=\"value\">{{ item.uploadedBy }}</div>\n </section> \n\n <section>\n <mat-label>Uploaded Date</mat-label>\n <div class=\"value\">{{ item.uploadedTimestamp }}</div>\n </section> \n\n <section full-width>\n <mat-label>Description</mat-label>\n <div class=\"value\">{{ item.attachmentDescription }}</div>\n </section> \n </mat-card-content>\n\n <mat-card-footer>\n @if ( canDownload ) {\n <nrcl-button compact\n label=\"Download\"\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n }\n\n @if ( canDelete ) {\n <nrcl-button compact\n label=\"Delete\"\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n }\n </mat-card-footer> \n </mat-card>\n }\n </nrcl-row-list-mobile>\n\n <nrcl-gap/>\n }\n\n <nrcl-row-list-pagination\n paginationId=\"mobile-attachments\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n </ng-template>\n</nrcl-device-view>\n", styles: [":host .mat-mdc-table .mat-column-attachmentTypeCode{flex-basis:150px;flex-grow:1;flex-shrink:0}:host .mat-mdc-table .mat-column-fileName{flex-basis:200px;flex-grow:2;flex-shrink:0;word-break:break-word}:host .mat-mdc-table .mat-column-sourceObjectNameCode{flex-basis:60px;flex-grow:0;flex-shrink:0}:host .mat-mdc-table .mat-column-uploadedBy{flex-basis:150px;flex-grow:0;flex-shrink:0}:host .mat-mdc-table .mat-column-uploadedTimestamp{flex-basis:150px;flex-grow:1;flex-shrink:0}:host .mat-mdc-table .mat-column-description{flex-basis:200px;flex-grow:3;flex-shrink:0;word-break:break-word}:host .mat-mdc-table .mat-column-download{flex-basis:90px;flex-grow:0;flex-shrink:0;justify-content:center}:host .mat-mdc-table .mat-column-delete{flex-basis:60px;flex-grow:0;flex-shrink:0;justify-content:center}\n"] }]
1710
1714
  }], propDecorators: { rowListProvider: [{
1711
1715
  type: Input
1712
1716
  }], canDelete: [{
@@ -1959,11 +1963,11 @@ class TagListComponent extends NrclBase {
1959
1963
  this.itemRemoved.emit(this.items.find(i => i.id == id));
1960
1964
  }
1961
1965
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TagListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1962
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TagListComponent, selector: "nrcl-tag-list", inputs: { items: "items", removable: "removable", noItemsMessage: "noItemsMessage" }, outputs: { itemRemoved: "itemRemoved" }, usesInheritance: true, ngImport: i0, template: "@if ( items?.length > 0 ) {\n <mat-chip-set>\n @for ( item of items; track item.id ) {\n <mat-chip\n (removed)=\"onRemoveItem( item.id )\"\n [matTooltip]=\"item.tooltip\"\n >\n @if ( item.icon ) {\n <nrcl-icon small matChipAvatar>{{ item.icon }}</nrcl-icon>\n }\n\n {{ item.description }}\n\n @if ( removable ) {\n <nrcl-icon small matChipRemove>cancel</nrcl-icon>\n }\n </mat-chip>\n }\n </mat-chip-set>\n} \n@else {\n <span>{{ noItemsMessage }}</span>\n}\n", styles: [":host{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size)}:host ::ng-deep .mat-mdc-chip.mat-mdc-standard-chip{border-radius:5px;border:1px solid #c6c8cb;--mdc-chip-focus-state-layer-opacity: 0;--mdc-chip-label-text-weight: 800;--mdc-chip-elevated-container-color: #f2f2f2}\n"], dependencies: [{ kind: "component", type: i1$9.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: "directive", type: i1$9.MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "directive", type: i1$9.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i1$9.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: IconComponent, selector: "nrcl-icon", inputs: ["small", "large"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1966
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TagListComponent, selector: "nrcl-tag-list", inputs: { items: "items", removable: "removable", noItemsMessage: "noItemsMessage" }, outputs: { itemRemoved: "itemRemoved" }, usesInheritance: true, ngImport: i0, template: "<ng-template #action>\n <ng-content select=\"nrcl-button\"></ng-content>\n</ng-template>\n\n@if ( items?.length > 0 ) {\n <mat-chip-set>\n <ng-container [ngTemplateOutlet]=\"action\"></ng-container>\n\n @for ( item of items; track item.id ) {\n <mat-chip\n (removed)=\"onRemoveItem( item.id )\"\n [matTooltip]=\"item.tooltip\"\n >\n @if ( item.icon ) {\n <nrcl-icon small matChipAvatar>{{ item.icon }}</nrcl-icon>\n }\n\n {{ item.description }}\n\n @if ( removable ) {\n <nrcl-icon small matChipRemove>cancel</nrcl-icon>\n }\n </mat-chip>\n }\n </mat-chip-set>\n} \n@else {\n <div class=\"no-tags\">\n <span>{{ noItemsMessage }}</span>\n <ng-container [ngTemplateOutlet]=\"action\"></ng-container>\n </div>\n}\n", styles: [":host{display:block;font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding-top:var(--nrcl-device-mobile-gutter-space)}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips{display:block;margin:0}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .nrcl-button{float:right}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip.mat-mdc-standard-chip{border-radius:5px;border:1px solid #c6c8cb;margin:0 6px 6px 0;--mdc-chip-focus-state-layer-opacity: 0;--mdc-chip-label-text-weight: 800;--mdc-chip-elevated-container-color: #f2f2f2}:host .no-tags{display:flex;align-items:center;height:38px}:host .no-tags span{flex-grow:1}\n"], dependencies: [{ kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$4.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: "directive", type: i2$4.MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "directive", type: i2$4.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i2$4.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: IconComponent, selector: "nrcl-icon", inputs: ["small", "large"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1963
1967
  }
1964
1968
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TagListComponent, decorators: [{
1965
1969
  type: Component,
1966
- args: [{ selector: "nrcl-tag-list", changeDetection: ChangeDetectionStrategy.OnPush, template: "@if ( items?.length > 0 ) {\n <mat-chip-set>\n @for ( item of items; track item.id ) {\n <mat-chip\n (removed)=\"onRemoveItem( item.id )\"\n [matTooltip]=\"item.tooltip\"\n >\n @if ( item.icon ) {\n <nrcl-icon small matChipAvatar>{{ item.icon }}</nrcl-icon>\n }\n\n {{ item.description }}\n\n @if ( removable ) {\n <nrcl-icon small matChipRemove>cancel</nrcl-icon>\n }\n </mat-chip>\n }\n </mat-chip-set>\n} \n@else {\n <span>{{ noItemsMessage }}</span>\n}\n", styles: [":host{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size)}:host ::ng-deep .mat-mdc-chip.mat-mdc-standard-chip{border-radius:5px;border:1px solid #c6c8cb;--mdc-chip-focus-state-layer-opacity: 0;--mdc-chip-label-text-weight: 800;--mdc-chip-elevated-container-color: #f2f2f2}\n"] }]
1970
+ args: [{ selector: "nrcl-tag-list", changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #action>\n <ng-content select=\"nrcl-button\"></ng-content>\n</ng-template>\n\n@if ( items?.length > 0 ) {\n <mat-chip-set>\n <ng-container [ngTemplateOutlet]=\"action\"></ng-container>\n\n @for ( item of items; track item.id ) {\n <mat-chip\n (removed)=\"onRemoveItem( item.id )\"\n [matTooltip]=\"item.tooltip\"\n >\n @if ( item.icon ) {\n <nrcl-icon small matChipAvatar>{{ item.icon }}</nrcl-icon>\n }\n\n {{ item.description }}\n\n @if ( removable ) {\n <nrcl-icon small matChipRemove>cancel</nrcl-icon>\n }\n </mat-chip>\n }\n </mat-chip-set>\n} \n@else {\n <div class=\"no-tags\">\n <span>{{ noItemsMessage }}</span>\n <ng-container [ngTemplateOutlet]=\"action\"></ng-container>\n </div>\n}\n", styles: [":host{display:block;font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding-top:var(--nrcl-device-mobile-gutter-space)}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips{display:block;margin:0}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .nrcl-button{float:right}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip.mat-mdc-standard-chip{border-radius:5px;border:1px solid #c6c8cb;margin:0 6px 6px 0;--mdc-chip-focus-state-layer-opacity: 0;--mdc-chip-label-text-weight: 800;--mdc-chip-elevated-container-color: #f2f2f2}:host .no-tags{display:flex;align-items:center;height:38px}:host .no-tags span{flex-grow:1}\n"] }]
1967
1971
  }], propDecorators: { items: [{
1968
1972
  type: Input
1969
1973
  }], removable: [{
@@ -1989,7 +1993,7 @@ class DialogComponent extends NrclBase {
1989
1993
  this.cancelClick = new EventEmitter();
1990
1994
  }
1991
1995
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1992
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DialogComponent, selector: "nrcl-dialog", inputs: { title: "title", isLoading: "isLoading", showClose: "showClose", saveLabel: "saveLabel", saveEnabled: "saveEnabled", cancelLabel: "cancelLabel", cancelEnabled: "cancelEnabled", showWarning: "showWarning", showActions: "showActions" }, outputs: { saveClick: "saveClick", cancelClick: "cancelClick" }, usesInheritance: true, ngImport: i0, template: "<div mat-dialog-title >\n <div class=\"title-bar\">\n <h1>{{ title }}</h1>\n\n <div style=\"flex: 1 0\"></div>\n\n @if ( isLoading ) {\n <div class=\"spinner-header\">\n <mat-spinner [diameter]=\"25\"></mat-spinner>\n </div>\n }\n\n @if ( showClose ) {\n <nrcl-button tertiary class=\"close\"\n icon=\"close\"\n (click)=\"cancelClick.emit()\"\n ></nrcl-button> \n }\n </div>\n\n <ng-content select=\"section[title]\"></ng-content>\n</div>\n\n<div mat-dialog-content>\n <div class=\"content-wrapper\">\n <ng-content></ng-content>\n </div>\n</div>\n\n<ng-content select=\"section[footer]\"></ng-content>\n\n@if ( showActions ) {\n <div mat-dialog-actions align=\"end\">\n <ng-content select=\"section[actions]\"></ng-content>\n\n <div class=\"action-button-wrapper\"> \n @if ( saveEnabled && showWarning ) {\n <div class=\"warning\">\n <nrcl-icon attr.alt=\"Unsaved Changes\">warning</nrcl-icon>\n <span>Unsaved Changes</span>\n </div>\n } \n \n @if ( cancelEnabled != null ) {\n <nrcl-button \n [label]=\"cancelLabel\"\n (click)=\"cancelClick.emit()\"\n [disabled]=\"!cancelEnabled\"\n ></nrcl-button>\n }\n\n @if ( saveEnabled != null ) {\n <nrcl-button primary\n [label]=\"saveLabel\"\n (click)=\"saveClick.emit()\" \n [disabled]=\"!saveEnabled\"\n ></nrcl-button>\n }\n </div>\n </div>\n}\n", styles: [":host{display:contents}:host .title-bar{display:flex;align-items:center;background-color:#036;color:#fff;padding:var(--nrcl-gutter-space)}:host .title-bar h1{margin:0;padding:0;font-weight:400;font-family:var(--nrcl-font-family);font-size:var(--mdc-dialog-subhead-size, 1rem);display:flex;align-items:center}:host .title-bar .spinner-header{--mdc-circular-progress-active-indicator-color: white}:host .title-bar .close{display:flex;--nrcl-button-tertiary-foreground-color: white}:host ::ng-deep .mat-mdc-dialog-title{padding:0}:host ::ng-deep .mat-mdc-dialog-title:before{display:none}:host ::ng-deep .mat-mdc-dialog-content{margin:0;padding:0}:host ::ng-deep .mat-mdc-dialog-content .content-wrapper{padding-top:var(--nrcl-gutter-space);padding-left:var(--nrcl-gutter-space);padding-right:var(--nrcl-gutter-space);padding-bottom:0}:host ::ng-deep .mat-mdc-dialog-actions{margin:0;padding:0}:host ::ng-deep .mat-mdc-dialog-actions .footer{width:100%}:host ::ng-deep .mat-mdc-dialog-actions .action-button-wrapper{background-color:#f2f2f2;border-top:solid 1px #c6c8cb;padding:var(--nrcl-gutter-space);display:flex;align-items:center;justify-content:flex-end;gap:8px;width:100%}:host ::ng-deep .mat-mdc-dialog-actions .action-button-wrapper .warning{display:flex;align-items:center}:host ::ng-deep .mat-mdc-dialog-actions .action-button-wrapper .warning .mat-icon{color:#fcba19;margin-right:8px}::ng-deep .cdk-overlay-pane.nrcl-dialog mat-dialog-container.mat-mdc-dialog-container{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);--mdc-dialog-supporting-text-color: rgba(0, 0, 0, .87)}::ng-deep .cdk-overlay-pane.nrcl-dialog mat-dialog-container.mat-mdc-dialog-container .mat-mdc-dialog-content{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size)}::ng-deep .nrcl-device-desktop .cdk-overlay-pane.nrcl-dialog .mat-mdc-dialog-container .mat-mdc-dialog-surface{overflow:hidden}::ng-deep .nrcl-device-desktop .cdk-overlay-pane.nrcl-dialog .mat-mdc-dialog-container .mat-mdc-dialog-content.no-scroll{overflow-y:hidden}::ng-deep .nrcl-device-mobile .cdk-overlay-pane.nrcl-dialog{width:unset!important;max-width:unset!important}::ng-deep .nrcl-device-mobile .cdk-overlay-pane.nrcl-dialog .mat-mdc-dialog-container .mat-mdc-dialog-surface{overflow:hidden}::ng-deep .nrcl-device-mobile .cdk-overlay-pane.nrcl-dialog .mat-mdc-dialog-container .title-bar .spinner-header{top:10px;right:14px}::ng-deep .nrcl-device-mobile .cdk-overlay-pane.nrcl-dialog .mat-mdc-dialog-container .mat-mdc-dialog-content{overflow-y:auto!important;max-height:calc(var(--vh, 1vh) * 100 - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 135px);width:calc(var(--vw, 1vw) * 100 - env(safe-area-inset-left) - env(safe-area-inset-right) - 2 * var(--nrcl-gutter-space))}::ng-deep .nrcl-device-mobile .cdk-overlay-pane.nrcl-dialog .mat-mdc-dialog-container .mat-mdc-dialog-actions{width:calc(var(--vw, 1vw) * 100 - env(safe-area-inset-left) - env(safe-area-inset-right) - 2 * var(--nrcl-gutter-space))}::ng-deep .nrcl-device-mobile .cdk-overlay-pane.nrcl-dialog .mat-mdc-dialog-container .max-content-width{width:calc(var(--vw, 1vw) * 100 - env(safe-area-inset-left) - env(safe-area-inset-right) - 2 * var(--nrcl-gutter-space))}\n"], dependencies: [{ kind: "component", type: i2$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i2$4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2$4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2$4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: ButtonComponent, selector: "nrcl-button", inputs: ["label", "icon", "iconRight", "iconCompact", "tooltip", "compact", "small", "primary", "secondary", "tertiary", "disabled", "anchor"], outputs: ["click"] }, { kind: "component", type: IconComponent, selector: "nrcl-icon", inputs: ["small", "large"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1996
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DialogComponent, selector: "nrcl-dialog", inputs: { title: "title", isLoading: "isLoading", showClose: "showClose", saveLabel: "saveLabel", saveEnabled: "saveEnabled", cancelLabel: "cancelLabel", cancelEnabled: "cancelEnabled", showWarning: "showWarning", showActions: "showActions" }, outputs: { saveClick: "saveClick", cancelClick: "cancelClick" }, usesInheritance: true, ngImport: i0, template: "<div mat-dialog-title >\n <div class=\"title-bar\">\n <h1>{{ title }}</h1>\n\n <div style=\"flex: 1 0\"></div>\n\n @if ( isLoading ) {\n <div class=\"spinner-header\">\n <mat-spinner [diameter]=\"25\"></mat-spinner>\n </div>\n }\n\n @if ( showClose ) {\n <nrcl-button tertiary class=\"close\"\n icon=\"close\"\n (click)=\"cancelClick.emit()\"\n ></nrcl-button> \n }\n </div>\n\n <ng-content select=\"section[title]\"></ng-content>\n</div>\n\n<div mat-dialog-content>\n <div class=\"content-wrapper\">\n <ng-content></ng-content>\n </div>\n</div>\n\n<ng-content select=\"section[footer]\"></ng-content>\n\n@if ( showActions ) {\n <div mat-dialog-actions align=\"end\">\n <ng-content select=\"section[actions]\"></ng-content>\n\n <div class=\"action-button-wrapper\"> \n @if ( saveEnabled && showWarning ) {\n <div class=\"warning\">\n <nrcl-icon attr.alt=\"Unsaved Changes\">warning</nrcl-icon>\n <span>Unsaved Changes</span>\n </div>\n } \n \n @if ( cancelEnabled != null ) {\n <nrcl-button \n [label]=\"cancelLabel\"\n (click)=\"cancelClick.emit()\"\n [disabled]=\"!cancelEnabled\"\n ></nrcl-button>\n }\n\n @if ( saveEnabled != null ) {\n <nrcl-button primary\n [label]=\"saveLabel\"\n (click)=\"saveClick.emit()\" \n [disabled]=\"!saveEnabled\"\n ></nrcl-button>\n }\n </div>\n </div>\n}\n", styles: [":host{display:contents}:host .title-bar{display:flex;align-items:center;background-color:#036;color:#fff;padding:var(--nrcl-gutter-space)}:host .title-bar h1{margin:0;padding:0;font-weight:400;font-family:var(--nrcl-font-family);font-size:var(--mdc-dialog-subhead-size, 1rem);display:flex;align-items:center}:host .title-bar .spinner-header{--mdc-circular-progress-active-indicator-color: white}:host .title-bar .close{display:flex;--nrcl-button-tertiary-foreground-color: white}:host ::ng-deep .mat-mdc-dialog-title{padding:0}:host ::ng-deep .mat-mdc-dialog-title:before{display:none}:host ::ng-deep .mat-mdc-dialog-content{margin:0;padding:0}:host ::ng-deep .mat-mdc-dialog-content .content-wrapper{padding-top:var(--nrcl-gutter-space);padding-left:var(--nrcl-gutter-space);padding-right:var(--nrcl-gutter-space);padding-bottom:0}:host ::ng-deep .mat-mdc-dialog-actions{margin:0;padding:0}:host ::ng-deep .mat-mdc-dialog-actions .footer{width:100%}:host ::ng-deep .mat-mdc-dialog-actions .action-button-wrapper{background-color:#f2f2f2;border-top:solid 1px #c6c8cb;padding:var(--nrcl-gutter-space);display:flex;align-items:center;justify-content:flex-end;gap:8px;width:100%}:host ::ng-deep .mat-mdc-dialog-actions .action-button-wrapper .warning{display:flex;align-items:center}:host ::ng-deep .mat-mdc-dialog-actions .action-button-wrapper .warning .mat-icon{color:#fcba19;margin-right:8px}::ng-deep .cdk-overlay-pane.nrcl-dialog mat-dialog-container.mat-mdc-dialog-container{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);--mdc-dialog-supporting-text-color: rgba(0, 0, 0, .87)}::ng-deep .cdk-overlay-pane.nrcl-dialog mat-dialog-container.mat-mdc-dialog-container .mat-mdc-dialog-content{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size)}::ng-deep .nrcl-device-desktop .cdk-overlay-pane.nrcl-dialog .mat-mdc-dialog-container .mat-mdc-dialog-surface{overflow:hidden}::ng-deep .nrcl-device-desktop .cdk-overlay-pane.nrcl-dialog .mat-mdc-dialog-container .mat-mdc-dialog-content.no-scroll{overflow-y:hidden}::ng-deep .nrcl-device-mobile .cdk-overlay-pane.nrcl-dialog{width:unset!important;max-width:unset!important}::ng-deep .nrcl-device-mobile .cdk-overlay-pane.nrcl-dialog .mat-mdc-dialog-container .mat-mdc-dialog-surface{overflow:hidden}::ng-deep .nrcl-device-mobile .cdk-overlay-pane.nrcl-dialog .mat-mdc-dialog-container .title-bar .spinner-header{top:10px;right:14px}::ng-deep .nrcl-device-mobile .cdk-overlay-pane.nrcl-dialog .mat-mdc-dialog-container .mat-mdc-dialog-content{overflow-y:auto!important;max-height:calc(var(--vh, 1vh) * 100 - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 135px);width:calc(var(--vw, 1vw) * 100 - env(safe-area-inset-left) - env(safe-area-inset-right) - 2 * var(--nrcl-gutter-space))}::ng-deep .nrcl-device-mobile .cdk-overlay-pane.nrcl-dialog .mat-mdc-dialog-container .mat-mdc-dialog-actions{width:calc(var(--vw, 1vw) * 100 - env(safe-area-inset-left) - env(safe-area-inset-right) - 2 * var(--nrcl-gutter-space))}::ng-deep .nrcl-device-mobile .cdk-overlay-pane.nrcl-dialog .mat-mdc-dialog-container .max-content-width{width:calc(var(--vw, 1vw) * 100 - env(safe-area-inset-left) - env(safe-area-inset-right) - 2 * var(--nrcl-gutter-space))}\n"], dependencies: [{ kind: "component", type: i2$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i2$5.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2$5.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2$5.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: ButtonComponent, selector: "nrcl-button", inputs: ["label", "icon", "iconRight", "iconCompact", "tooltip", "compact", "small", "primary", "secondary", "tertiary", "disabled", "anchor"], outputs: ["click"] }, { kind: "component", type: IconComponent, selector: "nrcl-icon", inputs: ["small", "large"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1993
1997
  }
1994
1998
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DialogComponent, decorators: [{
1995
1999
  type: Component,
@@ -2088,20 +2092,20 @@ class SnackbarUtilService {
2088
2092
  }
2089
2093
  });
2090
2094
  }
2091
- successfullySaved(message, duration = 5000) {
2092
- this.successful(`${message} saved successfully.`, duration);
2095
+ successfullySaved(item, duration = 5000) {
2096
+ this.successful(`${item} saved successfully.`, duration);
2093
2097
  }
2094
- successfullyDeleted(message, duration = 5000) {
2095
- this.successful(`${message} deleted successfully.`, duration);
2098
+ successfullyDeleted(item, duration = 5000) {
2099
+ this.successful(`${item} deleted successfully.`, duration);
2096
2100
  }
2097
- successfullyRemoved(message, duration = 5000) {
2098
- this.successful(`${message} removed successfully.`, duration);
2101
+ successfullyRemoved(item, duration = 5000) {
2102
+ this.successful(`${item} removed successfully.`, duration);
2099
2103
  }
2100
- successfullyCreated(message, duration = 5000) {
2101
- this.successful(`${message} created successfully.`, duration);
2104
+ successfullyCreated(item, duration = 5000) {
2105
+ this.successful(`${item} created successfully.`, duration);
2102
2106
  }
2103
- successfullyAdded(message, duration = 5000) {
2104
- this.successful(`${message} added successfully.`, duration);
2107
+ successfullyAdded(item, duration = 5000) {
2108
+ this.successful(`${item} added successfully.`, duration);
2105
2109
  }
2106
2110
  information(message, duration = null) {
2107
2111
  this.snackbar.openFromComponent(SnackbarComponent, {