@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,8 +1,43 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/material/button'), require('@angular/material/dialog'), require('@angular/cdk/portal'), require('@angular/material/icon'), require('rxjs'), require('rxjs/operators'), require('@angular/platform-browser'), require('@angular/cdk/overlay'), require('@angular/forms'), require('@angular/material/paginator'), require('@angular/material/sort'), require('@angular/material/table'), require('@angular/material/input'), require('@angular/material/select')) :
3
- typeof define === 'function' && define.amd ? define('@flywheel-io/vision', ['exports', '@angular/core', '@angular/common', '@angular/material/button', '@angular/material/dialog', '@angular/cdk/portal', '@angular/material/icon', 'rxjs', 'rxjs/operators', '@angular/platform-browser', '@angular/cdk/overlay', '@angular/forms', '@angular/material/paginator', '@angular/material/sort', '@angular/material/table', '@angular/material/input', '@angular/material/select'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['flywheel-io'] = global['flywheel-io'] || {}, global['flywheel-io'].vision = {}), global.ng.core, global.ng.common, global.ng.material.button, global.ng.material.dialog, global.ng.cdk.portal, global.ng.material.icon, global.rxjs, global.rxjs.operators, global.ng.platformBrowser, global.ng.cdk.overlay, global.ng.forms, global.ng.material.paginator, global.ng.material.sort, global.ng.material.table, global.ng.material.input, global.ng.material.select));
5
- }(this, (function (exports, i0, common, button, dialog, portal, icon, rxjs, operators, platformBrowser, overlay, forms, paginator, sort, table, input, select) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/material/button'), require('@angular/common'), require('@angular/material/dialog'), require('@angular/platform-browser'), require('rxjs'), require('@angular/cdk/portal'), require('@angular/material/icon'), require('rxjs/operators'), require('@angular/cdk/overlay'), require('@angular/forms'), require('@angular/material/paginator'), require('@angular/material/sort'), require('@angular/material/table'), require('@angular/material/form-field'), require('@angular/material/select'), require('@angular/material/core'), require('@angular/material/input')) :
3
+ typeof define === 'function' && define.amd ? define('@flywheel-io/vision', ['exports', '@angular/core', '@angular/material/button', '@angular/common', '@angular/material/dialog', '@angular/platform-browser', 'rxjs', '@angular/cdk/portal', '@angular/material/icon', 'rxjs/operators', '@angular/cdk/overlay', '@angular/forms', '@angular/material/paginator', '@angular/material/sort', '@angular/material/table', '@angular/material/form-field', '@angular/material/select', '@angular/material/core', '@angular/material/input'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["flywheel-io"] = global["flywheel-io"] || {}, global["flywheel-io"].vision = {}), global.ng.core, global.ng.material.button, global.ng.common, global.ng.material.dialog, global.ng.platformBrowser, global.rxjs, global.ng.cdk.portal, global.ng.material.icon, global.rxjs.operators, global.ng.cdk.overlay, global.ng.forms, global.ng.material.paginator, global.ng.material.sort, global.ng.material.table, global.ng.material.formField, global.ng.material.select, global.ng.material.core, global.ng.material.input));
5
+ })(this, (function (exports, i0, i1, i2, i3, i1$1, rxjs, i5, i2$1, operators, i1$2, i9, i6, i5$1, i1$3, i2$2, i3$1, i4, i8) { 'use strict';
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n["default"] = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
27
+ var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
28
+ var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
29
+ var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
30
+ var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
31
+ var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
32
+ var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$2);
33
+ var i9__namespace = /*#__PURE__*/_interopNamespace(i9);
34
+ var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
35
+ var i5__namespace$1 = /*#__PURE__*/_interopNamespace(i5$1);
36
+ var i1__namespace$3 = /*#__PURE__*/_interopNamespace(i1$3);
37
+ var i2__namespace$2 = /*#__PURE__*/_interopNamespace(i2$2);
38
+ var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$1);
39
+ var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
40
+ var i8__namespace = /*#__PURE__*/_interopNamespace(i8);
6
41
 
7
42
  var FwButtonGroupComponent = /** @class */ (function () {
8
43
  function FwButtonGroupComponent() {
@@ -11,44 +46,51 @@
11
46
  }
12
47
  return FwButtonGroupComponent;
13
48
  }());
14
- FwButtonGroupComponent.decorators = [
15
- { type: i0.Component, args: [{
16
- host: {
17
- 'class': 'fw-button-group',
18
- '[class.small]': 'size === "small"',
19
- '[class.medium]': 'size === "medium"',
20
- '[class.large]': 'size === "large"',
21
- '[class.compact]': 'layout === "compact"',
22
- },
23
- selector: 'fw-button-group',
24
- template: "<ng-content></ng-content>",
25
- encapsulation: i0.ViewEncapsulation.None,
26
- 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}"]
27
- },] }
28
- ];
29
- FwButtonGroupComponent.propDecorators = {
30
- layout: [{ type: i0.Input }],
31
- size: [{ type: i0.Input }]
32
- };
49
+ FwButtonGroupComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwButtonGroupComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
50
+ FwButtonGroupComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, 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__namespace.ViewEncapsulation.None });
51
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwButtonGroupComponent, decorators: [{
52
+ type: i0.Component,
53
+ args: [{
54
+ host: {
55
+ 'class': 'fw-button-group',
56
+ '[class.small]': 'size === "small"',
57
+ '[class.medium]': 'size === "medium"',
58
+ '[class.large]': 'size === "large"',
59
+ '[class.compact]': 'layout === "compact"',
60
+ },
61
+ selector: 'fw-button-group',
62
+ styleUrls: ['./button-group.component.scss'],
63
+ template: "<ng-content></ng-content>",
64
+ encapsulation: i0.ViewEncapsulation.None,
65
+ }]
66
+ }], propDecorators: { layout: [{
67
+ type: i0.Input
68
+ }], size: [{
69
+ type: i0.Input
70
+ }] } });
33
71
 
34
72
  var FwButtonGroupModule = /** @class */ (function () {
35
73
  function FwButtonGroupModule() {
36
74
  }
37
75
  return FwButtonGroupModule;
38
76
  }());
39
- FwButtonGroupModule.decorators = [
40
- { type: i0.NgModule, args: [{
41
- exports: [
42
- FwButtonGroupComponent,
43
- ],
44
- declarations: [
45
- FwButtonGroupComponent,
46
- ],
47
- entryComponents: [
48
- FwButtonGroupComponent,
49
- ]
50
- },] }
51
- ];
77
+ FwButtonGroupModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwButtonGroupModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
78
+ FwButtonGroupModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwButtonGroupModule, declarations: [FwButtonGroupComponent], exports: [FwButtonGroupComponent] });
79
+ FwButtonGroupModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwButtonGroupModule });
80
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwButtonGroupModule, decorators: [{
81
+ type: i0.NgModule,
82
+ args: [{
83
+ exports: [
84
+ FwButtonGroupComponent,
85
+ ],
86
+ declarations: [
87
+ FwButtonGroupComponent,
88
+ ],
89
+ entryComponents: [
90
+ FwButtonGroupComponent,
91
+ ]
92
+ }]
93
+ }] });
52
94
 
53
95
  var FwButtonComponent = /** @class */ (function () {
54
96
  function FwButtonComponent() {
@@ -58,49 +100,62 @@
58
100
  }
59
101
  return FwButtonComponent;
60
102
  }());
61
- FwButtonComponent.decorators = [
62
- { type: i0.Component, args: [{
63
- host: {
64
- 'class': 'fw-button',
65
- '[class.small]': 'size === "small"',
66
- '[class.medium]': 'size === "medium"',
67
- '[class.large]': 'size === "large"',
68
- '[class.compact]': 'layout === "compact"',
69
- },
70
- selector: 'fw-button',
71
- 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",
72
- 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}"]
73
- },] }
74
- ];
75
- FwButtonComponent.propDecorators = {
76
- color: [{ type: i0.Input }],
77
- layout: [{ type: i0.Input }],
78
- size: [{ type: i0.Input }],
79
- type: [{ type: i0.Input }]
80
- };
103
+ FwButtonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwButtonComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
104
+ FwButtonComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, 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__namespace.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__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2__namespace.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
105
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwButtonComponent, decorators: [{
106
+ type: i0.Component,
107
+ args: [{
108
+ host: {
109
+ 'class': 'fw-button',
110
+ '[class.small]': 'size === "small"',
111
+ '[class.medium]': 'size === "medium"',
112
+ '[class.large]': 'size === "large"',
113
+ '[class.compact]': 'layout === "compact"',
114
+ },
115
+ selector: 'fw-button',
116
+ styleUrls: ['./button.component.scss'],
117
+ templateUrl: './button.component.html',
118
+ }]
119
+ }], propDecorators: { color: [{
120
+ type: i0.Input
121
+ }], layout: [{
122
+ type: i0.Input
123
+ }], size: [{
124
+ type: i0.Input
125
+ }], type: [{
126
+ type: i0.Input
127
+ }] } });
81
128
 
82
129
  var FwButtonModule = /** @class */ (function () {
83
130
  function FwButtonModule() {
84
131
  }
85
132
  return FwButtonModule;
86
133
  }());
87
- FwButtonModule.decorators = [
88
- { type: i0.NgModule, args: [{
89
- imports: [
90
- common.CommonModule,
91
- button.MatButtonModule,
92
- ],
93
- exports: [
94
- FwButtonComponent,
95
- ],
96
- declarations: [
97
- FwButtonComponent,
98
- ],
99
- entryComponents: [
100
- FwButtonComponent,
101
- ],
102
- },] }
103
- ];
134
+ FwButtonModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwButtonModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
135
+ FwButtonModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwButtonModule, declarations: [FwButtonComponent], imports: [i2.CommonModule,
136
+ i1.MatButtonModule], exports: [FwButtonComponent] });
137
+ FwButtonModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwButtonModule, imports: [[
138
+ i2.CommonModule,
139
+ i1.MatButtonModule,
140
+ ]] });
141
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwButtonModule, decorators: [{
142
+ type: i0.NgModule,
143
+ args: [{
144
+ imports: [
145
+ i2.CommonModule,
146
+ i1.MatButtonModule,
147
+ ],
148
+ exports: [
149
+ FwButtonComponent,
150
+ ],
151
+ declarations: [
152
+ FwButtonComponent,
153
+ ],
154
+ entryComponents: [
155
+ FwButtonComponent,
156
+ ],
157
+ }]
158
+ }] });
104
159
 
