mis-crystal-design-system 18.0.24 → 18.1.0-signal-test

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 (163) hide show
  1. package/action-list/action-list.component.d.ts +17 -15
  2. package/async-search-dropdown/async-dropdown.component.d.ts +43 -61
  3. package/button/button.component.d.ts +35 -13
  4. package/button/button.directive.d.ts +10 -8
  5. package/checkbox/checkbox.component.d.ts +15 -12
  6. package/chip/chip.component.d.ts +9 -11
  7. package/datepicker_v2/models/dp-config.model.d.ts +1 -0
  8. package/datepicker_v2/tz-datepicker.directive.d.ts +15 -18
  9. package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +42 -21
  10. package/daterangepicker_v2/tz-daterangepicker.directive.d.ts +12 -14
  11. package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +46 -23
  12. package/drawer/drawer-body/drawer-body.component.d.ts +2 -2
  13. package/dropdown/calculate-container-height.directive.d.ts +7 -8
  14. package/dropdown/dropdown.component.d.ts +41 -49
  15. package/dynamic-form/dynamic-form.component.d.ts +20 -16
  16. package/esm2022/action-list/action-list.component.mjs +112 -89
  17. package/esm2022/async-search-dropdown/async-dropdown.component.mjs +256 -326
  18. package/esm2022/button/button.component.mjs +55 -48
  19. package/esm2022/button/button.directive.mjs +36 -40
  20. package/esm2022/checkbox/checkbox.component.mjs +75 -70
  21. package/esm2022/chip/chip.component.mjs +20 -33
  22. package/esm2022/datepicker_v2/models/dp-config.model.mjs +1 -1
  23. package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +42 -71
  24. package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +202 -172
  25. package/esm2022/datepicker_v2/utils/index.mjs +2 -1
  26. package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +26 -51
  27. package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +282 -235
  28. package/esm2022/drawer/drawer-body/drawer-body.component.mjs +8 -7
  29. package/esm2022/dropdown/calculate-container-height.directive.mjs +25 -22
  30. package/esm2022/dropdown/dropdown.component.mjs +162 -186
  31. package/esm2022/dynamic-form/dynamic-form.component.mjs +118 -72
  32. package/esm2022/fab/fab.component.mjs +29 -33
  33. package/esm2022/filter/filter-panel/filter-panel.component.mjs +60 -58
  34. package/esm2022/input/directives/input/input.directive.mjs +22 -26
  35. package/esm2022/input/mis-input.component.mjs +41 -45
  36. package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +40 -50
  37. package/esm2022/loader/loader.component.mjs +8 -11
  38. package/esm2022/mobile-filter/mobile-filter.component.mjs +61 -61
  39. package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +11 -9
  40. package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +235 -281
  41. package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +250 -287
  42. package/esm2022/phone-input/phone-input.component.mjs +21 -43
  43. package/esm2022/radio-button/radio-button.component.mjs +15 -27
  44. package/esm2022/ske-loader/ske-loader.component.mjs +15 -29
  45. package/esm2022/slider/slider.component.mjs +23 -33
  46. package/esm2022/slider/slider.module.mjs +4 -11
  47. package/esm2022/snackbar/snackbar/snackbar.component.mjs +21 -15
  48. package/esm2022/snackbar/snackbar.service.mjs +3 -2
  49. package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +230 -343
  50. package/esm2022/specificdatepicker/tz-specificdatepicker.directive.mjs +77 -105
  51. package/esm2022/star-rating/star-rating.component.mjs +57 -71
  52. package/esm2022/switch/switch.component.mjs +34 -36
  53. package/esm2022/table/actions-cell/actions-cell.component.mjs +55 -54
  54. package/esm2022/table/custom-table-cell.directive.mjs +22 -18
  55. package/esm2022/table/filter/filter.component.mjs +60 -42
  56. package/esm2022/table/sort-icons.directive.mjs +16 -8
  57. package/esm2022/table/sub-table/sub-table.component.mjs +41 -44
  58. package/esm2022/table/table.component.mjs +181 -165
  59. package/esm2022/timepicker/timepicker.component.mjs +244 -159
  60. package/esm2022/timepicker/timepicker.directive.mjs +3 -2
  61. package/esm2022/timerangepicker/timerangepicker.component.mjs +200 -159
  62. package/esm2022/toast/toast.component.mjs +6 -7
  63. package/esm2022/toast/toast.data.service.mjs +15 -9
  64. package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +12 -12
  65. package/esm2022/tooltip/tooltip.directive.mjs +4 -4
  66. package/esm2022/virtual-scroll/virtual-scroll.component.mjs +57 -59
  67. package/fab/fab.component.d.ts +12 -8
  68. package/fesm2022/mis-crystal-design-system-action-list.mjs +111 -88
  69. package/fesm2022/mis-crystal-design-system-action-list.mjs.map +1 -1
  70. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +253 -324
  71. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
  72. package/fesm2022/mis-crystal-design-system-button.mjs +88 -85
  73. package/fesm2022/mis-crystal-design-system-button.mjs.map +1 -1
  74. package/fesm2022/mis-crystal-design-system-checkbox.mjs +74 -69
  75. package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -1
  76. package/fesm2022/mis-crystal-design-system-chip.mjs +19 -32
  77. package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -1
  78. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +242 -240
  79. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
  80. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +305 -283
  81. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
  82. package/fesm2022/mis-crystal-design-system-drawer.mjs +7 -6
  83. package/fesm2022/mis-crystal-design-system-drawer.mjs.map +1 -1
  84. package/fesm2022/mis-crystal-design-system-dropdown.mjs +183 -204
  85. package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -1
  86. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs +118 -72
  87. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
  88. package/fesm2022/mis-crystal-design-system-fab.mjs +28 -32
  89. package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -1
  90. package/fesm2022/mis-crystal-design-system-filter.mjs +59 -57
  91. package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -1
  92. package/fesm2022/mis-crystal-design-system-input-stepper.mjs +39 -49
  93. package/fesm2022/mis-crystal-design-system-input-stepper.mjs.map +1 -1
  94. package/fesm2022/mis-crystal-design-system-input.mjs +62 -71
  95. package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
  96. package/fesm2022/mis-crystal-design-system-loader.mjs +7 -10
  97. package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -1
  98. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +60 -60
  99. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +1 -1
  100. package/fesm2022/mis-crystal-design-system-modal.mjs +10 -8
  101. package/fesm2022/mis-crystal-design-system-modal.mjs.map +1 -1
  102. package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs +233 -279
  103. package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
  104. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs +249 -286
  105. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -1
  106. package/fesm2022/mis-crystal-design-system-phone-input.mjs +20 -42
  107. package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -1
  108. package/fesm2022/mis-crystal-design-system-radio-button.mjs +14 -26
  109. package/fesm2022/mis-crystal-design-system-radio-button.mjs.map +1 -1
  110. package/fesm2022/mis-crystal-design-system-ske-loader.mjs +14 -28
  111. package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -1
  112. package/fesm2022/mis-crystal-design-system-slider.mjs +25 -42
  113. package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -1
  114. package/fesm2022/mis-crystal-design-system-snackbar.mjs +22 -15
  115. package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -1
  116. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs +304 -445
  117. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
  118. package/fesm2022/mis-crystal-design-system-star-rating.mjs +56 -70
  119. package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +1 -1
  120. package/fesm2022/mis-crystal-design-system-switch.mjs +33 -35
  121. package/fesm2022/mis-crystal-design-system-switch.mjs.map +1 -1
  122. package/fesm2022/mis-crystal-design-system-table.mjs +365 -321
  123. package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
  124. package/fesm2022/mis-crystal-design-system-timepicker.mjs +245 -159
  125. package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
  126. package/fesm2022/mis-crystal-design-system-timerangepicker.mjs +199 -158
  127. package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
  128. package/fesm2022/mis-crystal-design-system-toast.mjs +18 -13
  129. package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -1
  130. package/fesm2022/mis-crystal-design-system-tooltip.mjs +14 -14
  131. package/fesm2022/mis-crystal-design-system-tooltip.mjs.map +1 -1
  132. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs +57 -59
  133. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -1
  134. package/filter/filter-panel/filter-panel.component.d.ts +14 -14
  135. package/input/directives/input/input.directive.d.ts +6 -10
  136. package/input/mis-input.component.d.ts +12 -13
  137. package/input-stepper/input-stepper/input-stepper.component.d.ts +8 -7
  138. package/loader/loader.component.d.ts +3 -6
  139. package/mobile-filter/mobile-filter.component.d.ts +15 -15
  140. package/modal/module-wrapper/module-wrapper.component.d.ts +2 -3
  141. package/multi-select-dropdown/multi-select-dropdown.component.d.ts +89 -51
  142. package/nested-multi-select-dropdown/nested-multi-select-dropdown.component.d.ts +99 -56
  143. package/package.json +17 -17
  144. package/phone-input/phone-input.component.d.ts +16 -18
  145. package/radio-button/radio-button.component.d.ts +9 -11
  146. package/ske-loader/ske-loader.component.d.ts +8 -11
  147. package/slider/slider.component.d.ts +8 -11
  148. package/slider/slider.module.d.ts +1 -2
  149. package/snackbar/snackbar/snackbar.component.d.ts +3 -3
  150. package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +35 -35
  151. package/specificdatepicker/tz-specificdatepicker.directive.d.ts +24 -28
  152. package/star-rating/star-rating.component.d.ts +18 -18
  153. package/switch/switch.component.d.ts +8 -10
  154. package/table/actions-cell/actions-cell.component.d.ts +14 -14
  155. package/table/custom-table-cell.directive.d.ts +3 -3
  156. package/table/filter/filter.component.d.ts +9 -9
  157. package/table/sub-table/sub-table.component.d.ts +5 -5
  158. package/table/table.component.d.ts +38 -35
  159. package/timepicker/timepicker.component.d.ts +29 -28
  160. package/timerangepicker/timerangepicker.component.d.ts +36 -33
  161. package/toast/toast.data.service.d.ts +1 -1
  162. package/tooltip/tooltip-container/tooltip.component.d.ts +4 -4
  163. package/virtual-scroll/virtual-scroll.component.d.ts +8 -9
@@ -1,5 +1,5 @@
1
1
  import { animate, style, transition, trigger } from "@angular/animations";
2
- import { Component } from "@angular/core";
2
+ import { Component, ChangeDetectionStrategy } from "@angular/core";
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "./toast.data.service";
5
5
  import * as i2 from "@angular/platform-browser";
@@ -32,7 +32,6 @@ export class ToastComponent {
32
32
  constructor(data, sanitizer) {
33
33
  this.data = data;
34
34
  this.sanitizer = sanitizer;
35
- console.log("Data:", data);
36
35
  }
37
36
  getMessage(toast) {
38
37
  return typeof toast === "string" ? toast : toast.text;
@@ -77,7 +76,7 @@ export class ToastComponent {
77
76
  i0.ɵɵelementEnd();
78
77
  } if (rf & 2) {
79
78
  i0.ɵɵadvance();
80
- i0.ɵɵproperty("ngForOf", ctx.data.messages);
79
+ i0.ɵɵproperty("ngForOf", ctx.data.messages());
81
80
  } }, dependencies: [i3.NgClass, i3.NgForOf, i3.NgIf], styles: [".toast-container[_ngcontent-%COMP%]{transition:max-height .3s ease-in}.toast-container[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{position:relative;display:flex;justify-content:center}.toast-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;gap:16px;padding:14px 12px;background:#181f33;box-shadow:0 12px 17px #00000024,0 5px 22px #0000001f,0 7px 8px #0003;border-radius:4px;transition:all .3s ease-in;min-height:44px;transform-origin:top}.toast-wrapper[_ngcontent-%COMP%] .msg[_ngcontent-%COMP%]{color:#fff;max-width:314px;flex:1 1 314px;font-size:14px;line-height:20px;letter-spacing:.2px}@media screen and (max-width: 360px){.toast-wrapper[_ngcontent-%COMP%] .msg[_ngcontent-%COMP%]{max-width:90vw;flex:1 1 90vw}}.toast-wrapper[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}"], data: { animation: [
82
81
  trigger("fadeInOut", [
83
82
  transition(":enter", [
@@ -88,11 +87,11 @@ export class ToastComponent {
88
87
  animate("300ms ease-in", style({ opacity: "0", transform: "translateY(50%)" }))
89
88
  ])
90
89
  ])
91
- ] } }); }
90
+ ] }, changeDetection: 0 }); }
92
91
  }
93
92
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastComponent, [{
94
93
  type: Component,
95
- args: [{ selector: "mis-teams-toast", animations: [
94
+ args: [{ selector: "mis-teams-toast", changeDetection: ChangeDetectionStrategy.OnPush, animations: [
96
95
  trigger("fadeInOut", [
97
96
  transition(":enter", [
98
97
  style({ opacity: "0", transform: "translateY(-50%)", height: "0" }),
@@ -102,7 +101,7 @@ export class ToastComponent {
102
101
  animate("300ms ease-in", style({ opacity: "0", transform: "translateY(50%)" }))
103
102
  ])
104
103
  ])
105
- ], template: "<div class=\"toast-container\">\n <div *ngFor=\"let toast of data.messages\" @fadeInOut>\n <div class=\"toast-wrapper\" [ngClass]=\"toast?.state\">\n <div class=\"icon\" *ngIf=\"toast?.state\" [innerHTML]=\"getStateIcon(toast?.state)\"></div>\n <div class=\"msg\">{{ getMessage(toast) }}</div>\n </div>\n </div>\n</div>\n", styles: [".toast-container{transition:max-height .3s ease-in}.toast-container>div{position:relative;display:flex;justify-content:center}.toast-wrapper{display:flex;flex-direction:row;align-items:center;gap:16px;padding:14px 12px;background:#181f33;box-shadow:0 12px 17px #00000024,0 5px 22px #0000001f,0 7px 8px #0003;border-radius:4px;transition:all .3s ease-in;min-height:44px;transform-origin:top}.toast-wrapper .msg{color:#fff;max-width:314px;flex:1 1 314px;font-size:14px;line-height:20px;letter-spacing:.2px}@media screen and (max-width: 360px){.toast-wrapper .msg{max-width:90vw;flex:1 1 90vw}}.toast-wrapper .icon{display:flex;justify-content:center;align-items:center}\n"] }]
104
+ ], template: "<div class=\"toast-container\">\n <div *ngFor=\"let toast of data.messages()\" @fadeInOut>\n <div class=\"toast-wrapper\" [ngClass]=\"toast?.state\">\n <div class=\"icon\" *ngIf=\"toast?.state\" [innerHTML]=\"getStateIcon(toast?.state)\"></div>\n <div class=\"msg\">{{ getMessage(toast) }}</div>\n </div>\n </div>\n</div>\n", styles: [".toast-container{transition:max-height .3s ease-in}.toast-container>div{position:relative;display:flex;justify-content:center}.toast-wrapper{display:flex;flex-direction:row;align-items:center;gap:16px;padding:14px 12px;background:#181f33;box-shadow:0 12px 17px #00000024,0 5px 22px #0000001f,0 7px 8px #0003;border-radius:4px;transition:all .3s ease-in;min-height:44px;transform-origin:top}.toast-wrapper .msg{color:#fff;max-width:314px;flex:1 1 314px;font-size:14px;line-height:20px;letter-spacing:.2px}@media screen and (max-width: 360px){.toast-wrapper .msg{max-width:90vw;flex:1 1 90vw}}.toast-wrapper .icon{display:flex;justify-content:center;align-items:center}\n"] }]
106
105
  }], () => [{ type: i1.ToastDataService }, { type: i2.DomSanitizer }], null); })();
