@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,69 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
2
+ import { FwNotificationTimerService } from '../notification-timer.service';
3
+ import { FwNotificationType } from './notification.model';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../notification-timer.service";
6
+ export class FwNotificationComponent {
7
+ constructor(cdr, timerService) {
8
+ this.cdr = cdr;
9
+ this.timerService = timerService;
10
+ this.notificationDuration = 9000;
11
+ this.ready = new EventEmitter();
12
+ this.dismiss = new EventEmitter();
13
+ }
14
+ get cssClass() {
15
+ let cssClass = 'fw-notification';
16
+ switch (this.notification?.type) {
17
+ case FwNotificationType.Error:
18
+ return cssClass += ' error';
19
+ case FwNotificationType.Info:
20
+ return cssClass += ' info';
21
+ case FwNotificationType.Success:
22
+ return cssClass += ' success';
23
+ case FwNotificationType.Wait:
24
+ return cssClass += ' wait';
25
+ case FwNotificationType.Warning:
26
+ return cssClass += ' warning';
27
+ default:
28
+ return cssClass;
29
+ }
30
+ }
31
+ ngAfterViewInit() {
32
+ this.ready.emit(this);
33
+ this.cdr.markForCheck();
34
+ }
35
+ startTimer() {
36
+ this.timerService.start(this.notificationDuration).then(() => {
37
+ this.onClickDismiss();
38
+ this.cdr.markForCheck();
39
+ });
40
+ }
41
+ stopTimer() {
42
+ this.timerService.stop();
43
+ this.cdr.markForCheck();
44
+ }
45
+ onClickDismiss() {
46
+ this.dismiss.emit(this.notification.id);
47
+ this.cdr.markForCheck();
48
+ }
49
+ }
50
+ FwNotificationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FwNotificationTimerService }], target: i0.ɵɵFactoryTarget.Component });
51
+ FwNotificationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwNotificationComponent, selector: "fw-notification", inputs: { notification: "notification", notificationDuration: "notificationDuration" }, outputs: { ready: "ready", dismiss: "dismiss" }, host: { listeners: { "click": "onClickDismiss()" }, properties: { "class": "this.cssClass" } }, providers: [FwNotificationTimerService], ngImport: i0, template: `{{ notification?.message }}`, isInline: true, styles: ["fw-notification{display:block;border-radius:4px;box-sizing:border-box;margin:5px 24px;max-width:33vw;min-width:344px;padding:14px 16px;transform-origin:center;background-color:#2f96b4;border:1px solid rgba(255,255,255,.7019607843);box-shadow:0 0 12px #999;color:#fff;opacity:.99;white-space:pre-wrap}fw-notification.error{background-color:#bd362f}fw-notification.info{background-color:#2f96b4}fw-notification.success{background-color:#51a351}fw-notification.wait{background-color:#2f96b4}fw-notification.warning{background-color:#f89406}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationComponent, decorators: [{
53
+ type: Component,
54
+ args: [{ host: {
55
+ '(click)': 'onClickDismiss()'
56
+ }, selector: 'fw-notification', template: `{{ notification?.message }}`, providers: [FwNotificationTimerService], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["fw-notification{display:block;border-radius:4px;box-sizing:border-box;margin:5px 24px;max-width:33vw;min-width:344px;padding:14px 16px;transform-origin:center;background-color:#2f96b4;border:1px solid rgba(255,255,255,.7019607843);box-shadow:0 0 12px #999;color:#fff;opacity:.99;white-space:pre-wrap}fw-notification.error{background-color:#bd362f}fw-notification.info{background-color:#2f96b4}fw-notification.success{background-color:#51a351}fw-notification.wait{background-color:#2f96b4}fw-notification.warning{background-color:#f89406}\n"] }]
57
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.FwNotificationTimerService }]; }, propDecorators: { notification: [{
58
+ type: Input
59
+ }], notificationDuration: [{
60
+ type: Input
61
+ }], ready: [{
62
+ type: Output
63
+ }], dismiss: [{
64
+ type: Output
65
+ }], cssClass: [{
66
+ type: HostBinding,
67
+ args: ['class']
68
+ }] } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxLLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBY3hFLE1BQU0sT0FBTyx1QkFBdUI7SUF3QmxDLFlBQW9CLEdBQXNCLEVBQVUsWUFBd0M7UUFBeEUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBNEI7UUF0Qm5GLHlCQUFvQixHQUFXLElBQUksQ0FBQztRQUNuQyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUE7UUFDbkQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUE7SUFvQmlELENBQUM7SUFsQmhHLElBQTBCLFFBQVE7UUFDaEMsSUFBSSxRQUFRLEdBQUcsaUJBQWlCLENBQUM7UUFDakMsUUFBUSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRTtZQUMvQixLQUFLLGtCQUFrQixDQUFDLEtBQUs7Z0JBQzNCLE9BQU8sUUFBUSxJQUFJLFFBQVEsQ0FBQztZQUM5QixLQUFLLGtCQUFrQixDQUFDLElBQUk7Z0JBQzFCLE9BQU8sUUFBUSxJQUFJLE9BQU8sQ0FBQztZQUM3QixLQUFLLGtCQUFrQixDQUFDLE9BQU87Z0JBQzdCLE9BQU8sUUFBUSxJQUFJLFVBQVUsQ0FBQztZQUNoQyxLQUFLLGtCQUFrQixDQUFDLElBQUk7Z0JBQzFCLE9BQU8sUUFBUSxJQUFJLE9BQU8sQ0FBQztZQUM3QixLQUFLLGtCQUFrQixDQUFDLE9BQU87Z0JBQzdCLE9BQU8sUUFBUSxJQUFJLFVBQVUsQ0FBQztZQUNoQztnQkFDRSxPQUFPLFFBQVEsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFJRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDM0QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDOztxSEE5Q1UsdUJBQXVCO3lHQUF2Qix1QkFBdUIsbVJBTHZCLENBQUMsMEJBQTBCLENBQUMsMEJBRDdCLDZCQUE2Qjs0RkFNNUIsdUJBQXVCO2tCQVpuQyxTQUFTOzJCQUNGO3dCQUNKLFNBQVMsRUFBRSxrQkFBa0I7cUJBQzlCLFlBQ1MsaUJBQWlCLFlBRWpCLDZCQUE2QixhQUM1QixDQUFDLDBCQUEwQixDQUFDLGlCQUN4QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO2lKQUl0QyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFFbUIsUUFBUTtzQkFBakMsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZ3Tm90aWZpY2F0aW9uVGltZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uLXRpbWVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRndOb3RpZmljYXRpb25UeXBlLCBOb3RpZmljYXRpb24gfSBmcm9tICcuL25vdGlmaWNhdGlvbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBob3N0OiB7XG4gICAgJyhjbGljayknOiAnb25DbGlja0Rpc21pc3MoKSdcbiAgfSxcbiAgc2VsZWN0b3I6ICdmdy1ub3RpZmljYXRpb24nLFxuICBzdHlsZVVybHM6IFsgJy4vbm90aWZpY2F0aW9uLmNvbXBvbmVudC5zY3NzJyBdLFxuICB0ZW1wbGF0ZTogYHt7IG5vdGlmaWNhdGlvbj8ubWVzc2FnZSB9fWAsXG4gIHByb3ZpZGVyczogW0Z3Tm90aWZpY2F0aW9uVGltZXJTZXJ2aWNlXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuXG5leHBvcnQgY2xhc3MgRndOb3RpZmljYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25cbiAgQElucHV0KCkgbm90aWZpY2F0aW9uRHVyYXRpb246IG51bWJlciA9IDkwMDA7XG4gIEBPdXRwdXQoKSByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8RndOb3RpZmljYXRpb25Db21wb25lbnQ+KClcbiAgQE91dHB1dCgpIGRpc21pc3MgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBnZXQgY3NzQ2xhc3MoKSB7XG4gICAgbGV0IGNzc0NsYXNzID0gJ2Z3LW5vdGlmaWNhdGlvbic7XG4gICAgc3dpdGNoICh0aGlzLm5vdGlmaWNhdGlvbj8udHlwZSkge1xuICAgICAgY2FzZSBGd05vdGlmaWNhdGlvblR5cGUuRXJyb3I6XG4gICAgICAgIHJldHVybiBjc3NDbGFzcyArPSAnIGVycm9yJztcbiAgICAgIGNhc2UgRndOb3RpZmljYXRpb25UeXBlLkluZm86XG4gICAgICAgIHJldHVybiBjc3NDbGFzcyArPSAnIGluZm8nO1xuICAgICAgY2FzZSBGd05vdGlmaWNhdGlvblR5cGUuU3VjY2VzczpcbiAgICAgICAgcmV0dXJuIGNzc0NsYXNzICs9ICcgc3VjY2Vzcyc7XG4gICAgICBjYXNlIEZ3Tm90aWZpY2F0aW9uVHlwZS5XYWl0OlxuICAgICAgICByZXR1cm4gY3NzQ2xhc3MgKz0gJyB3YWl0JztcbiAgICAgIGNhc2UgRndOb3RpZmljYXRpb25UeXBlLldhcm5pbmc6XG4gICAgICAgIHJldHVybiBjc3NDbGFzcyArPSAnIHdhcm5pbmcnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGNzc0NsYXNzO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSB0aW1lclNlcnZpY2U6IEZ3Tm90aWZpY2F0aW9uVGltZXJTZXJ2aWNlKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlYWR5LmVtaXQodGhpcyk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBzdGFydFRpbWVyKCk6IHZvaWQge1xuICAgIHRoaXMudGltZXJTZXJ2aWNlLnN0YXJ0KHRoaXMubm90aWZpY2F0aW9uRHVyYXRpb24pLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5vbkNsaWNrRGlzbWlzcygpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBzdG9wVGltZXIoKTogdm9pZCB7XG4gICAgdGhpcy50aW1lclNlcnZpY2Uuc3RvcCgpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25DbGlja0Rpc21pc3MoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNtaXNzLmVtaXQodGhpcy5ub3RpZmljYXRpb24uaWQpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,86 @@
1
+ import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
2
+ import { Subscription } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../notification.service";
5
+ import * as i2 from "../notification/notification.component";
6
+ import * as i3 from "../../button/button.component";
7
+ import * as i4 from "@angular/material/icon";
8
+ import * as i5 from "@angular/common";
9
+ export class FwNotificationContainerComponent {
10
+ constructor(cdr, notificationService) {
11
+ this.cdr = cdr;
12
+ this.notificationService = notificationService;
13
+ this.limit = 3;
14
+ this.notifications = [];
15
+ this.expanded = false;
16
+ this.subscriptions = {
17
+ notifications: Subscription.EMPTY,
18
+ };
19
+ this.subscriptions.notifications = this.notificationService.notifications$.subscribe((notifications) => {
20
+ this.notifications = notifications;
21
+ if (notifications.length === 0) {
22
+ this.expanded = false;
23
+ }
24
+ this.cdr.markForCheck();
25
+ });
26
+ }
27
+ ngOnDestroy() {
28
+ for (const subscription of Object.values(this.subscriptions)) {
29
+ subscription.unsubscribe();
30
+ }
31
+ }
32
+ notificationClass(index) {
33
+ let cssClass;
34
+ const level = this.notifications.length > this.limit
35
+ ? index - (this.notifications.length - this.limit)
36
+ : index;
37
+ if (this.expanded) {
38
+ cssClass = 'default';
39
+ }
40
+ else {
41
+ cssClass = level >= 0 ? `level-${level}` : 'hidden';
42
+ }
43
+ return cssClass;
44
+ }
45
+ getEmptyNotification(notification) {
46
+ return { ...notification, message: ' ' }; // take up a line but show no content
47
+ }
48
+ onReady(notification) {
49
+ const currentNotification = this.notifications[this.notifications.length - 1];
50
+ currentNotification.ref = notification;
51
+ notification.startTimer();
52
+ }
53
+ onDismiss(notificationId) {
54
+ const notification = this.notifications.find(currentNotification => currentNotification.id === notificationId);
55
+ if (notification?.ref) {
56
+ notification.ref.stopTimer();
57
+ }
58
+ if (notification?.id) {
59
+ this.notificationService.dismiss(notification.id);
60
+ }
61
+ this.cdr.markForCheck();
62
+ }
63
+ clearAll() {
64
+ this.notificationService.dismissAll();
65
+ this.cdr.markForCheck();
66
+ }
67
+ onShowMore() {
68
+ this.expanded = true;
69
+ this.cdr.markForCheck();
70
+ }
71
+ onShowLess() {
72
+ this.expanded = false;
73
+ this.cdr.markForCheck();
74
+ }
75
+ }
76
+ FwNotificationContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationContainerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FwNotificationService }], target: i0.ɵɵFactoryTarget.Component });
77
+ FwNotificationContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwNotificationContainerComponent, selector: "fw-notification-container", host: { properties: { "class.duo": "notifications.length === 2", "class.triple": "notifications.length >= 3" }, classAttribute: "fw-notification-container" }, ngImport: i0, template: "<div role=\"list\">\n <fw-notification *ngFor=\"let notification of notifications; index as $index\"\n (ready)=\"onReady($event)\"\n (dismiss)=\"onDismiss($event)\"\n [class]=\"notificationClass($index)\"\n [notification]=\"expanded || $index === notifications.length - 1 ? notification : getEmptyNotification(notification)\"\n [attr.aria-label]=\"notification.type + ' : ' + notification.message\"\n role=\"listitem\"\n ></fw-notification>\n <div class=\"buttons\">\n <fw-button *ngIf=\"expanded\" (click)=\"onShowLess()\" mat-button aria-label=\"show less\" layout=\"compact\" size=\"small\">\n <mat-icon>expand_less</mat-icon>\n </fw-button>\n <fw-button *ngIf=\"!expanded && notifications.length > 1\" (click)=\"onShowMore()\" mat-button aria-label=\"show more\" layout=\"compact\" size=\"small\">\n <mat-icon>expand_more</mat-icon>\n </fw-button>\n <fw-button (click)=\"clearAll()\" mat-button class=\"clear-all\" aria-label=\"clear all\" layout=\"compact\" size=\"small\">\n Clear All\n </fw-button>\n </div>\n</div>\n", styles: ["fw-notification-container{position:absolute;right:0;top:0;margin-top:20px;z-index:999999}fw-notification-container>div{display:flex;flex-direction:column-reverse}fw-notification-container .buttons{display:none;position:absolute;top:-5px;right:25px}fw-notification-container .buttons button{color:#fff;background-color:#919292;margin-left:2px}fw-notification-container .buttons button.mat-button{line-height:24px!important;margin:0 0 0 2px!important}fw-notification-container:hover .buttons{display:flex}fw-notification-container .hidden{display:none}fw-notification-container fw-notification:last-of-type{margin-top:24px}fw-notification-container.duo fw-notification.level-0{transform:scale(.95) translateY(-51px)}fw-notification-container.triple fw-notification.level-1{transform:scale(.95) translateY(-51px)}fw-notification-container.triple fw-notification.level-0{transform:scale(.9) translateY(-108px)}\n"], components: [{ type: i2.FwNotificationComponent, selector: "fw-notification", inputs: ["notification", "notificationDuration"], outputs: ["ready", "dismiss"] }, { type: i3.FwButtonComponent, selector: "fw-button", inputs: ["color", "layout", "size", "type"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationContainerComponent, decorators: [{
79
+ type: Component,
80
+ args: [{ host: {
81
+ 'class': 'fw-notification-container',
82
+ '[class.duo]': 'notifications.length === 2',
83
+ '[class.triple]': 'notifications.length >= 3',
84
+ }, selector: 'fw-notification-container', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div role=\"list\">\n <fw-notification *ngFor=\"let notification of notifications; index as $index\"\n (ready)=\"onReady($event)\"\n (dismiss)=\"onDismiss($event)\"\n [class]=\"notificationClass($index)\"\n [notification]=\"expanded || $index === notifications.length - 1 ? notification : getEmptyNotification(notification)\"\n [attr.aria-label]=\"notification.type + ' : ' + notification.message\"\n role=\"listitem\"\n ></fw-notification>\n <div class=\"buttons\">\n <fw-button *ngIf=\"expanded\" (click)=\"onShowLess()\" mat-button aria-label=\"show less\" layout=\"compact\" size=\"small\">\n <mat-icon>expand_less</mat-icon>\n </fw-button>\n <fw-button *ngIf=\"!expanded && notifications.length > 1\" (click)=\"onShowMore()\" mat-button aria-label=\"show more\" layout=\"compact\" size=\"small\">\n <mat-icon>expand_more</mat-icon>\n </fw-button>\n <fw-button (click)=\"clearAll()\" mat-button class=\"clear-all\" aria-label=\"clear all\" layout=\"compact\" size=\"small\">\n Clear All\n </fw-button>\n </div>\n</div>\n", styles: ["fw-notification-container{position:absolute;right:0;top:0;margin-top:20px;z-index:999999}fw-notification-container>div{display:flex;flex-direction:column-reverse}fw-notification-container .buttons{display:none;position:absolute;top:-5px;right:25px}fw-notification-container .buttons button{color:#fff;background-color:#919292;margin-left:2px}fw-notification-container .buttons button.mat-button{line-height:24px!important;margin:0 0 0 2px!important}fw-notification-container:hover .buttons{display:flex}fw-notification-container .hidden{display:none}fw-notification-container fw-notification:last-of-type{margin-top:24px}fw-notification-container.duo fw-notification.level-0{transform:scale(.95) translateY(-51px)}fw-notification-container.triple fw-notification.level-1{transform:scale(.95) translateY(-51px)}fw-notification-container.triple fw-notification.level-0{transform:scale(.9) translateY(-108px)}\n"] }]
85
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.FwNotificationService }]; } });
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLWNvbnRhaW5lci9ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24tY29udGFpbmVyL25vdGlmaWNhdGlvbi1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWEsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQWtCcEMsTUFBTSxPQUFPLGdDQUFnQztJQVMzQyxZQUFvQixHQUFzQixFQUFVLG1CQUEwQztRQUExRSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBdUI7UUFSOUYsVUFBSyxHQUFHLENBQUMsQ0FBQTtRQUNULGtCQUFhLEdBQW1CLEVBQUUsQ0FBQTtRQUNsQyxhQUFRLEdBQUcsS0FBSyxDQUFBO1FBRVIsa0JBQWEsR0FBRztZQUN0QixhQUFhLEVBQUUsWUFBWSxDQUFDLEtBQUs7U0FDbEMsQ0FBQTtRQUdDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBNkIsRUFBRSxFQUFFO1lBQ3JILElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1lBQ25DLElBQUksYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2FB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IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRndOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRndOb3RpZmljYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZnctbm90aWZpY2F0aW9uLWNvbnRhaW5lcicsXG4gICAgJ1tjbGFzcy5kdW9dJzogJ25vdGlmaWNhdGlvbnMubGVuZ3RoID09PSAyJyxcbiAgICAnW2NsYXNzLnRyaXBsZV0nOiAnbm90aWZpY2F0aW9ucy5sZW5ndGggPj0gMycsXG4gIH0sXG4gIHNlbGVjdG9yOiAnZnctbm90aWZpY2F0aW9uLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRndOb3RpZmljYXRpb25Db250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBsaW1pdCA9IDNcbiAgbm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uW10gPSBbXVxuICBleHBhbmRlZCA9IGZhbHNlXG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zID0ge1xuICAgIG5vdGlmaWNhdGlvbnM6IFN1YnNjcmlwdGlvbi5FTVBUWSxcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBGd05vdGlmaWNhdGlvblNlcnZpY2UpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMubm90aWZpY2F0aW9ucyA9IHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5ub3RpZmljYXRpb25zJC5zdWJzY3JpYmUoKG5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbltdKSA9PiB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbnMgPSBub3RpZmljYXRpb25zO1xuICAgICAgaWYgKG5vdGlmaWNhdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2YgT2JqZWN0LnZhbHVlcyh0aGlzLnN1YnNjcmlwdGlvbnMpKSB7XG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBub3RpZmljYXRpb25DbGFzcyhpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBsZXQgY3NzQ2xhc3M6IHN0cmluZztcbiAgICBjb25zdCBsZXZlbCA9IHRoaXMubm90aWZpY2F0aW9ucy5sZW5ndGggPiB0aGlzLmxpbWl0XG4gICAgICA/IGluZGV4IC0gKHRoaXMubm90aWZpY2F0aW9ucy5sZW5ndGggLSB0aGlzLmxpbWl0KVxuICAgICAgOiBpbmRleDtcblxuICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XG4gICAgICBjc3NDbGFzcyA9ICdkZWZhdWx0JztcbiAgICB9IGVsc2Uge1xuICAgICAgY3NzQ2xhc3MgPSBsZXZlbCA+PSAwID8gYGxldmVsLSR7bGV2ZWx9YCA6ICdoaWRkZW4nO1xuICAgIH1cblxuICAgIHJldHVybiBjc3NDbGFzcztcbiAgfVxuXG4gIGdldEVtcHR5Tm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKTogTm90aWZpY2F0aW9uIHtcbiAgICByZXR1cm4geyAuLi5ub3RpZmljYXRpb24sIG1lc3NhZ2U6ICcgJyB9OyAvLyB0YWtlIHVwIGEgbGluZSBidXQgc2hvdyBubyBjb250ZW50XG4gIH1cblxuICBvblJlYWR5KG5vdGlmaWNhdGlvbjogRndOb3RpZmljYXRpb25Db21wb25lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50Tm90aWZpY2F0aW9uID0gdGhpcy5ub3RpZmljYXRpb25zW3RoaXMubm90aWZpY2F0aW9ucy5sZW5ndGggLSAxXTtcbiAgICBjdXJyZW50Tm90aWZpY2F0aW9uLnJlZiA9IG5vdGlmaWNhdGlvbjtcbiAgICBub3RpZmljYXRpb24uc3RhcnRUaW1lcigpO1xuICB9XG5cbiAgb25EaXNtaXNzKG5vdGlmaWNhdGlvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBub3RpZmljYXRpb24gPSB0aGlzLm5vdGlmaWNhdGlvbnMuZmluZChjdXJyZW50Tm90aWZpY2F0aW9uID0+IGN1cnJlbnROb3RpZmljYXRpb24uaWQgPT09IG5vdGlmaWNhdGlvbklkKTtcbiAgICBpZiAobm90aWZpY2F0aW9uPy5yZWYpIHtcbiAgICAgIG5vdGlmaWNhdGlvbi5yZWYuc3RvcFRpbWVyKCk7XG4gICAgfVxuICAgIGlmIChub3RpZmljYXRpb24/LmlkKSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZGlzbWlzcyhub3RpZmljYXRpb24uaWQpO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGNsZWFyQWxsKCk6IHZvaWQge1xuICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5kaXNtaXNzQWxsKCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvblNob3dNb3JlKCk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25TaG93TGVzcygpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxkaXYgcm9sZT1cImxpc3RcIj5cbiAgPGZ3LW5vdGlmaWNhdGlvbiAqbmdGb3I9XCJsZXQgbm90aWZpY2F0aW9uIG9mIG5vdGlmaWNhdGlvbnM7IGluZGV4IGFzICRpbmRleFwiXG4gICAgKHJlYWR5KT1cIm9uUmVhZHkoJGV2ZW50KVwiXG4gICAgKGRpc21pc3MpPVwib25EaXNtaXNzKCRldmVudClcIlxuICAgIFtjbGFzc109XCJub3RpZmljYXRpb25DbGFzcygkaW5kZXgpXCJcbiAgICBbbm90aWZpY2F0aW9uXT1cImV4cGFuZGVkIHx8ICRpbmRleCA9PT0gbm90aWZpY2F0aW9ucy5sZW5ndGggLSAxID8gbm90aWZpY2F0aW9uIDogZ2V0RW1wdHlOb3RpZmljYXRpb24obm90aWZpY2F0aW9uKVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJub3RpZmljYXRpb24udHlwZSArICcgOiAnICsgbm90aWZpY2F0aW9uLm1lc3NhZ2VcIlxuICAgIHJvbGU9XCJsaXN0aXRlbVwiXG4gID48L2Z3LW5vdGlmaWNhdGlvbj5cbiAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cbiAgICA8ZnctYnV0dG9uICpuZ0lmPVwiZXhwYW5kZWRcIiAoY2xpY2spPVwib25TaG93TGVzcygpXCIgbWF0LWJ1dHRvbiBhcmlhLWxhYmVsPVwic2hvdyBsZXNzXCIgbGF5b3V0PVwiY29tcGFjdFwiIHNpemU9XCJzbWFsbFwiPlxuICAgICAgPG1hdC1pY29uPmV4cGFuZF9sZXNzPC9tYXQtaWNvbj5cbiAgICA8L2Z3LWJ1dHRvbj5cbiAgICA8ZnctYnV0dG9uICpuZ0lmPVwiIWV4cGFuZGVkICYmIG5vdGlmaWNhdGlvbnMubGVuZ3RoID4gMVwiIChjbGljayk9XCJvblNob3dNb3JlKClcIiBtYXQtYnV0dG9uIGFyaWEtbGFiZWw9XCJzaG93IG1vcmVcIiBsYXlvdXQ9XCJjb21wYWN0XCIgc2l6ZT1cInNtYWxsXCI+XG4gICAgICA8bWF0LWljb24+ZXhwYW5kX21vcmU8L21hdC1pY29uPlxuICAgIDwvZnctYnV0dG9uPlxuICAgIDxmdy1idXR0b24gKGNsaWNrKT1cImNsZWFyQWxsKClcIiBtYXQtYnV0dG9uIGNsYXNzPVwiY2xlYXItYWxsXCIgYXJpYS1sYWJlbD1cImNsZWFyIGFsbFwiIGxheW91dD1cImNvbXBhY3RcIiBzaXplPVwic21hbGxcIj5cbiAgICAgIENsZWFyIEFsbFxuICAgIDwvZnctYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,56 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { MatButtonModule } from '@angular/material/button';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { FwButtonGroupModule } from '../button-group/button-group.module';
6
+ import { FwButtonModule } from '../button/button.module';
7
+ import { FwNotificationContainerComponent } from './notification-container/notification-container.component';
8
+ import { FwNotificationService } from './notification.service';
9
+ import { FwNotificationComponent } from './notification/notification.component';
10
+ import * as i0 from "@angular/core";
11
+ export class FwNotificationModule {
12
+ }
13
+ FwNotificationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ FwNotificationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationModule, declarations: [FwNotificationComponent,
15
+ FwNotificationContainerComponent], imports: [CommonModule,
16
+ FwButtonModule,
17
+ FwButtonGroupModule,
18
+ MatButtonModule,
19
+ MatIconModule], exports: [FwNotificationComponent,
20
+ FwNotificationContainerComponent] });
21
+ FwNotificationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationModule, providers: [
22
+ FwNotificationService,
23
+ ], imports: [[
24
+ CommonModule,
25
+ FwButtonModule,
26
+ FwButtonGroupModule,
27
+ MatButtonModule,
28
+ MatIconModule,
29
+ ]] });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationModule, decorators: [{
31
+ type: NgModule,
32
+ args: [{
33
+ imports: [
34
+ CommonModule,
35
+ FwButtonModule,
36
+ FwButtonGroupModule,
37
+ MatButtonModule,
38
+ MatIconModule,
39
+ ],
40
+ exports: [
41
+ FwNotificationComponent,
42
+ FwNotificationContainerComponent
43
+ ],
44
+ declarations: [
45
+ FwNotificationComponent,
46
+ FwNotificationContainerComponent,
47
+ ],
48
+ entryComponents: [
49
+ FwNotificationComponent,
50
+ ],
51
+ providers: [
52
+ FwNotificationService,
53
+ ]
54
+ }]
55
+ }] });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzdHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQXlCaEYsTUFBTSxPQUFPLG9CQUFvQjs7a0hBQXBCLG9CQUFvQjttSEFBcEIsb0JBQW9CLGlCQVY3Qix1QkFBdUI7UUFDdkIsZ0NBQWdDLGFBWmhDLFlBQVk7UUFDWixjQUFjO1FBQ2QsbUJBQW1CO1FBQ25CLGVBQWU7UUFDZixhQUFhLGFBR2IsdUJBQXVCO1FBQ3ZCLGdDQUFnQzttSEFhdkIsb0JBQW9CLGFBSnBCO1FBQ1QscUJBQXFCO0tBQ3RCLFlBcEJRO1lBQ1AsWUFBWTtZQUNaLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGFBQWE7U0FDZDs0RkFnQlUsb0JBQW9CO2tCQXZCaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7d0JBQ3ZCLGdDQUFnQztxQkFDakM7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLHVCQUF1Qjt3QkFDdkIsZ0NBQWdDO3FCQUNqQztvQkFDRCxlQUFlLEVBQUU7d0JBQ2YsdUJBQXVCO3FCQUN4QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QscUJBQXFCO3FCQUN0QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuaW1wb3J0IHsgRndCdXR0b25Hcm91cE1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbi1ncm91cC9idXR0b24tZ3JvdXAubW9kdWxlJztcbmltcG9ydCB7IEZ3QnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgRndOb3RpZmljYXRpb25Db250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL25vdGlmaWNhdGlvbi1jb250YWluZXIvbm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRndOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBGd05vdGlmaWNhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZ3QnV0dG9uTW9kdWxlLFxuICAgIEZ3QnV0dG9uR3JvdXBNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBGd05vdGlmaWNhdGlvbkNvbXBvbmVudCxcbiAgICBGd05vdGlmaWNhdGlvbkNvbnRhaW5lckNvbXBvbmVudFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGd05vdGlmaWNhdGlvbkNvbXBvbmVudCxcbiAgICBGd05vdGlmaWNhdGlvbkNvbnRhaW5lckNvbXBvbmVudCxcbiAgXSxcbiAgZW50cnlDb21wb25lbnRzOiBbXG4gICAgRndOb3RpZmljYXRpb25Db21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIEZ3Tm90aWZpY2F0aW9uU2VydmljZSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGd05vdGlmaWNhdGlvbk1vZHVsZSB7fSJdfQ==
@@ -25,10 +25,12 @@ export class FwNotificationService {
25
25
  this.notifications$.next(this.notificationQueue);
26
26
  }