105
160
  var FwChoiceDialog = /** @class */ (function () {
106
161
  function FwChoiceDialog(data) {
@@ -120,136 +175,43 @@
120
175
  };
121
176
  return FwChoiceDialog;
122
177
  }());
123
- FwChoiceDialog.decorators = [
124
- { type: i0.Component, args: [{
125
- host: {
126
- class: 'mat-dialog-component',
127
- 'test-id': 'choice-dialog',
128
- },
129
- selector: 'fw-choice-dialog',
130
- template: "\n <h1 mat-dialog-title *ngIf=\"title\">{{ title }}</h1>\n <div mat-dialog-content>{{ content }}</div>\n <div mat-dialog-actions [align]=\"alignActions\">\n <ng-container *ngFor=\"let choice of choices\" [ngSwitch]=\"choice.variant\">\n <button *ngSwitchCase=\"'raised'\" mat-raised-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngSwitchCase=\"'stroked'\" mat-stroked-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngSwitchCase=\"'flat'\" mat-flat-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <ng-container *ngSwitchDefault>\n <button *ngIf=\"choice.color\" mat-flat-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngIf=\"!choice.color\" mat-stroked-button [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n </ng-container>\n </ng-container>\n </div>\n "
131
- },] }
132
- ];
133
- FwChoiceDialog.ctorParameters = function () { return [
134
- { type: undefined, decorators: [{ type: i0.Inject, args: [dialog.MAT_DIALOG_DATA,] }] }
135
- ]; };
136
-
137
- var FwConfirmDialog = /** @class */ (function () {
138
- function FwConfirmDialog(data) {
139
- this.data = data;
140
- this.title = this.data.title;
141
- this.content = this.data.content;
142
- this.html = this.data.html;
143
- }
144
- return FwConfirmDialog;
145
- }());
146
- FwConfirmDialog.decorators = [
147
- { type: i0.Component, args: [{
148
- host: {
149
- class: 'mat-dialog-component',
150
- 'test-id': 'confirm-dialog',
151
- },
152
- selector: 'fw-confirm-dialog',
153
- template: "\n <h1 mat-dialog-title *ngIf=\"title\">{{ title }}</h1>\n <div mat-dialog-content *ngIf=\"html\" class=\"markup\" [innerHTML]=\"html | trusthtml\"></div>\n <div mat-dialog-content *ngIf=\"!html\">{{ content || ('confirmDialog.body' | translate ) }}</div>\n <div mat-dialog-actions align=\"center\">\n <button test-id=\"no-button\" mat-stroked-button [mat-dialog-close]=\"false\">{{ 'confirmDialog.no' | translate }}</button>\n <button test-id=\"yes-button\" mat-flat-button color=\"primary\" [mat-dialog-close]=\"true\">{{ 'confirmDialog.yes' | translate }}</button>\n </div>\n ",
154
- styles: ["\n [mat-dialog-content] {\n text-align: center;\n }\n [mat-dialog-content].markup {\n text-align: inherit;\n }\n "]
155
- },] }
156
- ];
157
- FwConfirmDialog.ctorParameters = function () { return [
158
- { type: undefined, decorators: [{ type: i0.Inject, args: [dialog.MAT_DIALOG_DATA,] }] }
159
- ]; };
178
+ FwChoiceDialog.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwChoiceDialog, deps: [{ token: i3.MAT_DIALOG_DATA }], target: i0__namespace.ɵɵFactoryTarget.Component });
179
+ FwChoiceDialog.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n <h1 mat-dialog-title *ngIf=\"title\">{{ title }}</h1>\n <div mat-dialog-content>{{ content }}</div>\n <div mat-dialog-actions [align]=\"alignActions\">\n <ng-container *ngFor=\"let choice of choices\" [ngSwitch]=\"choice.variant\">\n <button *ngSwitchCase=\"'raised'\" mat-raised-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngSwitchCase=\"'stroked'\" mat-stroked-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngSwitchCase=\"'flat'\" mat-flat-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <ng-container *ngSwitchDefault>\n <button *ngIf=\"choice.color\" mat-flat-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngIf=\"!choice.color\" mat-stroked-button [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n </ng-container>\n </ng-container>\n </div>\n ", isInline: true, components: [{ type: i1__namespace.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__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i3__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3__namespace.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i2__namespace.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
180
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwChoiceDialog, decorators: [{
181
+ type: i0.Component,
182
+ args: [{
183
+ host: {
184
+ class: 'mat-dialog-component',
185
+ 'test-id': 'choice-dialog',
186
+ },
187
+ selector: 'fw-choice-dialog',
188
+ template: "\n <h1 mat-dialog-title *ngIf=\"title\">{{ title }}</h1>\n <div mat-dialog-content>{{ content }}</div>\n <div mat-dialog-actions [align]=\"alignActions\">\n <ng-container *ngFor=\"let choice of choices\" [ngSwitch]=\"choice.variant\">\n <button *ngSwitchCase=\"'raised'\" mat-raised-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngSwitchCase=\"'stroked'\" mat-stroked-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngSwitchCase=\"'flat'\" mat-flat-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <ng-container *ngSwitchDefault>\n <button *ngIf=\"choice.color\" mat-flat-button [color]=\"choice.color\" [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n <button *ngIf=\"!choice.color\" mat-stroked-button [attr.test-id]=\"getTestId(choice)\"\n [mat-dialog-close]=\"choice.value\">{{ choice.label }}</button>\n </ng-container>\n </ng-container>\n </div>\n ",
189
+ }]
190
+ }], ctorParameters: function () {
191
+ return [{ type: undefined, decorators: [{
192
+ type: i0.Inject,
193
+ args: [i3.MAT_DIALOG_DATA]
194
+ }] }];
195
+ } });
160
196
 
161
- var FwDialogService = /** @class */ (function () {
162
- function FwDialogService(matDialog) {
163
- this.matDialog = matDialog;
164
- this.dialogs = [];
165
- this.config = new Map();
197
+ var TrustHtmlPipe = /** @class */ (function () {
198
+ function TrustHtmlPipe(sanitizer) {
199
+ this.sanitizer = sanitizer;
166
200
  }
167
- FwDialogService.prototype.closeAll = function (component) {
168
- if (component) {
169
- this.dialogs
170
- .filter(function (el) { return el.component === component; })
171
- .forEach(function (el) { return el.ref.close(); });
172
- }
173
- else {
174
- this.matDialog.closeAll();
175
- }
176
- };
177
- FwDialogService.prototype.open = function (component, config) {
178
- var _this = this;
179
- var index = this.dialogs.findIndex(function (el) { return el.component === component; });
180
- var ref = null;
181
- var baseConfig = Object.assign({ multi: 'allow' }, this.config.get(component));
182
- switch (baseConfig.multi) {
183
- case 'ignore':
184
- // if an existing dialog of the same type doesn't exist, open one
185
- if (index === -1) {
186
- ref = this.matDialog.open(component, Object.assign(Object.assign({}, baseConfig), config));
187
- this.dialogs.push({ component: component, ref: ref });
188
- }
189
- break;
190
- case 'replace':
191
- // if an existing dialog of the same type exists, replace it.
192
- if (index > -1) {
193
- this.dialogs[index].ref.close();
194
- ref = this.matDialog.open(component, Object.assign(Object.assign({}, baseConfig), config));
195
- this.dialogs.splice(index, 1, { component: component, ref: ref });
196
- }
197
- else {
198
- ref = this.matDialog.open(component, Object.assign(Object.assign({}, baseConfig), config));
199
- this.dialogs.push({ component: component, ref: ref });
200
- }
201
- break;
202
- default:
203
- ref = this.matDialog.open(component, Object.assign(Object.assign({}, baseConfig), config));
204
- this.dialogs.push({ component: component, ref: ref });
205
- break;
206
- }
207
- if (ref) {
208
- ref.afterClosed().subscribe(function () {
209
- // clean up open dialog reference
210
- var index = _this.dialogs.findIndex(function (el) { return el.ref === ref; });
211
- if (index >= 0) {
212
- _this.dialogs.splice(index, 1);
213
- }
214
- });
215
- }
216
- return ref;
217
- };
218
- FwDialogService.prototype.registerDialog = function (component, config) {
219
- this.config.set(component, config);
201
+ TrustHtmlPipe.prototype.transform = function (html) {
202
+ return this.sanitizer.bypassSecurityTrustHtml(html);
220
203
  };
221
- return FwDialogService;
222
- }());
223
- FwDialogService.decorators = [
224
- { type: i0.Injectable }
225
- ];
226
- FwDialogService.ctorParameters = function () { return [
227
- { type: dialog.MatDialog }
228
- ]; };
229
-
230
- var FwErrorDialog = /** @class */ (function () {
231
- function FwErrorDialog(data, ref) {
232
- this.data = data;
233
- this.ref = ref;
234
- this.message = this.data.message;
235
- this.ref.disableClose = false;
236
- }
237
- return FwErrorDialog;
204
+ return TrustHtmlPipe;
238
205
  }());
239
- FwErrorDialog.decorators = [
240
- { type: i0.Component, args: [{
241
- host: {
242
- class: 'mat-dialog-component',
243
- 'test-id': 'error-dialog',
244
- },
245
- selector: 'fw-error-dialog',
246
- template: "\n <div mat-dialog-content>{{ message }}</div>\n <div mat-dialog-actions align=\"end\">\n <button test-id=\"close-button\" mat-stroked-button mat-dialog-close>\n {{ 'common.actions.close' | translate }}\n </button>\n </div>\n "
247
- },] }
248
- ];
249
- FwErrorDialog.ctorParameters = function () { return [
250
- { type: undefined, decorators: [{ type: i0.Inject, args: [dialog.MAT_DIALOG_DATA,] }] },
251
- { type: dialog.MatDialogRef }
252
- ]; };
206
+ TrustHtmlPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TrustHtmlPipe, deps: [{ token: i1__namespace$1.DomSanitizer }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
207
+ TrustHtmlPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TrustHtmlPipe, name: "trusthtml" });
208
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TrustHtmlPipe, decorators: [{
209
+ type: i0.Pipe,
210
+ args: [{
211
+ name: 'trusthtml',
212
+ pure: true,
213
+ }]
214
+ }], ctorParameters: function () { return [{ type: i1__namespace$1.DomSanitizer }]; } });
253
215
 
254
216
  /******************************************************************************
255
217
  Copyright (c) Microsoft Corporation.
@@ -578,88 +540,6 @@
578
540
  return typeof state === "function" ? receiver === state : state.has(receiver);
579
541
  }
580
542
 
581
- var FwPortalDialog = /** @class */ (function () {
582
- function FwPortalDialog(data, viewContainerRef) {
583
- this.data = data;
584
- this.viewContainerRef = viewContainerRef;
585
- this.content = this.data.content;
586
- this.title = this.data.title;
587
- this.destroyed$ = new rxjs.Subject();
588
- if (this.data.component) {
589
- this.portal = new portal.ComponentPortal(this.data.component.type, this.viewContainerRef);
590
- }
591
- else if (this.data.template) {
592
- this.portal = new portal.TemplatePortal(this.data.template, this.viewContainerRef);
593
- }
594
- else {
595
- throw new Error('One of [component, template] was not provided.');
596
- }
597
- }
598
- FwPortalDialog.prototype.ngOnDestroy = function () {
599
- this.destroyed$.next();
600
- };
601
- FwPortalDialog.prototype.attached = function (ref) {
602
- var e_1, _c, e_2, _d;
603
- var _a, _b;
604
- if (this.data.component) {
605
- ref = ref;
606
- if (this.data.component.outputs) {
607
- try {
608
- for (var _e = __values(Object.entries(this.data.component.outputs)), _f = _e.next(); !_f.done; _f = _e.next()) {
609
- var _g = __read(_f.value, 2), key = _g[0], observer = _g[1];
610
- var output$ = ref[key];
611
- if (typeof (output$ === null || output$ === void 0 ? void 0 : output$.pipe) === 'function' && typeof output$.subscribe === 'function') {
612
- output$.pipe(operators.takeUntil(this.destroyed$)).subscribe(observer);
613
- }
614
- }
615
- }
616
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
617
- finally {
618
- try {
619
- if (_f && !_f.done && (_c = _e.return)) _c.call(_e);
620
- }
621
- finally { if (e_1) throw e_1.error; }
622
- }
623
- }
624
- if (this.data.component.inputs) {
625
- var changes = {};
626
- try {
627
- for (var _h = __values(Object.entries(this.data.component.inputs)), _j = _h.next(); !_j.done; _j = _h.next()) {
628
- var _k = __read(_j.value, 2), key = _k[0], value = _k[1];
629
- ref.instance[key] = value;
630
- changes[key] = new i0.SimpleChange(value, value, true);
631
- }
632
- }
633
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
634
- finally {
635
- try {
636
- if (_j && !_j.done && (_d = _h.return)) _d.call(_h);
637
- }
638
- finally { if (e_2) throw e_2.error; }
639
- }
640
- (_b = (_a = ref.instance).ngOnChanges) === null || _b === void 0 ? void 0 : _b.call(_a, changes);
641
- ref.changeDetectorRef.markForCheck();
642
- }
643
- }
644
- };
645
- return FwPortalDialog;
646
- }());
647
- FwPortalDialog.decorators = [
648
- { type: i0.Component, args: [{
649
- host: {
650
- class: 'mat-dialog-component',
651
- 'test-id': 'portal-dialog',
652
- },
653
- selector: 'fw-portal-dialog',
654
- template: "\n <ng-container *ngIf=\"title\">\n <h1 mat-dialog-title>{{ title }}</h1>\n <button test-id=\"dialog-close-corner\" mat-icon-button mat-dialog-close>\n <mat-icon>close</mat-icon>\n </button>\n </ng-container>\n <mat-dialog-content>\n <p *ngIf=\"content\" class=\"content\">{{ content }}</p>\n <ng-template [cdkPortalOutlet]=\"portal\" (attached)=\"attached($event)\"></ng-template>\n </mat-dialog-content>\n <mat-dialog-actions align=\"end\">\n <button test-id=\"dialog-close-button\" mat-stroked-button mat-dialog-close>\n {{ 'common.actions.close' | translate }}\n </button>\n </mat-dialog-actions>\n ",
655
- styles: ["\n :host {\n min-width: 200px;\n }\n .content {\n margin-bottom: 30px;\n }\n "]
656
- },] }
657
- ];
658
- FwPortalDialog.ctorParameters = function () { return [
659
- { type: undefined, decorators: [{ type: i0.Inject, args: [dialog.MAT_DIALOG_DATA,] }] },
660
- { type: i0.ViewContainerRef }
661
- ]; };
662
-
663
543
  var TranslationService = /** @class */ (function () {
664
544
  function TranslationService() {
665
545
  }
@@ -682,9 +562,11 @@
682
562
  'confirmDialog.no': 'No',
683
563
  'confirmDialog.yes': 'Yes',
684
564
  };
685
- MinimalTranslationService.decorators = [
686
- { type: i0.Injectable }
687
- ];
565
+ MinimalTranslationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: MinimalTranslationService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
566
+ MinimalTranslationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: MinimalTranslationService });
567
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: MinimalTranslationService, decorators: [{
568
+ type: i0.Injectable
569
+ }] });
688
570
 
689
571
  /**
690
572
  * Translate a message given a nested key to a location in the loaded locale copy.
@@ -703,58 +585,249 @@
703
585
  var subscription = _c.value;
704
586
  subscription.unsubscribe();
705
587
  }
706
- }
707
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
708
- finally {
709
- try {
710
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
588
+ }
589
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
590
+ finally {
591
+ try {
592
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
593
+ }
594
+ finally { if (e_1) throw e_1.error; }
595
+ }
596
+ };
597
+ TranslatePipe.prototype.transform = function (key, silent) {
598
+ var _this = this;
599
+ if (silent === void 0) { silent = false; }
600
+ if (!(key in this.subscriptions)) {
601
+ this.subscriptions[key] = this.translationService.getMessage(key, silent).subscribe(function (message) {
602
+ _this.messages[key] = message;
603
+ // trigger change detection to support components with ChangeDetectionStrategy.OnPush
604
+ _this.cdr.markForCheck();
605
+ });
606
+ }
607
+ return this.messages[key] || '';
608
+ };
609
+ return TranslatePipe;
610
+ }());
611
+ TranslatePipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TranslatePipe, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: TranslationService }], target: i0__namespace.ɵɵFactoryTarget.Pipe });
612
+ TranslatePipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TranslatePipe, name: "translate", pure: false });
613
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TranslatePipe, decorators: [{
614
+ type: i0.Pipe,
615
+ args: [{
616
+ name: 'translate',
617
+ pure: false,
618
+ }]
619
+ }], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }, { type: TranslationService }]; } });
620
+
621
+ var FwConfirmDialog = /** @class */ (function () {
622
+ function FwConfirmDialog(data) {
623
+ this.data = data;
624
+ this.title = this.data.title;
625
+ this.content = this.data.content;
626
+ this.html = this.data.html;
627
+ }
628
+ return FwConfirmDialog;
629
+ }());
630
+ FwConfirmDialog.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwConfirmDialog, deps: [{ token: i3.MAT_DIALOG_DATA }], target: i0__namespace.ɵɵFactoryTarget.Component });
631
+ FwConfirmDialog.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n <h1 mat-dialog-title *ngIf=\"title\">{{ title }}</h1>\n <div mat-dialog-content *ngIf=\"html\" class=\"markup\" [innerHTML]=\"html | trusthtml\"></div>\n <div mat-dialog-content *ngIf=\"!html\">{{ content || ('confirmDialog.body' | translate ) }}</div>\n <div mat-dialog-actions align=\"center\">\n <button test-id=\"no-button\" mat-stroked-button [mat-dialog-close]=\"false\">{{ 'confirmDialog.no' | translate }}</button>\n <button test-id=\"yes-button\" mat-flat-button color=\"primary\" [mat-dialog-close]=\"true\">{{ 'confirmDialog.yes' | translate }}</button>\n </div>\n ", 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__namespace.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__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i3__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3__namespace.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "trusthtml": TrustHtmlPipe, "translate": TranslatePipe } });
632
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwConfirmDialog, decorators: [{
633
+ type: i0.Component,
634
+ args: [{
635
+ host: {
636
+ class: 'mat-dialog-component',
637
+ 'test-id': 'confirm-dialog',
638
+ },
639
+ selector: 'fw-confirm-dialog',
640
+ template: "\n <h1 mat-dialog-title *ngIf=\"title\">{{ title }}</h1>\n <div mat-dialog-content *ngIf=\"html\" class=\"markup\" [innerHTML]=\"html | trusthtml\"></div>\n <div mat-dialog-content *ngIf=\"!html\">{{ content || ('confirmDialog.body' | translate ) }}</div>\n <div mat-dialog-actions align=\"center\">\n <button test-id=\"no-button\" mat-stroked-button [mat-dialog-close]=\"false\">{{ 'confirmDialog.no' | translate }}</button>\n <button test-id=\"yes-button\" mat-flat-button color=\"primary\" [mat-dialog-close]=\"true\">{{ 'confirmDialog.yes' | translate }}</button>\n </div>\n ",
641
+ styles: ["\n [mat-dialog-content] {\n text-align: center;\n }\n [mat-dialog-content].markup {\n text-align: inherit;\n }\n "],
642
+ }]
643
+ }], ctorParameters: function () {
644
+ return [{ type: undefined, decorators: [{
645
+ type: i0.Inject,
646
+ args: [i3.MAT_DIALOG_DATA]
647
+ }] }];
648
+ } });
649
+
650
+ var FwDialogService = /** @class */ (function () {
651
+ function FwDialogService(matDialog) {
652
+ this.matDialog = matDialog;
653
+ this.dialogs = [];
654
+ this.config = new Map();
655
+ }
656
+ FwDialogService.prototype.closeAll = function (component) {
657
+ if (component) {
658
+ this.dialogs
659
+ .filter(function (el) { return el.component === component; })
660
+ .forEach(function (el) { return el.ref.close(); });
661
+ }
662
+ else {
663
+ this.matDialog.closeAll();
664
+ }
665
+ };
666
+ FwDialogService.prototype.open = function (component, config) {
667
+ var _this = this;
668
+ var index = this.dialogs.findIndex(function (el) { return el.component === component; });
669
+ var ref = null;
670
+ var baseConfig = Object.assign({ multi: 'allow' }, this.config.get(component));
671
+ switch (baseConfig.multi) {
672
+ case 'ignore':
673
+ // if an existing dialog of the same type doesn't exist, open one
674
+ if (index === -1) {
675
+ ref = this.matDialog.open(component, Object.assign(Object.assign({}, baseConfig), config));
676
+ this.dialogs.push({ component: component, ref: ref });
677
+ }
678
+ break;
679
+ case 'replace':
680
+ // if an existing dialog of the same type exists, replace it.
681
+ if (index > -1) {
682
+ this.dialogs[index].ref.close();
683
+ ref = this.matDialog.open(component, Object.assign(Object.assign({}, baseConfig), config));
684
+ this.dialogs.splice(index, 1, { component: component, ref: ref });
685
+ }
686
+ else {
687
+ ref = this.matDialog.open(component, Object.assign(Object.assign({}, baseConfig), config));
688
+ this.dialogs.push({ component: component, ref: ref });
689
+ }
690
+ break;
691
+ default:
692
+ ref = this.matDialog.open(component, Object.assign(Object.assign({}, baseConfig), config));
693
+ this.dialogs.push({ component: component, ref: ref });
694
+ break;
695
+ }
696
+ if (ref) {
697
+ ref.afterClosed().subscribe(function () {
698
+ // clean up open dialog reference
699
+ var index = _this.dialogs.findIndex(function (el) { return el.ref === ref; });
700
+ if (index >= 0) {
701
+ _this.dialogs.splice(index, 1);
702
+ }
703
+ });
704
+ }
705
+ return ref;
706
+ };
707
+ FwDialogService.prototype.registerDialog = function (component, config) {
708
+ this.config.set(component, config);
709
+ };
710
+ return FwDialogService;
711
+ }());
712
+ FwDialogService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwDialogService, deps: [{ token: i3__namespace.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
713
+ FwDialogService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwDialogService });
714
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwDialogService, decorators: [{
715
+ type: i0.Injectable
716
+ }], ctorParameters: function () { return [{ type: i3__namespace.MatDialog }]; } });
717
+
718
+ var FwErrorDialog = /** @class */ (function () {
719
+ function FwErrorDialog(data, ref) {
720
+ this.data = data;
721
+ this.ref = ref;
722
+ this.message = this.data.message;
723
+ this.ref.disableClose = false;
724
+ }
725
+ return FwErrorDialog;
726
+ }());
727
+ FwErrorDialog.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwErrorDialog, deps: [{ token: i3.MAT_DIALOG_DATA }, { token: i3__namespace.MatDialogRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
728
+ FwErrorDialog.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n <div mat-dialog-content>{{ message }}</div>\n <div mat-dialog-actions align=\"end\">\n <button test-id=\"close-button\" mat-stroked-button mat-dialog-close>\n {{ 'common.actions.close' | translate }}\n </button>\n </div>\n ", isInline: true, components: [{ type: i1__namespace.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__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3__namespace.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "translate": TranslatePipe } });
729
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwErrorDialog, decorators: [{
730
+ type: i0.Component,
731
+ args: [{
732
+ host: {
733
+ class: 'mat-dialog-component',
734
+ 'test-id': 'error-dialog',
735
+ },
736
+ selector: 'fw-error-dialog',
737
+ template: "\n <div mat-dialog-content>{{ message }}</div>\n <div mat-dialog-actions align=\"end\">\n <button test-id=\"close-button\" mat-stroked-button mat-dialog-close>\n {{ 'common.actions.close' | translate }}\n </button>\n </div>\n ",
738
+ }]
739
+ }], ctorParameters: function () {
740
+ return [{ type: undefined, decorators: [{
741
+ type: i0.Inject,
742
+ args: [i3.MAT_DIALOG_DATA]
743
+ }] }, { type: i3__namespace.MatDialogRef }];
744
+ } });
745
+
746
+ var FwPortalDialog = /** @class */ (function () {
747
+ function FwPortalDialog(data, viewContainerRef) {
748
+ this.data = data;
749
+ this.viewContainerRef = viewContainerRef;
750
+ this.content = this.data.content;
751
+ this.title = this.data.title;
752
+ this.destroyed$ = new rxjs.Subject();
753
+ if (this.data.component) {
754
+ this.portal = new i5.ComponentPortal(this.data.component.type, this.viewContainerRef);
755
+ }
756
+ else if (this.data.template) {
757
+ this.portal = new i5.TemplatePortal(this.data.template, this.viewContainerRef);
758
+ }
759
+ else {
760
+ throw new Error('One of [component, template] was not provided.');
761
+ }
762
+ }
763
+ FwPortalDialog.prototype.ngOnDestroy = function () {
764
+ this.destroyed$.next();
765
+ };
766
+ FwPortalDialog.prototype.attached = function (ref) {
767
+ var e_1, _c, e_2, _d;
768
+ var _a, _b;
769
+ if (this.data.component) {
770
+ ref = ref;
771
+ if (this.data.component.outputs) {
772
+ try {
773
+ for (var _e = __values(Object.entries(this.data.component.outputs)), _f = _e.next(); !_f.done; _f = _e.next()) {
774
+ var _g = __read(_f.value, 2), key = _g[0], observer = _g[1];
775
+ var output$ = ref[key];
776
+ if (typeof (output$ === null || output$ === void 0 ? void 0 : output$.pipe) === 'function' && typeof output$.subscribe === 'function') {
777
+ output$.pipe(operators.takeUntil(this.destroyed$)).subscribe(observer);
778
+ }
779
+ }
780
+ }
781
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
782
+ finally {
783
+ try {
784
+ if (_f && !_f.done && (_c = _e.return)) _c.call(_e);
785
+ }
786
+ finally { if (e_1) throw e_1.error; }
787
+ }
788
+ }
789
+ if (this.data.component.inputs) {
790
+ var changes = {};
791
+ try {
792
+ for (var _h = __values(Object.entries(this.data.component.inputs)), _j = _h.next(); !_j.done; _j = _h.next()) {
793
+ var _k = __read(_j.value, 2), key = _k[0], value = _k[1];
794
+ ref.instance[key] = value;
795
+ changes[key] = new i0.SimpleChange(value, value, true);
796
+ }
797
+ }
798
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
799
+ finally {
800
+ try {
801
+ if (_j && !_j.done && (_d = _h.return)) _d.call(_h);
802
+ }
803
+ finally { if (e_2) throw e_2.error; }
804
+ }
805
+ (_b = (_a = ref.instance).ngOnChanges) === null || _b === void 0 ? void 0 : _b.call(_a, changes);
806
+ ref.changeDetectorRef.markForCheck();
711
807
  }
712
- finally { if (e_1) throw e_1.error; }
713
- }
714
- };
715
- TranslatePipe.prototype.transform = function (key, silent) {
716
- var _this = this;
717
- if (silent === void 0) { silent = false; }
718
- if (!(key in this.subscriptions)) {
719
- this.subscriptions[key] = this.translationService.getMessage(key, silent).subscribe(function (message) {
720
- _this.messages[key] = message;
721
- // trigger change detection to support components with ChangeDetectionStrategy.OnPush
722
- _this.cdr.markForCheck();
723
- });
724
808
  }
725
- return this.messages[key] || '';
726
- };
727
- return TranslatePipe;
728
- }());
729
- TranslatePipe.decorators = [
730
- { type: i0.Pipe, args: [{
731
- name: 'translate',
732
- pure: false,
733
- },] }
734
- ];
735
- TranslatePipe.ctorParameters = function () { return [
736
- { type: i0.ChangeDetectorRef },
737
- { type: TranslationService }
738
- ]; };
739
-
740
- var TrustHtmlPipe = /** @class */ (function () {
741
- function TrustHtmlPipe(sanitizer) {
742
- this.sanitizer = sanitizer;
743
- }
744
- TrustHtmlPipe.prototype.transform = function (html) {
745
- return this.sanitizer.bypassSecurityTrustHtml(html);
746
809
  };
747
- return TrustHtmlPipe;
810
+ return FwPortalDialog;
748
811
  }());
749
- TrustHtmlPipe.decorators = [
750
- { type: i0.Pipe, args: [{
751
- name: 'trusthtml',
752
- pure: true,
753
- },] }
754
- ];
755
- TrustHtmlPipe.ctorParameters = function () { return [
756
- { type: platformBrowser.DomSanitizer }
757
- ]; };
812
+ FwPortalDialog.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwPortalDialog, deps: [{ token: i3.MAT_DIALOG_DATA }, { token: i0__namespace.ViewContainerRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
813
+ FwPortalDialog.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n <ng-container *ngIf=\"title\">\n <h1 mat-dialog-title>{{ title }}</h1>\n <button test-id=\"dialog-close-corner\" mat-icon-button mat-dialog-close>\n <mat-icon>close</mat-icon>\n </button>\n </ng-container>\n <mat-dialog-content>\n <p *ngIf=\"content\" class=\"content\">{{ content }}</p>\n <ng-template [cdkPortalOutlet]=\"portal\" (attached)=\"attached($event)\"></ng-template>\n </mat-dialog-content>\n <mat-dialog-actions align=\"end\">\n <button test-id=\"dialog-close-button\" mat-stroked-button mat-dialog-close>\n {{ 'common.actions.close' | translate }}\n </button>\n </mat-dialog-actions>\n ", isInline: true, styles: ["\n :host {\n min-width: 200px;\n }\n .content {\n margin-bottom: 30px;\n }\n "], components: [{ type: i1__namespace.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__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i3__namespace.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i3__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i5__namespace.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { type: i3__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }], pipes: { "translate": TranslatePipe } });
814
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwPortalDialog, decorators: [{
815
+ type: i0.Component,
816
+ args: [{
817
+ host: {
818
+ class: 'mat-dialog-component',
819
+ 'test-id': 'portal-dialog',
820
+ },
821
+ selector: 'fw-portal-dialog',
822
+ template: "\n <ng-container *ngIf=\"title\">\n <h1 mat-dialog-title>{{ title }}</h1>\n <button test-id=\"dialog-close-corner\" mat-icon-button mat-dialog-close>\n <mat-icon>close</mat-icon>\n </button>\n </ng-container>\n <mat-dialog-content>\n <p *ngIf=\"content\" class=\"content\">{{ content }}</p>\n <ng-template [cdkPortalOutlet]=\"portal\" (attached)=\"attached($event)\"></ng-template>\n </mat-dialog-content>\n <mat-dialog-actions align=\"end\">\n <button test-id=\"dialog-close-button\" mat-stroked-button mat-dialog-close>\n {{ 'common.actions.close' | translate }}\n </button>\n </mat-dialog-actions>\n ",
823
+ styles: ["\n :host {\n min-width: 200px;\n }\n .content {\n margin-bottom: 30px;\n }\n "],
824
+ }]
825
+ }], ctorParameters: function () {
826
+ return [{ type: undefined, decorators: [{
827
+ type: i0.Inject,
828
+ args: [i3.MAT_DIALOG_DATA]
829
+ }] }, { type: i0__namespace.ViewContainerRef }];
830
+ } });
758
831
 