107
106
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ToastComponent, { className: "ToastComponent" }); })();
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ0VwQyx5QkFBc0Y7Ozs7SUFBL0MsNEdBQXdDOzs7SUFEakYsQUFERiwyQkFBb0QsYUFDRTtJQUNsRCxxRUFBZ0Y7SUFDaEYsOEJBQWlCO0lBQUEsWUFBdUI7SUFFNUMsQUFERSxBQUQwQyxpQkFBTSxFQUMxQyxFQUNGOzs7O0lBTG1DLHNDQUFVO0lBQ3RCLGNBQXdCO0lBQXhCLGtFQUF3QjtJQUM5QixjQUFrQjtJQUFsQiwrREFBa0I7SUFDcEIsZUFBdUI7SUFBdkIsaURBQXVCOztBRG9COUMsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDUyxJQUFzQixFQUNyQixTQUF1QjtRQUR4QixTQUFJLEdBQUosSUFBSSxDQUFrQjtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBRS9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBWTtRQUNyQixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3hELENBQUM7SUFFRCxjQUFjLENBQUMsS0FBWTtRQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUNyRCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWtCO1FBQzdCLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFdEIsTUFBTSxLQUFLLEdBQStCO1lBQ3hDLE9BQU8sRUFBRTs7Ozs7T0FLUjtZQUNELE9BQU8sRUFBRTs7Ozs7O09BTVI7WUFDRCxLQUFLLEVBQUU7Ozs7OztPQU1OO1NBQ0YsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVPLGFBQWEsQ0FBQyxLQUFZO1FBQ2hDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDO0lBQ25DLENBQUM7K0dBL0NVLGNBQWM7b0VBQWQsY0FBYztZQ3hCM0IsOEJBQTZCO1lBQzNCLCtEQUFvRDtZQU10RCxpQkFBTTs7WUFObUIsY0FBZ0I7WUFBaEIsMkNBQWdCO2c4QkRXM0I7Z0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTtvQkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRTt3QkFDbkIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO3dCQUNuRSxPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztxQkFDM0YsQ0FBQztvQkFDRixVQUFVLENBQUMsUUFBUSxFQUFFO3dCQUNuQixPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztxQkFDaEYsQ0FBQztpQkFDSCxDQUFDO2FBQ0g7O2lGQUVVLGNBQWM7Y0FoQjFCLFNBQVM7MkJBQ0UsaUJBQWlCLGNBR2Y7b0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTt3QkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRTs0QkFDbkIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDOzRCQUNuRSxPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQzt5QkFDM0YsQ0FBQzt3QkFDRixVQUFVLENBQUMsUUFBUSxFQUFFOzRCQUNuQixPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQzt5QkFDaEYsQ0FBQztxQkFDSCxDQUFDO2lCQUNIOztrRkFFVSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xuaW1wb3J0IHsgVG9hc3REYXRhU2VydmljZSB9IGZyb20gXCIuL3RvYXN0LmRhdGEuc2VydmljZVwiO1xuaW1wb3J0IHsgVG9hc3RTdGF0ZSB9IGZyb20gXCIuL3RvYXN0LmludGVyZmFjZVwiO1xuXG50eXBlIFRvYXN0ID0gc3RyaW5nIHwgeyB0ZXh0OiBzdHJpbmc7IHN0YXRlPzogVG9hc3RTdGF0ZSB9O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLXRlYW1zLXRvYXN0XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vdG9hc3QuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3RvYXN0LmNvbXBvbmVudC5zY3NzXCJdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcihcImZhZGVJbk91dFwiLCBbXG4gICAgICB0cmFuc2l0aW9uKFwiOmVudGVyXCIsIFtcbiAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiBcIjBcIiwgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoLTUwJSlcIiwgaGVpZ2h0OiBcIjBcIiB9KSxcbiAgICAgICAgYW5pbWF0ZShcIjMwMG1zIGVhc2UtaW5cIiwgc3R5bGUoeyBvcGFjaXR5OiBcIjFcIiwgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoMClcIiwgaGVpZ2h0OiBcIipcIiB9KSlcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbihcIjpsZWF2ZVwiLCBbXG4gICAgICAgIGFuaW1hdGUoXCIzMDBtcyBlYXNlLWluXCIsIHN0eWxlKHsgb3BhY2l0eTogXCIwXCIsIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVZKDUwJSlcIiB9KSlcbiAgICAgIF0pXG4gICAgXSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkYXRhOiBUb2FzdERhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcbiAgKSB7XG4gICAgY29uc29sZS5sb2coXCJEYXRhOlwiLGRhdGEpO1xuICB9XG5cbiAgZ2V0TWVzc2FnZSh0b2FzdDogVG9hc3QpOiBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgdG9hc3QgPT09IFwic3RyaW5nXCIgPyB0b2FzdCA6IHRvYXN0LnRleHQ7XG4gIH1cblxuICBzaG91bGRTaG93SWNvbih0b2FzdDogVG9hc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNTdHJpbmdUb2FzdCh0b2FzdCkgJiYgISF0b2FzdC5zdGF0ZTtcbiAgfVxuXG4gIGdldFN0YXRlSWNvbihzdGF0ZT86IFRvYXN0U3RhdGUpOiBTYWZlSHRtbCB7XG4gICAgaWYgKCFzdGF0ZSkgcmV0dXJuIFwiXCI7XG5cbiAgICBjb25zdCBpY29uczogUmVjb3JkPFRvYXN0U3RhdGUsIHN0cmluZz4gPSB7XG4gICAgICBzdWNjZXNzOiBgXG4gICAgICAgIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgIDxjaXJjbGUgY3g9XCIxMFwiIGN5PVwiMTBcIiByPVwiMTBcIiBmaWxsPVwiIzRDQUY1MFwiLz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTguNiAxMy40TDUuMiAxMEw0IDExLjJMOC42IDE1LjhMMTYuNiA3LjhMMTUuNCA2LjZMOC42IDEzLjRaXCIgZmlsbD1cIndoaXRlXCIvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIGAsXG4gICAgICB3YXJuaW5nOiBgXG4gICAgICAgIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMTAgMEwyMCAxNy4zMjA1SDBMMTAgMFpcIiBmaWxsPVwiI0ZGOTgwMFwiLz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTkgNkgxMVYxMkg5VjZaXCIgZmlsbD1cIndoaXRlXCIvPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNOSAxM0gxMVYxNUg5VjEzWlwiIGZpbGw9XCJ3aGl0ZVwiLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICBgLFxuICAgICAgZXJyb3I6IGBcbiAgICAgICAgPHN2ZyB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgPGNpcmNsZSBjeD1cIjEwXCIgY3k9XCIxMFwiIHI9XCIxMFwiIGZpbGw9XCIjRDMyRjJGXCIvPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNOSA1SDExVjExSDlWNVpcIiBmaWxsPVwid2hpdGVcIi8+XG4gICAgICAgICAgPHBhdGggZD1cIk05IDEzSDExVjE1SDlWMTNaXCIgZmlsbD1cIndoaXRlXCIvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIGBcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGljb25zW3N0YXRlXSB8fCBcIlwiKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTdHJpbmdUb2FzdCh0b2FzdDogVG9hc3QpOiB0b2FzdCBpcyBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgdG9hc3QgPT09IFwic3RyaW5nXCI7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0b2FzdC1jb250YWluZXJcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgdG9hc3Qgb2YgZGF0YS5tZXNzYWdlc1wiIEBmYWRlSW5PdXQ+XG4gICAgPGRpdiBjbGFzcz1cInRvYXN0LXdyYXBwZXJcIiBbbmdDbGFzc109XCJ0b2FzdD8uc3RhdGVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uXCIgKm5nSWY9XCJ0b2FzdD8uc3RhdGVcIiBbaW5uZXJIVE1MXT1cImdldFN0YXRlSWNvbih0b2FzdD8uc3RhdGUpXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibXNnXCI+e3sgZ2V0TWVzc2FnZSh0b2FzdCkgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ0U3RCx5QkFBc0Y7Ozs7SUFBL0MsNEdBQXdDOzs7SUFEakYsQUFERiwyQkFBc0QsYUFDQTtJQUNsRCxxRUFBZ0Y7SUFDaEYsOEJBQWlCO0lBQUEsWUFBdUI7SUFFNUMsQUFERSxBQUQwQyxpQkFBTSxFQUMxQyxFQUNGOzs7O0lBTHFDLHNDQUFVO0lBQ3hCLGNBQXdCO0lBQXhCLGtFQUF3QjtJQUM5QixjQUFrQjtJQUFsQiwrREFBa0I7SUFDcEIsZUFBdUI7SUFBdkIsaURBQXVCOztBRHFCOUMsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDUyxJQUFzQixFQUNyQixTQUF1QjtRQUR4QixTQUFJLEdBQUosSUFBSSxDQUFrQjtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQzlCLENBQUM7SUFFSixVQUFVLENBQUMsS0FBWTtRQUNyQixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3hELENBQUM7SUFFRCxjQUFjLENBQUMsS0FBWTtRQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUNyRCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWtCO1FBQzdCLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFdEIsTUFBTSxLQUFLLEdBQStCO1lBQ3hDLE9BQU8sRUFBRTs7Ozs7T0FLUjtZQUNELE9BQU8sRUFBRTs7Ozs7O09BTVI7WUFDRCxLQUFLLEVBQUU7Ozs7OztPQU1OO1NBQ0YsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVPLGFBQWEsQ0FBQyxLQUFZO1FBQ2hDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDO0lBQ25DLENBQUM7K0dBN0NVLGNBQWM7b0VBQWQsY0FBYztZQ3pCM0IsOEJBQTZCO1lBQzNCLCtEQUFzRDtZQU14RCxpQkFBTTs7WUFObUIsY0FBa0I7WUFBbEIsNkNBQWtCO2c4QkRZN0I7Z0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTtvQkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRTt3QkFDbkIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO3dCQUNuRSxPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztxQkFDM0YsQ0FBQztvQkFDRixVQUFVLENBQUMsUUFBUSxFQUFFO3dCQUNuQixPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztxQkFDaEYsQ0FBQztpQkFDSCxDQUFDO2FBQ0g7O2lGQUVVLGNBQWM7Y0FqQjFCLFNBQVM7MkJBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0sY0FDbkM7b0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTt3QkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRTs0QkFDbkIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDOzRCQUNuRSxPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQzt5QkFDM0YsQ0FBQzt3QkFDRixVQUFVLENBQUMsUUFBUSxFQUFFOzRCQUNuQixPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQzt5QkFDaEYsQ0FBQztxQkFDSCxDQUFDO2lCQUNIOztrRkFFVSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcbmltcG9ydCB7IFRvYXN0RGF0YVNlcnZpY2UgfSBmcm9tIFwiLi90b2FzdC5kYXRhLnNlcnZpY2VcIjtcbmltcG9ydCB7IFRvYXN0U3RhdGUgfSBmcm9tIFwiLi90b2FzdC5pbnRlcmZhY2VcIjtcblxudHlwZSBUb2FzdCA9IHN0cmluZyB8IHsgdGV4dDogc3RyaW5nOyBzdGF0ZT86IFRvYXN0U3RhdGUgfTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy10ZWFtcy10b2FzdFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3RvYXN0LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi90b2FzdC5jb21wb25lbnQuc2Nzc1wiXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKFwiZmFkZUluT3V0XCIsIFtcbiAgICAgIHRyYW5zaXRpb24oXCI6ZW50ZXJcIiwgW1xuICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IFwiMFwiLCB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSgtNTAlKVwiLCBoZWlnaHQ6IFwiMFwiIH0pLFxuICAgICAgICBhbmltYXRlKFwiMzAwbXMgZWFzZS1pblwiLCBzdHlsZSh7IG9wYWNpdHk6IFwiMVwiLCB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSgwKVwiLCBoZWlnaHQ6IFwiKlwiIH0pKVxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKFwiOmxlYXZlXCIsIFtcbiAgICAgICAgYW5pbWF0ZShcIjMwMG1zIGVhc2UtaW5cIiwgc3R5bGUoeyBvcGFjaXR5OiBcIjBcIiwgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoNTAlKVwiIH0pKVxuICAgICAgXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0Q29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRhdGE6IFRvYXN0RGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplclxuICApIHt9XG5cbiAgZ2V0TWVzc2FnZSh0b2FzdDogVG9hc3QpOiBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgdG9hc3QgPT09IFwic3RyaW5nXCIgPyB0b2FzdCA6IHRvYXN0LnRleHQ7XG4gIH1cblxuICBzaG91bGRTaG93SWNvbih0b2FzdDogVG9hc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNTdHJpbmdUb2FzdCh0b2FzdCkgJiYgISF0b2FzdC5zdGF0ZTtcbiAgfVxuXG4gIGdldFN0YXRlSWNvbihzdGF0ZT86IFRvYXN0U3RhdGUpOiBTYWZlSHRtbCB7XG4gICAgaWYgKCFzdGF0ZSkgcmV0dXJuIFwiXCI7XG5cbiAgICBjb25zdCBpY29uczogUmVjb3JkPFRvYXN0U3RhdGUsIHN0cmluZz4gPSB7XG4gICAgICBzdWNjZXNzOiBgXG4gICAgICAgIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgIDxjaXJjbGUgY3g9XCIxMFwiIGN5PVwiMTBcIiByPVwiMTBcIiBmaWxsPVwiIzRDQUY1MFwiLz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTguNiAxMy40TDUuMiAxMEw0IDExLjJMOC42IDE1LjhMMTYuNiA3LjhMMTUuNCA2LjZMOC42IDEzLjRaXCIgZmlsbD1cIndoaXRlXCIvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIGAsXG4gICAgICB3YXJuaW5nOiBgXG4gICAgICAgIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMTAgMEwyMCAxNy4zMjA1SDBMMTAgMFpcIiBmaWxsPVwiI0ZGOTgwMFwiLz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTkgNkgxMVYxMkg5VjZaXCIgZmlsbD1cIndoaXRlXCIvPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNOSAxM0gxMVYxNUg5VjEzWlwiIGZpbGw9XCJ3aGl0ZVwiLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICBgLFxuICAgICAgZXJyb3I6IGBcbiAgICAgICAgPHN2ZyB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgPGNpcmNsZSBjeD1cIjEwXCIgY3k9XCIxMFwiIHI9XCIxMFwiIGZpbGw9XCIjRDMyRjJGXCIvPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNOSA1SDExVjExSDlWNVpcIiBmaWxsPVwid2hpdGVcIi8+XG4gICAgICAgICAgPHBhdGggZD1cIk05IDEzSDExVjE1SDlWMTNaXCIgZmlsbD1cIndoaXRlXCIvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIGBcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGljb25zW3N0YXRlXSB8fCBcIlwiKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTdHJpbmdUb2FzdCh0b2FzdDogVG9hc3QpOiB0b2FzdCBpcyBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgdG9hc3QgPT09IFwic3RyaW5nXCI7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0b2FzdC1jb250YWluZXJcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgdG9hc3Qgb2YgZGF0YS5tZXNzYWdlcygpXCIgQGZhZGVJbk91dD5cbiAgICA8ZGl2IGNsYXNzPVwidG9hc3Qtd3JhcHBlclwiIFtuZ0NsYXNzXT1cInRvYXN0Py5zdGF0ZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImljb25cIiAqbmdJZj1cInRvYXN0Py5zdGF0ZVwiIFtpbm5lckhUTUxdPVwiZ2V0U3RhdGVJY29uKHRvYXN0Py5zdGF0ZSlcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtc2dcIj57eyBnZXRNZXNzYWdlKHRvYXN0KSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,22 +1,28 @@
1
- import { Injectable } from "@angular/core";
1
+ import { Injectable, signal, computed } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  export class ToastDataService {
4
- get messages() {
5
- return Array.from(this.messageMap.values()).reverse();
6
- }
7
4
  constructor() {
8
- this.messageMap = new Map();
5
+ this.messageMap = signal(new Map());
6
+ this.messages = computed(() => {
7
+ return Array.from(this.messageMap().values()).reverse();
8
+ });
9
9
  }
10
10
  updateMessage(msg) {
11
11
  const id = new Date().getTime();
12
- this.messageMap.set(id, msg);
12
+ const currentMap = this.messageMap();
13
+ const newMap = new Map(currentMap);
14
+ newMap.set(id, msg);
15
+ this.messageMap.set(newMap);
13
16
  return id;
14
17
  }
15
18
  removeMessage(id) {
16
- this.messageMap.delete(id);
19
+ const currentMap = this.messageMap();
20
+ const newMap = new Map(currentMap);
21
+ newMap.delete(id);
22
+ this.messageMap.set(newMap);
17
23
  }
18
24
  hasMessage() {
19
- return this.messageMap.size > 0;
25
+ return this.messageMap().size > 0;
20
26
  }
21
27
  static { this.ɵfac = function ToastDataService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ToastDataService)(); }; }
