@flywheel-io/vision 0.5.0 → 0.7.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 (125) hide show
  1. package/README.md +1 -19
  2. package/assets/fonts/Flywheel-Vision-Icons.svg +239 -0
  3. package/assets/fonts/{flywheel.eot → Flywheel-Vision-Icons.ttf} +0 -0
  4. package/assets/fonts/{flywheel.ttf → Flywheel-Vision-Icons.woff} +0 -0
  5. package/components/button/button.component.d.ts +3 -0
  6. package/components/button/button.module.d.ts +7 -0
  7. package/components/button-group/button-group.component.d.ts +3 -0
  8. package/components/button-group/button-group.module.d.ts +5 -0
  9. package/components/dialog/choice-dialog.component.d.ts +11 -5
  10. package/components/dialog/confirm-dialog.component.d.ts +3 -0
  11. package/components/dialog/dialog.module.d.ts +14 -0
  12. package/components/dialog/dialog.service.d.ts +3 -0
  13. package/components/dialog/error-dialog.component.d.ts +3 -0
  14. package/components/dialog/portal-dialog.component.d.ts +3 -0
  15. package/components/icon/icon.component.d.ts +5 -0
  16. package/components/icon/icon.module.d.ts +8 -0
  17. package/components/notification/notification/notification.component.d.ts +3 -0
  18. package/components/notification/notification-container/notification-container.component.d.ts +3 -0
  19. package/components/notification/notification.module.d.ts +11 -0
  20. package/components/notification/notification.service.d.ts +3 -0
  21. package/components/popover/popover-trigger.component.d.ts +3 -0
  22. package/components/popover/popover-trigger.directive.d.ts +3 -0
  23. package/components/popover/popover.component.d.ts +3 -0
  24. package/components/popover/popover.module.d.ts +8 -0
  25. package/components/shared/pipes/pipes.module.d.ts +6 -0
  26. package/components/shared/pipes/translate.pipe.d.ts +3 -0
  27. package/components/shared/pipes/trusthtml.pipe.d.ts +3 -0
  28. package/components/shared/translation.service.d.ts +3 -0
  29. package/components/table/table.component.d.ts +3 -0
  30. package/components/table/table.module.d.ts +12 -0
  31. package/elements/README.md +20 -0
  32. package/elements/flywheel-io-vision-elements.d.ts +1 -0
  33. package/elements/package.json +5 -6
  34. package/esm2020/components/button/button.component.mjs +32 -0
  35. package/esm2020/components/button/button.module.mjs +33 -0
  36. package/esm2020/components/button-group/button-group.component.mjs +25 -0
  37. package/esm2020/components/button-group/button-group.module.mjs +23 -0
  38. package/esm2020/components/dialog/choice-dialog.component.mjs +90 -0
  39. package/esm2020/components/dialog/confirm-dialog.component.mjs +57 -0
  40. package/{esm2015/components/dialog/dialog.module.js → esm2020/components/dialog/dialog.module.mjs} +58 -31
  41. package/esm2020/components/dialog/dialog.service.mjs +72 -0
  42. package/esm2020/components/dialog/error-dialog.component.mjs +45 -0
  43. package/esm2020/components/dialog/portal-dialog.component.mjs +112 -0
  44. package/esm2020/components/icon/icon.component.mjs +19 -0
  45. package/esm2020/components/icon/icon.module.mjs +26 -0
  46. package/esm2020/components/notification/notification/notification.component.mjs +69 -0
  47. package/{esm2015/components/notification/notification/notification.model.js → esm2020/components/notification/notification/notification.model.mjs} +0 -0
  48. package/esm2020/components/notification/notification-container/notification-container.component.mjs +86 -0
  49. package/{esm2015/components/notification/notification-timer.service.js → esm2020/components/notification/notification-timer.service.mjs} +0 -0
  50. package/esm2020/components/notification/notification.module.mjs +56 -0
  51. package/{esm2015/components/notification/notification.service.js → esm2020/components/notification/notification.service.mjs} +9 -7
  52. package/esm2020/components/popover/popover-trigger.component.mjs +56 -0
  53. package/esm2020/components/popover/popover-trigger.directive.mjs +133 -0
  54. package/esm2020/components/popover/popover.component.mjs +29 -0
  55. package/esm2020/components/popover/popover.module.mjs +46 -0
  56. package/esm2020/components/shared/pipes/pipes.module.mjs +36 -0
  57. package/esm2020/components/shared/pipes/translate.pipe.mjs +39 -0
  58. package/esm2020/components/shared/pipes/trusthtml.pipe.mjs +21 -0
  59. package/esm2020/components/shared/translation.service.mjs +25 -0
  60. package/esm2020/components/table/table.component.mjs +179 -0
  61. package/esm2020/components/table/table.module.mjs +56 -0
  62. package/esm2020/elements/elements.mjs +61 -0
  63. package/{esm2015/elements/flywheel-io-vision-elements.js → esm2020/elements/flywheel-io-vision-elements.mjs} +0 -0
  64. package/{esm2015/elements/polyfills.js → esm2020/elements/polyfills.mjs} +0 -0
  65. package/{esm2015/elements/public-api.js → esm2020/elements/public-api.mjs} +0 -0
  66. package/esm2020/flywheel-io-vision.mjs +5 -0
  67. package/esm2020/public-api.mjs +25 -0
  68. package/fesm2015/{flywheel-io-vision-elements.js → flywheel-io-vision-elements.mjs} +19 -14
  69. package/fesm2015/flywheel-io-vision-elements.mjs.map +1 -0
  70. package/fesm2015/flywheel-io-vision.mjs +1402 -0
  71. package/fesm2015/flywheel-io-vision.mjs.map +1 -0
  72. package/fesm2020/flywheel-io-vision-elements.mjs +85 -0
  73. package/fesm2020/flywheel-io-vision-elements.mjs.map +1 -0
  74. package/fesm2020/flywheel-io-vision.mjs +1392 -0
  75. package/fesm2020/flywheel-io-vision.mjs.map +1 -0
  76. package/flywheel-io-vision.d.ts +1 -4
  77. package/package.json +43 -19
  78. package/public-api.d.ts +2 -0
  79. package/scss/atoms/ghost.scss +30 -0
  80. package/scss/config/theme.scss +6 -6
  81. package/scss/icons/_icon-font-face.scss +5 -6
  82. package/scss/icons/_icon-glyphs.scss +96 -16
  83. package/scss/material/overrides.scss +6 -1
  84. package/styles.css +274 -202
  85. package/styles.scss +8 -9
  86. package/assets/fonts/flywheel.svg +0 -101
  87. package/assets/fonts/flywheel.woff +0 -0
  88. package/bundles/flywheel-io-vision-elements.umd.js +0 -425
  89. package/bundles/flywheel-io-vision-elements.umd.js.map +0 -1
  90. package/bundles/flywheel-io-vision-elements.umd.min.js +0 -2
  91. package/bundles/flywheel-io-vision-elements.umd.min.js.map +0 -1
  92. package/bundles/flywheel-io-vision.umd.js +0 -1578
  93. package/bundles/flywheel-io-vision.umd.js.map +0 -1
  94. package/bundles/flywheel-io-vision.umd.min.js +0 -2
  95. package/bundles/flywheel-io-vision.umd.min.js.map +0 -1
  96. package/elements/flywheel-io-vision-elements.metadata.json +0 -1
  97. package/esm2015/components/button/button.component.js +0 -29
  98. package/esm2015/components/button/button.module.js +0 -24
  99. package/esm2015/components/button-group/button-group.component.js +0 -27
  100. package/esm2015/components/button-group/button-group.module.js +0 -18
  101. package/esm2015/components/dialog/choice-dialog.component.js +0 -52
  102. package/esm2015/components/dialog/confirm-dialog.component.js +0 -40
  103. package/esm2015/components/dialog/dialog.service.js +0 -69
  104. package/esm2015/components/dialog/error-dialog.component.js +0 -32
  105. package/esm2015/components/dialog/portal-dialog.component.js +0 -88
  106. package/esm2015/components/notification/notification/notification.component.js +0 -73
  107. package/esm2015/components/notification/notification-container/notification-container.component.js +0 -89
  108. package/esm2015/components/notification/notification.module.js +0 -37
  109. package/esm2015/components/popover/popover-trigger.component.js +0 -49
  110. package/esm2015/components/popover/popover-trigger.directive.js +0 -134
  111. package/esm2015/components/popover/popover.component.js +0 -23
  112. package/esm2015/components/popover/popover.module.js +0 -33
  113. package/esm2015/components/shared/pipes/pipes.module.js +0 -24
  114. package/esm2015/components/shared/pipes/translate.pipe.js +0 -40
  115. package/esm2015/components/shared/pipes/trusthtml.pipe.js +0 -20
  116. package/esm2015/components/shared/translation.service.js +0 -22
  117. package/esm2015/components/table/table.component.js +0 -165
  118. package/esm2015/components/table/table.module.js +0 -35
  119. package/esm2015/elements/elements.js +0 -56
  120. package/esm2015/flywheel-io-vision.js +0 -9
  121. package/esm2015/public-api.js +0 -23
  122. package/fesm2015/flywheel-io-vision-elements.js.map +0 -1
  123. package/fesm2015/flywheel-io-vision.js +0 -1168
  124. package/fesm2015/flywheel-io-vision.js.map +0 -1
  125. package/flywheel-io-vision.metadata.json +0 -1
