cps-ui-kit 0.165.0 → 17.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/esm2022/lib/components/cps-autocomplete/cps-autocomplete.component.mjs +824 -0
  2. package/esm2022/lib/components/cps-button/cps-button.component.mjs +190 -0
  3. package/esm2022/lib/components/cps-button-toggle/cps-button-toggle.component.mjs +235 -0
  4. package/esm2022/lib/components/cps-checkbox/cps-checkbox.component.mjs +149 -0
  5. package/esm2022/lib/components/cps-chip/cps-chip.component.mjs +94 -0
  6. package/esm2022/lib/components/cps-datepicker/cps-datepicker.component.mjs +382 -0
  7. package/esm2022/lib/components/cps-expansion-panel/cps-expansion-panel.component.mjs +209 -0
  8. package/esm2022/lib/components/cps-file-upload/cps-file-upload.component.mjs +138 -0
  9. package/esm2022/lib/components/cps-icon/cps-icon.component.mjs +193 -0
  10. package/esm2022/lib/components/cps-info-circle/cps-info-circle.component.mjs +61 -0
  11. package/esm2022/lib/components/cps-input/cps-input.component.mjs +386 -0
  12. package/{esm2020 → esm2022}/lib/components/cps-loader/cps-loader.component.mjs +5 -5
  13. package/esm2022/lib/components/cps-menu/cps-menu.component.mjs +552 -0
  14. package/esm2022/lib/components/cps-paginator/cps-paginator.component.mjs +114 -0
  15. package/esm2022/lib/components/cps-paginator/pipes/cps-paginate.pipe.mjs +30 -0
  16. package/{esm2020 → esm2022}/lib/components/cps-progress-circular/cps-progress-circular.component.mjs +4 -4
  17. package/{esm2020 → esm2022}/lib/components/cps-progress-linear/cps-progress-linear.component.mjs +4 -4
  18. package/{esm2020 → esm2022}/lib/components/cps-radio-group/cps-radio/cps-radio.component.mjs +7 -7
  19. package/esm2022/lib/components/cps-radio-group/cps-radio-button/cps-radio-button.component.mjs +55 -0
  20. package/esm2022/lib/components/cps-radio-group/cps-radio-group.component.mjs +158 -0
  21. package/esm2022/lib/components/cps-select/cps-select.component.mjs +615 -0
  22. package/esm2022/lib/components/cps-sidebar-menu/cps-sidebar-menu.component.mjs +110 -0
  23. package/{esm2020 → esm2022}/lib/components/cps-tab-group/cps-tab/cps-tab.component.mjs +4 -4
  24. package/esm2022/lib/components/cps-tab-group/cps-tab-group.component.mjs +303 -0
  25. package/esm2022/lib/components/cps-table/components/internal/cps-sort-icon/cps-sort-icon.component.mjs +79 -0
  26. package/esm2022/lib/components/cps-table/components/internal/table-column-filter/table-column-filter.component.mjs +408 -0
  27. package/esm2022/lib/components/cps-table/components/internal/table-column-filter-constraint/table-column-filter-constraint.component.mjs +149 -0
  28. package/esm2022/lib/components/cps-table/components/internal/table-row-menu/table-row-menu.component.mjs +88 -0
  29. package/esm2022/lib/components/cps-table/cps-table.component.mjs +941 -0
  30. package/esm2022/lib/components/cps-table/directives/cps-table-column-filter.directive.mjs +181 -0
  31. package/{esm2020 → esm2022}/lib/components/cps-table/directives/cps-table-column-sortable.directive.mjs +5 -5
  32. package/{esm2020 → esm2022}/lib/components/cps-table/directives/cps-table-header-selectable.directive.mjs +5 -5
  33. package/{esm2020 → esm2022}/lib/components/cps-table/directives/cps-table-row-selectable.directive.mjs +5 -5
  34. package/esm2022/lib/components/cps-table/directives/internal/table-unsort.directive.mjs +220 -0
  35. package/esm2022/lib/components/cps-tag/cps-tag.component.mjs +136 -0
  36. package/esm2022/lib/components/cps-textarea/cps-textarea.component.mjs +291 -0
  37. package/esm2022/lib/components/cps-timepicker/cps-timepicker.component.mjs +351 -0
  38. package/esm2022/lib/components/cps-tree-autocomplete/cps-tree-autocomplete.component.mjs +251 -0
  39. package/esm2022/lib/components/cps-tree-select/cps-tree-select.component.mjs +87 -0
  40. package/esm2022/lib/components/cps-tree-table/cps-tree-table.component.mjs +1196 -0
  41. package/{esm2020 → esm2022}/lib/components/cps-tree-table/directives/cps-tree-table-column-filter.directive.mjs +5 -5
  42. package/{esm2020 → esm2022}/lib/components/cps-tree-table/directives/cps-tree-table-column-sortable.directive.mjs +5 -5
  43. package/{esm2020 → esm2022}/lib/components/cps-tree-table/directives/cps-tree-table-header-selectable.directive.mjs +5 -5
  44. package/{esm2020 → esm2022}/lib/components/cps-tree-table/directives/cps-tree-table-row-selectable.directive.mjs +5 -5
  45. package/esm2022/lib/components/cps-tree-table/directives/cps-tree-table-row-toggler.directive.mjs +43 -0
  46. package/esm2022/lib/components/cps-tree-table/directives/internal/tree-table-unsort.directive.mjs +354 -0
  47. package/esm2022/lib/components/internal/cps-base-tree-dropdown/cps-base-tree-dropdown.component.mjs +619 -0
  48. package/esm2022/lib/directives/cps-tooltip/cps-tooltip.directive.mjs +257 -0
  49. package/{esm2020 → esm2022}/lib/pipes/internal/check-option-selected.pipe.mjs +4 -4
  50. package/esm2022/lib/pipes/internal/combine-labels.pipe.mjs +25 -0
  51. package/{esm2020 → esm2022}/lib/pipes/internal/label-by-value.pipe.mjs +4 -4
  52. package/esm2022/lib/services/cps-dialog/cps-dialog.service.mjs +99 -0
  53. package/{esm2020 → esm2022}/lib/services/cps-dialog/internal/components/cps-confirmation/cps-confirmation.component.mjs +5 -5
  54. package/esm2022/lib/services/cps-dialog/internal/components/cps-dialog/cps-dialog.component.mjs +470 -0
  55. package/{esm2020 → esm2022}/lib/services/cps-dialog/internal/directives/cps-dialog-content.directive.mjs +5 -5
  56. package/esm2022/lib/services/cps-dialog/utils/cps-dialog-config.mjs +3 -0
  57. package/esm2022/lib/services/cps-notification/cps-notification.service.mjs +126 -0
  58. package/esm2022/lib/services/cps-notification/internal/components/cps-notification-container/cps-notification-container.component.mjs +91 -0
  59. package/{esm2020 → esm2022}/lib/services/cps-notification/internal/components/cps-toast/cps-toast.component.mjs +23 -23
  60. package/esm2022/lib/utils/colors-utils.mjs +57 -0
  61. package/esm2022/lib/utils/internal/size-utils.mjs +24 -0
  62. package/{esm2020 → esm2022}/public-api.mjs +2 -2
  63. package/{fesm2020 → fesm2022}/cps-ui-kit.mjs +481 -391
  64. package/fesm2022/cps-ui-kit.mjs.map +1 -0
  65. package/lib/components/cps-autocomplete/cps-autocomplete.component.d.ts +2 -2
  66. package/lib/components/cps-button/cps-button.component.d.ts +1 -1
  67. package/lib/components/cps-button-toggle/cps-button-toggle.component.d.ts +2 -2
  68. package/lib/components/cps-checkbox/cps-checkbox.component.d.ts +2 -2
  69. package/lib/components/cps-chip/cps-chip.component.d.ts +1 -1
  70. package/lib/components/cps-datepicker/cps-datepicker.component.d.ts +2 -2
  71. package/lib/components/cps-expansion-panel/cps-expansion-panel.component.d.ts +1 -1
  72. package/lib/components/cps-file-upload/cps-file-upload.component.d.ts +1 -1
  73. package/lib/components/cps-icon/cps-icon.component.d.ts +1 -1
  74. package/lib/components/cps-info-circle/cps-info-circle.component.d.ts +2 -2
  75. package/lib/components/cps-input/cps-input.component.d.ts +2 -2
  76. package/lib/components/cps-loader/cps-loader.component.d.ts +1 -1
  77. package/lib/components/cps-menu/cps-menu.component.d.ts +1 -1
  78. package/lib/components/cps-paginator/cps-paginator.component.d.ts +1 -1
  79. package/lib/components/cps-progress-circular/cps-progress-circular.component.d.ts +1 -1
  80. package/lib/components/cps-progress-linear/cps-progress-linear.component.d.ts +1 -1
  81. package/lib/components/cps-radio-group/cps-radio/cps-radio.component.d.ts +1 -1
  82. package/lib/components/cps-radio-group/cps-radio-button/cps-radio-button.component.d.ts +1 -1
  83. package/lib/components/cps-radio-group/cps-radio-group.component.d.ts +2 -2
  84. package/lib/components/cps-select/cps-select.component.d.ts +2 -2
  85. package/lib/components/cps-sidebar-menu/cps-sidebar-menu.component.d.ts +1 -1
  86. package/lib/components/cps-tab-group/cps-tab/cps-tab.component.d.ts +1 -1
  87. package/lib/components/cps-tab-group/cps-tab-group.component.d.ts +1 -1
  88. package/lib/components/cps-table/components/internal/cps-sort-icon/cps-sort-icon.component.d.ts +1 -1
  89. package/lib/components/cps-table/components/internal/table-column-filter/table-column-filter.component.d.ts +1 -1
  90. package/lib/components/cps-table/components/internal/table-column-filter-constraint/table-column-filter-constraint.component.d.ts +1 -1
  91. package/lib/components/cps-table/components/internal/table-row-menu/table-row-menu.component.d.ts +1 -1
  92. package/lib/components/cps-table/cps-table.component.d.ts +1 -1
  93. package/lib/components/cps-table/directives/cps-table-column-filter.directive.d.ts +1 -1
  94. package/lib/components/cps-table/directives/cps-table-column-sortable.directive.d.ts +1 -1
  95. package/lib/components/cps-table/directives/cps-table-row-selectable.directive.d.ts +1 -1
  96. package/lib/components/cps-tag/cps-tag.component.d.ts +1 -1
  97. package/lib/components/cps-textarea/cps-textarea.component.d.ts +2 -2
  98. package/lib/components/cps-timepicker/cps-timepicker.component.d.ts +2 -2
  99. package/lib/components/cps-tree-autocomplete/cps-tree-autocomplete.component.d.ts +1 -1
  100. package/lib/components/cps-tree-select/cps-tree-select.component.d.ts +1 -1
  101. package/lib/components/cps-tree-table/cps-tree-table.component.d.ts +4 -4
  102. package/lib/components/cps-tree-table/directives/cps-tree-table-column-filter.directive.d.ts +1 -1
  103. package/lib/components/cps-tree-table/directives/cps-tree-table-column-sortable.directive.d.ts +1 -1
  104. package/lib/components/cps-tree-table/directives/cps-tree-table-row-selectable.directive.d.ts +1 -1
  105. package/lib/components/cps-tree-table/directives/cps-tree-table-row-toggler.directive.d.ts +1 -1
  106. package/lib/components/internal/cps-base-tree-dropdown/cps-base-tree-dropdown.component.d.ts +2 -2
  107. package/lib/directives/{cps-tooltip.directive.d.ts → cps-tooltip/cps-tooltip.directive.d.ts} +2 -2
  108. package/lib/services/cps-dialog/cps-dialog.service.d.ts +13 -0
  109. package/lib/services/cps-dialog/utils/cps-dialog-config.d.ts +1 -1
  110. package/lib/services/cps-notification/cps-notification.service.d.ts +32 -0
  111. package/lib/services/cps-notification/internal/components/cps-notification-container/cps-notification-container.component.d.ts +1 -1
  112. package/lib/services/cps-notification/internal/components/cps-toast/cps-toast.component.d.ts +1 -1
  113. package/package.json +12 -18
  114. package/public-api.d.ts +1 -1
  115. package/esm2020/lib/components/cps-autocomplete/cps-autocomplete.component.mjs +0 -824
  116. package/esm2020/lib/components/cps-button/cps-button.component.mjs +0 -190
  117. package/esm2020/lib/components/cps-button-toggle/cps-button-toggle.component.mjs +0 -235
  118. package/esm2020/lib/components/cps-checkbox/cps-checkbox.component.mjs +0 -149
  119. package/esm2020/lib/components/cps-chip/cps-chip.component.mjs +0 -94
  120. package/esm2020/lib/components/cps-datepicker/cps-datepicker.component.mjs +0 -382
  121. package/esm2020/lib/components/cps-expansion-panel/cps-expansion-panel.component.mjs +0 -209
  122. package/esm2020/lib/components/cps-file-upload/cps-file-upload.component.mjs +0 -138
  123. package/esm2020/lib/components/cps-icon/cps-icon.component.mjs +0 -193
  124. package/esm2020/lib/components/cps-info-circle/cps-info-circle.component.mjs +0 -61
  125. package/esm2020/lib/components/cps-input/cps-input.component.mjs +0 -386
  126. package/esm2020/lib/components/cps-menu/cps-menu.component.mjs +0 -552
  127. package/esm2020/lib/components/cps-paginator/cps-paginator.component.mjs +0 -113
  128. package/esm2020/lib/components/cps-paginator/pipes/cps-paginate.pipe.mjs +0 -30
  129. package/esm2020/lib/components/cps-radio-group/cps-radio-button/cps-radio-button.component.mjs +0 -55
  130. package/esm2020/lib/components/cps-radio-group/cps-radio-group.component.mjs +0 -158
  131. package/esm2020/lib/components/cps-select/cps-select.component.mjs +0 -615
  132. package/esm2020/lib/components/cps-sidebar-menu/cps-sidebar-menu.component.mjs +0 -110
  133. package/esm2020/lib/components/cps-tab-group/cps-tab-group.component.mjs +0 -299
  134. package/esm2020/lib/components/cps-table/components/internal/cps-sort-icon/cps-sort-icon.component.mjs +0 -79
  135. package/esm2020/lib/components/cps-table/components/internal/table-column-filter/table-column-filter.component.mjs +0 -408
  136. package/esm2020/lib/components/cps-table/components/internal/table-column-filter-constraint/table-column-filter-constraint.component.mjs +0 -148
  137. package/esm2020/lib/components/cps-table/components/internal/table-row-menu/table-row-menu.component.mjs +0 -88
  138. package/esm2020/lib/components/cps-table/cps-table.component.mjs +0 -940
  139. package/esm2020/lib/components/cps-table/directives/cps-table-column-filter.directive.mjs +0 -181
  140. package/esm2020/lib/components/cps-table/directives/internal/table-unsort.directive.mjs +0 -210
  141. package/esm2020/lib/components/cps-tag/cps-tag.component.mjs +0 -136
  142. package/esm2020/lib/components/cps-textarea/cps-textarea.component.mjs +0 -291
  143. package/esm2020/lib/components/cps-timepicker/cps-timepicker.component.mjs +0 -351
  144. package/esm2020/lib/components/cps-tree-autocomplete/cps-tree-autocomplete.component.mjs +0 -250
  145. package/esm2020/lib/components/cps-tree-select/cps-tree-select.component.mjs +0 -87
  146. package/esm2020/lib/components/cps-tree-table/cps-tree-table.component.mjs +0 -1192
  147. package/esm2020/lib/components/cps-tree-table/directives/cps-tree-table-row-toggler.directive.mjs +0 -43
  148. package/esm2020/lib/components/cps-tree-table/directives/internal/tree-table-unsort.directive.mjs +0 -334
  149. package/esm2020/lib/components/internal/cps-base-tree-dropdown/cps-base-tree-dropdown.component.mjs +0 -616
  150. package/esm2020/lib/directives/cps-tooltip.directive.mjs +0 -257
  151. package/esm2020/lib/pipes/internal/combine-labels.pipe.mjs +0 -25
  152. package/esm2020/lib/services/cps-dialog/cps-dialog.service.mjs +0 -86
  153. package/esm2020/lib/services/cps-dialog/internal/components/cps-dialog/cps-dialog.component.mjs +0 -470
  154. package/esm2020/lib/services/cps-dialog/utils/cps-dialog-config.mjs +0 -3
  155. package/esm2020/lib/services/cps-notification/cps-notification.service.mjs +0 -94
  156. package/esm2020/lib/services/cps-notification/internal/components/cps-notification-container/cps-notification-container.component.mjs +0 -91
  157. package/esm2020/lib/utils/colors-utils.mjs +0 -57
  158. package/esm2020/lib/utils/internal/size-utils.mjs +0 -24
  159. package/fesm2015/cps-ui-kit.mjs +0 -12086
  160. package/fesm2015/cps-ui-kit.mjs.map +0 -1
  161. package/fesm2020/cps-ui-kit.mjs.map +0 -1
  162. /package/{esm2020 → esm2022}/cps-ui-kit.mjs +0 -0
  163. /package/{esm2020 → esm2022}/lib/components/cps-table/cps-column-filter-types.mjs +0 -0
  164. /package/{esm2020 → esm2022}/lib/services/cps-dialog/utils/cps-dialog-ref.mjs +0 -0
  165. /package/{esm2020 → esm2022}/lib/services/cps-notification/utils/cps-notification-config.mjs +0 -0
  166. /package/{esm2020 → esm2022}/lib/services/cps-notification/utils/internal/cps-notification-data.mjs +0 -0