22
28
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ToastDataService, factory: ToastDataService.ɵfac, providedIn: "root" }); }
@@ -27,4 +33,4 @@ export class ToastDataService {
27
33
  providedIn: "root"
28
34
  }]
29
35
  }], () => [], null); })();
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsSUFBSSxRQUFRO1FBQ1YsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7UUFOUSxlQUFVLEdBQXVDLElBQUksR0FBRyxFQUFFLENBQUM7SUFNcEQsQ0FBQztJQUVoQixhQUFhLENBQUMsR0FBMEI7UUFDdEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDN0IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsYUFBYSxDQUFDLEVBQVU7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDO2lIQXJCVSxnQkFBZ0I7dUVBQWhCLGdCQUFnQixXQUFoQixnQkFBZ0IsbUJBRmYsTUFBTTs7aUZBRVAsZ0JBQWdCO2NBSDVCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVG9hc3RNZXNzYWdlIH0gZnJvbSBcIi4vdG9hc3QuaW50ZXJmYWNlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3REYXRhU2VydmljZSB7XG4gIHByaXZhdGUgbWVzc2FnZU1hcDogTWFwPG51bWJlciwgVG9hc3RNZXNzYWdlIHwgc3RyaW5nPiA9IG5ldyBNYXAoKTtcbiAgXG4gIGdldCBtZXNzYWdlcygpOiAoVG9hc3RNZXNzYWdlIHwgc3RyaW5nKVtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLm1lc3NhZ2VNYXAudmFsdWVzKCkpLnJldmVyc2UoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICB1cGRhdGVNZXNzYWdlKG1zZzogVG9hc3RNZXNzYWdlIHwgc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCBpZCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIHRoaXMubWVzc2FnZU1hcC5zZXQoaWQsIG1zZyk7XG4gICAgcmV0dXJuIGlkO1xuICB9XG5cbiAgcmVtb3ZlTWVzc2FnZShpZDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5tZXNzYWdlTWFwLmRlbGV0ZShpZCk7XG4gIH1cblxuICBoYXNNZXNzYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1lc3NhZ2VNYXAuc2l6ZSA+IDA7XG4gIH1cbn1cbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFrQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTdFLE1BQU0sT0FBTyxnQkFBZ0I7SUFPM0I7UUFOUSxlQUFVLEdBQXVELE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFFM0YsYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDdkIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFELENBQUMsQ0FBQyxDQUFDO0lBRVksQ0FBQztJQUVoQixhQUFhLENBQUMsR0FBMEI7UUFDdEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsYUFBYSxDQUFDLEVBQVU7UUFDdEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7aUhBM0JVLGdCQUFnQjt1RUFBaEIsZ0JBQWdCLFdBQWhCLGdCQUFnQixtQkFGZixNQUFNOztpRkFFUCxnQkFBZ0I7Y0FINUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCwgY29tcHV0ZWQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVG9hc3RNZXNzYWdlIH0gZnJvbSBcIi4vdG9hc3QuaW50ZXJmYWNlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3REYXRhU2VydmljZSB7XG4gIHByaXZhdGUgbWVzc2FnZU1hcDogV3JpdGFibGVTaWduYWw8TWFwPG51bWJlciwgVG9hc3RNZXNzYWdlIHwgc3RyaW5nPj4gPSBzaWduYWwobmV3IE1hcCgpKTtcbiAgXG4gIG1lc3NhZ2VzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMubWVzc2FnZU1hcCgpLnZhbHVlcygpKS5yZXZlcnNlKCk7XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICB1cGRhdGVNZXNzYWdlKG1zZzogVG9hc3RNZXNzYWdlIHwgc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCBpZCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIGNvbnN0IGN1cnJlbnRNYXAgPSB0aGlzLm1lc3NhZ2VNYXAoKTtcbiAgICBjb25zdCBuZXdNYXAgPSBuZXcgTWFwKGN1cnJlbnRNYXApO1xuICAgIG5ld01hcC5zZXQoaWQsIG1zZyk7XG4gICAgdGhpcy5tZXNzYWdlTWFwLnNldChuZXdNYXApO1xuICAgIHJldHVybiBpZDtcbiAgfVxuXG4gIHJlbW92ZU1lc3NhZ2UoaWQ6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRNYXAgPSB0aGlzLm1lc3NhZ2VNYXAoKTtcbiAgICBjb25zdCBuZXdNYXAgPSBuZXcgTWFwKGN1cnJlbnRNYXApO1xuICAgIG5ld01hcC5kZWxldGUoaWQpO1xuICAgIHRoaXMubWVzc2FnZU1hcC5zZXQobmV3TWFwKTtcbiAgfVxuXG4gIGhhc01lc3NhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZU1hcCgpLnNpemUgPiAwO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Component, ViewChild } from "@angular/core";
1
+ import { Component, ViewChild, ChangeDetectionStrategy, signal } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  const _c0 = ["container"];
@@ -21,7 +21,7 @@ function ToolTipComponent_div_0_ng_template_4_Template(rf, ctx) { if (rf & 1) {
21
21
  i0.ɵɵelement(0, "div", 8);
22
22
  } if (rf & 2) {
23
23
  const ctx_r0 = i0.ɵɵnextContext(2);
24
- i0.ɵɵproperty("innerHTML", ctx_r0.toolTipText, i0.ɵɵsanitizeHtml)("ngStyle", i0.ɵɵpureFunction1(2, _c3, ctx_r0.toolTipTextAlignment ? ctx_r0.toolTipTextAlignment : ""));
24
+ i0.ɵɵproperty("innerHTML", ctx_r0.toolTipText(), i0.ɵɵsanitizeHtml)("ngStyle", i0.ɵɵpureFunction1(2, _c3, ctx_r0.toolTipTextAlignment() ? ctx_r0.toolTipTextAlignment() : ""));
25
25
  } }
26
26
  function ToolTipComponent_div_0_Template(rf, ctx) { if (rf & 1) {
27
27
  i0.ɵɵelementStart(0, "div", 3, 0)(2, "div", 4);
@@ -34,24 +34,24 @@ function ToolTipComponent_div_0_Template(rf, ctx) { if (rf & 1) {
34
34
  i0.ɵɵadvance(3);
35
35
  i0.ɵɵproperty("ngIf", ctx_r0.templateRef)("ngIfElse", tooltipText_r2);
36
36
  i0.ɵɵadvance(3);
37
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction4(3, _c1, ctx_r0.toolTipPosition === "left", ctx_r0.toolTipPosition === "right", ctx_r0.toolTipPosition === "top", ctx_r0.toolTipPosition === "bottom"));
37
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction4(3, _c1, ctx_r0.toolTipPosition() === "left", ctx_r0.toolTipPosition() === "right", ctx_r0.toolTipPosition() === "top", ctx_r0.toolTipPosition() === "bottom"));
38
38
  } }
39
39
  export class ToolTipComponent {
40
40
  constructor() {
41
- this.toolTipText = "";
42
- this.toolTipPosition = "bottom";
43
- this.toolTipTextAlignment = "";
41
+ this.toolTipText = signal("");
42
+ this.toolTipPosition = signal("bottom");
43
+ this.toolTipTextAlignment = signal("");
44
44
  }
45
45
  ngOnInit() { }
46
46
  ngAfterViewInit() {
47
47
  if (!this.container?.nativeElement)
48
48
  return;
49
- if (this.toolTipPosition === "top" || this.toolTipPosition === "bottom") {
49
+ if (this.toolTipPosition() === "top" || this.toolTipPosition() === "bottom") {
50
50
  const eleWidth = this.container.nativeElement.getBoundingClientRect();
51
51
  this.container.nativeElement.style.left = eleWidth.width / -2 + "px";
52
52
  return;
53
53
  }
54
- if (this.toolTipPosition === "left") {
54
+ if (this.toolTipPosition() === "left") {
55
55
  const eleWidth = this.container.nativeElement.getBoundingClientRect();
56
56
  this.container.nativeElement.style.left = -eleWidth.width + "px";
57
57
  }
@@ -65,15 +65,15 @@ export class ToolTipComponent {
65
65
  } }, decls: 1, vars: 1, consts: [["container", ""], ["tooltipText", ""], ["id", "tooltip-container", 4, "ngIf"], ["id", "tooltip-container"], ["id", "tooltip"], [4, "ngIf", "ngIfElse"], ["id", "arrow", 3, "ngClass"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["id", "tooltip-text", 3, "innerHTML", "ngStyle"]], template: function ToolTipComponent_Template(rf, ctx) { if (rf & 1) {
66
66
  i0.ɵɵtemplate(0, ToolTipComponent_div_0_Template, 7, 8, "div", 2);
67
67
  } if (rf & 2) {
68
- i0.ɵɵproperty("ngIf", ctx.toolTipText.length > 0 || ctx.templateRef);
69
- } }, dependencies: [i1.NgClass, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle], styles: ["#tooltip-container[_ngcontent-%COMP%]{position:absolute;z-index:1}#tooltip[_ngcontent-%COMP%]{position:relative;display:block;padding:8px 12px;border-radius:8px;color:#fff;background:#181f33;font-family:Lato,sans-serif;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px}#tooltip-text[_ngcontent-%COMP%]{width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#arrow[_ngcontent-%COMP%]{position:absolute;height:12px;width:12px;background:#181f33;z-index:1}.arrow-top[_ngcontent-%COMP%]{left:50%;bottom:-6px;transform:translate(-50%) rotate(-45deg);-webkit-transform:translateX(-50%) rotate(-45deg)}.arrow-bottom[_ngcontent-%COMP%]{left:50%;top:-6px;transform:translate(-50%) rotate(-45deg);-webkit-transform:translateX(-50%) rotate(-45deg)}.arrow-left[_ngcontent-%COMP%]{top:50%;right:-6px;transform:translateY(-50%) rotate(-45deg);-webkit-transform:translateY(-50%) rotate(-45deg)}.arrow-right[_ngcontent-%COMP%]{top:50%;left:-6px;transform:translateY(-50%) rotate(-45deg);-webkit-transform:translateY(-50%) rotate(-45deg)}"] }); }
68
+ i0.ɵɵproperty("ngIf", ctx.toolTipText().length > 0 || ctx.templateRef);
69
+ } }, dependencies: [i1.NgClass, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle], styles: ["#tooltip-container[_ngcontent-%COMP%]{position:absolute;z-index:1}#tooltip[_ngcontent-%COMP%]{position:relative;display:block;padding:8px 12px;border-radius:8px;color:#fff;background:#181f33;font-family:Lato,sans-serif;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px}#tooltip-text[_ngcontent-%COMP%]{width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#arrow[_ngcontent-%COMP%]{position:absolute;height:12px;width:12px;background:#181f33;z-index:1}.arrow-top[_ngcontent-%COMP%]{left:50%;bottom:-6px;transform:translate(-50%) rotate(-45deg);-webkit-transform:translateX(-50%) rotate(-45deg)}.arrow-bottom[_ngcontent-%COMP%]{left:50%;top:-6px;transform:translate(-50%) rotate(-45deg);-webkit-transform:translateX(-50%) rotate(-45deg)}.arrow-left[_ngcontent-%COMP%]{top:50%;right:-6px;transform:translateY(-50%) rotate(-45deg);-webkit-transform:translateY(-50%) rotate(-45deg)}.arrow-right[_ngcontent-%COMP%]{top:50%;left:-6px;transform:translateY(-50%) rotate(-45deg);-webkit-transform:translateY(-50%) rotate(-45deg)}"], changeDetection: 0 }); }
70
70
  }