@@ -0,0 +1,90 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/button";
5
+ import * as i2 from "@angular/material/icon";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "@angular/material/dialog";
8
+ export class FwChoiceDialog {
9
+ constructor(data) {
10
+ this.data = data;
11
+ this.alignActions = this.data.alignActions
12
+ ? this.data.alignActions === 'start'
13
+ ? null
14
+ : this.data.alignActions
15
+ : 'center';
16
+ this.choices = this.data.choices;
17
+ this.closeValue = this.data.closeValue;
18
+ this.content = this.data.content;
19
+ this.title = this.data.title;
20
+ }
21
+ get showCloseButton() {
22
+ return 'closeValue' in this.data;
23
+ }
24
+ getTestId(choice) {
25
+ return choice.testId || `${String(choice.label ?? choice.value).toLowerCase()}-button`;
26
+ }
27
+ }
28
+ FwChoiceDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwChoiceDialog, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
29
+ FwChoiceDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwChoiceDialog, selector: "fw-choice-dialog", host: { attributes: { "test-id": "choice-dialog" }, classAttribute: "mat-dialog-component" }, ngImport: i0, template: `
30
+ <h1 mat-dialog-title *ngIf="title">{{ title }}</h1>
31
+ <button *ngIf="showCloseButton" test-id="dialog-close-corner" mat-icon-button
32
+ [mat-dialog-close]="closeValue" [class]="{'mat-dialog-close-button': true, 'no-title': !title}">
33
+ <mat-icon>close</mat-icon>
34
+ </button>
35
+ <div mat-dialog-content>{{ content }}</div>
36
+ <div mat-dialog-actions [align]="alignActions">
37
+ <ng-container *ngFor="let choice of choices" [ngSwitch]="choice.variant">
38
+ <button *ngSwitchCase="'raised'" mat-raised-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
39
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
40
+ <button *ngSwitchCase="'stroked'" mat-stroked-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
41
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
42
+ <button *ngSwitchCase="'flat'" mat-flat-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
43
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
44
+ <ng-container *ngSwitchDefault>
45
+ <button *ngIf="choice.color" mat-flat-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
46
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
47
+ <button *ngIf="!choice.color" mat-stroked-button [attr.test-id]="getTestId(choice)"
48
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
49
+ </ng-container>
50
+ </ng-container>
51
+ </div>
52
+ `, isInline: true, components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwChoiceDialog, decorators: [{
54
+ type: Component,
55
+ args: [{
56
+ host: {
57
+ class: 'mat-dialog-component',
58
+ 'test-id': 'choice-dialog',
59
+ },
60
+ selector: 'fw-choice-dialog',
61
+ template: `
62
+ <h1 mat-dialog-title *ngIf="title">{{ title }}</h1>
63
+ <button *ngIf="showCloseButton" test-id="dialog-close-corner" mat-icon-button
64
+ [mat-dialog-close]="closeValue" [class]="{'mat-dialog-close-button': true, 'no-title': !title}">
65
+ <mat-icon>close</mat-icon>
66
+ </button>
67
+ <div mat-dialog-content>{{ content }}</div>
68
+ <div mat-dialog-actions [align]="alignActions">
69
+ <ng-container *ngFor="let choice of choices" [ngSwitch]="choice.variant">
70
+ <button *ngSwitchCase="'raised'" mat-raised-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
71
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
72
+ <button *ngSwitchCase="'stroked'" mat-stroked-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
73
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
74
+ <button *ngSwitchCase="'flat'" mat-flat-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
75
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
76
+ <ng-container *ngSwitchDefault>
77
+ <button *ngIf="choice.color" mat-flat-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
78
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
79
+ <button *ngIf="!choice.color" mat-stroked-button [attr.test-id]="getTestId(choice)"
80
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
81
+ </ng-container>
82
+ </ng-container>
83
+ </div>
84
+ `,
85
+ }]
86
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
87
+ type: Inject,
88
+ args: [MAT_DIALOG_DATA]
89
+ }] }]; } });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvaWNlLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kaWFsb2cvY2hvaWNlLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUFpRDNELE1BQU0sT0FBTyxjQUFjO0lBV3pCLFlBQ21DLElBQXdCO1FBQXhCLFNBQUksR0FBSixJQUFJLENBQW9CO1FBWGxELGlCQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZO1lBQzVDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksS0FBSyxPQUFPO2dCQUNsQyxDQUFDLENBQUMsSUFBSTtnQkFDTixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZO1lBQzFCLENBQUMsQ0FBQyxRQUFRLENBQUE7UUFDSCxZQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7UUFDM0IsZUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFBO1FBQ2pDLFlBQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtRQUMzQixVQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUE7SUFJN0IsQ0FBQztJQUVKLElBQUksZUFBZTtRQUNqQixPQUFPLFlBQVksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBTTtRQUNkLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO0lBQ3pGLENBQUM7OzRHQXJCVSxjQUFjLGtCQVlmLGVBQWU7Z0dBWmQsY0FBYyxzSkF6QmY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJUOzRGQUVVLGNBQWM7a0JBL0IxQixTQUFTO21CQUFDO29CQUNULElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsc0JBQXNCO3dCQUM3QixTQUFTLEVBQUUsZUFBZTtxQkFDM0I7b0JBQ0QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCVDtpQkFDRjs7MEJBYUksTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW50ZXJmYWNlIENob2ljZSB7XG4gIGNvbG9yPzogVGhlbWVQYWxldHRlXG4gIGxhYmVsOiBzdHJpbmdcbiAgdGVzdElkPzogc3RyaW5nXG4gIHZhbHVlOiBhbnlcbiAgdmFyaWFudD86ICdyYWlzZWQnIHwgJ3N0cm9rZWQnIHwgJ2ZsYXQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRndDaG9pY2VEaWFsb2dEYXRhIHtcbiAgYWxpZ25BY3Rpb25zPzogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCdcbiAgY2hvaWNlczogQ2hvaWNlW11cbiAgY2xvc2VWYWx1ZT86IGFueVxuICBjb250ZW50OiBzdHJpbmdcbiAgdGl0bGU/OiBzdHJpbmdcbn1cblxuQENvbXBvbmVudCh7XG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ21hdC1kaWFsb2ctY29tcG9uZW50JyxcbiAgICAndGVzdC1pZCc6ICdjaG9pY2UtZGlhbG9nJyxcbiAgfSxcbiAgc2VsZWN0b3I6ICdmdy1jaG9pY2UtZGlhbG9nJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aDEgbWF0LWRpYWxvZy10aXRsZSAqbmdJZj1cInRpdGxlXCI+e3sgdGl0bGUgfX08L2gxPlxuICAgIDxidXR0b24gKm5nSWY9XCJzaG93Q2xvc2VCdXR0b25cIiB0ZXN0LWlkPVwiZGlhbG9nLWNsb3NlLWNvcm5lclwiIG1hdC1pY29uLWJ1dHRvblxuICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwiY2xvc2VWYWx1ZVwiIFtjbGFzc109XCJ7J21hdC1kaWFsb2ctY2xvc2UtYnV0dG9uJzogdHJ1ZSwgJ25vLXRpdGxlJzogIXRpdGxlfVwiPlxuICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudD57eyBjb250ZW50IH19PC9kaXY+XG4gICAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgW2FsaWduXT1cImFsaWduQWN0aW9uc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hvaWNlIG9mIGNob2ljZXNcIiBbbmdTd2l0Y2hdPVwiY2hvaWNlLnZhcmlhbnRcIj5cbiAgICAgICAgPGJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiJ3JhaXNlZCdcIiBtYXQtcmFpc2VkLWJ1dHRvbiBbY29sb3JdPVwiY2hvaWNlLmNvbG9yXCIgW2F0dHIudGVzdC1pZF09XCJnZXRUZXN0SWQoY2hvaWNlKVwiXG4gICAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwiY2hvaWNlLnZhbHVlXCI+e3sgY2hvaWNlLmxhYmVsIH19PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gKm5nU3dpdGNoQ2FzZT1cIidzdHJva2VkJ1wiIG1hdC1zdHJva2VkLWJ1dHRvbiBbY29sb3JdPVwiY2hvaWNlLmNvbG9yXCIgW2F0dHIudGVzdC1pZF09XCJnZXRUZXN0SWQoY2hvaWNlKVwiXG4gICAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwiY2hvaWNlLnZhbHVlXCI+e3sgY2hvaWNlLmxhYmVsIH19PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gKm5nU3dpdGNoQ2FzZT1cIidmbGF0J1wiIG1hdC1mbGF0LWJ1dHRvbiBbY29sb3JdPVwiY2hvaWNlLmNvbG9yXCIgW2F0dHIudGVzdC1pZF09XCJnZXRUZXN0SWQoY2hvaWNlKVwiXG4gICAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwiY2hvaWNlLnZhbHVlXCI+e3sgY2hvaWNlLmxhYmVsIH19PC9idXR0b24+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiY2hvaWNlLmNvbG9yXCIgbWF0LWZsYXQtYnV0dG9uIFtjb2xvcl09XCJjaG9pY2UuY29sb3JcIiBbYXR0ci50ZXN0LWlkXT1cImdldFRlc3RJZChjaG9pY2UpXCJcbiAgICAgICAgICAgIFttYXQtZGlhbG9nLWNsb3NlXT1cImNob2ljZS52YWx1ZVwiPnt7IGNob2ljZS5sYWJlbCB9fTwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhY2hvaWNlLmNvbG9yXCIgbWF0LXN0cm9rZWQtYnV0dG9uIFthdHRyLnRlc3QtaWRdPVwiZ2V0VGVzdElkKGNob2ljZSlcIlxuICAgICAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwiY2hvaWNlLnZhbHVlXCI+e3sgY2hvaWNlLmxhYmVsIH19PC9idXR0b24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEZ3Q2hvaWNlRGlhbG9nIHtcbiAgcmVhZG9ubHkgYWxpZ25BY3Rpb25zID0gdGhpcy5kYXRhLmFsaWduQWN0aW9uc1xuICAgID8gdGhpcy5kYXRhLmFsaWduQWN0aW9ucyA9PT0gJ3N0YXJ0J1xuICAgICAgPyBudWxsXG4gICAgICA6IHRoaXMuZGF0YS5hbGlnbkFjdGlvbnNcbiAgICA6ICdjZW50ZXInXG4gIHJlYWRvbmx5IGNob2ljZXMgPSB0aGlzLmRhdGEuY2hvaWNlc1xuICByZWFkb25seSBjbG9zZVZhbHVlID0gdGhpcy5kYXRhLmNsb3NlVmFsdWVcbiAgcmVhZG9ubHkgY29udGVudCA9IHRoaXMuZGF0YS5jb250ZW50XG4gIHJlYWRvbmx5IHRpdGxlID0gdGhpcy5kYXRhLnRpdGxlXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgZGF0YTogRndDaG9pY2VEaWFsb2dEYXRhLFxuICApIHt9XG5cbiAgZ2V0IHNob3dDbG9zZUJ1dHRvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gJ2Nsb3NlVmFsdWUnIGluIHRoaXMuZGF0YTtcbiAgfVxuXG4gIGdldFRlc3RJZChjaG9pY2UpOiBzdHJpbmcge1xuICAgIHJldHVybiBjaG9pY2UudGVzdElkIHx8IGAke1N0cmluZyhjaG9pY2UubGFiZWwgPz8gY2hvaWNlLnZhbHVlKS50b0xvd2VyQ2FzZSgpfS1idXR0b25gO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,57 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/button";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/material/dialog";
7
+ import * as i4 from "../shared/pipes/trusthtml.pipe";
8
+ import * as i5 from "../shared/pipes/translate.pipe";
9
+ export class FwConfirmDialog {
10
+ constructor(data) {
11
+ this.data = data;
12
+ this.title = this.data.title;
13
+ this.content = this.data.content;
14
+ this.html = this.data.html;
15
+ }
16
+ }
17
+ FwConfirmDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwConfirmDialog, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
18
+ FwConfirmDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwConfirmDialog, selector: "fw-confirm-dialog", host: { attributes: { "test-id": "confirm-dialog" }, classAttribute: "mat-dialog-component" }, ngImport: i0, template: `
19
+ <h1 mat-dialog-title *ngIf="title">{{ title }}</h1>
20
+ <div mat-dialog-content *ngIf="html" class="markup" [innerHTML]="html | trusthtml"></div>
21
+ <div mat-dialog-content *ngIf="!html">{{ content || ('confirmDialog.body' | translate ) }}</div>
22
+ <div mat-dialog-actions align="center">
23
+ <button test-id="no-button" mat-stroked-button [mat-dialog-close]="false">{{ 'confirmDialog.no' | translate }}</button>
24
+ <button test-id="yes-button" mat-flat-button color="primary" [mat-dialog-close]="true">{{ 'confirmDialog.yes' | translate }}</button>
25
+ </div>
26
+ `, isInline: true, styles: ["[mat-dialog-content]{text-align:center}[mat-dialog-content].markup{text-align:inherit}\n"], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "trusthtml": i4.TrustHtmlPipe, "translate": i5.TranslatePipe } });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwConfirmDialog, decorators: [{
28
+ type: Component,
29
+ args: [{
30
+ host: {
31
+ class: 'mat-dialog-component',
32
+ 'test-id': 'confirm-dialog',
33
+ },
34
+ selector: 'fw-confirm-dialog',
35
+ template: `
36
+ <h1 mat-dialog-title *ngIf="title">{{ title }}</h1>
37
+ <div mat-dialog-content *ngIf="html" class="markup" [innerHTML]="html | trusthtml"></div>
38
+ <div mat-dialog-content *ngIf="!html">{{ content || ('confirmDialog.body' | translate ) }}</div>
39
+ <div mat-dialog-actions align="center">
40
+ <button test-id="no-button" mat-stroked-button [mat-dialog-close]="false">{{ 'confirmDialog.no' | translate }}</button>
41
+ <button test-id="yes-button" mat-flat-button color="primary" [mat-dialog-close]="true">{{ 'confirmDialog.yes' | translate }}</button>
42
+ </div>
43
+ `,
44
+ styles: [`
45
+ [mat-dialog-content] {
46
+ text-align: center;
47
+ }
48
+ [mat-dialog-content].markup {
49
+ text-align: inherit;
50
+ }
51
+ `],
52
+ }]
53
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
54
+ type: Inject,
55
+ args: [MAT_DIALOG_DATA]
56
+ }] }]; } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFnQzNELE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQ21DLElBQXlCO1FBQXpCLFNBQUksR0FBSixJQUFJLENBQXFCO1FBTDVELFVBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUN2QixZQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7UUFDM0IsU0FBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO0lBSWxCLENBQUM7OzZHQVBPLGVBQWUsa0JBTWhCLGVBQWU7aUdBTmQsZUFBZSx3SkFsQmhCOzs7Ozs7OztHQVFUOzRGQVVVLGVBQWU7a0JBeEIzQixTQUFTO21CQUFDO29CQUNULElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsc0JBQXNCO3dCQUM3QixTQUFTLEVBQUUsZ0JBQWdCO3FCQUM1QjtvQkFDRCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUU7Ozs7Ozs7O0dBUVQ7b0JBQ0QsTUFBTSxFQUFFLENBQUM7Ozs7Ozs7R0FPUixDQUFDO2lCQUNIOzswQkFPSSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuZXhwb3J0IGludGVyZmFjZSBGd0NvbmZpcm1EaWFsb2dEYXRhIHtcbiAgdGl0bGU/OiBzdHJpbmcsXG4gIGNvbnRlbnQ/OiBzdHJpbmcsXG4gIGh0bWw/OiBzdHJpbmcsXG59XG5cbkBDb21wb25lbnQoe1xuICBob3N0OiB7XG4gICAgY2xhc3M6ICdtYXQtZGlhbG9nLWNvbXBvbmVudCcsXG4gICAgJ3Rlc3QtaWQnOiAnY29uZmlybS1kaWFsb2cnLFxuICB9LFxuICBzZWxlY3RvcjogJ2Z3LWNvbmZpcm0tZGlhbG9nJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aDEgbWF0LWRpYWxvZy10aXRsZSAqbmdJZj1cInRpdGxlXCI+e3sgdGl0bGUgfX08L2gxPlxuICAgIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50ICpuZ0lmPVwiaHRtbFwiIGNsYXNzPVwibWFya3VwXCIgW2lubmVySFRNTF09XCJodG1sIHwgdHJ1c3RodG1sXCI+PC9kaXY+XG4gICAgPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgKm5nSWY9XCIhaHRtbFwiPnt7IGNvbnRlbnQgfHwgKCdjb25maXJtRGlhbG9nLmJvZHknIHwgdHJhbnNsYXRlICkgfX08L2Rpdj5cbiAgICA8ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBhbGlnbj1cImNlbnRlclwiPlxuICAgICAgPGJ1dHRvbiB0ZXN0LWlkPVwibm8tYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cImZhbHNlXCI+e3sgJ2NvbmZpcm1EaWFsb2cubm8nIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XG4gICAgICA8YnV0dG9uIHRlc3QtaWQ9XCJ5ZXMtYnV0dG9uXCIgbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFttYXQtZGlhbG9nLWNsb3NlXT1cInRydWVcIj57eyAnY29uZmlybURpYWxvZy55ZXMnIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW2BcbiAgICBbbWF0LWRpYWxvZy1jb250ZW50XSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIFttYXQtZGlhbG9nLWNvbnRlbnRdLm1hcmt1cCB7XG4gICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgIH1cbiAgYF0sXG59KVxuZXhwb3J0IGNsYXNzIEZ3Q29uZmlybURpYWxvZyB7XG4gIHRpdGxlID0gdGhpcy5kYXRhLnRpdGxlXG4gIGNvbnRlbnQgPSB0aGlzLmRhdGEuY29udGVudFxuICBodG1sID0gdGhpcy5kYXRhLmh0bWxcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBkYXRhOiBGd0NvbmZpcm1EaWFsb2dEYXRhLFxuICApIHt9XG59XG4iXX0=
@@ -10,36 +10,63 @@ import { FwDialogService } from './dialog.service';
10
10
  import { FwErrorDialog } from './error-dialog.component';
