@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
@@ -1,29 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- export class FwButtonComponent {
3
- constructor() {
4
- this.layout = 'basic';
5
- this.size = 'medium';
6
- this.type = 'basic';
7
- }
8
- }
9
- FwButtonComponent.decorators = [
10
- { type: Component, args: [{
11
- host: {
12
- 'class': 'fw-button',
13
- '[class.small]': 'size === "small"',
14
- '[class.medium]': 'size === "medium"',
15
- '[class.large]': 'size === "large"',
16
- '[class.compact]': 'layout === "compact"',
17
- },
18
- selector: 'fw-button',
19
- template: "<ng-container [ngSwitch]=\"type\">\n <button *ngSwitchCase=\"'raised'\" mat-raised-button [color]=\"color\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n <button *ngSwitchCase=\"'stroked'\" mat-stroked-button [color]=\"color\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n <button *ngSwitchCase=\"'flat'\" mat-flat-button [color]=\"color\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n <button *ngSwitchDefault mat-button [color]=\"color\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n</ng-container>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n",
20
- styles: [":host.compact>button{line-height:24px}:host.small{font-size:12px}:host.medium{font-size:14px}:host.large{font-size:18px}button{font-size:inherit}"]
21
- },] }
22
- ];
23
- FwButtonComponent.propDecorators = {
24
- color: [{ type: Input }],
25
- layout: [{ type: Input }],
26
- size: [{ type: Input }],
27
- type: [{ type: Input }]
28
- };
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBZWpELE1BQU0sT0FBTyxpQkFBaUI7SUFaOUI7UUFjVyxXQUFNLEdBQXlCLE9BQU8sQ0FBQTtRQUN0QyxTQUFJLEdBQWtDLFFBQVEsQ0FBQTtRQUM5QyxTQUFJLEdBQTZDLE9BQU8sQ0FBQTtJQUNuRSxDQUFDOzs7WUFqQkEsU0FBUyxTQUFDO2dCQUNULElBQUksRUFBRTtvQkFDSixPQUFPLEVBQUUsV0FBVztvQkFDcEIsZUFBZSxFQUFFLGtCQUFrQjtvQkFDbkMsZ0JBQWdCLEVBQUUsbUJBQW1CO29CQUNyQyxlQUFlLEVBQUUsa0JBQWtCO29CQUNuQyxpQkFBaUIsRUFBRSxzQkFBc0I7aUJBQzFDO2dCQUNELFFBQVEsRUFBRSxXQUFXO2dCQUVyQix5dEJBQXNDOzthQUN2Qzs7O29CQUVFLEtBQUs7cUJBQ0wsS0FBSzttQkFDTCxLQUFLO21CQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmdy1idXR0b24nLFxuICAgICdbY2xhc3Muc21hbGxdJzogJ3NpemUgPT09IFwic21hbGxcIicsXG4gICAgJ1tjbGFzcy5tZWRpdW1dJzogJ3NpemUgPT09IFwibWVkaXVtXCInLFxuICAgICdbY2xhc3MubGFyZ2VdJzogJ3NpemUgPT09IFwibGFyZ2VcIicsXG4gICAgJ1tjbGFzcy5jb21wYWN0XSc6ICdsYXlvdXQgPT09IFwiY29tcGFjdFwiJyxcbiAgfSxcbiAgc2VsZWN0b3I6ICdmdy1idXR0b24nLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEZ3QnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY29sb3I/OiBUaGVtZVBhbGV0dGVcbiAgQElucHV0KCkgbGF5b3V0PzogJ2Jhc2ljJyB8ICdjb21wYWN0JyA9ICdiYXNpYydcbiAgQElucHV0KCkgc2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgPSAnbWVkaXVtJ1xuICBASW5wdXQoKSB0eXBlPzogJ2Jhc2ljJyB8ICdmbGF0JyB8ICdyYWlzZWQnIHwgJ3N0cm9rZWQnID0gJ2Jhc2ljJ1xufVxuIl19
@@ -1,24 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { MatButtonModule } from '@angular/material/button';
4
- import { FwButtonComponent } from './button.component';
5
- export class FwButtonModule {
6
- }
7
- FwButtonModule.decorators = [
8
- { type: NgModule, args: [{
9
- imports: [
10
- CommonModule,
11
- MatButtonModule,
12
- ],
13
- exports: [
14
- FwButtonComponent,
15
- ],
16
- declarations: [
17
- FwButtonComponent,
18
- ],
19
- entryComponents: [
20
- FwButtonComponent,
21
- ],
22
- },] }
23
- ];
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2J1dHRvbi9idXR0b24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWlCdkQsTUFBTSxPQUFPLGNBQWM7OztZQWYxQixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osZUFBZTtpQkFDaEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsZUFBZSxFQUFFO29CQUNmLGlCQUFpQjtpQkFDbEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcblxuaW1wb3J0IHsgRndCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEZ3QnV0dG9uQ29tcG9uZW50LFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGd0J1dHRvbkNvbXBvbmVudCxcbiAgXSxcbiAgZW50cnlDb21wb25lbnRzOiBbXG4gICAgRndCdXR0b25Db21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZ3QnV0dG9uTW9kdWxlIHt9XG4iXX0=
@@ -1,27 +0,0 @@
1
- import { Component, Input, ViewEncapsulation } from '@angular/core';
2
- export class FwButtonGroupComponent {
3
- constructor() {
4
- this.layout = 'basic';
5
- this.size = 'medium';
6
- }
7
- }
8
- FwButtonGroupComponent.decorators = [
9
- { type: Component, args: [{
10
- host: {
11
- 'class': 'fw-button-group',
12
- '[class.small]': 'size === "small"',
13
- '[class.medium]': 'size === "medium"',
14
- '[class.large]': 'size === "large"',
15
- '[class.compact]': 'layout === "compact"',
16
- },
17
- selector: 'fw-button-group',
18
- template: `<ng-content></ng-content>`,
19
- encapsulation: ViewEncapsulation.None,
20
- styles: ["fw-button-group.fw-button-group{border-radius:4px;display:inline-flex;align-items:stretch}fw-button-group.fw-button-group.compact button{line-height:24px;height:24px}fw-button-group.fw-button-group.small button{font-size:12px}fw-button-group.fw-button-group.medium button{font-size:14px}fw-button-group.fw-button-group.large button{font-size:18px}fw-button-group.fw-button-group button{min-width:0;margin:0!important;border-radius:0}fw-button-group.fw-button-group>button:first-of-type,fw-button-group.fw-button-group>fw-button:first-of-type>button{border-top-left-radius:4px;border-bottom-left-radius:4px}fw-button-group.fw-button-group>button:last-of-type,fw-button-group.fw-button-group>fw-button:last-of-type>button{border-top-right-radius:4px;border-bottom-right-radius:4px}fw-button-group.fw-button-group>button.mat-stroked-button,fw-button-group.fw-button-group>button.mat-stroked-button+button.mat-stroke-button,fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]+fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button[type=stroked]+fw-button[type=stroked]>button,fw-button-group.fw-button-group>fw-button[type=stroked]>button{border-right-width:0}fw-button-group.fw-button-group>button.mat-stroked-button:last-of-type,fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]:last-of-type>button,fw-button-group.fw-button-group>fw-button[type=stroked]:last-of-type>button{border-right-width:1px!important}fw-button-group.fw-button-group>button:not(.mat-stroked-button)+button.mat-stroked-button,fw-button-group.fw-button-group>fw-button:not([ng-reflect-type=stroked])+fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button:not([type=stroked])+fw-button[type=stroked]>button{border-left-width:0}"]
21
- },] }
22
- ];
23
- FwButtonGroupComponent.propDecorators = {
24
- layout: [{ type: Input }],
25
- size: [{ type: Input }]
26
- };
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2J1dHRvbi1ncm91cC9idXR0b24tZ3JvdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBZXBFLE1BQU0sT0FBTyxzQkFBc0I7SUFibkM7UUFjVyxXQUFNLEdBQXlCLE9BQU8sQ0FBQTtRQUN0QyxTQUFJLEdBQWtDLFFBQVEsQ0FBQTtJQUN6RCxDQUFDOzs7WUFoQkEsU0FBUyxTQUFDO2dCQUNULElBQUksRUFBRTtvQkFDSixPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixlQUFlLEVBQUUsa0JBQWtCO29CQUNuQyxnQkFBZ0IsRUFBRSxtQkFBbUI7b0JBQ3JDLGVBQWUsRUFBRSxrQkFBa0I7b0JBQ25DLGlCQUFpQixFQUFFLHNCQUFzQjtpQkFDMUM7Z0JBQ0QsUUFBUSxFQUFFLGlCQUFpQjtnQkFFM0IsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O2FBQ3RDOzs7cUJBRUUsS0FBSzttQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZnctYnV0dG9uLWdyb3VwJyxcbiAgICAnW2NsYXNzLnNtYWxsXSc6ICdzaXplID09PSBcInNtYWxsXCInLFxuICAgICdbY2xhc3MubWVkaXVtXSc6ICdzaXplID09PSBcIm1lZGl1bVwiJyxcbiAgICAnW2NsYXNzLmxhcmdlXSc6ICdzaXplID09PSBcImxhcmdlXCInLFxuICAgICdbY2xhc3MuY29tcGFjdF0nOiAnbGF5b3V0ID09PSBcImNvbXBhY3RcIicsXG4gIH0sXG4gIHNlbGVjdG9yOiAnZnctYnV0dG9uLWdyb3VwJyxcbiAgc3R5bGVVcmxzOiBbICcuL2J1dHRvbi1ncm91cC5jb21wb25lbnQuc2NzcycgXSxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRndCdXR0b25Hcm91cENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGxheW91dD86ICdiYXNpYycgfCAnY29tcGFjdCcgPSAnYmFzaWMnXG4gIEBJbnB1dCgpIHNpemU/OiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnID0gJ21lZGl1bSdcbn1cbiJdfQ==
@@ -1,18 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { FwButtonGroupComponent } from './button-group.component';
3
- export class FwButtonGroupModule {
4
- }
5
- FwButtonGroupModule.decorators = [
6
- { type: NgModule, args: [{
7
- exports: [
8
- FwButtonGroupComponent,
9
- ],
10
- declarations: [
11
- FwButtonGroupComponent,
12
- ],
13
- entryComponents: [
14
- FwButtonGroupComponent,
15
- ]
16
- },] }
17
- ];
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2J1dHRvbi1ncm91cC9idXR0b24tZ3JvdXAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFhbEUsTUFBTSxPQUFPLG1CQUFtQjs7O1lBWC9CLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1Asc0JBQXNCO2lCQUN2QjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osc0JBQXNCO2lCQUN2QjtnQkFDRCxlQUFlLEVBQUU7b0JBQ2Ysc0JBQXNCO2lCQUN2QjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRndCdXR0b25Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vYnV0dG9uLWdyb3VwLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtcbiAgICBGd0J1dHRvbkdyb3VwQ29tcG9uZW50LFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGd0J1dHRvbkdyb3VwQ29tcG9uZW50LFxuICBdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtcbiAgICBGd0J1dHRvbkdyb3VwQ29tcG9uZW50LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZ3QnV0dG9uR3JvdXBNb2R1bGUge30iXX0=
@@ -1,52 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
- export class FwChoiceDialog {
4
- constructor(data) {
5
- this.data = data;
6
- this.alignActions = this.data.alignActions
7
- ? this.data.alignActions === 'start'
8
- ? null
9
- : this.data.alignActions
10
- : 'center';
11
- this.choices = this.data.choices;
12
- this.content = this.data.content;
13
- this.title = this.data.title;
14
- }
15
- getTestId(choice) {
16
- var _a;
17
- return choice.testId || `${String((_a = choice.label) !== null && _a !== void 0 ? _a : choice.value).toLowerCase()}-button`;
18
- }
19
- }
20
- FwChoiceDialog.decorators = [
21
- { type: Component, args: [{
22
- host: {
23
- class: 'mat-dialog-component',
24
- 'test-id': 'choice-dialog',
25
- },
26
- selector: 'fw-choice-dialog',
27
- template: `
28
- <h1 mat-dialog-title *ngIf="title">{{ title }}</h1>
29
- <div mat-dialog-content>{{ content }}</div>
30
- <div mat-dialog-actions [align]="alignActions">
31
- <ng-container *ngFor="let choice of choices" [ngSwitch]="choice.variant">
32
- <button *ngSwitchCase="'raised'" mat-raised-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
33
- [mat-dialog-close]="choice.value">{{ choice.label }}</button>
34
- <button *ngSwitchCase="'stroked'" mat-stroked-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
35
- [mat-dialog-close]="choice.value">{{ choice.label }}</button>
36
- <button *ngSwitchCase="'flat'" mat-flat-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
37
- [mat-dialog-close]="choice.value">{{ choice.label }}</button>
38
- <ng-container *ngSwitchDefault>
39
- <button *ngIf="choice.color" mat-flat-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
40
- [mat-dialog-close]="choice.value">{{ choice.label }}</button>
41
- <button *ngIf="!choice.color" mat-stroked-button [attr.test-id]="getTestId(choice)"
42
- [mat-dialog-close]="choice.value">{{ choice.label }}</button>
43
- </ng-container>
44
- </ng-container>
45
- </div>
46
- `
47
- },] }
48
- ];
49
- FwChoiceDialog.ctorParameters = () => [
50
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
51
- ];
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvaWNlLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kaWFsb2cvY2hvaWNlLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBNEMzRCxNQUFNLE9BQU8sY0FBYztJQVV6QixZQUNtQyxJQUF3QjtRQUF4QixTQUFJLEdBQUosSUFBSSxDQUFvQjtRQVYzRCxpQkFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTtZQUNuQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUssT0FBTztnQkFDbEMsQ0FBQyxDQUFDLElBQUk7Z0JBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTtZQUMxQixDQUFDLENBQUMsUUFBUSxDQUFBO1FBQ1osWUFBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBO1FBQzNCLFlBQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtRQUMzQixVQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUE7SUFJcEIsQ0FBQztJQUVKLFNBQVMsQ0FBQyxNQUFNOztRQUNkLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLE1BQU0sT0FBQyxNQUFNLENBQUMsS0FBSyxtQ0FBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQztJQUN6RixDQUFDOzs7WUEzQ0YsU0FBUyxTQUFDO2dCQUNULElBQUksRUFBRTtvQkFDSixLQUFLLEVBQUUsc0JBQXNCO29CQUM3QixTQUFTLEVBQUUsZUFBZTtpQkFDM0I7Z0JBQ0QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJUO2FBQ0Y7Ozs0Q0FZSSxNQUFNLFNBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmludGVyZmFjZSBDaG9pY2Uge1xuICBjb2xvcj86IFRoZW1lUGFsZXR0ZVxuICBsYWJlbDogc3RyaW5nXG4gIHRlc3RJZD86IHN0cmluZ1xuICB2YWx1ZTogYW55XG4gIHZhcmlhbnQ/OiAncmFpc2VkJyB8ICdzdHJva2VkJyB8ICdmbGF0J1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZ3Q2hvaWNlRGlhbG9nRGF0YSB7XG4gIGFsaWduQWN0aW9uczogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCdcbiAgY2hvaWNlczogQ2hvaWNlW11cbiAgY29udGVudDogc3RyaW5nXG4gIHRpdGxlPzogc3RyaW5nXG59XG5cbkBDb21wb25lbnQoe1xuICBob3N0OiB7XG4gICAgY2xhc3M6ICdtYXQtZGlhbG9nLWNvbXBvbmVudCcsXG4gICAgJ3Rlc3QtaWQnOiAnY2hvaWNlLWRpYWxvZycsXG4gIH0sXG4gIHNlbGVjdG9yOiAnZnctY2hvaWNlLWRpYWxvZycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGgxIG1hdC1kaWFsb2ctdGl0bGUgKm5nSWY9XCJ0aXRsZVwiPnt7IHRpdGxlIH19PC9oMT5cbiAgICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudD57eyBjb250ZW50IH19PC9kaXY+XG4gICAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgW2FsaWduXT1cImFsaWduQWN0aW9uc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hvaWNlIG9mIGNob2ljZXNcIiBbbmdTd2l0Y2hdPVwiY2hvaWNlLnZhcmlhbnRcIj5cbiAgICAgICAgPGJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiJ3JhaXNlZCdcIiBtYXQtcmFpc2VkLWJ1dHRvbiBbY29sb3JdPVwiY2hvaWNlLmNvbG9yXCIgW2F0dHIudGVzdC1pZF09XCJnZXRUZXN0SWQoY2hvaWNlKVwiXG4gICAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwiY2hvaWNlLnZhbHVlXCI+e3sgY2hvaWNlLmxhYmVsIH19PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gKm5nU3dpdGNoQ2FzZT1cIidzdHJva2VkJ1wiIG1hdC1zdHJva2VkLWJ1dHRvbiBbY29sb3JdPVwiY2hvaWNlLmNvbG9yXCIgW2F0dHIudGVzdC1pZF09XCJnZXRUZXN0SWQoY2hvaWNlKVwiXG4gICAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwiY2hvaWNlLnZhbHVlXCI+e3sgY2hvaWNlLmxhYmVsIH19PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gKm5nU3dpdGNoQ2FzZT1cIidmbGF0J1wiIG1hdC1mbGF0LWJ1dHRvbiBbY29sb3JdPVwiY2hvaWNlLmNvbG9yXCIgW2F0dHIudGVzdC1pZF09XCJnZXRUZXN0SWQoY2hvaWNlKVwiXG4gICAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwiY2hvaWNlLnZhbHVlXCI+e3sgY2hvaWNlLmxhYmVsIH19PC9idXR0b24+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiY2hvaWNlLmNvbG9yXCIgbWF0LWZsYXQtYnV0dG9uIFtjb2xvcl09XCJjaG9pY2UuY29sb3JcIiBbYXR0ci50ZXN0LWlkXT1cImdldFRlc3RJZChjaG9pY2UpXCJcbiAgICAgICAgICAgIFttYXQtZGlhbG9nLWNsb3NlXT1cImNob2ljZS52YWx1ZVwiPnt7IGNob2ljZS5sYWJlbCB9fTwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhY2hvaWNlLmNvbG9yXCIgbWF0LXN0cm9rZWQtYnV0dG9uIFthdHRyLnRlc3QtaWRdPVwiZ2V0VGVzdElkKGNob2ljZSlcIlxuICAgICAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwiY2hvaWNlLnZhbHVlXCI+e3sgY2hvaWNlLmxhYmVsIH19PC9idXR0b24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEZ3Q2hvaWNlRGlhbG9nIHtcbiAgYWxpZ25BY3Rpb25zID0gdGhpcy5kYXRhLmFsaWduQWN0aW9uc1xuICAgID8gdGhpcy5kYXRhLmFsaWduQWN0aW9ucyA9PT0gJ3N0YXJ0J1xuICAgICAgPyBudWxsXG4gICAgICA6IHRoaXMuZGF0YS5hbGlnbkFjdGlvbnNcbiAgICA6ICdjZW50ZXInXG4gIGNob2ljZXMgPSB0aGlzLmRhdGEuY2hvaWNlc1xuICBjb250ZW50ID0gdGhpcy5kYXRhLmNvbnRlbnRcbiAgdGl0bGUgPSB0aGlzLmRhdGEudGl0bGVcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBkYXRhOiBGd0Nob2ljZURpYWxvZ0RhdGEsXG4gICkge31cblxuICBnZXRUZXN0SWQoY2hvaWNlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY2hvaWNlLnRlc3RJZCB8fCBgJHtTdHJpbmcoY2hvaWNlLmxhYmVsID8/IGNob2ljZS52YWx1ZSkudG9Mb3dlckNhc2UoKX0tYnV0dG9uYDtcbiAgfVxufVxuIl19
@@ -1,40 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
- export class FwConfirmDialog {
4
- constructor(data) {
5
- this.data = data;
6
- this.title = this.data.title;
7
- this.content = this.data.content;
8
- this.html = this.data.html;
9
- }
10
- }
11
- FwConfirmDialog.decorators = [
12
- { type: Component, args: [{
13
- host: {
14
- class: 'mat-dialog-component',
15
- 'test-id': 'confirm-dialog',
16
- },
17
- selector: 'fw-confirm-dialog',
18
- 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
- `,
27
- styles: [`
28
- [mat-dialog-content] {
29
- text-align: center;
30
- }
31
- [mat-dialog-content].markup {
32
- text-align: inherit;
33
- }
34
- `]
35
- },] }
36
- ];
37
- FwConfirmDialog.ctorParameters = () => [
38
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
39
- ];
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFnQzNELE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQ21DLElBQXlCO1FBQXpCLFNBQUksR0FBSixJQUFJLENBQXFCO1FBTDVELFVBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUN2QixZQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7UUFDM0IsU0FBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO0lBSWxCLENBQUM7OztZQS9CTCxTQUFTLFNBQUM7Z0JBQ1QsSUFBSSxFQUFFO29CQUNKLEtBQUssRUFBRSxzQkFBc0I7b0JBQzdCLFNBQVMsRUFBRSxnQkFBZ0I7aUJBQzVCO2dCQUNELFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLFFBQVEsRUFBRTs7Ozs7Ozs7R0FRVDt5QkFDUTs7Ozs7OztHQU9SO2FBQ0Y7Ozs0Q0FPSSxNQUFNLFNBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZ3Q29uZmlybURpYWxvZ0RhdGEge1xuICB0aXRsZT86IHN0cmluZyxcbiAgY29udGVudD86IHN0cmluZyxcbiAgaHRtbD86IHN0cmluZyxcbn1cblxuQENvbXBvbmVudCh7XG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ21hdC1kaWFsb2ctY29tcG9uZW50JyxcbiAgICAndGVzdC1pZCc6ICdjb25maXJtLWRpYWxvZycsXG4gIH0sXG4gIHNlbGVjdG9yOiAnZnctY29uZmlybS1kaWFsb2cnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxoMSBtYXQtZGlhbG9nLXRpdGxlICpuZ0lmPVwidGl0bGVcIj57eyB0aXRsZSB9fTwvaDE+XG4gICAgPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgKm5nSWY9XCJodG1sXCIgY2xhc3M9XCJtYXJrdXBcIiBbaW5uZXJIVE1MXT1cImh0bWwgfCB0cnVzdGh0bWxcIj48L2Rpdj5cbiAgICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCAqbmdJZj1cIiFodG1sXCI+e3sgY29udGVudCB8fCAoJ2NvbmZpcm1EaWFsb2cuYm9keScgfCB0cmFuc2xhdGUgKSB9fTwvZGl2PlxuICAgIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGFsaWduPVwiY2VudGVyXCI+XG4gICAgICA8YnV0dG9uIHRlc3QtaWQ9XCJuby1idXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwiZmFsc2VcIj57eyAnY29uZmlybURpYWxvZy5ubycgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cbiAgICAgIDxidXR0b24gdGVzdC1pZD1cInllcy1idXR0b25cIiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW21hdC1kaWFsb2ctY2xvc2VdPVwidHJ1ZVwiPnt7ICdjb25maXJtRGlhbG9nLnllcycgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIFttYXQtZGlhbG9nLWNvbnRlbnRdIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgW21hdC1kaWFsb2ctY29udGVudF0ubWFya3VwIHtcbiAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgfVxuICBgXSxcbn0pXG5leHBvcnQgY2xhc3MgRndDb25maXJtRGlhbG9nIHtcbiAgdGl0bGUgPSB0aGlzLmRhdGEudGl0bGVcbiAgY29udGVudCA9IHRoaXMuZGF0YS5jb250ZW50XG4gIGh0bWwgPSB0aGlzLmRhdGEuaHRtbFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIGRhdGE6IEZ3Q29uZmlybURpYWxvZ0RhdGEsXG4gICkge31cbn1cbiJdfQ==
@@ -1,69 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { MatDialog, } from '@angular/material/dialog';
3
- export class FwDialogService {
4
- constructor(matDialog) {
5
- this.matDialog = matDialog;
6
- this.dialogs = [];
7
- this.config = new Map();
8
- }
9
- closeAll(component) {
10
- if (component) {
11
- this.dialogs
12
- .filter((el) => el.component === component)
13
- .forEach((el) => el.ref.close());
14
- }
15
- else {
16
- this.matDialog.closeAll();
17
- }
18
- }
19
- open(component, config) {
20
- const index = this.dialogs.findIndex(el => el.component === component);
21
- let ref = null;
22
- const baseConfig = Object.assign({ multi: 'allow' }, this.config.get(component));
23
- switch (baseConfig.multi) {
24
- case 'ignore':
25
- // if an existing dialog of the same type doesn't exist, open one
26
- if (index === -1) {
27
- ref = this.matDialog.open(component, Object.assign(Object.assign({}, baseConfig), config));
28
- this.dialogs.push({ component, ref });
29
- }
30
- break;
31
- case 'replace':
32
- // if an existing dialog of the same type exists, replace it.
33
- if (index > -1) {
34
- this.dialogs[index].ref.close();
35
- ref = this.matDialog.open(component, Object.assign(Object.assign({}, baseConfig), config));
36
- this.dialogs.splice(index, 1, { component, ref });
37
- }
38
- else {
39
- ref = this.matDialog.open(component, Object.assign(Object.assign({}, baseConfig), config));
40
- this.dialogs.push({ component, ref });
41
- }
42
- break;
43
- default:
44
- ref = this.matDialog.open(component, Object.assign(Object.assign({}, baseConfig), config));
45
- this.dialogs.push({ component, ref });
46
- break;
47
- }
48
- if (ref) {
49
- ref.afterClosed().subscribe(() => {
50
- // clean up open dialog reference
51
- const index = this.dialogs.findIndex(el => el.ref === ref);
52
- if (index >= 0) {
53
- this.dialogs.splice(index, 1);
54
- }
55
- });
56
- }
57
- return ref;
58
- }
59
- registerDialog(component, config) {
60
- this.config.set(component, config);
61
- }
62
- }
63
- FwDialogService.decorators = [
64
- { type: Injectable }
65
- ];
66
- FwDialogService.ctorParameters = () => [
67
- { type: MatDialog }
68
- ];
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQ0wsU0FBUyxHQUdWLE1BQU0sMEJBQTBCLENBQUM7QUFrQmxDLE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQ1UsU0FBb0I7UUFBcEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUxyQixZQUFPLEdBQXNCLEVBQUUsQ0FBQztRQUVqQyxXQUFNLEdBQUcsSUFBSSxHQUFHLEVBQXdDLENBQUM7SUFJOUQsQ0FBQztJQUVKLFFBQVEsQ0FBQyxTQUF5QjtRQUNoQyxJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksQ0FBQyxPQUFPO2lCQUNULE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUM7aUJBQzFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ3BDO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVELElBQUksQ0FBVSxTQUFrQixFQUFFLE1BQTJCO1FBQzNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUN2RSxJQUFJLEdBQUcsR0FBdUIsSUFBSSxDQUFDO1FBQ25DLE1BQU0sVUFBVSxtQkFDZCxLQUFLLEVBQUUsT0FBTyxJQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUM5QixDQUFDO1FBRUYsUUFBUSxVQUFVLENBQUMsS0FBSyxFQUFFO1lBQ3hCLEtBQUssUUFBUTtnQkFDWCxpRUFBaUU7Z0JBQ2pFLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFO29CQUNoQixHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxrQ0FBTyxVQUFVLEdBQUssTUFBTSxFQUFHLENBQUM7b0JBQ25FLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7aUJBQ3ZDO2dCQUNELE1BQU07WUFDUixLQUFLLFNBQVM7Z0JBQ1osNkRBQTZEO2dCQUM3RCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtvQkFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDaEMsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsa0NBQU8sVUFBVSxHQUFLLE1BQU0sRUFBRyxDQUFDO29CQUNuRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7aUJBQ25EO3FCQUFNO29CQUNMLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLGtDQUFPLFVBQVUsR0FBSyxNQUFNLEVBQUcsQ0FBQztvQkFDbkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztpQkFDdkM7Z0JBQ0QsTUFBTTtZQUNSO2dCQUNFLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLGtDQUFPLFVBQVUsR0FBSyxNQUFNLEVBQUcsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDdEMsTUFBTTtTQUNUO1FBRUQsSUFBSSxHQUFHLEVBQUU7WUFDUCxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDL0IsaUNBQWlDO2dCQUNqQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBQzNELElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtvQkFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQy9CO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELGNBQWMsQ0FBQyxTQUF3QixFQUFFLE1BQTZCO1FBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDOzs7WUFwRUYsVUFBVTs7O1lBcEJULFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IEluamVjdGFibGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE1hdERpYWxvZyxcbiAgTWF0RGlhbG9nQ29uZmlnLFxuICBNYXREaWFsb2dSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbi8qXG4qIHR5cGUgU3RhY2tpbmdTdHJhdGVneVxuKiBhbGxvdyAtIHdpbGwgYWxsb3cgbXVsdGlwbGUgaW5zdGFuY2VzIG9mIHRoZSBzYW1lIGRpYWxvZyB0byBkaXNwbGF5IGF0IG9uY2VcbiogcmVwbGFjZSAtIHdpbGwgY2xvc2UgZXhpc3RpbmcgZGlhbG9ncyBvZiB0aGUgc2FtZSB0eXBlIGFuZCBvcGVuIGEgbmV3IG9uZVxuKiBpZ25vcmUgLSB3aWxsIGtlZXAgYSBkaWFsb2cgb2YgdGhlIHNhbWUgdHlwZSBvcGVuXG4qL1xuZXhwb3J0IHR5cGUgU3RhY2tpbmdTdHJhdGVneSA9ICdhbGxvdycgfCAncmVwbGFjZScgfCAnaWdub3JlJ1xuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dDb25maWc8VD4gZXh0ZW5kcyBNYXREaWFsb2dDb25maWc8VD4ge1xuICBtdWx0aTogU3RhY2tpbmdTdHJhdGVneVxufVxuZXhwb3J0IGludGVyZmFjZSBPcGVuRGlhbG9nPFQ+IHtcbiAgY29tcG9uZW50OiBUeXBlPFQ+XG4gIHJlZjogTWF0RGlhbG9nUmVmPFQ+XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGd0RpYWxvZ1NlcnZpY2Uge1xuICByZWFkb25seSBkaWFsb2dzOiBPcGVuRGlhbG9nPGFueT5bXSA9IFtdO1xuXG4gIHByaXZhdGUgY29uZmlnID0gbmV3IE1hcDxUeXBlPHVua25vd24+LCBEaWFsb2dDb25maWc8dW5rbm93bj4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtYXREaWFsb2c6IE1hdERpYWxvZyxcbiAgKSB7fVxuXG4gIGNsb3NlQWxsKGNvbXBvbmVudD86IFR5cGU8dW5rbm93bj4pOiB2b2lkIHtcbiAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICB0aGlzLmRpYWxvZ3NcbiAgICAgICAgLmZpbHRlcigoZWwpID0+IGVsLmNvbXBvbmVudCA9PT0gY29tcG9uZW50KVxuICAgICAgICAuZm9yRWFjaCgoZWwpID0+IGVsLnJlZi5jbG9zZSgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tYXREaWFsb2cuY2xvc2VBbGwoKTtcbiAgICB9XG4gIH1cblxuICBvcGVuPFQsIEQsIFI+KGNvbXBvbmVudDogVHlwZTxUPiwgY29uZmlnPzogTWF0RGlhbG9nQ29uZmlnPEQ+KTogTWF0RGlhbG9nUmVmPFQsIFI+IHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZGlhbG9ncy5maW5kSW5kZXgoZWwgPT4gZWwuY29tcG9uZW50ID09PSBjb21wb25lbnQpO1xuICAgIGxldCByZWY6IE1hdERpYWxvZ1JlZjxULCBSPiA9IG51bGw7XG4gICAgY29uc3QgYmFzZUNvbmZpZyA9IHtcbiAgICAgIG11bHRpOiAnYWxsb3cnLFxuICAgICAgLi4udGhpcy5jb25maWcuZ2V0KGNvbXBvbmVudCksXG4gICAgfTtcblxuICAgIHN3aXRjaCAoYmFzZUNvbmZpZy5tdWx0aSkge1xuICAgICAgY2FzZSAnaWdub3JlJzpcbiAgICAgICAgLy8gaWYgYW4gZXhpc3RpbmcgZGlhbG9nIG9mIHRoZSBzYW1lIHR5cGUgZG9lc24ndCBleGlzdCwgb3BlbiBvbmVcbiAgICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgICAgIHJlZiA9IHRoaXMubWF0RGlhbG9nLm9wZW4oY29tcG9uZW50LCB7IC4uLmJhc2VDb25maWcsIC4uLmNvbmZpZyB9KTtcbiAgICAgICAgICB0aGlzLmRpYWxvZ3MucHVzaCh7IGNvbXBvbmVudCwgcmVmIH0pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmVwbGFjZSc6XG4gICAgICAgIC8vIGlmIGFuIGV4aXN0aW5nIGRpYWxvZyBvZiB0aGUgc2FtZSB0eXBlIGV4aXN0cywgcmVwbGFjZSBpdC5cbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICB0aGlzLmRpYWxvZ3NbaW5kZXhdLnJlZi5jbG9zZSgpO1xuICAgICAgICAgIHJlZiA9IHRoaXMubWF0RGlhbG9nLm9wZW4oY29tcG9uZW50LCB7IC4uLmJhc2VDb25maWcsIC4uLmNvbmZpZyB9KTtcbiAgICAgICAgICB0aGlzLmRpYWxvZ3Muc3BsaWNlKGluZGV4LCAxLCB7IGNvbXBvbmVudCwgcmVmIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlZiA9IHRoaXMubWF0RGlhbG9nLm9wZW4oY29tcG9uZW50LCB7IC4uLmJhc2VDb25maWcsIC4uLmNvbmZpZyB9KTtcbiAgICAgICAgICB0aGlzLmRpYWxvZ3MucHVzaCh7IGNvbXBvbmVudCwgcmVmIH0pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmVmID0gdGhpcy5tYXREaWFsb2cub3Blbihjb21wb25lbnQsIHsgLi4uYmFzZUNvbmZpZywgLi4uY29uZmlnIH0pO1xuICAgICAgICB0aGlzLmRpYWxvZ3MucHVzaCh7IGNvbXBvbmVudCwgcmVmIH0pO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAocmVmKSB7XG4gICAgICByZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAvLyBjbGVhbiB1cCBvcGVuIGRpYWxvZyByZWZlcmVuY2VcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmRpYWxvZ3MuZmluZEluZGV4KGVsID0+IGVsLnJlZiA9PT0gcmVmKTtcbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICB0aGlzLmRpYWxvZ3Muc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlZjtcbiAgfVxuXG4gIHJlZ2lzdGVyRGlhbG9nKGNvbXBvbmVudDogVHlwZTx1bmtub3duPiwgY29uZmlnOiBEaWFsb2dDb25maWc8dW5rbm93bj4pOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZy5zZXQoY29tcG9uZW50LCBjb25maWcpO1xuICB9XG59XG4iXX0=
@@ -1,32 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
3
- export class FwErrorDialog {
4
- constructor(data, ref) {
5
- this.data = data;
6
- this.ref = ref;
7
- this.message = this.data.message;
8
- this.ref.disableClose = false;
9
- }
10
- }
11
- FwErrorDialog.decorators = [
12
- { type: Component, args: [{
13
- host: {
14
- class: 'mat-dialog-component',
15
- 'test-id': 'error-dialog',
16
- },
17
- selector: 'fw-error-dialog',
18
- template: `
19
- <div mat-dialog-content>{{ message }}</div>
20
- <div mat-dialog-actions align="end">
21
- <button test-id="close-button" mat-stroked-button mat-dialog-close>
22
- {{ 'common.actions.close' | translate }}
23
- </button>
24
- </div>
25
- `
26
- },] }
27
- ];
28
- FwErrorDialog.ctorParameters = () => [
29
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
30
- { type: MatDialogRef }
31
- ];
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2RpYWxvZy9lcnJvci1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFxQnpFLE1BQU0sT0FBTyxhQUFhO0lBR3hCLFlBQ21DLElBQXVCLEVBQ2hELEdBQWdDO1FBRFAsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDaEQsUUFBRyxHQUFILEdBQUcsQ0FBNkI7UUFKbkMsWUFBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBO1FBTWhDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDOzs7WUF2QkYsU0FBUyxTQUFDO2dCQUNULElBQUksRUFBRTtvQkFDSixLQUFLLEVBQUUsc0JBQXNCO29CQUM3QixTQUFTLEVBQUUsY0FBYztpQkFDMUI7Z0JBQ0QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsUUFBUSxFQUFFOzs7Ozs7O0dBT1Q7YUFDRjs7OzRDQUtJLE1BQU0sU0FBQyxlQUFlO1lBekJELFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZ3RXJyb3JEaWFsb2dEYXRhIHtcbiAgbWVzc2FnZTogc3RyaW5nXG59XG5cbkBDb21wb25lbnQoe1xuICBob3N0OiB7XG4gICAgY2xhc3M6ICdtYXQtZGlhbG9nLWNvbXBvbmVudCcsXG4gICAgJ3Rlc3QtaWQnOiAnZXJyb3ItZGlhbG9nJyxcbiAgfSxcbiAgc2VsZWN0b3I6ICdmdy1lcnJvci1kaWFsb2cnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50Pnt7IG1lc3NhZ2UgfX08L2Rpdj5cbiAgICA8ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBhbGlnbj1cImVuZFwiPlxuICAgICAgPGJ1dHRvbiB0ZXN0LWlkPVwiY2xvc2UtYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2U+XG4gICAgICAgIHt7ICdjb21tb24uYWN0aW9ucy5jbG9zZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBGd0Vycm9yRGlhbG9nIHtcbiAgcHVibGljIG1lc3NhZ2UgPSB0aGlzLmRhdGEubWVzc2FnZVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIGRhdGE6IEZ3RXJyb3JEaWFsb2dEYXRhLFxuICAgIHByaXZhdGUgcmVmOiBNYXREaWFsb2dSZWY8RndFcnJvckRpYWxvZz4sXG4gICkge1xuICAgIHRoaXMucmVmLmRpc2FibGVDbG9zZSA9IGZhbHNlO1xuICB9XG59XG4iXX0=
@@ -1,88 +0,0 @@
1
- import { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
2
- import { Component, Inject, SimpleChange, ViewContainerRef } from '@angular/core';
3
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
4
- import { Subject } from 'rxjs';
5
- import { takeUntil } from 'rxjs/operators';
6
- export class FwPortalDialog {
7
- constructor(data, viewContainerRef) {
8
- this.data = data;
9
- this.viewContainerRef = viewContainerRef;
10
- this.content = this.data.content;
11
- this.title = this.data.title;
12
- this.destroyed$ = new Subject();
13
- if (this.data.component) {
14
- this.portal = new ComponentPortal(this.data.component.type, this.viewContainerRef);
15
- }
16
- else if (this.data.template) {
17
- this.portal = new TemplatePortal(this.data.template, this.viewContainerRef);
18
- }
19
- else {
20
- throw new Error('One of [component, template] was not provided.');
21
- }
22
- }
23
- ngOnDestroy() {
24
- this.destroyed$.next();
25
- }
26
- attached(ref) {
27
- var _a, _b;
28
- if (this.data.component) {
29
- ref = ref;
30
- if (this.data.component.outputs) {
31
- for (const [key, observer] of Object.entries(this.data.component.outputs)) {
32
- const output$ = ref[key];
33
- if (typeof (output$ === null || output$ === void 0 ? void 0 : output$.pipe) === 'function' && typeof output$.subscribe === 'function') {
34
- output$.pipe(takeUntil(this.destroyed$)).subscribe(observer);
35
- }
36
- }
37
- }
38
- if (this.data.component.inputs) {
39
- const changes = {};
40
- for (const [key, value] of Object.entries(this.data.component.inputs)) {
41
- ref.instance[key] = value;
42
- changes[key] = new SimpleChange(value, value, true);
43
- }
44
- (_b = (_a = ref.instance).ngOnChanges) === null || _b === void 0 ? void 0 : _b.call(_a, changes);
45
- ref.changeDetectorRef.markForCheck();
46
- }
47
- }
48
- }
49
- }
50
- FwPortalDialog.decorators = [
51
- { type: Component, args: [{
52
- host: {
53
- class: 'mat-dialog-component',
54
- 'test-id': 'portal-dialog',
55
- },
56
- selector: 'fw-portal-dialog',
57
- 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
- `,
74
- styles: [`
75
- :host {
76
- min-width: 200px;
77
- }
78
- .content {
79
- margin-bottom: 30px;
80
- }
81
- `]
82
- },] }
83
- ];
84
- FwPortalDialog.ctorParameters = () => [
85
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
86
- { type: ViewContainerRef }
87
- ];
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kaWFsb2cvcG9ydGFsLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE4QixlQUFlLEVBQXlCLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pILE9BQU8sRUFBRSxTQUFTLEVBQThCLE1BQU0sRUFBYSxZQUFZLEVBQThCLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JKLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQStDM0MsTUFBTSxPQUFPLGNBQWM7SUFPekIsWUFDbUMsSUFBd0IsRUFDakQsZ0JBQWtDO1FBRFQsU0FBSSxHQUFKLElBQUksQ0FBb0I7UUFDakQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVI1QyxZQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7UUFFM0IsVUFBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBRWYsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUE7UUFNaEMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUNwRjthQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUM3RTthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1NBQ25FO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBK0I7O1FBQ3RDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDdkIsR0FBRyxHQUFHLEdBQXdCLENBQUM7WUFDL0IsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUU7Z0JBQy9CLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUN6RSxNQUFNLE9BQU8sR0FBMEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNoRCxJQUFJLFFBQU8sT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLElBQUksQ0FBQSxLQUFLLFVBQVUsSUFBSSxPQUFPLE9BQU8sQ0FBQyxTQUFTLEtBQUssVUFBVSxFQUFFO3dCQUNsRixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7cUJBQzlEO2lCQUNGO2FBQ0Y7WUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtnQkFDOUIsTUFBTSxPQUFPLEdBQWtCLEVBQUUsQ0FBQztnQkFDbEMsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7b0JBQ3JFLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO29CQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztpQkFDckQ7Z0JBQ0QsTUFBQSxNQUFBLEdBQUcsQ0FBQyxRQUFRLEVBQUMsV0FBVyxtREFBRyxPQUFPLEVBQUU7Z0JBQ3BDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUN0QztTQUNGO0lBQ0gsQ0FBQzs7O1lBN0VGLFNBQVMsU0FBQztnQkFDVCxJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFLHNCQUFzQjtvQkFDN0IsU0FBUyxFQUFFLGVBQWU7aUJBQzNCO2dCQUNELFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCVDt5QkFDUTs7Ozs7OztHQU9SO2FBQ0Y7Ozs0Q0FTSSxNQUFNLFNBQUMsZUFBZTtZQTFEa0YsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYsIENvbXBvbmVudFBvcnRhbCwgQ29tcG9uZW50VHlwZSwgUG9ydGFsLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBPbkRlc3Ryb3ksIFNpbXBsZUNoYW5nZSwgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmludGVyZmFjZSBDb21wb25lbnRTcGVjIHtcbiAgdHlwZTogQ29tcG9uZW50VHlwZTx1bmtub3duPixcbiAgaW5wdXRzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgb3V0cHV0cz86IFJlY29yZDxzdHJpbmcsICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZD5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBGd1BvcnRhbERpYWxvZ0RhdGEge1xuICBjb21wb25lbnQ/OiBDb21wb25lbnRTcGVjXG4gIGNvbnRlbnQ/OiBzdHJpbmdcbiAgdGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPlxuICB0aXRsZT86IHN0cmluZ1xufVxuXG5AQ29tcG9uZW50KHtcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnbWF0LWRpYWxvZy1jb21wb25lbnQnLFxuICAgICd0ZXN0LWlkJzogJ3BvcnRhbC1kaWFsb2cnLFxuICB9LFxuICBzZWxlY3RvcjogJ2Z3LXBvcnRhbC1kaWFsb2cnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aXRsZVwiPlxuICAgICAgPGgxIG1hdC1kaWFsb2ctdGl0bGU+e3sgdGl0bGUgfX08L2gxPlxuICAgICAgPGJ1dHRvbiB0ZXN0LWlkPVwiZGlhbG9nLWNsb3NlLWNvcm5lclwiIG1hdC1pY29uLWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlPlxuICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG1hdC1kaWFsb2ctY29udGVudD5cbiAgICAgIDxwICpuZ0lmPVwiY29udGVudFwiIGNsYXNzPVwiY29udGVudFwiPnt7IGNvbnRlbnQgfX08L3A+XG4gICAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJwb3J0YWxcIiAoYXR0YWNoZWQpPVwiYXR0YWNoZWQoJGV2ZW50KVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPG1hdC1kaWFsb2ctYWN0aW9ucyBhbGlnbj1cImVuZFwiPlxuICAgICAgPGJ1dHRvbiB0ZXN0LWlkPVwiZGlhbG9nLWNsb3NlLWJ1dHRvblwiIG1hdC1zdHJva2VkLWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlPlxuICAgICAgICB7eyAnY29tbW9uLmFjdGlvbnMuY2xvc2UnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC1kaWFsb2ctYWN0aW9ucz5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIDpob3N0IHtcbiAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgfVxuICAgIC5jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICBgXSxcbn0pXG5leHBvcnQgY2xhc3MgRndQb3J0YWxEaWFsb2cgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBjb250ZW50ID0gdGhpcy5kYXRhLmNvbnRlbnRcbiAgcG9ydGFsOiBQb3J0YWw8YW55PlxuICB0aXRsZSA9IHRoaXMuZGF0YS50aXRsZVxuXG4gIHByaXZhdGUgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0KClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBkYXRhOiBGd1BvcnRhbERpYWxvZ0RhdGEsXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICApIHtcbiAgICBpZiAodGhpcy5kYXRhLmNvbXBvbmVudCkge1xuICAgICAgdGhpcy5wb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKHRoaXMuZGF0YS5jb21wb25lbnQudHlwZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YS50ZW1wbGF0ZSkge1xuICAgICAgdGhpcy5wb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5kYXRhLnRlbXBsYXRlLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ09uZSBvZiBbY29tcG9uZW50LCB0ZW1wbGF0ZV0gd2FzIG5vdCBwcm92aWRlZC4nKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICB9XG5cbiAgYXR0YWNoZWQocmVmOiBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGEuY29tcG9uZW50KSB7XG4gICAgICByZWYgPSByZWYgYXMgQ29tcG9uZW50UmVmPGFueT47XG4gICAgICBpZiAodGhpcy5kYXRhLmNvbXBvbmVudC5vdXRwdXRzKSB7XG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgb2JzZXJ2ZXJdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMuZGF0YS5jb21wb25lbnQub3V0cHV0cykpIHtcbiAgICAgICAgICBjb25zdCBvdXRwdXQkOiBFdmVudEVtaXR0ZXI8dW5rbm93bj4gPSByZWZba2V5XTtcbiAgICAgICAgICBpZiAodHlwZW9mIG91dHB1dCQ/LnBpcGUgPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIG91dHB1dCQuc3Vic2NyaWJlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBvdXRwdXQkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpLnN1YnNjcmliZShvYnNlcnZlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5kYXRhLmNvbXBvbmVudC5pbnB1dHMpIHtcbiAgICAgICAgY29uc3QgY2hhbmdlczogU2ltcGxlQ2hhbmdlcyA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLmRhdGEuY29tcG9uZW50LmlucHV0cykpIHtcbiAgICAgICAgICByZWYuaW5zdGFuY2Vba2V5XSA9IHZhbHVlO1xuICAgICAgICAgIGNoYW5nZXNba2V5XSA9IG5ldyBTaW1wbGVDaGFuZ2UodmFsdWUsIHZhbHVlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICByZWYuaW5zdGFuY2UubmdPbkNoYW5nZXM/LihjaGFuZ2VzKTtcbiAgICAgICAgcmVmLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,73 +0,0 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
2
- import { FwNotificationTimerService } from '../notification-timer.service';
3
- import { FwNotificationType } from './notification.model';
4
- export class FwNotificationComponent {
5
- constructor(cdr, timerService) {
6
- this.cdr = cdr;
7
- this.timerService = timerService;
8
- this.notificationDuration = 9000;
9
- this.ready = new EventEmitter();
10
- this.dismiss = new EventEmitter();
11
- }
12
- get cssClass() {
13
- var _a;
14
- let cssClass = 'fw-notification';
15
- switch ((_a = this.notification) === null || _a === void 0 ? void 0 : _a.type) {
16
- case FwNotificationType.Error:
17
- return cssClass += ' error';
18
- case FwNotificationType.Info:
19
- return cssClass += ' info';
20
- case FwNotificationType.Success:
21
- return cssClass += ' success';
22
- case FwNotificationType.Wait:
23
- return cssClass += ' wait';
24
- case FwNotificationType.Warning:
25
- return cssClass += ' warning';
26
- default:
27
- return cssClass;
28
- }
29
- }
30
- ngAfterViewInit() {
31
- this.ready.emit(this);
32
- this.cdr.markForCheck();
33
- }
34
- startTimer() {
35
- this.timerService.start(this.notificationDuration).then(() => {
36
- this.onClickDismiss();
37
- this.cdr.markForCheck();
38
- });
39
- }
40
- stopTimer() {
41
- this.timerService.stop();
42
- this.cdr.markForCheck();
43
- }
44
- onClickDismiss() {
45
- this.dismiss.emit(this.notification.id);
46
- this.cdr.markForCheck();
47
- }
48
- }
49
- FwNotificationComponent.decorators = [
50
- { type: Component, args: [{
51
- host: {
52
- '(click)': 'onClickDismiss()'
53
- },
54
- selector: 'fw-notification',
55
- template: `{{ notification?.message }}`,
56
- providers: [FwNotificationTimerService],
57
- encapsulation: ViewEncapsulation.None,
58
- changeDetection: ChangeDetectionStrategy.OnPush,
59
- 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}"]
60
- },] }
61
- ];
62
- FwNotificationComponent.ctorParameters = () => [
63
- { type: ChangeDetectorRef },
64
- { type: FwNotificationTimerService }
65
- ];
66
- FwNotificationComponent.propDecorators = {
67
- notification: [{ type: Input }],
68
- notificationDuration: [{ type: Input }],
69
- ready: [{ type: Output }],
70
- dismiss: [{ type: Output }],
71
- cssClass: [{ type: HostBinding, args: ['class',] }]
72
- };
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEssT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFnQixNQUFNLHNCQUFzQixDQUFDO0FBY3hFLE1BQU0sT0FBTyx1QkFBdUI7SUF3QmxDLFlBQW9CLEdBQXNCLEVBQVUsWUFBd0M7UUFBeEUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBNEI7UUF0Qm5GLHlCQUFvQixHQUFXLElBQUksQ0FBQztRQUNuQyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUE7UUFDbkQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUE7SUFvQmlELENBQUM7SUFsQmhHLElBQTBCLFFBQVE7O1FBQ2hDLElBQUksUUFBUSxHQUFHLGlCQUFpQixDQUFDO1FBQ2pDLGNBQVEsSUFBSSxDQUFDLFlBQVksMENBQUUsSUFBSSxFQUFFO1lBQy9CLEtBQUssa0JBQWtCLENBQUMsS0FBSztnQkFDM0IsT0FBTyxRQUFRLElBQUksUUFBUSxDQUFDO1lBQzlCLEtBQUssa0JBQWtCLENBQUMsSUFBSTtnQkFDMUIsT0FBTyxRQUFRLElBQUksT0FBTyxDQUFDO1lBQzdCLEtBQUssa0JBQWtCLENBQUMsT0FBTztnQkFDN0IsT0FBTyxRQUFRLElBQUksVUFBVSxDQUFDO1lBQ2hDLEtBQUssa0JBQWtCLENBQUMsSUFBSTtnQkFDMUIsT0FBTyxRQUFRLElBQUksT0FBTyxDQUFDO1lBQzdCLEtBQUssa0JBQWtCLENBQUMsT0FBTztnQkFDN0IsT0FBTyxRQUFRLElBQUksVUFBVSxDQUFDO1lBQ2hDO2dCQUNFLE9BQU8sUUFBUSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUlELGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUMzRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7OztZQTFERixTQUFTLFNBQUM7Z0JBQ1QsSUFBSSxFQUFFO29CQUNKLFNBQVMsRUFBRSxrQkFBa0I7aUJBQzlCO2dCQUNELFFBQVEsRUFBRSxpQkFBaUI7Z0JBRTNCLFFBQVEsRUFBRSw2QkFBNkI7Z0JBQ3ZDLFNBQVMsRUFBRSxDQUFDLDBCQUEwQixDQUFDO2dCQUN2QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7WUFmZ0QsaUJBQWlCO1lBRXpELDBCQUEwQjs7OzJCQWdCaEMsS0FBSzttQ0FDTCxLQUFLO29CQUNMLE1BQU07c0JBQ04sTUFBTTt1QkFFTixXQUFXLFNBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGd05vdGlmaWNhdGlvblRpbWVyU2VydmljZSB9IGZyb20gJy4uL25vdGlmaWNhdGlvbi10aW1lci5zZXJ2aWNlJztcbmltcG9ydCB7IEZ3Tm90aWZpY2F0aW9uVHlwZSwgTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9ub3RpZmljYXRpb24ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgaG9zdDoge1xuICAgICcoY2xpY2spJzogJ29uQ2xpY2tEaXNtaXNzKCknXG4gIH0sXG4gIHNlbGVjdG9yOiAnZnctbm90aWZpY2F0aW9uJyxcbiAgc3R5bGVVcmxzOiBbICcuL25vdGlmaWNhdGlvbi5jb21wb25lbnQuc2NzcycgXSxcbiAgdGVtcGxhdGU6IGB7eyBub3RpZmljYXRpb24/Lm1lc3NhZ2UgfX1gLFxuICBwcm92aWRlcnM6IFtGd05vdGlmaWNhdGlvblRpbWVyU2VydmljZV0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcblxuZXhwb3J0IGNsYXNzIEZ3Tm90aWZpY2F0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uXG4gIEBJbnB1dCgpIG5vdGlmaWNhdGlvbkR1cmF0aW9uOiBudW1iZXIgPSA5MDAwO1xuICBAT3V0cHV0KCkgcmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPEZ3Tm90aWZpY2F0aW9uQ29tcG9uZW50PigpXG4gIEBPdXRwdXQoKSBkaXNtaXNzID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KClcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGNzc0NsYXNzKCkge1xuICAgIGxldCBjc3NDbGFzcyA9ICdmdy1ub3RpZmljYXRpb24nO1xuICAgIHN3aXRjaCAodGhpcy5ub3RpZmljYXRpb24/LnR5cGUpIHtcbiAgICAgIGNhc2UgRndOb3RpZmljYXRpb25UeXBlLkVycm9yOlxuICAgICAgICByZXR1cm4gY3NzQ2xhc3MgKz0gJyBlcnJvcic7XG4gICAgICBjYXNlIEZ3Tm90aWZpY2F0aW9uVHlwZS5JbmZvOlxuICAgICAgICByZXR1cm4gY3NzQ2xhc3MgKz0gJyBpbmZvJztcbiAgICAgIGNhc2UgRndOb3RpZmljYXRpb25UeXBlLlN1Y2Nlc3M6XG4gICAgICAgIHJldHVybiBjc3NDbGFzcyArPSAnIHN1Y2Nlc3MnO1xuICAgICAgY2FzZSBGd05vdGlmaWNhdGlvblR5cGUuV2FpdDpcbiAgICAgICAgcmV0dXJuIGNzc0NsYXNzICs9ICcgd2FpdCc7XG4gICAgICBjYXNlIEZ3Tm90aWZpY2F0aW9uVHlwZS5XYXJuaW5nOlxuICAgICAgICByZXR1cm4gY3NzQ2xhc3MgKz0gJyB3YXJuaW5nJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBjc3NDbGFzcztcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgdGltZXJTZXJ2aWNlOiBGd05vdGlmaWNhdGlvblRpbWVyU2VydmljZSkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWFkeS5lbWl0KHRoaXMpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgc3RhcnRUaW1lcigpOiB2b2lkIHtcbiAgICB0aGlzLnRpbWVyU2VydmljZS5zdGFydCh0aGlzLm5vdGlmaWNhdGlvbkR1cmF0aW9uKS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMub25DbGlja0Rpc21pc3MoKTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgc3RvcFRpbWVyKCk6IHZvaWQge1xuICAgIHRoaXMudGltZXJTZXJ2aWNlLnN0b3AoKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uQ2xpY2tEaXNtaXNzKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzbWlzcy5lbWl0KHRoaXMubm90aWZpY2F0aW9uLmlkKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIl19
@@ -1,89 +0,0 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';
2
- import { Subscription } from 'rxjs';
3
- import { FwNotificationService } from '../notification.service';
4
- export class FwNotificationContainerComponent {
5
- constructor(cdr, notificationService) {
6
- this.cdr = cdr;
7
- this.notificationService = notificationService;
8
- this.limit = 3;
9
- this.notifications = [];
10
- this.expanded = false;
11
- this.subscriptions = {
12
- notifications: Subscription.EMPTY,
13
- };
14
- this.subscriptions.notifications = this.notificationService.notifications$.subscribe((notifications) => {
15
- this.notifications = notifications;
16
- if (notifications.length === 0) {
17
- this.expanded = false;
18
- }
19
- this.cdr.markForCheck();
20
- });
21
- }
22
- ngOnDestroy() {
23
- for (const subscription of Object.values(this.subscriptions)) {
24
- subscription.unsubscribe();
25
- }
26
- }
27
- notificationClass(index) {
28
- let cssClass;
29
- const level = this.notifications.length > this.limit
30
- ? index - (this.notifications.length - this.limit)
31
- : index;
32
- if (this.expanded) {
33
- cssClass = 'default';
34
- }
35
- else {
36
- cssClass = level >= 0 ? `level-${level}` : 'hidden';
37
- }
38
- return cssClass;
39
- }
40
- getEmptyNotification(notification) {
41
- return Object.assign(Object.assign({}, notification), { message: ' ' }); // take up a line but show no content
42
- }
43
- onReady(notification) {
44
- const currentNotification = this.notifications[this.notifications.length - 1];
45
- currentNotification.ref = notification;
46
- notification.startTimer();
47
- }
48
- onDismiss(notificationId) {
49
- const notification = this.notifications.find(currentNotification => currentNotification.id === notificationId);
50
- if (notification === null || notification === void 0 ? void 0 : notification.ref) {
51
- notification.ref.stopTimer();
52
- }
53
- if (notification === null || notification === void 0 ? void 0 : notification.id) {
54
- this.notificationService.dismiss(notification.id);
55
- }
56
- this.cdr.markForCheck();
57
- }
58
- clearAll() {
59
- this.notificationService.dismissAll();
60
- this.cdr.markForCheck();
61
- }
62
- onShowMore() {
63
- this.expanded = true;
64
- this.cdr.markForCheck();
65
- }
66
- onShowLess() {
67
- this.expanded = false;
68
- this.cdr.markForCheck();
69
- }
70
- }
71
- FwNotificationContainerComponent.decorators = [
72
- { type: Component, args: [{
73
- host: {
74
- 'class': 'fw-notification-container',
75
- '[class.duo]': 'notifications.length === 2',
76
- '[class.triple]': 'notifications.length >= 3',
77
- },
78
- selector: 'fw-notification-container',
79
- 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",
80
- encapsulation: ViewEncapsulation.None,
81
- changeDetection: ChangeDetectionStrategy.OnPush,
82
- 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)}"]
83
- },] }
84
- ];
85
- FwNotificationContainerComponent.ctorParameters = () => [
86
- { type: ChangeDetectorRef },
87
- { type: FwNotificationService }
88
- ];
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLWNvbnRhaW5lci9ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFhLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFnQmhFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFTM0MsWUFBb0IsR0FBc0IsRUFBVSxtQkFBMEM7UUFBMUUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXVCO1FBUjlGLFVBQUssR0FBRyxDQUFDLENBQUE7UUFDVCxrQkFBYSxHQUFtQixFQUFFLENBQUE7UUFDbEMsYUFBUSxHQUFHLEtBQUssQ0FBQTtRQUVSLGtCQUFhLEdBQUc7WUFDdEIsYUFBYSxFQUFFLFlBQVksQ0FBQyxLQUFLO1NBQ2xDLENBQUE7UUFHQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQTZCLEVBQUUsRUFBRTtZQUNySCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztZQUNuQyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQzthQUN2QjtZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULEtBQUssTUFBTSxZQUFZLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDNUQsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQWE7UUFDN0IsSUFBSSxRQUFnQixDQUFDO1FBQ3JCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLO1lBQ2xELENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ2xELENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFVixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsUUFBUSxHQUFHLFNBQVMsQ0FBQztTQUN0QjthQUFNO1lBQ0wsUUFBUSxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztTQUNyRDtRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxZQUEwQjtRQUM3Qyx1Q0FBWSxZQUFZLEtBQUUsT0FBTyxFQUFFLEdBQUcsSUFBRyxDQUFDLHFDQUFxQztJQUNqRixDQUFDO0lBRUQsT0FBTyxDQUFDLFlBQXFDO1FBQzNDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM5RSxtQkFBbUIsQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDO1FBQ3ZDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsU0FBUyxDQUFDLGNBQXNCO1FBQzlCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLEtBQUssY0FBYyxDQUFDLENBQUM7UUFDL0csSUFBSSxZQUFZLGFBQVosWUFBWSx1QkFBWixZQUFZLENBQUUsR0FBRyxFQUFFO1lBQ3JCLFlBQVksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDOUI7UUFDRCxJQUFJLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDbkQ7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7WUF0RkYsU0FBUyxTQUFDO2dCQUNULElBQUksRUFBRTtvQkFDSixPQUFPLEVBQUUsMkJBQTJCO29CQUNwQyxhQUFhLEVBQUUsNEJBQTRCO29CQUMzQyxnQkFBZ0IsRUFBRSwyQkFBMkI7aUJBQzlDO2dCQUNELFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLG1rQ0FBc0Q7Z0JBRXRELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7OztZQWxCaUMsaUJBQWlCO1lBRzFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRndOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRndOb3RpZmljYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZnctbm90aWZpY2F0aW9uLWNvbnRhaW5lcicsXG4gICAgJ1tjbGFzcy5kdW9dJzogJ25vdGlmaWNhdGlvbnMubGVuZ3RoID09PSAyJyxcbiAgICAnW2NsYXNzLnRyaXBsZV0nOiAnbm90aWZpY2F0aW9ucy5sZW5ndGggPj0gMycsXG4gIH0sXG4gIHNlbGVjdG9yOiAnZnctbm90aWZpY2F0aW9uLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRndOb3RpZmljYXRpb25Db250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBsaW1pdCA9IDNcbiAgbm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uW10gPSBbXVxuICBleHBhbmRlZCA9IGZhbHNlXG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zID0ge1xuICAgIG5vdGlmaWNhdGlvbnM6IFN1YnNjcmlwdGlvbi5FTVBUWSxcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBGd05vdGlmaWNhdGlvblNlcnZpY2UpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMubm90aWZpY2F0aW9ucyA9IHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5ub3RpZmljYXRpb25zJC5zdWJzY3JpYmUoKG5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbltdKSA9PiB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbnMgPSBub3RpZmljYXRpb25zO1xuICAgICAgaWYgKG5vdGlmaWNhdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2YgT2JqZWN0LnZhbHVlcyh0aGlzLnN1YnNjcmlwdGlvbnMpKSB7XG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBub3RpZmljYXRpb25DbGFzcyhpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBsZXQgY3NzQ2xhc3M6IHN0cmluZztcbiAgICBjb25zdCBsZXZlbCA9IHRoaXMubm90aWZpY2F0aW9ucy5sZW5ndGggPiB0aGlzLmxpbWl0XG4gICAgICA/IGluZGV4IC0gKHRoaXMubm90aWZpY2F0aW9ucy5sZW5ndGggLSB0aGlzLmxpbWl0KVxuICAgICAgOiBpbmRleDtcblxuICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XG4gICAgICBjc3NDbGFzcyA9ICdkZWZhdWx0JztcbiAgICB9IGVsc2Uge1xuICAgICAgY3NzQ2xhc3MgPSBsZXZlbCA+PSAwID8gYGxldmVsLSR7bGV2ZWx9YCA6ICdoaWRkZW4nO1xuICAgIH1cblxuICAgIHJldHVybiBjc3NDbGFzcztcbiAgfVxuXG4gIGdldEVtcHR5Tm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKTogTm90aWZpY2F0aW9uIHtcbiAgICByZXR1cm4geyAuLi5ub3RpZmljYXRpb24sIG1lc3NhZ2U6ICcgJyB9OyAvLyB0YWtlIHVwIGEgbGluZSBidXQgc2hvdyBubyBjb250ZW50XG4gIH1cblxuICBvblJlYWR5KG5vdGlmaWNhdGlvbjogRndOb3RpZmljYXRpb25Db21wb25lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50Tm90aWZpY2F0aW9uID0gdGhpcy5ub3RpZmljYXRpb25zW3RoaXMubm90aWZpY2F0aW9ucy5sZW5ndGggLSAxXTtcbiAgICBjdXJyZW50Tm90aWZpY2F0aW9uLnJlZiA9IG5vdGlmaWNhdGlvbjtcbiAgICBub3RpZmljYXRpb24uc3RhcnRUaW1lcigpO1xuICB9XG5cbiAgb25EaXNtaXNzKG5vdGlmaWNhdGlvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBub3RpZmljYXRpb24gPSB0aGlzLm5vdGlmaWNhdGlvbnMuZmluZChjdXJyZW50Tm90aWZpY2F0aW9uID0+IGN1cnJlbnROb3RpZmljYXRpb24uaWQgPT09IG5vdGlmaWNhdGlvbklkKTtcbiAgICBpZiAobm90aWZpY2F0aW9uPy5yZWYpIHtcbiAgICAgIG5vdGlmaWNhdGlvbi5yZWYuc3RvcFRpbWVyKCk7XG4gICAgfVxuICAgIGlmIChub3RpZmljYXRpb24/LmlkKSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZGlzbWlzcyhub3RpZmljYXRpb24uaWQpO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGNsZWFyQWxsKCk6IHZvaWQge1xuICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5kaXNtaXNzQWxsKCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvblNob3dNb3JlKCk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25TaG93TGVzcygpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiJdfQ==