@flywheel-io/vision 0.2.4 → 0.4.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 (46) hide show
  1. package/bundles/flywheel-io-vision-elements.umd.js +12 -3
  2. package/bundles/flywheel-io-vision-elements.umd.js.map +1 -1
  3. package/bundles/flywheel-io-vision-elements.umd.min.js +1 -15
  4. package/bundles/flywheel-io-vision-elements.umd.min.js.map +1 -1
  5. package/bundles/flywheel-io-vision.umd.js +431 -25
  6. package/bundles/flywheel-io-vision.umd.js.map +1 -1
  7. package/bundles/flywheel-io-vision.umd.min.js +1 -16
  8. package/bundles/flywheel-io-vision.umd.min.js.map +1 -1
  9. package/components/dialog/choice-dialog.component.d.ts +24 -0
  10. package/components/dialog/confirm-dialog.component.d.ts +12 -0
  11. package/components/dialog/dialog.module.d.ts +2 -0
  12. package/components/dialog/dialog.service.d.ts +19 -0
  13. package/components/dialog/error-dialog.component.d.ts +10 -0
  14. package/components/dialog/portal-dialog.component.d.ts +25 -0
  15. package/components/notification/notification-container/notification-container.component.d.ts +2 -2
  16. package/components/shared/pipes/pipes.module.d.ts +4 -0
  17. package/components/shared/pipes/translate.pipe.d.ts +15 -0
  18. package/components/shared/pipes/trusthtml.pipe.d.ts +7 -0
  19. package/components/shared/translation.service.d.ts +11 -0
  20. package/esm2015/components/dialog/choice-dialog.component.js +52 -0
  21. package/esm2015/components/dialog/confirm-dialog.component.js +40 -0
  22. package/esm2015/components/dialog/dialog.module.js +45 -0
  23. package/esm2015/components/dialog/dialog.service.js +69 -0
  24. package/esm2015/components/dialog/error-dialog.component.js +32 -0
  25. package/esm2015/components/dialog/portal-dialog.component.js +88 -0
  26. package/esm2015/components/notification/notification/notification.component.js +3 -3
  27. package/esm2015/components/notification/notification-container/notification-container.component.js +17 -16
  28. package/esm2015/components/popover/popover.component.js +1 -1
  29. package/esm2015/components/shared/pipes/pipes.module.js +24 -0
  30. package/esm2015/components/shared/pipes/translate.pipe.js +40 -0
  31. package/esm2015/components/shared/pipes/trusthtml.pipe.js +20 -0
  32. package/esm2015/components/shared/translation.service.js +22 -0
  33. package/esm2015/flywheel-io-vision.js +5 -2
  34. package/esm2015/public-api.js +8 -1
  35. package/fesm2015/flywheel-io-vision.js +420 -23
  36. package/fesm2015/flywheel-io-vision.js.map +1 -1
  37. package/flywheel-io-vision.d.ts +4 -1
  38. package/flywheel-io-vision.metadata.json +1 -1
  39. package/package.json +12 -12
  40. package/public-api.d.ts +7 -0
  41. package/scss/config/colors.scss +87 -87
  42. package/scss/config/config.scss +1 -1
  43. package/scss/config/theme.scss +34 -34
  44. package/scss/material/overrides.scss +8 -20
  45. package/styles.css +452 -366
  46. package/styles.scss +11 -13