71
71
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToolTipComponent, [{
72
72
  type: Component,
73
- args: [{ selector: "mis-tooltip", template: "<div id=\"tooltip-container\" *ngIf=\"toolTipText.length > 0 || templateRef\" #container>\n <div id=\"tooltip\">\n <div *ngIf=\"templateRef; else tooltipText\">\n <ng-container *ngTemplateOutlet=\"templateRef; context: {$implicit: templateContext}\"></ng-container>\n </div>\n\n <ng-template #tooltipText>\n <div id=\"tooltip-text\" [innerHTML]=\"toolTipText\" \n [ngStyle]=\"{'text-align' : toolTipTextAlignment ? toolTipTextAlignment : '' }\"></div>\n </ng-template>\n\n <span\n id=\"arrow\"\n [ngClass]=\"{\n 'arrow-left': toolTipPosition === 'left',\n 'arrow-right': toolTipPosition === 'right',\n 'arrow-top': toolTipPosition === 'top',\n 'arrow-bottom': toolTipPosition === 'bottom'\n }\"\n ></span>\n </div>\n</div>\n", styles: ["#tooltip-container{position:absolute;z-index:1}#tooltip{position:relative;display:block;padding:8px 12px;border-radius:8px;color:#fff;background:#181f33;font-family:Lato,sans-serif;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px}#tooltip-text{width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#arrow{position:absolute;height:12px;width:12px;background:#181f33;z-index:1}.arrow-top{left:50%;bottom:-6px;transform:translate(-50%) rotate(-45deg);-webkit-transform:translateX(-50%) rotate(-45deg)}.arrow-bottom{left:50%;top:-6px;transform:translate(-50%) rotate(-45deg);-webkit-transform:translateX(-50%) rotate(-45deg)}.arrow-left{top:50%;right:-6px;transform:translateY(-50%) rotate(-45deg);-webkit-transform:translateY(-50%) rotate(-45deg)}.arrow-right{top:50%;left:-6px;transform:translateY(-50%) rotate(-45deg);-webkit-transform:translateY(-50%) rotate(-45deg)}\n"] }]
73
+ args: [{ selector: "mis-tooltip", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"tooltip-container\" *ngIf=\"toolTipText().length > 0 || templateRef\" #container>\n <div id=\"tooltip\">\n <div *ngIf=\"templateRef; else tooltipText\">\n <ng-container *ngTemplateOutlet=\"templateRef; context: {$implicit: templateContext}\"></ng-container>\n </div>\n\n <ng-template #tooltipText>\n <div id=\"tooltip-text\" [innerHTML]=\"toolTipText()\" \n [ngStyle]=\"{'text-align' : toolTipTextAlignment() ? toolTipTextAlignment() : '' }\"></div>\n </ng-template>\n\n <span\n id=\"arrow\"\n [ngClass]=\"{\n 'arrow-left': toolTipPosition() === 'left',\n 'arrow-right': toolTipPosition() === 'right',\n 'arrow-top': toolTipPosition() === 'top',\n 'arrow-bottom': toolTipPosition() === 'bottom'\n }\"\n ></span>\n </div>\n</div>\n", styles: ["#tooltip-container{position:absolute;z-index:1}#tooltip{position:relative;display:block;padding:8px 12px;border-radius:8px;color:#fff;background:#181f33;font-family:Lato,sans-serif;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px}#tooltip-text{width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#arrow{position:absolute;height:12px;width:12px;background:#181f33;z-index:1}.arrow-top{left:50%;bottom:-6px;transform:translate(-50%) rotate(-45deg);-webkit-transform:translateX(-50%) rotate(-45deg)}.arrow-bottom{left:50%;top:-6px;transform:translate(-50%) rotate(-45deg);-webkit-transform:translateX(-50%) rotate(-45deg)}.arrow-left{top:50%;right:-6px;transform:translateY(-50%) rotate(-45deg);-webkit-transform:translateY(-50%) rotate(-45deg)}.arrow-right{top:50%;left:-6px;transform:translateY(-50%) rotate(-45deg);-webkit-transform:translateY(-50%) rotate(-45deg)}\n"] }]
74
74
  }], () => [], { container: [{
75
75
  type: ViewChild,
76
76
  args: ["container"]
77
77
  }] }); })();
