@flywheel-io/vision 0.4.2 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +1 -19
  2. package/assets/fonts/Flywheel-Vision-Icons.svg +239 -0
  3. package/assets/fonts/Flywheel-Vision-Icons.ttf +0 -0
  4. package/assets/fonts/Flywheel-Vision-Icons.woff +0 -0
  5. package/bundles/flywheel-io-vision-elements.umd.js +40 -16
  6. package/bundles/flywheel-io-vision-elements.umd.js.map +1 -1
  7. package/bundles/flywheel-io-vision.umd.js +884 -662
  8. package/bundles/flywheel-io-vision.umd.js.map +1 -1
  9. package/components/button/button.component.d.ts +3 -0
  10. package/components/button/button.module.d.ts +7 -0
  11. package/components/button-group/button-group.component.d.ts +3 -0
  12. package/components/button-group/button-group.module.d.ts +5 -0
  13. package/components/dialog/choice-dialog.component.d.ts +3 -0
  14. package/components/dialog/confirm-dialog.component.d.ts +3 -0
  15. package/components/dialog/dialog.module.d.ts +14 -0
  16. package/components/dialog/dialog.service.d.ts +3 -0
  17. package/components/dialog/error-dialog.component.d.ts +3 -0
  18. package/components/dialog/portal-dialog.component.d.ts +3 -0
  19. package/components/icon/icon.component.d.ts +5 -0
  20. package/components/icon/icon.module.d.ts +8 -0
  21. package/components/notification/notification/notification.component.d.ts +3 -0
  22. package/components/notification/notification-container/notification-container.component.d.ts +3 -0
  23. package/components/notification/notification.module.d.ts +11 -0
  24. package/components/notification/notification.service.d.ts +3 -0
  25. package/components/popover/popover-trigger.component.d.ts +3 -0
  26. package/components/popover/popover-trigger.directive.d.ts +3 -0
  27. package/components/popover/popover.component.d.ts +3 -0
  28. package/components/popover/popover.module.d.ts +8 -0
  29. package/components/shared/pipes/pipes.module.d.ts +6 -0
  30. package/components/shared/pipes/translate.pipe.d.ts +3 -0
  31. package/components/shared/pipes/trusthtml.pipe.d.ts +3 -0
  32. package/components/shared/translation.service.d.ts +3 -0
  33. package/components/table/table.component.d.ts +3 -0
  34. package/components/table/table.module.d.ts +12 -0
  35. package/elements/flywheel-io-vision-elements.d.ts +1 -0
  36. package/elements/package.json +0 -1
  37. package/esm2015/components/button/button.component.js +29 -21
  38. package/esm2015/components/button/button.module.js +27 -18
  39. package/esm2015/components/button-group/button-group.component.js +24 -20
  40. package/esm2015/components/button-group/button-group.module.js +19 -14
  41. package/esm2015/components/dialog/choice-dialog.component.js +41 -15
  42. package/esm2015/components/dialog/confirm-dialog.component.js +33 -16
  43. package/esm2015/components/dialog/dialog.module.js +58 -31
  44. package/esm2015/components/dialog/dialog.service.js +8 -8
  45. package/esm2015/components/dialog/error-dialog.component.js +30 -17
  46. package/esm2015/components/dialog/portal-dialog.component.js +43 -18
  47. package/esm2015/components/icon/icon.component.js +19 -0
  48. package/esm2015/components/icon/icon.module.js +26 -0
  49. package/esm2015/components/notification/notification/notification.component.js +31 -26
  50. package/esm2015/components/notification/notification-container/notification-container.component.js +25 -21
  51. package/esm2015/components/notification/notification.module.js +45 -26
  52. package/esm2015/components/notification/notification.service.js +9 -7
  53. package/esm2015/components/popover/popover-trigger.component.js +32 -25
  54. package/esm2015/components/popover/popover-trigger.directive.js +24 -23
  55. package/esm2015/components/popover/popover.component.js +25 -13
  56. package/esm2015/components/popover/popover.module.js +38 -25
  57. package/esm2015/components/shared/pipes/pipes.module.js +25 -13
  58. package/esm2015/components/shared/pipes/translate.pipe.js +12 -13
  59. package/esm2015/components/shared/pipes/trusthtml.pipe.js +12 -11
  60. package/esm2015/components/shared/translation.service.js +7 -4
  61. package/esm2015/components/table/table.component.js +45 -26
  62. package/esm2015/components/table/table.module.js +45 -24
  63. package/esm2015/elements/elements.js +19 -14
  64. package/esm2015/flywheel-io-vision.js +1 -5
  65. package/esm2015/public-api.js +3 -1
  66. package/fesm2015/flywheel-io-vision-elements.js +18 -13
  67. package/fesm2015/flywheel-io-vision-elements.js.map +1 -1
  68. package/fesm2015/flywheel-io-vision.js +775 -524
  69. package/fesm2015/flywheel-io-vision.js.map +1 -1
  70. package/flywheel-io-vision.d.ts +1 -4
  71. package/package.json +11 -12
  72. package/public-api.d.ts +2 -0
  73. package/scss/atoms/cards.scss +12 -0
  74. package/scss/atoms/grid.scss +21 -0
  75. package/scss/atoms/typography.scss +16 -0
  76. package/scss/icons/_icon-font-face.scss +10 -0
  77. package/scss/icons/_icon-glyphs.scss +370 -0
  78. package/scss/icons/icons.scss +3 -0
  79. package/styles.css +118 -108
  80. package/styles.scss +3 -3
  81. package/bundles/flywheel-io-vision-elements.umd.min.js +0 -2
  82. package/bundles/flywheel-io-vision-elements.umd.min.js.map +0 -1
  83. package/bundles/flywheel-io-vision.umd.min.js +0 -2
  84. package/bundles/flywheel-io-vision.umd.min.js.map +0 -1
  85. package/elements/flywheel-io-vision-elements.metadata.json +0 -1
  86. package/flywheel-io-vision.metadata.json +0 -1
@@ -1,19 +1,34 @@
1
- import { Component, ViewEncapsulation, Input, NgModule, Inject, Injectable, SimpleChange, ViewContainerRef, Pipe, ChangeDetectorRef, ɵɵdefineInjectable, ChangeDetectionStrategy, EventEmitter, Output, HostBinding, Directive, ElementRef, ViewChild, TemplateRef } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
1
+ import * as i0 from '@angular/core';
2
+ import { Component, ViewEncapsulation, Input, NgModule, Inject, Pipe, Injectable, SimpleChange, ChangeDetectionStrategy, EventEmitter, Output, HostBinding, Directive, TemplateRef, ViewChild } from '@angular/core';
3
+ import * as i1 from '@angular/material/button';
3
4
  import { MatButtonModule } from '@angular/material/button';
4
- import { MAT_DIALOG_DATA, MatDialog, MatDialogRef, MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';
5
+ import * as i2 from '@angular/common';
6
+ import { CommonModule } from '@angular/common';
7
+ import * as i3 from '@angular/material/dialog';
8
+ import { MAT_DIALOG_DATA, MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';
9
+ import * as i1$1 from '@angular/platform-browser';
10
+ import { of, Subject, BehaviorSubject, Subscription } from 'rxjs';
11
+ import * as i5 from '@angular/cdk/portal';
5
12
  import { ComponentPortal, TemplatePortal, PortalModule } from '@angular/cdk/portal';
13
+ import * as i2$1 from '@angular/material/icon';
6
14
  import { MatIconModule } from '@angular/material/icon';
7
- import { Subject, of, BehaviorSubject, Subscription } from 'rxjs';
8
15
  import { takeUntil, debounceTime } from 'rxjs/operators';
9
- import { DomSanitizer } from '@angular/platform-browser';
16
+ import * as i1$2 from '@angular/cdk/overlay';
10
17
  import { Overlay } from '@angular/cdk/overlay';
18
+ import * as i9 from '@angular/forms';
11
19
  import { FormGroup, FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
20
+ import * as i6 from '@angular/material/paginator';
12
21
  import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
22
+ import * as i5$1 from '@angular/material/sort';
13
23
  import { MatSort, MatSortModule } from '@angular/material/sort';
24
+ import * as i1$3 from '@angular/material/table';
14
25
  import { MatTableDataSource, MatTableModule } from '@angular/material/table';
15
- import { MatInputModule } from '@angular/material/input';
26
+ import * as i2$2 from '@angular/material/form-field';
27
+ import * as i3$1 from '@angular/material/select';
16
28
  import { MatSelectModule } from '@angular/material/select';
29
+ import * as i4 from '@angular/material/core';
30
+ import * as i8 from '@angular/material/input';
31
+ import { MatInputModule } from '@angular/material/input';
17
32
 
18
33
  class FwButtonGroupComponent {
19
34
  constructor() {
@@ -21,41 +36,48 @@ class FwButtonGroupComponent {
21
36
  this.size = 'medium';
22
37
  }
23
38
  }
24
- FwButtonGroupComponent.decorators = [
25
- { type: Component, args: [{
26
- host: {
27
- 'class': 'fw-button-group',
28
- '[class.small]': 'size === "small"',
29
- '[class.medium]': 'size === "medium"',
30
- '[class.large]': 'size === "large"',
31
- '[class.compact]': 'layout === "compact"',
32
- },
33
- selector: 'fw-button-group',
34
- template: `<ng-content></ng-content>`,
35
- encapsulation: ViewEncapsulation.None,
36
- styles: ["fw-button-group.fw-button-group{border-radius:4px;display:inline-flex;align-items:stretch}fw-button-group.fw-button-group.compact button{line-height:24px;height:24px}fw-button-group.fw-button-group.small button{font-size:12px}fw-button-group.fw-button-group.medium button{font-size:14px}fw-button-group.fw-button-group.large button{font-size:18px}fw-button-group.fw-button-group button{min-width:0;margin:0!important;border-radius:0}fw-button-group.fw-button-group>button:first-of-type,fw-button-group.fw-button-group>fw-button:first-of-type>button{border-top-left-radius:4px;border-bottom-left-radius:4px}fw-button-group.fw-button-group>button:last-of-type,fw-button-group.fw-button-group>fw-button:last-of-type>button{border-top-right-radius:4px;border-bottom-right-radius:4px}fw-button-group.fw-button-group>button.mat-stroked-button,fw-button-group.fw-button-group>button.mat-stroked-button+button.mat-stroke-button,fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]+fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button[type=stroked]+fw-button[type=stroked]>button,fw-button-group.fw-button-group>fw-button[type=stroked]>button{border-right-width:0}fw-button-group.fw-button-group>button.mat-stroked-button:last-of-type,fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]:last-of-type>button,fw-button-group.fw-button-group>fw-button[type=stroked]:last-of-type>button{border-right-width:1px!important}fw-button-group.fw-button-group>button:not(.mat-stroked-button)+button.mat-stroked-button,fw-button-group.fw-button-group>fw-button:not([ng-reflect-type=stroked])+fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button:not([type=stroked])+fw-button[type=stroked]>button{border-left-width:0}"]
37
- },] }
38
- ];
39
- FwButtonGroupComponent.propDecorators = {
40
- layout: [{ type: Input }],
41
- size: [{ type: Input }]
42
- };
39
+ FwButtonGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
+ FwButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FwButtonGroupComponent, selector: "fw-button-group", inputs: { layout: "layout", size: "size" }, host: { properties: { "class.small": "size === \"small\"", "class.medium": "size === \"medium\"", "class.large": "size === \"large\"", "class.compact": "layout === \"compact\"" }, classAttribute: "fw-button-group" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: ["fw-button-group.fw-button-group{border-radius:4px;display:inline-flex;align-items:stretch}fw-button-group.fw-button-group.compact button{line-height:24px;height:24px}fw-button-group.fw-button-group.small button{font-size:12px}fw-button-group.fw-button-group.medium button{font-size:14px}fw-button-group.fw-button-group.large button{font-size:18px}fw-button-group.fw-button-group button{min-width:0;margin:0!important;border-radius:0}fw-button-group.fw-button-group>fw-button:first-of-type>button,fw-button-group.fw-button-group>button:first-of-type{border-top-left-radius:4px;border-bottom-left-radius:4px}fw-button-group.fw-button-group>fw-button:last-of-type>button,fw-button-group.fw-button-group>button:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]+fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button[type=stroked]>button,fw-button-group.fw-button-group>fw-button[type=stroked]+fw-button[type=stroked]>button,fw-button-group.fw-button-group>button.mat-stroked-button,fw-button-group.fw-button-group>button.mat-stroked-button+button.mat-stroke-button{border-right-width:0}fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]:last-of-type>button,fw-button-group.fw-button-group>fw-button[type=stroked]:last-of-type>button,fw-button-group.fw-button-group>button.mat-stroked-button:last-of-type{border-right-width:1px!important}fw-button-group.fw-button-group>fw-button:not([ng-reflect-type=stroked])+fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button:not([type=stroked])+fw-button[type=stroked]>button,fw-button-group.fw-button-group>button:not(.mat-stroked-button)+button.mat-stroked-button{border-left-width:0}\n"], encapsulation: i0.ViewEncapsulation.None });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwButtonGroupComponent, decorators: [{
42
+ type: Component,
43
+ args: [{
44
+ host: {
45
+ 'class': 'fw-button-group',
46
+ '[class.small]': 'size === "small"',
47
+ '[class.medium]': 'size === "medium"',
48
+ '[class.large]': 'size === "large"',
49
+ '[class.compact]': 'layout === "compact"',
50
+ },
51
+ selector: 'fw-button-group',
52
+ styleUrls: ['./button-group.component.scss'],
53
+ template: `<ng-content></ng-content>`,
54
+ encapsulation: ViewEncapsulation.None,
55
+ }]
56
+ }], propDecorators: { layout: [{
57
+ type: Input
58
+ }], size: [{
59
+ type: Input
60
+ }] } });
43
61
 
44
62
  class FwButtonGroupModule {
45
63
  }
46
- FwButtonGroupModule.decorators = [
47
- { type: NgModule, args: [{
48
- exports: [
49
- FwButtonGroupComponent,
50
- ],
51
- declarations: [
52
- FwButtonGroupComponent,
53
- ],
54
- entryComponents: [
55
- FwButtonGroupComponent,
56
- ]
57
- },] }
58
- ];
64
+ FwButtonGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
65
+ FwButtonGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwButtonGroupModule, declarations: [FwButtonGroupComponent], exports: [FwButtonGroupComponent] });
66
+ FwButtonGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwButtonGroupModule });
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwButtonGroupModule, decorators: [{
68
+ type: NgModule,
69
+ args: [{
70
+ exports: [
71
+ FwButtonGroupComponent,
72
+ ],
73
+ declarations: [
74
+ FwButtonGroupComponent,
75
+ ],
76
+ entryComponents: [
77
+ FwButtonGroupComponent,
78
+ ]
79
+ }]
80
+ }] });
59
81
 