@@ -1,8 +1,8 @@
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('rxjs'), require('@angular/material/icon'), require('@angular/cdk/overlay'), require('@angular/cdk/portal'), require('@angular/forms'), require('@angular/material/paginator'), require('@angular/material/sort'), require('@angular/material/table'), require('rxjs/operators'), 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', 'rxjs', '@angular/material/icon', '@angular/cdk/overlay', '@angular/cdk/portal', '@angular/forms', '@angular/material/paginator', '@angular/material/sort', '@angular/material/table', 'rxjs/operators', '@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.rxjs, global.ng.material.icon, global.ng.cdk.overlay, global.ng.cdk.portal, global.ng.forms, global.ng.material.paginator, global.ng.material.sort, global.ng.material.table, global.rxjs.operators, global.ng.material.input, global.ng.material.select));
5
- }(this, (function (exports, i0, common, button, rxjs, icon, overlay, portal, forms, paginator, sort, table, operators, input, select) { 'use strict';
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';
6
6
 
7
7
  var FwButtonGroupComponent = /** @class */ (function () {
8
8
  function FwButtonGroupComponent() {
@@ -102,7 +102,156 @@
102
102
  },] }
103
103
  ];
104
104
 
105
- /*! *****************************************************************************
105
+ var FwChoiceDialog = /** @class */ (function () {
106
+ function FwChoiceDialog(data) {
107
+ this.data = data;
108
+ this.alignActions = this.data.alignActions
109
+ ? this.data.alignActions === 'start'
110
+ ? null
111
+ : this.data.alignActions
112
+ : 'center';
113
+ this.choices = this.data.choices;
114
+ this.content = this.data.content;
115
+ this.title = this.data.title;
116
+ }
117
+ FwChoiceDialog.prototype.getTestId = function (choice) {
118
+ var _a;
119
+ return choice.testId || String((_a = choice.label) !== null && _a !== void 0 ? _a : choice.value).toLowerCase() + "-button";
120
+ };
121
+ return FwChoiceDialog;
122
+ }());
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
+ ]; };
160
+
161
+ var FwDialogService = /** @class */ (function () {
162
+ function FwDialogService(matDialog) {
163
+ this.matDialog = matDialog;
164
+ this.dialogs = [];
165
+ this.config = new Map();
166
+ }
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);
220
+ };
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;
238
+ }());
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
+ ]; };
253
+
254
+ /******************************************************************************
106
255
  Copyright (c) Microsoft Corporation.
107
256
 
108
257
  Permission to use, copy, modify, and/or distribute this software for any
@@ -264,7 +413,11 @@
264
413
  var __createBinding = Object.create ? (function (o, m, k, k2) {
265
414
  if (k2 === undefined)
266
415
  k2 = k;
267
- Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
416
+ var desc = Object.getOwnPropertyDescriptor(m, k);
417
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
418
+ desc = { enumerable: true, get: function () { return m[k]; } };
419
+ }
420
+ Object.defineProperty(o, k2, desc);
268
421
  }) : (function (o, m, k, k2) {
269
422
  if (k2 === undefined)
270
423
  k2 = k;
@@ -337,7 +490,7 @@
337
490
  ar[i] = from[i];
338
491
  }
339
492
  }
340
- return to.concat(ar || from);
493
+ return to.concat(ar || Array.prototype.slice.call(from));
341
494
  }
342
495
  function __await(v) {
343
496
  return this instanceof __await ? (this.v = v, this) : new __await(v);
@@ -419,6 +572,246 @@
419
572
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
420
573
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
421
574
  }
575
+ function __classPrivateFieldIn(state, receiver) {
576
+ if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function"))
577
+ throw new TypeError("Cannot use 'in' operator on non-object");
578
+ return typeof state === "function" ? receiver === state : state.has(receiver);
579
+ }
580
+
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
+ var TranslationService = /** @class */ (function () {
664
+ function TranslationService() {
665
+ }
666
+ return TranslationService;
667
+ }());
668
+ /**
669
+ * Very basic i18n implementation. Consumer apps can provide their own implementation of TranslationService to override.
670
+ */
671
+ var MinimalTranslationService = /** @class */ (function () {
672
+ function MinimalTranslationService() {
673
+ }
674
+ MinimalTranslationService.prototype.getMessage = function (key, silent) {
675
+ return rxjs.of(MinimalTranslationService.messages[key]);
676
+ };
677
+ return MinimalTranslationService;
678
+ }());
679
+ MinimalTranslationService.messages = {
680
+ 'common.actions.close': 'Close',
681
+ 'confirmDialog.body': 'Are you sure?',
682
+ 'confirmDialog.no': 'No',
683
+ 'confirmDialog.yes': 'Yes',
684
+ };
685
+ MinimalTranslationService.decorators = [
686
+ { type: i0.Injectable }
687
+ ];
688
+
689
+ /**
690
+ * Translate a message given a nested key to a location in the loaded locale copy.
691
+ */
692
+ var TranslatePipe = /** @class */ (function () {
693
+ function TranslatePipe(cdr, translationService) {
694
+ this.cdr = cdr;
695
+ this.translationService = translationService;
696
+ this.subscriptions = {};
697
+ this.messages = {};
698
+ }
699
+ TranslatePipe.prototype.ngOnDestroy = function () {
700
+ var e_1, _a;
701
+ try {
702
+ for (var _b = __values(Object.values(this.subscriptions)), _c = _b.next(); !_c.done; _c = _b.next()) {
703
+ var subscription = _c.value;
704
+ subscription.unsubscribe();
705
+ }
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);
711
+ }
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
+ }
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
+ };
747
+ return TrustHtmlPipe;
748
+ }());
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
+ ]; };
758
+
759
+ var exports$1 = [
760
+ TranslatePipe,
761
+ TrustHtmlPipe,
762
+ ];
763
+ var PipesModule = /** @class */ (function () {
764
+ function PipesModule() {
765
+ }
766
+ return PipesModule;
767
+ }());
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
+ ];
780
+
781
+ var ɵ0 = {
782
+ disableClose: true,
783
+ hasBackdrop: true,
784
+ };
785
+ var FwDialogModule = /** @class */ (function () {
786
+ function FwDialogModule() {
787
+ }
788
+ return FwDialogModule;
789
+ }());
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
+ ];
422
815
 
423
816
  function genId() {
424
817
  return String.prototype.padStart(24, Math.floor(Math.random() * Date.now()).toString(16));
@@ -459,15 +852,15 @@
459
852
  this.notificationService = notificationService;
460
853
  this.limit = 3;
461
854
  this.notifications = [];
462
- this.showMore = false;
463
- this.showLess = false;
855
+ this.expanded = false;
464
856
  this.subscriptions = {
465
- notifications: rxjs.Subscription.EMPTY
857
+ notifications: rxjs.Subscription.EMPTY,
466
858
  };
467
859
  this.subscriptions.notifications = this.notificationService.notifications$.subscribe(function (notifications) {
468
860
  _this.notifications = notifications;
469
- _this.showMore = _this.notifications.length > 1;
470
- _this.showLess = false;
861
+ if (notifications.length === 0) {
862
+ _this.expanded = false;
863
+ }
471
864
  _this.cdr.markForCheck();
472
865
  });
473
866
  }
@@ -492,7 +885,7 @@
492
885
  var level = this.notifications.length > this.limit
493
886
  ? index - (this.notifications.length - this.limit)
494
887
  : index;
495
- if (this.showLess) {
888
+ if (this.expanded) {
496
889
  cssClass = 'default';
497
890
  }
498
891
  else {
@@ -500,6 +893,9 @@
500
893
  }
501
894
  return cssClass;
502
895
  };
896
+ FwNotificationContainerComponent.prototype.getEmptyNotification = function (notification) {
897
+ return Object.assign(Object.assign({}, notification), { message: ' ' }); // take up a line but show no content
898
+ };
503
899
  FwNotificationContainerComponent.prototype.onReady = function (notification) {
504
900
  var currentNotification = this.notifications[this.notifications.length - 1];
505
901
  currentNotification.ref = notification;
@@ -510,23 +906,21 @@
510
906
  if (notification === null || notification === void 0 ? void 0 : notification.ref) {
511
907
  notification.ref.stopTimer();
512
908
  }
513
- this.notificationService.dismiss(notification.id);
909
+ if (notification === null || notification === void 0 ? void 0 : notification.id) {
910
+ this.notificationService.dismiss(notification.id);
911
+ }
514
912
  this.cdr.markForCheck();
515
913
  };
516
914
  FwNotificationContainerComponent.prototype.clearAll = function () {
517
- this.showMore = false;
518
- this.showLess = false;
519
915
  this.notificationService.dismissAll();
520
916
  this.cdr.markForCheck();
521
917
  };
522
918
  FwNotificationContainerComponent.prototype.onShowMore = function () {
523
- this.showLess = true;
524
- this.showMore = false;
919
+ this.expanded = true;
525
920
  this.cdr.markForCheck();
526
921
  };
527
922
  FwNotificationContainerComponent.prototype.onShowLess = function () {
528
- this.showMore = true;
529
- this.showLess = false;
923
+ this.expanded = false;
530
924
  this.cdr.markForCheck();
531
925
  };
532
926
  return FwNotificationContainerComponent;
@@ -539,7 +933,7 @@
539
933
  '[class.triple]': 'notifications.length >= 3',
540
934
  },
541
935
  selector: 'fw-notification-container',
542
- template: "<div role=\"list\">\n <fw-notification *ngFor=\"let notification of notifications; index as i\"\n (ready)=\"onReady($event)\"\n (dismiss)=\"onDismiss($event)\"\n [class]=\"notificationClass(i)\"\n [notification]=\"notification\"\n [attr.aria-label]=\"notification.type + ' : ' + notification.message\"\n role=\"listitem\"\n ></fw-notification>\n <div class=\"buttons\">\n <fw-button *ngIf=\"showLess\" (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=\"showMore\" (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",
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",
543
937
  encapsulation: i0.ViewEncapsulation.None,
544
938
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
545
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)}"]
@@ -647,11 +1041,11 @@
647
1041
  '(click)': 'onClickDismiss()'