759
832
  var exports$1 = [
760
833
  TranslatePipe,
@@ -765,53 +838,136 @@
765
838
  }
766
839
  return PipesModule;
767
840
  }());
768
- PipesModule.decorators = [
769
- { type: i0.NgModule, args: [{
770
- declarations: exports$1,
771
- exports: exports$1,
772
- providers: [
773
- {
774
- provide: TranslationService,
775
- useClass: MinimalTranslationService,
776
- },
777
- ],
778
- },] }
779
- ];
841
+ PipesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PipesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
842
+ PipesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PipesModule, declarations: [TranslatePipe,
843
+ TrustHtmlPipe], exports: [TranslatePipe,
844
+ TrustHtmlPipe] });
845
+ PipesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PipesModule, providers: [
846
+ {
847
+ provide: TranslationService,
848
+ useClass: MinimalTranslationService,
849
+ },
850
+ ] });
851
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PipesModule, decorators: [{
852
+ type: i0.NgModule,
853
+ args: [{
854
+ declarations: exports$1,
855
+ exports: exports$1,
856
+ providers: [
857
+ {
858
+ provide: TranslationService,
859
+ useClass: MinimalTranslationService,
860
+ },
861
+ ],
862
+ }]
863
+ }] });
780
864
 
781
- var ɵ0 = {
782
- disableClose: true,
783
- hasBackdrop: true,
784
- };
785
865
  var FwDialogModule = /** @class */ (function () {
786
866
  function FwDialogModule() {
787
867
  }
788
868
  return FwDialogModule;
789
869
  }());
790
- FwDialogModule.decorators = [
791
- { type: i0.NgModule, args: [{
792
- declarations: [
793
- FwChoiceDialog,
794
- FwConfirmDialog,
795
- FwErrorDialog,
796
- FwPortalDialog,
797
- ],
798
- imports: [
799
- common.CommonModule,
800
- button.MatButtonModule,
801
- dialog.MatDialogModule,
802
- icon.MatIconModule,
803
- PipesModule,
804
- portal.PortalModule,
805
- ],
806
- providers: [
807
- FwDialogService,
808
- {
809
- provide: dialog.MAT_DIALOG_DEFAULT_OPTIONS,
810
- useValue: ɵ0
811
- }
812
- ],
813
- },] }
814
- ];
870
+ FwDialogModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwDialogModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
871
+ FwDialogModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwDialogModule, declarations: [FwChoiceDialog,
872
+ FwConfirmDialog,
873
+ FwErrorDialog,
874
+ FwPortalDialog], imports: [i2.CommonModule,
875
+ i1.MatButtonModule,
876
+ i3.MatDialogModule,
877
+ i2$1.MatIconModule,
878
+ PipesModule,
879
+ i5.PortalModule] });
880
+ FwDialogModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwDialogModule, providers: [
881
+ FwDialogService,
882
+ {
883
+ provide: i3.MAT_DIALOG_DEFAULT_OPTIONS,
884
+ useValue: {
885
+ disableClose: true,
886
+ hasBackdrop: true,
887
+ }
888
+ }
889
+ ], imports: [[
890
+ i2.CommonModule,
891
+ i1.MatButtonModule,
892
+ i3.MatDialogModule,
893
+ i2$1.MatIconModule,
894
+ PipesModule,
895
+ i5.PortalModule,
896
+ ]] });
897
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwDialogModule, decorators: [{
898
+ type: i0.NgModule,
899
+ args: [{
900
+ declarations: [
901
+ FwChoiceDialog,
902
+ FwConfirmDialog,
903
+ FwErrorDialog,
904
+ FwPortalDialog,
905
+ ],
906
+ imports: [
907
+ i2.CommonModule,
908
+ i1.MatButtonModule,
909
+ i3.MatDialogModule,
910
+ i2$1.MatIconModule,
911
+ PipesModule,
912
+ i5.PortalModule,
913
+ ],
914
+ providers: [
915
+ FwDialogService,
916
+ {
917
+ provide: i3.MAT_DIALOG_DEFAULT_OPTIONS,
918
+ useValue: {
919
+ disableClose: true,
920
+ hasBackdrop: true,
921
+ }
922
+ }
923
+ ],
924
+ }]
925
+ }] });
926
+
927
+ var FwIconComponent = /** @class */ (function () {
928
+ function FwIconComponent() {
929
+ }
930
+ return FwIconComponent;
931
+ }());
932
+ FwIconComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwIconComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
933
+ FwIconComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FwIconComponent, selector: "fw-icon", host: { attributes: { "role": "img" }, classAttribute: "vision-icon" }, ngImport: i0__namespace, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
934
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwIconComponent, decorators: [{
935
+ type: i0.Component,
936
+ args: [{
937
+ host: {
938
+ 'role': 'img',
939
+ 'class': 'vision-icon', // apply icon font to glyph content
940
+ },
941
+ selector: 'fw-icon',
942
+ template: '<ng-content></ng-content>',
943
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
944
+ }]
945
+ }] });
946
+
947
+ var FwIconModule = /** @class */ (function () {
948
+ function FwIconModule() {
949
+ }
950
+ return FwIconModule;
951
+ }());
952
+ FwIconModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwIconModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
953
+ FwIconModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwIconModule, declarations: [FwIconComponent], imports: [i2.CommonModule], exports: [FwIconComponent] });
954
+ FwIconModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwIconModule, imports: [[
955
+ i2.CommonModule,
956
+ ]] });
957
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwIconModule, decorators: [{
958
+ type: i0.NgModule,
959
+ args: [{
960
+ imports: [
961
+ i2.CommonModule,
962
+ ],
963
+ exports: [
964
+ FwIconComponent,
965
+ ],
966
+ declarations: [
967
+ FwIconComponent,
968
+ ],
969
+ }]
970
+ }] });
815
971
 
816
972
  function genId() {
817
973
  return String.prototype.padStart(24, Math.floor(Math.random() * Date.now()).toString(16));
@@ -838,111 +994,14 @@
838
994
  };
839
995
  return FwNotificationService;
840
996
  }());
841
- FwNotificationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FwNotificationService_Factory() { return new FwNotificationService(); }, token: FwNotificationService, providedIn: "root" });
842
- FwNotificationService.decorators = [
843
- { type: i0.Injectable, args: [{
844
- providedIn: 'root'
845
- },] }
846
- ];
847
-
848
- var FwNotificationContainerComponent = /** @class */ (function () {
849
- function FwNotificationContainerComponent(cdr, notificationService) {
850
- var _this = this;
851
- this.cdr = cdr;
852
- this.notificationService = notificationService;
853
- this.limit = 3;
854
- this.notifications = [];
855
- this.expanded = false;
856
- this.subscriptions = {
857
- notifications: rxjs.Subscription.EMPTY,
858
- };
859
- this.subscriptions.notifications = this.notificationService.notifications$.subscribe(function (notifications) {
860
- _this.notifications = notifications;
861
- if (notifications.length === 0) {
862
- _this.expanded = false;
863
- }
864
- _this.cdr.markForCheck();
865
- });
866
- }
867
- FwNotificationContainerComponent.prototype.ngOnDestroy = function () {
868
- var e_1, _a;
869
- try {
870
- for (var _b = __values(Object.values(this.subscriptions)), _c = _b.next(); !_c.done; _c = _b.next()) {
871
- var subscription = _c.value;
872
- subscription.unsubscribe();
873
- }
874
- }
875
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
876
- finally {
877
- try {
878
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
879
- }
880
- finally { if (e_1) throw e_1.error; }
881
- }
882
- };
883
- FwNotificationContainerComponent.prototype.notificationClass = function (index) {
884
- var cssClass;
885
- var level = this.notifications.length > this.limit
886
- ? index - (this.notifications.length - this.limit)
887
- : index;
888
- if (this.expanded) {
889
- cssClass = 'default';
890
- }
891
- else {
892
- cssClass = level >= 0 ? "level-" + level : 'hidden';
893
- }
894
- return cssClass;
895
- };
896
- FwNotificationContainerComponent.prototype.getEmptyNotification = function (notification) {
897
- return Object.assign(Object.assign({}, notification), { message: ' ' }); // take up a line but show no content
898
- };
899
- FwNotificationContainerComponent.prototype.onReady = function (notification) {
900
- var currentNotification = this.notifications[this.notifications.length - 1];
901
- currentNotification.ref = notification;
902
- notification.startTimer();
903
- };
904
- FwNotificationContainerComponent.prototype.onDismiss = function (notificationId) {
905
- var notification = this.notifications.find(function (currentNotification) { return currentNotification.id === notificationId; });
906
- if (notification === null || notification === void 0 ? void 0 : notification.ref) {
907
- notification.ref.stopTimer();
908
- }
909
- if (notification === null || notification === void 0 ? void 0 : notification.id) {
910
- this.notificationService.dismiss(notification.id);
911
- }
912
- this.cdr.markForCheck();
913
- };
914
- FwNotificationContainerComponent.prototype.clearAll = function () {
915
- this.notificationService.dismissAll();
916
- this.cdr.markForCheck();
917
- };
918
- FwNotificationContainerComponent.prototype.onShowMore = function () {
919
- this.expanded = true;
920
- this.cdr.markForCheck();
921
- };
922
- FwNotificationContainerComponent.prototype.onShowLess = function () {
923
- this.expanded = false;
924
- this.cdr.markForCheck();
925
- };
926
- return FwNotificationContainerComponent;
927
- }());
928
- FwNotificationContainerComponent.decorators = [
929
- { type: i0.Component, args: [{
930
- host: {
931
- 'class': 'fw-notification-container',
932
- '[class.duo]': 'notifications.length === 2',
933
- '[class.triple]': 'notifications.length >= 3',
934
- },
935
- selector: 'fw-notification-container',
936
- 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",
937
- encapsulation: i0.ViewEncapsulation.None,
938
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
939
- 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)}"]
940
- },] }
941
- ];
942
- FwNotificationContainerComponent.ctorParameters = function () { return [
943
- { type: i0.ChangeDetectorRef },
944
- { type: FwNotificationService }
945
- ]; };
997
+ FwNotificationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwNotificationService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
998
+ FwNotificationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwNotificationService, providedIn: 'root' });
999
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwNotificationService, decorators: [{
1000
+ type: i0.Injectable,
1001
+ args: [{
1002
+ providedIn: 'root'
1003
+ }]
1004
+ }] });
946
1005
 