60
82
  class FwButtonComponent {
61
83
  constructor() {
@@ -64,46 +86,59 @@ class FwButtonComponent {
64
86
  this.type = 'basic';
65
87
  }
66
88
  }
67
- FwButtonComponent.decorators = [
68
- { type: Component, args: [{
69
- host: {
70
- 'class': 'fw-button',
71
- '[class.small]': 'size === "small"',
72
- '[class.medium]': 'size === "medium"',
73
- '[class.large]': 'size === "large"',
74
- '[class.compact]': 'layout === "compact"',
75
- },
76
- selector: 'fw-button',
77
- template: "<ng-container [ngSwitch]=\"type\">\n <button *ngSwitchCase=\"'raised'\" mat-raised-button [color]=\"color\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n <button *ngSwitchCase=\"'stroked'\" mat-stroked-button [color]=\"color\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n <button *ngSwitchCase=\"'flat'\" mat-flat-button [color]=\"color\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n <button *ngSwitchDefault mat-button [color]=\"color\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n</ng-container>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n",
78
- styles: [":host.compact>button{line-height:24px}:host.small{font-size:12px}:host.medium{font-size:14px}:host.large{font-size:18px}button{font-size:inherit}"]
79
- },] }
80
- ];
81
- FwButtonComponent.propDecorators = {
82
- color: [{ type: Input }],
83
- layout: [{ type: Input }],
84
- size: [{ type: Input }],
85
- type: [{ type: Input }]
86
- };
89
+ FwButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
90
+ FwButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FwButtonComponent, selector: "fw-button", inputs: { color: "color", layout: "layout", size: "size", type: "type" }, host: { properties: { "class.small": "size === \"small\"", "class.medium": "size === \"medium\"", "class.large": "size === \"large\"", "class.compact": "layout === \"compact\"" }, classAttribute: "fw-button" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <button *ngSwitchCase=\"'raised'\" mat-raised-button [color]=\"color\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n <button *ngSwitchCase=\"'stroked'\" mat-stroked-button [color]=\"color\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n <button *ngSwitchCase=\"'flat'\" mat-flat-button [color]=\"color\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n <button *ngSwitchDefault mat-button [color]=\"color\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n</ng-container>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host.compact>button{line-height:24px}:host.small{font-size:12px}:host.medium{font-size:14px}:host.large{font-size:18px}button{font-size:inherit}\n"], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwButtonComponent, decorators: [{
92
+ type: Component,
93
+ args: [{
94
+ host: {
95
+ 'class': 'fw-button',
96
+ '[class.small]': 'size === "small"',
97
+ '[class.medium]': 'size === "medium"',
98
+ '[class.large]': 'size === "large"',
99
+ '[class.compact]': 'layout === "compact"',
100
+ },
101
+ selector: 'fw-button',
102
+ styleUrls: ['./button.component.scss'],
103
+ templateUrl: './button.component.html',
104
+ }]
105
+ }], propDecorators: { color: [{
106
+ type: Input
107
+ }], layout: [{
108
+ type: Input
109
+ }], size: [{
110
+ type: Input
111
+ }], type: [{
112
+ type: Input
113
+ }] } });
87
114
 
88
115
  class FwButtonModule {
89
116
  }
90
- FwButtonModule.decorators = [
91
- { type: NgModule, args: [{
92
- imports: [
93
- CommonModule,
94
- MatButtonModule,
95
- ],
96
- exports: [
97
- FwButtonComponent,
98
- ],
99
- declarations: [
100
- FwButtonComponent,
101
- ],
102
- entryComponents: [
103
- FwButtonComponent,
104
- ],
105
- },] }
106
- ];
117
+ FwButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
118
+ FwButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwButtonModule, declarations: [FwButtonComponent], imports: [CommonModule,
119
+ MatButtonModule], exports: [FwButtonComponent] });
120
+ FwButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwButtonModule, imports: [[
121
+ CommonModule,
122
+ MatButtonModule,
123
+ ]] });
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwButtonModule, decorators: [{
125
+ type: NgModule,
126
+ args: [{
127
+ imports: [
128
+ CommonModule,
129
+ MatButtonModule,
130
+ ],
131
+ exports: [
132
+ FwButtonComponent,
133
+ ],
134
+ declarations: [
135
+ FwButtonComponent,
136
+ ],
137
+ entryComponents: [
138
+ FwButtonComponent,
139
+ ],
140
+ }]
141
+ }] });
107
142
 
108
143
  class FwChoiceDialog {
109
144
  constructor(data) {
@@ -122,14 +157,8 @@ class FwChoiceDialog {
122
157
  return choice.testId || `${String((_a = choice.label) !== null && _a !== void 0 ? _a : choice.value).toLowerCase()}-button`;
123
158
  }
124
159
  }
125
- FwChoiceDialog.decorators = [
126
- { type: Component, args: [{
127
- host: {
128
- class: 'mat-dialog-component',
129
- 'test-id': 'choice-dialog',
130
- },
131
- selector: 'fw-choice-dialog',
132
- template: `
160
+ FwChoiceDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwChoiceDialog, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
161
+ FwChoiceDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FwChoiceDialog, selector: "fw-choice-dialog", host: { attributes: { "test-id": "choice-dialog" }, classAttribute: "mat-dialog-component" }, ngImport: i0, template: `
133
162
  <h1 mat-dialog-title *ngIf="title">{{ title }}</h1>
134
163
  <div mat-dialog-content>{{ content }}</div>
135
164
  <div mat-dialog-actions [align]="alignActions">
@@ -148,12 +177,116 @@ FwChoiceDialog.decorators = [
148
177
  </ng-container>
149
178
  </ng-container>
150
179
  </div>
151
- `
152
- },] }
153
- ];
154
- FwChoiceDialog.ctorParameters = () => [
155
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
156
- ];
180
+ `, isInline: true, components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwChoiceDialog, decorators: [{
182
+ type: Component,
183
+ args: [{
184
+ host: {
185
+ class: 'mat-dialog-component',
186
+ 'test-id': 'choice-dialog',
187
+ },
188
+ selector: 'fw-choice-dialog',
189
+ template: `
190
+ <h1 mat-dialog-title *ngIf="title">{{ title }}</h1>
191
+ <div mat-dialog-content>{{ content }}</div>
192
+ <div mat-dialog-actions [align]="alignActions">
193
+ <ng-container *ngFor="let choice of choices" [ngSwitch]="choice.variant">
194
+ <button *ngSwitchCase="'raised'" mat-raised-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
195
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
196
+ <button *ngSwitchCase="'stroked'" mat-stroked-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
197
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
198
+ <button *ngSwitchCase="'flat'" mat-flat-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
199
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
200
+ <ng-container *ngSwitchDefault>
201
+ <button *ngIf="choice.color" mat-flat-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
202
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
203
+ <button *ngIf="!choice.color" mat-stroked-button [attr.test-id]="getTestId(choice)"
204
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
205
+ </ng-container>
206
+ </ng-container>
207
+ </div>
208
+ `,
209
+ }]
210
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
211
+ type: Inject,
212
+ args: [MAT_DIALOG_DATA]
213
+ }] }]; } });
214
+
215
+ class TrustHtmlPipe {
216
+ constructor(sanitizer) {
217
+ this.sanitizer = sanitizer;
218
+ }
219
+ transform(html) {
220
+ return this.sanitizer.bypassSecurityTrustHtml(html);
221
+ }
222
+ }
223
+ TrustHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TrustHtmlPipe, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
224
+ TrustHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TrustHtmlPipe, name: "trusthtml" });
225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TrustHtmlPipe, decorators: [{
226
+ type: Pipe,
227
+ args: [{
228
+ name: 'trusthtml',
229
+ pure: true,
230
+ }]
231
+ }], ctorParameters: function () { return [{ type: i1$1.DomSanitizer }]; } });
232
+
233
+ class TranslationService {
234
+ }
235
+ /**
236
+ * Very basic i18n implementation. Consumer apps can provide their own implementation of TranslationService to override.
237
+ */
238
+ class MinimalTranslationService {
239
+ getMessage(key, silent) {
240
+ return of(MinimalTranslationService.messages[key]);
241
+ }
242
+ }
243
+ MinimalTranslationService.messages = {
244
+ 'common.actions.close': 'Close',
245
+ 'confirmDialog.body': 'Are you sure?',
246
+ 'confirmDialog.no': 'No',
247
+ 'confirmDialog.yes': 'Yes',
248
+ };
249
+ MinimalTranslationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MinimalTranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
250
+ MinimalTranslationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MinimalTranslationService });
251
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MinimalTranslationService, decorators: [{
252
+ type: Injectable
253
+ }] });
254
+
255
+ /**
256
+ * Translate a message given a nested key to a location in the loaded locale copy.
257
+ */
258
+ class TranslatePipe {
259
+ constructor(cdr, translationService) {
260
+ this.cdr = cdr;
261
+ this.translationService = translationService;
262
+ this.subscriptions = {};
263
+ this.messages = {};
264
+ }
265
+ ngOnDestroy() {
266
+ for (const subscription of Object.values(this.subscriptions)) {
267
+ subscription.unsubscribe();
268
+ }
269
+ }
270
+ transform(key, silent = false) {
271
+ if (!(key in this.subscriptions)) {
272
+ this.subscriptions[key] = this.translationService.getMessage(key, silent).subscribe(message => {
273
+ this.messages[key] = message;
274
+ // trigger change detection to support components with ChangeDetectionStrategy.OnPush
275
+ this.cdr.markForCheck();
276
+ });
277
+ }
278
+ return this.messages[key] || '';
279
+ }
280
+ }
281
+ TranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TranslatePipe, deps: [{ token: i0.ChangeDetectorRef }, { token: TranslationService }], target: i0.ɵɵFactoryTarget.Pipe });
282
+ TranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TranslatePipe, name: "translate", pure: false });
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TranslatePipe, decorators: [{
284
+ type: Pipe,
285
+ args: [{
286
+ name: 'translate',
287
+ pure: false,
288
+ }]
289
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: TranslationService }]; } });
157
290
 
158
291
  class FwConfirmDialog {
159
292
  constructor(data) {
@@ -163,14 +296,25 @@ class FwConfirmDialog {
163
296
  this.html = this.data.html;
164
297
  }
165
298
  }
166
- FwConfirmDialog.decorators = [
167
- { type: Component, args: [{
168
- host: {
169
- class: 'mat-dialog-component',
170
- 'test-id': 'confirm-dialog',
171
- },
172
- selector: 'fw-confirm-dialog',
173
- template: `
299
+ FwConfirmDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwConfirmDialog, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
300
+ FwConfirmDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FwConfirmDialog, selector: "fw-confirm-dialog", host: { attributes: { "test-id": "confirm-dialog" }, classAttribute: "mat-dialog-component" }, ngImport: i0, template: `
301
+ <h1 mat-dialog-title *ngIf="title">{{ title }}</h1>
302
+ <div mat-dialog-content *ngIf="html" class="markup" [innerHTML]="html | trusthtml"></div>
303
+ <div mat-dialog-content *ngIf="!html">{{ content || ('confirmDialog.body' | translate ) }}</div>
304
+ <div mat-dialog-actions align="center">
305
+ <button test-id="no-button" mat-stroked-button [mat-dialog-close]="false">{{ 'confirmDialog.no' | translate }}</button>
306
+ <button test-id="yes-button" mat-flat-button color="primary" [mat-dialog-close]="true">{{ 'confirmDialog.yes' | translate }}</button>
307
+ </div>
308
+ `, isInline: true, styles: ["\n [mat-dialog-content] {\n text-align: center;\n }\n [mat-dialog-content].markup {\n text-align: inherit;\n }\n "], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "trusthtml": TrustHtmlPipe, "translate": TranslatePipe } });
309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwConfirmDialog, decorators: [{
310
+ type: Component,
311
+ args: [{
312
+ host: {
313
+ class: 'mat-dialog-component',
314
+ 'test-id': 'confirm-dialog',
315
+ },
316
+ selector: 'fw-confirm-dialog',
317
+ template: `
174
318
  <h1 mat-dialog-title *ngIf="title">{{ title }}</h1>
175
319
  <div mat-dialog-content *ngIf="html" class="markup" [innerHTML]="html | trusthtml"></div>
176
320
  <div mat-dialog-content *ngIf="!html">{{ content || ('confirmDialog.body' | translate ) }}</div>
@@ -179,19 +323,19 @@ FwConfirmDialog.decorators = [
179
323
  <button test-id="yes-button" mat-flat-button color="primary" [mat-dialog-close]="true">{{ 'confirmDialog.yes' | translate }}</button>
180
324
  </div>
181
325
  `,
182
- styles: [`
326
+ styles: [`
183
327
  [mat-dialog-content] {
184
328
  text-align: center;
185
329
  }
186
330
  [mat-dialog-content].markup {
187
331
  text-align: inherit;
188
332
  }
189
- `]
190
- },] }
191
- ];
192
- FwConfirmDialog.ctorParameters = () => [
193
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
194
- ];
333
+ `],
334
+ }]
335
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
336
+ type: Inject,
337
+ args: [MAT_DIALOG_DATA]
338
+ }] }]; } });
195
339
 
196
340
  class FwDialogService {
197
341
  constructor(matDialog) {
@@ -253,12 +397,11 @@ class FwDialogService {
253
397
  this.config.set(component, config);
254
398
  }
255
399
  }
256
- FwDialogService.decorators = [
257
- { type: Injectable }
258
- ];
259
- FwDialogService.ctorParameters = () => [
260
- { type: MatDialog }
261
- ];
400
+ FwDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwDialogService, deps: [{ token: i3.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
401
+ FwDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwDialogService });
402
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwDialogService, decorators: [{
403
+ type: Injectable
404
+ }], ctorParameters: function () { return [{ type: i3.MatDialog }]; } });
262
405
 
263
406
  class FwErrorDialog {
264
407
  constructor(data, ref) {
@@ -268,27 +411,36 @@ class FwErrorDialog {
268
411
  this.ref.disableClose = false;
269
412
  }
270
413
  }
271
- FwErrorDialog.decorators = [
272
- { type: Component, args: [{
273
- host: {
274
- class: 'mat-dialog-component',
275
- 'test-id': 'error-dialog',
276
- },
277
- selector: 'fw-error-dialog',
278
- template: `
414
+ FwErrorDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwErrorDialog, deps: [{ token: MAT_DIALOG_DATA }, { token: i3.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
415
+ FwErrorDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FwErrorDialog, selector: "fw-error-dialog", host: { attributes: { "test-id": "error-dialog" }, classAttribute: "mat-dialog-component" }, ngImport: i0, template: `
279
416
  <div mat-dialog-content>{{ message }}</div>
280
417
  <div mat-dialog-actions align="end">
281
418
  <button test-id="close-button" mat-stroked-button mat-dialog-close>
282
419
  {{ 'common.actions.close' | translate }}
283
420
  </button>
284
421
  </div>
285
- `
286
- },] }
287
- ];
288
- FwErrorDialog.ctorParameters = () => [
289
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
290
- { type: MatDialogRef }
291
- ];
422
+ `, isInline: true, components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "translate": TranslatePipe } });
423
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwErrorDialog, decorators: [{
424
+ type: Component,
425
+ args: [{
426
+ host: {
427
+ class: 'mat-dialog-component',
428
+ 'test-id': 'error-dialog',
429
+ },
430
+ selector: 'fw-error-dialog',
431
+ template: `
432
+ <div mat-dialog-content>{{ message }}</div>
433
+ <div mat-dialog-actions align="end">
434
+ <button test-id="close-button" mat-stroked-button mat-dialog-close>
435
+ {{ 'common.actions.close' | translate }}
436
+ </button>
437
+ </div>
438
+ `,
439
+ }]
440
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
441
+ type: Inject,
442
+ args: [MAT_DIALOG_DATA]
443
+ }] }, { type: i3.MatDialogRef }]; } });
292
444
 
293
445
  class FwPortalDialog {
294
446
  constructor(data, viewContainerRef) {
@@ -334,14 +486,33 @@ class FwPortalDialog {
334
486
  }
335
487
  }
336
488
  }
337
- FwPortalDialog.decorators = [
338
- { type: Component, args: [{
339
- host: {
340
- class: 'mat-dialog-component',
341
- 'test-id': 'portal-dialog',
342
- },
343
- selector: 'fw-portal-dialog',
344
- template: `
489
+ FwPortalDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwPortalDialog, deps: [{ token: MAT_DIALOG_DATA }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
490
+ FwPortalDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FwPortalDialog, selector: "fw-portal-dialog", host: { attributes: { "test-id": "portal-dialog" }, classAttribute: "mat-dialog-component" }, ngImport: i0, template: `
491
+ <ng-container *ngIf="title">
492
+ <h1 mat-dialog-title>{{ title }}</h1>
493
+ <button test-id="dialog-close-corner" mat-icon-button mat-dialog-close>
494
+ <mat-icon>close</mat-icon>
495
+ </button>
496
+ </ng-container>
497
+ <mat-dialog-content>
498
+ <p *ngIf="content" class="content">{{ content }}</p>
499
+ <ng-template [cdkPortalOutlet]="portal" (attached)="attached($event)"></ng-template>
500
+ </mat-dialog-content>
501
+ <mat-dialog-actions align="end">
502
+ <button test-id="dialog-close-button" mat-stroked-button mat-dialog-close>
503
+ {{ 'common.actions.close' | translate }}
504
+ </button>
505
+ </mat-dialog-actions>
506
+ `, isInline: true, styles: ["\n :host {\n min-width: 200px;\n }\n .content {\n margin-bottom: 30px;\n }\n "], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }], pipes: { "translate": TranslatePipe } });
507
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwPortalDialog, decorators: [{
508
+ type: Component,
509
+ args: [{
510
+ host: {
511
+ class: 'mat-dialog-component',
512
+ 'test-id': 'portal-dialog',
513
+ },
514
+ selector: 'fw-portal-dialog',
515
+ template: `
345
516
  <ng-container *ngIf="title">
346
517
  <h1 mat-dialog-title>{{ title }}</h1>
347
518
  <button test-id="dialog-close-corner" mat-icon-button mat-dialog-close>
@@ -358,95 +529,19 @@ FwPortalDialog.decorators = [
358
529
  </button>
359
530
  </mat-dialog-actions>
360
531
  `,
361
- styles: [`
532
+ styles: [`
362
533
  :host {
363
534
  min-width: 200px;
364
535
  }
365
536
  .content {
366
537
  margin-bottom: 30px;
367
538
  }
368
- `]
369
- },] }
370
- ];
371
- FwPortalDialog.ctorParameters = () => [
372
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
373
- { type: ViewContainerRef }
374
- ];
375
-
376
- class TranslationService {
377
- }
378
- /**
379
- * Very basic i18n implementation. Consumer apps can provide their own implementation of TranslationService to override.
380
- */
381
- class MinimalTranslationService {
382
- getMessage(key, silent) {
383
- return of(MinimalTranslationService.messages[key]);
384
- }
385
- }
386
- MinimalTranslationService.messages = {
387
- 'common.actions.close': 'Close',
388
- 'confirmDialog.body': 'Are you sure?',
389
- 'confirmDialog.no': 'No',
390
- 'confirmDialog.yes': 'Yes',
391
- };
392
- MinimalTranslationService.decorators = [
393
- { type: Injectable }
394
- ];
395
-
396
- /**
397
- * Translate a message given a nested key to a location in the loaded locale copy.
398
- */
399
- class TranslatePipe {
400
- constructor(cdr, translationService) {
401
- this.cdr = cdr;
402
- this.translationService = translationService;
403
- this.subscriptions = {};
404
- this.messages = {};
405
- }
406
- ngOnDestroy() {
407
- for (const subscription of Object.values(this.subscriptions)) {
408
- subscription.unsubscribe();
409
- }
410
- }
411
- transform(key, silent = false) {
412
- if (!(key in this.subscriptions)) {
413
- this.subscriptions[key] = this.translationService.getMessage(key, silent).subscribe(message => {
414
- this.messages[key] = message;
415
- // trigger change detection to support components with ChangeDetectionStrategy.OnPush
416
- this.cdr.markForCheck();
417
- });
418
- }
419
- return this.messages[key] || '';
420
- }
421
- }
422
- TranslatePipe.decorators = [
423
- { type: Pipe, args: [{
424
- name: 'translate',
425
- pure: false,
426
- },] }
427
- ];
428
- TranslatePipe.ctorParameters = () => [
429
- { type: ChangeDetectorRef },
430
- { type: TranslationService }
431
- ];
432
-
433
- class TrustHtmlPipe {
434
- constructor(sanitizer) {
435
- this.sanitizer = sanitizer;
436
- }
437
- transform(html) {
438
- return this.sanitizer.bypassSecurityTrustHtml(html);
439
- }
440
- }
441
- TrustHtmlPipe.decorators = [
442
- { type: Pipe, args: [{
443
- name: 'trusthtml',
444
- pure: true,
445
- },] }
446
- ];
447
- TrustHtmlPipe.ctorParameters = () => [
448
- { type: DomSanitizer }
449
- ];
539
+ `],
540
+ }]
541
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
542
+ type: Inject,
543
+ args: [MAT_DIALOG_DATA]
544
+ }] }, { type: i0.ViewContainerRef }]; } });
450
545
 
451
546
  const exports = [
452
547
  TranslatePipe,
@@ -454,50 +549,127 @@ const exports = [
454
549
  ];
455
550
  class PipesModule {
456
551
  }
457
- PipesModule.decorators = [
458
- { type: NgModule, args: [{
459
- declarations: exports,
460
- exports: exports,
461
- providers: [
462
- {
463
- provide: TranslationService,
464
- useClass: MinimalTranslationService,
465
- },
466
- ],
467
- },] }
468
- ];
552
+ PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
553
+ PipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PipesModule, declarations: [TranslatePipe,
554
+ TrustHtmlPipe], exports: [TranslatePipe,
555
+ TrustHtmlPipe] });
556
+ PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PipesModule, providers: [
557
+ {
558
+ provide: TranslationService,
559
+ useClass: MinimalTranslationService,
560
+ },
561
+ ] });
562
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PipesModule, decorators: [{
563
+ type: NgModule,
564
+ args: [{
565
+ declarations: exports,
566
+ exports: exports,
567
+ providers: [
568
+ {
569
+ provide: TranslationService,
570
+ useClass: MinimalTranslationService,
571
+ },
572
+ ],
573
+ }]
574
+ }] });
469
575
 
470
- const ɵ0 = {
471
- disableClose: true,
472
- hasBackdrop: true,
473
- };
474
576
  class FwDialogModule {
475
577
  }
476
- FwDialogModule.decorators = [
477
- { type: NgModule, args: [{
478
- declarations: [
479
- FwChoiceDialog,
480
- FwConfirmDialog,
481
- FwErrorDialog,
482
- FwPortalDialog,
483
- ],
484
- imports: [
485
- CommonModule,
486
- MatButtonModule,
487
- MatDialogModule,
488
- MatIconModule,
489
- PipesModule,
490
- PortalModule,
491
- ],
492
- providers: [
493
- FwDialogService,
494
- {
495
- provide: MAT_DIALOG_DEFAULT_OPTIONS,
496
- useValue: ɵ0
497
- }
498
- ],
499
- },] }
500
- ];
578
+ FwDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
579
+ FwDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwDialogModule, declarations: [FwChoiceDialog,
580
+ FwConfirmDialog,
581
+ FwErrorDialog,
582
+ FwPortalDialog], imports: [CommonModule,
583
+ MatButtonModule,
584
+ MatDialogModule,
585
+ MatIconModule,
586
+ PipesModule,
587
+ PortalModule] });
588
+ FwDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwDialogModule, providers: [
589
+ FwDialogService,
590
+ {
591
+ provide: MAT_DIALOG_DEFAULT_OPTIONS,
592
+ useValue: {
593
+ disableClose: true,
594
+ hasBackdrop: true,
595
+ }
596
+ }
597
+ ], imports: [[
598
+ CommonModule,
599
+ MatButtonModule,
600
+ MatDialogModule,
601
+ MatIconModule,
602
+ PipesModule,
603
+ PortalModule,
604
+ ]] });
605
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwDialogModule, decorators: [{
606
+ type: NgModule,
607
+ args: [{
608
+ declarations: [
609
+ FwChoiceDialog,
610
+ FwConfirmDialog,
611
+ FwErrorDialog,
612
+ FwPortalDialog,
613
+ ],
614
+ imports: [
615
+ CommonModule,
616
+ MatButtonModule,
617
+ MatDialogModule,
618
+ MatIconModule,
619
+ PipesModule,
620
+ PortalModule,
621
+ ],
622
+ providers: [
623
+ FwDialogService,
624
+ {
625
+ provide: MAT_DIALOG_DEFAULT_OPTIONS,
626
+ useValue: {
627
+ disableClose: true,
628
+ hasBackdrop: true,
629
+ }
630
+ }
631
+ ],
632
+ }]
633
+ }] });
634
+
635
+ class FwIconComponent {
636
+ }
637
+ FwIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
638
+ FwIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FwIconComponent, selector: "fw-icon", host: { attributes: { "role": "img" }, classAttribute: "vision-icon" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
639
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwIconComponent, decorators: [{
640
+ type: Component,
641
+ args: [{
642
+ host: {
643
+ 'role': 'img',
644
+ 'class': 'vision-icon', // apply icon font to glyph content
645
+ },
646
+ selector: 'fw-icon',
647
+ template: '<ng-content></ng-content>',
648
+ changeDetection: ChangeDetectionStrategy.OnPush,
649
+ }]
650
+ }] });
651
+
652
+ class FwIconModule {
653
+ }
654
+ FwIconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
655
+ FwIconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwIconModule, declarations: [FwIconComponent], imports: [CommonModule], exports: [FwIconComponent] });
656
+ FwIconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwIconModule, imports: [[
657
+ CommonModule,
658
+ ]] });
659
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwIconModule, decorators: [{
660
+ type: NgModule,
661
+ args: [{
662
+ imports: [
663
+ CommonModule,
664
+ ],
665
+ exports: [
666
+ FwIconComponent,
667
+ ],
668
+ declarations: [
669
+ FwIconComponent,
670
+ ],
671
+ }]
672
+ }] });
501
673
 