@@ -0,0 +1,257 @@
1
+ import { Directive, HostListener, Input } from '@angular/core';
2
+ import { convertSize } from '../../utils/internal/size-utils';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * CpsTooltipDirective provides advisory information for a target element.
6
+ * @group Components
7
+ */
8
+ export class CpsTooltipDirective {
9
+ // eslint-disable-next-line no-useless-constructor
10
+ constructor(_elementRef) {
11
+ this._elementRef = _elementRef;
12
+ /**
13
+ * Delay to show the tooltip in milliseconds, it can be of type string or number.
14
+ * @group Props
15
+ */
16
+ this.tooltipOpenDelay = 300;
17
+ /**
18
+ * Delay to hide the tooltip in milliseconds, it can be of type string or number.
19
+ * @group Props
20
+ */
21
+ this.tooltipCloseDelay = 300;
22
+ /**
23
+ * Determines whether the tooltip should open on hover, click or focus.
24
+ * @group Props
25
+ */
26
+ this.tooltipOpenOn = 'hover';
27
+ /**
28
+ * Position of the tooltip, it can be 'top', 'bottom', 'left' or 'right'.
29
+ * @group Props
30
+ */
31
+ this.tooltipPosition = 'top';
32
+ /**
33
+ * Determines whether the tooltip is persistent.
34
+ * @group Props
35
+ */
36
+ this.tooltipPersistent = false;
37
+ /**
38
+ * When present, it specifies that the tooltip should be disabled.
39
+ * @group Props
40
+ */
41
+ this.tooltipDisabled = false;
42
+ /**
43
+ * Max width of the tooltip of type number denoting pixels or string.
44
+ * @group Props
45
+ */
46
+ this.tooltipMaxWidth = '100%';
47
+ /**
48
+ * Tooltip content class for styling.
49
+ * @group Props
50
+ */
51
+ this.tooltipContentClass = 'cps-tooltip-content';
52
+ this._createTooltip = () => {
53
+ if (this._popup)
54
+ return;
55
+ if (this.tooltipDisabled)
56
+ return;
57
+ this._popup = document.createElement('div');
58
+ this._constructElement(this._popup);
59
+ if (this.tooltipPersistent)
60
+ this._popup.addEventListener('click', this._destroyTooltip);
61
+ window.addEventListener('scroll', this._destroyTooltip, true);
62
+ };
63
+ this._destroyTooltip = (event = undefined) => {
64
+ const removeFromDOM = () => {
65
+ this._popup?.remove();
66
+ this._popup = undefined;
67
+ };
68
+ window.removeEventListener('scroll', this._destroyTooltip, true);
69
+ if (!this._popup)
70
+ return;
71
+ this._popup.removeEventListener('click', this._destroyTooltip);
72
+ const noAnimation = ['scroll', 'resize'].includes(event?.type);
73
+ if (noAnimation) {
74
+ removeFromDOM();
75
+ }
76
+ else {
77
+ const popup = this._popup;
78
+ requestAnimationFrame(function () {
79
+ popup.style.opacity = '0';
80
+ });
81
+ setTimeout(() => {
82
+ removeFromDOM();
83
+ }, 200);
84
+ }
85
+ };
86
+ }
87
+ ngOnDestroy() {
88
+ this._destroyTooltip();
89
+ }
90
+ _constructElement(popup) {
91
+ const popupContent = document.createElement('div');
92
+ popupContent.innerHTML = this.tooltip || 'Add your text to this tooltip';
93
+ popupContent.classList.add(this.tooltipContentClass);
94
+ popup.appendChild(popupContent);
95
+ popup.classList.add('cps-tooltip');
96
+ popup.style.maxWidth = convertSize(this.tooltipMaxWidth);
97
+ document.body.appendChild(popup);
98
+ requestAnimationFrame(function () {
99
+ popup.style.opacity = '1';
100
+ });
101
+ const coords = this._getCoords();
102
+ if (!coords) {
103
+ this._destroyTooltip();
104
+ throw new Error('Not enough space on the screen for the tooltip!');
105
+ }
106
+ popup.style.left = coords.left.toString() + 'px';
107
+ popup.style.top = coords.top.toString() + 'px';
108
+ }
109
+ _getCoords() {
110
+ function isInsideScreen(coords) {
111
+ return (coords.top >= 0 &&
112
+ coords.left >= 0 &&
113
+ coords.left + popupRect.width <= window.innerWidth &&
114
+ coords.top + popupRect.height <= window.innerHeight);
115
+ }
116
+ let positions = ['top', 'bottom', 'left', 'right'];
117
+ positions = positions.filter((item) => item !== this.tooltipPosition);
118
+ positions.unshift(this.tooltipPosition);
119
+ const targetEl = this._elementRef.nativeElement;
120
+ const targetElRect = targetEl.getBoundingClientRect();
121
+ const popupRect = this._popup.getBoundingClientRect();
122
+ for (const pos of positions) {
123
+ const coords = this._getCoordsForPosition(pos, targetEl, targetElRect, popupRect);
124
+ if (isInsideScreen(coords)) {
125
+ return coords;
126
+ }
127
+ }
128
+ return undefined;
129
+ }
130
+ _getCoordsForPosition(position, targetEl, targetElRect, popupRect) {
131
+ switch (position) {
132
+ case 'bottom':
133
+ return {
134
+ left: targetElRect.left +
135
+ window.scrollX +
136
+ (targetEl.offsetWidth - popupRect.width) / 2,
137
+ top: targetElRect.bottom + window.scrollY + 8
138
+ };
139
+ case 'left':
140
+ return {
141
+ left: targetElRect.left - window.scrollX - popupRect.width - 8,
142
+ top: targetElRect.top +
143
+ window.scrollY +
144
+ (targetEl.offsetHeight - popupRect.height) / 2
145
+ };
146
+ case 'right':
147
+ return {
148
+ left: targetElRect.right + window.scrollX + 8,
149
+ top: targetElRect.top +
150
+ window.scrollY +
151
+ (targetEl.offsetHeight - popupRect.height) / 2
152
+ };
153
+ default:
154
+ return {
155
+ left: targetElRect.left +
156
+ window.scrollX +
157
+ (targetEl.offsetWidth - popupRect.width) / 2,
158
+ top: targetElRect.top + window.scrollY - popupRect.height - 8
159
+ };
160
+ }
161
+ }
162
+ onMouseEnter() {
163
+ if (this.tooltipOpenOn === 'hover') {
164
+ clearTimeout(this._hideTimeout);
165
+ this._showTimeout = setTimeout(this._createTooltip, this.tooltipOpenDelay);
166
+ }
167
+ }
168
+ onMouseLeave() {
169
+ clearTimeout(this._showTimeout);
170
+ if (!this.tooltipPersistent) {
171
+ this._hideTimeout = setTimeout(this._destroyTooltip, this.tooltipCloseDelay);
172
+ }
173
+ }
174
+ onFocus() {
175
+ if (this.tooltipOpenOn === 'focus') {
176
+ clearTimeout(this._hideTimeout);
177
+ this._showTimeout = setTimeout(this._createTooltip, this.tooltipOpenDelay);
178
+ }
179
+ }
180
+ onBlur() {
181
+ clearTimeout(this._showTimeout);
182
+ if (!this.tooltipPersistent && this.tooltipOpenOn === 'focus') {
183
+ this._hideTimeout = setTimeout(this._destroyTooltip, this.tooltipCloseDelay);
184
+ }
185
+ }
186
+ onClick() {
187
+ if (this.tooltipOpenOn === 'click') {
188
+ clearTimeout(this._hideTimeout);
189
+ this._showTimeout = setTimeout(this._createTooltip, 0);
190
+ }
191
+ }
192
+ onDocumentClick(target) {
193
+ if (this.tooltipPersistent && this._popup) {
194
+ if (!target?.isConnected) {
195
+ return;
196
+ }
197
+ const clickedInside = this._elementRef?.nativeElement?.contains(target);
198
+ if (!clickedInside) {
199
+ this._destroyTooltip();
200
+ }
201
+ }
202
+ }
203
+ onPageResize(event) {
204
+ if (this._popup)
205
+ this._destroyTooltip(event);
206
+ }
207
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CpsTooltipDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
208
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: CpsTooltipDirective, isStandalone: true, selector: "[cpsTooltip]", inputs: { tooltip: ["cpsTooltip", "tooltip"], tooltipOpenDelay: "tooltipOpenDelay", tooltipCloseDelay: "tooltipCloseDelay", tooltipOpenOn: "tooltipOpenOn", tooltipPosition: "tooltipPosition", tooltipPersistent: "tooltipPersistent", tooltipDisabled: "tooltipDisabled", tooltipMaxWidth: "tooltipMaxWidth", tooltipContentClass: "tooltipContentClass" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focus": "onFocus()", "blur": "onBlur()", "click": "onClick()", "document:click": "onDocumentClick($event.target)", "window:resize": "onPageResize($event)" } }, ngImport: i0 }); }
209
+ }
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CpsTooltipDirective, decorators: [{
211
+ type: Directive,
212
+ args: [{
213
+ selector: '[cpsTooltip]',
214
+ standalone: true
215
+ }]
216
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { tooltip: [{
217
+ type: Input,
218
+ args: ['cpsTooltip']
219
+ }], tooltipOpenDelay: [{
220
+ type: Input
221
+ }], tooltipCloseDelay: [{
222
+ type: Input
223
+ }], tooltipOpenOn: [{
224
+ type: Input
225
+ }], tooltipPosition: [{
226
+ type: Input
227
+ }], tooltipPersistent: [{
228
+ type: Input
229
+ }], tooltipDisabled: [{
230
+ type: Input
231
+ }], tooltipMaxWidth: [{
232
+ type: Input
233
+ }], tooltipContentClass: [{
234
+ type: Input
235
+ }], onMouseEnter: [{
236
+ type: HostListener,
237
+ args: ['mouseenter']
238
+ }], onMouseLeave: [{
239
+ type: HostListener,
240
+ args: ['mouseleave']
241
+ }], onFocus: [{
242
+ type: HostListener,
243
+ args: ['focus']
244
+ }], onBlur: [{
245
+ type: HostListener,
246
+ args: ['blur']
247
+ }], onClick: [{
248
+ type: HostListener,
249
+ args: ['click']
250
+ }], onDocumentClick: [{
251
+ type: HostListener,
252
+ args: ['document:click', ['$event.target']]
253
+ }], onPageResize: [{
254
+ type: HostListener,
255
+ args: ['window:resize', ['$event']]
256
+ }] } });
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLXRvb2x0aXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL2RpcmVjdGl2ZXMvY3BzLXRvb2x0aXAvY3BzLXRvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBSzlEOzs7R0FHRztBQUtILE1BQU0sT0FBTyxtQkFBbUI7SUEyRDlCLGtEQUFrRDtJQUNsRCxZQUFvQixXQUFvQztRQUFwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFyRHhEOzs7V0FHRztRQUNNLHFCQUFnQixHQUFvQixHQUFHLENBQUM7UUFFakQ7OztXQUdHO1FBQ00sc0JBQWlCLEdBQW9CLEdBQUcsQ0FBQztRQUVsRDs7O1dBR0c7UUFDTSxrQkFBYSxHQUFxQixPQUFPLENBQUM7UUFFbkQ7OztXQUdHO1FBQ00sb0JBQWUsR0FBdUIsS0FBSyxDQUFDO1FBRXJEOzs7V0FHRztRQUNNLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUVuQzs7O1dBR0c7UUFDTSxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUVqQzs7O1dBR0c7UUFDTSxvQkFBZSxHQUFvQixNQUFNLENBQUM7UUFFbkQ7OztXQUdHO1FBQ00sd0JBQW1CLEdBQUcscUJBQXFCLENBQUM7UUFhN0MsbUJBQWMsR0FBRyxHQUFHLEVBQUU7WUFDNUIsSUFBSSxJQUFJLENBQUMsTUFBTTtnQkFBRSxPQUFPO1lBRXhCLElBQUksSUFBSSxDQUFDLGVBQWU7Z0JBQUUsT0FBTztZQUVqQyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGlCQUFp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c0JBQXZCLEtBQUs7Z0JBTUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQU1HLGVBQWU7c0JBQXZCLEtBQUs7Z0JBTUcsZUFBZTtzQkFBdkIsS0FBSztnQkFNRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBNkpzQixZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVk7Z0JBV0UsWUFBWTtzQkFBdkMsWUFBWTt1QkFBQyxZQUFZO2dCQVdILE9BQU87c0JBQTdCLFlBQVk7dUJBQUMsT0FBTztnQkFXQyxNQUFNO3NCQUEzQixZQUFZO3VCQUFDLE1BQU07Z0JBVUcsT0FBTztzQkFBN0IsWUFBWTt1QkFBQyxPQUFPO2dCQVNyQixlQUFlO3NCQURkLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBYU4sWUFBWTtzQkFBdEQsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbnZlcnRTaXplIH0gZnJvbSAnLi4vLi4vdXRpbHMvaW50ZXJuYWwvc2l6ZS11dGlscyc7XG5cbmV4cG9ydCB0eXBlIENwc1Rvb2x0aXBQb3NpdGlvbiA9ICd0b3AnIHwgJ2JvdHRvbScgfCAnbGVmdCcgfCAncmlnaHQnO1xuZXhwb3J0IHR5cGUgQ3BzVG9vbHRpcE9wZW5PbiA9ICdob3ZlcicgfCAnY2xpY2snIHwgJ2ZvY3VzJztcblxuLyoqXG4gKiBDcHNUb29sdGlwRGlyZWN0aXZlIHByb3ZpZGVzIGFkdmlzb3J5IGluZm9ybWF0aW9uIGZvciBhIHRhcmdldCBlbGVtZW50LlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2Nwc1Rvb2x0aXBdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBDcHNUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFRvb2x0aXAgdGV4dCBvciBodG1sIHRvIHNob3cuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCdjcHNUb29sdGlwJykgdG9vbHRpcCE6IHN0cmluZztcblxuICAvKipcbiAgICogRGVsYXkgdG8gc2hvdyB0aGUgdG9vbHRpcCBpbiBtaWxsaXNlY29uZHMsIGl0IGNhbiBiZSBvZiB0eXBlIHN0cmluZyBvciBudW1iZXIuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgdG9vbHRpcE9wZW5EZWxheTogc3RyaW5nIHwgbnVtYmVyID0gMzAwO1xuXG4gIC8qKlxuICAgKiBEZWxheSB0byBoaWRlIHRoZSB0b29sdGlwIGluIG1pbGxpc2Vjb25kcywgaXQgY2FuIGJlIG9mIHR5cGUgc3RyaW5nIG9yIG51bWJlci5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSB0b29sdGlwQ2xvc2VEZWxheTogc3RyaW5nIHwgbnVtYmVyID0gMzAwO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHRvb2x0aXAgc2hvdWxkIG9wZW4gb24gaG92ZXIsIGNsaWNrIG9yIGZvY3VzLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgpIHRvb2x0aXBPcGVuT246IENwc1Rvb2x0aXBPcGVuT24gPSAnaG92ZXInO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCwgaXQgY2FuIGJlICd0b3AnLCAnYm90dG9tJywgJ2xlZnQnIG9yICdyaWdodCcuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgdG9vbHRpcFBvc2l0aW9uOiBDcHNUb29sdGlwUG9zaXRpb24gPSAndG9wJztcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSB0b29sdGlwIGlzIHBlcnNpc3RlbnQuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgdG9vbHRpcFBlcnNpc3RlbnQgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hlbiBwcmVzZW50LCBpdCBzcGVjaWZpZXMgdGhhdCB0aGUgdG9vbHRpcCBzaG91bGQgYmUgZGlzYWJsZWQuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgdG9vbHRpcERpc2FibGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIE1heCB3aWR0aCBvZiB0aGUgdG9vbHRpcCBvZiB0eXBlIG51bWJlciBkZW5vdGluZyBwaXhlbHMgb3Igc3RyaW5nLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgpIHRvb2x0aXBNYXhXaWR0aDogbnVtYmVyIHwgc3RyaW5nID0gJzEwMCUnO1xuXG4gIC8qKlxuICAgKiBUb29sdGlwIGNvbnRlbnQgY2xhc3MgZm9yIHN0eWxpbmcuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgdG9vbHRpcENvbnRlbnRDbGFzcyA9ICdjcHMtdG9vbHRpcC1jb250ZW50JztcblxuICBwcml2YXRlIF9wb3B1cD86IEhUTUxEaXZFbGVtZW50O1xuICBwcml2YXRlIF9zaG93VGltZW91dD86IGFueTtcbiAgcHJpdmF0ZSBfaGlkZVRpbWVvdXQ/OiBhbnk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZWxlc3MtY29uc3RydWN0b3JcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveVRvb2x0aXAoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZVRvb2x0aXAgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuX3BvcHVwKSByZXR1cm47XG5cbiAgICBpZiAodGhpcy50b29sdGlwRGlzYWJsZWQpIHJldHVybjtcblxuICAgIHRoaXMuX3BvcHVwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5fY29uc3RydWN0RWxlbWVudCh0aGlzLl9wb3B1cCk7XG5cbiAgICBpZiAodGhpcy50b29sdGlwUGVyc2lzdGVudClcbiAgICAgIHRoaXMuX3BvcHVwLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5fZGVzdHJveVRvb2x0aXApO1xuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuX2Rlc3Ryb3lUb29sdGlwLCB0cnVlKTtcbiAgfTtcblxuICBwcml2YXRlIF9kZXN0cm95VG9vbHRpcCA9IChldmVudDogYW55ID0gdW5kZWZpbmVkKSA9PiB7XG4gICAgY29uc3QgcmVtb3ZlRnJvbURPTSA9ICgpID0+IHtcbiAgICAgIHRoaXMuX3BvcHVwPy5yZW1vdmUoKTtcbiAgICAgIHRoaXMuX3BvcHVwID0gdW5kZWZpbmVkO1xuICAgIH07XG5cbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5fZGVzdHJveVRvb2x0aXAsIHRydWUpO1xuICAgIGlmICghdGhpcy5fcG9wdXApIHJldHVybjtcblxuICAgIHRoaXMuX3BvcHVwLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5fZGVzdHJveVRvb2x0aXApO1xuXG4gICAgY29uc3Qgbm9BbmltYXRpb24gPSBbJ3Njcm9sbCcsICdyZXNpemUnXS5pbmNsdWRlcyhldmVudD8udHlwZSk7XG5cbiAgICBpZiAobm9BbmltYXRpb24pIHtcbiAgICAgIHJlbW92ZUZyb21ET00oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcG9wdXAgPSB0aGlzLl9wb3B1cCBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIHBvcHVwLnN0eWxlLm9wYWNpdHkgPSAnMCc7XG4gICAgICB9KTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHJlbW92ZUZyb21ET00oKTtcbiAgICAgIH0sIDIwMCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX2NvbnN0cnVjdEVsZW1lbnQocG9wdXA6IEhUTUxEaXZFbGVtZW50KSB7XG4gICAgY29uc3QgcG9wdXBDb250ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgcG9wdXBDb250ZW50LmlubmVySFRNTCA9IHRoaXMudG9vbHRpcCB8fCAnQWRkIHlvdXIgdGV4dCB0byB0aGlzIHRvb2x0aXAnO1xuICAgIHBvcHVwQ29udGVudC5jbGFzc0xpc3QuYWRkKHRoaXMudG9vbHRpcENvbnRlbnRDbGFzcyk7XG4gICAgcG9wdXAuYXBwZW5kQ2hpbGQocG9wdXBDb250ZW50KTtcblxuICAgIHBvcHVwLmNsYXNzTGlzdC5hZGQoJ2Nwcy10b29sdGlwJyk7XG4gICAgcG9wdXAuc3R5bGUubWF4V2lkdGggPSBjb252ZXJ0U2l6ZSh0aGlzLnRvb2x0aXBNYXhXaWR0aCk7XG5cbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBvcHVwKTtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24gKCkge1xuICAgICAgcG9wdXAuc3R5bGUub3BhY2l0eSA9ICcxJztcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvb3JkcyA9IHRoaXMuX2dldENvb3JkcygpO1xuICAgIGlmICghY29vcmRzKSB7XG4gICAgICB0aGlzLl9kZXN0cm95VG9vbHRpcCgpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgZW5vdWdoIHNwYWNlIG9uIHRoZSBzY3JlZW4gZm9yIHRoZSB0b29sdGlwIScpO1xuICAgIH1cblxuICAgIHBvcHVwLnN0eWxlLmxlZnQgPSBjb29yZHMubGVmdC50b1N0cmluZygpICsgJ3B4JztcbiAgICBwb3B1cC5zdHlsZS50b3AgPSBjb29yZHMudG9wLnRvU3RyaW5nKCkgKyAncHgnO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29vcmRzKCk6IHsgbGVmdDogbnVtYmVyOyB0b3A6IG51bWJlciB9IHwgdW5kZWZpbmVkIHtcbiAgICBmdW5jdGlvbiBpc0luc2lkZVNjcmVlbihjb29yZHM6IHsgbGVmdDogbnVtYmVyOyB0b3A6IG51bWJlciB9KTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBjb29yZHMudG9wID49IDAgJiZcbiAgICAgICAgY29vcmRzLmxlZnQgPj0gMCAmJlxuICAgICAgICBjb29yZHMubGVmdCArIHBvcHVwUmVjdC53aWR0aCA8PSB3aW5kb3cuaW5uZXJXaWR0aCAmJlxuICAgICAgICBjb29yZHMudG9wICsgcG9wdXBSZWN0LmhlaWdodCA8PSB3aW5kb3cuaW5uZXJIZWlnaHRcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IHBvc2l0aW9ucyA9IFsndG9wJywgJ2JvdHRvbScsICdsZWZ0JywgJ3JpZ2h0J10gYXMgQ3BzVG9vbHRpcFBvc2l0aW9uW107XG4gICAgcG9zaXRpb25zID0gcG9zaXRpb25zLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gdGhpcy50b29sdGlwUG9zaXRpb24pO1xuICAgIHBvc2l0aW9ucy51bnNoaWZ0KHRoaXMudG9vbHRpcFBvc2l0aW9uKTtcblxuICAgIGNvbnN0IHRhcmdldEVsID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IHRhcmdldEVsUmVjdCA9IHRhcmdldEVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHBvcHVwUmVjdCA9ICh0aGlzLl9wb3B1cCBhcyBIVE1MRGl2RWxlbWVudCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBmb3IgKGNvbnN0IHBvcyBvZiBwb3NpdGlvbnMpIHtcbiAgICAgIGNvbnN0IGNvb3JkcyA9IHRoaXMuX2dldENvb3Jkc0ZvclBvc2l0aW9uKFxuICAgICAgICBwb3MgYXMgQ3BzVG9vbHRpcFBvc2l0aW9uLFxuICAgICAgICB0YXJnZXRFbCxcbiAgICAgICAgdGFyZ2V0RWxSZWN0LFxuICAgICAgICBwb3B1cFJlY3RcbiAgICAgICk7XG5cbiAgICAgIGlmIChpc0luc2lkZVNjcmVlbihjb29yZHMpKSB7XG4gICAgICAgIHJldHVybiBjb29yZHM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENvb3Jkc0ZvclBvc2l0aW9uKFxuICAgIHBvc2l0aW9uOiBDcHNUb29sdGlwUG9zaXRpb24sXG4gICAgdGFyZ2V0RWw6IEhUTUxFbGVtZW50LFxuICAgIHRhcmdldEVsUmVjdDogRE9NUmVjdCxcbiAgICBwb3B1cFJlY3Q6IERPTVJlY3RcbiAgKToge1xuICAgIGxlZnQ6IG51bWJlcjtcbiAgICB0b3A6IG51bWJlcjtcbiAgfSB7XG4gICAgc3dpdGNoIChwb3NpdGlvbikge1xuICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsZWZ0OlxuICAgICAgICAgICAgdGFyZ2V0RWxSZWN0LmxlZnQgK1xuICAgICAgICAgICAgd2luZG93LnNjcm9sbFggK1xuICAgICAgICAgICAgKHRhcmdldEVsLm9mZnNldFdpZHRoIC0gcG9wdXBSZWN0LndpZHRoKSAvIDIsXG4gICAgICAgICAgdG9wOiB0YXJnZXRFbFJlY3QuYm90dG9tICsgd2luZG93LnNjcm9sbFkgKyA4XG4gICAgICAgIH07XG4gICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsZWZ0OiB0YXJnZXRFbFJlY3QubGVmdCAtIHdpbmRvdy5zY3JvbGxYIC0gcG9wdXBSZWN0LndpZHRoIC0gOCxcbiAgICAgICAgICB0b3A6XG4gICAgICAgICAgICB0YXJnZXRFbFJlY3QudG9wICtcbiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxZICtcbiAgICAgICAgICAgICh0YXJnZXRFbC5vZmZzZXRIZWlnaHQgLSBwb3B1cFJlY3QuaGVpZ2h0KSAvIDJcbiAgICAgICAgfTtcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsZWZ0OiB0YXJnZXRFbFJlY3QucmlnaHQgKyB3aW5kb3cuc2Nyb2xsWCArIDgsXG4gICAgICAgICAgdG9wOlxuICAgICAgICAgICAgdGFyZ2V0RWxSZWN0LnRvcCArXG4gICAgICAgICAgICB3aW5kb3cuc2Nyb2xsWSArXG4gICAgICAgICAgICAodGFyZ2V0RWwub2Zmc2V0SGVpZ2h0IC0gcG9wdXBSZWN0LmhlaWdodCkgLyAyXG4gICAgICAgIH07XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGxlZnQ6XG4gICAgICAgICAgICB0YXJnZXRFbFJlY3QubGVmdCArXG4gICAgICAgICAgICB3aW5kb3cuc2Nyb2xsWCArXG4gICAgICAgICAgICAodGFyZ2V0RWwub2Zmc2V0V2lkdGggLSBwb3B1cFJlY3Qud2lkdGgpIC8gMixcbiAgICAgICAgICB0b3A6IHRhcmdldEVsUmVjdC50b3AgKyB3aW5kb3cuc2Nyb2xsWSAtIHBvcHVwUmVjdC5oZWlnaHQgLSA4XG4gICAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpIG9uTW91c2VFbnRlcigpIHtcbiAgICBpZiAodGhpcy50b29sdGlwT3Blbk9uID09PSAnaG92ZXInKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5faGlkZVRpbWVvdXQpO1xuXG4gICAgICB0aGlzLl9zaG93VGltZW91dCA9IHNldFRpbWVvdXQoXG4gICAgICAgIHRoaXMuX2NyZWF0ZVRvb2x0aXAsXG4gICAgICAgIHRoaXMudG9vbHRpcE9wZW5EZWxheSBhcyBudW1iZXJcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpIG9uTW91c2VMZWF2ZSgpIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fc2hvd1RpbWVvdXQpO1xuXG4gICAgaWYgKCF0aGlzLnRvb2x0aXBQZXJzaXN0ZW50KSB7XG4gICAgICB0aGlzLl9oaWRlVGltZW91dCA9IHNldFRpbWVvdXQoXG4gICAgICAgIHRoaXMuX2Rlc3Ryb3lUb29sdGlwLFxuICAgICAgICB0aGlzLnRvb2x0aXBDbG9zZURlbGF5IGFzIG51bWJlclxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1cycpIG9uRm9jdXMoKSB7XG4gICAgaWYgKHRoaXMudG9vbHRpcE9wZW5PbiA9PT0gJ2ZvY3VzJykge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2hpZGVUaW1lb3V0KTtcblxuICAgICAgdGhpcy5fc2hvd1RpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgICB0aGlzLl9jcmVhdGVUb29sdGlwLFxuICAgICAgICB0aGlzLnRvb2x0aXBPcGVuRGVsYXkgYXMgbnVtYmVyXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKSBvbkJsdXIoKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX3Nob3dUaW1lb3V0KTtcbiAgICBpZiAoIXRoaXMudG9vbHRpcFBlcnNpc3RlbnQgJiYgdGhpcy50b29sdGlwT3Blbk9uID09PSAnZm9jdXMnKSB7XG4gICAgICB0aGlzLl9oaWRlVGltZW91dCA9IHNldFRpbWVvdXQoXG4gICAgICAgIHRoaXMuX2Rlc3Ryb3lUb29sdGlwLFxuICAgICAgICB0aGlzLnRvb2x0aXBDbG9zZURlbGF5IGFzIG51bWJlclxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpIG9uQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMudG9vbHRpcE9wZW5PbiA9PT0gJ2NsaWNrJykge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2hpZGVUaW1lb3V0KTtcblxuICAgICAgdGhpcy5fc2hvd1RpbWVvdXQgPSBzZXRUaW1lb3V0KHRoaXMuX2NyZWF0ZVRvb2x0aXAsIDApO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIG9uRG9jdW1lbnRDbGljayh0YXJnZXQ6IGFueSkge1xuICAgIGlmICh0aGlzLnRvb2x0aXBQZXJzaXN0ZW50ICYmIHRoaXMuX3BvcHVwKSB7XG4gICAgICBpZiAoIXRhcmdldD8uaXNDb25uZWN0ZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgY2xpY2tlZEluc2lkZSA9IHRoaXMuX2VsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmNvbnRhaW5zKHRhcmdldCk7XG4gICAgICBpZiAoIWNsaWNrZWRJbnNpZGUpIHtcbiAgICAgICAgdGhpcy5fZGVzdHJveVRvb2x0aXAoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSkgb25QYWdlUmVzaXplKGV2ZW50OiBFdmVudCkge1xuICAgIGlmICh0aGlzLl9wb3B1cCkgdGhpcy5fZGVzdHJveVRvb2x0aXAoZXZlbnQpO1xuICB9XG59XG4iXX0=
@@ -14,11 +14,11 @@ export class CheckOptionSelectedPipe {
14
14
  ? isEqual(option, value)
15
15
  : isEqual(option[optionValue], value);
16
16
  }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CheckOptionSelectedPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
18
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: CheckOptionSelectedPipe, isStandalone: true, name: "checkOptionSelected" }); }
17
19
  }