78
78
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ToolTipComponent, { className: "ToolTipComponent" }); })();
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAtY29udGFpbmVyL3Rvb2x0aXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLWNvbnRhaW5lci90b29sdGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUEyQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0lDR3ZHLHdCQUFvRzs7O0lBRHRHLDJCQUEyQztJQUN6QywrRkFBcUY7SUFDdkYsaUJBQU07OztJQURXLGNBQStCO0lBQUEsQUFBL0IscURBQStCLCtFQUFxQzs7O0lBSW5GLHlCQUMwRjs7O0lBQXJGLEFBRGtCLGlFQUF5Qix1R0FDbUM7OztJQVB2RixBQURGLGlDQUFxRixhQUNqRTtJQUtoQixBQUpBLHVFQUEyQywyR0FJakI7SUFLMUIsMEJBUVE7SUFFWixBQURFLGlCQUFNLEVBQ0Y7Ozs7SUFuQkksZUFBbUI7SUFBQSxBQUFuQix5Q0FBbUIsNEJBQWdCO0lBV3ZDLGVBS0U7SUFMRixrTUFLRTs7QURWUixNQUFNLE9BQU8sZ0JBQWdCO0lBUzNCO1FBUk8sZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsb0JBQWUsR0FBc0IsUUFBUSxDQUFDO1FBQzlDLHlCQUFvQixHQUFXLEVBQUUsQ0FBQztJQU0xQixDQUFDO0lBQ2hCLFFBQVEsS0FBSSxDQUFDO0lBQ2IsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGFBQWE7WUFBRSxPQUFPO1FBQzNDLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN4RSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3RFLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDckUsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUN0RSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbkUsQ0FBQztJQUNILENBQUM7aUhBdEJVLGdCQUFnQjtvRUFBaEIsZ0JBQWdCOzs7Ozs7WUNSN0IsaUVBQXFGOztZQUF4RCxvRUFBMkM7OztpRkRRM0QsZ0JBQWdCO2NBTDVCLFNBQVM7MkJBQ0UsYUFBYTtvQkFXQyxTQUFTO2tCQUFoQyxTQUFTO21CQUFDLFdBQVc7O2tGQVBYLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSVRvb2x0aXBQb3NpdGlvbnMgfSBmcm9tIFwiLi4vbW9kZWxzL3Rvb2x0aXAubW9kZWxcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy10b29sdGlwXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vdG9vbHRpcC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vdG9vbHRpcC5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBUb29sVGlwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgcHVibGljIHRvb2xUaXBUZXh0OiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgdG9vbFRpcFBvc2l0aW9uOiBJVG9vbHRpcFBvc2l0aW9ucyA9IFwiYm90dG9tXCI7XG4gIHB1YmxpYyB0b29sVGlwVGV4dEFsaWdubWVudDogc3RyaW5nID0gXCJcIjtcbiAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT5cbiAgdGVtcGxhdGVDb250ZXh0OiBhbnk7XG5cbiAgQFZpZXdDaGlsZChcImNvbnRhaW5lclwiKSBjb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuICBuZ09uSW5pdCgpIHt9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuY29udGFpbmVyPy5uYXRpdmVFbGVtZW50KSByZXR1cm47XG4gICAgaWYgKHRoaXMudG9vbFRpcFBvc2l0aW9uID09PSBcInRvcFwiIHx8IHRoaXMudG9vbFRpcFBvc2l0aW9uID09PSBcImJvdHRvbVwiKSB7XG4gICAgICBjb25zdCBlbGVXaWR0aCA9IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSBlbGVXaWR0aC53aWR0aCAvIC0yICsgXCJweFwiO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy50b29sVGlwUG9zaXRpb24gPT09IFwibGVmdFwiKSB7XG4gICAgICBjb25zdCBlbGVXaWR0aCA9IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSAtZWxlV2lkdGgud2lkdGggKyBcInB4XCI7XG4gICAgfVxuICB9XG59XG5cbiIsIjxkaXYgaWQ9XCJ0b29sdGlwLWNvbnRhaW5lclwiICpuZ0lmPVwidG9vbFRpcFRleHQubGVuZ3RoID4gMCB8fCB0ZW1wbGF0ZVJlZlwiICNjb250YWluZXI+XG4gIDxkaXYgaWQ9XCJ0b29sdGlwXCI+XG4gICAgPGRpdiAqbmdJZj1cInRlbXBsYXRlUmVmOyBlbHNlIHRvb2x0aXBUZXh0XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVSZWY7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHRlbXBsYXRlQ29udGV4dH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjdG9vbHRpcFRleHQ+XG4gICAgICA8ZGl2IGlkPVwidG9vbHRpcC10ZXh0XCIgW2lubmVySFRNTF09XCJ0b29sVGlwVGV4dFwiIFxuICAgICAgICAgICBbbmdTdHlsZV09XCJ7J3RleHQtYWxpZ24nIDogdG9vbFRpcFRleHRBbGlnbm1lbnQgPyB0b29sVGlwVGV4dEFsaWdubWVudCA6ICcnIH1cIj48L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPHNwYW5cbiAgICAgIGlkPVwiYXJyb3dcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnYXJyb3ctbGVmdCc6IHRvb2xUaXBQb3NpdGlvbiA9PT0gJ2xlZnQnLFxuICAgICAgICAnYXJyb3ctcmlnaHQnOiB0b29sVGlwUG9zaXRpb24gPT09ICdyaWdodCcsXG4gICAgICAgICdhcnJvdy10b3AnOiB0b29sVGlwUG9zaXRpb24gPT09ICd0b3AnLFxuICAgICAgICAnYXJyb3ctYm90dG9tJzogdG9vbFRpcFBvc2l0aW9uID09PSAnYm90dG9tJ1xuICAgICAgfVwiXG4gICAgPjwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAtY29udGFpbmVyL3Rvb2x0aXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLWNvbnRhaW5lci90b29sdGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUEyQyxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFrQixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7SUNHeEosd0JBQW9HOzs7SUFEdEcsMkJBQTJDO0lBQ3pDLCtGQUFxRjtJQUN2RixpQkFBTTs7O0lBRFcsY0FBK0I7SUFBQSxBQUEvQixxREFBK0IsK0VBQXFDOzs7SUFJbkYseUJBQzhGOzs7SUFBekYsQUFEa0IsbUVBQTJCLDJHQUNxQzs7O0lBUDNGLEFBREYsaUNBQXVGLGFBQ25FO0lBS2hCLEFBSkEsdUVBQTJDLDJHQUlqQjtJQUsxQiwwQkFRUTtJQUVaLEFBREUsaUJBQU0sRUFDRjs7OztJQW5CSSxlQUFtQjtJQUFBLEFBQW5CLHlDQUFtQiw0QkFBZ0I7SUFXdkMsZUFLRTtJQUxGLDBNQUtFOztBRFRSLE1BQU0sT0FBTyxnQkFBZ0I7SUFTM0I7UUFSTyxnQkFBVyxHQUEyQixNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakQsb0JBQWUsR0FBc0MsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RFLHlCQUFvQixHQUEyQixNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFNbEQsQ0FBQztJQUNoQixRQUFRLEtBQUksQ0FBQztJQUNiLGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhO1lBQUUsT0FBTztRQUMzQyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzVFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDdEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNyRSxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3RDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDdEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ25FLENBQUM7SUFDSCxDQUFDO2lIQXRCVSxnQkFBZ0I7b0VBQWhCLGdCQUFnQjs7Ozs7O1lDVDdCLGlFQUF1Rjs7WUFBMUQsc0VBQTZDOzs7aUZEUzdELGdCQUFnQjtjQU41QixTQUFTOzJCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTTtvQkFTdkIsU0FBUztrQkFBaEMsU0FBUzttQkFBQyxXQUFXOztrRkFQWCxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJVG9vbHRpcFBvc2l0aW9ucyB9IGZyb20gXCIuLi9tb2RlbHMvdG9vbHRpcC5tb2RlbFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLXRvb2x0aXBcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90b29sdGlwLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi90b29sdGlwLmNvbXBvbmVudC5zY3NzXCJdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUb29sVGlwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgcHVibGljIHRvb2xUaXBUZXh0OiBXcml0YWJsZVNpZ25hbDxzdHJpbmc+ID0gc2lnbmFsKFwiXCIpO1xuICBwdWJsaWMgdG9vbFRpcFBvc2l0aW9uOiBXcml0YWJsZVNpZ25hbDxJVG9vbHRpcFBvc2l0aW9ucz4gPSBzaWduYWwoXCJib3R0b21cIik7XG4gIHB1YmxpYyB0b29sVGlwVGV4dEFsaWdubWVudDogV3JpdGFibGVTaWduYWw8c3RyaW5nPiA9IHNpZ25hbChcIlwiKTtcbiAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT5cbiAgdGVtcGxhdGVDb250ZXh0OiBhbnk7XG5cbiAgQFZpZXdDaGlsZChcImNvbnRhaW5lclwiKSBjb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuICBuZ09uSW5pdCgpIHt9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuY29udGFpbmVyPy5uYXRpdmVFbGVtZW50KSByZXR1cm47XG4gICAgaWYgKHRoaXMudG9vbFRpcFBvc2l0aW9uKCkgPT09IFwidG9wXCIgfHwgdGhpcy50b29sVGlwUG9zaXRpb24oKSA9PT0gXCJib3R0b21cIikge1xuICAgICAgY29uc3QgZWxlV2lkdGggPSB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gZWxlV2lkdGgud2lkdGggLyAtMiArIFwicHhcIjtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMudG9vbFRpcFBvc2l0aW9uKCkgPT09IFwibGVmdFwiKSB7XG4gICAgICBjb25zdCBlbGVXaWR0aCA9IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSAtZWxlV2lkdGgud2lkdGggKyBcInB4XCI7XG4gICAgfVxuICB9XG59XG5cbiIsIjxkaXYgaWQ9XCJ0b29sdGlwLWNvbnRhaW5lclwiICpuZ0lmPVwidG9vbFRpcFRleHQoKS5sZW5ndGggPiAwIHx8IHRlbXBsYXRlUmVmXCIgI2NvbnRhaW5lcj5cbiAgPGRpdiBpZD1cInRvb2x0aXBcIj5cbiAgICA8ZGl2ICpuZ0lmPVwidGVtcGxhdGVSZWY7IGVsc2UgdG9vbHRpcFRleHRcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZVJlZjsgY29udGV4dDogeyRpbXBsaWNpdDogdGVtcGxhdGVDb250ZXh0fVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLXRlbXBsYXRlICN0b29sdGlwVGV4dD5cbiAgICAgIDxkaXYgaWQ9XCJ0b29sdGlwLXRleHRcIiBbaW5uZXJIVE1MXT1cInRvb2xUaXBUZXh0KClcIiBcbiAgICAgICAgICAgW25nU3R5bGVdPVwieyd0ZXh0LWFsaWduJyA6IHRvb2xUaXBUZXh0QWxpZ25tZW50KCkgPyB0b29sVGlwVGV4dEFsaWdubWVudCgpIDogJycgfVwiPjwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8c3BhblxuICAgICAgaWQ9XCJhcnJvd1wiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdhcnJvdy1sZWZ0JzogdG9vbFRpcFBvc2l0aW9uKCkgPT09ICdsZWZ0JyxcbiAgICAgICAgJ2Fycm93LXJpZ2h0JzogdG9vbFRpcFBvc2l0aW9uKCkgPT09ICdyaWdodCcsXG4gICAgICAgICdhcnJvdy10b3AnOiB0b29sVGlwUG9zaXRpb24oKSA9PT0gJ3RvcCcsXG4gICAgICAgICdhcnJvdy1ib3R0b20nOiB0b29sVGlwUG9zaXRpb24oKSA9PT0gJ2JvdHRvbSdcbiAgICAgIH1cIlxuICAgID48L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -75,9 +75,9 @@ export class ToolTipDirective {
75
75
  const tooltipRef = this.overlayRef.attach(tempRef);
76
76
  tooltipRef.instance.templateRef = this.templateRef;
77
77
  tooltipRef.instance.templateContext = this.templateContext;
78
- tooltipRef.instance.toolTipText = this.toolTipText;
79
- tooltipRef.instance.toolTipPosition = this.toolTipPosition;
80
- tooltipRef.instance.toolTipTextAlignment = this.toolTipTextAlignment;
78
+ tooltipRef.instance.toolTipText.set(this.toolTipText);
79
+ tooltipRef.instance.toolTipPosition.set(this.toolTipPosition);
80
+ tooltipRef.instance.toolTipTextAlignment.set(this.toolTipTextAlignment);
81
81
  this.overlayRef
82
82
  .backdropClick()
83
83
  .pipe(take(1))
@@ -140,4 +140,4 @@ export class ToolTipDirective {
140
140
  type: HostListener,
141
141
  args: ["mouseleave"]
142
142
  }] }); })();
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXlDLE1BQU0sZUFBZSxDQUFDO0FBQ2pJLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFNbkUsTUFBTSxPQUFPLGdCQUFnQjtJQVUzQixJQUFhLFdBQVcsQ0FBQyxLQUFjO1FBQ3JDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxLQUFLO1lBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDOztZQUM1QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQWEsSUFBSSxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQWEsUUFBUSxDQUFDLEtBQXdCO1FBQzVDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFhLFNBQVMsQ0FBQyxLQUFhO1FBQ2xDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUNELElBQWEsZUFBZSxDQUFDLEtBQXVCO1FBQ2xELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFD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QUFDO2lIQTFHVSxnQkFBZ0I7b0VBQWhCLGdCQUFnQjtZQUFoQiwrRkFBQSxrQkFBYyxJQUFFLGtGQUFoQixrQkFBYyxJQUFFOzs7aUZBQWhCLGdCQUFnQjtjQUg1QixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7YUFDekI7Z0dBVVUsV0FBVztrQkFBbkIsS0FBSztZQUNPLFdBQVc7a0JBQXZCLEtBQUs7WUFLTyxJQUFJO2tCQUFoQixLQUFLO1lBR08sUUFBUTtrQkFBcEIsS0FBSztZQUdPLFNBQVM7a0JBQXJCLEtBQUs7WUFHTyxlQUFlO2tCQUEzQixLQUFLO1lBR08sc0JBQXNCO2tCQUFsQyxLQUFLO1lBSXNCLFlBQVk7a0JBQXZDLFlBQVk7bUJBQUMsWUFBWTtZQUdFLFlBQVk7a0JBQXZDLFlBQVk7bUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgVG9vbFRpcENvbXBvbmVudCB9IGZyb20gXCIuL3Rvb2x0aXAtY29udGFpbmVyL3Rvb2x0aXAuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBnZW5Qb3NpdGlvblBhaXJzIH0gZnJvbSBcIm1pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0vdXRpbHNcIjtcbmltcG9ydCB7IElUb29sdGlwUG9zaXRpb25zIH0gZnJvbSBcIi4vbW9kZWxzL3Rvb2x0aXAubW9kZWxcIjtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIlttaXNUb29sVGlwXVwiXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xUaXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBwdWJsaWMgaXNUb29sVGlwRGlzcGxheWVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyB0b29sVGlwVGV4dDogc3RyaW5nID0gXCJcIjtcbiAgcHVibGljIHRvb2xUaXBUZXh0QWxpZ25tZW50OiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgdG9vbFRpcFBvc2l0aW9uOiBJVG9vbHRpcFBvc2l0aW9ucyA9IFwiYm90dG9tXCI7XG4gIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHJpdmF0ZSB0ZW1wbGF0ZUNvbnRleHQ6IGFueTtcblxuICBASW5wdXQoKSBzaG93T25Ib3ZlcjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNldCBzaG93VG9vbFRpcCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuaXNUb29sVGlwRGlzcGxheWVkID0gdmFsdWU7XG4gICAgaWYgKHZhbHVlKSB0aGlzLmRpc3BsYXlUb29sVGlwKCk7XG4gICAgZWxzZSB0aGlzLmhpZGVUb29sVGlwKCk7XG4gIH1cbiAgQElucHV0KCkgc2V0IHRleHQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudG9vbFRpcFRleHQgPSB2YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBzZXQgcG9zaXRpb24odmFsdWU6IElUb29sdGlwUG9zaXRpb25zKSB7XG4gICAgdGhpcy50b29sVGlwUG9zaXRpb24gPSB2YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBzZXQgYWxpZ25UZXh0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRvb2xUaXBUZXh0QWxpZ25tZW50ID0gdmFsdWU7XG4gIH1cbiAgQElucHV0KCkgc2V0IHRvb2x0aXBUZW1wbGF0ZSh2YWx1ZTogVGVtcGxhdGVSZWY8YW55Pil7XG4gICAgdGhpcy50ZW1wbGF0ZVJlZiA9IHZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHNldCB0b29sdGlwVGVtcGxhdGVDb250ZXh0KHZhbHVlOiBhbnkpe1xuICAgIHRoaXMudGVtcGxhdGVDb250ZXh0ID0gdmFsdWU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKFwibW91c2VlbnRlclwiKSBvbk1vdXNlRW50ZXIoKSB7XG4gICAgaWYgKHRoaXMuc2hvd09uSG92ZXIpIHRoaXMuZGlzcGxheVRvb2xUaXAoKTtcbiAgfVxuICBASG9zdExpc3RlbmVyKFwibW91c2VsZWF2ZVwiKSBvbk1vdXNlTGVhdmUoKSB7XG4gICAgaWYgKHRoaXMuc2hvd09uSG92ZXIpIHRoaXMuaGlkZVRvb2xUaXAoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZiwgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuaXNUb29sVGlwRGlzcGxheWVkKSB0aGlzLmRpc3BsYXlUb29sVGlwKCk7XG4gICAgZWxzZSB0aGlzLmhpZGVUb29sVGlwKCk7XG4gIH1cblxuICBkaXNwbGF5VG9vbFRpcCgpIHtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50KVxuICAgICAgLndpdGhQb3NpdGlvbnMoXG4gICAgICAgIGdlblBvc2l0aW9uUGFpcnMoXG4gICAgICAgICAge1xuICAgICAgICAgICAgcG9zaXRpb25YOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgcG9zaXRpb25ZOiB0aGlzLnRvb2xUaXBQb3NpdGlvbiA9PT0gXCJ0b3BcIiA/IFwidG9wXCIgOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgb2Zmc2V0WDogdGhpcy5wb3NpdGlvblRvb2x0aXAoXCJPRkZTRVRfWFwiKSxcbiAgICAgICAgICAgIG9mZnNldFk6IHRoaXMucG9zaXRpb25Ub29sdGlwKFwiT0ZGU0VUX1lcIilcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhbHNlXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC53aXRoUHVzaCh0cnVlKTtcbiAgICBjb25zdCBjb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICAgIH0pO1xuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlnKTtcbiAgICBjb25zdCB0ZW1wUmVmID0gbmV3IENvbXBvbmVudFBvcnRhbChUb29sVGlwQ29tcG9uZW50LCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgIGNvbnN0IHRvb2x0aXBSZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRlbXBSZWYpO1xuICAgIHRvb2x0aXBSZWYuaW5zdGFuY2UudGVtcGxhdGVSZWYgPSB0aGlzLnRlbXBsYXRlUmVmO1xuICAgIHRvb2x0aXBSZWYuaW5zdGFuY2UudGVtcGxhdGVDb250ZXh0ID0gdGhpcy50ZW1wbGF0ZUNvbnRleHQ7XG4gICAgdG9vbHRpcFJlZi5pbnN0YW5jZS50b29sVGlwVGV4dCA9IHRoaXMudG9vbFRpcFRleHQ7XG4gICAgdG9vbHRpcFJlZi5pbnN0YW5jZS50b29sVGlwUG9zaXRpb24gPSB0aGlzLnRvb2xUaXBQb3NpdGlvbjtcbiAgICB0b29sdGlwUmVmLmluc3RhbmNlLnRvb2xUaXBUZXh0QWxpZ25tZW50ID0gdGhpcy50b29sVGlwVGV4dEFsaWdubWVudDtcbiAgICB0aGlzLm92ZXJsYXlSZWZcbiAgICAgIC5iYWNrZHJvcENsaWNrKClcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5oaWRlVG9vbFRpcCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwb3NpdGlvblRvb2x0aXAodHlwZTogXCJPRkZTRVRfWFwiIHwgXCJPRkZTRVRfWVwiKSB7XG4gICAgaWYgKHR5cGUgPT09IFwiT0ZGU0VUX1hcIikge1xuICAgICAgcmV0dXJuIHRoaXMudG9vbFRpcFBvc2l0aW9uID09PSBcInJpZ2h0XCJcbiAgICAgICAgPyB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAvIDIgKyA4XG4gICAgICAgIDogdGhpcy50b29sVGlwUG9zaXRpb24gPT09IFwibGVmdFwiXG4gICAgICAgID8gKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC8gMiArIDgpICogLTFcbiAgICAgICAgOiB0aGlzLnRvb2xUaXBQb3NpdGlvbiA9PT0gXCJ0b3BcIiB8fCB0aGlzLnRvb2xUaXBQb3NpdGlvbiA9PT0gXCJib3R0b21cIlxuICAgICAgICA/IDBcbiAgICAgICAgOiA4O1xuICAgIH1cbiAgICBpZiAodHlwZSAhPT0gXCJPRkZTRVRfWVwiKSByZXR1cm47XG4gICAgcmV0dXJuIHRoaXMudG9vbFRpcFBvc2l0aW9uID09PSBcInJpZ2h0XCIgfHwgdGhpcy50b29sVGlwUG9zaXRpb24gPT09IFwibGVmdFwiXG4gICAgICA/IC0xOFxuICAgICAgOiB0aGlzLnRvb2xUaXBQb3NpdGlvbiA9PT0gXCJ0b3BcIlxuICAgICAgPyAtNDRcbiAgICAgIDogdGhpcy50b29sVGlwUG9zaXRpb24gPT09IFwiYm90dG9tXCJcbiAgICAgID8gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMiArIDhcbiAgICAgIDogODtcbiAgfVxuXG4gIGhpZGVUb29sVGlwKCkge1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gIH1cbn1cblxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXlDLE1BQU0sZUFBZSxDQUFDO0FBQ2pJLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFNbkUsTUFBTSxPQUFPLGdCQUFnQjtJQVUzQixJQUFhLFdBQVcsQ0FBQyxLQUFjO1FBQ3JDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxLQUFLO1lBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDOztZQUM1QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQWEsSUFBSSxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQWEsUUFBUSxDQUFDLEtBQXdCO1FBQzVDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFhLFNBQVMsQ0FBQyxLQUFhO1FBQ2xDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUNELElBQWEsZUFBZSxDQUFDLEtBQXVCO1FBQ2xELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFD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MUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO2lIQTFHVSxnQkFBZ0I7b0VBQWhCLGdCQUFnQjtZQUFoQiwrRkFBQSxrQkFBYyxJQUFFLGtGQUFoQixrQkFBYyxJQUFFOzs7aUZBQWhCLGdCQUFnQjtjQUg1QixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7YUFDekI7Z0dBVVUsV0FBVztrQkFBbkIsS0FBSztZQUNPLFdBQVc7a0JBQXZCLEtBQUs7WUFLTyxJQUFJO2tCQUFoQixLQUFLO1lBR08sUUFBUTtrQkFBcEIsS0FBSztZQUdPLFNBQVM7a0JBQXJCLEtBQUs7WUFHTyxlQUFlO2tCQUEzQixLQUFLO1lBR08sc0JBQXNCO2tCQUFsQyxLQUFLO1lBSXNCLFlBQVk7a0JBQXZDLFlBQVk7bUJBQUMsWUFBWTtZQUdFLFlBQVk7a0JBQXZDLFlBQVk7bUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgVG9vbFRpcENvbXBvbmVudCB9IGZyb20gXCIuL3Rvb2x0aXAtY29udGFpbmVyL3Rvb2x0aXAuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBnZW5Qb3NpdGlvblBhaXJzIH0gZnJvbSBcIm1pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0vdXRpbHNcIjtcbmltcG9ydCB7IElUb29sdGlwUG9zaXRpb25zIH0gZnJvbSBcIi4vbW9kZWxzL3Rvb2x0aXAubW9kZWxcIjtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIlttaXNUb29sVGlwXVwiXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xUaXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBwdWJsaWMgaXNUb29sVGlwRGlzcGxheWVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyB0b29sVGlwVGV4dDogc3RyaW5nID0gXCJcIjtcbiAgcHVibGljIHRvb2xUaXBUZXh0QWxpZ25tZW50OiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgdG9vbFRpcFBvc2l0aW9uOiBJVG9vbHRpcFBvc2l0aW9ucyA9IFwiYm90dG9tXCI7XG4gIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHJpdmF0ZSB0ZW1wbGF0ZUNvbnRleHQ6IGFueTtcblxuICBASW5wdXQoKSBzaG93T25Ib3ZlcjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNldCBzaG93VG9vbFRpcCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuaXNUb29sVGlwRGlzcGxheWVkID0gdmFsdWU7XG4gICAgaWYgKHZhbHVlKSB0aGlzLmRpc3BsYXlUb29sVGlwKCk7XG4gICAgZWxzZSB0aGlzLmhpZGVUb29sVGlwKCk7XG4gIH1cbiAgQElucHV0KCkgc2V0IHRleHQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudG9vbFRpcFRleHQgPSB2YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBzZXQgcG9zaXRpb24odmFsdWU6IElUb29sdGlwUG9zaXRpb25zKSB7XG4gICAgdGhpcy50b29sVGlwUG9zaXRpb24gPSB2YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBzZXQgYWxpZ25UZXh0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRvb2xUaXBUZXh0QWxpZ25tZW50ID0gdmFsdWU7XG4gIH1cbiAgQElucHV0KCkgc2V0IHRvb2x0aXBUZW1wbGF0ZSh2YWx1ZTogVGVtcGxhdGVSZWY8YW55Pil7XG4gICAgdGhpcy50ZW1wbGF0ZVJlZiA9IHZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHNldCB0b29sdGlwVGVtcGxhdGVDb250ZXh0KHZhbHVlOiBhbnkpe1xuICAgIHRoaXMudGVtcGxhdGVDb250ZXh0ID0gdmFsdWU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKFwibW91c2VlbnRlclwiKSBvbk1vdXNlRW50ZXIoKSB7XG4gICAgaWYgKHRoaXMuc2hvd09uSG92ZXIpIHRoaXMuZGlzcGxheVRvb2xUaXAoKTtcbiAgfVxuICBASG9zdExpc3RlbmVyKFwibW91c2VsZWF2ZVwiKSBvbk1vdXNlTGVhdmUoKSB7XG4gICAgaWYgKHRoaXMuc2hvd09uSG92ZXIpIHRoaXMuaGlkZVRvb2xUaXAoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZiwgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuaXNUb29sVGlwRGlzcGxheWVkKSB0aGlzLmRpc3BsYXlUb29sVGlwKCk7XG4gICAgZWxzZSB0aGlzLmhpZGVUb29sVGlwKCk7XG4gIH1cblxuICBkaXNwbGF5VG9vbFRpcCgpIHtcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50KVxuICAgICAgLndpdGhQb3NpdGlvbnMoXG4gICAgICAgIGdlblBvc2l0aW9uUGFpcnMoXG4gICAgICAgICAge1xuICAgICAgICAgICAgcG9zaXRpb25YOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgcG9zaXRpb25ZOiB0aGlzLnRvb2xUaXBQb3NpdGlvbiA9PT0gXCJ0b3BcIiA/IFwidG9wXCIgOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgb2Zmc2V0WDogdGhpcy5wb3NpdGlvblRvb2x0aXAoXCJPRkZTRVRfWFwiKSxcbiAgICAgICAgICAgIG9mZnNldFk6IHRoaXMucG9zaXRpb25Ub29sdGlwKFwiT0ZGU0VUX1lcIilcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhbHNlXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC53aXRoUHVzaCh0cnVlKTtcbiAgICBjb25zdCBjb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICAgIH0pO1xuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlnKTtcbiAgICBjb25zdCB0ZW1wUmVmID0gbmV3IENvbXBvbmVudFBvcnRhbChUb29sVGlwQ29tcG9uZW50LCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgIGNvbnN0IHRvb2x0aXBSZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRlbXBSZWYpO1xuICAgIHRvb2x0aXBSZWYuaW5zdGFuY2UudGVtcGxhdGVSZWYgPSB0aGlzLnRlbXBsYXRlUmVmO1xuICAgIHRvb2x0aXBSZWYuaW5zdGFuY2UudGVtcGxhdGVDb250ZXh0ID0gdGhpcy50ZW1wbGF0ZUNvbnRleHQ7XG4gICAgdG9vbHRpcFJlZi5pbnN0YW5jZS50b29sVGlwVGV4dC5zZXQodGhpcy50b29sVGlwVGV4dCk7XG4gICAgdG9vbHRpcFJlZi5pbnN0YW5jZS50b29sVGlwUG9zaXRpb24uc2V0KHRoaXMudG9vbFRpcFBvc2l0aW9uKTtcbiAgICB0b29sdGlwUmVmLmluc3RhbmNlLnRvb2xUaXBUZXh0QWxpZ25tZW50LnNldCh0aGlzLnRvb2xUaXBUZXh0QWxpZ25tZW50KTtcbiAgICB0aGlzLm92ZXJsYXlSZWZcbiAgICAgIC5iYWNrZHJvcENsaWNrKClcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5oaWRlVG9vbFRpcCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwb3NpdGlvblRvb2x0aXAodHlwZTogXCJPRkZTRVRfWFwiIHwgXCJPRkZTRVRfWVwiKSB7XG4gICAgaWYgKHR5cGUgPT09IFwiT0ZGU0VUX1hcIikge1xuICAgICAgcmV0dXJuIHRoaXMudG9vbFRpcFBvc2l0aW9uID09PSBcInJpZ2h0XCJcbiAgICAgICAgPyB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAvIDIgKyA4XG4gICAgICAgIDogdGhpcy50b29sVGlwUG9zaXRpb24gPT09IFwibGVmdFwiXG4gICAgICAgID8gKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC8gMiArIDgpICogLTFcbiAgICAgICAgOiB0aGlzLnRvb2xUaXBQb3NpdGlvbiA9PT0gXCJ0b3BcIiB8fCB0aGlzLnRvb2xUaXBQb3NpdGlvbiA9PT0gXCJib3R0b21cIlxuICAgICAgICA/IDBcbiAgICAgICAgOiA4O1xuICAgIH1cbiAgICBpZiAodHlwZSAhPT0gXCJPRkZTRVRfWVwiKSByZXR1cm47XG4gICAgcmV0dXJuIHRoaXMudG9vbFRpcFBvc2l0aW9uID09PSBcInJpZ2h0XCIgfHwgdGhpcy50b29sVGlwUG9zaXRpb24gPT09IFwibGVmdFwiXG4gICAgICA/IC0xOFxuICAgICAgOiB0aGlzLnRvb2xUaXBQb3NpdGlvbiA9PT0gXCJ0b3BcIlxuICAgICAgPyAtNDRcbiAgICAgIDogdGhpcy50b29sVGlwUG9zaXRpb24gPT09IFwiYm90dG9tXCJcbiAgICAgID8gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMiArIDhcbiAgICAgIDogODtcbiAgfVxuXG4gIGhpZGVUb29sVGlwKCkge1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gIH1cbn1cblxuIl19
@@ -1,4 +1,4 @@
1
- import { Component, ContentChild, EventEmitter, Input, Output, ViewChild } from "@angular/core";
1
+ import { Component, ContentChild, EventEmitter, Output, ViewChild, ChangeDetectionStrategy, input, signal, effect } from "@angular/core";
2
2
  import { CdkVirtualScrollViewport } from "@angular/cdk/scrolling";