502
674
  function genId() {
503
675
  return String.prototype.padStart(24, Math.floor(Math.random() * Date.now()).toString(16));
@@ -523,98 +695,14 @@ class FwNotificationService {
523
695
  this.notifications$.next(this.notificationQueue);
524
696
  }
525
697
  }
526
- FwNotificationService.ɵprov = ɵɵdefineInjectable({ factory: function FwNotificationService_Factory() { return new FwNotificationService(); }, token: FwNotificationService, providedIn: "root" });
527
- FwNotificationService.decorators = [
528
- { type: Injectable, args: [{
529
- providedIn: 'root'
530
- },] }
531
- ];
532
-
533
- class FwNotificationContainerComponent {
534
- constructor(cdr, notificationService) {
535
- this.cdr = cdr;
536
- this.notificationService = notificationService;
537
- this.limit = 3;
538
- this.notifications = [];
539
- this.expanded = false;
540
- this.subscriptions = {
541
- notifications: Subscription.EMPTY,
542
- };
543
- this.subscriptions.notifications = this.notificationService.notifications$.subscribe((notifications) => {
544
- this.notifications = notifications;
545
- if (notifications.length === 0) {
546
- this.expanded = false;
547
- }
548
- this.cdr.markForCheck();
549
- });
550
- }
551
- ngOnDestroy() {
552
- for (const subscription of Object.values(this.subscriptions)) {
553
- subscription.unsubscribe();
554
- }
555
- }
556
- notificationClass(index) {
557
- let cssClass;
558
- const level = this.notifications.length > this.limit
559
- ? index - (this.notifications.length - this.limit)
560
- : index;
561
- if (this.expanded) {
562
- cssClass = 'default';
563
- }
564
- else {
565
- cssClass = level >= 0 ? `level-${level}` : 'hidden';
566
- }
567
- return cssClass;
568
- }
569
- getEmptyNotification(notification) {
570
- return Object.assign(Object.assign({}, notification), { message: ' ' }); // take up a line but show no content
571
- }
572
- onReady(notification) {
573
- const currentNotification = this.notifications[this.notifications.length - 1];
574
- currentNotification.ref = notification;
575
- notification.startTimer();
576
- }
577
- onDismiss(notificationId) {
578
- const notification = this.notifications.find(currentNotification => currentNotification.id === notificationId);
579
- if (notification === null || notification === void 0 ? void 0 : notification.ref) {
580
- notification.ref.stopTimer();
581
- }
582
- if (notification === null || notification === void 0 ? void 0 : notification.id) {
583
- this.notificationService.dismiss(notification.id);
584
- }
585
- this.cdr.markForCheck();
586
- }
587
- clearAll() {
588
- this.notificationService.dismissAll();
589
- this.cdr.markForCheck();
590
- }
591
- onShowMore() {
592
- this.expanded = true;
593
- this.cdr.markForCheck();
594
- }
595
- onShowLess() {
596
- this.expanded = false;
597
- this.cdr.markForCheck();
598
- }
599
- }
600
- FwNotificationContainerComponent.decorators = [
601
- { type: Component, args: [{
602
- host: {
603
- 'class': 'fw-notification-container',
604
- '[class.duo]': 'notifications.length === 2',
605
- '[class.triple]': 'notifications.length >= 3',
606
- },
607
- selector: 'fw-notification-container',
608
- template: "<div role=\"list\">\n <fw-notification *ngFor=\"let notification of notifications; index as $index\"\n (ready)=\"onReady($event)\"\n (dismiss)=\"onDismiss($event)\"\n [class]=\"notificationClass($index)\"\n [notification]=\"expanded || $index === notifications.length - 1 ? notification : getEmptyNotification(notification)\"\n [attr.aria-label]=\"notification.type + ' : ' + notification.message\"\n role=\"listitem\"\n ></fw-notification>\n <div class=\"buttons\">\n <fw-button *ngIf=\"expanded\" (click)=\"onShowLess()\" mat-button aria-label=\"show less\" layout=\"compact\" size=\"small\">\n <mat-icon>expand_less</mat-icon>\n </fw-button>\n <fw-button *ngIf=\"!expanded && notifications.length > 1\" (click)=\"onShowMore()\" mat-button aria-label=\"show more\" layout=\"compact\" size=\"small\">\n <mat-icon>expand_more</mat-icon>\n </fw-button>\n <fw-button (click)=\"clearAll()\" mat-button class=\"clear-all\" aria-label=\"clear all\" layout=\"compact\" size=\"small\">\n Clear All\n </fw-button>\n </div>\n</div>\n",
609
- encapsulation: ViewEncapsulation.None,
610
- changeDetection: ChangeDetectionStrategy.OnPush,
611
- styles: ["fw-notification-container{position:absolute;right:0;top:0;margin-top:20px;z-index:999999}fw-notification-container>div{display:flex;flex-direction:column-reverse}fw-notification-container .buttons{display:none;position:absolute;top:-5px;right:25px}fw-notification-container .buttons button{color:#fff;background-color:#919292;margin-left:2px}fw-notification-container .buttons button.mat-button{line-height:24px!important;margin:0 0 0 2px!important}fw-notification-container:hover .buttons{display:flex}fw-notification-container .hidden{display:none}fw-notification-container fw-notification:last-of-type{margin-top:24px}fw-notification-container.duo fw-notification.level-0,fw-notification-container.triple fw-notification.level-1{transform:scale(.95) translateY(-51px)}fw-notification-container.triple fw-notification.level-0{transform:scale(.9) translateY(-108px)}"]
612
- },] }
613
- ];
614
- FwNotificationContainerComponent.ctorParameters = () => [
615
- { type: ChangeDetectorRef },
616
- { type: FwNotificationService }
617
- ];
698
+ FwNotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwNotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
699
+ FwNotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwNotificationService, providedIn: 'root' });
700
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwNotificationService, decorators: [{
701
+ type: Injectable,
702
+ args: [{
703
+ providedIn: 'root'
704
+ }]
705
+ }] });
618
706
 
619
707
  class FwNotificationTimerService {
620
708
  constructor() {
@@ -699,58 +787,164 @@ class FwNotificationComponent {
699
787
  this.cdr.markForCheck();
700
788
  }
701
789
  }
702
- FwNotificationComponent.decorators = [
703
- { type: Component, args: [{
704
- host: {
705
- '(click)': 'onClickDismiss()'
706
- },
707
- selector: 'fw-notification',
708
- template: `{{ notification?.message }}`,
709
- providers: [FwNotificationTimerService],
710
- encapsulation: ViewEncapsulation.None,
711
- changeDetection: ChangeDetectionStrategy.OnPush,
712
- styles: ["fw-notification{display:block;border-radius:4px;box-sizing:border-box;margin:5px 24px;max-width:33vw;min-width:344px;padding:14px 16px;transform-origin:center;background-color:#2f96b4;border:1px solid hsla(0,0%,100%,.7019607843);box-shadow:0 0 12px #999;color:#fff;opacity:.99;white-space:pre-wrap}fw-notification.error{background-color:#bd362f}fw-notification.info{background-color:#2f96b4}fw-notification.success{background-color:#51a351}fw-notification.wait{background-color:#2f96b4}fw-notification.warning{background-color:#f89406}"]
713
- },] }
714
- ];
715
- FwNotificationComponent.ctorParameters = () => [
716
- { type: ChangeDetectorRef },
717
- { type: FwNotificationTimerService }
718
- ];
719
- FwNotificationComponent.propDecorators = {
720
- notification: [{ type: Input }],
721
- notificationDuration: [{ type: Input }],
722
- ready: [{ type: Output }],
723
- dismiss: [{ type: Output }],
724
- cssClass: [{ type: HostBinding, args: ['class',] }]
725
- };
790
+ FwNotificationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwNotificationComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: FwNotificationTimerService }], target: i0.ɵɵFactoryTarget.Component });
791
+ FwNotificationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FwNotificationComponent, selector: "fw-notification", inputs: { notification: "notification", notificationDuration: "notificationDuration" }, outputs: { ready: "ready", dismiss: "dismiss" }, host: { listeners: { "click": "onClickDismiss()" }, properties: { "class": "this.cssClass" } }, providers: [FwNotificationTimerService], ngImport: i0, template: `{{ notification?.message }}`, isInline: true, styles: ["fw-notification{display:block;border-radius:4px;box-sizing:border-box;margin:5px 24px;max-width:33vw;min-width:344px;padding:14px 16px;transform-origin:center;background-color:#2f96b4;border:1px solid rgba(255,255,255,.7019607843);box-shadow:0 0 12px #999;color:#fff;opacity:.99;white-space:pre-wrap}fw-notification.error{background-color:#bd362f}fw-notification.info{background-color:#2f96b4}fw-notification.success{background-color:#51a351}fw-notification.wait{background-color:#2f96b4}fw-notification.warning{background-color:#f89406}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
792
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwNotificationComponent, decorators: [{
793
+ type: Component,
794
+ args: [{
795
+ host: {
796
+ '(click)': 'onClickDismiss()'
797
+ },
798
+ selector: 'fw-notification',
799
+ styleUrls: ['./notification.component.scss'],
800
+ template: `{{ notification?.message }}`,
801
+ providers: [FwNotificationTimerService],
802
+ encapsulation: ViewEncapsulation.None,
803
+ changeDetection: ChangeDetectionStrategy.OnPush,
804
+ }]
805
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: FwNotificationTimerService }]; }, propDecorators: { notification: [{
806
+ type: Input
807
+ }], notificationDuration: [{
808
+ type: Input
809
+ }], ready: [{
810
+ type: Output
811
+ }], dismiss: [{
812
+ type: Output
813
+ }], cssClass: [{
814
+ type: HostBinding,
815
+ args: ['class']
816
+ }] } });
817
+
818
+ class FwNotificationContainerComponent {
819
+ constructor(cdr, notificationService) {
820
+ this.cdr = cdr;
821
+ this.notificationService = notificationService;
822
+ this.limit = 3;
823
+ this.notifications = [];
824
+ this.expanded = false;
825
+ this.subscriptions = {
826
+ notifications: Subscription.EMPTY,
827
+ };
828
+ this.subscriptions.notifications = this.notificationService.notifications$.subscribe((notifications) => {
829
+ this.notifications = notifications;
830
+ if (notifications.length === 0) {
831
+ this.expanded = false;
832
+ }
833
+ this.cdr.markForCheck();
834
+ });
835
+ }
836
+ ngOnDestroy() {
837
+ for (const subscription of Object.values(this.subscriptions)) {
838
+ subscription.unsubscribe();
839
+ }
840
+ }
841
+ notificationClass(index) {
842
+ let cssClass;
843
+ const level = this.notifications.length > this.limit
844
+ ? index - (this.notifications.length - this.limit)
845
+ : index;
846
+ if (this.expanded) {
847
+ cssClass = 'default';
848
+ }
849
+ else {
850
+ cssClass = level >= 0 ? `level-${level}` : 'hidden';
851
+ }
852
+ return cssClass;
853
+ }
854
+ getEmptyNotification(notification) {
855
+ return Object.assign(Object.assign({}, notification), { message: ' ' }); // take up a line but show no content
856
+ }
857
+ onReady(notification) {
858
+ const currentNotification = this.notifications[this.notifications.length - 1];
859
+ currentNotification.ref = notification;
860
+ notification.startTimer();
861
+ }
862
+ onDismiss(notificationId) {
863
+ const notification = this.notifications.find(currentNotification => currentNotification.id === notificationId);
864
+ if (notification === null || notification === void 0 ? void 0 : notification.ref) {
865
+ notification.ref.stopTimer();
866
+ }
867
+ if (notification === null || notification === void 0 ? void 0 : notification.id) {
868
+ this.notificationService.dismiss(notification.id);
869
+ }
870
+ this.cdr.markForCheck();
871
+ }
872
+ clearAll() {
873
+ this.notificationService.dismissAll();
874
+ this.cdr.markForCheck();
875
+ }
876
+ onShowMore() {
877
+ this.expanded = true;
878
+ this.cdr.markForCheck();
879
+ }
880
+ onShowLess() {
881
+ this.expanded = false;
882
+ this.cdr.markForCheck();
883
+ }
884
+ }
885
+ FwNotificationContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwNotificationContainerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: FwNotificationService }], target: i0.ɵɵFactoryTarget.Component });
886
+ FwNotificationContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FwNotificationContainerComponent, selector: "fw-notification-container", host: { properties: { "class.duo": "notifications.length === 2", "class.triple": "notifications.length >= 3" }, classAttribute: "fw-notification-container" }, ngImport: i0, template: "<div role=\"list\">\n <fw-notification *ngFor=\"let notification of notifications; index as $index\"\n (ready)=\"onReady($event)\"\n (dismiss)=\"onDismiss($event)\"\n [class]=\"notificationClass($index)\"\n [notification]=\"expanded || $index === notifications.length - 1 ? notification : getEmptyNotification(notification)\"\n [attr.aria-label]=\"notification.type + ' : ' + notification.message\"\n role=\"listitem\"\n ></fw-notification>\n <div class=\"buttons\">\n <fw-button *ngIf=\"expanded\" (click)=\"onShowLess()\" mat-button aria-label=\"show less\" layout=\"compact\" size=\"small\">\n <mat-icon>expand_less</mat-icon>\n </fw-button>\n <fw-button *ngIf=\"!expanded && notifications.length > 1\" (click)=\"onShowMore()\" mat-button aria-label=\"show more\" layout=\"compact\" size=\"small\">\n <mat-icon>expand_more</mat-icon>\n </fw-button>\n <fw-button (click)=\"clearAll()\" mat-button class=\"clear-all\" aria-label=\"clear all\" layout=\"compact\" size=\"small\">\n Clear All\n </fw-button>\n </div>\n</div>\n", styles: ["fw-notification-container{position:absolute;right:0;top:0;margin-top:20px;z-index:999999}fw-notification-container>div{display:flex;flex-direction:column-reverse}fw-notification-container .buttons{display:none;position:absolute;top:-5px;right:25px}fw-notification-container .buttons button{color:#fff;background-color:#919292;margin-left:2px}fw-notification-container .buttons button.mat-button{line-height:24px!important;margin:0 0 0 2px!important}fw-notification-container:hover .buttons{display:flex}fw-notification-container .hidden{display:none}fw-notification-container fw-notification:last-of-type{margin-top:24px}fw-notification-container.duo fw-notification.level-0{transform:scale(.95) translateY(-51px)}fw-notification-container.triple fw-notification.level-1{transform:scale(.95) translateY(-51px)}fw-notification-container.triple fw-notification.level-0{transform:scale(.9) translateY(-108px)}\n"], components: [{ type: FwNotificationComponent, selector: "fw-notification", inputs: ["notification", "notificationDuration"], outputs: ["ready", "dismiss"] }, { type: FwButtonComponent, selector: "fw-button", inputs: ["color", "layout", "size", "type"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
887
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwNotificationContainerComponent, decorators: [{
888
+ type: Component,
889
+ args: [{
890
+ host: {
891
+ 'class': 'fw-notification-container',
892
+ '[class.duo]': 'notifications.length === 2',
893
+ '[class.triple]': 'notifications.length >= 3',
894
+ },
895
+ selector: 'fw-notification-container',
896
+ templateUrl: './notification-container.component.html',
897
+ styleUrls: ['./notification-container.component.scss'],
898
+ encapsulation: ViewEncapsulation.None,
899
+ changeDetection: ChangeDetectionStrategy.OnPush,
900
+ }]
901
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: FwNotificationService }]; } });
726
902
 