648
1042
  },
649
1043
  selector: 'fw-notification',
650
- template: "<ng-container>{{ notification?.message }}</ng-container>",
1044
+ template: "{{ notification?.message }}",
651
1045
  providers: [FwNotificationTimerService],
652
1046
  encapsulation: i0.ViewEncapsulation.None,
653
1047
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
654
- styles: ["fw-notification{display:block;border-radius:4px;box-sizing:border-box;margin:5px 24px;max-width:33vw;min-width:344px;padding:14px 16px;height:48px;transform-origin:center;background-color:#2f96b4;border:1px solid hsla(0,0%,100%,.7019607843137254);box-shadow:0 0 12px #999;color:#fff;opacity:.99}fw-notification .notification{display:flex;justify-content:space-between;align-items:center}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}"]
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}"]
655
1049
  },] }
656
1050
  ];
657
1051
  FwNotificationComponent.ctorParameters = function () { return [
@@ -894,7 +1288,7 @@
894
1288
  selector: 'fw-popover',
895
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>",
896
1290
  encapsulation: i0.ViewEncapsulation.None,
897
- 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:#d22239!important}.fill-red{background-color:#d22239!important}.border-red,.border-top-red{border-color:#d22239!important}.border-top-red{border-top:1px solid}.border-right-red{border-right:1px solid;border-color:#d22239!important}.border-bottom-red{border-bottom:1px solid;border-color:#d22239!important}.border-left-red{border-left:1px solid;border-color:#d22239!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:#e7f0fc!important}.fill-light-blue{background-color:#e7f0fc!important}.border-light-blue,.border-top-light-blue{border-color:#e7f0fc!important}.border-top-light-blue{border-top:1px solid}.border-right-light-blue{border-right:1px solid;border-color:#e7f0fc!important}.border-bottom-light-blue{border-bottom:1px solid;border-color:#e7f0fc!important}.border-left-light-blue{border-left:1px solid;border-color:#e7f0fc!important}.bright-blue{color:#2e72f6!important}.fill-bright-blue{background-color:#2e72f6!important}.border-bright-blue,.border-top-bright-blue{border-color:#2e72f6!important}.border-top-bright-blue{border-top:1px solid}.border-right-bright-blue{border-right:1px solid;border-color:#2e72f6!important}.border-bottom-bright-blue{border-bottom:1px solid;border-color:#2e72f6!important}.border-left-bright-blue{border-left:1px solid;border-color:#2e72f6!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}.iron-grey{color:#d3d6db!important}.fill-iron-grey{background-color:#d3d6db!important}.border-iron-grey,.border-top-iron-grey{border-color:#d3d6db!important}.border-top-iron-grey{border-top:1px solid}.border-right-iron-grey{border-right:1px solid;border-color:#d3d6db!important}.border-bottom-iron-grey{border-bottom:1px solid;border-color:#d3d6db!important}.border-left-iron-grey{border-left:1px solid;border-color:#d3d6db!important}.bombay-grey{color:#aaacb0!important}.fill-bombay-grey{background-color:#aaacb0!important}.border-bombay-grey,.border-top-bombay-grey{border-color:#aaacb0!important}.border-top-bombay-grey{border-top:1px solid}.border-right-bombay-grey{border-right:1px solid;border-color:#aaacb0!important}.border-bottom-bombay-grey{border-bottom:1px solid;border-color:#aaacb0!important}.border-left-bombay-grey{border-left:1px solid;border-color:#aaacb0!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}.darker-soft-blue{color:#e9ecf1!important}.fill-darker-soft-blue{background-color:#e9ecf1!important}.border-darker-soft-blue,.border-top-darker-soft-blue{border-color:#e9ecf1!important}.border-top-darker-soft-blue{border-top:1px solid}.border-right-darker-soft-blue{border-right:1px solid;border-color:#e9ecf1!important}.border-bottom-darker-soft-blue{border-bottom:1px solid;border-color:#e9ecf1!important}.border-left-darker-soft-blue{border-left:1px solid;border-color:#e9ecf1!important}.lighter-soft-blue{color:#f5f6f9!important}.fill-lighter-soft-blue{background-color:#f5f6f9!important}.border-lighter-soft-blue,.border-top-lighter-soft-blue{border-color:#f5f6f9!important}.border-top-lighter-soft-blue{border-top:1px solid}.border-right-lighter-soft-blue{border-right:1px solid;border-color:#f5f6f9!important}.border-bottom-lighter-soft-blue{border-bottom:1px solid;border-color:#f5f6f9!important}.border-left-lighter-soft-blue{border-left:1px solid;border-color:#f5f6f9!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-1000);--color-primary-100:#eaf1fe;--color-primary-200:#d5e3fd;--color-primary-300:#c0d5fc;--color-primary-400:#abc7fb;--color-primary-500:#97b9fb;--color-primary-600:#82aafa;--color-primary-700:#6da2ff;--color-primary-800:#588ef8;--color-primary-900:#4380f7;--color-primary-1000:#2e72f6;--color-primary-1100:#2967dd;--color-primary-1200:#255bc5;--color-primary-1300:#2050ac;--color-primary-1400:#1c4494;--color-primary-1500:#083076;--color-primary-1600:#122e62;--color-primary-1700:#0e224a;--color-primary-1800:#061734;--color-primary-1900:#050b19;--color-secondary:var(--color-secondary-900);--color-secondary-100:#ccf1e4;--color-secondary-200:#b3e9d7;--color-secondary-300:#99e2c9;--color-secondary-400:#80dbbc;--color-secondary-500:#66d4ae;--color-secondary-600:#4dcda1;--color-secondary-700:#33c593;--color-secondary-800:#1abe86;--color-secondary-900:#00b778;--color-secondary-1000:#00a56c;--color-secondary-1100:#009260;--color-secondary-1200:#008054;--color-secondary-1300:#006e48;--color-secondary-1400:#005c3c;--color-secondary-1500:#004930;--color-secondary-1600:#002518;--color-secondary-1700:#00120c}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}"]
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:#d22239!important}.fill-red{background-color:#d22239!important}.border-red,.border-top-red{border-color:#d22239!important}.border-top-red{border-top:1px solid}.border-right-red{border-right:1px solid;border-color:#d22239!important}.border-bottom-red{border-bottom:1px solid;border-color:#d22239!important}.border-left-red{border-left:1px solid;border-color:#d22239!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:#e7f0fc!important}.fill-light-blue{background-color:#e7f0fc!important}.border-light-blue,.border-top-light-blue{border-color:#e7f0fc!important}.border-top-light-blue{border-top:1px solid}.border-right-light-blue{border-right:1px solid;border-color:#e7f0fc!important}.border-bottom-light-blue{border-bottom:1px solid;border-color:#e7f0fc!important}.border-left-light-blue{border-left:1px solid;border-color:#e7f0fc!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}"]
898
1292
  },] }
