@testgorilla/tgo-ui 2.99.1 → 3.0.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 (267) hide show
  1. package/components/alert-banner/alert-banner.component.d.ts +9 -1
  2. package/components/autocomplete/autocomplete.component.d.ts +21 -4
  3. package/components/autocomplete/autocomplete.component.module.d.ts +2 -1
  4. package/components/avatar/avatar.component.module.d.ts +2 -1
  5. package/components/button/button.component.d.ts +14 -3
  6. package/components/button/button.model.d.ts +2 -2
  7. package/components/card/card.component.d.ts +16 -4
  8. package/components/checkbox/checkbox.component.d.ts +15 -4
  9. package/components/checklist/checklist.model.d.ts +1 -0
  10. package/components/confirm-dialog/confirm-dialog.component.d.ts +11 -2
  11. package/components/confirm-dialog/confirm-dialog.model.d.ts +8 -0
  12. package/components/datepicker/{DateAdapter.d.ts → date-adapter.d.ts} +6 -2
  13. package/components/datepicker/datepicker.component.d.ts +4 -4
  14. package/components/dialog/dialog.component.d.ts +10 -1
  15. package/components/dialog/dialog.model.d.ts +12 -0
  16. package/components/dialog/dialog.service.d.ts +3 -2
  17. package/components/dropdown/dropdown.component.d.ts +12 -2
  18. package/components/empty-state/empty-state.component.d.ts +38 -1
  19. package/components/field/field.component.d.ts +39 -9
  20. package/components/file-upload/file-upload.component.d.ts +19 -2
  21. package/components/filter-button/filter-button.component.d.ts +140 -0
  22. package/components/filter-button/filter-button.component.module.d.ts +18 -0
  23. package/components/filter-button/filter-button.model.d.ts +13 -0
  24. package/components/gaussian-chart/gaussian-chart.component.d.ts +75 -0
  25. package/components/gaussian-chart/gaussian-chart.module.d.ts +13 -0
  26. package/components/icon/icon.config.d.ts +1 -1
  27. package/components/logo/logo.component.d.ts +1 -1
  28. package/components/multi-input/multi-input.component.d.ts +14 -7
  29. package/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.d.ts +5 -3
  30. package/components/navbar/navbar.component.d.ts +11 -4
  31. package/components/page-header/page-header.component.d.ts +1 -1
  32. package/components/password-criteria/password.component.d.ts +3 -1
  33. package/components/radio-button/radio-button.component.d.ts +11 -1
  34. package/components/scale/scale.component.d.ts +1 -0
  35. package/components/side-panel/side-panel.service.d.ts +2 -2
  36. package/components/slider/slider.component.d.ts +19 -8
  37. package/components/slider/slider.component.module.d.ts +1 -8
  38. package/components/spider-chart/spider-chart.component.d.ts +2 -0
  39. package/components/spider-chart/spider-chart.module.d.ts +3 -2
  40. package/components/spinner/spinner.component.d.ts +7 -1
  41. package/components/step/step.component.d.ts +12 -4
  42. package/components/stepper/stepper.component.d.ts +11 -3
  43. package/components/table/table.component.d.ts +30 -7
  44. package/components/table/table.component.module.d.ts +1 -1
  45. package/components/table/table.model.d.ts +13 -4
  46. package/components/tabs/tab.directive.d.ts +2 -1
  47. package/components/tabs/tabs.component.d.ts +3 -0
  48. package/components/tabs/tabs.component.module.d.ts +2 -1
  49. package/components/tabs/tabs.model.d.ts +2 -0
  50. package/components/universal-skills-report/universal-skills-report.component.d.ts +7 -7
  51. package/components/universal-skills-spider-charts/universal-skills-spider-charts.component.d.ts +47 -0
  52. package/components/universal-skills-spider-charts/universal-skills-spider-charts.component.module.d.ts +16 -0
  53. package/{components/deprecated-table/directives → directives}/dynamic-component.directive.d.ts +9 -2
  54. package/esm2022/assets/i18n/da-dk.json +62 -1
  55. package/esm2022/assets/i18n/de.json +62 -1
  56. package/esm2022/assets/i18n/en.json +664 -10
  57. package/esm2022/assets/i18n/es.json +62 -1
  58. package/esm2022/assets/i18n/fr.json +62 -1
  59. package/esm2022/assets/i18n/it-it.json +62 -1
  60. package/esm2022/assets/i18n/ja-jp.json +62 -1
  61. package/esm2022/assets/i18n/nb-no.json +62 -1
  62. package/esm2022/assets/i18n/nl.json +62 -1
  63. package/esm2022/assets/i18n/pl-pl.json +62 -1
  64. package/esm2022/assets/i18n/pt-br.json +62 -1
  65. package/esm2022/assets/i18n/sv-se.json +62 -1
  66. package/esm2022/components/accordion/accordion.component.mjs +5 -5
  67. package/esm2022/components/accordion/accordion.component.module.mjs +4 -4
  68. package/esm2022/components/alert-banner/alert-banner.component.mjs +15 -5
  69. package/esm2022/components/alert-banner/alert-banner.component.module.mjs +4 -4
  70. package/esm2022/components/autocomplete/autocomplete.component.mjs +113 -21
  71. package/esm2022/components/autocomplete/autocomplete.component.module.mjs +11 -7
  72. package/esm2022/components/autocomplete/includes.pipe.mjs +3 -3
  73. package/esm2022/components/autocomplete/prevent-input.directive.mjs +3 -3
  74. package/esm2022/components/autocomplete/transform-Item.pipe.mjs +3 -3
  75. package/esm2022/components/avatar/avatar.component.mjs +7 -6
  76. package/esm2022/components/avatar/avatar.component.module.mjs +7 -6
  77. package/esm2022/components/badge/badge.component.mjs +4 -4
  78. package/esm2022/components/badge/badge.component.module.mjs +4 -4
  79. package/esm2022/components/button/button.component.mjs +44 -20
  80. package/esm2022/components/button/button.component.module.mjs +4 -4
  81. package/esm2022/components/button/button.model.mjs +1 -1
  82. package/esm2022/components/card/card.component.mjs +38 -7
  83. package/esm2022/components/card/card.component.module.mjs +4 -4
  84. package/esm2022/components/checkbox/checkbox.component.mjs +35 -11
  85. package/esm2022/components/checkbox/checkbox.component.module.mjs +4 -4
  86. package/esm2022/components/checkbox/focus-visible.directive.mjs +3 -3
  87. package/esm2022/components/checklist/checklist.component.mjs +6 -6
  88. package/esm2022/components/checklist/checklist.model.mjs +1 -1
  89. package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +18 -6
  90. package/esm2022/components/confirm-dialog/confirm-dialog.component.module.mjs +4 -4
  91. package/esm2022/components/confirm-dialog/confirm-dialog.model.mjs +1 -1
  92. package/esm2022/components/datepicker/date-adapter.mjs +39 -0
  93. package/esm2022/components/datepicker/datepicker.component.mjs +15 -17
  94. package/esm2022/components/datepicker/datepicker.component.module.mjs +4 -4
  95. package/esm2022/components/datepicker/datepicker.service.mjs +3 -3
  96. package/esm2022/components/datepicker/no-date-format.directive.mjs +6 -6
  97. package/esm2022/components/deprecated-paginator/deprecated-paginator.component.mjs +3 -3
  98. package/esm2022/components/deprecated-paginator/deprecated-paginator.component.module.mjs +4 -4
  99. package/esm2022/components/dialog/dialog.component.mjs +21 -8
  100. package/esm2022/components/dialog/dialog.component.module.mjs +4 -4
  101. package/esm2022/components/dialog/dialog.model.mjs +2 -0
  102. package/esm2022/components/dialog/dialog.service.mjs +6 -5
  103. package/esm2022/components/divider/divider.component.mjs +3 -3
  104. package/esm2022/components/divider/divider.component.module.mjs +4 -4
  105. package/esm2022/components/dropdown/dropdown.component.mjs +28 -9
  106. package/esm2022/components/dropdown/dropdown.component.module.mjs +4 -4
  107. package/esm2022/components/elevation-shadow/elevation-shadow.component.mjs +3 -3
  108. package/esm2022/components/elevation-shadow/elevation-shadow.component.module.mjs +4 -4
  109. package/esm2022/components/empty-state/empty-state.component.mjs +53 -5
  110. package/esm2022/components/empty-state/empty-state.component.module.mjs +4 -4
  111. package/esm2022/components/field/field.component.mjs +53 -29
  112. package/esm2022/components/field/field.component.module.mjs +4 -4
  113. package/esm2022/components/file-upload/file-upload.component.mjs +46 -32
  114. package/esm2022/components/file-upload/file-upload.component.module.mjs +4 -4
  115. package/esm2022/components/filter-button/filter-button.component.mjs +255 -0
  116. package/esm2022/components/filter-button/filter-button.component.module.mjs +58 -0
  117. package/esm2022/components/filter-button/filter-button.model.mjs +2 -0
  118. package/esm2022/components/gaussian-chart/gaussian-chart.component.mjs +246 -0
  119. package/esm2022/components/gaussian-chart/gaussian-chart.module.mjs +42 -0
  120. package/esm2022/components/icon/icon.component.mjs +5 -5
  121. package/esm2022/components/icon/icon.component.module.mjs +4 -4
  122. package/esm2022/components/icon/icon.config.mjs +27 -1
  123. package/esm2022/components/icon-label/icon-label.component.mjs +3 -3
  124. package/esm2022/components/icon-label/icon-label.component.module.mjs +4 -4
  125. package/esm2022/components/logo/logo.component.mjs +4 -4
  126. package/esm2022/components/logo/logo.component.module.mjs +4 -4
  127. package/esm2022/components/media-card/media-card.component.mjs +5 -5
  128. package/esm2022/components/multi-input/multi-input.component.mjs +37 -24
  129. package/esm2022/components/multi-input/multi-input.component.module.mjs +4 -4
  130. package/esm2022/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.mjs +13 -9
  131. package/esm2022/components/navbar/navbar.component.mjs +17 -14
  132. package/esm2022/components/navbar/navbar.component.module.mjs +4 -4
  133. package/esm2022/components/overflow-menu/overflow-menu.component.mjs +4 -4
  134. package/esm2022/components/overflow-menu/overflow-menu.component.module.mjs +4 -4
  135. package/esm2022/components/page-header/page-header.component.mjs +5 -5
  136. package/esm2022/components/page-header/page-header.component.module.mjs +4 -4
  137. package/esm2022/components/paginator/paginator.component.mjs +3 -3
  138. package/esm2022/components/paginator/paginator.component.module.mjs +4 -4
  139. package/esm2022/components/password-criteria/password.component.mjs +13 -7
  140. package/esm2022/components/password-criteria/password.component.module.mjs +4 -4
  141. package/esm2022/components/password-strength/password-strength.component.mjs +3 -3
  142. package/esm2022/components/password-strength/password-strength.component.module.mjs +4 -4
  143. package/esm2022/components/phone-input/join-strings.pipe.mjs +3 -3
  144. package/esm2022/components/phone-input/phone-input.component.mjs +4 -4
  145. package/esm2022/components/phone-input/phone-input.component.module.mjs +4 -4
  146. package/esm2022/components/progress-bar/progress-bar.component.mjs +4 -4
  147. package/esm2022/components/progress-bar/progress-bar.component.module.mjs +4 -4
  148. package/esm2022/components/radial-progress/radial-progress.component.mjs +3 -3
  149. package/esm2022/components/radial-progress/radial-progress.component.module.mjs +4 -4
  150. package/esm2022/components/radio-button/radio-button.component.mjs +19 -5
  151. package/esm2022/components/radio-button/radio-button.component.module.mjs +4 -4
  152. package/esm2022/components/rating/half-star.pipe.mjs +3 -3
  153. package/esm2022/components/rating/rating.component.mjs +3 -3
  154. package/esm2022/components/rating/rating.component.module.mjs +4 -4
  155. package/esm2022/components/scale/scale.component.mjs +18 -6
  156. package/esm2022/components/scale/scale.component.module.mjs +4 -4
  157. package/esm2022/components/segmented-bar/segmented-bar.component.mjs +3 -3
  158. package/esm2022/components/segmented-bar/segmented-bar.component.module.mjs +4 -4
  159. package/esm2022/components/segmented-button/segmented-button.component.mjs +6 -6
  160. package/esm2022/components/segmented-button/segmented-button.component.module.mjs +4 -4
  161. package/esm2022/components/side-panel/side-panel.component.mjs +6 -6
  162. package/esm2022/components/side-panel/side-panel.service.mjs +9 -8
  163. package/esm2022/components/side-sheet/side-sheet.component.mjs +3 -3
  164. package/esm2022/components/side-sheet/side-sheet.component.module.mjs +4 -4
  165. package/esm2022/components/side-sheet/side-sheet.service.mjs +3 -3
  166. package/esm2022/components/skeleton/skeleton.component.mjs +3 -3
  167. package/esm2022/components/slider/slider.component.mjs +70 -12
  168. package/esm2022/components/slider/slider.component.module.mjs +6 -33
  169. package/esm2022/components/slider/slider.model.mjs +1 -1
  170. package/esm2022/components/snackbar/snackbar.component.mjs +4 -4
  171. package/esm2022/components/snackbar/snackbar.component.module.mjs +4 -4
  172. package/esm2022/components/snackbar/snackbar.service.mjs +3 -3
  173. package/esm2022/components/spider-chart/spider-chart.component.mjs +25 -7
  174. package/esm2022/components/spider-chart/spider-chart.module.mjs +8 -5
  175. package/esm2022/components/spinner/spinner.component.mjs +15 -6
  176. package/esm2022/components/spinner/spinner.module.mjs +4 -4
  177. package/esm2022/components/step/step.component.mjs +52 -12
  178. package/esm2022/components/step/step.component.module.mjs +4 -4
  179. package/esm2022/components/stepper/stepper.component.mjs +52 -18
  180. package/esm2022/components/stepper/stepper.component.module.mjs +4 -4
  181. package/esm2022/components/table/sentence-case.pipe.mjs +3 -3
  182. package/esm2022/components/table/table.component.mjs +104 -57
  183. package/esm2022/components/table/table.component.module.mjs +6 -6
  184. package/esm2022/components/table/table.model.mjs +13 -1
  185. package/esm2022/components/tabs/tab.directive.mjs +7 -4
  186. package/esm2022/components/tabs/tabs.component.mjs +38 -9
  187. package/esm2022/components/tabs/tabs.component.module.mjs +7 -6
  188. package/esm2022/components/tabs/tabs.model.mjs +1 -1
  189. package/esm2022/components/tag/tag.component.mjs +3 -3
  190. package/esm2022/components/tag/tag.component.module.mjs +4 -4
  191. package/esm2022/components/toggle/toggle.component.mjs +4 -4
  192. package/esm2022/components/toggle/toggle.component.module.mjs +4 -4
  193. package/esm2022/components/tooltip/tooltip-template.directive.mjs +14 -12
  194. package/esm2022/components/tooltip/tooltip.component.mjs +3 -3
  195. package/esm2022/components/tooltip/tooltip.component.module.mjs +4 -4
  196. package/esm2022/components/universal-skills-report/universal-skills-report.component.mjs +29 -64
  197. package/esm2022/components/universal-skills-report/universal-skills-report.component.module.mjs +4 -4
  198. package/esm2022/components/universal-skills-spider-charts/universal-skills-spider-charts.component.mjs +109 -0
  199. package/esm2022/components/universal-skills-spider-charts/universal-skills-spider-charts.component.module.mjs +52 -0
  200. package/esm2022/components/validation-error/validation-error.component.mjs +3 -3
  201. package/esm2022/components/validation-error/validation-error.module.mjs +4 -4
  202. package/esm2022/directives/digits-only.directive.mjs +3 -3
  203. package/esm2022/directives/drag-drop.directive.mjs +3 -3
  204. package/esm2022/directives/dynamic-component.directive.mjs +40 -0
  205. package/esm2022/directives/ellipse-text.directive.mjs +3 -3
  206. package/esm2022/directives/select-text.directive.mjs +3 -3
  207. package/esm2022/directives/step-line-element.directive.mjs +3 -3
  208. package/esm2022/models/universal-skills-report.model.mjs +33 -0
  209. package/esm2022/pipes/data-property-getter.mjs +3 -3
  210. package/esm2022/pipes/has-validation-error.pipe.mjs +3 -3
  211. package/esm2022/pipes/memoize-func.pipe.mjs +3 -3
  212. package/esm2022/pipes/name-initials.pipe.mjs +3 -3
  213. package/esm2022/pipes/ui-ordinal-suffix.pipe.mjs +3 -3
  214. package/esm2022/pipes/ui-translate.pipe.mjs +3 -3
  215. package/esm2022/public-api.mjs +17 -6
  216. package/esm2022/services/icons.service.mjs +3 -3
  217. package/esm2022/services/universal-skills.service.mjs +85 -0
  218. package/esm2022/utils/autocomplete-utils.mjs +15 -3
  219. package/esm2022/utils/localization/language.service.mjs +3 -3
  220. package/fesm2022/testgorilla-tgo-ui.mjs +3878 -1246
  221. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  222. package/models/universal-skills-report.model.d.ts +44 -0
  223. package/package.json +17 -15
  224. package/projects/tgo-canopy-ui/assets/i18n/da-dk.json +62 -1
  225. package/projects/tgo-canopy-ui/assets/i18n/de.json +62 -1
  226. package/projects/tgo-canopy-ui/assets/i18n/en.json +665 -10
  227. package/projects/tgo-canopy-ui/assets/i18n/es.json +62 -1
  228. package/projects/tgo-canopy-ui/assets/i18n/fr.json +62 -1
  229. package/projects/tgo-canopy-ui/assets/i18n/it-it.json +62 -1
  230. package/projects/tgo-canopy-ui/assets/i18n/ja-jp.json +62 -1
  231. package/projects/tgo-canopy-ui/assets/i18n/nb-no.json +62 -1
  232. package/projects/tgo-canopy-ui/assets/i18n/nl.json +62 -1
  233. package/projects/tgo-canopy-ui/assets/i18n/pl-pl.json +62 -1
  234. package/projects/tgo-canopy-ui/assets/i18n/pt-br.json +62 -1
  235. package/projects/tgo-canopy-ui/assets/i18n/sv-se.json +62 -1
  236. package/projects/tgo-canopy-ui/assets/icons/rebrand/Analytics-filled.svg +3 -0
  237. package/projects/tgo-canopy-ui/assets/icons/rebrand/Analytics-in-line.svg +3 -0
  238. package/projects/tgo-canopy-ui/assets/icons/rebrand/Failed-to-load-filled.svg +3 -0
  239. package/projects/tgo-canopy-ui/assets/icons/rebrand/Failed-to-load-in-line.svg +3 -0
  240. package/projects/tgo-canopy-ui/assets/icons/rebrand/History-filled.svg +3 -0
  241. package/projects/tgo-canopy-ui/assets/icons/rebrand/History-in-line.svg +3 -0
  242. package/projects/tgo-canopy-ui/assets/icons/rebrand/Star-filled.svg +5 -0
  243. package/projects/tgo-canopy-ui/assets/icons/rebrand/Star-in-line.svg +5 -0
  244. package/projects/tgo-canopy-ui/assets/icons/rebrand/Tag-filled.svg +3 -0
  245. package/projects/tgo-canopy-ui/assets/icons/rebrand/Tag-in-line.svg +3 -0
  246. package/projects/tgo-canopy-ui/assets/icons/rebrand/TestGorilla-Pink-filled.svg +11 -0
  247. package/projects/tgo-canopy-ui/assets/icons/rebrand/TestGorilla-Pink-in-line.svg +11 -0
  248. package/projects/tgo-canopy-ui/assets/icons/rebrand/Verified-badge-filled.svg +23 -0
  249. package/projects/tgo-canopy-ui/assets/icons/rebrand/Verified-badge-in-line.svg +23 -0
  250. package/projects/tgo-canopy-ui/theme/_input.scss +1 -0
  251. package/projects/tgo-canopy-ui/theme/_palette.scss +9 -9
  252. package/projects/tgo-canopy-ui/theme/_tooltip.scss +12 -8
  253. package/projects/tgo-canopy-ui/theme/_typography.scss +4 -0
  254. package/projects/tgo-canopy-ui/theme/_variables.scss +3 -3
  255. package/public-api.d.ts +11 -4
  256. package/services/universal-skills.service.d.ts +13 -0
  257. package/utils/autocomplete-utils.d.ts +2 -2
  258. package/components/deprecated-table/deprecated-table.component.d.ts +0 -91
  259. package/components/deprecated-table/deprecated-table.component.module.d.ts +0 -14
  260. package/components/deprecated-table/deprecated-table.model.d.ts +0 -45
  261. package/components/universal-skills-report/universal-skills-report.model.d.ts +0 -33
  262. package/esm2022/components/datepicker/DateAdapter.mjs +0 -30
  263. package/esm2022/components/deprecated-table/deprecated-table.component.mjs +0 -158
  264. package/esm2022/components/deprecated-table/deprecated-table.component.module.mjs +0 -43
  265. package/esm2022/components/deprecated-table/deprecated-table.model.mjs +0 -13
  266. package/esm2022/components/deprecated-table/directives/dynamic-component.directive.mjs +0 -40
  267. package/esm2022/components/universal-skills-report/universal-skills-report.model.mjs +0 -19