727
903
  class FwNotificationModule {
728
904
  }
729
- FwNotificationModule.decorators = [
730
- { type: NgModule, args: [{
731
- imports: [
732
- CommonModule,
733
- FwButtonModule,
734
- FwButtonGroupModule,
735
- MatButtonModule,
736
- MatIconModule,
737
- ],
738
- exports: [
739
- FwNotificationComponent,
740
- FwNotificationContainerComponent
741
- ],
742
- declarations: [
743
- FwNotificationComponent,
744
- FwNotificationContainerComponent,
745
- ],
746
- entryComponents: [
747
- FwNotificationComponent,
748
- ],
749
- providers: [
750
- FwNotificationService,
751
- ]
752
- },] }
753
- ];
905
+ FwNotificationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
906
+ FwNotificationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwNotificationModule, declarations: [FwNotificationComponent,
907
+ FwNotificationContainerComponent], imports: [CommonModule,
908
+ FwButtonModule,
909
+ FwButtonGroupModule,
910
+ MatButtonModule,
911
+ MatIconModule], exports: [FwNotificationComponent,
912
+ FwNotificationContainerComponent] });
913
+ FwNotificationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwNotificationModule, providers: [
914
+ FwNotificationService,
915
+ ], imports: [[
916
+ CommonModule,
917
+ FwButtonModule,
918
+ FwButtonGroupModule,
919
+ MatButtonModule,
920
+ MatIconModule,
921
+ ]] });
922
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwNotificationModule, decorators: [{
923
+ type: NgModule,
924
+ args: [{
925
+ imports: [
926
+ CommonModule,
927
+ FwButtonModule,
928
+ FwButtonGroupModule,
929
+ MatButtonModule,
930
+ MatIconModule,
931
+ ],
932
+ exports: [
933
+ FwNotificationComponent,
934
+ FwNotificationContainerComponent
935
+ ],
936
+ declarations: [
937
+ FwNotificationComponent,
938
+ FwNotificationContainerComponent,
939
+ ],
940
+ entryComponents: [
941
+ FwNotificationComponent,
942
+ ],
943
+ providers: [
944
+ FwNotificationService,
945
+ ]
946
+ }]
947
+ }] });
754
948
 
755
949
  class FwPopoverTriggerDirective {
756
950
  constructor(element, overlay, viewContainerRef) {
@@ -861,26 +1055,26 @@ class FwPopoverTriggerDirective {
861
1055
  ];
862
1056
  }
863
1057
  }
864
- FwPopoverTriggerDirective.decorators = [
865
- { type: Directive, args: [{
866
- host: {
867
- 'class': 'fw-popover-trigger',
868
- '(mouseenter)': 'showPopover()',
869
- '(mouseleave)': 'hidePopover($event)',
870
- },
871
- selector: '[fwPopoverTriggerFor]',
872
- exportAs: 'fwPopoverTrigger',
873
- },] }
874
- ];
875
- FwPopoverTriggerDirective.ctorParameters = () => [
876
- { type: ElementRef },
877
- { type: Overlay },
878
- { type: ViewContainerRef }
879
- ];
880
- FwPopoverTriggerDirective.propDecorators = {
881
- popover: [{ type: Input, args: ['fwPopoverTriggerFor',] }],
882
- position: [{ type: Input, args: ['fwPopoverPosition',] }]
883
- };
1058
+ FwPopoverTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwPopoverTriggerDirective, deps: [{ token: i0.ElementRef }, { token: i1$2.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
1059
+ FwPopoverTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FwPopoverTriggerDirective, selector: "[fwPopoverTriggerFor]", inputs: { popover: ["fwPopoverTriggerFor", "popover"], position: ["fwPopoverPosition", "position"] }, host: { listeners: { "mouseenter": "showPopover()", "mouseleave": "hidePopover($event)" }, classAttribute: "fw-popover-trigger" }, exportAs: ["fwPopoverTrigger"], usesOnChanges: true, ngImport: i0 });
1060
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwPopoverTriggerDirective, decorators: [{
1061
+ type: Directive,
1062
+ args: [{
1063
+ host: {
1064
+ 'class': 'fw-popover-trigger',
1065
+ '(mouseenter)': 'showPopover()',
1066
+ '(mouseleave)': 'hidePopover($event)',
1067
+ },
1068
+ selector: '[fwPopoverTriggerFor]',
1069
+ exportAs: 'fwPopoverTrigger',
1070
+ }]
1071
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$2.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { popover: [{
1072
+ type: Input,
1073
+ args: ['fwPopoverTriggerFor']
1074
+ }], position: [{
1075
+ type: Input,
1076
+ args: ['fwPopoverPosition']
1077
+ }] } });
884
1078
 
885
1079
  class FwPopoverTriggerComponent extends FwPopoverTriggerDirective {
886
1080
  constructor(element, overlay, viewContainerRef) {
@@ -900,39 +1094,56 @@ class FwPopoverTriggerComponent extends FwPopoverTriggerDirective {
900
1094
  }
901
1095
  }
902
1096
  }