3
3
  import { BehaviorSubject, of } from "rxjs";
4
4
  import { catchError, mergeMap, scan, tap, throttleTime } from "rxjs/operators";
@@ -43,11 +43,11 @@ function VirtualScrollComponent_ng_container_2_cdk_virtual_scroll_viewport_1_Tem
43
43
  } if (rf & 2) {
44
44
  const data_r2 = i0.ɵɵnextContext().ngIf;
45
45
  const ctx_r2 = i0.ɵɵnextContext();
46
- i0.ɵɵproperty("minBufferPx", ctx_r2.config.minBufferPx)("maxBufferPx", ctx_r2.config.maxBufferPx)("itemSize", ctx_r2.config.rowHeight);
46
+ i0.ɵɵproperty("minBufferPx", ctx_r2.config().minBufferPx)("maxBufferPx", ctx_r2.config().maxBufferPx)("itemSize", ctx_r2.config().rowHeight);
47
47
  i0.ɵɵadvance(2);
48
48
  i0.ɵɵproperty("cdkVirtualForOf", data_r2);
49
49
  i0.ɵɵadvance();
50
- i0.ɵɵproperty("ngIf", ctx_r2.rowsLoading);
50
+ i0.ɵɵproperty("ngIf", ctx_r2.rowsLoading());
51
51
  } }
52
52
  function VirtualScrollComponent_ng_container_2_Template(rf, ctx) { if (rf & 1) {
53
53
  i0.ɵɵelementContainerStart(0);
@@ -56,94 +56,95 @@ function VirtualScrollComponent_ng_container_2_Template(rf, ctx) { if (rf & 1) {
56
56
  } if (rf & 2) {
57
57
  const ctx_r2 = i0.ɵɵnextContext();
58
58
  i0.ɵɵadvance();
59
- i0.ɵɵproperty("ngIf", !ctx_r2.loading && !ctx_r2.error);
59
+ i0.ɵɵproperty("ngIf", !ctx_r2.loading() && !ctx_r2.error());
60
60
  } }
61
61
  export class VirtualScrollComponent {
62
62
  constructor(changeDetectorRef) {
63
63
  this.changeDetectorRef = changeDetectorRef;
64
- // Infinite scroll related variables
65
- this.offset = new BehaviorSubject(null);
66
- this.endOfInfiniteData = false;
67
- this.rowsLoading = false;
68
- // Main state managing variables
69
- this.loading = false;
70
- this.error = false;
71
- this.config = {
64
+ // Input signals
65
+ this.config = input({
72
66
  minBufferPx: 2400,
73
67
  maxBufferPx: 2400,
74
68
  rowHeight: 128,
75
69
  pageSize: 5,
76
70
  infiniteScrollDataFunction: (offset, pageSize) => of([1, 2, 3, 4, 5])
77
- };
71
+ });
72
+ // Infinite scroll related variables
73
+ this.offset = new BehaviorSubject(null);
74
+ this.endOfInfiniteData = signal(false);
75
+ this.rowsLoading = signal(false);
76
+ // Main state managing variables
77
+ this.loading = signal(false);
78
+ this.error = signal(false);
78
79
  this.intialized = new EventEmitter();
79
80
  this.switchOffInfiniteScroll = () => {
80
- this.error = false;
81
- this.loading = true;
82
- this.data$ = this.config.data$.pipe(tap(() => {
83
- this.loading = false;
84
- this.changeDetectorRef.detectChanges();
81
+ this.error.set(false);
82
+ this.loading.set(true);
83
+ this.data$ = this.config().data$.pipe(tap(() => {
84
+ this.loading.set(false);
85
+ // Removed detectChanges() - signals handle this automatically
85
86
  }), catchError(err => {
86
87
  console.error("Error: Unknown error occurred while fetching calendar data", err);
87
- this.loading = false;
88
- this.error = true;
88
+ this.loading.set(false);
89
+ this.error.set(true);
89
90
  return [];
90
91
  }));
91
92
  };
92
93
  this.switchOnInfiniteScroll = () => {
93
- this.error = false;
94
- this.loading = true;
95
- this.endOfInfiniteData = false;
94
+ this.error.set(false);
95
+ this.loading.set(true);
96
+ this.endOfInfiniteData.set(false);
96
97
  this.offset.next(0);
97
98
  this.setupInfiniteScroll();
98
99
  };
99
- }
100
- ngOnInit() {
101
- this.switchOnInfiniteScroll();
102
- this.virtualScrollApi = {
103
- toggleLoader: () => this.loading = !this.loading,
104
- toggleError: () => this.error = !this.error,
105
- switchOnInfiniteScroll: this.switchOnInfiniteScroll,
106
- switchOffInfiniteScroll: this.switchOffInfiniteScroll
107
- };
108
- this.changeDetectorRef.detectChanges();
109
- this.intialized.emit(this.virtualScrollApi);
100
+ // Initialize the component with signals
101
+ effect(() => {
102
+ this.switchOnInfiniteScroll();
103
+ this.virtualScrollApi = {
104
+ toggleLoader: () => this.loading.set(!this.loading()),
105
+ toggleError: () => this.error.set(!this.error()),
106
+ switchOnInfiniteScroll: this.switchOnInfiniteScroll,
107
+ switchOffInfiniteScroll: this.switchOffInfiniteScroll
108
+ };
109
+ // Keep this one - needed for external API emission
110
+ this.changeDetectorRef.detectChanges();
111
+ this.intialized.emit(this.virtualScrollApi);
112
+ }, { allowSignalWrites: true });
110
113
  }
111
114
  setupInfiniteScroll() {
112
115
  const batchMap = this.offset.pipe(throttleTime(500), mergeMap(offset => this.getBatch(offset)), scan((acc, batch) => {
113
116
  return [...acc, ...batch];
114
117
  }, []));
115
118
  this.data$ = batchMap.pipe(tap(data => {
116
- this.rowsLoading = false;
117
- this.loading = false;
118
- setTimeout(() => {
119
- this.changeDetectorRef.detectChanges();
120
- }, 50);
119
+ this.rowsLoading.set(false);
120
+ this.loading.set(false);
121
+ // Removed setTimeout and detectChanges() - signals handle this automatically
121
122
  }));
122
123
  }
123
124
  nextBatch(offset) {
124
- if (this.endOfInfiniteData) {
125
+ if (this.endOfInfiniteData()) {
125
126
  return;
126
127
  }
127
128
  const end = this.viewPort.getRenderedRange().end;
128
129
  const total = this.viewPort.getDataLength();
129
- offset = Math.ceil(offset / this.config.pageSize);
130
- if (end === total && !this.rowsLoading) {
130
+ offset = Math.ceil(offset / this.config().pageSize);
131
+ if (end === total && !this.rowsLoading()) {
131
132
  this.offset.next(offset);
132
133
  }
133
134
  }
134
135
  getBatch(offset) {
135
- this.rowsLoading = true;
136
+ this.rowsLoading.set(true);
136
137
  if (offset == null)
137
138
  offset = 0;
138
- return this.config
139
- .infiniteScrollDataFunction(offset, this.config.pageSize)
139
+ return this.config()
140
+ .infiniteScrollDataFunction(offset, this.config().pageSize)
140
141
  .pipe(tap((arr) => {
141
- arr.length < this.config.pageSize ? (this.endOfInfiniteData = true) : null;
142
+ arr.length < this.config().pageSize ? this.endOfInfiniteData.set(true) : null;
142
143
  }), catchError(err => {
143
144
  console.error("Error: Unknown error occurred while fetching calendar data", err);
144
- this.rowsLoading = false;
145
- this.loading = false;
146
- this.error = true;
145
+ this.rowsLoading.set(false);
146
+ this.loading.set(false);
147
+ this.error.set(true);
147
148
  return [];
148
149
  }));
149
150
  }
@@ -158,24 +159,21 @@ export class VirtualScrollComponent {
158
159
  } if (rf & 2) {
159
160
  let _t;
160
161
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.viewPort = _t.first);
161
- } }, inputs: { config: "config" }, outputs: { intialized: "intialized" }, decls: 4, vars: 5, consts: [["viewport", ""], ["class", "state-container", 4, "ngIf"], [4, "ngIf"], [1, "state-container"], [3, "minBufferPx", "maxBufferPx", "itemSize", "scrolledIndexChange", 4, "ngIf"], [3, "scrolledIndexChange", "minBufferPx", "maxBufferPx", "itemSize"], [4, "cdkVirtualFor", "cdkVirtualForOf"], ["id", "loader-container", 4, "ngIf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["id", "loader-container"]], template: function VirtualScrollComponent_Template(rf, ctx) { if (rf & 1) {
162
+ } }, inputs: { config: [1, "config"] }, outputs: { intialized: "intialized" }, decls: 4, vars: 5, consts: [["viewport", ""], ["class", "state-container", 4, "ngIf"], [4, "ngIf"], [1, "state-container"], [3, "minBufferPx", "maxBufferPx", "itemSize", "scrolledIndexChange", 4, "ngIf"], [3, "scrolledIndexChange", "minBufferPx", "maxBufferPx", "itemSize"], [4, "cdkVirtualFor", "cdkVirtualForOf"], ["id", "loader-container", 4, "ngIf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["id", "loader-container"]], template: function VirtualScrollComponent_Template(rf, ctx) { if (rf & 1) {
162
163
  i0.ɵɵtemplate(0, VirtualScrollComponent_div_0_Template, 2, 0, "div", 1)(1, VirtualScrollComponent_div_1_Template, 3, 0, "div", 1)(2, VirtualScrollComponent_ng_container_2_Template, 2, 1, "ng-container", 2);
163
164
  i0.ɵɵpipe(3, "async");
164
165
  } if (rf & 2) {
165
- i0.ɵɵproperty("ngIf", ctx.loading);
166
+ i0.ɵɵproperty("ngIf", ctx.loading());
166
167
  i0.ɵɵadvance();
167
- i0.ɵɵproperty("ngIf", !ctx.loading && ctx.error);
168
+ i0.ɵɵproperty("ngIf", !ctx.loading() && ctx.error());
168
169
  i0.ɵɵadvance();
169
170
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(3, 3, ctx.data$));
170
- } }, dependencies: [i1.NgIf, i1.NgTemplateOutlet, i2.CdkFixedSizeVirtualScroll, i2.CdkVirtualForOf, i2.CdkVirtualScrollViewport, i3.LoaderComponent, i1.AsyncPipe], styles: ["cdk-virtual-scroll-viewport[_ngcontent-%COMP%]{height:100%}#main-container[_ngcontent-%COMP%]{height:100%;width:100%}.state-container[_ngcontent-%COMP%]{height:100%;width:100%;display:flex;justify-content:center;align-items:center}#loader-container[_ngcontent-%COMP%]{width:100%;height:56px;display:flex;justify-content:center;align-items:center} #spinner{position:relative!important}"] }); }
171
+ } }, dependencies: [i1.NgIf, i1.NgTemplateOutlet, i2.CdkFixedSizeVirtualScroll, i2.CdkVirtualForOf, i2.CdkVirtualScrollViewport, i3.LoaderComponent, i1.AsyncPipe], styles: ["cdk-virtual-scroll-viewport[_ngcontent-%COMP%]{height:100%}#main-container[_ngcontent-%COMP%]{height:100%;width:100%}.state-container[_ngcontent-%COMP%]{height:100%;width:100%;display:flex;justify-content:center;align-items:center}#loader-container[_ngcontent-%COMP%]{width:100%;height:56px;display:flex;justify-content:center;align-items:center} #spinner{position:relative!important}"], changeDetection: 0 }); }
171
172
  }