899
1293
  ];
900
1294
  FwPopoverComponent.propDecorators = {
@@ -1153,6 +1547,11 @@
1153
1547
  exports.FwButtonGroupComponent = FwButtonGroupComponent;
1154
1548
  exports.FwButtonGroupModule = FwButtonGroupModule;
1155
1549
  exports.FwButtonModule = FwButtonModule;
1550
+ exports.FwChoiceDialog = FwChoiceDialog;
1551
+ exports.FwConfirmDialog = FwConfirmDialog;
1552
+ exports.FwDialogModule = FwDialogModule;
1553
+ exports.FwDialogService = FwDialogService;
1554
+ exports.FwErrorDialog = FwErrorDialog;
1156
1555
  exports.FwNotificationComponent = FwNotificationComponent;
1157
1556
  exports.FwNotificationContainerComponent = FwNotificationContainerComponent;
1158
1557
  exports.FwNotificationModule = FwNotificationModule;
@@ -1161,10 +1560,17 @@
1161
1560
  exports.FwPopoverModule = FwPopoverModule;
1162
1561
  exports.FwPopoverTriggerComponent = FwPopoverTriggerComponent;
1163
1562
  exports.FwPopoverTriggerDirective = FwPopoverTriggerDirective;
1563
+ exports.FwPortalDialog = FwPortalDialog;
1164
1564
  exports.FwTableComponent = FwTableComponent;
1165
1565
  exports.FwTableModule = FwTableModule;
1566
+ exports.MinimalTranslationService = MinimalTranslationService;
1567
+ exports.TranslationService = TranslationService;
1166
1568
  exports.genId = genId;
1167
- exports.ɵa = FwNotificationTimerService;
1569
+ exports.ɵ0 = ɵ0;
1570
+ exports.ɵa = PipesModule;
1571
+ exports.ɵb = TranslatePipe;
1572
+ exports.ɵc = TrustHtmlPipe;
1573
+ exports.ɵd = FwNotificationTimerService;
1168
1574
 
1169
1575
  Object.defineProperty(exports, '__esModule', { value: true });
1170
1576