903
- FwPopoverTriggerComponent.decorators = [
904
- { type: Component, args: [{
905
- host: {
906
- 'class': 'fw-popover-trigger',
907
- '(mouseenter)': 'showPopover()',
908
- '(mouseleave)': 'hidePopover($event)',
909
- },
910
- selector: 'fw-popover-trigger',
911
- template: `<ng-content></ng-content>
1097
+ FwPopoverTriggerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwPopoverTriggerComponent, deps: [{ token: i0.ElementRef }, { token: i1$2.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
1098
+ FwPopoverTriggerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FwPopoverTriggerComponent, selector: "fw-popover-trigger", inputs: { popoverId: ["trigger-for", "popoverId"], position: "position" }, host: { listeners: { "mouseenter": "showPopover()", "mouseleave": "hidePopover($event)" }, classAttribute: "fw-popover-trigger" }, viewQueries: [{ propertyName: "popoverTemplateRef", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>
912
1099
  <!-- for web component support -->
913
1100
  <ng-template>
914
1101
  <div [innerHTML]="popoverHTML"></div>
915
- </ng-template>`
916
- },] }
917
- ];
918
- FwPopoverTriggerComponent.ctorParameters = () => [
919
- { type: ElementRef },
920
- { type: Overlay },
921
- { type: ViewContainerRef }
922
- ];
923
- FwPopoverTriggerComponent.propDecorators = {
924
- popoverId: [{ type: Input, args: ['trigger-for',] }],
925
- position: [{ type: Input, args: ['position',] }],
926
- popoverTemplateRef: [{ type: ViewChild, args: [TemplateRef,] }]
927
- };
1102
+ </ng-template>`, isInline: true });
1103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwPopoverTriggerComponent, decorators: [{
1104
+ type: Component,
1105
+ args: [{
1106
+ host: {
1107
+ 'class': 'fw-popover-trigger',
1108
+ '(mouseenter)': 'showPopover()',
1109
+ '(mouseleave)': 'hidePopover($event)',
1110
+ },
1111
+ selector: 'fw-popover-trigger',
1112
+ template: `<ng-content></ng-content>
1113
+ <!-- for web component support -->
1114
+ <ng-template>
1115
+ <div [innerHTML]="popoverHTML"></div>
1116
+ </ng-template>`,
1117
+ }]
1118
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$2.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { popoverId: [{
1119
+ type: Input,
1120
+ args: ['trigger-for']
1121
+ }], position: [{
1122
+ type: Input,
1123
+ args: ['position']
1124
+ }], popoverTemplateRef: [{
1125
+ type: ViewChild,
1126
+ args: [TemplateRef]
1127
+ }] } });
928
1128
 
929
1129
  class FwPopoverComponent {
930
1130
  }
931
- FwPopoverComponent.decorators = [
932
- { type: Component, args: [{
933
- host: { 'class': 'fw-popover' },
934
- selector: 'fw-popover',
935
- template: `
1131
+ FwPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1132
+ FwPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FwPopoverComponent, selector: "fw-popover", host: { classAttribute: "fw-popover" }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: `
1133
+ <ng-container *ngTemplateOutlet="content"></ng-container>
1134
+ <ng-template #content>
1135
+ <div class="fw-popover-content-wrapper">
1136
+ <ng-content></ng-content>
1137
+ <div class="fw-popover-caret"></div>
1138
+ </div>
1139
+ </ng-template>`, isInline: true, styles: [".white{color:#fff!important}.fill-white{background-color:#fff!important}.border-white{border-color:#fff!important}.border-top-white{border-top:1px solid;border-color:#fff!important}.border-right-white{border-right:1px solid;border-color:#fff!important}.border-bottom-white{border-bottom:1px solid;border-color:#fff!important}.border-left-white{border-left:1px solid;border-color:#fff!important}.black{color:#000!important}.fill-black{background-color:#000!important}.border-black{border-color:#000!important}.border-top-black{border-top:1px solid;border-color:#000!important}.border-right-black{border-right:1px solid;border-color:#000!important}.border-bottom-black{border-bottom:1px solid;border-color:#000!important}.border-left-black{border-left:1px solid;border-color:#000!important}.green{color:#59b96b!important}.fill-green{background-color:#59b96b!important}.border-green{border-color:#59b96b!important}.border-top-green{border-top:1px solid;border-color:#59b96b!important}.border-right-green{border-right:1px solid;border-color:#59b96b!important}.border-bottom-green{border-bottom:1px solid;border-color:#59b96b!important}.border-left-green{border-left:1px solid;border-color:#59b96b!important}.orange{color:#f7941d!important}.fill-orange{background-color:#f7941d!important}.border-orange{border-color:#f7941d!important}.border-top-orange{border-top:1px solid;border-color:#f7941d!important}.border-right-orange{border-right:1px solid;border-color:#f7941d!important}.border-bottom-orange{border-bottom:1px solid;border-color:#f7941d!important}.border-left-orange{border-left:1px solid;border-color:#f7941d!important}.red{color:#de584c!important}.fill-red{background-color:#de584c!important}.border-red{border-color:#de584c!important}.border-top-red{border-top:1px solid;border-color:#de584c!important}.border-right-red{border-right:1px solid;border-color:#de584c!important}.border-bottom-red{border-bottom:1px solid;border-color:#de584c!important}.border-left-red{border-left:1px solid;border-color:#de584c!important}.light-red{color:#f8e5e4!important}.fill-light-red{background-color:#f8e5e4!important}.border-light-red{border-color:#f8e5e4!important}.border-top-light-red{border-top:1px solid;border-color:#f8e5e4!important}.border-right-light-red{border-right:1px solid;border-color:#f8e5e4!important}.border-bottom-light-red{border-bottom:1px solid;border-color:#f8e5e4!important}.border-left-light-red{border-left:1px solid;border-color:#f8e5e4!important}.blue{color:#5871a2!important}.fill-blue{background-color:#5871a2!important}.border-blue{border-color:#5871a2!important}.border-top-blue{border-top:1px solid;border-color:#5871a2!important}.border-right-blue{border-right:1px solid;border-color:#5871a2!important}.border-bottom-blue{border-bottom:1px solid;border-color:#5871a2!important}.border-left-blue{border-left:1px solid;border-color:#5871a2!important}.focus-blue{color:#23527c!important}.fill-focus-blue{background-color:#23527c!important}.border-focus-blue{border-color:#23527c!important}.border-top-focus-blue{border-top:1px solid;border-color:#23527c!important}.border-right-focus-blue{border-right:1px solid;border-color:#23527c!important}.border-bottom-focus-blue{border-bottom:1px solid;border-color:#23527c!important}.border-left-focus-blue{border-left:1px solid;border-color:#23527c!important}.dark-blue{color:#394256!important}.fill-dark-blue{background-color:#394256!important}.border-dark-blue{border-color:#394256!important}.border-top-dark-blue{border-top:1px solid;border-color:#394256!important}.border-right-dark-blue{border-right:1px solid;border-color:#394256!important}.border-bottom-dark-blue{border-bottom:1px solid;border-color:#394256!important}.border-left-dark-blue{border-left:1px solid;border-color:#394256!important}.light-blue{color:#e7effe!important}.fill-light-blue{background-color:#e7effe!important}.border-light-blue{border-color:#e7effe!important}.border-top-light-blue{border-top:1px solid;border-color:#e7effe!important}.border-right-light-blue{border-right:1px solid;border-color:#e7effe!important}.border-bottom-light-blue{border-bottom:1px solid;border-color:#e7effe!important}.border-left-light-blue{border-left:1px solid;border-color:#e7effe!important}.bright-blue{color:#1b68fa!important}.fill-bright-blue{background-color:#1b68fa!important}.border-bright-blue{border-color:#1b68fa!important}.border-top-bright-blue{border-top:1px solid;border-color:#1b68fa!important}.border-right-bright-blue{border-right:1px solid;border-color:#1b68fa!important}.border-bottom-bright-blue{border-bottom:1px solid;border-color:#1b68fa!important}.border-left-bright-blue{border-left:1px solid;border-color:#1b68fa!important}.admin-black{color:#01010a!important}.fill-admin-black{background-color:#01010a!important}.border-admin-black{border-color:#01010a!important}.border-top-admin-black{border-top:1px solid;border-color:#01010a!important}.border-right-admin-black{border-right:1px solid;border-color:#01010a!important}.border-bottom-admin-black{border-bottom:1px solid;border-color:#01010a!important}.border-left-admin-black{border-left:1px solid;border-color:#01010a!important}.accent-purple{color:#b080fc!important}.fill-accent-purple{background-color:#b080fc!important}.border-accent-purple{border-color:#b080fc!important}.border-top-accent-purple{border-top:1px solid;border-color:#b080fc!important}.border-right-accent-purple{border-right:1px solid;border-color:#b080fc!important}.border-bottom-accent-purple{border-bottom:1px solid;border-color:#b080fc!important}.border-left-accent-purple{border-left:1px solid;border-color:#b080fc!important}.grey{color:#58595b!important}.fill-grey{background-color:#58595b!important}.border-grey{border-color:#58595b!important}.border-top-grey{border-top:1px solid;border-color:#58595b!important}.border-right-grey{border-right:1px solid;border-color:#58595b!important}.border-bottom-grey{border-bottom:1px solid;border-color:#58595b!important}.border-left-grey{border-left:1px solid;border-color:#58595b!important}.soft-grey{color:#dddede!important}.fill-soft-grey{background-color:#dddede!important}.border-soft-grey{border-color:#dddede!important}.border-top-soft-grey{border-top:1px solid;border-color:#dddede!important}.border-right-soft-grey{border-right:1px solid;border-color:#dddede!important}.border-bottom-soft-grey{border-bottom:1px solid;border-color:#dddede!important}.border-left-soft-grey{border-left:1px solid;border-color:#dddede!important}.light-grey{color:#eee!important}.fill-light-grey{background-color:#eee!important}.border-light-grey{border-color:#eee!important}.border-top-light-grey{border-top:1px solid;border-color:#eee!important}.border-right-light-grey{border-right:1px solid;border-color:#eee!important}.border-bottom-light-grey{border-bottom:1px solid;border-color:#eee!important}.border-left-light-grey{border-left:1px solid;border-color:#eee!important}.medium-grey{color:#ccc!important}.fill-medium-grey{background-color:#ccc!important}.border-medium-grey{border-color:#ccc!important}.border-top-medium-grey{border-top:1px solid;border-color:#ccc!important}.border-right-medium-grey{border-right:1px solid;border-color:#ccc!important}.border-bottom-medium-grey{border-bottom:1px solid;border-color:#ccc!important}.border-left-medium-grey{border-left:1px solid;border-color:#ccc!important}.medium-dark-grey{color:#999!important}.fill-medium-dark-grey{background-color:#999!important}.border-medium-dark-grey{border-color:#999!important}.border-top-medium-dark-grey{border-top:1px solid;border-color:#999!important}.border-right-medium-dark-grey{border-right:1px solid;border-color:#999!important}.border-bottom-medium-dark-grey{border-bottom:1px solid;border-color:#999!important}.border-left-medium-dark-grey{border-left:1px solid;border-color:#999!important}.dark-grey{color:#222!important}.fill-dark-grey{background-color:#222!important}.border-dark-grey{border-color:#222!important}.border-top-dark-grey{border-top:1px solid;border-color:#222!important}.border-right-dark-grey{border-right:1px solid;border-color:#222!important}.border-bottom-dark-grey{border-bottom:1px solid;border-color:#222!important}.border-left-dark-grey{border-left:1px solid;border-color:#222!important}.soft-blue{color:#eff1f5!important}.fill-soft-blue{background-color:#eff1f5!important}.border-soft-blue{border-color:#eff1f5!important}.border-top-soft-blue{border-top:1px solid;border-color:#eff1f5!important}.border-right-soft-blue{border-right:1px solid;border-color:#eff1f5!important}.border-bottom-soft-blue{border-bottom:1px solid;border-color:#eff1f5!important}.border-left-soft-blue{border-left:1px solid;border-color:#eff1f5!important}.dark-soft-blue{color:#e9ecf1!important}.fill-dark-soft-blue{background-color:#e9ecf1!important}.border-dark-soft-blue{border-color:#e9ecf1!important}.border-top-dark-soft-blue{border-top:1px solid;border-color:#e9ecf1!important}.border-right-dark-soft-blue{border-right:1px solid;border-color:#e9ecf1!important}.border-bottom-dark-soft-blue{border-bottom:1px solid;border-color:#e9ecf1!important}.border-left-dark-soft-blue{border-left:1px solid;border-color:#e9ecf1!important}.darker-soft-blue{color:#e6e9ef!important}.fill-darker-soft-blue{background-color:#e6e9ef!important}.border-darker-soft-blue{border-color:#e6e9ef!important}.border-top-darker-soft-blue{border-top:1px solid;border-color:#e6e9ef!important}.border-right-darker-soft-blue{border-right:1px solid;border-color:#e6e9ef!important}.border-bottom-darker-soft-blue{border-bottom:1px solid;border-color:#e6e9ef!important}.border-left-darker-soft-blue{border-left:1px solid;border-color:#e6e9ef!important}.light-soft-blue{color:#f5f6f9!important}.fill-light-soft-blue{background-color:#f5f6f9!important}.border-light-soft-blue{border-color:#f5f6f9!important}.border-top-light-soft-blue{border-top:1px solid;border-color:#f5f6f9!important}.border-right-light-soft-blue{border-right:1px solid;border-color:#f5f6f9!important}.border-bottom-light-soft-blue{border-bottom:1px solid;border-color:#f5f6f9!important}.border-left-light-soft-blue{border-left:1px solid;border-color:#f5f6f9!important}.lighter-soft-blue{color:#f8f9fb!important}.fill-lighter-soft-blue{background-color:#f8f9fb!important}.border-lighter-soft-blue{border-color:#f8f9fb!important}.border-top-lighter-soft-blue{border-top:1px solid;border-color:#f8f9fb!important}.border-right-lighter-soft-blue{border-right:1px solid;border-color:#f8f9fb!important}.border-bottom-lighter-soft-blue{border-bottom:1px solid;border-color:#f8f9fb!important}.border-left-lighter-soft-blue{border-left:1px solid;border-color:#f8f9fb!important}:root{--color-gray: var(--color-gray-100);--color-gray-50: #f6f7f8;--color-gray-100: #eff1f4;--color-gray-200: #e3e5e8;--color-gray-300: #d7d9dc;--color-gray-400: #cbcdcf;--color-gray-500: #bfc1c3;--color-primary: var(--color-primary-500);--color-primary-50: #e4edfe;--color-primary-100: #bbd2fe;--color-primary-200: #8db4fd;--color-primary-300: #5f95fc;--color-primary-400: #3d7ffb;--color-primary-500: #1b68fa;--color-primary-600: #1860f9;--color-primary-700: #1455f9;--color-primary-800: #104bf8;--color-primary-900: #083af6;--color-primary-A100: #ffffff;--color-primary-A200: #ebefff;--color-primary-A400: #b8c4ff;--color-primary-A700: #9fafff;--color-secondary: var(--color-secondary-500);--color-secondary-50: #ebf7ed;--color-secondary-100: #cdead3;--color-secondary-200: #acdcb5;--color-secondary-300: #8bce97;--color-secondary-400: #72c481;--color-secondary-500: #59b96b;--color-secondary-600: #51b263;--color-secondary-700: #48aa58;--color-secondary-800: #3ea24e;--color-secondary-900: #2e933c;--color-secondary-A100: #d9ffde;--color-secondary-A200: #a6ffb1;--color-secondary-A400: #73ff84;--color-secondary-A700: #59ff6e}fw-popover{display:none}.fw-popover-panel .fw-popover-content-wrapper{position:relative;background:#ffffff;border-radius:4px;box-shadow:0 1px 4px #00000026!important;border:1px solid #d6dbe5;padding:16px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret{position:absolute;overflow:hidden;width:25px;height:25px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret:after{display:block;content:\"\";width:16px;height:16px;background:#ffffff;box-shadow:0 1px 4px #00000026!important;border:1px solid #d6dbe5;transform:rotate(45deg);position:relative}.fw-popover-panel.fw-popover-above{margin-bottom:-20px;padding-bottom:20px}.fw-popover-panel.fw-popover-above .fw-popover-caret{left:0px;bottom:-16px;height:16px}.fw-popover-panel.fw-popover-above .fw-popover-caret:after{margin:-8px auto}.fw-popover-panel.fw-popover-below{margin-top:-20px;padding-top:20px}.fw-popover-panel.fw-popover-below .fw-popover-caret{left:0px;top:-16px;height:16px}.fw-popover-panel.fw-popover-below .fw-popover-caret:after{top:16px;margin:-8px auto}.fw-popover-panel.fw-popover-left{margin-right:-20px;padding-right:20px}.fw-popover-panel.fw-popover-left .fw-popover-caret{right:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-left .fw-popover-caret:after{top:calc(50% - 8px);left:-8px}.fw-popover-panel.fw-popover-right{margin-left:-20px;padding-left:20px}.fw-popover-panel.fw-popover-right .fw-popover-caret{left:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-right .fw-popover-caret:after{top:calc(50% - 8px);right:-8px}\n"], directives: [{ type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], encapsulation: i0.ViewEncapsulation.None });
1140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwPopoverComponent, decorators: [{
1141
+ type: Component,
1142
+ args: [{
1143
+ host: { 'class': 'fw-popover' },
1144
+ selector: 'fw-popover',
1145
+ styleUrls: ['./popover.component.scss'],
1146
+ template: `
936
1147
  <ng-container *ngTemplateOutlet="content"></ng-container>
937
1148
  <ng-template #content>
938
1149
  <div class="fw-popover-content-wrapper">
@@ -940,40 +1151,51 @@ FwPopoverComponent.decorators = [
940
1151
  <div class="fw-popover-caret"></div>
941
1152
  </div>
942
1153
  </ng-template>`,
943
- encapsulation: ViewEncapsulation.None,
944
- styles: [".white{color:#fff!important}.fill-white{background-color:#fff!important}.border-top-white,.border-white{border-color:#fff!important}.border-top-white{border-top:1px solid}.border-right-white{border-right:1px solid;border-color:#fff!important}.border-bottom-white{border-bottom:1px solid;border-color:#fff!important}.border-left-white{border-left:1px solid;border-color:#fff!important}.black{color:#000!important}.fill-black{background-color:#000!important}.border-black,.border-top-black{border-color:#000!important}.border-top-black{border-top:1px solid}.border-right-black{border-right:1px solid;border-color:#000!important}.border-bottom-black{border-bottom:1px solid;border-color:#000!important}.border-left-black{border-left:1px solid;border-color:#000!important}.green{color:#59b96b!important}.fill-green{background-color:#59b96b!important}.border-green,.border-top-green{border-color:#59b96b!important}.border-top-green{border-top:1px solid}.border-right-green{border-right:1px solid;border-color:#59b96b!important}.border-bottom-green{border-bottom:1px solid;border-color:#59b96b!important}.border-left-green{border-left:1px solid;border-color:#59b96b!important}.orange{color:#f7941d!important}.fill-orange{background-color:#f7941d!important}.border-orange,.border-top-orange{border-color:#f7941d!important}.border-top-orange{border-top:1px solid}.border-right-orange{border-right:1px solid;border-color:#f7941d!important}.border-bottom-orange{border-bottom:1px solid;border-color:#f7941d!important}.border-left-orange{border-left:1px solid;border-color:#f7941d!important}.red{color:#de584c!important}.fill-red{background-color:#de584c!important}.border-red,.border-top-red{border-color:#de584c!important}.border-top-red{border-top:1px solid}.border-right-red{border-right:1px solid;border-color:#de584c!important}.border-bottom-red{border-bottom:1px solid;border-color:#de584c!important}.border-left-red{border-left:1px solid;border-color:#de584c!important}.light-red{color:#f8e5e4!important}.fill-light-red{background-color:#f8e5e4!important}.border-light-red,.border-top-light-red{border-color:#f8e5e4!important}.border-top-light-red{border-top:1px solid}.border-right-light-red{border-right:1px solid;border-color:#f8e5e4!important}.border-bottom-light-red{border-bottom:1px solid;border-color:#f8e5e4!important}.border-left-light-red{border-left:1px solid;border-color:#f8e5e4!important}.blue{color:#5871a2!important}.fill-blue{background-color:#5871a2!important}.border-blue,.border-top-blue{border-color:#5871a2!important}.border-top-blue{border-top:1px solid}.border-right-blue{border-right:1px solid;border-color:#5871a2!important}.border-bottom-blue{border-bottom:1px solid;border-color:#5871a2!important}.border-left-blue{border-left:1px solid;border-color:#5871a2!important}.focus-blue{color:#23527c!important}.fill-focus-blue{background-color:#23527c!important}.border-focus-blue,.border-top-focus-blue{border-color:#23527c!important}.border-top-focus-blue{border-top:1px solid}.border-right-focus-blue{border-right:1px solid;border-color:#23527c!important}.border-bottom-focus-blue{border-bottom:1px solid;border-color:#23527c!important}.border-left-focus-blue{border-left:1px solid;border-color:#23527c!important}.dark-blue{color:#394256!important}.fill-dark-blue{background-color:#394256!important}.border-dark-blue,.border-top-dark-blue{border-color:#394256!important}.border-top-dark-blue{border-top:1px solid}.border-right-dark-blue{border-right:1px solid;border-color:#394256!important}.border-bottom-dark-blue{border-bottom:1px solid;border-color:#394256!important}.border-left-dark-blue{border-left:1px solid;border-color:#394256!important}.light-blue{color:#e7effe!important}.fill-light-blue{background-color:#e7effe!important}.border-light-blue,.border-top-light-blue{border-color:#e7effe!important}.border-top-light-blue{border-top:1px solid}.border-right-light-blue{border-right:1px solid;border-color:#e7effe!important}.border-bottom-light-blue{border-bottom:1px solid;border-color:#e7effe!important}.border-left-light-blue{border-left:1px solid;border-color:#e7effe!important}.bright-blue{color:#1b68fa!important}.fill-bright-blue{background-color:#1b68fa!important}.border-bright-blue,.border-top-bright-blue{border-color:#1b68fa!important}.border-top-bright-blue{border-top:1px solid}.border-right-bright-blue{border-right:1px solid;border-color:#1b68fa!important}.border-bottom-bright-blue{border-bottom:1px solid;border-color:#1b68fa!important}.border-left-bright-blue{border-left:1px solid;border-color:#1b68fa!important}.admin-black{color:#01010a!important}.fill-admin-black{background-color:#01010a!important}.border-admin-black,.border-top-admin-black{border-color:#01010a!important}.border-top-admin-black{border-top:1px solid}.border-right-admin-black{border-right:1px solid;border-color:#01010a!important}.border-bottom-admin-black{border-bottom:1px solid;border-color:#01010a!important}.border-left-admin-black{border-left:1px solid;border-color:#01010a!important}.accent-purple{color:#b080fc!important}.fill-accent-purple{background-color:#b080fc!important}.border-accent-purple,.border-top-accent-purple{border-color:#b080fc!important}.border-top-accent-purple{border-top:1px solid}.border-right-accent-purple{border-right:1px solid;border-color:#b080fc!important}.border-bottom-accent-purple{border-bottom:1px solid;border-color:#b080fc!important}.border-left-accent-purple{border-left:1px solid;border-color:#b080fc!important}.grey{color:#58595b!important}.fill-grey{background-color:#58595b!important}.border-grey,.border-top-grey{border-color:#58595b!important}.border-top-grey{border-top:1px solid}.border-right-grey{border-right:1px solid;border-color:#58595b!important}.border-bottom-grey{border-bottom:1px solid;border-color:#58595b!important}.border-left-grey{border-left:1px solid;border-color:#58595b!important}.soft-grey{color:#dddede!important}.fill-soft-grey{background-color:#dddede!important}.border-soft-grey,.border-top-soft-grey{border-color:#dddede!important}.border-top-soft-grey{border-top:1px solid}.border-right-soft-grey{border-right:1px solid;border-color:#dddede!important}.border-bottom-soft-grey{border-bottom:1px solid;border-color:#dddede!important}.border-left-soft-grey{border-left:1px solid;border-color:#dddede!important}.light-grey{color:#eee!important}.fill-light-grey{background-color:#eee!important}.border-light-grey,.border-top-light-grey{border-color:#eee!important}.border-top-light-grey{border-top:1px solid}.border-right-light-grey{border-right:1px solid;border-color:#eee!important}.border-bottom-light-grey{border-bottom:1px solid;border-color:#eee!important}.border-left-light-grey{border-left:1px solid;border-color:#eee!important}.medium-grey{color:#ccc!important}.fill-medium-grey{background-color:#ccc!important}.border-medium-grey,.border-top-medium-grey{border-color:#ccc!important}.border-top-medium-grey{border-top:1px solid}.border-right-medium-grey{border-right:1px solid;border-color:#ccc!important}.border-bottom-medium-grey{border-bottom:1px solid;border-color:#ccc!important}.border-left-medium-grey{border-left:1px solid;border-color:#ccc!important}.medium-dark-grey{color:#999!important}.fill-medium-dark-grey{background-color:#999!important}.border-medium-dark-grey{border-color:#999!important}.border-top-medium-dark-grey{border-top:1px solid;border-color:#999!important}.border-right-medium-dark-grey{border-right:1px solid;border-color:#999!important}.border-bottom-medium-dark-grey{border-bottom:1px solid;border-color:#999!important}.border-left-medium-dark-grey{border-left:1px solid;border-color:#999!important}.dark-grey{color:#222!important}.fill-dark-grey{background-color:#222!important}.border-dark-grey,.border-top-dark-grey{border-color:#222!important}.border-top-dark-grey{border-top:1px solid}.border-right-dark-grey{border-right:1px solid;border-color:#222!important}.border-bottom-dark-grey{border-bottom:1px solid;border-color:#222!important}.border-left-dark-grey{border-left:1px solid;border-color:#222!important}.soft-blue{color:#eff1f5!important}.fill-soft-blue{background-color:#eff1f5!important}.border-soft-blue,.border-top-soft-blue{border-color:#eff1f5!important}.border-top-soft-blue{border-top:1px solid}.border-right-soft-blue{border-right:1px solid;border-color:#eff1f5!important}.border-bottom-soft-blue{border-bottom:1px solid;border-color:#eff1f5!important}.border-left-soft-blue{border-left:1px solid;border-color:#eff1f5!important}.dark-soft-blue{color:#e9ecf1!important}.fill-dark-soft-blue{background-color:#e9ecf1!important}.border-dark-soft-blue,.border-top-dark-soft-blue{border-color:#e9ecf1!important}.border-top-dark-soft-blue{border-top:1px solid}.border-right-dark-soft-blue{border-right:1px solid;border-color:#e9ecf1!important}.border-bottom-dark-soft-blue{border-bottom:1px solid;border-color:#e9ecf1!important}.border-left-dark-soft-blue{border-left:1px solid;border-color:#e9ecf1!important}.darker-soft-blue{color:#e6e9ef!important}.fill-darker-soft-blue{background-color:#e6e9ef!important}.border-darker-soft-blue,.border-top-darker-soft-blue{border-color:#e6e9ef!important}.border-top-darker-soft-blue{border-top:1px solid}.border-right-darker-soft-blue{border-right:1px solid;border-color:#e6e9ef!important}.border-bottom-darker-soft-blue{border-bottom:1px solid;border-color:#e6e9ef!important}.border-left-darker-soft-blue{border-left:1px solid;border-color:#e6e9ef!important}.light-soft-blue{color:#f5f6f9!important}.fill-light-soft-blue{background-color:#f5f6f9!important}.border-light-soft-blue,.border-top-light-soft-blue{border-color:#f5f6f9!important}.border-top-light-soft-blue{border-top:1px solid}.border-right-light-soft-blue{border-right:1px solid;border-color:#f5f6f9!important}.border-bottom-light-soft-blue{border-bottom:1px solid;border-color:#f5f6f9!important}.border-left-light-soft-blue{border-left:1px solid;border-color:#f5f6f9!important}.lighter-soft-blue{color:#f8f9fb!important}.fill-lighter-soft-blue{background-color:#f8f9fb!important}.border-lighter-soft-blue,.border-top-lighter-soft-blue{border-color:#f8f9fb!important}.border-top-lighter-soft-blue{border-top:1px solid}.border-right-lighter-soft-blue{border-right:1px solid;border-color:#f8f9fb!important}.border-bottom-lighter-soft-blue{border-bottom:1px solid;border-color:#f8f9fb!important}.border-left-lighter-soft-blue{border-left:1px solid;border-color:#f8f9fb!important}:root{--color-gray:var(--color-gray-100);--color-gray-50:#f6f7f8;--color-gray-100:#eff1f4;--color-gray-200:#e3e5e8;--color-gray-300:#d7d9dc;--color-gray-400:#cbcdcf;--color-gray-500:#bfc1c3;--color-primary:var(--color-primary-500);--color-primary-50:#e4edfe;--color-primary-100:#bbd2fe;--color-primary-200:#8db4fd;--color-primary-300:#5f95fc;--color-primary-400:#3d7ffb;--color-primary-500:#1b68fa;--color-primary-600:#1860f9;--color-primary-700:#1455f9;--color-primary-800:#104bf8;--color-primary-900:#083af6;--color-primary-A100:#fff;--color-primary-A200:#ebefff;--color-primary-A400:#b8c4ff;--color-primary-A700:#9fafff;--color-secondary:var(--color-secondary-500);--color-secondary-50:#ebf7ed;--color-secondary-100:#cdead3;--color-secondary-200:#acdcb5;--color-secondary-300:#8bce97;--color-secondary-400:#72c481;--color-secondary-500:#59b96b;--color-secondary-600:#51b263;--color-secondary-700:#48aa58;--color-secondary-800:#3ea24e;--color-secondary-900:#2e933c;--color-secondary-A100:#d9ffde;--color-secondary-A200:#a6ffb1;--color-secondary-A400:#73ff84;--color-secondary-A700:#59ff6e}fw-popover{display:none}.fw-popover-panel .fw-popover-content-wrapper{position:relative;background:#fff;border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.15)!important;border:1px solid #d6dbe5;padding:16px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret{position:absolute;overflow:hidden;width:25px;height:25px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret:after{display:block;content:\"\";width:16px;height:16px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.15)!important;border:1px solid #d6dbe5;transform:rotate(45deg);position:relative}.fw-popover-panel.fw-popover-above{margin-bottom:-20px;padding-bottom:20px}.fw-popover-panel.fw-popover-above .fw-popover-caret{left:0;bottom:-16px;height:16px}.fw-popover-panel.fw-popover-above .fw-popover-caret:after{margin:-8px auto}.fw-popover-panel.fw-popover-below{margin-top:-20px;padding-top:20px}.fw-popover-panel.fw-popover-below .fw-popover-caret{left:0;top:-16px;height:16px}.fw-popover-panel.fw-popover-below .fw-popover-caret:after{top:16px;margin:-8px auto}.fw-popover-panel.fw-popover-left{margin-right:-20px;padding-right:20px}.fw-popover-panel.fw-popover-left .fw-popover-caret{right:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-left .fw-popover-caret:after{top:calc(50% - 8px);left:-8px}.fw-popover-panel.fw-popover-right{margin-left:-20px;padding-left:20px}.fw-popover-panel.fw-popover-right .fw-popover-caret{left:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-right .fw-popover-caret:after{top:calc(50% - 8px);right:-8px}"]
945
- },] }
946
- ];
947
- FwPopoverComponent.propDecorators = {
948
- templateRef: [{ type: ViewChild, args: ['content',] }]
949
- };
1154
+ encapsulation: ViewEncapsulation.None,
1155
+ }]
1156
+ }], propDecorators: { templateRef: [{
1157
+ type: ViewChild,
1158
+ args: ['content']
1159
+ }] } });
950
1160
 