18
- CheckOptionSelectedPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckOptionSelectedPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
19
- CheckOptionSelectedPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: CheckOptionSelectedPipe, isStandalone: true, name: "checkOptionSelected" });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckOptionSelectedPipe, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CheckOptionSelectedPipe, decorators: [{
21
21
  type: Pipe,
22
22
  args: [{ standalone: true, name: 'checkOptionSelected' }]
23
23
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stb3B0aW9uLXNlbGVjdGVkLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcHMtdWkta2l0L3NyYy9saWIvcGlwZXMvaW50ZXJuYWwvY2hlY2stb3B0aW9uLXNlbGVjdGVkLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFHcEMsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxTQUFTLENBQ1AsTUFBVyxFQUNYLEtBQVUsRUFDVixRQUFpQixFQUNqQixZQUFxQixFQUNyQixXQUFtQjtRQUVuQixTQUFTLFFBQVEsQ0FBQyxLQUFZLEVBQUUsR0FBUTtZQUN0QyxPQUFPLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUM7UUFDNUQsQ0FBQztRQUVELE9BQU8sUUFBUTtZQUNiLENBQUMsQ0FBQyxZQUFZO2dCQUNaLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztnQkFDekIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hDLENBQUMsQ0FBQyxZQUFZO2dCQUNkLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztnQkFDeEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7b0hBbkJVLHVCQUF1QjtrSEFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLElBQUk7bUJBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5AUGlwZSh7IHN0YW5kYWxvbmU6IHRydWUsIG5hbWU6ICdjaGVja09wdGlvblNlbGVjdGVkJyB9KVxuZXhwb3J0IGNsYXNzIENoZWNrT3B0aW9uU2VsZWN0ZWRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShcbiAgICBvcHRpb246IGFueSxcbiAgICB2YWx1ZTogYW55LFxuICAgIG11bHRpcGxlOiBib29sZWFuLFxuICAgIHJldHVybk9iamVjdDogYm9vbGVhbixcbiAgICBvcHRpb25WYWx1ZTogc3RyaW5nXG4gICk6IGJvb2xlYW4ge1xuICAgIGZ1bmN0aW9uIGluY2x1ZGVzKGFycmF5OiBhbnlbXSwgdmFsOiBhbnkpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBhcnJheT8uc29tZSgoaXRlbSkgPT4gaXNFcXVhbChpdGVtLCB2YWwpKSB8fCBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbXVsdGlwbGVcbiAgICAgID8gcmV0dXJuT2JqZWN0XG4gICAgICAgID8gaW5jbHVkZXModmFsdWUsIG9wdGlvbilcbiAgICAgICAgOiBpbmNsdWRlcyh2YWx1ZSwgb3B0aW9uW29wdGlvblZhbHVlXSlcbiAgICAgIDogcmV0dXJuT2JqZWN0XG4gICAgICA/IGlzRXF1YWwob3B0aW9uLCB2YWx1ZSlcbiAgICAgIDogaXNFcXVhbChvcHRpb25bb3B0aW9uVmFsdWVdLCB2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stb3B0aW9uLXNlbGVjdGVkLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcHMtdWkta2l0L3NyYy9saWIvcGlwZXMvaW50ZXJuYWwvY2hlY2stb3B0aW9uLXNlbGVjdGVkLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFHcEMsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxTQUFTLENBQ1AsTUFBVyxFQUNYLEtBQVUsRUFDVixRQUFpQixFQUNqQixZQUFxQixFQUNyQixXQUFtQjtRQUVuQixTQUFTLFFBQVEsQ0FBQyxLQUFZLEVBQUUsR0FBUTtZQUN0QyxPQUFPLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUM7UUFDNUQsQ0FBQztRQUVELE9BQU8sUUFBUTtZQUNiLENBQUMsQ0FBQyxZQUFZO2dCQUNaLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztnQkFDekIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hDLENBQUMsQ0FBQyxZQUFZO2dCQUNaLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztnQkFDeEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQzs4R0FuQlUsdUJBQXVCOzRHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBRG5DLElBQUk7bUJBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5AUGlwZSh7IHN0YW5kYWxvbmU6IHRydWUsIG5hbWU6ICdjaGVja09wdGlvblNlbGVjdGVkJyB9KVxuZXhwb3J0IGNsYXNzIENoZWNrT3B0aW9uU2VsZWN0ZWRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShcbiAgICBvcHRpb246IGFueSxcbiAgICB2YWx1ZTogYW55LFxuICAgIG11bHRpcGxlOiBib29sZWFuLFxuICAgIHJldHVybk9iamVjdDogYm9vbGVhbixcbiAgICBvcHRpb25WYWx1ZTogc3RyaW5nXG4gICk6IGJvb2xlYW4ge1xuICAgIGZ1bmN0aW9uIGluY2x1ZGVzKGFycmF5OiBhbnlbXSwgdmFsOiBhbnkpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBhcnJheT8uc29tZSgoaXRlbSkgPT4gaXNFcXVhbChpdGVtLCB2YWwpKSB8fCBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbXVsdGlwbGVcbiAgICAgID8gcmV0dXJuT2JqZWN0XG4gICAgICAgID8gaW5jbHVkZXModmFsdWUsIG9wdGlvbilcbiAgICAgICAgOiBpbmNsdWRlcyh2YWx1ZSwgb3B0aW9uW29wdGlvblZhbHVlXSlcbiAgICAgIDogcmV0dXJuT2JqZWN0XG4gICAgICAgID8gaXNFcXVhbChvcHRpb24sIHZhbHVlKVxuICAgICAgICA6IGlzRXF1YWwob3B0aW9uW29wdGlvblZhbHVlXSwgdmFsdWUpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { isEqual } from 'lodash-es';
3
+ import * as i0 from "@angular/core";
4
+ export class CombineLabelsPipe {
5
+ transform(values, options, valueKey, labelKey, returnObject) {
6
+ return values
7
+ .map((v) => {
8
+ if (returnObject) {
9
+ return v[labelKey];
10
+ }
11
+ else {
12
+ const option = options.find((opt) => isEqual(opt[valueKey], v));
13
+ return option ? option[labelKey] : '';
14
+ }
15
+ })
16
+ .join(', ');
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CombineLabelsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
19
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: CombineLabelsPipe, isStandalone: true, name: "combineLabels" }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CombineLabelsPipe, decorators: [{
22
+ type: Pipe,
23
+ args: [{ standalone: true, name: 'combineLabels' }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZS1sYWJlbHMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nwcy11aS1raXQvc3JjL2xpYi9waXBlcy9pbnRlcm5hbC9jb21iaW5lLWxhYmVscy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBR3BDLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsU0FBUyxDQUNQLE1BQWEsRUFDYixPQUFjLEVBQ2QsUUFBZ0IsRUFDaEIsUUFBZ0IsRUFDaEIsWUFBcUI7UUFFckIsT0FBTyxNQUFNO2FBQ1YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDVCxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNqQixPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoRSxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDeEMsQ0FBQztRQUNILENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDOzhHQWxCVSxpQkFBaUI7NEdBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsSUFBSTttQkFBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5AUGlwZSh7IHN0YW5kYWxvbmU6IHRydWUsIG5hbWU6ICdjb21iaW5lTGFiZWxzJyB9KVxuZXhwb3J0IGNsYXNzIENvbWJpbmVMYWJlbHNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShcbiAgICB2YWx1ZXM6IGFueVtdLFxuICAgIG9wdGlvbnM6IGFueVtdLFxuICAgIHZhbHVlS2V5OiBzdHJpbmcsXG4gICAgbGFiZWxLZXk6IHN0cmluZyxcbiAgICByZXR1cm5PYmplY3Q6IGJvb2xlYW5cbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWVzXG4gICAgICAubWFwKCh2KSA9PiB7XG4gICAgICAgIGlmIChyZXR1cm5PYmplY3QpIHtcbiAgICAgICAgICByZXR1cm4gdltsYWJlbEtleV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9ucy5maW5kKChvcHQpID0+IGlzRXF1YWwob3B0W3ZhbHVlS2V5XSwgdikpO1xuICAgICAgICAgIHJldHVybiBvcHRpb24gPyBvcHRpb25bbGFiZWxLZXldIDogJyc7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAuam9pbignLCAnKTtcbiAgfVxufVxuIl19
@@ -6,11 +6,11 @@ export class LabelByValuePipe {
6
6
  const option = options.find((opt) => isEqual(opt[valueKey], value));
7
7
  return option ? option[labelKey] : '';
8
8
  }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LabelByValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
10
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: LabelByValuePipe, isStandalone: true, name: "labelByValue" }); }
9
11
  }
10
- LabelByValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LabelByValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
11
- LabelByValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: LabelByValuePipe, isStandalone: true, name: "labelByValue" });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LabelByValuePipe, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LabelByValuePipe, decorators: [{
13
13
  type: Pipe,
14
14
  args: [{ standalone: true, name: 'labelByValue' }]
15
15
  }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwtYnktdmFsdWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nwcy11aS1raXQvc3JjL2xpYi9waXBlcy9pbnRlcm5hbC9sYWJlbC1ieS12YWx1ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBR3BDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsU0FBUyxDQUNQLEtBQVUsRUFDVixPQUFjLEVBQ2QsUUFBZ0IsRUFDaEIsUUFBZ0I7UUFFaEIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDOzs2R0FUVSxnQkFBZ0I7MkdBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixJQUFJO21CQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBQaXBlKHsgc3RhbmRhbG9uZTogdHJ1ZSwgbmFtZTogJ2xhYmVsQnlWYWx1ZScgfSlcbmV4cG9ydCBjbGFzcyBMYWJlbEJ5VmFsdWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShcbiAgICB2YWx1ZTogYW55LFxuICAgIG9wdGlvbnM6IGFueVtdLFxuICAgIHZhbHVlS2V5OiBzdHJpbmcsXG4gICAgbGFiZWxLZXk6IHN0cmluZ1xuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnMuZmluZCgob3B0KSA9PiBpc0VxdWFsKG9wdFt2YWx1ZUtleV0sIHZhbHVlKSk7XG4gICAgcmV0dXJuIG9wdGlvbiA/IG9wdGlvbltsYWJlbEtleV0gOiAnJztcbiAgfVxufVxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwtYnktdmFsdWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nwcy11aS1raXQvc3JjL2xpYi9waXBlcy9pbnRlcm5hbC9sYWJlbC1ieS12YWx1ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBR3BDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsU0FBUyxDQUNQLEtBQVUsRUFDVixPQUFjLEVBQ2QsUUFBZ0IsRUFDaEIsUUFBZ0I7UUFFaEIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDOzhHQVRVLGdCQUFnQjs0R0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixJQUFJO21CQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBQaXBlKHsgc3RhbmRhbG9uZTogdHJ1ZSwgbmFtZTogJ2xhYmVsQnlWYWx1ZScgfSlcbmV4cG9ydCBjbGFzcyBMYWJlbEJ5VmFsdWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShcbiAgICB2YWx1ZTogYW55LFxuICAgIG9wdGlvbnM6IGFueVtdLFxuICAgIHZhbHVlS2V5OiBzdHJpbmcsXG4gICAgbGFiZWxLZXk6IHN0cmluZ1xuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnMuZmluZCgob3B0KSA9PiBpc0VxdWFsKG9wdFt2YWx1ZUtleV0sIHZhbHVlKSk7XG4gICAgcmV0dXJuIG9wdGlvbiA/IG9wdGlvbltsYWJlbEtleV0gOiAnJztcbiAgfVxufVxuIl19
@@ -0,0 +1,99 @@
1
+ import { Injectable, Inject } from '@angular/core';
2
+ import { DynamicDialogInjector } from 'primeng/dynamicdialog';
3
+ import { DOCUMENT } from '@angular/common';
4
+ import { CpsDialogRef } from './utils/cps-dialog-ref';
5
+ import { CpsDialogConfig } from './utils/cps-dialog-config';
6
+ import { CpsDialogComponent } from './internal/components/cps-dialog/cps-dialog.component';
7
+ import { CpsConfirmationComponent } from './internal/components/cps-confirmation/cps-confirmation.component';
8
+ import * as i0 from "@angular/core";
9
+ /**
10
+ * Service for showing CpsDialog.
11
+ * @group Services
12
+ */
13
+ export class CpsDialogService {
14
+ // eslint-disable-next-line no-useless-constructor
15
+ constructor(viewContainerRef, injector, document) {
16
+ this.viewContainerRef = viewContainerRef;
17
+ this.injector = injector;
18
+ this.document = document;
19
+ this.dialogComponentRefMap = new Map();
20
+ }
21
+ /**
22
+ * Opens a dialog with a dynamically loaded component.
23
+ * @param {*} componentType - Dynamic component for content template.
24
+ * @param {CpsDialogConfig} config - CpsDialogConfig object.
25
+ * @returns {CpsDialogRef} CpsDialogRef instance.
26
+ * @group Method
27
+ */
28
+ open(componentType, config) {
29
+ const dialogRef = this.appendDialogComponentToBody(config);
30
+ const instance = this.dialogComponentRefMap.get(dialogRef)?.instance;
31
+ if (instance)
32
+ instance.childComponentType = componentType;
33
+ return dialogRef;
34
+ }
35
+ /**
36
+ * Opens a confirmation dialog.
37
+ * @param {CpsDialogConfig} config - CpsDialogConfig object.
38
+ * @returns {CpsDialogRef} CpsDialogRef instance.
39
+ * @group Method
40
+ */
41
+ openConfirmationDialog(config) {
42
+ if (!config.headerTitle)
43
+ config.headerTitle = 'Confirm the action';
44
+ if (!config.headerIcon)
45
+ config.headerIcon = 'warning';
46
+ if (!config.headerIconColor)
47
+ config.headerIconColor = 'calm';
48
+ if (!config.minWidth)
49
+ config.minWidth = '400px';
50
+ if (!config.maxWidth)
51
+ config.maxWidth = '600px';
52
+ const dialogRef = this.appendDialogComponentToBody(config);
53
+ const instance = this.dialogComponentRefMap.get(dialogRef)?.instance;
54
+ if (instance)
55
+ instance.childComponentType = CpsConfirmationComponent;
56
+ return dialogRef;
57
+ }
58
+ appendDialogComponentToBody(config) {
59
+ const map = new WeakMap();
60
+ map.set(CpsDialogConfig, config);
61
+ const dialogRef = new CpsDialogRef();
62
+ map.set(CpsDialogRef, dialogRef);
63
+ const sub = dialogRef.onClose.subscribe(() => {
64
+ this.dialogComponentRefMap.get(dialogRef)?.instance.close();
65
+ });
66
+ const destroySub = dialogRef.onDestroy.subscribe(() => {
67
+ this.removeDialogComponentFromBody(dialogRef);
68
+ destroySub.unsubscribe();
69
+ sub.unsubscribe();
70
+ });
71
+ const componentRef = this.viewContainerRef.createComponent(CpsDialogComponent, { injector: new DynamicDialogInjector(this.injector, map) });
72
+ const domElem = componentRef.hostView
73
+ .rootNodes[0];
74
+ this.document.body.appendChild(domElem);
75
+ this.dialogComponentRefMap.set(dialogRef, componentRef);
76
+ dialogRef._setContainerInstance(componentRef.instance);
77
+ return dialogRef;
78
+ }
79
+ removeDialogComponentFromBody(dialogRef) {
80
+ if (!dialogRef || !this.dialogComponentRefMap.has(dialogRef)) {
81
+ return;
82
+ }
83
+ const dialogComponentRef = this.dialogComponentRefMap.get(dialogRef);
84
+ if (dialogComponentRef) {
85
+ this.viewContainerRef.detach(this.viewContainerRef.indexOf(dialogComponentRef.hostView));
86
+ dialogComponentRef.destroy();
87
+ this.dialogComponentRefMap.delete(dialogRef);
88
+ }
89
+ }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CpsDialogService, deps: [{ token: i0.ViewContainerRef }, { token: i0.Injector }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
91
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CpsDialogService }); }
92
+ }
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CpsDialogService, decorators: [{
94
+ type: Injectable
95
+ }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.Injector }, { type: Document, decorators: [{
96
+ type: Inject,
97
+ args: [DOCUMENT]
98
+ }] }] });
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLWRpYWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL3NlcnZpY2VzL2Nwcy1kaWFsb2cvY3BzLWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBS1YsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzNGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1FQUFtRSxDQUFDOztBQUU3Rzs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLGtEQUFrRDtJQUNsRCxZQUNVLGdCQUFrQyxFQUNsQyxRQUFrQixFQUNBLFFBQWtCO1FBRnBDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNBLGFBQVEsR0FBUixRQUFRLENBQVU7UUFQOUMsMEJBQXFCLEdBQ25CLElBQUksR0FBRyxFQUFFLENBQUM7SUFPVCxDQUFDO0lBRUo7Ozs7OztPQU1HO0lBQ0ksSUFBSSxDQUFDLGFBQXdCLEVBQUUsTUFBdUI7UUFDM0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTNELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsUUFBUSxD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QUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckUsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQzFCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQzNELENBQUM7WUFDRixrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDOzhHQTVGVSxnQkFBZ0IsMEVBUWpCLFFBQVE7a0hBUlAsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVOzswQkFTTixNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3RhYmxlLFxuICBJbmplY3RvcixcbiAgVHlwZSxcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBDb21wb25lbnRSZWYsXG4gIEluamVjdCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IER5bmFtaWNEaWFsb2dJbmplY3RvciB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDcHNEaWFsb2dSZWYgfSBmcm9tICcuL3V0aWxzL2Nwcy1kaWFsb2ctcmVmJztcbmltcG9ydCB7IENwc0RpYWxvZ0NvbmZpZyB9IGZyb20gJy4vdXRpbHMvY3BzLWRpYWxvZy1jb25maWcnO1xuaW1wb3J0IHsgQ3BzRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9pbnRlcm5hbC9jb21wb25lbnRzL2Nwcy1kaWFsb2cvY3BzLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3BzQ29uZmlybWF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9pbnRlcm5hbC9jb21wb25lbnRzL2Nwcy1jb25maXJtYXRpb24vY3BzLWNvbmZpcm1hdGlvbi5jb21wb25lbnQnO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIHNob3dpbmcgQ3BzRGlhbG9nLlxuICogQGdyb3VwIFNlcnZpY2VzXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDcHNEaWFsb2dTZXJ2aWNlIHtcbiAgZGlhbG9nQ29tcG9uZW50UmVmTWFwOiBNYXA8Q3BzRGlhbG9nUmVmLCBDb21wb25lbnRSZWY8Q3BzRGlhbG9nQ29tcG9uZW50Pj4gPVxuICAgIG5ldyBNYXAoKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlbGVzcy1jb25zdHJ1Y3RvclxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnRcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBPcGVucyBhIGRpYWxvZyB3aXRoIGEgZHluYW1pY2FsbHkgbG9hZGVkIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIHsqfSBjb21wb25lbnRUeXBlIC0gRHluYW1pYyBjb21wb25lbnQgZm9yIGNvbnRlbnQgdGVtcGxhdGUuXG4gICAqIEBwYXJhbSB7Q3BzRGlhbG9nQ29uZmlnfSBjb25maWcgLSBDcHNEaWFsb2dDb25maWcgb2JqZWN0LlxuICAgKiBAcmV0dXJucyB7Q3BzRGlhbG9nUmVmfSBDcHNEaWFsb2dSZWYgaW5zdGFuY2UuXG4gICAqIEBncm91cCBNZXRob2RcbiAgICovXG4gIHB1YmxpYyBvcGVuKGNvbXBvbmVudFR5cGU6IFR5cGU8YW55PiwgY29uZmlnOiBDcHNEaWFsb2dDb25maWcpOiBDcHNEaWFsb2dSZWYge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuYXBwZW5kRGlhbG9nQ29tcG9uZW50VG9Cb2R5KGNvbmZpZyk7XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuZGlhbG9nQ29tcG9uZW50UmVmTWFwLmdldChkaWFsb2dSZWYpPy5pbnN0YW5jZTtcbiAgICBpZiAoaW5zdGFuY2UpIGluc3RhbmNlLmNoaWxkQ29tcG9uZW50VHlwZSA9IGNvbXBvbmVudFR5cGU7XG5cbiAgICByZXR1cm4gZGlhbG9nUmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgY29uZmlybWF0aW9uIGRpYWxvZy5cbiAgICogQHBhcmFtIHtDcHNEaWFsb2dDb25maWd9IGNvbmZpZyAtIENwc0RpYWxvZ0NvbmZpZyBvYmplY3QuXG4gICAqIEByZXR1cm5zIHtDcHNEaWFsb2dSZWZ9IENwc0RpYWxvZ1JlZiBpbnN0YW5jZS5cbiAgICogQGdyb3VwIE1ldGhvZFxuICAgKi9cbiAgcHVibGljIG9wZW5Db25maXJtYXRpb25EaWFsb2coY29uZmlnOiBDcHNEaWFsb2dDb25maWcpOiBDcHNEaWFsb2dSZWYge1xuICAgIGlmICghY29uZmlnLmhlYWRlclRpdGxlKSBjb25maWcuaGVhZGVyVGl0bGUgPSAnQ29uZmlybSB0aGUgYWN0aW9uJztcbiAgICBpZiAoIWNvbmZpZy5oZWFkZXJJY29uKSBjb25maWcuaGVhZGVySWNvbiA9ICd3YXJuaW5nJztcbiAgICBpZiAoIWNvbmZpZy5oZWFkZXJJY29uQ29sb3IpIGNvbmZpZy5oZWFkZXJJY29uQ29sb3IgPSAnY2FsbSc7XG4gICAgaWYgKCFjb25maWcubWluV2lkdGgpIGNvbmZpZy5taW5XaWR0aCA9ICc0MDBweCc7XG4gICAgaWYgKCFjb25maWcubWF4V2lkdGgpIGNvbmZpZy5tYXhXaWR0aCA9ICc2MDBweCc7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5hcHBlbmREaWFsb2dDb21wb25lbnRUb0JvZHkoY29uZmlnKTtcblxuICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5kaWFsb2dDb21wb25lbnRSZWZNYXAuZ2V0KGRpYWxvZ1JlZik/Lmluc3RhbmNlO1xuICAgIGlmIChpbnN0YW5jZSkgaW5zdGFuY2UuY2hpbGRDb21wb25lbnRUeXBlID0gQ3BzQ29uZmlybWF0aW9uQ29tcG9uZW50O1xuXG4gICAgcmV0dXJuIGRpYWxvZ1JlZjtcbiAgfVxuXG4gIHByaXZhdGUgYXBwZW5kRGlhbG9nQ29tcG9uZW50VG9Cb2R5KGNvbmZpZzogQ3BzRGlhbG9nQ29uZmlnKSB7XG4gICAgY29uc3QgbWFwID0gbmV3IFdlYWtNYXAoKTtcbiAgICBtYXAuc2V0KENwc0RpYWxvZ0NvbmZpZywgY29uZmlnKTtcblxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IG5ldyBDcHNEaWFsb2dSZWYoKTtcbiAgICBtYXAuc2V0KENwc0RpYWxvZ1JlZiwgZGlhbG9nUmVmKTtcblxuICAgIGNvbnN0IHN1YiA9IGRpYWxvZ1JlZi5vbkNsb3NlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmRpYWxvZ0NvbXBvbmVudFJlZk1hcC5nZXQoZGlhbG9nUmVmKT8uaW5zdGFuY2UuY2xvc2UoKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGRlc3Ryb3lTdWIgPSBkaWFsb2dSZWYub25EZXN0cm95LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlbW92ZURpYWxvZ0NvbXBvbmVudEZyb21Cb2R5KGRpYWxvZ1JlZik7XG4gICAgICBkZXN0cm95U3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICBzdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoXG4gICAgICBDcHNEaWFsb2dDb21wb25lbnQsXG4gICAgICB7IGluamVjdG9yOiBuZXcgRHluYW1pY0RpYWxvZ0luamVjdG9yKHRoaXMuaW5qZWN0b3IsIG1hcCkgfVxuICAgICk7XG5cbiAgICBjb25zdCBkb21FbGVtID0gKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55PilcbiAgICAgIC5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgdGhpcy5kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuXG4gICAgdGhpcy5kaWFsb2dDb21wb25lbnRSZWZNYXAuc2V0KGRpYWxvZ1JlZiwgY29tcG9uZW50UmVmKTtcbiAgICBkaWFsb2dSZWYuX3NldENvbnRhaW5lckluc3RhbmNlKGNvbXBvbmVudFJlZi5pbnN0YW5jZSk7XG5cbiAgICByZXR1cm4gZGlhbG9nUmVmO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVEaWFsb2dDb21wb25lbnRGcm9tQm9keShkaWFsb2dSZWY6IENwc0RpYWxvZ1JlZikge1xuICAgIGlmICghZGlhbG9nUmVmIHx8ICF0aGlzLmRpYWxvZ0NvbXBvbmVudFJlZk1hcC5oYXMoZGlhbG9nUmVmKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRpYWxvZ0NvbXBvbmVudFJlZiA9IHRoaXMuZGlhbG9nQ29tcG9uZW50UmVmTWFwLmdldChkaWFsb2dSZWYpO1xuICAgIGlmIChkaWFsb2dDb21wb25lbnRSZWYpIHtcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5kZXRhY2goXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5pbmRleE9mKGRpYWxvZ0NvbXBvbmVudFJlZi5ob3N0VmlldylcbiAgICAgICk7XG4gICAgICBkaWFsb2dDb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgdGhpcy5kaWFsb2dDb21wb25lbnRSZWZNYXAuZGVsZXRlKGRpYWxvZ1JlZik7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -15,11 +15,11 @@ export class CpsConfirmationComponent {
15
15
  close(confirm) {
16
16
  this._dialogRef?.close(confirm);
17
17
  }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CpsConfirmationComponent, deps: [{ token: i1.CpsDialogRef }, { token: i2.CpsDialogConfig }], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: CpsConfirmationComponent, isStandalone: true, selector: "cps-confirmation", ngImport: i0, template: "<div class=\"cps-confirmation\">\n <span class=\"cps-confirmation-subtitle\">{{ subtitle }}</span>\n <div class=\"cps-confirmation-buttons\">\n <cps-button\n type=\"outlined\"\n label=\"No\"\n (clicked)=\"close(false)\"\n color=\"prepared\">\n </cps-button>\n <cps-button\n data-cy=\"btn-yes\"\n label=\"Yes\"\n (clicked)=\"close(true)\"\n color=\"prepared\">\n </cps-button>\n </div>\n</div>\n", styles: [":host .cps-confirmation{display:flex;flex-direction:column;align-items:center;padding:8px}:host .cps-confirmation-subtitle{font-size:16px;font-weight:400;font-family:Source Sans Pro,sans-serif;color:var(--cps-color-text-dark)}:host .cps-confirmation-buttons{width:100%;display:flex;justify-content:space-around;padding-top:28px}\n"], dependencies: [{ kind: "component", type: CpsButtonComponent, selector: "cps-button", inputs: ["color", "contentColor", "type", "label", "icon", "iconPosition", "size", "width", "height", "disabled", "loading"], outputs: ["clicked"] }] }); }
18
20
  }
19
- CpsConfirmationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CpsConfirmationComponent, deps: [{ token: i1.CpsDialogRef }, { token: i2.CpsDialogConfig }], target: i0.ɵɵFactoryTarget.Component });
20
- CpsConfirmationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CpsConfirmationComponent, isStandalone: true, selector: "cps-confirmation", ngImport: i0, template: "<div class=\"cps-confirmation\">\n <span class=\"cps-confirmation-subtitle\">{{ subtitle }}</span>\n <div class=\"cps-confirmation-buttons\">\n <cps-button\n type=\"outlined\"\n label=\"No\"\n (clicked)=\"close(false)\"\n color=\"prepared\">\n </cps-button>\n <cps-button\n data-cy=\"btn-yes\"\n label=\"Yes\"\n (clicked)=\"close(true)\"\n color=\"prepared\">\n </cps-button>\n </div>\n</div>\n", styles: [":host .cps-confirmation{display:flex;flex-direction:column;align-items:center;padding:8px}:host .cps-confirmation-subtitle{font-size:16px;font-weight:400;font-family:Source Sans Pro,sans-serif;color:var(--cps-color-text-dark)}:host .cps-confirmation-buttons{width:100%;display:flex;justify-content:space-around;padding-top:28px}\n"], dependencies: [{ kind: "component", type: CpsButtonComponent, selector: "cps-button", inputs: ["color", "contentColor", "type", "label", "icon", "iconPosition", "size", "width", "height", "disabled", "loading"], outputs: ["clicked"] }] });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CpsConfirmationComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CpsConfirmationComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{ standalone: true, imports: [CpsButtonComponent, CpsIconComponent], selector: 'cps-confirmation', template: "<div class=\"cps-confirmation\">\n <span class=\"cps-confirmation-subtitle\">{{ subtitle }}</span>\n <div class=\"cps-confirmation-buttons\">\n <cps-button\n type=\"outlined\"\n label=\"No\"\n (clicked)=\"close(false)\"\n color=\"prepared\">\n </cps-button>\n <cps-button\n data-cy=\"btn-yes\"\n label=\"Yes\"\n (clicked)=\"close(true)\"\n color=\"prepared\">\n </cps-button>\n </div>\n</div>\n", styles: [":host .cps-confirmation{display:flex;flex-direction:column;align-items:center;padding:8px}:host .cps-confirmation-subtitle{font-size:16px;font-weight:400;font-family:Source Sans Pro,sans-serif;color:var(--cps-color-text-dark)}:host .cps-confirmation-buttons{width:100%;display:flex;justify-content:space-around;padding-top:28px}\n"] }]
24
- }], ctorParameters: function () { return [{ type: i1.CpsDialogRef }, { type: i2.CpsDialogConfig }]; } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLWNvbmZpcm1hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcHMtdWkta2l0L3NyYy9saWIvc2VydmljZXMvY3BzLWRpYWxvZy9pbnRlcm5hbC9jb21wb25lbnRzL2Nwcy1jb25maXJtYXRpb24vY3BzLWNvbmZpcm1hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcHMtdWkta2l0L3NyYy9saWIvc2VydmljZXMvY3BzLWRpYWxvZy9pbnRlcm5hbC9jb21wb25lbnRzL2Nwcy1jb25maXJtYXRpb24vY3BzLWNvbmZpcm1hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOzs7O0FBV3pGLE1BQU0sT0FBTyx3QkFBd0I7SUFHbkMsa0RBQWtEO0lBQ2xELFlBQ1UsVUFBd0IsRUFDeEIsT0FBd0I7UUFEeEIsZUFBVSxHQUFWLFVBQVUsQ0FBYztRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUxsQyxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBT1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDN0MsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFnQjtRQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDOztxSEFiVSx3QkFBd0I7eUdBQXhCLHdCQUF3Qiw0RUNickMsbWNBaUJBLG9ZRFRZLGtCQUFrQjsyRkFLakIsd0JBQXdCO2tCQVBwQyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLGtCQUFrQixFQUFFLGdCQUFnQixDQUFDLFlBQ3JDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3BzQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9jcHMtYnV0dG9uL2Nwcy1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IENwc0ljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2Nwcy1pY29uL2Nwcy1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDcHNEaWFsb2dSZWYgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jcHMtZGlhbG9nLXJlZic7XG5pbXBvcnQgeyBDcHNEaWFsb2dDb25maWcgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jcHMtZGlhbG9nLWNvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ3BzQnV0dG9uQ29tcG9uZW50LCBDcHNJY29uQ29tcG9uZW50XSxcbiAgc2VsZWN0b3I6ICdjcHMtY29uZmlybWF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nwcy1jb25maXJtYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jcHMtY29uZmlybWF0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ3BzQ29uZmlybWF0aW9uQ29tcG9uZW50IHtcbiAgc3VidGl0bGUgPSAnJztcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlbGVzcy1jb25zdHJ1Y3RvclxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9kaWFsb2dSZWY6IENwc0RpYWxvZ1JlZixcbiAgICBwcml2YXRlIF9jb25maWc6IENwc0RpYWxvZ0NvbmZpZ1xuICApIHtcbiAgICB0aGlzLnN1YnRpdGxlID0gdGhpcy5fY29uZmlnLmRhdGEuc3VidGl0bGU7XG4gIH1cblxuICBjbG9zZShjb25maXJtOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlhbG9nUmVmPy5jbG9zZShjb25maXJtKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNwcy1jb25maXJtYXRpb25cIj5cbiAgPHNwYW4gY2xhc3M9XCJjcHMtY29uZmlybWF0aW9uLXN1YnRpdGxlXCI+e3sgc3VidGl0bGUgfX08L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJjcHMtY29uZmlybWF0aW9uLWJ1dHRvbnNcIj5cbiAgICA8Y3BzLWJ1dHRvblxuICAgICAgdHlwZT1cIm91dGxpbmVkXCJcbiAgICAgIGxhYmVsPVwiTm9cIlxuICAgICAgKGNsaWNrZWQpPVwiY2xvc2UoZmFsc2UpXCJcbiAgICAgIGNvbG9yPVwicHJlcGFyZWRcIj5cbiAgICA8L2Nwcy1idXR0b24+XG4gICAgPGNwcy1idXR0b25cbiAgICAgIGRhdGEtY3k9XCJidG4teWVzXCJcbiAgICAgIGxhYmVsPVwiWWVzXCJcbiAgICAgIChjbGlja2VkKT1cImNsb3NlKHRydWUpXCJcbiAgICAgIGNvbG9yPVwicHJlcGFyZWRcIj5cbiAgICA8L2Nwcy1idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
24
+ }], ctorParameters: () => [{ type: i1.CpsDialogRef }, { type: i2.CpsDialogConfig }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLWNvbmZpcm1hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcHMtdWkta2l0L3NyYy9saWIvc2VydmljZXMvY3BzLWRpYWxvZy9pbnRlcm5hbC9jb21wb25lbnRzL2Nwcy1jb25maXJtYXRpb24vY3BzLWNvbmZpcm1hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcHMtdWkta2l0L3NyYy9saWIvc2VydmljZXMvY3BzLWRpYWxvZy9pbnRlcm5hbC9jb21wb25lbnRzL2Nwcy1jb25maXJtYXRpb24vY3BzLWNvbmZpcm1hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOzs7O0FBV3pGLE1BQU0sT0FBTyx3QkFBd0I7SUFHbkMsa0RBQWtEO0lBQ2xELFlBQ1UsVUFBd0IsRUFDeEIsT0FBd0I7UUFEeEIsZUFBVSxHQUFWLFVBQVUsQ0FBYztRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUxsQyxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBT1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDN0MsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFnQjtRQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDOzhHQWJVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDRFQ2JyQyxtY0FpQkEsb1lEVFksa0JBQWtCOzsyRkFLakIsd0JBQXdCO2tCQVBwQyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLGtCQUFrQixFQUFFLGdCQUFnQixDQUFDLFlBQ3JDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3BzQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9jcHMtYnV0dG9uL2Nwcy1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IENwc0ljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL2Nwcy1pY29uL2Nwcy1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDcHNEaWFsb2dSZWYgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jcHMtZGlhbG9nLXJlZic7XG5pbXBvcnQgeyBDcHNEaWFsb2dDb25maWcgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jcHMtZGlhbG9nLWNvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ3BzQnV0dG9uQ29tcG9uZW50LCBDcHNJY29uQ29tcG9uZW50XSxcbiAgc2VsZWN0b3I6ICdjcHMtY29uZmlybWF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nwcy1jb25maXJtYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jcHMtY29uZmlybWF0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ3BzQ29uZmlybWF0aW9uQ29tcG9uZW50IHtcbiAgc3VidGl0bGUgPSAnJztcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlbGVzcy1jb25zdHJ1Y3RvclxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9kaWFsb2dSZWY6IENwc0RpYWxvZ1JlZixcbiAgICBwcml2YXRlIF9jb25maWc6IENwc0RpYWxvZ0NvbmZpZ1xuICApIHtcbiAgICB0aGlzLnN1YnRpdGxlID0gdGhpcy5fY29uZmlnLmRhdGEuc3VidGl0bGU7XG4gIH1cblxuICBjbG9zZShjb25maXJtOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlhbG9nUmVmPy5jbG9zZShjb25maXJtKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNwcy1jb25maXJtYXRpb25cIj5cbiAgPHNwYW4gY2xhc3M9XCJjcHMtY29uZmlybWF0aW9uLXN1YnRpdGxlXCI+e3sgc3VidGl0bGUgfX08L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJjcHMtY29uZmlybWF0aW9uLWJ1dHRvbnNcIj5cbiAgICA8Y3BzLWJ1dHRvblxuICAgICAgdHlwZT1cIm91dGxpbmVkXCJcbiAgICAgIGxhYmVsPVwiTm9cIlxuICAgICAgKGNsaWNrZWQpPVwiY2xvc2UoZmFsc2UpXCJcbiAgICAgIGNvbG9yPVwicHJlcGFyZWRcIj5cbiAgICA8L2Nwcy1idXR0b24+XG4gICAgPGNwcy1idXR0b25cbiAgICAgIGRhdGEtY3k9XCJidG4teWVzXCJcbiAgICAgIGxhYmVsPVwiWWVzXCJcbiAgICAgIChjbGlja2VkKT1cImNsb3NlKHRydWUpXCJcbiAgICAgIGNvbG9yPVwicHJlcGFyZWRcIj5cbiAgICA8L2Nwcy1idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=