947
1006
  var FwNotificationTimerService = /** @class */ (function () {
948
1007
  function FwNotificationTimerService() {
@@ -976,6 +1035,7 @@
976
1035
  return FwNotificationTimerService;
977
1036
  }());
978
1037
 
1038
+ exports.FwNotificationType = void 0;
979
1039
  (function (FwNotificationType) {
980
1040
  FwNotificationType["Error"] = "error";
981
1041
  FwNotificationType["Info"] = "info";
@@ -1035,61 +1095,180 @@
1035
1095
  };
1036
1096
  return FwNotificationComponent;
1037
1097
  }());
1038
- FwNotificationComponent.decorators = [
1039
- { type: i0.Component, args: [{
1040
- host: {
1041
- '(click)': 'onClickDismiss()'
1042
- },
1043
- selector: 'fw-notification',
1044
- template: "{{ notification?.message }}",
1045
- providers: [FwNotificationTimerService],
1046
- encapsulation: i0.ViewEncapsulation.None,
1047
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
1048
- 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}"]
1049
- },] }
1050
- ];
1051
- FwNotificationComponent.ctorParameters = function () { return [
1052
- { type: i0.ChangeDetectorRef },
1053
- { type: FwNotificationTimerService }
1054
- ]; };
1055
- FwNotificationComponent.propDecorators = {
1056
- notification: [{ type: i0.Input }],
1057
- notificationDuration: [{ type: i0.Input }],
1058
- ready: [{ type: i0.Output }],
1059
- dismiss: [{ type: i0.Output }],
1060
- cssClass: [{ type: i0.HostBinding, args: ['class',] }]
1061
- };
1098
+ FwNotificationComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwNotificationComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: FwNotificationTimerService }], target: i0__namespace.ɵɵFactoryTarget.Component });
1099
+ FwNotificationComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, 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__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
1100
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwNotificationComponent, decorators: [{
1101
+ type: i0.Component,
1102
+ args: [{
1103
+ host: {
1104
+ '(click)': 'onClickDismiss()'
1105
+ },
1106
+ selector: 'fw-notification',
1107
+ styleUrls: ['./notification.component.scss'],
1108
+ template: "{{ notification?.message }}",
1109
+ providers: [FwNotificationTimerService],
1110
+ encapsulation: i0.ViewEncapsulation.None,
1111
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1112
+ }]
1113
+ }], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }, { type: FwNotificationTimerService }]; }, propDecorators: { notification: [{
1114
+ type: i0.Input
1115
+ }], notificationDuration: [{
1116
+ type: i0.Input
1117
+ }], ready: [{
1118
+ type: i0.Output
1119
+ }], dismiss: [{
1120
+ type: i0.Output
1121
+ }], cssClass: [{
1122
+ type: i0.HostBinding,
1123
+ args: ['class']
1124
+ }] } });
1125
+
1126
+ var FwNotificationContainerComponent = /** @class */ (function () {
1127
+ function FwNotificationContainerComponent(cdr, notificationService) {
1128
+ var _this = this;
1129
+ this.cdr = cdr;
1130
+ this.notificationService = notificationService;
1131
+ this.limit = 3;
1132
+ this.notifications = [];
1133
+ this.expanded = false;
1134
+ this.subscriptions = {
1135
+ notifications: rxjs.Subscription.EMPTY,
1136
+ };
1137
+ this.subscriptions.notifications = this.notificationService.notifications$.subscribe(function (notifications) {
1138
+ _this.notifications = notifications;
1139
+ if (notifications.length === 0) {
1140
+ _this.expanded = false;
1141
+ }
1142
+ _this.cdr.markForCheck();
1143
+ });
1144
+ }
1145
+ FwNotificationContainerComponent.prototype.ngOnDestroy = function () {
1146
+ var e_1, _a;
1147
+ try {
1148
+ for (var _b = __values(Object.values(this.subscriptions)), _c = _b.next(); !_c.done; _c = _b.next()) {
1149
+ var subscription = _c.value;
1150
+ subscription.unsubscribe();
1151
+ }
1152
+ }
1153
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1154
+ finally {
1155
+ try {
1156
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
1157
+ }
1158
+ finally { if (e_1) throw e_1.error; }
1159
+ }
1160
+ };
1161
+ FwNotificationContainerComponent.prototype.notificationClass = function (index) {
1162
+ var cssClass;
1163
+ var level = this.notifications.length > this.limit
1164
+ ? index - (this.notifications.length - this.limit)
1165
+ : index;
1166
+ if (this.expanded) {
1167
+ cssClass = 'default';
1168
+ }
1169
+ else {
1170
+ cssClass = level >= 0 ? "level-" + level : 'hidden';
1171
+ }
1172
+ return cssClass;
1173
+ };
1174
+ FwNotificationContainerComponent.prototype.getEmptyNotification = function (notification) {
1175
+ return Object.assign(Object.assign({}, notification), { message: ' ' }); // take up a line but show no content
1176
+ };
1177
+ FwNotificationContainerComponent.prototype.onReady = function (notification) {
1178
+ var currentNotification = this.notifications[this.notifications.length - 1];
1179
+ currentNotification.ref = notification;
1180
+ notification.startTimer();
1181
+ };
1182
+ FwNotificationContainerComponent.prototype.onDismiss = function (notificationId) {
1183
+ var notification = this.notifications.find(function (currentNotification) { return currentNotification.id === notificationId; });
1184
+ if (notification === null || notification === void 0 ? void 0 : notification.ref) {
1185
+ notification.ref.stopTimer();
1186
+ }
1187
+ if (notification === null || notification === void 0 ? void 0 : notification.id) {
1188
+ this.notificationService.dismiss(notification.id);
1189
+ }
1190
+ this.cdr.markForCheck();
1191
+ };
1192
+ FwNotificationContainerComponent.prototype.clearAll = function () {
1193
+ this.notificationService.dismissAll();
1194
+ this.cdr.markForCheck();
1195
+ };
1196
+ FwNotificationContainerComponent.prototype.onShowMore = function () {
1197
+ this.expanded = true;
1198
+ this.cdr.markForCheck();
1199
+ };
1200
+ FwNotificationContainerComponent.prototype.onShowLess = function () {
1201
+ this.expanded = false;
1202
+ this.cdr.markForCheck();
1203
+ };
1204
+ return FwNotificationContainerComponent;
1205
+ }());
1206
+ FwNotificationContainerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwNotificationContainerComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: FwNotificationService }], target: i0__namespace.ɵɵFactoryTarget.Component });
1207
+ FwNotificationContainerComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, 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__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
1208
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwNotificationContainerComponent, decorators: [{
1209
+ type: i0.Component,
1210
+ args: [{
1211
+ host: {
1212
+ 'class': 'fw-notification-container',
1213
+ '[class.duo]': 'notifications.length === 2',
1214
+ '[class.triple]': 'notifications.length >= 3',
1215
+ },
1216
+ selector: 'fw-notification-container',
1217
+ templateUrl: './notification-container.component.html',
1218
+ styleUrls: ['./notification-container.component.scss'],
1219
+ encapsulation: i0.ViewEncapsulation.None,
1220
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1221
+ }]
1222
+ }], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }, { type: FwNotificationService }]; } });
1062
1223
 
1063
1224
  var FwNotificationModule = /** @class */ (function () {
1064
1225
  function FwNotificationModule() {
1065
1226
  }
1066
1227
  return FwNotificationModule;
1067
1228
  }());
1068
- FwNotificationModule.decorators = [
1069
- { type: i0.NgModule, args: [{
1070
- imports: [
1071
- common.CommonModule,
1072
- FwButtonModule,
1073
- FwButtonGroupModule,
1074
- button.MatButtonModule,
1075
- icon.MatIconModule,
1076
- ],
1077
- exports: [
1078
- FwNotificationComponent,
1079
- FwNotificationContainerComponent
1080
- ],
1081
- declarations: [
1082
- FwNotificationComponent,
1083
- FwNotificationContainerComponent,
1084
- ],
1085
- entryComponents: [
1086
- FwNotificationComponent,
1087
- ],
1088
- providers: [
1089
- FwNotificationService,
1090
- ]
1091
- },] }
1092
- ];
1229
+ FwNotificationModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwNotificationModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1230
+ FwNotificationModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwNotificationModule, declarations: [FwNotificationComponent,
1231
+ FwNotificationContainerComponent], imports: [i2.CommonModule,
1232
+ FwButtonModule,
1233
+ FwButtonGroupModule,
1234
+ i1.MatButtonModule,
1235
+ i2$1.MatIconModule], exports: [FwNotificationComponent,
1236
+ FwNotificationContainerComponent] });
1237
+ FwNotificationModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwNotificationModule, providers: [
1238
+ FwNotificationService,
1239
+ ], imports: [[
1240
+ i2.CommonModule,
1241
+ FwButtonModule,
1242
+ FwButtonGroupModule,
1243
+ i1.MatButtonModule,
1244
+ i2$1.MatIconModule,
1245
+ ]] });
1246
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwNotificationModule, decorators: [{
1247
+ type: i0.NgModule,
1248
+ args: [{
1249
+ imports: [
1250
+ i2.CommonModule,
1251
+ FwButtonModule,
1252
+ FwButtonGroupModule,
1253
+ i1.MatButtonModule,
1254
+ i2$1.MatIconModule,
1255
+ ],
1256
+ exports: [
1257
+ FwNotificationComponent,
1258
+ FwNotificationContainerComponent
1259
+ ],
1260
+ declarations: [
1261
+ FwNotificationComponent,
1262
+ FwNotificationContainerComponent,
1263
+ ],
1264
+ entryComponents: [
1265
+ FwNotificationComponent,
1266
+ ],
1267
+ providers: [
1268
+ FwNotificationService,
1269
+ ]
1270
+ }]
1271
+ }] });
1093
1272
 