951
1161
  class FwPopoverModule {
952
1162
  }
953
- FwPopoverModule.decorators = [
954
- { type: NgModule, args: [{
955
- imports: [
956
- CommonModule,
957
- ],
958
- exports: [
959
- FwPopoverComponent,
960
- FwPopoverTriggerComponent,
961
- FwPopoverTriggerDirective,
962
- ],
963
- declarations: [
964
- FwPopoverComponent,
965
- FwPopoverTriggerComponent,
966
- FwPopoverTriggerDirective,
967
- ],
968
- entryComponents: [
969
- FwPopoverComponent,
970
- FwPopoverTriggerComponent,
971
- ],
972
- providers: [
973
- Overlay,
974
- ],
975
- },] }
976
- ];
1163
+ FwPopoverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1164
+ FwPopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwPopoverModule, declarations: [FwPopoverComponent,
1165
+ FwPopoverTriggerComponent,
1166
+ FwPopoverTriggerDirective], imports: [CommonModule], exports: [FwPopoverComponent,
1167
+ FwPopoverTriggerComponent,
1168
+ FwPopoverTriggerDirective] });
1169
+ FwPopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwPopoverModule, providers: [
1170
+ Overlay,
1171
+ ], imports: [[
1172
+ CommonModule,
1173
+ ]] });
1174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwPopoverModule, decorators: [{
1175
+ type: NgModule,
1176
+ args: [{
1177
+ imports: [
1178
+ CommonModule,
1179
+ ],
1180
+ exports: [
1181
+ FwPopoverComponent,
1182
+ FwPopoverTriggerComponent,
1183
+ FwPopoverTriggerDirective,
1184
+ ],
1185
+ declarations: [
1186
+ FwPopoverComponent,
1187
+ FwPopoverTriggerComponent,
1188
+ FwPopoverTriggerDirective,
1189
+ ],
1190
+ entryComponents: [
1191
+ FwPopoverComponent,
1192
+ FwPopoverTriggerComponent,
1193
+ ],
1194
+ providers: [
1195
+ Overlay,
1196
+ ],
1197
+ }]
1198
+ }] });
977
1199
 