172
173
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(VirtualScrollComponent, [{
173
174
  type: Component,
174
- args: [{ selector: "mis-virtual-scroll", template: "<div class=\"state-container\" *ngIf=\"loading\">\n <mis-loader></mis-loader>\n</div>\n<div class=\"state-container\" *ngIf=\"!loading && error\">\n <span>Unknown error has occurred.</span>\n</div>\n<ng-container *ngIf=\"data$ | async as data\">\n <cdk-virtual-scroll-viewport\n *ngIf=\"!loading && !error\"\n #viewport\n [minBufferPx]=\"config.minBufferPx\"\n [maxBufferPx]=\"config.maxBufferPx\"\n [itemSize]=\"this.config.rowHeight\"\n (scrolledIndexChange)=\"nextBatch(data.length)\"\n >\n <ng-container *cdkVirtualFor=\"let item of data; let i = index\">\n <ng-container\n [ngTemplateOutlet]=\"customItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\"\n ></ng-container>\n </ng-container>\n <div id=\"loader-container\" *ngIf=\"rowsLoading\">\n <mis-loader></mis-loader>\n </div>\n </cdk-virtual-scroll-viewport>\n</ng-container>", styles: ["cdk-virtual-scroll-viewport{height:100%}#main-container{height:100%;width:100%}.state-container{height:100%;width:100%;display:flex;justify-content:center;align-items:center}#loader-container{width:100%;height:56px;display:flex;justify-content:center;align-items:center}::ng-deep #spinner{position:relative!important}\n"] }]
175
- }], () => [{ type: i0.ChangeDetectorRef }], { config: [{
176
- type: Input,
177
- args: ["config"]
178
- }], viewPort: [{
175
+ args: [{ selector: "mis-virtual-scroll", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"state-container\" *ngIf=\"loading()\">\n <mis-loader></mis-loader>\n</div>\n<div class=\"state-container\" *ngIf=\"!loading() && error()\">\n <span>Unknown error has occurred.</span>\n</div>\n<ng-container *ngIf=\"data$ | async as data\">\n <cdk-virtual-scroll-viewport\n *ngIf=\"!loading() && !error()\"\n #viewport\n [minBufferPx]=\"config().minBufferPx\"\n [maxBufferPx]=\"config().maxBufferPx\"\n [itemSize]=\"config().rowHeight\"\n (scrolledIndexChange)=\"nextBatch(data.length)\"\n >\n <ng-container *cdkVirtualFor=\"let item of data; let i = index\">\n <ng-container\n [ngTemplateOutlet]=\"customItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\"\n ></ng-container>\n </ng-container>\n <div id=\"loader-container\" *ngIf=\"rowsLoading()\">\n <mis-loader></mis-loader>\n </div>\n </cdk-virtual-scroll-viewport>\n</ng-container>", styles: ["cdk-virtual-scroll-viewport{height:100%}#main-container{height:100%;width:100%}.state-container{height:100%;width:100%;display:flex;justify-content:center;align-items:center}#loader-container{width:100%;height:56px;display:flex;justify-content:center;align-items:center}::ng-deep #spinner{position:relative!important}\n"] }]
176
+ }], () => [{ type: i0.ChangeDetectorRef }], { viewPort: [{
179
177
  type: ViewChild,
180
178
  args: [CdkVirtualScrollViewport]
181
179
  }], customItem: [{
@@ -185,4 +183,4 @@ export class VirtualScrollComponent {
185
183
  type: Output
186
184
  }] }); })();