@@ -0,0 +1,255 @@
1
+ import { FocusKeyManager } from '@angular/cdk/a11y';
2
+ import { ChangeDetectionStrategy, Component, computed, EventEmitter, HostBinding, Inject, input, Input, Optional, Output, signal, ViewChild, ViewChildren, ViewEncapsulation, } from '@angular/core';
3
+ import { IKeyboardEvent } from '../../models/keyboard-events.model';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/forms";
7
+ import * as i3 from "@angular/material/tooltip";
8
+ import * as i4 from "@angular/cdk/overlay";
9
+ import * as i5 from "../button/button.component";
10
+ import * as i6 from "../icon/icon.component";
11
+ import * as i7 from "../checkbox/checkbox.component";
12
+ import * as i8 from "../field/field.component";
13
+ import * as i9 from "../../directives/ellipse-text.directive";
14
+ import * as i10 from "../radio-button/radio-button.component";
15
+ import * as i11 from "../../pipes/ui-translate.pipe";
16
+ export class FilterButtonComponent {
17
+ constructor(defaultAppTheme, cdr) {
18
+ this.defaultAppTheme = defaultAppTheme;
19
+ this.cdr = cdr;
20
+ this.class = 'ui-filter-button';
21
+ /**
22
+ * The button label when no value is selected.
23
+ *
24
+ * @type {string}
25
+ * @memberof FilterButtonComponent
26
+ */
27
+ this.label = '';
28
+ /**
29
+ * Optional message to display on the overflow bottom.
30
+ *
31
+ * @type {string}
32
+ * @memberof FilterButtonComponent
33
+ */
34
+ this.message = '';
35
+ /**
36
+ * List of selected values.
37
+ *
38
+ * @type {string[]}
39
+ * @memberof FilterButtonComponent
40
+ */
41
+ this.value = [];
42
+ /**
43
+ * Whether the component is disabled.
44
+ * Default: false.
45
+ *
46
+ * @type {boolean}
47
+ * @memberof FilterButtonComponent
48
+ */
49
+ this.disabled = false;
50
+ /**
51
+ * List of options.
52
+ *
53
+ * @type {OptionType}
54
+ * @memberof FilterButtonComponent
55
+ */
56
+ this.options = input([]);
57
+ /**
58
+ * Whether the user should be allowed to clear the values.
59
+ * Default: true.
60
+ *
61
+ * @type {boolean}
62
+ * @memberof FilterButtonComponent
63
+ */
64
+ this.allowClear = true;
65
+ /**
66
+ * Whether the user should be allowed to select single or multiple values.
67
+ * Default: false.
68
+ *
69
+ * @type {boolean}
70
+ * @memberof FilterButtonComponent
71
+ */
72
+ this.singleSelection = false;
73
+ /**
74
+ * The position of the icon.
75
+ * Default: 'right'.
76
+ *
77
+ * @type {ButtonIconPosition}
78
+ * @memberof FilterButtonComponent
79
+ */
80
+ this.iconPosition = 'right';
81
+ /**
82
+ * Optional message to display if there are no options to select available
83
+ *
84
+ * @type {string}
85
+ * @memberof FilterButtonComponent
86
+ */
87
+ this.noOptionsMessage = '';
88
+ /**
89
+ * Emits the list of selected values when the selection changes.
90
+ *
91
+ * @type {EventEmitter<string[]>}
92
+ * @memberof FilterButtonComponent
93
+ */
94
+ this.changed = new EventEmitter();
95
+ /**
96
+ * Emits the option change event
97
+ *
98
+ * @type {EventEmitter<OptionChangeEvent>}
99
+ * @memberof FilterButtonComponent
100
+ */
101
+ this.optionChange = new EventEmitter();
102
+ /**
103
+ *
104
+ * Defines the application theme
105
+ *
106
+ * @type {ApplicationTheme}
107
+ * @memberof FilterButtonComponent
108
+ */
109
+ this.applicationTheme = 'light';
110
+ this.isOpen = signal(false);
111
+ this.displayedLabel = signal('');
112
+ this.tooltip = signal('');
113
+ this.search = signal('');
114
+ this.showTooltip = {};
115
+ this.displayedOptions = computed(() => {
116
+ let lastSectionTitle;
117
+ return this.options()
118
+ .map(option => {
119
+ lastSectionTitle = option.sectionTitle || lastSectionTitle;
120
+ return { ...option, sectionTitle: lastSectionTitle };
121
+ })
122
+ .filter(option => option.label.toLowerCase().includes(this.search().toLowerCase()));
123
+ });
124
+ this.MIN_OPTIONS_LENGTH_FOR_SEARCH = 8;
125
+ this.translationContext = 'FILTER_BUTTON.';
126
+ if (this.defaultAppTheme) {
127
+ this.applicationTheme = this.defaultAppTheme;
128
+ }
129
+ }
130
+ ngOnChanges(changes) {
131
+ // eslint-disable-next-line dot-notation
132
+ if (changes['value']) {
133
+ this.updateLabel();
134
+ }
135
+ }
136
+ clearValue() {
137
+ this.value = [];
138
+ this.updateLabel();
139
+ this.changed.emit(this.value);
140
+ }
141
+ outsideClick() {
142
+ window.setTimeout(() => {
143
+ this.isOpen.set(false);
144
+ });
145
+ }
146
+ toggle() {
147
+ this.isOpen.set(!this.isOpen());
148
+ if (this.isOpen()) {
149
+ this.keyManager = new FocusKeyManager(this.filterOptions).withWrap();
150
+ this.keyManager.setActiveItem(0);
151
+ }
152
+ this.cdr.markForCheck();
153
+ }
154
+ isSelected(value) {
155
+ return this.value?.includes(value || '');
156
+ }
157
+ optionChanged(selected, option) {
158
+ this.value = this.value || [];
159
+ if (this.singleSelection) {
160
+ this.value = selected ? [option.value] : [];
161
+ }
162
+ else {
163
+ if (selected) {
164
+ this.value.push(option.value);
165
+ }
166
+ else {
167
+ this.value.splice(this.value.indexOf(option.value), 1);
168
+ }
169
+ }
170
+ this.changed.emit(this.value);
171
+ this.optionChange.emit({ selected, option });
172
+ this.updateLabel();
173
+ }
174
+ keyDownHandler(ev) {
175
+ if (ev.key === IKeyboardEvent.ARROW_DOWN) {
176
+ ev.preventDefault();
177
+ this.keyManager.setNextItemActive();
178
+ }
179
+ else if (ev.key === IKeyboardEvent.ARROW_UP) {
180
+ ev.preventDefault();
181
+ this.keyManager.setPreviousItemActive();
182
+ }
183
+ else if (ev.key === IKeyboardEvent.ESCAPE) {
184
+ this.isOpen.set(false);
185
+ }
186
+ }
187
+ onLabelEllipsisChange(isEllipsis, value) {
188
+ this.showTooltip[value] = isEllipsis;
189
+ }
190
+ updateLabel() {
191
+ this.value = this.value || [];
192
+ let displayedLabel = '';
193
+ let tooltip = '';
194
+ const sortedLabels = this.options()
195
+ .filter(option => this.value.includes(option.value))
196
+ .map(item => item?.label || '');
197
+ if (sortedLabels.length > 0) {
198
+ displayedLabel = this.options().find(option => option.value === this.value[0])?.label || '';
199
+ tooltip = `${this.label}${sortedLabels.map(value => `\n • ${value}`).join('')}`;
200
+ }
201
+ if (this.value.length > 1) {
202
+ displayedLabel += ` (+${this.value.length - 1})`;
203
+ }
204
+ this.displayedLabel.set(displayedLabel);
205
+ this.tooltip.set(tooltip);
206
+ this.cdr.markForCheck();
207
+ }
208
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterButtonComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
209
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FilterButtonComponent, selector: "ui-filter-button", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, allowClear: { classPropertyName: "allowClear", publicName: "allowClear", isSignal: false, isRequired: false, transformFunction: null }, singleSelection: { classPropertyName: "singleSelection", publicName: "singleSelection", isSignal: false, isRequired: false, transformFunction: null }, iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: false, isRequired: false, transformFunction: null }, iconPosition: { classPropertyName: "iconPosition", publicName: "iconPosition", isSignal: false, isRequired: false, transformFunction: null }, noOptionsMessage: { classPropertyName: "noOptionsMessage", publicName: "noOptionsMessage", isSignal: false, isRequired: false, transformFunction: null }, applicationTheme: { classPropertyName: "applicationTheme", publicName: "applicationTheme", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { changed: "changed", optionChange: "optionChange" }, host: { properties: { "class": "this.class", "attr.theme": "this.applicationTheme" } }, viewQueries: [{ propertyName: "overlayContainer", first: true, predicate: ["overlayContainer"], descendants: true }, { propertyName: "filterOptions", predicate: ["filterOption"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container>\n <ui-button\n [matTooltip]=\"tooltip()\"\n [matTooltipClass]=\"'tooltip-multi-line'\"\n [matTooltipPosition]=\"'above'\"\n class=\"ui-filter-button-trigger\"\n [class.button-opened]=\"isOpen()\"\n [variant]=\"value.length || isOpen() ? 'secondary' : 'ghost'\"\n [label]=\"displayedLabel() || label\"\n [disabled]=\"disabled || (options().length === 0 && !noOptionsMessage)\"\n (click)=\"toggle()\"\n type=\"button\"\n size=\"small\"\n [role]=\"'combobox'\"\n [tooltip]=\"value.length ? ' ' : ''\"\n [attr.aria-expanded]=\"isOpen()\"\n [iconName]=\"iconName || (isOpen() ? 'Arrow-chevron-up-filled' : 'Arrow-chevron-down-filled')\"\n [iconPosition]=\"iconPosition\"\n [applicationTheme]=\"applicationTheme\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n ></ui-button>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n (overlayOutsideClick)=\"outsideClick()\"\n >\n @if (displayedOptions().length) {\n <div style=\"position: absolute; left: -9999px\" [attr.aria-live]=\"'polite'\">\n {{ displayedOptions()[keyManager.activeItemIndex ?? 0].label }}\n {{\n translationContext + 'ACTIVE_ITEM'\n | uiTranslate: { active: (keyManager.activeItemIndex ?? 0) + 1, total: filterOptions.length }\n | async\n }}\n </div>\n <div style=\"position: absolute; left: -9999px\" [attr.aria-live]=\"'polite'\">\n {{ displayedOptions()[keyManager.activeItemIndex ?? 0].label }}\n {{\n (value.includes(displayedOptions()[keyManager.activeItemIndex ?? 0].value)\n ? translationContext + 'SELECTED'\n : translationContext + 'DESELECTED'\n )\n | uiTranslate\n | async\n }}\n </div>\n }\n <div class=\"ui-filter-button\" #overlayContainer>\n <div class=\"ui-filter-button-header\" *ngIf=\"options().length > MIN_OPTIONS_LENGTH_FOR_SEARCH\">\n <ui-field\n type=\"search\"\n [showBottomContent]=\"false\"\n [ngModel]=\"search()\"\n (ngModelChange)=\"search.set($event)\"\n [applicationTheme]=\"applicationTheme\"\n ></ui-field>\n </div>\n <div class=\"ui-filter-button-list\" #list (keydown)=\"keyDownHandler($event)\">\n @if (!displayedOptions().length && options().length) {\n <div class=\"no-results-found\">\n <span>{{ translationContext + 'NO_RESULTS_FOUND' | uiTranslate | async }}</span>\n </div>\n } @else {\n <div *ngFor=\"let section of displayedOptions(); index as i\">\n <div\n *ngIf=\"section.sectionTitle && section.sectionTitle !== displayedOptions()[i - 1]?.sectionTitle\"\n class=\"section-title\"\n >\n {{ section.sectionTitle }}\n </div>\n <div\n class=\"item\"\n [class.item-selected]=\"isSelected(section.value)\"\n (click)=\"optionChanged(!isSelected(section.value), section)\"\n >\n <ui-radio-button\n (click)=\"$event.stopPropagation()\"\n *ngIf=\"singleSelection\"\n [tabIndex]=\"i === 0 ? 0 : -1\"\n [selected]=\"isSelected(section.value)\"\n (changeRadio)=\"optionChanged($event.optionChecked, section)\"\n [applicationTheme]=\"applicationTheme\"\n #filterOption\n >\n </ui-radio-button>\n <ui-checkbox\n (click)=\"$event.stopPropagation()\"\n [class.with-label-number]=\"section.labelNumber !== undefined\"\n *ngIf=\"!singleSelection\"\n [tabIndex]=\"i === 0 ? 0 : -1\"\n [checked]=\"isSelected(section.value)\"\n (changed)=\"optionChanged($event, section)\"\n [applicationTheme]=\"applicationTheme\"\n #filterOption\n ></ui-checkbox>\n <ui-icon *ngIf=\"section.icon\" [applicationTheme]=\"applicationTheme\" [name]=\"section.icon\"></ui-icon>\n <span\n #tooltip=\"matTooltip\"\n class=\"item-label\"\n uiEllipseText\n (onChangeTextState)=\"onLabelEllipsisChange($event, section.value)\"\n [matTooltip]=\"showTooltip[section.value] ? section.label : ''\"\n [matTooltipClass]=\"applicationTheme\"\n >\n {{ section.label }}\n </span>\n <span class=\"item-number\" *ngIf=\"section.labelNumber !== undefined\">({{ section.labelNumber }})</span>\n </div>\n </div>\n }\n </div>\n @if (!options().length && !!noOptionsMessage) {\n <div class=\"ui-filter-button-no-options\" [innerHTML]=\"noOptionsMessage\"></div>\n } @else {\n <div class=\"ui-filter-button-footer\" *ngIf=\"allowClear || message\">\n <ui-button\n *ngIf=\"allowClear\"\n variant=\"text\"\n size=\"small\"\n [label]=\"('COMMON.RESET' | uiTranslate | async)!\"\n (click)=\"clearValue()\"\n [applicationTheme]=\"applicationTheme\"\n (keydown.escape)=\"toggle()\"\n ></ui-button>\n <div class=\"ui-filter-button-footer-message\">\n {{ message }}\n </div>\n </div>\n }\n </div>\n </ng-template>\n</ng-container>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}ui-filter-button{display:inline-block}ui-filter-button ui-button .button-wrapper button{padding:7px 24px!important}ui-filter-button ui-button .button-wrapper button .icon ui-icon mat-icon.size-16 svg{width:24px;height:24px}ui-filter-button ui-button .button-wrapper button .label{line-clamp:1;-webkit-line-clamp:1!important}ui-filter-button ui-button.button-opened .button-wrapper button{background-color:#666!important;border-color:#666}ui-filter-button ui-button button.secondary{border:1px solid #242424}ui-filter-button ui-button button.secondary:hover{border-color:#666}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button{margin-top:4px;box-shadow:0 4px 16px #24242414;border-radius:10px;background-color:#fff;padding:0 0 8px;width:240px}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-header{padding:8px 16px 0}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list{max-height:290px;overflow-y:auto;overflow-x:hidden}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list .section-title,.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list .no-results-found{padding:8px 16px}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list .item{padding:0 16px 0 5px;display:flex;align-items:center;gap:5px;height:48px;cursor:pointer}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list .item:hover,.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list .item.item-selected{background-color:#f4f4f4}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list .item ui-checkbox{max-width:100%}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list .item ui-checkbox.with-label-number{max-width:calc(100% - 25px)}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list .item-number{color:#666}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list .item-label{-webkit-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-footer{display:flex;justify-content:space-between;align-items:center;padding:0 16px 0 5px}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-footer ui-button{margin-left:-5px}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-footer-message{color:#666}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-no-options{padding:24px}.tooltip-multi-line .mdc-tooltip__surface{text-align:left;white-space:pre-line}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i4.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i5.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: i6.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i7.CheckboxComponent, selector: "ui-checkbox", inputs: ["disabled", "checked", "indeterminate", "companyColor", "name", "label", "multiple", "applicationTheme", "ariaLabel", "ariaRequired", "hasError", "hideBuiltInErrors", "hideLabelInErrors", "ariaLabelledby", "ariaDescribedby", "truncateText", "alignment", "tabIndex"], outputs: ["changed"] }, { kind: "component", type: i8.FieldComponent, selector: "ui-field", inputs: ["fullWidth", "label", "fieldName", "placeholder", "id", "value", "errors", "disabled", "required", "readOnly", "hintMessage", "type", "updateOnBlur", "allowOnlyDigits", "allowNegative", "showBottomContent", "applicationTheme", "ariaLabel", "loading", "isValid", "maxCharacters", "trimOnBlur", "trimOnSubmit", "maxRows", "hideBuiltInErrors", "hideLabelInErrors", "max", "min", "textareaHeight", "ariaLabelledby", "ariaDescribedby", "hasError"], outputs: ["validateEvent", "fieldBlur"] }, { kind: "directive", type: i9.EllipseTextDirective, selector: "[uiEllipseText]", inputs: ["isMultiline", "maxDiffPixels", "refresh"], outputs: ["onChangeTextState"] }, { kind: "component", type: i10.RadioButtonComponent, selector: "ui-radio-button", inputs: ["disabled", "selected", "allowUnselect", "companyColor", "name", "label", "multiple", "value", "applicationTheme", "ariaLabel", "ariaRequired", "hasError", "ariaLabelledby", "ariaDescribedby", "truncateText", "alignment", "tabIndex"], outputs: ["changeRadio"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
210
+ }
211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterButtonComponent, decorators: [{
212
+ type: Component,
213
+ args: [{ selector: 'ui-filter-button', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <ui-button\n [matTooltip]=\"tooltip()\"\n [matTooltipClass]=\"'tooltip-multi-line'\"\n [matTooltipPosition]=\"'above'\"\n class=\"ui-filter-button-trigger\"\n [class.button-opened]=\"isOpen()\"\n [variant]=\"value.length || isOpen() ? 'secondary' : 'ghost'\"\n [label]=\"displayedLabel() || label\"\n [disabled]=\"disabled || (options().length === 0 && !noOptionsMessage)\"\n (click)=\"toggle()\"\n type=\"button\"\n size=\"small\"\n [role]=\"'combobox'\"\n [tooltip]=\"value.length ? ' ' : ''\"\n [attr.aria-expanded]=\"isOpen()\"\n [iconName]=\"iconName || (isOpen() ? 'Arrow-chevron-up-filled' : 'Arrow-chevron-down-filled')\"\n [iconPosition]=\"iconPosition\"\n [applicationTheme]=\"applicationTheme\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n ></ui-button>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n (overlayOutsideClick)=\"outsideClick()\"\n >\n @if (displayedOptions().length) {\n <div style=\"position: absolute; left: -9999px\" [attr.aria-live]=\"'polite'\">\n {{ displayedOptions()[keyManager.activeItemIndex ?? 0].label }}\n {{\n translationContext + 'ACTIVE_ITEM'\n | uiTranslate: { active: (keyManager.activeItemIndex ?? 0) + 1, total: filterOptions.length }\n | async\n }}\n </div>\n <div style=\"position: absolute; left: -9999px\" [attr.aria-live]=\"'polite'\">\n {{ displayedOptions()[keyManager.activeItemIndex ?? 0].label }}\n {{\n (value.includes(displayedOptions()[keyManager.activeItemIndex ?? 0].value)\n ? translationContext + 'SELECTED'\n : translationContext + 'DESELECTED'\n )\n | uiTranslate\n | async\n }}\n </div>\n }\n <div class=\"ui-filter-button\" #overlayContainer>\n <div class=\"ui-filter-button-header\" *ngIf=\"options().length > MIN_OPTIONS_LENGTH_FOR_SEARCH\">\n <ui-field\n type=\"search\"\n [showBottomContent]=\"false\"\n [ngModel]=\"search()\"\n (ngModelChange)=\"search.set($event)\"\n [applicationTheme]=\"applicationTheme\"\n ></ui-field>\n </div>\n <div class=\"ui-filter-button-list\" #list (keydown)=\"keyDownHandler($event)\">\n @if (!displayedOptions().length && options().length) {\n <div class=\"no-results-found\">\n <span>{{ translationContext + 'NO_RESULTS_FOUND' | uiTranslate | async }}</span>\n </div>\n } @else {\n <div *ngFor=\"let section of displayedOptions(); index as i\">\n <div\n *ngIf=\"section.sectionTitle && section.sectionTitle !== displayedOptions()[i - 1]?.sectionTitle\"\n class=\"section-title\"\n >\n {{ section.sectionTitle }}\n </div>\n <div\n class=\"item\"\n [class.item-selected]=\"isSelected(section.value)\"\n (click)=\"optionChanged(!isSelected(section.value), section)\"\n >\n <ui-radio-button\n (click)=\"$event.stopPropagation()\"\n *ngIf=\"singleSelection\"\n [tabIndex]=\"i === 0 ? 0 : -1\"\n [selected]=\"isSelected(section.value)\"\n (changeRadio)=\"optionChanged($event.optionChecked, section)\"\n [applicationTheme]=\"applicationTheme\"\n #filterOption\n >\n </ui-radio-button>\n <ui-checkbox\n (click)=\"$event.stopPropagation()\"\n [class.with-label-number]=\"section.labelNumber !== undefined\"\n *ngIf=\"!singleSelection\"\n [tabIndex]=\"i === 0 ? 0 : -1\"\n [checked]=\"isSelected(section.value)\"\n (changed)=\"optionChanged($event, section)\"\n [applicationTheme]=\"applicationTheme\"\n #filterOption\n ></ui-checkbox>\n <ui-icon *ngIf=\"section.icon\" [applicationTheme]=\"applicationTheme\" [name]=\"section.icon\"></ui-icon>\n <span\n #tooltip=\"matTooltip\"\n class=\"item-label\"\n uiEllipseText\n (onChangeTextState)=\"onLabelEllipsisChange($event, section.value)\"\n [matTooltip]=\"showTooltip[section.value] ? section.label : ''\"\n [matTooltipClass]=\"applicationTheme\"\n >\n {{ section.label }}\n </span>\n <span class=\"item-number\" *ngIf=\"section.labelNumber !== undefined\">({{ section.labelNumber }})</span>\n </div>\n </div>\n }\n </div>\n @if (!options().length && !!noOptionsMessage) {\n <div class=\"ui-filter-button-no-options\" [innerHTML]=\"noOptionsMessage\"></div>\n } @else {\n <div class=\"ui-filter-button-footer\" *ngIf=\"allowClear || message\">\n <ui-button\n *ngIf=\"allowClear\"\n variant=\"text\"\n size=\"small\"\n [label]=\"('COMMON.RESET' | uiTranslate | async)!\"\n (click)=\"clearValue()\"\n [applicationTheme]=\"applicationTheme\"\n (keydown.escape)=\"toggle()\"\n ></ui-button>\n <div class=\"ui-filter-button-footer-message\">\n {{ message }}\n </div>\n </div>\n }\n </div>\n </ng-template>\n</ng-container>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}ui-filter-button{display:inline-block}ui-filter-button ui-button .button-wrapper button{padding:7px 24px!important}ui-filter-button ui-button .button-wrapper button .icon ui-icon mat-icon.size-16 svg{width:24px;height:24px}ui-filter-button ui-button .button-wrapper button .label{line-clamp:1;-webkit-line-clamp:1!important}ui-filter-button ui-button.button-opened .button-wrapper button{background-color:#666!important;border-color:#666}ui-filter-button ui-button button.secondary{border:1px solid #242424}ui-filter-button ui-button button.secondary:hover{border-color:#666}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button{margin-top:4px;box-shadow:0 4px 16px #24242414;border-radius:10px;background-color:#fff;padding:0 0 8px;width:240px}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-header{padding:8px 16px 0}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list{max-height:290px;overflow-y:auto;overflow-x:hidden}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list .section-title,.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list .no-results-found{padding:8px 16px}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list .item{padding:0 16px 0 5px;display:flex;align-items:center;gap:5px;height:48px;cursor:pointer}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list .item:hover,.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list .item.item-selected{background-color:#f4f4f4}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list .item ui-checkbox{max-width:100%}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list .item ui-checkbox.with-label-number{max-width:calc(100% - 25px)}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list .item-number{color:#666}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-list .item-label{-webkit-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-footer{display:flex;justify-content:space-between;align-items:center;padding:0 16px 0 5px}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-footer ui-button{margin-left:-5px}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-footer-message{color:#666}.cdk-overlay-container .cdk-overlay-pane .ui-filter-button-no-options{padding:24px}.tooltip-multi-line .mdc-tooltip__surface{text-align:left;white-space:pre-line}\n"] }]
214
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
215
+ type: Optional
216
+ }, {
217
+ type: Inject,
218
+ args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
219
+ }] }, { type: i0.ChangeDetectorRef }], propDecorators: { class: [{
220
+ type: HostBinding
221
+ }], label: [{
222
+ type: Input
223
+ }], message: [{
224
+ type: Input
225
+ }], value: [{
226
+ type: Input
227
+ }], disabled: [{
228
+ type: Input
229
+ }], allowClear: [{
230
+ type: Input
231
+ }], singleSelection: [{
232
+ type: Input
233
+ }], iconName: [{
234
+ type: Input
235
+ }], iconPosition: [{
236
+ type: Input
237
+ }], noOptionsMessage: [{
238
+ type: Input
239
+ }], changed: [{
240
+ type: Output
241
+ }], optionChange: [{
242
+ type: Output
243
+ }], applicationTheme: [{
244
+ type: HostBinding,
245
+ args: ['attr.theme']
246
+ }, {
247
+ type: Input
248
+ }], overlayContainer: [{
249
+ type: ViewChild,
250
+ args: ['overlayContainer']
251
+ }], filterOptions: [{
252
+ type: ViewChildren,
253
+ args: ['filterOption']
254
+ }] } });
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvZmlsdGVyLWJ1dHRvbi9maWx0ZXItYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9maWx0ZXItYnV0dG9uL2ZpbHRlci1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFFBQVEsRUFDUixZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEVBRU4sTUFBTSxFQUVOLFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVlwRSxNQUFNLE9BQU8scUJBQXFCO0lBdUloQyxZQUM2RSxlQUFpQyxFQUMzRixHQUFzQjtRQURvQyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDM0YsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF4STFCLFVBQUssR0FBRyxrQkFBa0IsQ0FBQztRQUUxQzs7Ozs7V0FLRztRQUNNLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFcEI7Ozs7O1dBS0c7UUFDTSxZQUFPLEdBQUksRUFBRSxDQUFDO1FBRXZCOzs7OztXQUtHO1FBQ00sVUFBSyxHQUFrQixFQUFFLENBQUM7UUFFbkM7Ozs7OztXQU1HO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQjs7Ozs7V0FLRztRQUNILFlBQU8sR0FBRyxLQUFLLENBQXVC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QkFVUCxnQkFBZ0I7c0JBRmYsV0FBVzt1QkFBQyxZQUFZOztzQkFDeEIsS0FBSztnQkFHeUIsZ0JBQWdCO3NCQUE5QyxTQUFTO3VCQUFDLGtCQUFrQjtnQkFDQyxhQUFhO3NCQUExQyxZQUFZO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c0tleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgaW5wdXQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgc2lnbmFsLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XG5pbXBvcnQgeyBJS2V5Ym9hcmRFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9rZXlib2FyZC1ldmVudHMubW9kZWwnO1xuaW1wb3J0IHsgQnV0dG9uSWNvblBvc2l0aW9uIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5tb2RlbCc7XG5pbXBvcnQgeyBJY29uTmFtZSB9IGZyb20gJy4uL2ljb24vaWNvbi5tb2RlbCc7XG5pbXBvcnQgeyBGaWx0ZXJCdXR0b25PcHRpb24sIEZpbHRlclZhbHVlLCBPcHRpb25DaGFuZ2VFdmVudCB9IGZyb20gJy4vZmlsdGVyLWJ1dHRvbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWZpbHRlci1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlckJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBIb3N0QmluZGluZygpIGNsYXNzID0gJ3VpLWZpbHRlci1idXR0b24nO1xuXG4gIC8qKlxuICAgKiBUaGUgYnV0dG9uIGxhYmVsIHdoZW4gbm8gdmFsdWUgaXMgc2VsZWN0ZWQuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIG1lc3NhZ2UgdG8gZGlzcGxheSBvbiB0aGUgb3ZlcmZsb3cgYm90dG9tLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRmlsdGVyQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBtZXNzYWdlPyA9ICcnO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHNlbGVjdGVkIHZhbHVlcy5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ1tdfVxuICAgKiBAbWVtYmVyb2YgRmlsdGVyQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB2YWx1ZTogRmlsdGVyVmFsdWVbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjb21wb25lbnQgaXMgZGlzYWJsZWQuXG4gICAqIERlZmF1bHQ6IGZhbHNlLlxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIEZpbHRlckJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogTGlzdCBvZiBvcHRpb25zLlxuICAgKlxuICAgKiBAdHlwZSB7T3B0aW9uVHlwZX1cbiAgICogQG1lbWJlcm9mIEZpbHRlckJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgb3B0aW9ucyA9IGlucHV0PEZpbHRlckJ1dHRvbk9wdGlvbltdPihbXSk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHVzZXIgc2hvdWxkIGJlIGFsbG93ZWQgdG8gY2xlYXIgdGhlIHZhbHVlcy5cbiAgICogRGVmYXVsdDogdHJ1ZS5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFsbG93Q2xlYXIgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB1c2VyIHNob3VsZCBiZSBhbGxvd2VkIHRvIHNlbGVjdCBzaW5nbGUgb3IgbXVsdGlwbGUgdmFsdWVzLlxuICAgKiBEZWZhdWx0OiBmYWxzZS5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHNpbmdsZVNlbGVjdGlvbj8gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIGljb24gbmFtZSB0byBkaXNwbGF5LlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRmlsdGVyQnV0dG9uQ29tcG9uZW50XG4gICAqXG4gICAqKi9cblxuICBASW5wdXQoKSBpY29uTmFtZT86IEljb25OYW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgcG9zaXRpb24gb2YgdGhlIGljb24uXG4gICAqIERlZmF1bHQ6ICdyaWdodCcuXG4gICAqXG4gICAqIEB0eXBlIHtCdXR0b25JY29uUG9zaXRpb259XG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGljb25Qb3NpdGlvbj86IEJ1dHRvbkljb25Qb3NpdGlvbiA9ICdyaWdodCc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIG1lc3NhZ2UgdG8gZGlzcGxheSBpZiB0aGVyZSBhcmUgbm8gb3B0aW9ucyB0byBzZWxlY3QgYXZhaWxhYmxlXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIG5vT3B0aW9uc01lc3NhZ2U/ID0gJyc7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBsaXN0IG9mIHNlbGVjdGVkIHZhbHVlcyB3aGVuIHRoZSBzZWxlY3Rpb24gY2hhbmdlcy5cbiAgICpcbiAgICogQHR5cGUge0V2ZW50RW1pdHRlcjxzdHJpbmdbXT59XG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBPdXRwdXQoKSBjaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJWYWx1ZVtdPigpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgb3B0aW9uIGNoYW5nZSBldmVudFxuICAgKlxuICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPE9wdGlvbkNoYW5nZUV2ZW50Pn1cbiAgICogQG1lbWJlcm9mIEZpbHRlckJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQE91dHB1dCgpIG9wdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8T3B0aW9uQ2hhbmdlRXZlbnQ+KCk7XG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIEZpbHRlckJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRoZW1lJylcbiAgQElucHV0KClcbiAgYXBwbGljYXRpb25UaGVtZTogQXBwbGljYXRpb25UaGVtZSA9ICdsaWdodCc7XG5cbiAgQFZpZXdDaGlsZCgnb3ZlcmxheUNvbnRhaW5lcicpIG92ZXJsYXlDb250YWluZXI6IGFueTtcbiAgQFZpZXdDaGlsZHJlbignZmlsdGVyT3B0aW9uJykgZmlsdGVyT3B0aW9uczogUXVlcnlMaXN0PGFueT47XG5cbiAgaXNPcGVuID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgZGlzcGxheWVkTGFiZWwgPSBzaWduYWw8c3RyaW5nPignJyk7XG4gIHRvb2x0aXAgPSBzaWduYWw8c3RyaW5nPignJyk7XG4gIHNlYXJjaCA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgc2hvd1Rvb2x0aXA6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XG4gIGRpc3BsYXllZE9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgbGV0IGxhc3RTZWN0aW9uVGl0bGU6IHN0cmluZztcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zKClcbiAgICAgIC5tYXAob3B0aW9uID0+IHtcbiAgICAgICAgbGFzdFNlY3Rpb25UaXRsZSA9IG9wdGlvbi5zZWN0aW9uVGl0bGUgfHwgbGFzdFNlY3Rpb25UaXRsZTtcbiAgICAgICAgcmV0dXJuIHsgLi4ub3B0aW9uLCBzZWN0aW9uVGl0bGU6IGxhc3RTZWN0aW9uVGl0bGUgfTtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKG9wdGlvbiA9PiBvcHRpb24ubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaCgpLnRvTG93ZXJDYXNlKCkpKTtcbiAgfSk7XG4gIHJlYWRvbmx5IE1JTl9PUFRJT05TX0xFTkdUSF9GT1JfU0VBUkNIID0gODtcbiAgcHJvdGVjdGVkIGtleU1hbmFnZXI6IEZvY3VzS2V5TWFuYWdlcjxIVE1MRWxlbWVudD47XG4gIHByb3RlY3RlZCB0cmFuc2xhdGlvbkNvbnRleHQgPSAnRklMVEVSX0JVVFRPTi4nO1xuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIGlmICh0aGlzLmRlZmF1bHRBcHBUaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gdGhpcy5kZWZhdWx0QXBwVGhlbWU7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkb3Qtbm90YXRpb25cbiAgICBpZiAoY2hhbmdlc1sndmFsdWUnXSkge1xuICAgICAgdGhpcy51cGRhdGVMYWJlbCgpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyVmFsdWUoKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IFtdO1xuICAgIHRoaXMudXBkYXRlTGFiZWwoKTtcbiAgICB0aGlzLmNoYW5nZWQuZW1pdCh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIG91dHNpZGVDbGljaygpIHtcbiAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmlzT3Blbi5zZXQoZmFsc2UpO1xuICAgIH0pO1xuICB9XG5cbiAgdG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNPcGVuLnNldCghdGhpcy5pc09wZW4oKSk7XG4gICAgaWYgKHRoaXMuaXNPcGVuKCkpIHtcbiAgICAgIHRoaXMua2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy5maWx0ZXJPcHRpb25zKS53aXRoV3JhcCgpO1xuICAgICAgdGhpcy5rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oMCk7XG4gICAgfVxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgaXNTZWxlY3RlZCh2YWx1ZT86IEZpbHRlclZhbHVlKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/LmluY2x1ZGVzKHZhbHVlIHx8ICcnKTtcbiAgfVxuXG4gIG9wdGlvbkNoYW5nZWQoc2VsZWN0ZWQ6IGJvb2xlYW4sIG9wdGlvbjogRmlsdGVyQnV0dG9uT3B0aW9uKSB7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUgfHwgW107XG4gICAgaWYgKHRoaXMuc2luZ2xlU2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLnZhbHVlID0gc2VsZWN0ZWQgPyBbb3B0aW9uLnZhbHVlXSA6IFtdO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgICAgdGhpcy52YWx1ZS5wdXNoKG9wdGlvbi52YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnZhbHVlLnNwbGljZSh0aGlzLnZhbHVlLmluZGV4T2Yob3B0aW9uLnZhbHVlKSwgMSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlZC5lbWl0KHRoaXMudmFsdWUpO1xuICAgIHRoaXMub3B0aW9uQ2hhbmdlLmVtaXQoeyBzZWxlY3RlZCwgb3B0aW9uIH0pO1xuICAgIHRoaXMudXBkYXRlTGFiZWwoKTtcbiAgfVxuXG4gIGtleURvd25IYW5kbGVyKGV2OiBhbnkpIHtcbiAgICBpZiAoZXYua2V5ID09PSBJS2V5Ym9hcmRFdmVudC5BUlJPV19ET1dOKSB7XG4gICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5rZXlNYW5hZ2VyLnNldE5leHRJdGVtQWN0aXZlKCk7XG4gICAgfSBlbHNlIGlmIChldi5rZXkgPT09IElLZXlib2FyZEV2ZW50LkFSUk9XX1VQKSB7XG4gICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5rZXlNYW5hZ2VyLnNldFByZXZpb3VzSXRlbUFjdGl2ZSgpO1xuICAgIH0gZWxzZSBpZiAoZXYua2V5ID09PSBJS2V5Ym9hcmRFdmVudC5FU0NBUEUpIHtcbiAgICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgb25MYWJlbEVsbGlwc2lzQ2hhbmdlKGlzRWxsaXBzaXM6IGJvb2xlYW4sIHZhbHVlOiBGaWx0ZXJWYWx1ZSk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1Rvb2x0aXBbdmFsdWVdID0gaXNFbGxpcHNpcztcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTGFiZWwoKSB7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUgfHwgW107XG4gICAgbGV0IGRpc3BsYXllZExhYmVsID0gJyc7XG4gICAgbGV0IHRvb2x0aXAgPSAnJztcbiAgICBjb25zdCBzb3J0ZWRMYWJlbHMgPSB0aGlzLm9wdGlvbnMoKVxuICAgICAgLmZpbHRlcihvcHRpb24gPT4gdGhpcy52YWx1ZS5pbmNsdWRlcyhvcHRpb24udmFsdWUpKVxuICAgICAgLm1hcChpdGVtID0+IGl0ZW0/LmxhYmVsIHx8ICcnKTtcblxuICAgIGlmIChzb3J0ZWRMYWJlbHMubGVuZ3RoID4gMCkge1xuICAgICAgZGlzcGxheWVkTGFiZWwgPSB0aGlzLm9wdGlvbnMoKS5maW5kKG9wdGlvbiA9PiBvcHRpb24udmFsdWUgPT09IHRoaXMudmFsdWVbMF0pPy5sYWJlbCB8fCAnJztcbiAgICAgIHRvb2x0aXAgPSBgJHt0aGlzLmxhYmVsfSR7c29ydGVkTGFiZWxzLm1hcCh2YWx1ZSA9PiBgXFxuIOKAoiAke3ZhbHVlfWApLmpvaW4oJycpfWA7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gMSkge1xuICAgICAgZGlzcGxheWVkTGFiZWwgKz0gYCAoKyR7dGhpcy52YWx1ZS5sZW5ndGggLSAxfSlgO1xuICAgIH1cbiAgICB0aGlzLmRpc3BsYXllZExhYmVsLnNldChkaXNwbGF5ZWRMYWJlbCk7XG4gICAgdGhpcy50b29sdGlwLnNldCh0b29sdGlwKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPHVpLWJ1dHRvblxuICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoKVwiXG4gICAgW21hdFRvb2x0aXBDbGFzc109XCIndG9vbHRpcC1tdWx0aS1saW5lJ1wiXG4gICAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCInYWJvdmUnXCJcbiAgICBjbGFzcz1cInVpLWZpbHRlci1idXR0b24tdHJpZ2dlclwiXG4gICAgW2NsYXNzLmJ1dHRvbi1vcGVuZWRdPVwiaXNPcGVuKClcIlxuICAgIFt2YXJpYW50XT1cInZhbHVlLmxlbmd0aCB8fCBpc09wZW4oKSA/ICdzZWNvbmRhcnknIDogJ2dob3N0J1wiXG4gICAgW2xhYmVsXT1cImRpc3BsYXllZExhYmVsKCkgfHwgbGFiZWxcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCAob3B0aW9ucygpLmxlbmd0aCA9PT0gMCAmJiAhbm9PcHRpb25zTWVzc2FnZSlcIlxuICAgIChjbGljayk9XCJ0b2dnbGUoKVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgc2l6ZT1cInNtYWxsXCJcbiAgICBbcm9sZV09XCInY29tYm9ib3gnXCJcbiAgICBbdG9vbHRpcF09XCJ2YWx1ZS5sZW5ndGggPyAnICcgOiAnJ1wiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc09wZW4oKVwiXG4gICAgW2ljb25OYW1lXT1cImljb25OYW1lIHx8IChpc09wZW4oKSA/ICdBcnJvdy1jaGV2cm9uLXVwLWZpbGxlZCcgOiAnQXJyb3ctY2hldnJvbi1kb3duLWZpbGxlZCcpXCJcbiAgICBbaWNvblBvc2l0aW9uXT1cImljb25Qb3NpdGlvblwiXG4gICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgY2RrT3ZlcmxheU9yaWdpblxuICAgICN0cmlnZ2VyPVwiY2RrT3ZlcmxheU9yaWdpblwiXG4gID48L3VpLWJ1dHRvbj5cbiAgPG5nLXRlbXBsYXRlXG4gICAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cInRyaWdnZXJcIlxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJpc09wZW4oKVwiXG4gICAgKG92ZXJsYXlPdXRzaWRlQ2xpY2spPVwib3V0c2lkZUNsaWNrKClcIlxuICA+XG4gICAgQGlmIChkaXNwbGF5ZWRPcHRpb25zKCkubGVuZ3RoKSB7XG4gICAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4XCIgW2F0dHIuYXJpYS1saXZlXT1cIidwb2xpdGUnXCI+XG4gICAgICAgIHt7IGRpc3BsYXllZE9wdGlvbnMoKVtrZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCA/PyAwXS5sYWJlbCB9fVxuICAgICAgICB7e1xuICAgICAgICAgIHRyYW5zbGF0aW9uQ29udGV4dCArICdBQ1RJVkVfSVRFTSdcbiAgICAgICAgICAgIHwgdWlUcmFuc2xhdGU6IHsgYWN0aXZlOiAoa2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggPz8gMCkgKyAxLCB0b3RhbDogZmlsdGVyT3B0aW9ucy5sZW5ndGggfVxuICAgICAgICAgICAgfCBhc3luY1xuICAgICAgICB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4XCIgW2F0dHIuYXJpYS1saXZlXT1cIidwb2xpdGUnXCI+XG4gICAgICAgIHt7IGRpc3BsYXllZE9wdGlvbnMoKVtrZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCA/PyAwXS5sYWJlbCB9fVxuICAgICAgICB7e1xuICAgICAgICAgICh2YWx1ZS5pbmNsdWRlcyhkaXNwbGF5ZWRPcHRpb25zKClba2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggPz8gMF0udmFsdWUpXG4gICAgICAgICAgICA/IHRyYW5zbGF0aW9uQ29udGV4dCArICdTRUxFQ1RFRCdcbiAgICAgICAgICAgIDogdHJhbnNsYXRpb25Db250ZXh0ICsgJ0RFU0VMRUNURUQnXG4gICAgICAgICAgKVxuICAgICAgICAgICAgfCB1aVRyYW5zbGF0ZVxuICAgICAgICAgICAgfCBhc3luY1xuICAgICAgICB9fVxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJ1aS1maWx0ZXItYnV0dG9uXCIgI292ZXJsYXlDb250YWluZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwidWktZmlsdGVyLWJ1dHRvbi1oZWFkZXJcIiAqbmdJZj1cIm9wdGlvbnMoKS5sZW5ndGggPiBNSU5fT1BUSU9OU19MRU5HVEhfRk9SX1NFQVJDSFwiPlxuICAgICAgICA8dWktZmllbGRcbiAgICAgICAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAgICAgICBbc2hvd0JvdHRvbUNvbnRlbnRdPVwiZmFsc2VcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaCgpXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2guc2V0KCRldmVudClcIlxuICAgICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgICA+PC91aS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInVpLWZpbHRlci1idXR0b24tbGlzdFwiICNsaXN0IChrZXlkb3duKT1cImtleURvd25IYW5kbGVyKCRldmVudClcIj5cbiAgICAgICAgQGlmICghZGlzcGxheWVkT3B0aW9ucygpLmxlbmd0aCAmJiBvcHRpb25zKCkubGVuZ3RoKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5vLXJlc3VsdHMtZm91bmRcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7IHRyYW5zbGF0aW9uQ29udGV4dCArICdOT19SRVNVTFRTX0ZPVU5EJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHNlY3Rpb24gb2YgZGlzcGxheWVkT3B0aW9ucygpOyBpbmRleCBhcyBpXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICpuZ0lmPVwic2VjdGlvbi5zZWN0aW9uVGl0bGUgJiYgc2VjdGlvbi5zZWN0aW9uVGl0bGUgIT09IGRpc3BsYXllZE9wdGlvbnMoKVtpIC0gMV0/LnNlY3Rpb25UaXRsZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2VjdGlvbi10aXRsZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IHNlY3Rpb24uc2VjdGlvblRpdGxlIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJpdGVtXCJcbiAgICAgICAgICAgICAgW2NsYXNzLml0ZW0tc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZChzZWN0aW9uLnZhbHVlKVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvcHRpb25DaGFuZ2VkKCFpc1NlbGVjdGVkKHNlY3Rpb24udmFsdWUpLCBzZWN0aW9uKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDx1aS1yYWRpby1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNpbmdsZVNlbGVjdGlvblwiXG4gICAgICAgICAgICAgICAgW3RhYkluZGV4XT1cImkgPT09IDAgPyAwIDogLTFcIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJpc1NlbGVjdGVkKHNlY3Rpb24udmFsdWUpXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlUmFkaW8pPVwib3B0aW9uQ2hhbmdlZCgkZXZlbnQub3B0aW9uQ2hlY2tlZCwgc2VjdGlvbilcIlxuICAgICAgICAgICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgICAgICAgICAgICNmaWx0ZXJPcHRpb25cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L3VpLXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgICAgICAgPHVpLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLndpdGgtbGFiZWwtbnVtYmVyXT1cInNlY3Rpb24ubGFiZWxOdW1iZXIgIT09IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhc2luZ2xlU2VsZWN0aW9uXCJcbiAgICAgICAgICAgICAgICBbdGFiSW5kZXhdPVwiaSA9PT0gMCA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChzZWN0aW9uLnZhbHVlKVwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZWQpPVwib3B0aW9uQ2hhbmdlZCgkZXZlbnQsIHNlY3Rpb24pXCJcbiAgICAgICAgICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgICAgICAgICAgICAjZmlsdGVyT3B0aW9uXG4gICAgICAgICAgICAgID48L3VpLWNoZWNrYm94PlxuICAgICAgICAgICAgICA8dWktaWNvbiAqbmdJZj1cInNlY3Rpb24uaWNvblwiIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIiBbbmFtZV09XCJzZWN0aW9uLmljb25cIj48L3VpLWljb24+XG4gICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgI3Rvb2x0aXA9XCJtYXRUb29sdGlwXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIml0ZW0tbGFiZWxcIlxuICAgICAgICAgICAgICAgIHVpRWxsaXBzZVRleHRcbiAgICAgICAgICAgICAgICAob25DaGFuZ2VUZXh0U3RhdGUpPVwib25MYWJlbEVsbGlwc2lzQ2hhbmdlKCRldmVudCwgc2VjdGlvbi52YWx1ZSlcIlxuICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInNob3dUb29sdGlwW3NlY3Rpb24udmFsdWVdID8gc2VjdGlvbi5sYWJlbCA6ICcnXCJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcENsYXNzXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgc2VjdGlvbi5sYWJlbCB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaXRlbS1udW1iZXJcIiAqbmdJZj1cInNlY3Rpb24ubGFiZWxOdW1iZXIgIT09IHVuZGVmaW5lZFwiPih7eyBzZWN0aW9uLmxhYmVsTnVtYmVyIH19KTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIEBpZiAoIW9wdGlvbnMoKS5sZW5ndGggJiYgISFub09wdGlvbnNNZXNzYWdlKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1aS1maWx0ZXItYnV0dG9uLW5vLW9wdGlvbnNcIiBbaW5uZXJIVE1MXT1cIm5vT3B0aW9uc01lc3NhZ2VcIj48L2Rpdj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2IGNsYXNzPVwidWktZmlsdGVyLWJ1dHRvbi1mb290ZXJcIiAqbmdJZj1cImFsbG93Q2xlYXIgfHwgbWVzc2FnZVwiPlxuICAgICAgICAgIDx1aS1idXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiYWxsb3dDbGVhclwiXG4gICAgICAgICAgICB2YXJpYW50PVwidGV4dFwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIignQ09NTU9OLlJFU0VUJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpIVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgpXCJcbiAgICAgICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cInRvZ2dsZSgpXCJcbiAgICAgICAgICA+PC91aS1idXR0b24+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInVpLWZpbHRlci1idXR0b24tZm9vdGVyLW1lc3NhZ2VcIj5cbiAgICAgICAgICAgIHt7IG1lc3NhZ2UgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,58 @@
1
+ import { EllipseTextDirective } from './../../directives/ellipse-text.directive';
2
+ import { OverlayModule } from '@angular/cdk/overlay';
3
+ import { CommonModule } from '@angular/common';
4
+ import { NgModule } from '@angular/core';
5
+ import { MatTooltipModule } from '@angular/material/tooltip';
6
+ import { FilterButtonComponent } from './filter-button.component';
7
+ import { ButtonComponentModule } from '../button/button.component.module';
8
+ import { CheckboxComponentModule } from '../checkbox/checkbox.component.module';
9
+ import { RadioButtonComponentModule } from '../radio-button/radio-button.component.module';
10
+ import { FieldComponentModule } from '../field/field.component.module';
11
+ import { FormsModule } from '@angular/forms';
12
+ import { UiTranslatePipe } from '../../pipes/ui-translate.pipe';
13
+ import { IconComponentModule } from '../icon/icon.component.module';
14
+ import * as i0 from "@angular/core";
15
+ export class FilterButtonComponentModule {
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterButtonComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FilterButtonComponentModule, declarations: [FilterButtonComponent], imports: [CommonModule,
18
+ FormsModule,
19
+ MatTooltipModule,
20
+ OverlayModule,
21
+ UiTranslatePipe,
22
+ ButtonComponentModule,
23
+ IconComponentModule,
24
+ CheckboxComponentModule,
25
+ FieldComponentModule,
26
+ EllipseTextDirective,
27
+ RadioButtonComponentModule], exports: [FilterButtonComponent] }); }
28
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterButtonComponentModule, imports: [CommonModule,
29
+ FormsModule,
30
+ MatTooltipModule,
31
+ OverlayModule,
32
+ ButtonComponentModule,
33
+ IconComponentModule,
34
+ CheckboxComponentModule,
35
+ FieldComponentModule,
36
+ RadioButtonComponentModule] }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterButtonComponentModule, decorators: [{
39
+ type: NgModule,
40
+ args: [{
41
+ declarations: [FilterButtonComponent],
42
+ imports: [
43
+ CommonModule,
44
+ FormsModule,
45
+ MatTooltipModule,
46
+ OverlayModule,
47
+ UiTranslatePipe,
48
+ ButtonComponentModule,
49
+ IconComponentModule,
50
+ CheckboxComponentModule,
51
+ FieldComponentModule,
52
+ EllipseTextDirective,
53
+ RadioButtonComponentModule,
54
+ ],
55
+ exports: [FilterButtonComponent],
56
+ }]
57
+ }] });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2ZpbHRlci1idXR0b24vZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMzRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQW1CcEUsTUFBTSxPQUFPLDJCQUEyQjsrR0FBM0IsMkJBQTJCO2dIQUEzQiwyQkFBMkIsaUJBaEJ2QixxQkFBcUIsYUFFbEMsWUFBWTtZQUNaLFdBQVc7WUFDWCxnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGVBQWU7WUFDZixxQkFBcUI7WUFDckIsbUJBQW1CO1lBQ25CLHVCQUF1QjtZQUN2QixvQkFBb0I7WUFDcEIsb0JBQW9CO1lBQ3BCLDBCQUEwQixhQUVsQixxQkFBcUI7Z0hBRXBCLDJCQUEyQixZQWRwQyxZQUFZO1lBQ1osV0FBVztZQUNYLGdCQUFnQjtZQUNoQixhQUFhO1lBRWIscUJBQXFCO1lBQ3JCLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsb0JBQW9CO1lBRXBCLDBCQUEwQjs7NEZBSWpCLDJCQUEyQjtrQkFqQnZDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBQ3BCLDBCQUEwQjtxQkFDM0I7b0JBQ0QsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxsaXBzZVRleHREaXJlY3RpdmUgfSBmcm9tICcuLy4uLy4uL2RpcmVjdGl2ZXMvZWxsaXBzZS10ZXh0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBGaWx0ZXJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2ZpbHRlci1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHsgRmllbGRDb21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9maWVsZC9maWVsZC5jb21wb25lbnQubW9kdWxlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVWlUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdWktdHJhbnNsYXRlLnBpcGUnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2ljb24vaWNvbi5jb21wb25lbnQubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbRmlsdGVyQnV0dG9uQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgVWlUcmFuc2xhdGVQaXBlLFxuICAgIEJ1dHRvbkNvbXBvbmVudE1vZHVsZSxcbiAgICBJY29uQ29tcG9uZW50TW9kdWxlLFxuICAgIENoZWNrYm94Q29tcG9uZW50TW9kdWxlLFxuICAgIEZpZWxkQ29tcG9uZW50TW9kdWxlLFxuICAgIEVsbGlwc2VUZXh0RGlyZWN0aXZlLFxuICAgIFJhZGlvQnV0dG9uQ29tcG9uZW50TW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbRmlsdGVyQnV0dG9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyQnV0dG9uQ29tcG9uZW50TW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJ1dHRvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9maWx0ZXItYnV0dG9uL2ZpbHRlci1idXR0b24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEljb25OYW1lIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZGVsJztcblxuZXhwb3J0IHR5cGUgRmlsdGVyVmFsdWUgPSBzdHJpbmcgfCBudW1iZXI7XG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckJ1dHRvbk9wdGlvbiB7XG4gIHZhbHVlOiBGaWx0ZXJWYWx1ZTtcbiAgbGFiZWw6IHN0cmluZztcbiAgbGFiZWxOdW1iZXI/OiBudW1iZXI7XG4gIGljb24/OiBJY29uTmFtZTtcbiAgc2VjdGlvblRpdGxlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbkNoYW5nZUV2ZW50IHtcbiAgc2VsZWN0ZWQ6IGJvb2xlYW47XG4gIG9wdGlvbjogRmlsdGVyQnV0dG9uT3B0aW9uO1xufVxuIl19