978
1200
  class FwTableComponent {
979
1201
  constructor(changeDetectorRef) {
@@ -1109,60 +1331,89 @@ class FwTableComponent {
1109
1331
  : value);
1110
1332
  }
1111
1333
  }
1112
- FwTableComponent.decorators = [
1113
- { type: Component, args: [{
1114
- host: {
1115
- 'class': 'fw-table',
1116
- '[class.compact]': 'isCompact',
1117
- },
1118
- selector: 'fw-table',
1119
- template: "<table mat-table [dataSource]=\"matDataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByIndex\">\n <ng-container [matColumnDef]=\"column.key\">\n\n <ng-template #tableHeaders>\n <ng-container [ngSwitch]=\"column.filter?.control\">\n <ng-container *ngSwitchCase=\"'input'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <input matInput [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" (keydown)=\"$event.stopPropagation(); onInputFilter($event, column);\">\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\">\n <mat-option (click)=\"onSelectFilter($event, column);\">- none -</mat-option>\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" multiple=\"true\">\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onMultiSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchDefault>{{ column.label }}</ng-container>\n </ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"!isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <td mat-cell *matCellDef=\"let element\"> {{ element[column.key] }} </td>\n </ng-container>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n</table>\n<mat-paginator *ngIf=\"paginationSize > 0\" [pageSize]=\"paginationSize\"></mat-paginator>\n\n\n\n",
1120
- styles: [":host{display:block;width:100%}:host:not(.compact) table.mat-table tr.mat-header-row,:host:not(.compact) table.mat-table tr.mat-row{height:56px}:host.compact table.mat-table tr.mat-header-row,:host.compact table.mat-table tr.mat-row{height:32px}:host.compact mat-paginator.mat-paginator{align-items:center;display:flex;height:32px;justify-content:flex-end}table.mat-table{width:100%}table.mat-table td,table.mat-table th{vertical-align:middle}table.mat-table td.mat-cell,table.mat-table td.mat-header-cell,table.mat-table th.mat-cell,table.mat-table th.mat-header-cell{border-bottom-color:var(--color-gray)}"]
1121
- },] }
1122
- ];
1123
- FwTableComponent.ctorParameters = () => [
1124
- { type: ChangeDetectorRef }
1125
- ];
1126
- FwTableComponent.propDecorators = {
1127
- columns: [{ type: Input }],
1128
- dataSource: [{ type: Input }],
1129
- layout: [{ type: Input }],
1130
- pageSize: [{ type: Input }],
1131
- webCompPageSize: [{ type: Input, args: ['page-size',] }],
1132
- sort: [{ type: Input }],
1133
- matPaginator: [{ type: ViewChild, args: [MatPaginator,] }],
1134
- matSort: [{ type: ViewChild, args: [MatSort,] }]
1135
- };
1334
+ FwTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1335
+ FwTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FwTableComponent, selector: "fw-table", inputs: { columns: "columns", dataSource: "dataSource", layout: "layout", pageSize: "pageSize", webCompPageSize: ["page-size", "webCompPageSize"], sort: "sort" }, host: { properties: { "class.compact": "isCompact" }, classAttribute: "fw-table" }, viewQueries: [{ propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "matSort", first: true, predicate: MatSort, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<table mat-table [dataSource]=\"matDataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByIndex\">\n <ng-container [matColumnDef]=\"column.key\">\n\n <ng-template #tableHeaders>\n <ng-container [ngSwitch]=\"column.filter?.control\">\n <ng-container *ngSwitchCase=\"'input'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <input matInput [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" (keydown)=\"$event.stopPropagation(); onInputFilter($event, column);\">\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\">\n <mat-option (click)=\"onSelectFilter($event, column);\">- none -</mat-option>\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" multiple=\"true\">\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onMultiSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchDefault>{{ column.label }}</ng-container>\n </ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"!isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <td mat-cell *matCellDef=\"let element\"> {{ element[column.key] }} </td>\n </ng-container>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n</table>\n<mat-paginator *ngIf=\"paginationSize > 0\" [pageSize]=\"paginationSize\"></mat-paginator>\n\n\n\n", styles: [":host{display:block;width:100%}:host:not(.compact) table.mat-table tr.mat-header-row,:host:not(.compact) table.mat-table tr.mat-row{height:56px}:host.compact table.mat-table tr.mat-header-row,:host.compact table.mat-table tr.mat-row{height:32px}:host.compact mat-paginator.mat-paginator{align-items:center;display:flex;height:32px;justify-content:flex-end}table.mat-table{width:100%}table.mat-table th,table.mat-table td{vertical-align:middle}table.mat-table th.mat-header-cell,table.mat-table th.mat-cell,table.mat-table td.mat-header-cell,table.mat-table td.mat-cell{border-bottom-color:var(--color-gray)}\n"], components: [{ type: i1$3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i2$2.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i3$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i5$1.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "arrowPosition", "sortActionDescription", "disableClear", "mat-sort-header", "start"], exportAs: ["matSortHeader"] }, { type: i1$3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i1$3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i6.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ type: i5$1.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortActive"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$3.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$2.MatLabel, selector: "mat-label" }, { type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i1$3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i1$3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1$3.MatCellDef, selector: "[matCellDef]" }, { type: i1$3.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i1$3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i1$3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }] });
1336
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwTableComponent, decorators: [{
1337
+ type: Component,
1338
+ args: [{
1339
+ host: {
1340
+ 'class': 'fw-table',
1341
+ '[class.compact]': 'isCompact',
1342
+ },
1343
+ selector: 'fw-table',
1344
+ styleUrls: ['./table.component.scss'],
1345
+ templateUrl: './table.component.html',
1346
+ }]
1347
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
1348
+ type: Input
1349
+ }], dataSource: [{
1350
+ type: Input
1351
+ }], layout: [{
1352
+ type: Input
1353
+ }], pageSize: [{
1354
+ type: Input
1355
+ }], webCompPageSize: [{
1356
+ type: Input,
1357
+ args: ['page-size']
1358
+ }], sort: [{
1359
+ type: Input
1360
+ }], matPaginator: [{
1361
+ type: ViewChild,
1362
+ args: [MatPaginator]
1363
+ }], matSort: [{
1364
+ type: ViewChild,
1365
+ args: [MatSort]
1366
+ }] } });
1136
1367
 
1137
1368
  class FwTableModule {
1138
1369
  }
1139
- FwTableModule.decorators = [
1140
- { type: NgModule, args: [{
1141
- imports: [
1142
- CommonModule,
1143
- FormsModule,
1144
- ReactiveFormsModule,
1145
- MatInputModule,
1146
- MatPaginatorModule,
1147
- MatSelectModule,
1148
- MatSortModule,
1149
- MatTableModule,
1150
- ],
1151
- exports: [
1152
- FwTableComponent,
1153
- ],
1154
- declarations: [
1155
- FwTableComponent,
1156
- ],
1157
- entryComponents: [
1158
- FwTableComponent,
1159
- ]
1160
- },] }
1161
- ];
1370
+ FwTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1371
+ FwTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwTableModule, declarations: [FwTableComponent], imports: [CommonModule,
1372
+ FormsModule,
1373
+ ReactiveFormsModule,
1374
+ MatInputModule,
1375
+ MatPaginatorModule,
1376
+ MatSelectModule,
1377
+ MatSortModule,
1378
+ MatTableModule], exports: [FwTableComponent] });
1379
+ FwTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwTableModule, imports: [[
1380
+ CommonModule,
1381
+ FormsModule,
1382
+ ReactiveFormsModule,
1383
+ MatInputModule,
1384
+ MatPaginatorModule,
1385
+ MatSelectModule,
1386
+ MatSortModule,
1387
+ MatTableModule,
1388
+ ]] });
1389
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FwTableModule, decorators: [{
1390
+ type: NgModule,
1391
+ args: [{
1392
+ imports: [
1393
+ CommonModule,
1394
+ FormsModule,
1395
+ ReactiveFormsModule,
1396
+ MatInputModule,
1397
+ MatPaginatorModule,
1398
+ MatSelectModule,
1399
+ MatSortModule,
1400
+ MatTableModule,
1401
+ ],
1402
+ exports: [
1403
+ FwTableComponent,
1404
+ ],
1405
+ declarations: [
1406
+ FwTableComponent,
1407
+ ],
1408
+ entryComponents: [
1409
+ FwTableComponent,
1410
+ ]
1411
+ }]
1412
+ }] });
1162
1413
 
1163
1414
  /**
1164
1415
  * Generated bundle index. Do not edit.
1165
1416
  */
1166
1417
 
1167
- export { FwButtonComponent, FwButtonGroupComponent, FwButtonGroupModule, FwButtonModule, FwChoiceDialog, FwConfirmDialog, FwDialogModule, FwDialogService, FwErrorDialog, FwNotificationComponent, FwNotificationContainerComponent, FwNotificationModule, FwNotificationService, FwNotificationType, FwPopoverComponent, FwPopoverModule, FwPopoverTriggerComponent, FwPopoverTriggerDirective, FwPortalDialog, FwTableComponent, FwTableModule, MinimalTranslationService, TranslationService, genId, ɵ0, PipesModule as ɵa, TranslatePipe as ɵb, TrustHtmlPipe as ɵc, FwNotificationTimerService as ɵd };
1418
+ export { FwButtonComponent, FwButtonGroupComponent, FwButtonGroupModule, FwButtonModule, FwChoiceDialog, FwConfirmDialog, FwDialogModule, FwDialogService, FwErrorDialog, FwIconComponent, FwIconModule, FwNotificationComponent, FwNotificationContainerComponent, FwNotificationModule, FwNotificationService, FwNotificationType, FwPopoverComponent, FwPopoverModule, FwPopoverTriggerComponent, FwPopoverTriggerDirective, FwPortalDialog, FwTableComponent, FwTableModule, MinimalTranslationService, TranslationService, genId };
1168
1419
  //# sourceMappingURL=flywheel-io-vision.js.map