11
11
  import { FwPortalDialog } from './portal-dialog.component';
12
12
  import { PipesModule } from '../shared/pipes/pipes.module';
13
- const ɵ0 = {
14
- disableClose: true,
15
- hasBackdrop: true,
16
- };
13
+ import * as i0 from "@angular/core";
17
14
  export class FwDialogModule {
18
15
  }
19
- FwDialogModule.decorators = [
20
- { type: NgModule, args: [{
21
- declarations: [
22
- FwChoiceDialog,
23
- FwConfirmDialog,
24
- FwErrorDialog,
25
- FwPortalDialog,
26
- ],
27
- imports: [
28
- CommonModule,
29
- MatButtonModule,
30
- MatDialogModule,
31
- MatIconModule,
32
- PipesModule,
33
- PortalModule,
34
- ],
35
- providers: [
36
- FwDialogService,
37
- {
38
- provide: MAT_DIALOG_DEFAULT_OPTIONS,
39
- useValue: ɵ0
40
- }
41
- ],
42
- },] }
43
- ];
44
- export { ɵ0 };
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztXQXFCM0M7SUFDUixZQUFZLEVBQUUsSUFBSTtJQUNsQixXQUFXLEVBQUUsSUFBSTtDQUNsQjtBQUlQLE1BQU0sT0FBTyxjQUFjOzs7WUExQjFCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osY0FBYztvQkFDZCxlQUFlO29CQUNmLGFBQWE7b0JBQ2IsY0FBYztpQkFDZjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixlQUFlO29CQUNmLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixXQUFXO29CQUNYLFlBQVk7aUJBQ2I7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULGVBQWU7b0JBQ2Y7d0JBQ0UsT0FBTyxFQUFFLDBCQUEwQjt3QkFDbkMsUUFBUSxJQUdQO3FCQUNGO2lCQUNGO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSwgTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5pbXBvcnQgeyBGd0Nob2ljZURpYWxvZyB9IGZyb20gJy4vY2hvaWNlLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRndDb25maXJtRGlhbG9nIH0gZnJvbSAnLi9jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRndEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBGd0Vycm9yRGlhbG9nIH0gZnJvbSAnLi9lcnJvci1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEZ3UG9ydGFsRGlhbG9nIH0gZnJvbSAnLi9wb3J0YWwtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9waXBlcy9waXBlcy5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGd0Nob2ljZURpYWxvZyxcbiAgICBGd0NvbmZpcm1EaWFsb2csXG4gICAgRndFcnJvckRpYWxvZyxcbiAgICBGd1BvcnRhbERpYWxvZyxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgUGlwZXNNb2R1bGUsXG4gICAgUG9ydGFsTW9kdWxlLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBGd0RpYWxvZ1NlcnZpY2UsXG4gICAge1xuICAgICAgcHJvdmlkZTogTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMsXG4gICAgICB1c2VWYWx1ZToge1xuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXG4gICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgfVxuICAgIH1cbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRndEaWFsb2dNb2R1bGUge31cbiJdfQ==
16
+ FwDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ FwDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogModule, declarations: [FwChoiceDialog,
18
+ FwConfirmDialog,
19
+ FwErrorDialog,
20
+ FwPortalDialog], imports: [CommonModule,
21
+ MatButtonModule,
22
+ MatDialogModule,
23
+ MatIconModule,
24
+ PipesModule,
25
+ PortalModule] });
26
+ FwDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogModule, providers: [
27
+ FwDialogService,
28
+ {
29
+ provide: MAT_DIALOG_DEFAULT_OPTIONS,
30
+ useValue: {
31
+ disableClose: true,
32
+ hasBackdrop: true,
33
+ }
34
+ }
35
+ ], imports: [[
36
+ CommonModule,
37
+ MatButtonModule,
38
+ MatDialogModule,
39
+ MatIconModule,
40
+ PipesModule,
41
+ PortalModule,
42
+ ]] });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogModule, decorators: [{
44
+ type: NgModule,
45
+ args: [{
46
+ declarations: [
47
+ FwChoiceDialog,
48
+ FwConfirmDialog,
49
+ FwErrorDialog,
50
+ FwPortalDialog,
51
+ ],
52
+ imports: [
53
+ CommonModule,
54
+ MatButtonModule,
55
+ MatDialogModule,
56
+ MatIconModule,
57
+ PipesModule,
58
+ PortalModule,
59
+ ],
60
+ providers: [
61
+ FwDialogService,
62
+ {
63
+ provide: MAT_DIALOG_DEFAULT_OPTIONS,
64
+ useValue: {
65
+ disableClose: true,
66
+ hasBackdrop: true,
67
+ }
68
+ }
69
+ ],
70
+ }]
71
+ }] });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUE0QjNELE1BQU0sT0FBTyxjQUFjOzs0R0FBZCxjQUFjOzZHQUFkLGNBQWMsaUJBeEJ2QixjQUFjO1FBQ2QsZUFBZTtRQUNmLGFBQWE7UUFDYixjQUFjLGFBR2QsWUFBWTtRQUNaLGVBQWU7UUFDZixlQUFlO1FBQ2YsYUFBYTtRQUNiLFdBQVc7UUFDWCxZQUFZOzZHQWFILGNBQWMsYUFYZDtRQUNULGVBQWU7UUFDZjtZQUNFLE9BQU8sRUFBRSwwQkFBMEI7WUFDbkMsUUFBUSxFQUFFO2dCQUNSLFlBQVksRUFBRSxJQUFJO2dCQUNsQixXQUFXLEVBQUUsSUFBSTthQUNsQjtTQUNGO0tBQ0YsWUFqQlE7WUFDUCxZQUFZO1lBQ1osZUFBZTtZQUNmLGVBQWU7WUFDZixhQUFhO1lBQ2IsV0FBVztZQUNYLFlBQVk7U0FDYjs0RkFZVSxjQUFjO2tCQTFCMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsY0FBYztxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixXQUFXO3dCQUNYLFlBQVk7cUJBQ2I7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULGVBQWU7d0JBQ2Y7NEJBQ0UsT0FBTyxFQUFFLDBCQUEwQjs0QkFDbkMsUUFBUSxFQUFFO2dDQUNSLFlBQVksRUFBRSxJQUFJO2dDQUNsQixXQUFXLEVBQUUsSUFBSTs2QkFDbEI7eUJBQ0Y7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSwgTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5pbXBvcnQgeyBGd0Nob2ljZURpYWxvZyB9IGZyb20gJy4vY2hvaWNlLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRndDb25maXJtRGlhbG9nIH0gZnJvbSAnLi9jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRndEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBGd0Vycm9yRGlhbG9nIH0gZnJvbSAnLi9lcnJvci1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEZ3UG9ydGFsRGlhbG9nIH0gZnJvbSAnLi9wb3J0YWwtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9waXBlcy9waXBlcy5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGd0Nob2ljZURpYWxvZyxcbiAgICBGd0NvbmZpcm1EaWFsb2csXG4gICAgRndFcnJvckRpYWxvZyxcbiAgICBGd1BvcnRhbERpYWxvZyxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgUGlwZXNNb2R1bGUsXG4gICAgUG9ydGFsTW9kdWxlLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBGd0RpYWxvZ1NlcnZpY2UsXG4gICAge1xuICAgICAgcHJvdmlkZTogTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMsXG4gICAgICB1c2VWYWx1ZToge1xuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXG4gICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgfVxuICAgIH1cbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRndEaWFsb2dNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,72 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/material/dialog";
4
+ export class FwDialogService {
5
+ constructor(matDialog) {
6
+ this.matDialog = matDialog;
7
+ this.dialogs = [];
8
+ this.config = new Map();
9
+ }
10
+ closeAll(component) {
11
+ if (component) {
12
+ this.dialogs
13
+ .filter((el) => el.component === component)
14
+ .forEach((el) => el.ref.close());
15
+ }
16
+ else {
17
+ this.matDialog.closeAll();
18
+ }
19
+ }
20
+ open(component, config) {
21
+ const index = this.dialogs.findIndex(el => el.component === component);
22
+ let ref = null;
23
+ const baseConfig = {
24
+ multi: 'allow',
25
+ ...this.config.get(component),
26
+ };
27
+ switch (baseConfig.multi) {
28
+ case 'ignore':
29
+ // if an existing dialog of the same type doesn't exist, open one
30
+ if (index === -1) {
31
+ ref = this.matDialog.open(component, { ...baseConfig, ...config });
32
+ this.dialogs.push({ component, ref });
33
+ }
34
+ break;
35
+ case 'replace':
36
+ // if an existing dialog of the same type exists, replace it.
37
+ if (index > -1) {
38
+ this.dialogs[index].ref.close();
39
+ ref = this.matDialog.open(component, { ...baseConfig, ...config });
40
+ this.dialogs.splice(index, 1, { component, ref });
41
+ }
42
+ else {
43
+ ref = this.matDialog.open(component, { ...baseConfig, ...config });
44
+ this.dialogs.push({ component, ref });
45
+ }
46
+ break;
47
+ default:
48
+ ref = this.matDialog.open(component, { ...baseConfig, ...config });
49
+ this.dialogs.push({ component, ref });
50
+ break;
51
+ }
52
+ if (ref) {
53
+ ref.afterClosed().subscribe(() => {
54
+ // clean up open dialog reference
55
+ const index = this.dialogs.findIndex(el => el.ref === ref);
56
+ if (index >= 0) {
57
+ this.dialogs.splice(index, 1);
58
+ }
59
+ });
60
+ }
61
+ return ref;
62
+ }
63
+ registerDialog(component, config) {
64
+ this.config.set(component, config);
65
+ }
66
+ }
67
+ FwDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
68
+ FwDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogService });
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogService, decorators: [{
70
+ type: Injectable
71
+ }], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBUSxNQUFNLGVBQWUsQ0FBQzs7O0FBdUJqRCxNQUFNLE9BQU8sZUFBZTtJQUsxQixZQUNVLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFMckIsWUFBTyxHQUFzQixFQUFFLENBQUM7UUFFakMsV0FBTSxHQUFHLElBQUksR0FBRyxFQUF3QyxDQUFDO0lBSTlELENBQUM7SUFFSixRQUFRLENBQUMsU0FBeUI7UUFDaEMsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsT0FBTztpQkFDVCxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDO2lCQUMxQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUNwQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxJQUFJLENBQVUsU0FBa0IsRUFBRSxNQUEyQjtRQUMzRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUM7UUFDdkUsSUFBSSxHQUFHLEdBQXVCLElBQUksQ0FBQztRQUNuQyxNQUFNLFVBQVUsR0FBRztZQUNqQixLQUFLLEVBQUUsT0FBTztZQUNkLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO1NBQzlCLENBQUM7UUFFRixRQUFRLFVBQVUsQ0FBQyxLQUFLLEVBQUU7WUFDeEIsS0FBSyxRQUFRO2dCQUNYLGlFQUFpRTtnQkFDakUsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUU7b0JBQ2hCLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxHQUFHLFVBQVUsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUM7b0JBQ25FLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7aUJBQ3ZDO2dCQUNELE1BQU07WUFDUixLQUFLLFNBQVM7Z0JBQ1osNkRBQTZEO2dCQUM3RCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtvQkFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDaEMsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsVUFBVSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztvQkFDbkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2lCQUNuRDtxQkFBTTtvQkFDTCxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsR0FBRyxVQUFVLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUNuRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2lCQUN2QztnQkFDRCxNQUFNO1lBQ1I7Z0JBQ0UsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsVUFBVSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDdEMsTUFBTTtTQUNUO1FBRUQsSUFBSSxHQUFHLEVBQUU7WUFDUCxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDL0IsaUNBQWlDO2dCQUNqQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBQzNELElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtvQkFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQy9CO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELGNBQWMsQ0FBQyxTQUF3QixFQUFFLE1BQTZCO1FBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDOzs2R0FuRVUsZUFBZTtpSEFBZixlQUFlOzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IEluamVjdGFibGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE1hdERpYWxvZyxcbiAgTWF0RGlhbG9nQ29uZmlnLFxuICBNYXREaWFsb2dSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbi8qXG4qIHR5cGUgU3RhY2tpbmdTdHJhdGVneVxuKiBhbGxvdyAtIHdpbGwgYWxsb3cgbXVsdGlwbGUgaW5zdGFuY2VzIG9mIHRoZSBzYW1lIGRpYWxvZyB0byBkaXNwbGF5IGF0IG9uY2VcbiogcmVwbGFjZSAtIHdpbGwgY2xvc2UgZXhpc3RpbmcgZGlhbG9ncyBvZiB0aGUgc2FtZSB0eXBlIGFuZCBvcGVuIGEgbmV3IG9uZVxuKiBpZ25vcmUgLSB3aWxsIGtlZXAgYSBkaWFsb2cgb2YgdGhlIHNhbWUgdHlwZSBvcGVuXG4qL1xuZXhwb3J0IHR5cGUgU3RhY2tpbmdTdHJhdGVneSA9ICdhbGxvdycgfCAncmVwbGFjZScgfCAnaWdub3JlJ1xuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dDb25maWc8VD4gZXh0ZW5kcyBNYXREaWFsb2dDb25maWc8VD4ge1xuICBtdWx0aTogU3RhY2tpbmdTdHJhdGVneVxufVxuZXhwb3J0IGludGVyZmFjZSBPcGVuRGlhbG9nPFQ+IHtcbiAgY29tcG9uZW50OiBUeXBlPFQ+XG4gIHJlZjogTWF0RGlhbG9nUmVmPFQ+XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGd0RpYWxvZ1NlcnZpY2Uge1xuICByZWFkb25seSBkaWFsb2dzOiBPcGVuRGlhbG9nPGFueT5bXSA9IFtdO1xuXG4gIHByaXZhdGUgY29uZmlnID0gbmV3IE1hcDxUeXBlPHVua25vd24+LCBEaWFsb2dDb25maWc8dW5rbm93bj4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtYXREaWFsb2c6IE1hdERpYWxvZyxcbiAgKSB7fVxuXG4gIGNsb3NlQWxsKGNvbXBvbmVudD86IFR5cGU8dW5rbm93bj4pOiB2b2lkIHtcbiAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICB0aGlzLmRpYWxvZ3NcbiAgICAgICAgLmZpbHRlcigoZWwpID0+IGVsLmNvbXBvbmVudCA9PT0gY29tcG9uZW50KVxuICAgICAgICAuZm9yRWFjaCgoZWwpID0+IGVsLnJlZi5jbG9zZSgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tYXREaWFsb2cuY2xvc2VBbGwoKTtcbiAgICB9XG4gIH1cblxuICBvcGVuPFQsIEQsIFI+KGNvbXBvbmVudDogVHlwZTxUPiwgY29uZmlnPzogTWF0RGlhbG9nQ29uZmlnPEQ+KTogTWF0RGlhbG9nUmVmPFQsIFI+IHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZGlhbG9ncy5maW5kSW5kZXgoZWwgPT4gZWwuY29tcG9uZW50ID09PSBjb21wb25lbnQpO1xuICAgIGxldCByZWY6IE1hdERpYWxvZ1JlZjxULCBSPiA9IG51bGw7XG4gICAgY29uc3QgYmFzZUNvbmZpZyA9IHtcbiAgICAgIG11bHRpOiAnYWxsb3cnLFxuICAgICAgLi4udGhpcy5jb25maWcuZ2V0KGNvbXBvbmVudCksXG4gICAgfTtcblxuICAgIHN3aXRjaCAoYmFzZUNvbmZpZy5tdWx0aSkge1xuICAgICAgY2FzZSAnaWdub3JlJzpcbiAgICAgICAgLy8gaWYgYW4gZXhpc3RpbmcgZGlhbG9nIG9mIHRoZSBzYW1lIHR5cGUgZG9lc24ndCBleGlzdCwgb3BlbiBvbmVcbiAgICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgICAgIHJlZiA9IHRoaXMubWF0RGlhbG9nLm9wZW4oY29tcG9uZW50LCB7IC4uLmJhc2VDb25maWcsIC4uLmNvbmZpZyB9KTtcbiAgICAgICAgICB0aGlzLmRpYWxvZ3MucHVzaCh7IGNvbXBvbmVudCwgcmVmIH0pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmVwbGFjZSc6XG4gICAgICAgIC8vIGlmIGFuIGV4aXN0aW5nIGRpYWxvZyBvZiB0aGUgc2FtZSB0eXBlIGV4aXN0cywgcmVwbGFjZSBpdC5cbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICB0aGlzLmRpYWxvZ3NbaW5kZXhdLnJlZi5jbG9zZSgpO1xuICAgICAgICAgIHJlZiA9IHRoaXMubWF0RGlhbG9nLm9wZW4oY29tcG9uZW50LCB7IC4uLmJhc2VDb25maWcsIC4uLmNvbmZpZyB9KTtcbiAgICAgICAgICB0aGlzLmRpYWxvZ3Muc3BsaWNlKGluZGV4LCAxLCB7IGNvbXBvbmVudCwgcmVmIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlZiA9IHRoaXMubWF0RGlhbG9nLm9wZW4oY29tcG9uZW50LCB7IC4uLmJhc2VDb25maWcsIC4uLmNvbmZpZyB9KTtcbiAgICAgICAgICB0aGlzLmRpYWxvZ3MucHVzaCh7IGNvbXBvbmVudCwgcmVmIH0pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmVmID0gdGhpcy5tYXREaWFsb2cub3Blbihjb21wb25lbnQsIHsgLi4uYmFzZUNvbmZpZywgLi4uY29uZmlnIH0pO1xuICAgICAgICB0aGlzLmRpYWxvZ3MucHVzaCh7IGNvbXBvbmVudCwgcmVmIH0pO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAocmVmKSB7XG4gICAgICByZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAvLyBjbGVhbiB1cCBvcGVuIGRpYWxvZyByZWZlcmVuY2VcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmRpYWxvZ3MuZmluZEluZGV4KGVsID0+IGVsLnJlZiA9PT0gcmVmKTtcbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICB0aGlzLmRpYWxvZ3Muc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlZjtcbiAgfVxuXG4gIHJlZ2lzdGVyRGlhbG9nKGNvbXBvbmVudDogVHlwZTx1bmtub3duPiwgY29uZmlnOiBEaWFsb2dDb25maWc8dW5rbm93bj4pOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZy5zZXQoY29tcG9uZW50LCBjb25maWcpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,45 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/dialog";
5
+ import * as i2 from "@angular/material/button";
6
+ import * as i3 from "../shared/pipes/translate.pipe";
7
+ export class FwErrorDialog {
8
+ constructor(data, ref) {
9
+ this.data = data;
10
+ this.ref = ref;
11
+ this.message = this.data.message;
12
+ this.ref.disableClose = false;
13
+ }
14
+ }
15
+ FwErrorDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwErrorDialog, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
16
+ FwErrorDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwErrorDialog, selector: "fw-error-dialog", host: { attributes: { "test-id": "error-dialog" }, classAttribute: "mat-dialog-component" }, ngImport: i0, template: `
17
+ <div mat-dialog-content>{{ message }}</div>
18
+ <div mat-dialog-actions align="end">
19
+ <button test-id="close-button" mat-stroked-button mat-dialog-close>
20
+ {{ 'common.actions.close' | translate }}
21
+ </button>
22
+ </div>
23
+ `, isInline: true, components: [{ type: i2.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: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "translate": i3.TranslatePipe } });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwErrorDialog, decorators: [{
25
+ type: Component,
26
+ args: [{
27
+ host: {
28
+ class: 'mat-dialog-component',
29
+ 'test-id': 'error-dialog',
30
+ },
31
+ selector: 'fw-error-dialog',
32
+ template: `
33
+ <div mat-dialog-content>{{ message }}</div>
34
+ <div mat-dialog-actions align="end">
35
+ <button test-id="close-button" mat-stroked-button mat-dialog-close>
36
+ {{ 'common.actions.close' | translate }}
37
+ </button>
38
+ </div>
39
+ `,
40
+ }]
41
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
42
+ type: Inject,
43
+ args: [MAT_DIALOG_DATA]
44
+ }] }, { type: i1.MatDialogRef }]; } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2RpYWxvZy9lcnJvci1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBcUJ6RSxNQUFNLE9BQU8sYUFBYTtJQUd4QixZQUNtQyxJQUF1QixFQUNoRCxHQUFnQztRQURQLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ2hELFFBQUcsR0FBSCxHQUFHLENBQTZCO1FBSm5DLFlBQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtRQU1oQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQzs7MkdBUlUsYUFBYSxrQkFJZCxlQUFlOytGQUpkLGFBQWEsb0pBVGQ7Ozs7Ozs7R0FPVDs0RkFFVSxhQUFhO2tCQWZ6QixTQUFTO21CQUFDO29CQUNULElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsc0JBQXNCO3dCQUM3QixTQUFTLEVBQUUsY0FBYztxQkFDMUI7b0JBQ0QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFOzs7Ozs7O0dBT1Q7aUJBQ0Y7OzBCQUtJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRndFcnJvckRpYWxvZ0RhdGEge1xuICBtZXNzYWdlOiBzdHJpbmdcbn1cblxuQENvbXBvbmVudCh7XG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ21hdC1kaWFsb2ctY29tcG9uZW50JyxcbiAgICAndGVzdC1pZCc6ICdlcnJvci1kaWFsb2cnLFxuICB9LFxuICBzZWxlY3RvcjogJ2Z3LWVycm9yLWRpYWxvZycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+e3sgbWVzc2FnZSB9fTwvZGl2PlxuICAgIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGFsaWduPVwiZW5kXCI+XG4gICAgICA8YnV0dG9uIHRlc3QtaWQ9XCJjbG9zZS1idXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gbWF0LWRpYWxvZy1jbG9zZT5cbiAgICAgICAge3sgJ2NvbW1vbi5hY3Rpb25zLmNsb3NlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEZ3RXJyb3JEaWFsb2cge1xuICBwdWJsaWMgbWVzc2FnZSA9IHRoaXMuZGF0YS5tZXNzYWdlXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgZGF0YTogRndFcnJvckRpYWxvZ0RhdGEsXG4gICAgcHJpdmF0ZSByZWY6IE1hdERpYWxvZ1JlZjxGd0Vycm9yRGlhbG9nPixcbiAgKSB7XG4gICAgdGhpcy5yZWYuZGlzYWJsZUNsb3NlID0gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,112 @@
1
+ import { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
2
+ import { Component, Inject, SimpleChange } from '@angular/core';
3
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
4
+ import { Subject } from 'rxjs';
5
+ import { takeUntil } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/material/button";
8
+ import * as i2 from "@angular/material/icon";
9
+ import * as i3 from "@angular/common";
10
+ import * as i4 from "@angular/material/dialog";
11
+ import * as i5 from "@angular/cdk/portal";
12
+ import * as i6 from "../shared/pipes/translate.pipe";
13
+ export class FwPortalDialog {
14
+ constructor(data, viewContainerRef) {
15
+ this.data = data;
16
+ this.viewContainerRef = viewContainerRef;
17
+ this.content = this.data.content;
18
+ this.title = this.data.title;
19
+ this.destroyed$ = new Subject();
20
+ if (this.data.component) {
21
+ this.portal = new ComponentPortal(this.data.component.type, this.viewContainerRef);
22
+ }
23
+ else if (this.data.template) {
24
+ this.portal = new TemplatePortal(this.data.template, this.viewContainerRef);
25
+ }
26
+ else {
27
+ throw new Error('One of [component, template] was not provided.');
28
+ }
29
+ }
30
+ ngOnDestroy() {
31
+ this.destroyed$.next(undefined);
32
+ }
33
+ attached(ref) {
34
+ if (this.data.component) {
35
+ ref = ref;
36
+ if (this.data.component.outputs) {
37
+ for (const [key, observer] of Object.entries(this.data.component.outputs)) {
38
+ const output$ = ref[key];
39
+ if (typeof output$?.pipe === 'function' && typeof output$.subscribe === 'function') {
40
+ output$.pipe(takeUntil(this.destroyed$)).subscribe(observer);
41
+ }
42
+ }
43
+ }
44
+ if (this.data.component.inputs) {
45
+ const changes = {};
46
+ for (const [key, value] of Object.entries(this.data.component.inputs)) {
47
+ ref.instance[key] = value;
48
+ changes[key] = new SimpleChange(value, value, true);
49
+ }
50
+ ref.instance.ngOnChanges?.(changes);
51
+ ref.changeDetectorRef.markForCheck();
52
+ }
53
+ }
54
+ }
55
+ }
56
+ FwPortalDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPortalDialog, deps: [{ token: MAT_DIALOG_DATA }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
57
+ FwPortalDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwPortalDialog, selector: "fw-portal-dialog", host: { attributes: { "test-id": "portal-dialog" }, classAttribute: "mat-dialog-component" }, ngImport: i0, template: `
58
+ <ng-container *ngIf="title">
59
+ <h1 mat-dialog-title>{{ title }}</h1>
60
+ <button test-id="dialog-close-corner" mat-icon-button mat-dialog-close>
61
+ <mat-icon>close</mat-icon>
62
+ </button>
63
+ </ng-container>
64
+ <mat-dialog-content>
65
+ <p *ngIf="content" class="content">{{ content }}</p>
66
+ <ng-template [cdkPortalOutlet]="portal" (attached)="attached($event)"></ng-template>
67
+ </mat-dialog-content>
68
+ <mat-dialog-actions align="end">
69
+ <button test-id="dialog-close-button" mat-stroked-button mat-dialog-close>
70
+ {{ 'common.actions.close' | translate }}
71
+ </button>
72
+ </mat-dialog-actions>
73
+ `, isInline: true, styles: [":host{min-width:200px}.content{margin-bottom:30px}\n"], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }], pipes: { "translate": i6.TranslatePipe } });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPortalDialog, decorators: [{
75
+ type: Component,
76
+ args: [{
77
+ host: {
78
+ class: 'mat-dialog-component',
79
+ 'test-id': 'portal-dialog',
80
+ },
81
+ selector: 'fw-portal-dialog',
82
+ template: `
83
+ <ng-container *ngIf="title">
84
+ <h1 mat-dialog-title>{{ title }}</h1>
85
+ <button test-id="dialog-close-corner" mat-icon-button mat-dialog-close>
86
+ <mat-icon>close</mat-icon>
87
+ </button>
88
+ </ng-container>
89
+ <mat-dialog-content>
90
+ <p *ngIf="content" class="content">{{ content }}</p>
91
+ <ng-template [cdkPortalOutlet]="portal" (attached)="attached($event)"></ng-template>
92
+ </mat-dialog-content>
93
+ <mat-dialog-actions align="end">
94
+ <button test-id="dialog-close-button" mat-stroked-button mat-dialog-close>
95
+ {{ 'common.actions.close' | translate }}
96
+ </button>
97
+ </mat-dialog-actions>
98
+ `,
99
+ styles: [`
100
+ :host {
101
+ min-width: 200px;
102
+ }
103
+ .content {
104
+ margin-bottom: 30px;
105
+ }
106
+ `],
107
+ }]
108
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
109
+ type: Inject,
110
+ args: [MAT_DIALOG_DATA]
111
+ }] }, { type: i0.ViewContainerRef }]; } });
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kaWFsb2cvcG9ydGFsLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE4QixlQUFlLEVBQXlCLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pILE9BQU8sRUFBRSxTQUFTLEVBQThCLE1BQU0sRUFBYSxZQUFZLEVBQWdELE1BQU0sZUFBZSxDQUFDO0FBQ3JKLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUErQzNDLE1BQU0sT0FBTyxjQUFjO0lBT3pCLFlBQ21DLElBQXdCLEVBQ2pELGdCQUFrQztRQURULFNBQUksR0FBSixJQUFJLENBQW9CO1FBQ2pELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFSNUMsWUFBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBO1FBRTNCLFVBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUVmLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO1FBTWhDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDcEY7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDN0U7YUFBTTtZQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztTQUNuRTtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUErQjtRQUN0QyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3ZCLEdBQUcsR0FBRyxHQUF3QixDQUFDO1lBQy9CLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFO2dCQUMvQixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtvQkFDekUsTUFBTSxPQUFPLEdBQTBCLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDaEQsSUFBSSxPQUFPLE9BQU8sRUFBRSxJQUFJLEtBQUssVUFBVSxJQUFJLE9BQU8sT0FBTyxDQUFDLFNBQVMsS0FBSyxVQUFVLEVBQUU7d0JBQ2xGLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztxQkFDOUQ7aUJBQ0Y7YUFDRjtZQUNELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO2dCQUM5QixNQUFNLE9BQU8sR0FBa0IsRUFBRSxDQUFDO2dCQUNsQyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtvQkFDckUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7b0JBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO2lCQUNyRDtnQkFDRCxHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNwQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDdEM7U0FDRjtJQUNILENBQUM7OzRHQTdDVSxjQUFjLGtCQVFmLGVBQWU7Z0dBUmQsY0FBYyxzSkExQmY7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQ7NEZBVVUsY0FBYztrQkFoQzFCLFNBQVM7bUJBQUM7b0JBQ1QsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxzQkFBc0I7d0JBQzdCLFNBQVMsRUFBRSxlQUFlO3FCQUMzQjtvQkFDRCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQ7b0JBQ0QsTUFBTSxFQUFFLENBQUM7Ozs7Ozs7R0FPUixDQUFDO2lCQUNIOzswQkFTSSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZiwgQ29tcG9uZW50UG9ydGFsLCBDb21wb25lbnRUeXBlLCBQb3J0YWwsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIE9uRGVzdHJveSwgU2ltcGxlQ2hhbmdlLCBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW50ZXJmYWNlIENvbXBvbmVudFNwZWMge1xuICB0eXBlOiBDb21wb25lbnRUeXBlPHVua25vd24+LFxuICBpbnB1dHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBvdXRwdXRzPzogUmVjb3JkPHN0cmluZywgKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkPlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZ3UG9ydGFsRGlhbG9nRGF0YSB7XG4gIGNvbXBvbmVudD86IENvbXBvbmVudFNwZWNcbiAgY29udGVudD86IHN0cmluZ1xuICB0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHVua25vd24+XG4gIHRpdGxlPzogc3RyaW5nXG59XG5cbkBDb21wb25lbnQoe1xuICBob3N0OiB7XG4gICAgY2xhc3M6ICdtYXQtZGlhbG9nLWNvbXBvbmVudCcsXG4gICAgJ3Rlc3QtaWQnOiAncG9ydGFsLWRpYWxvZycsXG4gIH0sXG4gIHNlbGVjdG9yOiAnZnctcG9ydGFsLWRpYWxvZycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRpdGxlXCI+XG4gICAgICA8aDEgbWF0LWRpYWxvZy10aXRsZT57eyB0aXRsZSB9fTwvaDE+XG4gICAgICA8YnV0dG9uIHRlc3QtaWQ9XCJkaWFsb2ctY2xvc2UtY29ybmVyXCIgbWF0LWljb24tYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2U+XG4gICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bWF0LWRpYWxvZy1jb250ZW50PlxuICAgICAgPHAgKm5nSWY9XCJjb250ZW50XCIgY2xhc3M9XCJjb250ZW50XCI+e3sgY29udGVudCB9fTwvcD5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cInBvcnRhbFwiIChhdHRhY2hlZCk9XCJhdHRhY2hlZCgkZXZlbnQpXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L21hdC1kaWFsb2ctY29udGVudD5cbiAgICA8bWF0LWRpYWxvZy1hY3Rpb25zIGFsaWduPVwiZW5kXCI+XG4gICAgICA8YnV0dG9uIHRlc3QtaWQ9XCJkaWFsb2ctY2xvc2UtYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2U+XG4gICAgICAgIHt7ICdjb21tb24uYWN0aW9ucy5jbG9zZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgOmhvc3Qge1xuICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICB9XG4gICAgLmNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gIGBdLFxufSlcbmV4cG9ydCBjbGFzcyBGd1BvcnRhbERpYWxvZyBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIGNvbnRlbnQgPSB0aGlzLmRhdGEuY29udGVudFxuICBwb3J0YWw6IFBvcnRhbDxhbnk+XG4gIHRpdGxlID0gdGhpcy5kYXRhLnRpdGxlXG5cbiAgcHJpdmF0ZSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3QoKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIGRhdGE6IEZ3UG9ydGFsRGlhbG9nRGF0YSxcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICkge1xuICAgIGlmICh0aGlzLmRhdGEuY29tcG9uZW50KSB7XG4gICAgICB0aGlzLnBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwodGhpcy5kYXRhLmNvbXBvbmVudC50eXBlLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhLnRlbXBsYXRlKSB7XG4gICAgICB0aGlzLnBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLmRhdGEudGVtcGxhdGUsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignT25lIG9mIFtjb21wb25lbnQsIHRlbXBsYXRlXSB3YXMgbm90IHByb3ZpZGVkLicpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KHVuZGVmaW5lZCk7XG4gIH1cblxuICBhdHRhY2hlZChyZWY6IENka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YS5jb21wb25lbnQpIHtcbiAgICAgIHJlZiA9IHJlZiBhcyBDb21wb25lbnRSZWY8YW55PjtcbiAgICAgIGlmICh0aGlzLmRhdGEuY29tcG9uZW50Lm91dHB1dHMpIHtcbiAgICAgICAgZm9yIChjb25zdCBba2V5LCBvYnNlcnZlcl0gb2YgT2JqZWN0LmVudHJpZXModGhpcy5kYXRhLmNvbXBvbmVudC5vdXRwdXRzKSkge1xuICAgICAgICAgIGNvbnN0IG91dHB1dCQ6IEV2ZW50RW1pdHRlcjx1bmtub3duPiA9IHJlZltrZXldO1xuICAgICAgICAgIGlmICh0eXBlb2Ygb3V0cHV0JD8ucGlwZSA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2Ygb3V0cHV0JC5zdWJzY3JpYmUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIG91dHB1dCQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKG9ic2VydmVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmRhdGEuY29tcG9uZW50LmlucHV0cykge1xuICAgICAgICBjb25zdCBjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzID0ge307XG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMuZGF0YS5jb21wb25lbnQuaW5wdXRzKSkge1xuICAgICAgICAgIHJlZi5pbnN0YW5jZVtrZXldID0gdmFsdWU7XG4gICAgICAgICAgY2hhbmdlc1trZXldID0gbmV3IFNpbXBsZUNoYW5nZSh2YWx1ZSwgdmFsdWUsIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHJlZi5pbnN0YW5jZS5uZ09uQ2hhbmdlcz8uKGNoYW5nZXMpO1xuICAgICAgICByZWYuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FwIconComponent {
4
+ }
5
+ FwIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ FwIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwIconComponent, selector: "fw-icon", host: { attributes: { "role": "img" }, classAttribute: "vision-icon" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwIconComponent, decorators: [{
8
+ type: Component,
9
+ args: [{
10
+ host: {
11
+ 'role': 'img',
12
+ 'class': 'vision-icon', // apply icon font to glyph content
13
+ },
14
+ selector: 'fw-icon',
15
+ template: '<ng-content></ng-content>',
16
+ changeDetection: ChangeDetectionStrategy.OnPush,
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBV25FLE1BQU0sT0FBTyxlQUFlOzs2R0FBZixlQUFlO2lHQUFmLGVBQWUsdUhBSGhCLDJCQUEyQjs0RkFHMUIsZUFBZTtrQkFUM0IsU0FBUzttQkFBQztvQkFDVCxJQUFJLEVBQUU7d0JBQ0osTUFBTSxFQUFFLEtBQUs7d0JBQ2IsT0FBTyxFQUFFLGFBQWEsRUFBRSxtQ0FBbUM7cUJBQzVEO29CQUNELFFBQVEsRUFBRSxTQUFTO29CQUNuQixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBob3N0OiB7XG4gICAgJ3JvbGUnOiAnaW1nJyxcbiAgICAnY2xhc3MnOiAndmlzaW9uLWljb24nLCAvLyBhcHBseSBpY29uIGZvbnQgdG8gZ2x5cGggY29udGVudFxuICB9LFxuICBzZWxlY3RvcjogJ2Z3LWljb24nLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRndJY29uQ29tcG9uZW50IHt9XG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FwIconComponent } from './icon.component';
4
+ import * as i0 from "@angular/core";
5
+ export class FwIconModule {
6
+ }
7
+ FwIconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ FwIconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwIconModule, declarations: [FwIconComponent], imports: [CommonModule], exports: [FwIconComponent] });
9
+ FwIconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwIconModule, imports: [[
10
+ CommonModule,
11
+ ]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwIconModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ imports: [
16
+ CommonModule,
17
+ ],
18
+ exports: [
19
+ FwIconComponent,
20
+ ],
21
+ declarations: [
22
+ FwIconComponent,
23
+ ],
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9pY29uL2ljb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFhbkQsTUFBTSxPQUFPLFlBQVk7OzBHQUFaLFlBQVk7MkdBQVosWUFBWSxpQkFIckIsZUFBZSxhQU5mLFlBQVksYUFHWixlQUFlOzJHQU1OLFlBQVksWUFWZDtZQUNQLFlBQVk7U0FDYjs0RkFRVSxZQUFZO2tCQVh4QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDUCxlQUFlO3FCQUNoQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osZUFBZTtxQkFDaEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRndJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9pY29uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBGd0ljb25Db21wb25lbnQsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZ3SWNvbkNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRndJY29uTW9kdWxlIHt9XG4iXX0=