187
185
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(VirtualScrollComponent, { className: "VirtualScrollComponent" }); })();
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC1zY3JvbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFlLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztJQ0ovRSw4QkFBNkM7SUFDekMsNkJBQXlCO0lBQzdCLGlCQUFNOzs7SUFFRixBQURKLDhCQUF1RCxXQUM3QztJQUFBLDJDQUEyQjtJQUNyQyxBQURxQyxpQkFBTyxFQUN0Qzs7O0lBVUUsNkJBQWdFO0lBQzVELDJCQUdnQjs7Ozs7O0lBRmhCLGNBQStCO0lBQy9CLEFBREEsb0RBQStCLHNFQUMwQjs7O0lBRzdELDhCQUErQztJQUMzQyw2QkFBeUI7SUFDN0IsaUJBQU07Ozs7SUFoQlYseURBT0M7SUFERyxtVEFBdUIsZ0NBQXNCLEtBQUM7SUFROUMsQUFOQSxzSUFBZ0UsdUdBTWpCO0lBR25ELGlCQUE4Qjs7OztJQVoxQixBQURBLEFBREEsdURBQWtDLDBDQUNBLHFDQUNBO0lBR0ssZUFBVTtJQUFWLHlDQUFVO0lBTXJCLGNBQWlCO0lB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QUFTO21CQUFDLHdCQUF3QjtZQUVuQyxVQUFVO2tCQURULFlBQVk7bUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBRTFDLFVBQVU7a0JBQW5CLE1BQU07O2tGQXZCRSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCB9IGZyb20gXCJAYW5ndWxhci9jZGsvc2Nyb2xsaW5nXCI7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWVyZ2VNYXAsIHNjYW4sIHRhcCwgdGhyb3R0bGVUaW1lIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBJVmlydHVhbFNjcm9sbENvbmZpZyB9IGZyb20gXCIuL3ZpcnR1YWwtc2Nyb2xsLmNvbnN0YW50c1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJtaXMtdmlydHVhbC1zY3JvbGxcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3ZpcnR1YWwtc2Nyb2xsLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL3ZpcnR1YWwtc2Nyb2xsLmNvbXBvbmVudC5zY3NzXCJdLFxuICB9KVxuZXhwb3J0IGNsYXNzIFZpcnR1YWxTY3JvbGxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgLy8gSW5maW5pdGUgc2Nyb2xsIHJlbGF0ZWQgdmFyaWFibGVzXG4gICAgb2Zmc2V0ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgICBlbmRPZkluZmluaXRlRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHJvd3NMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gICAgXG4gICAgLy8gTWFpbiBzdGF0ZSBtYW5hZ2luZyB2YXJpYWJsZXNcbiAgICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2VcbiAgICBlcnJvcjogYm9vbGVhbiA9IGZhbHNlXG4gICAgXG4gICAgLy8gU2Nyb2xsIGRhdGEgcmVsYXRlZCB2YXJpYWJsZXNcbiAgICBkYXRhJDogT2JzZXJ2YWJsZTxhbnk+XG4gICAgQElucHV0KFwiY29uZmlnXCIpIGNvbmZpZzogSVZpcnR1YWxTY3JvbGxDb25maWcgPSB7XG4gICAgICAgIG1pbkJ1ZmZlclB4OiAyNDAwLFxuICAgICAgICBtYXhCdWZmZXJQeDogMjQwMCxcbiAgICAgICAgcm93SGVpZ2h0OiAxMjgsXG4gICAgICAgIHBhZ2VTaXplOiA1LFxuICAgICAgICBpbmZpbml0ZVNjcm9sbERhdGFGdW5jdGlvbjogKG9mZnNldCwgcGFnZVNpemUpID0+IG9mKFsxLDIsMyw0LDVdKVxuICAgIH07XG4gICAgQFZpZXdDaGlsZChDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQpIHZpZXdQb3J0OiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XG4gICAgQENvbnRlbnRDaGlsZChcInZpcnR1YWxTY3JvbGxJdGVtXCIsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIGN1c3RvbUl0ZW06IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICAgIEBPdXRwdXQoKSBpbnRpYWxpemVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICB2aXJ0dWFsU2Nyb2xsQXBpOiBhbnlcblxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpe31cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zd2l0Y2hPbkluZmluaXRlU2Nyb2xsKClcbiAgICAgICAgdGhpcy52aXJ0dWFsU2Nyb2xsQXBpID0ge1xuICAgICAgICAgICAgdG9nZ2xlTG9hZGVyOiAoKSA9PiB0aGlzLmxvYWRpbmcgPSAhdGhpcy5sb2FkaW5nLFxuICAgICAgICAgICAgdG9nZ2xlRXJyb3I6ICgpID0+IHRoaXMuZXJyb3IgPSAhdGhpcy5lcnJvcixcbiAgICAgICAgICAgIHN3aXRjaE9uSW5maW5pdGVTY3JvbGw6IHRoaXMuc3dpdGNoT25JbmZpbml0ZVNjcm9sbCxcbiAgICAgICAgICAgIHN3aXRjaE9mZkluZmluaXRlU2Nyb2xsOiB0aGlzLnN3aXRjaE9mZkluZmluaXRlU2Nyb2xsXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuaW50aWFsaXplZC5lbWl0KHRoaXMudmlydHVhbFNjcm9sbEFwaSlcbiAgICB9XG4gICAgc3dpdGNoT2ZmSW5maW5pdGVTY3JvbGwgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3IgPSBmYWxzZVxuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlXG4gICAgICAgIHRoaXMuZGF0YSQgPSB0aGlzLmNvbmZpZy5kYXRhJC5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3I6IFVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZmV0Y2hpbmcgY2FsZW5kYXIgZGF0YVwiLCBlcnIpO1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICB9XG4gICAgc3dpdGNoT25JbmZpbml0ZVNjcm9sbCA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5lcnJvciA9IGZhbHNlXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWVcbiAgICAgICAgdGhpcy5lbmRPZkluZmluaXRlRGF0YSA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9mZnNldC5uZXh0KDApXG4gICAgICAgIHRoaXMuc2V0dXBJbmZpbml0ZVNjcm9sbCgpXG4gICAgfVxuICAgIHNldHVwSW5maW5pdGVTY3JvbGwoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGJhdGNoTWFwID0gdGhpcy5vZmZzZXQucGlwZShcbiAgICAgICAgICB0aHJvdHRsZVRpbWUoNTAwKSxcbiAgICAgICAgICBtZXJnZU1hcChvZmZzZXQgPT4gdGhpcy5nZXRCYXRjaChvZmZzZXQpKSxcbiAgICAgICAgICBzY2FuKChhY2M6IEFycmF5PGFueT4sIGJhdGNoOiBBcnJheTxhbnk+KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gWy4uLmFjYywgLi4uYmF0Y2hdO1xuICAgICAgICAgIH0sIFtdKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmRhdGEkID0gYmF0Y2hNYXAucGlwZShcbiAgICAgICAgICAgIHRhcChkYXRhID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJvd3NMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgIH0sIDUwKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG4gICAgbmV4dEJhdGNoKG9mZnNldCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5lbmRPZkluZmluaXRlRGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVuZCA9IHRoaXMudmlld1BvcnQuZ2V0UmVuZGVyZWRSYW5nZSgpLmVuZDtcbiAgICAgICAgY29uc3QgdG90YWwgPSB0aGlzLnZpZXdQb3J0LmdldERhdGFMZW5ndGgoKTtcbiAgICAgICAgb2Zmc2V0ID0gTWF0aC5jZWlsKG9mZnNldCAvIHRoaXMuY29uZmlnLnBhZ2VTaXplKVxuICAgICAgICBpZiAoZW5kID09PSB0b3RhbCAmJiAhdGhpcy5yb3dzTG9hZGluZykge1xuICAgICAgICAgICAgdGhpcy5vZmZzZXQubmV4dChvZmZzZXQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldEJhdGNoKG9mZnNldCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHRoaXMucm93c0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICBpZiAob2Zmc2V0ID09IG51bGwpIG9mZnNldCA9IDA7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ1xuICAgICAgICAgICAgLmluZmluaXRlU2Nyb2xsRGF0YUZ1bmN0aW9uKG9mZnNldCwgdGhpcy5jb25maWcucGFnZVNpemUpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKGFycjogQXJyYXk8YW55PikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhcnIubGVuZ3RoIDwgdGhpcy5jb25maWcucGFnZVNpemUgPyAodGhpcy5lbmRPZkluZmluaXRlRGF0YSA9IHRydWUpIDogbnVsbDtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvcjogVW5rbm93biBlcnJvciBvY2N1cnJlZCB3aGlsZSBmZXRjaGluZyBjYWxlbmRhciBkYXRhXCIsIGVycik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm93c0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIFxufSIsIjxkaXYgY2xhc3M9XCJzdGF0ZS1jb250YWluZXJcIiAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICA8bWlzLWxvYWRlcj48L21pcy1sb2FkZXI+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJzdGF0ZS1jb250YWluZXJcIiAqbmdJZj1cIiFsb2FkaW5nICYmIGVycm9yXCI+XG4gICAgPHNwYW4+VW5rbm93biBlcnJvciBoYXMgb2NjdXJyZWQuPC9zcGFuPlxuPC9kaXY+XG48bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YSQgfCBhc3luYyBhcyBkYXRhXCI+XG4gICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydFxuICAgICAgICAqbmdJZj1cIiFsb2FkaW5nICYmICFlcnJvclwiXG4gICAgICAgICN2aWV3cG9ydFxuICAgICAgICBbbWluQnVmZmVyUHhdPVwiY29uZmlnLm1pbkJ1ZmZlclB4XCJcbiAgICAgICAgW21heEJ1ZmZlclB4XT1cImNvbmZpZy5tYXhCdWZmZXJQeFwiXG4gICAgICAgIFtpdGVtU2l6ZV09XCJ0aGlzLmNvbmZpZy5yb3dIZWlnaHRcIlxuICAgICAgICAoc2Nyb2xsZWRJbmRleENoYW5nZSk9XCJuZXh0QmF0Y2goZGF0YS5sZW5ndGgpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKmNka1ZpcnR1YWxGb3I9XCJsZXQgaXRlbSBvZiBkYXRhOyAgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tSXRlbVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0sIGluZGV4OiBpIH1cIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBpZD1cImxvYWRlci1jb250YWluZXJcIiAqbmdJZj1cInJvd3NMb2FkaW5nXCI+XG4gICAgICAgICAgICA8bWlzLWxvYWRlcj48L21pcy1sb2FkZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuPC9uZy1jb250YWluZXI+Il19
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC1zY3JvbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQWUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQTRCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuTSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztJQ0ovRSw4QkFBK0M7SUFDM0MsNkJBQXlCO0lBQzdCLGlCQUFNOzs7SUFFRixBQURKLDhCQUEyRCxXQUNqRDtJQUFBLDJDQUEyQjtJQUNyQyxBQURxQyxpQkFBTyxFQUN0Qzs7O0lBVUUsNkJBQWdFO0lBQzVELDJCQUdnQjs7Ozs7O0lBRmhCLGNBQStCO0lBQy9CLEFBREEsb0RBQStCLHNFQUMwQjs7O0lBRzdELDhCQUFpRDtJQUM3Qyw2QkFBeUI7SUFDN0IsaUJBQU07Ozs7SUFoQlYseURBT0M7SUFERyxtVEFBdUIsZ0NBQXNCLEtBQUM7SUFROUMsQUFOQSxzSUFBZ0UsdUdBTWY7SUFHckQsaUJBQThCOzs7O0lBWjFCLEFBREEsQUFEQSx5REFBb0MsNENBQ0EsdUNBQ0w7SUFH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QUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JCLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7dUhBckhRLHNCQUFzQjtvRUFBdEIsc0JBQXNCOzs7Ozs7MkJBdUJwQix3QkFBd0I7Ozs7O1lDOUJ2QyxBQUhBLEFBSEEsdUVBQStDLDBEQUdZLDRFQUdmOzs7WUFOZCxvQ0FBZTtZQUdmLGNBQTJCO1lBQTNCLG9EQUEyQjtZQUcxQyxjQUFvQjtZQUFwQixzREFBb0I7OztpRkRPdEIsc0JBQXNCO2NBTmxDLFNBQVM7MkJBQ0ksb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU07a0RBeUJWLFFBQVE7a0JBQTVDLFNBQVM7bUJBQUMsd0JBQXdCO1lBRW5DLFVBQVU7a0JBRFQsWUFBWTttQkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFFMUMsVUFBVTtrQkFBbkIsTUFBTTs7a0ZBMUJFLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBpbnB1dCwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCwgY29tcHV0ZWQsIGVmZmVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3Njcm9sbGluZ1wiO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1lcmdlTWFwLCBzY2FuLCB0YXAsIHRocm90dGxlVGltZSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgSVZpcnR1YWxTY3JvbGxDb25maWcgfSBmcm9tIFwiLi92aXJ0dWFsLXNjcm9sbC5jb25zdGFudHNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibWlzLXZpcnR1YWwtc2Nyb2xsXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi92aXJ0dWFsLXNjcm9sbC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi92aXJ0dWFsLXNjcm9sbC5jb21wb25lbnQuc2Nzc1wiXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBWaXJ0dWFsU2Nyb2xsQ29tcG9uZW50IHtcblxuICAgIC8vIElucHV0IHNpZ25hbHNcbiAgICBjb25maWcgPSBpbnB1dDxJVmlydHVhbFNjcm9sbENvbmZpZz4oe1xuICAgICAgICBtaW5CdWZmZXJQeDogMjQwMCxcbiAgICAgICAgbWF4QnVmZmVyUHg6IDI0MDAsXG4gICAgICAgIHJvd0hlaWdodDogMTI4LFxuICAgICAgICBwYWdlU2l6ZTogNSxcbiAgICAgICAgaW5maW5pdGVTY3JvbGxEYXRhRnVuY3Rpb246IChvZmZzZXQsIHBhZ2VTaXplKSA9PiBvZihbMSwyLDMsNCw1XSlcbiAgICB9KTtcblxuICAgIC8vIEluZmluaXRlIHNjcm9sbCByZWxhdGVkIHZhcmlhYmxlc1xuICAgIG9mZnNldCA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gICAgZW5kT2ZJbmZpbml0ZURhdGE6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcbiAgICByb3dzTG9hZGluZzogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuICAgIFxuICAgIC8vIE1haW4gc3RhdGUgbWFuYWdpbmcgdmFyaWFibGVzXG4gICAgbG9hZGluZzogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuICAgIGVycm9yOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG4gICAgXG4gICAgLy8gU2Nyb2xsIGRhdGEgcmVsYXRlZCB2YXJpYWJsZXNcbiAgICBkYXRhJDogT2JzZXJ2YWJsZTxhbnk+O1xuICAgIFxuICAgIEBWaWV3Q2hpbGQoQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0KSB2aWV3UG9ydDogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xuICAgIEBDb250ZW50Q2hpbGQoXCJ2aXJ0dWFsU2Nyb2xsSXRlbVwiLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBjdXN0b21JdGVtOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcbiAgICBAT3V0cHV0KCkgaW50aWFsaXplZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgdmlydHVhbFNjcm9sbEFwaTogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgY29tcG9uZW50IHdpdGggc2lnbmFsc1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zd2l0Y2hPbkluZmluaXRlU2Nyb2xsKCk7XG4gICAgICAgICAgICB0aGlzLnZpcnR1YWxTY3JvbGxBcGkgPSB7XG4gICAgICAgICAgICAgICAgdG9nZ2xlTG9hZGVyOiAoKSA9PiB0aGlzLmxvYWRpbmcuc2V0KCF0aGlzLmxvYWRpbmcoKSksXG4gICAgICAgICAgICAgICAgdG9nZ2xlRXJyb3I6ICgpID0+IHRoaXMuZXJyb3Iuc2V0KCF0aGlzLmVycm9yKCkpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE9uSW5maW5pdGVTY3JvbGw6IHRoaXMuc3dpdGNoT25JbmZpbml0ZVNjcm9sbCxcbiAgICAgICAgICAgICAgICBzd2l0Y2hPZmZJbmZpbml0ZVNjcm9sbDogdGhpcy5zd2l0Y2hPZmZJbmZpbml0ZVNjcm9sbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vIEtlZXAgdGhpcyBvbmUgLSBuZWVkZWQgZm9yIGV4dGVybmFsIEFQSSBlbWlzc2lvblxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB0aGlzLmludGlhbGl6ZWQuZW1pdCh0aGlzLnZpcnR1YWxTY3JvbGxBcGkpO1xuICAgICAgICB9LCB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIHN3aXRjaE9mZkluZmluaXRlU2Nyb2xsID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmVycm9yLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMubG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGF0YSQgPSB0aGlzLmNvbmZpZygpLmRhdGEkLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIC8vIFJlbW92ZWQgZGV0ZWN0Q2hhbmdlcygpIC0gc2lnbmFscyBoYW5kbGUgdGhpcyBhdXRvbWF0aWNhbGx5XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3I6IFVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZmV0Y2hpbmcgY2FsZW5kYXIgZGF0YVwiLCBlcnIpO1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3Iuc2V0KHRydWUpO1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfTtcblxuICAgIHN3aXRjaE9uSW5maW5pdGVTY3JvbGwgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3Iuc2V0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5sb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgICAgdGhpcy5lbmRPZkluZmluaXRlRGF0YS5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLm9mZnNldC5uZXh0KDApO1xuICAgICAgICB0aGlzLnNldHVwSW5maW5pdGVTY3JvbGwoKTtcbiAgICB9O1xuXG4gICAgc2V0dXBJbmZpbml0ZVNjcm9sbCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYmF0Y2hNYXAgPSB0aGlzLm9mZnNldC5waXBlKFxuICAgICAgICAgICAgdGhyb3R0bGVUaW1lKDUwMCksXG4gICAgICAgICAgICBtZXJnZU1hcChvZmZzZXQgPT4gdGhpcy5nZXRCYXRjaChvZmZzZXQpKSxcbiAgICAgICAgICAgIHNjYW4oKGFjYzogQXJyYXk8YW55PiwgYmF0Y2g6IEFycmF5PGFueT4pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gWy4uLmFjYywgLi4uYmF0Y2hdO1xuICAgICAgICAgICAgfSwgW10pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZGF0YSQgPSBiYXRjaE1hcC5waXBlKFxuICAgICAgICAgICAgdGFwKGRhdGEgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucm93c0xvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAvLyBSZW1vdmVkIHNldFRpbWVvdXQgYW5kIGRldGVjdENoYW5nZXMoKSAtIHNpZ25hbHMgaGFuZGxlIHRoaXMgYXV0b21hdGljYWxseVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZXh0QmF0Y2gob2Zmc2V0KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVuZE9mSW5maW5pdGVEYXRhKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbmQgPSB0aGlzLnZpZXdQb3J0LmdldFJlbmRlcmVkUmFuZ2UoKS5lbmQ7XG4gICAgICAgIGNvbnN0IHRvdGFsID0gdGhpcy52aWV3UG9ydC5nZXREYXRhTGVuZ3RoKCk7XG4gICAgICAgIG9mZnNldCA9IE1hdGguY2VpbChvZmZzZXQgLyB0aGlzLmNvbmZpZygpLnBhZ2VTaXplKTtcbiAgICAgICAgaWYgKGVuZCA9PT0gdG90YWwgJiYgIXRoaXMucm93c0xvYWRpbmcoKSkge1xuICAgICAgICAgICAgdGhpcy5vZmZzZXQubmV4dChvZmZzZXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0QmF0Y2gob2Zmc2V0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgdGhpcy5yb3dzTG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgICAgIGlmIChvZmZzZXQgPT0gbnVsbCkgb2Zmc2V0ID0gMDtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnKClcbiAgICAgICAgICAgIC5pbmZpbml0ZVNjcm9sbERhdGFGdW5jdGlvbihvZmZzZXQsIHRoaXMuY29uZmlnKCkucGFnZVNpemUpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKGFycjogQXJyYXk8YW55PikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhcnIubGVuZ3RoIDwgdGhpcy5jb25maWcoKS5wYWdlU2l6ZSA/IHRoaXMuZW5kT2ZJbmZpbml0ZURhdGEuc2V0KHRydWUpIDogbnVsbDtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvcjogVW5rbm93biBlcnJvciBvY2N1cnJlZCB3aGlsZSBmZXRjaGluZyBjYWxlbmRhciBkYXRhXCIsIGVycik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm93c0xvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nLnNldChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3Iuc2V0KHRydWUpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgfVxufSIsIjxkaXYgY2xhc3M9XCJzdGF0ZS1jb250YWluZXJcIiAqbmdJZj1cImxvYWRpbmcoKVwiPlxuICAgIDxtaXMtbG9hZGVyPjwvbWlzLWxvYWRlcj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInN0YXRlLWNvbnRhaW5lclwiICpuZ0lmPVwiIWxvYWRpbmcoKSAmJiBlcnJvcigpXCI+XG4gICAgPHNwYW4+VW5rbm93biBlcnJvciBoYXMgb2NjdXJyZWQuPC9zcGFuPlxuPC9kaXY+XG48bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YSQgfCBhc3luYyBhcyBkYXRhXCI+XG4gICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydFxuICAgICAgICAqbmdJZj1cIiFsb2FkaW5nKCkgJiYgIWVycm9yKClcIlxuICAgICAgICAjdmlld3BvcnRcbiAgICAgICAgW21pbkJ1ZmZlclB4XT1cImNvbmZpZygpLm1pbkJ1ZmZlclB4XCJcbiAgICAgICAgW21heEJ1ZmZlclB4XT1cImNvbmZpZygpLm1heEJ1ZmZlclB4XCJcbiAgICAgICAgW2l0ZW1TaXplXT1cImNvbmZpZygpLnJvd0hlaWdodFwiXG4gICAgICAgIChzY3JvbGxlZEluZGV4Q2hhbmdlKT1cIm5leHRCYXRjaChkYXRhLmxlbmd0aClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqY2RrVmlydHVhbEZvcj1cImxldCBpdGVtIG9mIGRhdGE7ICBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21JdGVtXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSwgaW5kZXg6IGkgfVwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGlkPVwibG9hZGVyLWNvbnRhaW5lclwiICpuZ0lmPVwicm93c0xvYWRpbmcoKVwiPlxuICAgICAgICAgICAgPG1pcy1sb2FkZXI+PC9taXMtbG9hZGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbjwvbmctY29udGFpbmVyPiJdfQ==