1094
1273
  var FwPopoverTriggerDirective = /** @class */ (function () {
1095
1274
  function FwPopoverTriggerDirective(element, overlay, viewContainerRef) {
@@ -1137,7 +1316,7 @@
1137
1316
  FwPopoverTriggerDirective.prototype.showPopover = function () {
1138
1317
  var _a;
1139
1318
  if ((_a = this.popover) === null || _a === void 0 ? void 0 : _a.templateRef) {
1140
- this.getOverlay().attach(new portal.TemplatePortal(this.popover.templateRef, this.viewContainerRef));
1319
+ this.getOverlay().attach(new i5.TemplatePortal(this.popover.templateRef, this.viewContainerRef));
1141
1320
  }
1142
1321
  };
1143
1322
  FwPopoverTriggerDirective.prototype.hidePopover = function (e) {
@@ -1213,26 +1392,26 @@
1213
1392
  };
1214
1393
  return FwPopoverTriggerDirective;
1215
1394
  }());
1216
- FwPopoverTriggerDirective.decorators = [
1217
- { type: i0.Directive, args: [{
1218
- host: {
1219
- 'class': 'fw-popover-trigger',
1220
- '(mouseenter)': 'showPopover()',
1221
- '(mouseleave)': 'hidePopover($event)',
1222
- },
1223
- selector: '[fwPopoverTriggerFor]',
1224
- exportAs: 'fwPopoverTrigger',
1225
- },] }
1226
- ];
1227
- FwPopoverTriggerDirective.ctorParameters = function () { return [
1228
- { type: i0.ElementRef },
1229
- { type: overlay.Overlay },
1230
- { type: i0.ViewContainerRef }
1231
- ]; };
1232
- FwPopoverTriggerDirective.propDecorators = {
1233
- popover: [{ type: i0.Input, args: ['fwPopoverTriggerFor',] }],
1234
- position: [{ type: i0.Input, args: ['fwPopoverPosition',] }]
1235
- };
1395
+ FwPopoverTriggerDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwPopoverTriggerDirective, deps: [{ token: i0__namespace.ElementRef }, { token: i1__namespace$2.Overlay }, { token: i0__namespace.ViewContainerRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
1396
+ FwPopoverTriggerDirective.ɵdir = i0__namespace.ɵɵ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__namespace });
1397
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwPopoverTriggerDirective, decorators: [{
1398
+ type: i0.Directive,
1399
+ args: [{
1400
+ host: {
1401
+ 'class': 'fw-popover-trigger',
1402
+ '(mouseenter)': 'showPopover()',
1403
+ '(mouseleave)': 'hidePopover($event)',
1404
+ },
1405
+ selector: '[fwPopoverTriggerFor]',
1406
+ exportAs: 'fwPopoverTrigger',
1407
+ }]
1408
+ }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i1__namespace$2.Overlay }, { type: i0__namespace.ViewContainerRef }]; }, propDecorators: { popover: [{
1409
+ type: i0.Input,
1410
+ args: ['fwPopoverTriggerFor']
1411
+ }], position: [{
1412
+ type: i0.Input,
1413
+ args: ['fwPopoverPosition']
1414
+ }] } });
1236
1415
 
1237
1416
  var FwPopoverTriggerComponent = /** @class */ (function (_super) {
1238
1417
  __extends(FwPopoverTriggerComponent, _super);
@@ -1250,80 +1429,97 @@
1250
1429
  if (this.popoverId) {
1251
1430
  // as a web component it is not possible to have a reference to this.popover
1252
1431
  this.popoverHTML = document.querySelector("fw-popover#" + this.popoverId).innerHTML;
1253
- overlay.attach(new portal.TemplatePortal(this.popoverTemplateRef, this.viewContainerRef));
1432
+ overlay.attach(new i5.TemplatePortal(this.popoverTemplateRef, this.viewContainerRef));
1254
1433
  }
1255
1434
  };
1256
1435
  return FwPopoverTriggerComponent;
1257
1436
  }(FwPopoverTriggerDirective));
1258
- FwPopoverTriggerComponent.decorators = [
1259
- { type: i0.Component, args: [{
1260
- host: {
1261
- 'class': 'fw-popover-trigger',
1262
- '(mouseenter)': 'showPopover()',
1263
- '(mouseleave)': 'hidePopover($event)',
1264
- },
1265
- selector: 'fw-popover-trigger',
1266
- template: "<ng-content></ng-content>\n <!-- for web component support -->\n <ng-template>\n <div [innerHTML]=\"popoverHTML\"></div>\n </ng-template>"
1267
- },] }
1268
- ];
1269
- FwPopoverTriggerComponent.ctorParameters = function () { return [
1270
- { type: i0.ElementRef },
1271
- { type: overlay.Overlay },
1272
- { type: i0.ViewContainerRef }
1273
- ]; };
1274
- FwPopoverTriggerComponent.propDecorators = {
1275
- popoverId: [{ type: i0.Input, args: ['trigger-for',] }],
1276
- position: [{ type: i0.Input, args: ['position',] }],
1277
- popoverTemplateRef: [{ type: i0.ViewChild, args: [i0.TemplateRef,] }]
1278
- };
1437
+ FwPopoverTriggerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwPopoverTriggerComponent, deps: [{ token: i0__namespace.ElementRef }, { token: i1__namespace$2.Overlay }, { token: i0__namespace.ViewContainerRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
1438
+ FwPopoverTriggerComponent.ɵcmp = i0__namespace.ɵɵ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: i0.TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-content></ng-content>\n <!-- for web component support -->\n <ng-template>\n <div [innerHTML]=\"popoverHTML\"></div>\n </ng-template>", isInline: true });
1439
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwPopoverTriggerComponent, decorators: [{
1440
+ type: i0.Component,
1441
+ args: [{
1442
+ host: {
1443
+ 'class': 'fw-popover-trigger',
1444
+ '(mouseenter)': 'showPopover()',
1445
+ '(mouseleave)': 'hidePopover($event)',
1446
+ },
1447
+ selector: 'fw-popover-trigger',
1448
+ template: "<ng-content></ng-content>\n <!-- for web component support -->\n <ng-template>\n <div [innerHTML]=\"popoverHTML\"></div>\n </ng-template>",
1449
+ }]
1450
+ }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i1__namespace$2.Overlay }, { type: i0__namespace.ViewContainerRef }]; }, propDecorators: { popoverId: [{
1451
+ type: i0.Input,
1452
+ args: ['trigger-for']
1453
+ }], position: [{
1454
+ type: i0.Input,
1455
+ args: ['position']
1456
+ }], popoverTemplateRef: [{
1457
+ type: i0.ViewChild,
1458
+ args: [i0.TemplateRef]
1459
+ }] } });
1279
1460
 
1280
1461
  var FwPopoverComponent = /** @class */ (function () {
1281
1462
  function FwPopoverComponent() {
1282
1463
  }
1283
1464
  return FwPopoverComponent;
1284
1465
  }());
1285
- FwPopoverComponent.decorators = [
1286
- { type: i0.Component, args: [{
1287
- host: { 'class': 'fw-popover' },
1288
- selector: 'fw-popover',
1289
- template: "\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ng-template #content>\n <div class=\"fw-popover-content-wrapper\">\n <ng-content></ng-content>\n <div class=\"fw-popover-caret\"></div>\n </div>\n </ng-template>",
1290
- encapsulation: i0.ViewEncapsulation.None,
1291
- 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}"]
1292
- },] }
1293
- ];
1294
- FwPopoverComponent.propDecorators = {
1295
- templateRef: [{ type: i0.ViewChild, args: ['content',] }]
1296
- };
1466
+ FwPopoverComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwPopoverComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1467
+ FwPopoverComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: "\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ng-template #content>\n <div class=\"fw-popover-content-wrapper\">\n <ng-content></ng-content>\n <div class=\"fw-popover-caret\"></div>\n </div>\n </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__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], encapsulation: i0__namespace.ViewEncapsulation.None });
1468
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwPopoverComponent, decorators: [{
1469
+ type: i0.Component,
1470
+ args: [{
1471
+ host: { 'class': 'fw-popover' },
1472
+ selector: 'fw-popover',
1473
+ styleUrls: ['./popover.component.scss'],
1474
+ template: "\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ng-template #content>\n <div class=\"fw-popover-content-wrapper\">\n <ng-content></ng-content>\n <div class=\"fw-popover-caret\"></div>\n </div>\n </ng-template>",
1475
+ encapsulation: i0.ViewEncapsulation.None,
1476
+ }]
1477
+ }], propDecorators: { templateRef: [{
1478
+ type: i0.ViewChild,
1479
+ args: ['content']
1480
+ }] } });
1297
1481
 
1298
1482
  var FwPopoverModule = /** @class */ (function () {
1299
1483
  function FwPopoverModule() {
1300
1484
  }
1301
1485
  return FwPopoverModule;
1302
1486
  }());
1303
- FwPopoverModule.decorators = [
1304
- { type: i0.NgModule, args: [{
1305
- imports: [
1306
- common.CommonModule,
1307
- ],
1308
- exports: [
1309
- FwPopoverComponent,
1310
- FwPopoverTriggerComponent,
1311
- FwPopoverTriggerDirective,
1312
- ],
1313
- declarations: [
1314
- FwPopoverComponent,
1315
- FwPopoverTriggerComponent,
1316
- FwPopoverTriggerDirective,
1317
- ],
1318
- entryComponents: [
1319
- FwPopoverComponent,
1320
- FwPopoverTriggerComponent,
1321
- ],
1322
- providers: [
1323
- overlay.Overlay,
1324
- ],
1325
- },] }
1326
- ];
1487
+ FwPopoverModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwPopoverModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1488
+ FwPopoverModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwPopoverModule, declarations: [FwPopoverComponent,
1489
+ FwPopoverTriggerComponent,
1490
+ FwPopoverTriggerDirective], imports: [i2.CommonModule], exports: [FwPopoverComponent,
1491
+ FwPopoverTriggerComponent,
1492
+ FwPopoverTriggerDirective] });
1493
+ FwPopoverModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwPopoverModule, providers: [
1494
+ i1$2.Overlay,
1495
+ ], imports: [[
1496
+ i2.CommonModule,
1497
+ ]] });
1498
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwPopoverModule, decorators: [{
1499
+ type: i0.NgModule,
1500
+ args: [{
1501
+ imports: [
1502
+ i2.CommonModule,
1503
+ ],
1504
+ exports: [
1505
+ FwPopoverComponent,
1506
+ FwPopoverTriggerComponent,
1507
+ FwPopoverTriggerDirective,
1508
+ ],
1509
+ declarations: [
1510
+ FwPopoverComponent,
1511
+ FwPopoverTriggerComponent,
1512
+ FwPopoverTriggerDirective,
1513
+ ],
1514
+ entryComponents: [
1515
+ FwPopoverComponent,
1516
+ FwPopoverTriggerComponent,
1517
+ ],
1518
+ providers: [
1519
+ i1$2.Overlay,
1520
+ ],
1521
+ }]
1522
+ }] });
1327
1523
 
1328
1524
  var FwTableComponent = /** @class */ (function () {
1329
1525
  function FwTableComponent(changeDetectorRef) {
@@ -1337,7 +1533,7 @@
1337
1533
  this.sortColumn = '';
1338
1534
  this.sortOrder = 'asc';
1339
1535
  this.displayedColumns = [];
1340
- this.filters = new forms.FormGroup({});
1536
+ this.filters = new i9.FormGroup({});
1341
1537
  // to support updating column header labels
1342
1538
  this.trackByIndex = function (i) { return i; };
1343
1539
  }
@@ -1409,7 +1605,7 @@
1409
1605
  try {
1410
1606
  for (var _b = __values(this.columns), _c = _b.next(); !_c.done; _c = _b.next()) {
1411
1607
  var column = _c.value;
1412
- this.filters.addControl(column.key, new forms.FormControl());
1608
+ this.filters.addControl(column.key, new i9.FormControl());
1413
1609
  }
1414
1610
  }
1415
1611
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -1421,7 +1617,7 @@
1421
1617
  }
1422
1618
  };
1423
1619
  FwTableComponent.prototype.setDataSource = function () {
1424
- this.matDataSource = new table.MatTableDataSource(this.dataSource);
1620
+ this.matDataSource = new i1$3.MatTableDataSource(this.dataSource);
1425
1621
  };
1426
1622
  FwTableComponent.prototype.setColumns = function () {
1427
1623
  this.displayedColumns = this.columns.map(function (column) { return column.key; });
@@ -1485,59 +1681,88 @@
1485
1681
  };
1486
1682
  return FwTableComponent;
1487
1683
  }());
1488
- FwTableComponent.decorators = [
1489
- { type: i0.Component, args: [{
1490
- host: {
1491
- 'class': 'fw-table',
1492
- '[class.compact]': 'isCompact',
1493
- },
1494
- selector: 'fw-table',
1495
- 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",
1496
- 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)}"]
1497
- },] }
1498
- ];
1499
- FwTableComponent.ctorParameters = function () { return [
1500
- { type: i0.ChangeDetectorRef }
1501
- ]; };
1502
- FwTableComponent.propDecorators = {
1503
- columns: [{ type: i0.Input }],
1504
- dataSource: [{ type: i0.Input }],
1505
- layout: [{ type: i0.Input }],
1506
- pageSize: [{ type: i0.Input }],
1507
- webCompPageSize: [{ type: i0.Input, args: ['page-size',] }],
1508
- sort: [{ type: i0.Input }],
1509
- matPaginator: [{ type: i0.ViewChild, args: [paginator.MatPaginator,] }],
1510
- matSort: [{ type: i0.ViewChild, args: [sort.MatSort,] }]
1511
- };
1684
+ FwTableComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwTableComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
1685
+ FwTableComponent.ɵcmp = i0__namespace.ɵɵ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: i6.MatPaginator, descendants: true }, { propertyName: "matSort", first: true, predicate: i5$1.MatSort, descendants: true }], usesOnChanges: true, ngImport: i0__namespace, 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__namespace$3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i2__namespace$2.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i3__namespace$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i4__namespace.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i5__namespace$1.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "arrowPosition", "sortActionDescription", "disableClear", "mat-sort-header", "start"], exportAs: ["matSortHeader"] }, { type: i1__namespace$3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i1__namespace$3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i6__namespace.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ type: i5__namespace$1.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortActive"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace$3.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i2__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$2.MatLabel, selector: "mat-label" }, { type: i8__namespace.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__namespace.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__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2__namespace.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i1__namespace$3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i1__namespace$3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1__namespace$3.MatCellDef, selector: "[matCellDef]" }, { type: i1__namespace$3.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i1__namespace$3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i1__namespace$3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }] });
1686
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwTableComponent, decorators: [{
1687
+ type: i0.Component,
1688
+ args: [{
1689
+ host: {
1690
+ 'class': 'fw-table',
1691
+ '[class.compact]': 'isCompact',
1692
+ },
1693
+ selector: 'fw-table',
1694
+ styleUrls: ['./table.component.scss'],
1695
+ templateUrl: './table.component.html',
1696
+ }]
1697
+ }], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { columns: [{
1698
+ type: i0.Input
1699
+ }], dataSource: [{
1700
+ type: i0.Input
1701
+ }], layout: [{
1702
+ type: i0.Input
1703
+ }], pageSize: [{
1704
+ type: i0.Input
1705
+ }], webCompPageSize: [{
1706
+ type: i0.Input,
1707
+ args: ['page-size']
1708
+ }], sort: [{
1709
+ type: i0.Input
1710
+ }], matPaginator: [{
1711
+ type: i0.ViewChild,
1712
+ args: [i6.MatPaginator]
1713
+ }], matSort: [{
1714
+ type: i0.ViewChild,
1715
+ args: [i5$1.MatSort]
1716
+ }] } });
1512
1717
 
1513
1718
  var FwTableModule = /** @class */ (function () {
1514
1719
  function FwTableModule() {
1515
1720
  }
1516
1721
  return FwTableModule;
1517
1722
  }());
1518
- FwTableModule.decorators = [
1519
- { type: i0.NgModule, args: [{
1520
- imports: [
1521
- common.CommonModule,
1522
- forms.FormsModule,
1523
- forms.ReactiveFormsModule,
1524
- input.MatInputModule,
1525
- paginator.MatPaginatorModule,
1526
- select.MatSelectModule,
1527
- sort.MatSortModule,
1528
- table.MatTableModule,
1529
- ],
1530
- exports: [
1531
- FwTableComponent,
1532
- ],
1533
- declarations: [
1534
- FwTableComponent,
1535
- ],
1536
- entryComponents: [
1537
- FwTableComponent,
1538
- ]
1539
- },] }
1540
- ];
1723
+ FwTableModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwTableModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1724
+ FwTableModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwTableModule, declarations: [FwTableComponent], imports: [i2.CommonModule,
1725
+ i9.FormsModule,
1726
+ i9.ReactiveFormsModule,
1727
+ i8.MatInputModule,
1728
+ i6.MatPaginatorModule,
1729
+ i3$1.MatSelectModule,
1730
+ i5$1.MatSortModule,
1731
+ i1$3.MatTableModule], exports: [FwTableComponent] });
1732
+ FwTableModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwTableModule, imports: [[
1733
+ i2.CommonModule,
1734
+ i9.FormsModule,
1735
+ i9.ReactiveFormsModule,
1736
+ i8.MatInputModule,
1737
+ i6.MatPaginatorModule,
1738
+ i3$1.MatSelectModule,
1739
+ i5$1.MatSortModule,
1740
+ i1$3.MatTableModule,
1741
+ ]] });
1742
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FwTableModule, decorators: [{
1743
+ type: i0.NgModule,
1744
+ args: [{
1745
+ imports: [
1746
+ i2.CommonModule,
1747
+ i9.FormsModule,
1748
+ i9.ReactiveFormsModule,
1749
+ i8.MatInputModule,
1750
+ i6.MatPaginatorModule,
1751
+ i3$1.MatSelectModule,
1752
+ i5$1.MatSortModule,
1753
+ i1$3.MatTableModule,
1754
+ ],
1755
+ exports: [
1756
+ FwTableComponent,
1757
+ ],
1758
+ declarations: [
1759
+ FwTableComponent,
1760
+ ],
1761
+ entryComponents: [
1762
+ FwTableComponent,
1763
+ ]
1764
+ }]
1765
+ }] });
1541
1766
 
1542
1767
  /**
1543
1768
  * Generated bundle index. Do not edit.
@@ -1552,6 +1777,8 @@
1552
1777
  exports.FwDialogModule = FwDialogModule;
1553
1778
  exports.FwDialogService = FwDialogService;
1554
1779
  exports.FwErrorDialog = FwErrorDialog;
1780
+ exports.FwIconComponent = FwIconComponent;
1781
+ exports.FwIconModule = FwIconModule;
1555
1782
  exports.FwNotificationComponent = FwNotificationComponent;
1556
1783
  exports.FwNotificationContainerComponent = FwNotificationContainerComponent;
1557
1784
  exports.FwNotificationModule = FwNotificationModule;
@@ -1566,13 +1793,8 @@
1566
1793
  exports.MinimalTranslationService = MinimalTranslationService;
1567
1794
  exports.TranslationService = TranslationService;
1568
1795
  exports.genId = genId;
1569
- exports.ɵ0 = ɵ0;
1570
- exports.ɵa = PipesModule;
1571
- exports.ɵb = TranslatePipe;
1572
- exports.ɵc = TrustHtmlPipe;
1573
- exports.ɵd = FwNotificationTimerService;
1574
1796
 
1575
1797
  Object.defineProperty(exports, '__esModule', { value: true });
1576
1798
 
1577
- })));
1799
+ }));
1578
1800
  //# sourceMappingURL=flywheel-io-vision.umd.js.map