27
27
  }
28
- FwNotificationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FwNotificationService_Factory() { return new FwNotificationService(); }, token: FwNotificationService, providedIn: "root" });
29
- FwNotificationService.decorators = [
30
- { type: Injectable, args: [{
31
- providedIn: 'root'
32
- },] }
33
- ];
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUd2QyxNQUFNLFVBQVUsS0FBSztJQUNuQixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM1RixDQUFDO0FBS0QsTUFBTSxPQUFPLHFCQUFxQjtJQUhsQztRQUlXLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQzFELHNCQUFpQixHQUFtQixFQUFFLENBQUM7S0FvQmhEO0lBbEJDLElBQUksQ0FBQyxZQUEwQjtRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRTtZQUNwQixZQUFZLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO1NBQzNCO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsT0FBTyxDQUFDLGNBQXNCO1FBQzVCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNuRCxDQUFDOzs7O1lBeEJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLm1vZGVsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdlbklkKCk6IHN0cmluZyB7XG4gIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnBhZFN0YXJ0KDI0LCBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBEYXRlLm5vdygpKS50b1N0cmluZygxNikpO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGd05vdGlmaWNhdGlvblNlcnZpY2Uge1xuICByZWFkb25seSBub3RpZmljYXRpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tm90aWZpY2F0aW9uW10+KFtdKTtcbiAgcHJpdmF0ZSBub3RpZmljYXRpb25RdWV1ZTogTm90aWZpY2F0aW9uW10gPSBbXTtcblxuICBzaG93KG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKTogdm9pZCB7XG4gICAgaWYgKCFub3RpZmljYXRpb24uaWQpIHtcbiAgICAgIG5vdGlmaWNhdGlvbi5pZCA9IGdlbklkKCk7XG4gICAgfVxuXG4gICAgdGhpcy5ub3RpZmljYXRpb25RdWV1ZS5wdXNoKG5vdGlmaWNhdGlvbik7XG4gICAgdGhpcy5ub3RpZmljYXRpb25zJC5uZXh0KHRoaXMubm90aWZpY2F0aW9uUXVldWUpO1xuICB9XG5cbiAgZGlzbWlzcyhub3RpZmljYXRpb25JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5ub3RpZmljYXRpb25RdWV1ZSA9IHRoaXMubm90aWZpY2F0aW9uUXVldWUuZmlsdGVyKCh2KSA9PiB2LmlkICE9PSBub3RpZmljYXRpb25JZCk7XG4gICAgdGhpcy5ub3RpZmljYXRpb25zJC5uZXh0KHRoaXMubm90aWZpY2F0aW9uUXVldWUpO1xuICB9XG5cbiAgZGlzbWlzc0FsbCgpOiB2b2lkIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblF1ZXVlID0gW107XG4gICAgdGhpcy5ub3RpZmljYXRpb25zJC5uZXh0KHRoaXMubm90aWZpY2F0aW9uUXVldWUpO1xuICB9XG59XG5cbiJdfQ==
28
+ FwNotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
29
+ FwNotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationService, providedIn: 'root' });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationService, decorators: [{
31
+ type: Injectable,
32
+ args: [{
33
+ providedIn: 'root'
34
+ }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUd2QyxNQUFNLFVBQVUsS0FBSztJQUNuQixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM1RixDQUFDO0FBS0QsTUFBTSxPQUFPLHFCQUFxQjtJQUhsQztRQUlXLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQzFELHNCQUFpQixHQUFtQixFQUFFLENBQUM7S0FvQmhEO0lBbEJDLElBQUksQ0FBQyxZQUEwQjtRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRTtZQUNwQixZQUFZLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO1NBQzNCO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsT0FBTyxDQUFDLGNBQXNCO1FBQzVCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNuRCxDQUFDOzttSEFyQlUscUJBQXFCO3VIQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24ubW9kZWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2VuSWQoKTogc3RyaW5nIHtcbiAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUucGFkU3RhcnQoMjQsIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIERhdGUubm93KCkpLnRvU3RyaW5nKDE2KSk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEZ3Tm90aWZpY2F0aW9uU2VydmljZSB7XG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOb3RpZmljYXRpb25bXT4oW10pO1xuICBwcml2YXRlIG5vdGlmaWNhdGlvblF1ZXVlOiBOb3RpZmljYXRpb25bXSA9IFtdO1xuXG4gIHNob3cobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pOiB2b2lkIHtcbiAgICBpZiAoIW5vdGlmaWNhdGlvbi5pZCkge1xuICAgICAgbm90aWZpY2F0aW9uLmlkID0gZ2VuSWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLm5vdGlmaWNhdGlvblF1ZXVlLnB1c2gobm90aWZpY2F0aW9uKTtcbiAgICB0aGlzLm5vdGlmaWNhdGlvbnMkLm5leHQodGhpcy5ub3RpZmljYXRpb25RdWV1ZSk7XG4gIH1cblxuICBkaXNtaXNzKG5vdGlmaWNhdGlvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblF1ZXVlID0gdGhpcy5ub3RpZmljYXRpb25RdWV1ZS5maWx0ZXIoKHYpID0+IHYuaWQgIT09IG5vdGlmaWNhdGlvbklkKTtcbiAgICB0aGlzLm5vdGlmaWNhdGlvbnMkLm5leHQodGhpcy5ub3RpZmljYXRpb25RdWV1ZSk7XG4gIH1cblxuICBkaXNtaXNzQWxsKCk6IHZvaWQge1xuICAgIHRoaXMubm90aWZpY2F0aW9uUXVldWUgPSBbXTtcbiAgICB0aGlzLm5vdGlmaWNhdGlvbnMkLm5leHQodGhpcy5ub3RpZmljYXRpb25RdWV1ZSk7XG4gIH1cbn1cblxuIl19
@@ -0,0 +1,56 @@
1
+ import { TemplatePortal } from '@angular/cdk/portal';
2
+ import { Component, TemplateRef, ViewChild } from '@angular/core';
3
+ import { Input } from '@angular/core';
4
+ import { FwPopoverTriggerDirective } from './popover-trigger.directive';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/cdk/overlay";
7
+ export class FwPopoverTriggerComponent extends FwPopoverTriggerDirective {
8
+ constructor(element, overlay, viewContainerRef) {
9
+ super(element, overlay, viewContainerRef);
10
+ this.element = element;
11
+ this.overlay = overlay;
12
+ this.viewContainerRef = viewContainerRef;
13
+ this.position = 'below';
14
+ }
15
+ showPopover() {
16
+ const overlay = this.getOverlay();
17
+ overlay.detach();
18
+ if (this.popoverId) {
19
+ // as a web component it is not possible to have a reference to this.popover
20
+ this.popoverHTML = document.querySelector(`fw-popover#${this.popoverId}`).innerHTML;
21
+ overlay.attach(new TemplatePortal(this.popoverTemplateRef, this.viewContainerRef));
22
+ }
23
+ }
24
+ }
25
+ FwPopoverTriggerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverTriggerComponent, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
26
+ FwPopoverTriggerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwPopoverTriggerComponent, selector: "fw-popover-trigger", inputs: { popoverId: ["trigger-for", "popoverId"], position: "position" }, host: { listeners: { "mouseenter": "showPopover()", "mouseleave": "hidePopover($event)" }, classAttribute: "fw-popover-trigger" }, viewQueries: [{ propertyName: "popoverTemplateRef", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>
27
+ <!-- for web component support -->
28
+ <ng-template>
29
+ <div [innerHTML]="popoverHTML"></div>
30
+ </ng-template>`, isInline: true });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverTriggerComponent, decorators: [{
32
+ type: Component,
33
+ args: [{
34
+ host: {
35
+ 'class': 'fw-popover-trigger',
36
+ '(mouseenter)': 'showPopover()',
37
+ '(mouseleave)': 'hidePopover($event)',
38
+ },
39
+ selector: 'fw-popover-trigger',
40
+ template: `<ng-content></ng-content>
41
+ <!-- for web component support -->
42
+ <ng-template>
43
+ <div [innerHTML]="popoverHTML"></div>
44
+ </ng-template>`,
45
+ }]
46
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { popoverId: [{
47
+ type: Input,
48
+ args: ['trigger-for']
49
+ }], position: [{
50
+ type: Input,
51
+ args: ['position']
52
+ }], popoverTemplateRef: [{
53
+ type: ViewChild,
54
+ args: [TemplateRef]
55
+ }] } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BvcG92ZXIvcG9wb3Zlci10cmlnZ2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBYyxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBcUIseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBZTNGLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSx5QkFBeUI7SUFRdEUsWUFDUyxPQUFtQixFQUNuQixPQUFnQixFQUNoQixnQkFBa0M7UUFFekMsS0FBSyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUpuQyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVR4QixhQUFRLEdBQXNCLE9BQU8sQ0FBQTtJQVl4RCxDQUFDO0lBRUQsV0FBVztRQUNULE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLDRFQUE0RTtZQUM1RSxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsY0FBYyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDcEYsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztTQUNwRjtJQUNILENBQUM7O3VIQXhCVSx5QkFBeUI7MkdBQXpCLHlCQUF5Qiw0VEFLekIsV0FBVyx1RUFYWjs7OztpQkFJSzs0RkFFSix5QkFBeUI7a0JBYnJDLFNBQVM7bUJBQUM7b0JBQ1QsSUFBSSxFQUFFO3dCQUNKLE9BQU8sRUFBRSxvQkFBb0I7d0JBQzdCLGNBQWMsRUFBRSxlQUFlO3dCQUMvQixjQUFjLEVBQUUscUJBQXFCO3FCQUN0QztvQkFDRCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUU7Ozs7aUJBSUs7aUJBQ2hCO3NKQUV1QixTQUFTO3NCQUE5QixLQUFLO3VCQUFDLGFBQWE7Z0JBQ0QsUUFBUTtzQkFBMUIsS0FBSzt1QkFBQyxVQUFVO2dCQUdPLGtCQUFrQjtzQkFBekMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZ3UG9wb3ZlclBvc2l0aW9uLCBGd1BvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZnctcG9wb3Zlci10cmlnZ2VyJyxcbiAgICAnKG1vdXNlZW50ZXIpJzogJ3Nob3dQb3BvdmVyKCknLFxuICAgICcobW91c2VsZWF2ZSknOiAnaGlkZVBvcG92ZXIoJGV2ZW50KScsXG4gIH0sXG4gIHNlbGVjdG9yOiAnZnctcG9wb3Zlci10cmlnZ2VyJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwhLS0gZm9yIHdlYiBjb21wb25lbnQgc3VwcG9ydCAtLT5cbiAgPG5nLXRlbXBsYXRlPlxuICAgIDxkaXYgW2lubmVySFRNTF09XCJwb3BvdmVySFRNTFwiPjwvZGl2PlxuICA8L25nLXRlbXBsYXRlPmAsXG59KVxuZXhwb3J0IGNsYXNzIEZ3UG9wb3ZlclRyaWdnZXJDb21wb25lbnQgZXh0ZW5kcyBGd1BvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIHtcbiAgQElucHV0KCd0cmlnZ2VyLWZvcicpIHBvcG92ZXJJZDogc3RyaW5nXG4gIEBJbnB1dCgncG9zaXRpb24nKSBwb3NpdGlvbjogRndQb3BvdmVyUG9zaXRpb24gPSAnYmVsb3cnXG5cbiAgLy8gZm9yIHdlYiBjb21wb25lbnQgc3VwcG9ydFxuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKSBwb3BvdmVyVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4gLy8gZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHBvcG92ZXJIVE1MOiBzdHJpbmdcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwdWJsaWMgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgKSB7XG4gICAgc3VwZXIoZWxlbWVudCwgb3ZlcmxheSwgdmlld0NvbnRhaW5lclJlZik7XG4gIH1cblxuICBzaG93UG9wb3ZlcigpOiB2b2lkIHtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5nZXRPdmVybGF5KCk7XG4gICAgb3ZlcmxheS5kZXRhY2goKTtcbiAgICBpZiAodGhpcy5wb3BvdmVySWQpIHtcbiAgICAgIC8vIGFzIGEgd2ViIGNvbXBvbmVudCBpdCBpcyBub3QgcG9zc2libGUgdG8gaGF2ZSBhIHJlZmVyZW5jZSB0byB0aGlzLnBvcG92ZXJcbiAgICAgIHRoaXMucG9wb3ZlckhUTUwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBmdy1wb3BvdmVyIyR7dGhpcy5wb3BvdmVySWR9YCkuaW5uZXJIVE1MO1xuICAgICAgb3ZlcmxheS5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMucG9wb3ZlclRlbXBsYXRlUmVmLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,133 @@
1
+ import { TemplatePortal } from '@angular/cdk/portal';
2
+ import { Directive, Input } from '@angular/core';
3
+ import { Subscription } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/cdk/overlay";
6
+ export class FwPopoverTriggerDirective {
7
+ constructor(element, overlay, viewContainerRef) {
8
+ this.element = element;
9
+ this.overlay = overlay;
10
+ this.viewContainerRef = viewContainerRef;
11
+ this.popoverMargin = 15;
12
+ this.positionMap = {
13
+ 'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },
14
+ 'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },
15
+ 'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' },
16
+ 'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top' },
17
+ };
18
+ this.position = 'below';
19
+ this.subscriptions = {
20
+ positionChanges: Subscription.EMPTY,
21
+ };
22
+ }
23
+ ngOnChanges(changes) {
24
+ if (changes.position && this.overlayRef) {
25
+ this.overlayRef.dispose();
26
+ this.overlayRef = null;
27
+ }
28
+ }
29
+ ngOnDestroy() {
30
+ if (this.overlayRef) {
31
+ this.overlayRef.dispose();
32
+ this.overlayRef = null;
33
+ }
34
+ for (const subscription of Object.values(this.subscriptions)) {
35
+ subscription.unsubscribe();
36
+ }
37
+ }
38
+ showPopover() {
39
+ if (this.popover?.templateRef) {
40
+ this.getOverlay().attach(new TemplatePortal(this.popover.templateRef, this.viewContainerRef));
41
+ }
42
+ }
43
+ hidePopover(e) {
44
+ if (!e.relatedTarget?.classList.contains('fw-popover-panel')) {
45
+ this.getOverlay().detach();
46
+ }
47
+ }
48
+ setPopoverCaretPosition(position) {
49
+ const caret = this.overlayRef.overlayElement.querySelector('.fw-popover-caret');
50
+ const caretRect = this.overlayRef.overlayElement.getBoundingClientRect();
51
+ const triggerRect = this.element.nativeElement.getBoundingClientRect();
52
+ this.overlayRef.overlayElement.querySelector('.fw-popover-content-wrapper').style.margin = `${this.popoverMargin}px`;
53
+ if (['left', 'right', 'before', 'after'].includes(position)) {
54
+ caret.style.top = `${triggerRect.top - caretRect.top - this.popoverMargin + (triggerRect.height / 2)}px`;
55
+ }
56
+ else {
57
+ caret.style.left = `${triggerRect.left - caretRect.left - this.popoverMargin + (triggerRect.width / 2)}px`;
58
+ }
59
+ }
60
+ setPopoverPosition(positionChange) {
61
+ const position = this.positionMap[this.mainPosition] === positionChange.connectionPair
62
+ ? this.mainPosition
63
+ : this.positionMap[this.fallbackPosition] === positionChange.connectionPair
64
+ ? this.fallbackPosition
65
+ : this.mainPosition;
66
+ this.overlayRef.removePanelClass(['fw-popover-above', 'fw-popover-below', 'fw-popover-left', 'fw-popover-right']);
67
+ this.overlayRef.addPanelClass(`fw-popover-${position}`);
68
+ this.setPopoverCaretPosition(position);
69
+ }
70
+ getOverlay() {
71
+ if (!this.overlayRef) {
72
+ this.overlayRef = this.overlay.create({
73
+ positionStrategy: this.overlay.position()
74
+ .flexibleConnectedTo(this.element)
75
+ .withPositions(this.getPositions()),
76
+ panelClass: 'fw-popover-panel',
77
+ });
78
+ this.overlayRef.overlayElement.addEventListener('mouseleave', e => this.hidePopover(e));
79
+ this.subscriptions.positionChanges = this.overlayRef.getConfig().positionStrategy.positionChanges
80
+ .subscribe(positionChange => this.setPopoverPosition(positionChange));
81
+ }
82
+ return this.overlayRef;
83
+ }
84
+ getMainPosition() {
85
+ return this.mainPosition =
86
+ ['left', 'before'].includes(this.position)
87
+ ? 'left'
88
+ : ['right', 'after'].includes(this.position)
89
+ ? 'right'
90
+ : this.position === 'above'
91
+ ? 'above'
92
+ : 'below';
93
+ }
94
+ getFallbackPosition() {
95
+ return this.fallbackPosition =
96
+ ['left', 'before'].includes(this.position)
97
+ ? 'right'
98
+ : ['right', 'after'].includes(this.position)
99
+ ? 'left'
100
+ : this.position === 'above'
101
+ ? 'below'
102
+ : 'above';
103
+ }
104
+ getPositions() {
105
+ return [
106
+ // main position
107
+ this.positionMap[this.getMainPosition()],
108
+ // fallback position (inverse of main)
109
+ this.positionMap[this.getFallbackPosition()],
110
+ ];
111
+ }
112
+ }
113
+ FwPopoverTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverTriggerDirective, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
114
+ FwPopoverTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: FwPopoverTriggerDirective, selector: "[fwPopoverTriggerFor]", inputs: { popover: ["fwPopoverTriggerFor", "popover"], position: ["fwPopoverPosition", "position"] }, host: { listeners: { "mouseenter": "showPopover()", "mouseleave": "hidePopover($event)" }, classAttribute: "fw-popover-trigger" }, exportAs: ["fwPopoverTrigger"], usesOnChanges: true, ngImport: i0 });
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverTriggerDirective, decorators: [{
116
+ type: Directive,
117
+ args: [{
118
+ host: {
119
+ 'class': 'fw-popover-trigger',
120
+ '(mouseenter)': 'showPopover()',
121
+ '(mouseleave)': 'hidePopover($event)',
122
+ },
123
+ selector: '[fwPopoverTriggerFor]',
124
+ exportAs: 'fwPopoverTrigger',
125
+ }]
126
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { popover: [{
127
+ type: Input,
128
+ args: ['fwPopoverTriggerFor']
129
+ }], position: [{
130
+ type: Input,
131
+ args: ['fwPopoverPosition']
132
+ }] } });
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BvcG92ZXIvcG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXlELE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQWVwQyxNQUFNLE9BQU8seUJBQXlCO0lBb0JwQyxZQUNTLE9BQW1CLEVBQ25CLE9BQWdCLEVBQ2hCLGdCQUFrQztRQUZsQyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXJCbkMsa0JBQWEsR0FBRyxFQUFFLENBQUE7UUFJbEIsZ0JBQVcsR0FBeUM7WUFDMUQsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtZQUNwRixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFO1lBQ3JGLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7WUFDdEYsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtB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QUNULElBQUksRUFBRTt3QkFDSixPQUFPLEVBQUUsb0JBQW9CO3dCQUM3QixjQUFjLEVBQUUsZUFBZTt3QkFDL0IsY0FBYyxFQUFFLHFCQUFxQjtxQkFDdEM7b0JBQ0QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7c0pBYytCLE9BQU87c0JBQXBDLEtBQUs7dUJBQUMscUJBQXFCO2dCQUNBLFFBQVE7c0JBQW5DLEtBQUs7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uQ2hhbmdlLCBDb25uZWN0ZWRQb3NpdGlvbiwgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LCBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRndQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9wb3BvdmVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIEZ3UG9wb3ZlclBvc2l0aW9uID0gJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdhYm92ZScgfCAnYmVsb3cnIHwgJ2JlZm9yZScgfCAnYWZ0ZXInO1xuXG5ARGlyZWN0aXZlKHtcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmdy1wb3BvdmVyLXRyaWdnZXInLFxuICAgICcobW91c2VlbnRlciknOiAnc2hvd1BvcG92ZXIoKScsXG4gICAgJyhtb3VzZWxlYXZlKSc6ICdoaWRlUG9wb3ZlcigkZXZlbnQpJyxcbiAgfSxcbiAgc2VsZWN0b3I6ICdbZndQb3BvdmVyVHJpZ2dlckZvcl0nLFxuICBleHBvcnRBczogJ2Z3UG9wb3ZlclRyaWdnZXInLFxufSlcbmV4cG9ydCBjbGFzcyBGd1BvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgcG9wb3ZlcklkOiBzdHJpbmdcbiAgcHJpdmF0ZSBwb3BvdmVyTWFyZ2luID0gMTVcbiAgcHJpdmF0ZSBmYWxsYmFja1Bvc2l0aW9uOiBGd1BvcG92ZXJQb3NpdGlvblxuICBwcml2YXRlIG1haW5Qb3NpdGlvbjogRndQb3BvdmVyUG9zaXRpb25cbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmXG4gIHByaXZhdGUgcG9zaXRpb25NYXA6IHsgW2tleTogc3RyaW5nXTogQ29ubmVjdGVkUG9zaXRpb24gfSA9IHtcbiAgICAnbGVmdCc6IHsgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICdjZW50ZXInIH0sXG4gICAgJ3JpZ2h0JzogeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2NlbnRlcicgfSxcbiAgICAnYWJvdmUnOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAndG9wJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ2JvdHRvbScgfSxcbiAgICAnYmVsb3cnOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgfVxuXG4gIEBJbnB1dCgnZndQb3BvdmVyVHJpZ2dlckZvcicpIHBvcG92ZXI6IEZ3UG9wb3ZlckNvbXBvbmVudFxuICBASW5wdXQoJ2Z3UG9wb3ZlclBvc2l0aW9uJykgcG9zaXRpb246IEZ3UG9wb3ZlclBvc2l0aW9uID0gJ2JlbG93J1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyA9IHtcbiAgICBwb3NpdGlvbkNoYW5nZXM6IFN1YnNjcmlwdGlvbi5FTVBUWSxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwdWJsaWMgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgKSB7IH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMucG9zaXRpb24gJiYgdGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbDtcbiAgICB9XG4gICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2YgT2JqZWN0LnZhbHVlcyh0aGlzLnN1YnNjcmlwdGlvbnMpKSB7XG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBzaG93UG9wb3ZlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wb3BvdmVyPy50ZW1wbGF0ZVJlZikge1xuICAgICAgdGhpcy5nZXRPdmVybGF5KCkuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnBvcG92ZXIudGVtcGxhdGVSZWYsIHRoaXMudmlld0NvbnRhaW5lclJlZikpO1xuICAgIH1cbiAgfVxuXG4gIGhpZGVQb3BvdmVyKGU6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIShlLnJlbGF0ZWRUYXJnZXQgYXMgSFRNTEVsZW1lbnQpPy5jbGFzc0xpc3QuY29udGFpbnMoJ2Z3LXBvcG92ZXItcGFuZWwnKSkge1xuICAgICAgdGhpcy5nZXRPdmVybGF5KCkuZGV0YWNoKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRQb3BvdmVyQ2FyZXRQb3NpdGlvbihwb3NpdGlvbjogRndQb3BvdmVyUG9zaXRpb24pOiB2b2lkIHtcbiAgICBjb25zdCBjYXJldCA9IHRoaXMub3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZnctcG9wb3Zlci1jYXJldCcpIGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IGNhcmV0UmVjdCA9IHRoaXMub3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB0cmlnZ2VyUmVjdCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICh0aGlzLm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmZ3LXBvcG92ZXItY29udGVudC13cmFwcGVyJykgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLm1hcmdpbiA9IGAke3RoaXMucG9wb3Zlck1hcmdpbn1weGA7XG4gICAgaWYgKFsnbGVmdCcsICdyaWdodCcsICdiZWZvcmUnLCAnYWZ0ZXInXS5pbmNsdWRlcyhwb3NpdGlvbikpIHtcbiAgICAgIGNhcmV0LnN0eWxlLnRvcCA9IGAke3RyaWdnZXJSZWN0LnRvcCAtIGNhcmV0UmVjdC50b3AgLSB0aGlzLnBvcG92ZXJNYXJnaW4gKyAodHJpZ2dlclJlY3QuaGVpZ2h0IC8gMil9cHhgO1xuICAgIH0gZWxzZSB7XG4gICAgICBjYXJldC5zdHlsZS5sZWZ0ID0gYCR7dHJpZ2dlclJlY3QubGVmdCAtIGNhcmV0UmVjdC5sZWZ0IC0gdGhpcy5wb3BvdmVyTWFyZ2luICsgKHRyaWdnZXJSZWN0LndpZHRoIC8gMil9cHhgO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0UG9wb3ZlclBvc2l0aW9uKHBvc2l0aW9uQ2hhbmdlOiBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UpOiB2b2lkIHtcbiAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMucG9zaXRpb25NYXBbdGhpcy5tYWluUG9zaXRpb25dID09PSBwb3NpdGlvbkNoYW5nZS5jb25uZWN0aW9uUGFpclxuICAgICAgPyB0aGlzLm1haW5Qb3NpdGlvblxuICAgICAgOiB0aGlzLnBvc2l0aW9uTWFwW3RoaXMuZmFsbGJhY2tQb3NpdGlvbl0gPT09IHBvc2l0aW9uQ2hhbmdlLmNvbm5lY3Rpb25QYWlyXG4gICAgICAgID8gdGhpcy5mYWxsYmFja1Bvc2l0aW9uXG4gICAgICAgIDogdGhpcy5tYWluUG9zaXRpb247XG4gICAgdGhpcy5vdmVybGF5UmVmLnJlbW92ZVBhbmVsQ2xhc3MoWydmdy1wb3BvdmVyLWFib3ZlJywgJ2Z3LXBvcG92ZXItYmVsb3cnLCAnZnctcG9wb3Zlci1sZWZ0JywgJ2Z3LXBvcG92ZXItcmlnaHQnXSk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmFkZFBhbmVsQ2xhc3MoYGZ3LXBvcG92ZXItJHtwb3NpdGlvbn1gKTtcbiAgICB0aGlzLnNldFBvcG92ZXJDYXJldFBvc2l0aW9uKHBvc2l0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRPdmVybGF5KCk6IE92ZXJsYXlSZWYge1xuICAgIGlmICghdGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5LnBvc2l0aW9uKClcbiAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmVsZW1lbnQpXG4gICAgICAgICAgLndpdGhQb3NpdGlvbnModGhpcy5nZXRQb3NpdGlvbnMoKSksXG4gICAgICAgIHBhbmVsQ2xhc3M6ICdmdy1wb3BvdmVyLXBhbmVsJyxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBlID0+IHRoaXMuaGlkZVBvcG92ZXIoZSkpO1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnBvc2l0aW9uQ2hhbmdlcyA9ICh0aGlzLm92ZXJsYXlSZWYuZ2V0Q29uZmlnKCkucG9zaXRpb25TdHJhdGVneSBhcyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kpLnBvc2l0aW9uQ2hhbmdlc1xuICAgICAgICAuc3Vic2NyaWJlKHBvc2l0aW9uQ2hhbmdlID0+IHRoaXMuc2V0UG9wb3ZlclBvc2l0aW9uKHBvc2l0aW9uQ2hhbmdlKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWY7XG4gIH1cblxuICBwcml2YXRlIGdldE1haW5Qb3NpdGlvbigpOiBGd1BvcG92ZXJQb3NpdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMubWFpblBvc2l0aW9uID1cbiAgICAgIFsnbGVmdCcsICdiZWZvcmUnXS5pbmNsdWRlcyh0aGlzLnBvc2l0aW9uKVxuICAgICAgICA/ICdsZWZ0J1xuICAgICAgICA6IFsncmlnaHQnLCAnYWZ0ZXInXS5pbmNsdWRlcyh0aGlzLnBvc2l0aW9uKVxuICAgICAgICAgID8gJ3JpZ2h0J1xuICAgICAgICAgIDogdGhpcy5wb3NpdGlvbiA9PT0gJ2Fib3ZlJ1xuICAgICAgICAgICAgPyAnYWJvdmUnXG4gICAgICAgICAgICA6ICdiZWxvdyc7XG4gIH1cblxuICBwcml2YXRlIGdldEZhbGxiYWNrUG9zaXRpb24oKTogRndQb3BvdmVyUG9zaXRpb24ge1xuICAgIHJldHVybiB0aGlzLmZhbGxiYWNrUG9zaXRpb24gPVxuICAgICAgWydsZWZ0JywgJ2JlZm9yZSddLmluY2x1ZGVzKHRoaXMucG9zaXRpb24pXG4gICAgICAgID8gJ3JpZ2h0J1xuICAgICAgICA6IFsncmlnaHQnLCAnYWZ0ZXInXS5pbmNsdWRlcyh0aGlzLnBvc2l0aW9uKVxuICAgICAgICAgID8gJ2xlZnQnXG4gICAgICAgICAgOiB0aGlzLnBvc2l0aW9uID09PSAnYWJvdmUnXG4gICAgICAgICAgICA/ICdiZWxvdydcbiAgICAgICAgICAgIDogJ2Fib3ZlJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UG9zaXRpb25zKCk6IENvbm5lY3RlZFBvc2l0aW9uW10ge1xuICAgIHJldHVybiBbXG4gICAgICAvLyBtYWluIHBvc2l0aW9uXG4gICAgICB0aGlzLnBvc2l0aW9uTWFwW3RoaXMuZ2V0TWFpblBvc2l0aW9uKCldLFxuICAgICAgLy8gZmFsbGJhY2sgcG9zaXRpb24gKGludmVyc2Ugb2YgbWFpbilcbiAgICAgIHRoaXMucG9zaXRpb25NYXBbdGhpcy5nZXRGYWxsYmFja1Bvc2l0aW9uKCldLFxuICAgIF07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { Component, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class FwPopoverComponent {
5
+ }
6
+ FwPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ FwPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwPopoverComponent, selector: "fw-popover", host: { classAttribute: "fw-popover" }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: `
8
+ <ng-container *ngTemplateOutlet="content"></ng-container>
9
+ <ng-template #content>
10
+ <div class="fw-popover-content-wrapper">
11
+ <ng-content></ng-content>
12
+ <div class="fw-popover-caret"></div>
13
+ </div>
14
+ </ng-template>`, isInline: true, styles: [".white{color:#fff!important}.fill-white{background-color:#fff!important}.border-white{border-color:#fff!important}.border-top-white{border-top:1px solid;border-color:#fff!important}.border-right-white{border-right:1px solid;border-color:#fff!important}.border-bottom-white{border-bottom:1px solid;border-color:#fff!important}.border-left-white{border-left:1px solid;border-color:#fff!important}.black{color:#000!important}.fill-black{background-color:#000!important}.border-black{border-color:#000!important}.border-top-black{border-top:1px solid;border-color:#000!important}.border-right-black{border-right:1px solid;border-color:#000!important}.border-bottom-black{border-bottom:1px solid;border-color:#000!important}.border-left-black{border-left:1px solid;border-color:#000!important}.green{color:#59b96b!important}.fill-green{background-color:#59b96b!important}.border-green{border-color:#59b96b!important}.border-top-green{border-top:1px solid;border-color:#59b96b!important}.border-right-green{border-right:1px solid;border-color:#59b96b!important}.border-bottom-green{border-bottom:1px solid;border-color:#59b96b!important}.border-left-green{border-left:1px solid;border-color:#59b96b!important}.orange{color:#f7941d!important}.fill-orange{background-color:#f7941d!important}.border-orange{border-color:#f7941d!important}.border-top-orange{border-top:1px solid;border-color:#f7941d!important}.border-right-orange{border-right:1px solid;border-color:#f7941d!important}.border-bottom-orange{border-bottom:1px solid;border-color:#f7941d!important}.border-left-orange{border-left:1px solid;border-color:#f7941d!important}.red{color:#de584c!important}.fill-red{background-color:#de584c!important}.border-red{border-color:#de584c!important}.border-top-red{border-top:1px solid;border-color:#de584c!important}.border-right-red{border-right:1px solid;border-color:#de584c!important}.border-bottom-red{border-bottom:1px solid;border-color:#de584c!important}.border-left-red{border-left:1px solid;border-color:#de584c!important}.light-red{color:#f8e5e4!important}.fill-light-red{background-color:#f8e5e4!important}.border-light-red{border-color:#f8e5e4!important}.border-top-light-red{border-top:1px solid;border-color:#f8e5e4!important}.border-right-light-red{border-right:1px solid;border-color:#f8e5e4!important}.border-bottom-light-red{border-bottom:1px solid;border-color:#f8e5e4!important}.border-left-light-red{border-left:1px solid;border-color:#f8e5e4!important}.blue{color:#5871a2!important}.fill-blue{background-color:#5871a2!important}.border-blue{border-color:#5871a2!important}.border-top-blue{border-top:1px solid;border-color:#5871a2!important}.border-right-blue{border-right:1px solid;border-color:#5871a2!important}.border-bottom-blue{border-bottom:1px solid;border-color:#5871a2!important}.border-left-blue{border-left:1px solid;border-color:#5871a2!important}.focus-blue{color:#23527c!important}.fill-focus-blue{background-color:#23527c!important}.border-focus-blue{border-color:#23527c!important}.border-top-focus-blue{border-top:1px solid;border-color:#23527c!important}.border-right-focus-blue{border-right:1px solid;border-color:#23527c!important}.border-bottom-focus-blue{border-bottom:1px solid;border-color:#23527c!important}.border-left-focus-blue{border-left:1px solid;border-color:#23527c!important}.dark-blue{color:#394256!important}.fill-dark-blue{background-color:#394256!important}.border-dark-blue{border-color:#394256!important}.border-top-dark-blue{border-top:1px solid;border-color:#394256!important}.border-right-dark-blue{border-right:1px solid;border-color:#394256!important}.border-bottom-dark-blue{border-bottom:1px solid;border-color:#394256!important}.border-left-dark-blue{border-left:1px solid;border-color:#394256!important}.light-blue{color:#e7effe!important}.fill-light-blue{background-color:#e7effe!important}.border-light-blue{border-color:#e7effe!important}.border-top-light-blue{border-top:1px solid;border-color:#e7effe!important}.border-right-light-blue{border-right:1px solid;border-color:#e7effe!important}.border-bottom-light-blue{border-bottom:1px solid;border-color:#e7effe!important}.border-left-light-blue{border-left:1px solid;border-color:#e7effe!important}.bright-blue{color:#1b68fa!important}.fill-bright-blue{background-color:#1b68fa!important}.border-bright-blue{border-color:#1b68fa!important}.border-top-bright-blue{border-top:1px solid;border-color:#1b68fa!important}.border-right-bright-blue{border-right:1px solid;border-color:#1b68fa!important}.border-bottom-bright-blue{border-bottom:1px solid;border-color:#1b68fa!important}.border-left-bright-blue{border-left:1px solid;border-color:#1b68fa!important}.admin-black{color:#01010a!important}.fill-admin-black{background-color:#01010a!important}.border-admin-black{border-color:#01010a!important}.border-top-admin-black{border-top:1px solid;border-color:#01010a!important}.border-right-admin-black{border-right:1px solid;border-color:#01010a!important}.border-bottom-admin-black{border-bottom:1px solid;border-color:#01010a!important}.border-left-admin-black{border-left:1px solid;border-color:#01010a!important}.accent-purple{color:#b080fc!important}.fill-accent-purple{background-color:#b080fc!important}.border-accent-purple{border-color:#b080fc!important}.border-top-accent-purple{border-top:1px solid;border-color:#b080fc!important}.border-right-accent-purple{border-right:1px solid;border-color:#b080fc!important}.border-bottom-accent-purple{border-bottom:1px solid;border-color:#b080fc!important}.border-left-accent-purple{border-left:1px solid;border-color:#b080fc!important}.grey{color:#58595b!important}.fill-grey{background-color:#58595b!important}.border-grey{border-color:#58595b!important}.border-top-grey{border-top:1px solid;border-color:#58595b!important}.border-right-grey{border-right:1px solid;border-color:#58595b!important}.border-bottom-grey{border-bottom:1px solid;border-color:#58595b!important}.border-left-grey{border-left:1px solid;border-color:#58595b!important}.soft-grey{color:#dddede!important}.fill-soft-grey{background-color:#dddede!important}.border-soft-grey{border-color:#dddede!important}.border-top-soft-grey{border-top:1px solid;border-color:#dddede!important}.border-right-soft-grey{border-right:1px solid;border-color:#dddede!important}.border-bottom-soft-grey{border-bottom:1px solid;border-color:#dddede!important}.border-left-soft-grey{border-left:1px solid;border-color:#dddede!important}.light-grey{color:#eee!important}.fill-light-grey{background-color:#eee!important}.border-light-grey{border-color:#eee!important}.border-top-light-grey{border-top:1px solid;border-color:#eee!important}.border-right-light-grey{border-right:1px solid;border-color:#eee!important}.border-bottom-light-grey{border-bottom:1px solid;border-color:#eee!important}.border-left-light-grey{border-left:1px solid;border-color:#eee!important}.medium-grey{color:#ccc!important}.fill-medium-grey{background-color:#ccc!important}.border-medium-grey{border-color:#ccc!important}.border-top-medium-grey{border-top:1px solid;border-color:#ccc!important}.border-right-medium-grey{border-right:1px solid;border-color:#ccc!important}.border-bottom-medium-grey{border-bottom:1px solid;border-color:#ccc!important}.border-left-medium-grey{border-left:1px solid;border-color:#ccc!important}.medium-dark-grey{color:#999!important}.fill-medium-dark-grey{background-color:#999!important}.border-medium-dark-grey{border-color:#999!important}.border-top-medium-dark-grey{border-top:1px solid;border-color:#999!important}.border-right-medium-dark-grey{border-right:1px solid;border-color:#999!important}.border-bottom-medium-dark-grey{border-bottom:1px solid;border-color:#999!important}.border-left-medium-dark-grey{border-left:1px solid;border-color:#999!important}.dark-grey{color:#222!important}.fill-dark-grey{background-color:#222!important}.border-dark-grey{border-color:#222!important}.border-top-dark-grey{border-top:1px solid;border-color:#222!important}.border-right-dark-grey{border-right:1px solid;border-color:#222!important}.border-bottom-dark-grey{border-bottom:1px solid;border-color:#222!important}.border-left-dark-grey{border-left:1px solid;border-color:#222!important}.soft-blue{color:#eff1f5!important}.fill-soft-blue{background-color:#eff1f5!important}.border-soft-blue{border-color:#eff1f5!important}.border-top-soft-blue{border-top:1px solid;border-color:#eff1f5!important}.border-right-soft-blue{border-right:1px solid;border-color:#eff1f5!important}.border-bottom-soft-blue{border-bottom:1px solid;border-color:#eff1f5!important}.border-left-soft-blue{border-left:1px solid;border-color:#eff1f5!important}.dark-soft-blue{color:#e9ecf1!important}.fill-dark-soft-blue{background-color:#e9ecf1!important}.border-dark-soft-blue{border-color:#e9ecf1!important}.border-top-dark-soft-blue{border-top:1px solid;border-color:#e9ecf1!important}.border-right-dark-soft-blue{border-right:1px solid;border-color:#e9ecf1!important}.border-bottom-dark-soft-blue{border-bottom:1px solid;border-color:#e9ecf1!important}.border-left-dark-soft-blue{border-left:1px solid;border-color:#e9ecf1!important}.darker-soft-blue{color:#e6e9ef!important}.fill-darker-soft-blue{background-color:#e6e9ef!important}.border-darker-soft-blue{border-color:#e6e9ef!important}.border-top-darker-soft-blue{border-top:1px solid;border-color:#e6e9ef!important}.border-right-darker-soft-blue{border-right:1px solid;border-color:#e6e9ef!important}.border-bottom-darker-soft-blue{border-bottom:1px solid;border-color:#e6e9ef!important}.border-left-darker-soft-blue{border-left:1px solid;border-color:#e6e9ef!important}.light-soft-blue{color:#f5f6f9!important}.fill-light-soft-blue{background-color:#f5f6f9!important}.border-light-soft-blue{border-color:#f5f6f9!important}.border-top-light-soft-blue{border-top:1px solid;border-color:#f5f6f9!important}.border-right-light-soft-blue{border-right:1px solid;border-color:#f5f6f9!important}.border-bottom-light-soft-blue{border-bottom:1px solid;border-color:#f5f6f9!important}.border-left-light-soft-blue{border-left:1px solid;border-color:#f5f6f9!important}.lighter-soft-blue{color:#f8f9fb!important}.fill-lighter-soft-blue{background-color:#f8f9fb!important}.border-lighter-soft-blue{border-color:#f8f9fb!important}.border-top-lighter-soft-blue{border-top:1px solid;border-color:#f8f9fb!important}.border-right-lighter-soft-blue{border-right:1px solid;border-color:#f8f9fb!important}.border-bottom-lighter-soft-blue{border-bottom:1px solid;border-color:#f8f9fb!important}.border-left-lighter-soft-blue{border-left:1px solid;border-color:#f8f9fb!important}:root{--color-gray: var(--color-gray-100);--color-gray-50: #f6f7f8;--color-gray-100: #eff1f4;--color-gray-200: #e3e5e8;--color-gray-300: #d7d9dc;--color-gray-400: #cbcdcf;--color-gray-500: #bfc1c3;--color-primary: var(--color-primary-500);--color-primary-50: #e4edfe;--color-primary-100: #bbd2fe;--color-primary-200: #8db4fd;--color-primary-300: #5f95fc;--color-primary-400: #3d7ffb;--color-primary-500: #1b68fa;--color-primary-600: #1860f9;--color-primary-700: #1455f9;--color-primary-800: #104bf8;--color-primary-900: #083af6;--color-primary-A100: #ffffff;--color-primary-A200: #ebefff;--color-primary-A400: #b8c4ff;--color-primary-A700: #9fafff;--color-secondary: var(--color-secondary-500);--color-secondary-50: #ebf7ed;--color-secondary-100: #cdead3;--color-secondary-200: #acdcb5;--color-secondary-300: #8bce97;--color-secondary-400: #72c481;--color-secondary-500: #59b96b;--color-secondary-600: #51b263;--color-secondary-700: #48aa58;--color-secondary-800: #3ea24e;--color-secondary-900: #2e933c;--color-secondary-A100: #d9ffde;--color-secondary-A200: #a6ffb1;--color-secondary-A400: #73ff84;--color-secondary-A700: #59ff6e}fw-popover{display:none}.fw-popover-panel .fw-popover-content-wrapper{position:relative;background:#ffffff;border-radius:4px;box-shadow:0 1px 4px #00000026!important;border:1px solid #d6dbe5;padding:16px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret{position:absolute;overflow:hidden;width:25px;height:25px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret:after{display:block;content:\"\";width:16px;height:16px;background:#ffffff;box-shadow:0 1px 4px #00000026!important;border:1px solid #d6dbe5;transform:rotate(45deg);position:relative}.fw-popover-panel.fw-popover-above{margin-bottom:-20px;padding-bottom:20px}.fw-popover-panel.fw-popover-above .fw-popover-caret{left:0;bottom:-16px;height:16px}.fw-popover-panel.fw-popover-above .fw-popover-caret:after{margin:-8px auto}.fw-popover-panel.fw-popover-below{margin-top:-20px;padding-top:20px}.fw-popover-panel.fw-popover-below .fw-popover-caret{left:0;top:-16px;height:16px}.fw-popover-panel.fw-popover-below .fw-popover-caret:after{top:16px;margin:-8px auto}.fw-popover-panel.fw-popover-left{margin-right:-20px;padding-right:20px}.fw-popover-panel.fw-popover-left .fw-popover-caret{right:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-left .fw-popover-caret:after{top:calc(50% - 8px);left:-8px}.fw-popover-panel.fw-popover-right{margin-left:-20px;padding-left:20px}.fw-popover-panel.fw-popover-right .fw-popover-caret{left:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-right .fw-popover-caret:after{top:calc(50% - 8px);right:-8px}\n"], directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], encapsulation: i0.ViewEncapsulation.None });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ host: { 'class': 'fw-popover' }, selector: 'fw-popover', template: `
18
+ <ng-container *ngTemplateOutlet="content"></ng-container>
19
+ <ng-template #content>
20
+ <div class="fw-popover-content-wrapper">
21
+ <ng-content></ng-content>
22
+ <div class="fw-popover-caret"></div>
23
+ </div>
24
+ </ng-template>`, encapsulation: ViewEncapsulation.None, styles: [".white{color:#fff!important}.fill-white{background-color:#fff!important}.border-white{border-color:#fff!important}.border-top-white{border-top:1px solid;border-color:#fff!important}.border-right-white{border-right:1px solid;border-color:#fff!important}.border-bottom-white{border-bottom:1px solid;border-color:#fff!important}.border-left-white{border-left:1px solid;border-color:#fff!important}.black{color:#000!important}.fill-black{background-color:#000!important}.border-black{border-color:#000!important}.border-top-black{border-top:1px solid;border-color:#000!important}.border-right-black{border-right:1px solid;border-color:#000!important}.border-bottom-black{border-bottom:1px solid;border-color:#000!important}.border-left-black{border-left:1px solid;border-color:#000!important}.green{color:#59b96b!important}.fill-green{background-color:#59b96b!important}.border-green{border-color:#59b96b!important}.border-top-green{border-top:1px solid;border-color:#59b96b!important}.border-right-green{border-right:1px solid;border-color:#59b96b!important}.border-bottom-green{border-bottom:1px solid;border-color:#59b96b!important}.border-left-green{border-left:1px solid;border-color:#59b96b!important}.orange{color:#f7941d!important}.fill-orange{background-color:#f7941d!important}.border-orange{border-color:#f7941d!important}.border-top-orange{border-top:1px solid;border-color:#f7941d!important}.border-right-orange{border-right:1px solid;border-color:#f7941d!important}.border-bottom-orange{border-bottom:1px solid;border-color:#f7941d!important}.border-left-orange{border-left:1px solid;border-color:#f7941d!important}.red{color:#de584c!important}.fill-red{background-color:#de584c!important}.border-red{border-color:#de584c!important}.border-top-red{border-top:1px solid;border-color:#de584c!important}.border-right-red{border-right:1px solid;border-color:#de584c!important}.border-bottom-red{border-bottom:1px solid;border-color:#de584c!important}.border-left-red{border-left:1px solid;border-color:#de584c!important}.light-red{color:#f8e5e4!important}.fill-light-red{background-color:#f8e5e4!important}.border-light-red{border-color:#f8e5e4!important}.border-top-light-red{border-top:1px solid;border-color:#f8e5e4!important}.border-right-light-red{border-right:1px solid;border-color:#f8e5e4!important}.border-bottom-light-red{border-bottom:1px solid;border-color:#f8e5e4!important}.border-left-light-red{border-left:1px solid;border-color:#f8e5e4!important}.blue{color:#5871a2!important}.fill-blue{background-color:#5871a2!important}.border-blue{border-color:#5871a2!important}.border-top-blue{border-top:1px solid;border-color:#5871a2!important}.border-right-blue{border-right:1px solid;border-color:#5871a2!important}.border-bottom-blue{border-bottom:1px solid;border-color:#5871a2!important}.border-left-blue{border-left:1px solid;border-color:#5871a2!important}.focus-blue{color:#23527c!important}.fill-focus-blue{background-color:#23527c!important}.border-focus-blue{border-color:#23527c!important}.border-top-focus-blue{border-top:1px solid;border-color:#23527c!important}.border-right-focus-blue{border-right:1px solid;border-color:#23527c!important}.border-bottom-focus-blue{border-bottom:1px solid;border-color:#23527c!important}.border-left-focus-blue{border-left:1px solid;border-color:#23527c!important}.dark-blue{color:#394256!important}.fill-dark-blue{background-color:#394256!important}.border-dark-blue{border-color:#394256!important}.border-top-dark-blue{border-top:1px solid;border-color:#394256!important}.border-right-dark-blue{border-right:1px solid;border-color:#394256!important}.border-bottom-dark-blue{border-bottom:1px solid;border-color:#394256!important}.border-left-dark-blue{border-left:1px solid;border-color:#394256!important}.light-blue{color:#e7effe!important}.fill-light-blue{background-color:#e7effe!important}.border-light-blue{border-color:#e7effe!important}.border-top-light-blue{border-top:1px solid;border-color:#e7effe!important}.border-right-light-blue{border-right:1px solid;border-color:#e7effe!important}.border-bottom-light-blue{border-bottom:1px solid;border-color:#e7effe!important}.border-left-light-blue{border-left:1px solid;border-color:#e7effe!important}.bright-blue{color:#1b68fa!important}.fill-bright-blue{background-color:#1b68fa!important}.border-bright-blue{border-color:#1b68fa!important}.border-top-bright-blue{border-top:1px solid;border-color:#1b68fa!important}.border-right-bright-blue{border-right:1px solid;border-color:#1b68fa!important}.border-bottom-bright-blue{border-bottom:1px solid;border-color:#1b68fa!important}.border-left-bright-blue{border-left:1px solid;border-color:#1b68fa!important}.admin-black{color:#01010a!important}.fill-admin-black{background-color:#01010a!important}.border-admin-black{border-color:#01010a!important}.border-top-admin-black{border-top:1px solid;border-color:#01010a!important}.border-right-admin-black{border-right:1px solid;border-color:#01010a!important}.border-bottom-admin-black{border-bottom:1px solid;border-color:#01010a!important}.border-left-admin-black{border-left:1px solid;border-color:#01010a!important}.accent-purple{color:#b080fc!important}.fill-accent-purple{background-color:#b080fc!important}.border-accent-purple{border-color:#b080fc!important}.border-top-accent-purple{border-top:1px solid;border-color:#b080fc!important}.border-right-accent-purple{border-right:1px solid;border-color:#b080fc!important}.border-bottom-accent-purple{border-bottom:1px solid;border-color:#b080fc!important}.border-left-accent-purple{border-left:1px solid;border-color:#b080fc!important}.grey{color:#58595b!important}.fill-grey{background-color:#58595b!important}.border-grey{border-color:#58595b!important}.border-top-grey{border-top:1px solid;border-color:#58595b!important}.border-right-grey{border-right:1px solid;border-color:#58595b!important}.border-bottom-grey{border-bottom:1px solid;border-color:#58595b!important}.border-left-grey{border-left:1px solid;border-color:#58595b!important}.soft-grey{color:#dddede!important}.fill-soft-grey{background-color:#dddede!important}.border-soft-grey{border-color:#dddede!important}.border-top-soft-grey{border-top:1px solid;border-color:#dddede!important}.border-right-soft-grey{border-right:1px solid;border-color:#dddede!important}.border-bottom-soft-grey{border-bottom:1px solid;border-color:#dddede!important}.border-left-soft-grey{border-left:1px solid;border-color:#dddede!important}.light-grey{color:#eee!important}.fill-light-grey{background-color:#eee!important}.border-light-grey{border-color:#eee!important}.border-top-light-grey{border-top:1px solid;border-color:#eee!important}.border-right-light-grey{border-right:1px solid;border-color:#eee!important}.border-bottom-light-grey{border-bottom:1px solid;border-color:#eee!important}.border-left-light-grey{border-left:1px solid;border-color:#eee!important}.medium-grey{color:#ccc!important}.fill-medium-grey{background-color:#ccc!important}.border-medium-grey{border-color:#ccc!important}.border-top-medium-grey{border-top:1px solid;border-color:#ccc!important}.border-right-medium-grey{border-right:1px solid;border-color:#ccc!important}.border-bottom-medium-grey{border-bottom:1px solid;border-color:#ccc!important}.border-left-medium-grey{border-left:1px solid;border-color:#ccc!important}.medium-dark-grey{color:#999!important}.fill-medium-dark-grey{background-color:#999!important}.border-medium-dark-grey{border-color:#999!important}.border-top-medium-dark-grey{border-top:1px solid;border-color:#999!important}.border-right-medium-dark-grey{border-right:1px solid;border-color:#999!important}.border-bottom-medium-dark-grey{border-bottom:1px solid;border-color:#999!important}.border-left-medium-dark-grey{border-left:1px solid;border-color:#999!important}.dark-grey{color:#222!important}.fill-dark-grey{background-color:#222!important}.border-dark-grey{border-color:#222!important}.border-top-dark-grey{border-top:1px solid;border-color:#222!important}.border-right-dark-grey{border-right:1px solid;border-color:#222!important}.border-bottom-dark-grey{border-bottom:1px solid;border-color:#222!important}.border-left-dark-grey{border-left:1px solid;border-color:#222!important}.soft-blue{color:#eff1f5!important}.fill-soft-blue{background-color:#eff1f5!important}.border-soft-blue{border-color:#eff1f5!important}.border-top-soft-blue{border-top:1px solid;border-color:#eff1f5!important}.border-right-soft-blue{border-right:1px solid;border-color:#eff1f5!important}.border-bottom-soft-blue{border-bottom:1px solid;border-color:#eff1f5!important}.border-left-soft-blue{border-left:1px solid;border-color:#eff1f5!important}.dark-soft-blue{color:#e9ecf1!important}.fill-dark-soft-blue{background-color:#e9ecf1!important}.border-dark-soft-blue{border-color:#e9ecf1!important}.border-top-dark-soft-blue{border-top:1px solid;border-color:#e9ecf1!important}.border-right-dark-soft-blue{border-right:1px solid;border-color:#e9ecf1!important}.border-bottom-dark-soft-blue{border-bottom:1px solid;border-color:#e9ecf1!important}.border-left-dark-soft-blue{border-left:1px solid;border-color:#e9ecf1!important}.darker-soft-blue{color:#e6e9ef!important}.fill-darker-soft-blue{background-color:#e6e9ef!important}.border-darker-soft-blue{border-color:#e6e9ef!important}.border-top-darker-soft-blue{border-top:1px solid;border-color:#e6e9ef!important}.border-right-darker-soft-blue{border-right:1px solid;border-color:#e6e9ef!important}.border-bottom-darker-soft-blue{border-bottom:1px solid;border-color:#e6e9ef!important}.border-left-darker-soft-blue{border-left:1px solid;border-color:#e6e9ef!important}.light-soft-blue{color:#f5f6f9!important}.fill-light-soft-blue{background-color:#f5f6f9!important}.border-light-soft-blue{border-color:#f5f6f9!important}.border-top-light-soft-blue{border-top:1px solid;border-color:#f5f6f9!important}.border-right-light-soft-blue{border-right:1px solid;border-color:#f5f6f9!important}.border-bottom-light-soft-blue{border-bottom:1px solid;border-color:#f5f6f9!important}.border-left-light-soft-blue{border-left:1px solid;border-color:#f5f6f9!important}.lighter-soft-blue{color:#f8f9fb!important}.fill-lighter-soft-blue{background-color:#f8f9fb!important}.border-lighter-soft-blue{border-color:#f8f9fb!important}.border-top-lighter-soft-blue{border-top:1px solid;border-color:#f8f9fb!important}.border-right-lighter-soft-blue{border-right:1px solid;border-color:#f8f9fb!important}.border-bottom-lighter-soft-blue{border-bottom:1px solid;border-color:#f8f9fb!important}.border-left-lighter-soft-blue{border-left:1px solid;border-color:#f8f9fb!important}:root{--color-gray: var(--color-gray-100);--color-gray-50: #f6f7f8;--color-gray-100: #eff1f4;--color-gray-200: #e3e5e8;--color-gray-300: #d7d9dc;--color-gray-400: #cbcdcf;--color-gray-500: #bfc1c3;--color-primary: var(--color-primary-500);--color-primary-50: #e4edfe;--color-primary-100: #bbd2fe;--color-primary-200: #8db4fd;--color-primary-300: #5f95fc;--color-primary-400: #3d7ffb;--color-primary-500: #1b68fa;--color-primary-600: #1860f9;--color-primary-700: #1455f9;--color-primary-800: #104bf8;--color-primary-900: #083af6;--color-primary-A100: #ffffff;--color-primary-A200: #ebefff;--color-primary-A400: #b8c4ff;--color-primary-A700: #9fafff;--color-secondary: var(--color-secondary-500);--color-secondary-50: #ebf7ed;--color-secondary-100: #cdead3;--color-secondary-200: #acdcb5;--color-secondary-300: #8bce97;--color-secondary-400: #72c481;--color-secondary-500: #59b96b;--color-secondary-600: #51b263;--color-secondary-700: #48aa58;--color-secondary-800: #3ea24e;--color-secondary-900: #2e933c;--color-secondary-A100: #d9ffde;--color-secondary-A200: #a6ffb1;--color-secondary-A400: #73ff84;--color-secondary-A700: #59ff6e}fw-popover{display:none}.fw-popover-panel .fw-popover-content-wrapper{position:relative;background:#ffffff;border-radius:4px;box-shadow:0 1px 4px #00000026!important;border:1px solid #d6dbe5;padding:16px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret{position:absolute;overflow:hidden;width:25px;height:25px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret:after{display:block;content:\"\";width:16px;height:16px;background:#ffffff;box-shadow:0 1px 4px #00000026!important;border:1px solid #d6dbe5;transform:rotate(45deg);position:relative}.fw-popover-panel.fw-popover-above{margin-bottom:-20px;padding-bottom:20px}.fw-popover-panel.fw-popover-above .fw-popover-caret{left:0;bottom:-16px;height:16px}.fw-popover-panel.fw-popover-above .fw-popover-caret:after{margin:-8px auto}.fw-popover-panel.fw-popover-below{margin-top:-20px;padding-top:20px}.fw-popover-panel.fw-popover-below .fw-popover-caret{left:0;top:-16px;height:16px}.fw-popover-panel.fw-popover-below .fw-popover-caret:after{top:16px;margin:-8px auto}.fw-popover-panel.fw-popover-left{margin-right:-20px;padding-right:20px}.fw-popover-panel.fw-popover-left .fw-popover-caret{right:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-left .fw-popover-caret:after{top:calc(50% - 8px);left:-8px}.fw-popover-panel.fw-popover-right{margin-left:-20px;padding-left:20px}.fw-popover-panel.fw-popover-right .fw-popover-caret{left:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-right .fw-popover-caret:after{top:calc(50% - 8px);right:-8px}\n"] }]
25
+ }], propDecorators: { templateRef: [{
26
+ type: ViewChild,
27
+ args: ['content']
28
+ }] } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFnQnJGLE1BQU0sT0FBTyxrQkFBa0I7O2dIQUFsQixrQkFBa0I7b0dBQWxCLGtCQUFrQixrTUFWbkI7Ozs7Ozs7aUJBT0s7NEZBR0osa0JBQWtCO2tCQWQ5QixTQUFTOzJCQUNGLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUNyQixZQUFZLFlBRVo7Ozs7Ozs7aUJBT0ssaUJBQ0EsaUJBQWlCLENBQUMsSUFBSTs4QkFJZixXQUFXO3NCQUFoQyxTQUFTO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBob3N0OiB7ICdjbGFzcyc6ICdmdy1wb3BvdmVyJyB9LFxuICBzZWxlY3RvcjogJ2Z3LXBvcG92ZXInLFxuICBzdHlsZVVybHM6IFsgJy4vcG9wb3Zlci5jb21wb25lbnQuc2NzcycgXSxcbiAgdGVtcGxhdGU6IGBcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJmdy1wb3BvdmVyLWNvbnRlbnQtd3JhcHBlclwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPGRpdiBjbGFzcz1cImZ3LXBvcG92ZXItY2FyZXRcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5gLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBGd1BvcG92ZXJDb21wb25lbnQge1xuICAvLyBVc2VkIGZvciBUZW1wbGF0ZVBvcnRhbCBpbiAuL3BvcG92ZXItdHJpZ2dlci5kaXJlY3RpdmUudHNcbiAgQFZpZXdDaGlsZCgnY29udGVudCcpIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxufVxuIl19