@energycap/components 0.41.0 → 0.41.1-ECAP-27592-angular-17.20241219-1718

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 (258) hide show
  1. package/{esm2020 → esm2022}/energycap-components.mjs +4 -4
  2. package/{esm2020 → esm2022}/lib/components.module.mjs +418 -418
  3. package/{esm2020 → esm2022}/lib/controls/banner/banner.component.mjs +109 -109
  4. package/{esm2020 → esm2022}/lib/controls/button/button.component.mjs +106 -106
  5. package/{esm2020 → esm2022}/lib/controls/button/copy-button-base.directive.mjs +67 -67
  6. package/{esm2020 → esm2022}/lib/controls/button/copy-button.directive.mjs +28 -28
  7. package/{esm2020 → esm2022}/lib/controls/button/copy-table-button.directive.mjs +43 -43
  8. package/{esm2020 → esm2022}/lib/controls/calendar/calendar-item.component.mjs +59 -59
  9. package/{esm2020 → esm2022}/lib/controls/calendar/calendar.component.mjs +200 -200
  10. package/{esm2020 → esm2022}/lib/controls/calendar/calendar.types.mjs +3 -3
  11. package/{esm2020 → esm2022}/lib/controls/checkbox/checkbox.component.mjs +140 -140
  12. package/{esm2020 → esm2022}/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +38 -38
  13. package/{esm2020 → esm2022}/lib/controls/combobox/combobox.component.mjs +879 -879
  14. package/{esm2020 → esm2022}/lib/controls/date-input/date-input.component.mjs +256 -256
  15. package/{esm2020 → esm2022}/lib/controls/dropdown/dropdown.component.mjs +243 -243
  16. package/{esm2020 → esm2022}/lib/controls/file-upload/file-upload.component.mjs +261 -261
  17. package/{esm2020 → esm2022}/lib/controls/form-control/form-control.component.mjs +104 -104
  18. package/{esm2020 → esm2022}/lib/controls/form-control-base.mjs +151 -151
  19. package/{esm2020 → esm2022}/lib/controls/form-control-label/form-control-label.component.mjs +136 -136
  20. package/{esm2020 → esm2022}/lib/controls/form-group/form-group.component.mjs +261 -261
  21. package/{esm2020 → esm2022}/lib/controls/help-popover/help-popover.component.mjs +31 -31
  22. package/{esm2020 → esm2022}/lib/controls/item-picker/item-picker.component.mjs +329 -329
  23. package/{esm2020 → esm2022}/lib/controls/link-button/link-button.component.mjs +11 -11
  24. package/{esm2020 → esm2022}/lib/controls/menu/menu.component.mjs +485 -485
  25. package/{esm2020 → esm2022}/lib/controls/navigation/link-item.mjs +1 -1
  26. package/{esm2020 → esm2022}/lib/controls/navigation/nav-group.mjs +38 -38
  27. package/{esm2020 → esm2022}/lib/controls/navigation/nav-item-active.directive.mjs +92 -92
  28. package/{esm2020 → esm2022}/lib/controls/navigation/nav-item.mjs +1 -1
  29. package/{esm2020 → esm2022}/lib/controls/numericbox/numericbox.component.mjs +372 -372
  30. package/{esm2020 → esm2022}/lib/controls/popover/popover.component.mjs +117 -117
  31. package/{esm2020 → esm2022}/lib/controls/radio-button/radio-button-option.mjs +2 -2
  32. package/{esm2020 → esm2022}/lib/controls/radio-button/radio-button.component.mjs +82 -82
  33. package/{esm2020 → esm2022}/lib/controls/select/select.component.mjs +88 -88
  34. package/{esm2020 → esm2022}/lib/controls/tabs/tabs.component.mjs +47 -47
  35. package/{esm2020 → esm2022}/lib/controls/textbox/textbox.component.mjs +155 -155
  36. package/{esm2020 → esm2022}/lib/core/cache.service.mjs +105 -105
  37. package/esm2022/lib/core/custom-validators.mjs +29 -0
  38. package/esm2022/lib/core/date-time-helper.mjs +220 -0
  39. package/{esm2020 → esm2022}/lib/core/error.service.mjs +61 -61
  40. package/{esm2020 → esm2022}/lib/core/router-helper.service.mjs +111 -111
  41. package/{esm2020 → esm2022}/lib/core/scroll.service.mjs +89 -89
  42. package/{esm2020 → esm2022}/lib/core/telemetry-tracker.service.mjs +16 -16
  43. package/{esm2020 → esm2022}/lib/core/telemetry.service.mjs +38 -38
  44. package/{esm2020 → esm2022}/lib/core/validation-message.service.mjs +185 -185
  45. package/{esm2020 → esm2022}/lib/core/validation-patterns.mjs +30 -30
  46. package/{esm2020 → esm2022}/lib/core/window.service.mjs +186 -186
  47. package/{esm2020 → esm2022}/lib/display/app-bar/app-bar.component.mjs +46 -46
  48. package/esm2022/lib/display/avatar/avatar.component.mjs +67 -0
  49. package/{esm2020 → esm2022}/lib/display/avatar/avatar.service.mjs +64 -64
  50. package/{esm2020 → esm2022}/lib/display/confirm/confirm.component.mjs +168 -168
  51. package/{esm2020 → esm2022}/lib/display/dialog/dialog-content.mjs +1 -1
  52. package/{esm2020 → esm2022}/lib/display/dialog/dialog-group/dialog-group.component.mjs +63 -63
  53. package/{esm2020 → esm2022}/lib/display/dialog/dialog-types.mjs +76 -76
  54. package/{esm2020 → esm2022}/lib/display/dialog/dialog.component.mjs +281 -281
  55. package/{esm2020 → esm2022}/lib/display/dialog/dialog.service.mjs +71 -71
  56. package/{esm2020 → esm2022}/lib/display/help/help-types.mjs +1 -1
  57. package/{esm2020 → esm2022}/lib/display/hierarchy/hierarchy-base.mjs +111 -111
  58. package/{esm2020 → esm2022}/lib/display/hierarchy/hierarchy-mocks.spec.mjs +53 -53
  59. package/{esm2020 → esm2022}/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +61 -61
  60. package/{esm2020 → esm2022}/lib/display/item-display/item-display.component.mjs +81 -81
  61. package/{esm2020 → esm2022}/lib/display/json-display/json-display.component.mjs +47 -47
  62. package/{esm2020 → esm2022}/lib/display/resizable/resizable-base.mjs +120 -120
  63. package/{esm2020 → esm2022}/lib/display/resizable/resizable.component.mjs +52 -52
  64. package/{esm2020 → esm2022}/lib/display/spinner/spinner.component.mjs +12 -12
  65. package/{esm2020 → esm2022}/lib/display/splash/splash.component.mjs +42 -42
  66. package/{esm2020 → esm2022}/lib/display/splash/splash.service.mjs +35 -35
  67. package/{esm2020 → esm2022}/lib/display/table/resizable-column.component.mjs +20 -20
  68. package/{esm2020 → esm2022}/lib/display/table/resizable-table.directive.mjs +227 -227
  69. package/{esm2020 → esm2022}/lib/display/table/searchable-table.component.mjs +342 -342
  70. package/{esm2020 → esm2022}/lib/display/table/table-detail-row.component.mjs +19 -19
  71. package/{esm2020 → esm2022}/lib/display/table/table-locked-column.component.mjs +58 -58
  72. package/{esm2020 → esm2022}/lib/display/table/table-master-header-row.component.mjs +14 -14
  73. package/{esm2020 → esm2022}/lib/display/table/table-master-row.component.mjs +163 -163
  74. package/{esm2020 → esm2022}/lib/display/table/table-pagination.component.mjs +155 -155
  75. package/{esm2020 → esm2022}/lib/display/table/table-selectable-row.component.mjs +235 -235
  76. package/{esm2020 → esm2022}/lib/display/table/table.component.mjs +249 -249
  77. package/{esm2020 → esm2022}/lib/display/tags/tag.mjs +17 -17
  78. package/{esm2020 → esm2022}/lib/display/tags/tags.component.mjs +77 -77
  79. package/{esm2020 → esm2022}/lib/display/toast/toast/toast.component.mjs +77 -77
  80. package/{esm2020 → esm2022}/lib/display/toast/toast-types.mjs +7 -7
  81. package/{esm2020 → esm2022}/lib/display/toast/toast.service.mjs +35 -35
  82. package/{esm2020 → esm2022}/lib/display/toast/toaster/toaster.component.mjs +114 -114
  83. package/{esm2020 → esm2022}/lib/display/tooltip/tooltip.component.mjs +28 -28
  84. package/{esm2020 → esm2022}/lib/display/tooltip/tooltip.service.mjs +78 -78
  85. package/{esm2020 → esm2022}/lib/display/tooltip-directive/tooltip.directive.mjs +173 -173
  86. package/{esm2020 → esm2022}/lib/display/tour/tour-types.mjs +33 -33
  87. package/{esm2020 → esm2022}/lib/display/tour/tour.component.mjs +398 -398
  88. package/{esm2020 → esm2022}/lib/display/tour/tour.service.mjs +75 -75
  89. package/{esm2020 → esm2022}/lib/display/tree/tree.component.mjs +135 -135
  90. package/{esm2020 → esm2022}/lib/display/view-overlay/view-overlay.component.mjs +58 -58
  91. package/{esm2020 → esm2022}/lib/shared/directives/click-area-for/click-area-for.directive.mjs +32 -32
  92. package/{esm2020 → esm2022}/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +111 -111
  93. package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +166 -0
  94. package/{esm2020 → esm2022}/lib/shared/display/pipes/date-display.pipe.mjs +50 -50
  95. package/{esm2020 → esm2022}/lib/shared/display/pipes/highlight-text.pipe.mjs +30 -30
  96. package/{esm2020 → esm2022}/lib/shared/display/pipes/relative-date.pipe.mjs +62 -62
  97. package/{esm2020 → esm2022}/lib/shared/display/pipes/row-count.pipe.mjs +48 -48
  98. package/{esm2020 → esm2022}/lib/shared/display/pipes/time-display.pipe.mjs +41 -41
  99. package/esm2022/lib/shared/display.mjs +6 -0
  100. package/esm2022/lib/shared/form-group.helper.mjs +67 -0
  101. package/{esm2020 → esm2022}/lib/shared/json-helper.mjs +18 -18
  102. package/esm2022/lib/shared/lodash-helper.mjs +52 -0
  103. package/{esm2020 → esm2022}/lib/shared/page/page-base/page-base.component.mjs +387 -387
  104. package/{esm2020 → esm2022}/lib/shared/page/page-statuses.mjs +22 -22
  105. package/{esm2020 → esm2022}/lib/shared/page/page-title/page-title.component.mjs +23 -23
  106. package/{esm2020 → esm2022}/lib/shared/page/page-view/page-view.component.mjs +147 -147
  107. package/{esm2020 → esm2022}/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +16 -16
  108. package/{esm2020 → esm2022}/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +16 -16
  109. package/{esm2020 → esm2022}/lib/shared/testing/page-base-component-test-helper.spec.mjs +37 -37
  110. package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +98 -0
  111. package/{esm2020 → esm2022}/lib/shared/testing/public-mocks.spec.mjs +148 -148
  112. package/{esm2020 → esm2022}/lib/shared/testing/spy-factory.spec.mjs +39 -39
  113. package/{esm2020 → esm2022}/lib/shared/testing/translation-mocks.spec.mjs +56 -56
  114. package/{esm2020 → esm2022}/lib/shared/user-preference.service.mjs +17 -17
  115. package/{esm2020 → esm2022}/lib/shared/wizard/wizard-base/wizard-base.component.mjs +246 -246
  116. package/{esm2020 → esm2022}/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +68 -68
  117. package/{esm2020 → esm2022}/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +18 -18
  118. package/{esm2020 → esm2022}/public-api.mjs +114 -114
  119. package/{fesm2020 → fesm2022}/energycap-components.mjs +11797 -11793
  120. package/fesm2022/energycap-components.mjs.map +1 -0
  121. package/index.d.ts +5 -5
  122. package/lib/components.module.d.ts +91 -91
  123. package/lib/controls/banner/banner.component.d.ts +50 -50
  124. package/lib/controls/button/button.component.d.ts +78 -78
  125. package/lib/controls/button/copy-button-base.directive.d.ts +20 -20
  126. package/lib/controls/button/copy-button.directive.d.ts +14 -14
  127. package/lib/controls/button/copy-table-button.directive.d.ts +19 -19
  128. package/lib/controls/calendar/calendar-item.component.d.ts +17 -17
  129. package/lib/controls/calendar/calendar.component.d.ts +54 -54
  130. package/lib/controls/calendar/calendar.types.d.ts +7 -7
  131. package/lib/controls/checkbox/checkbox.component.d.ts +65 -65
  132. package/lib/controls/collapsible-toggle/collapsible-toggle.component.d.ts +25 -25
  133. package/lib/controls/combobox/combobox.component.d.ts +418 -418
  134. package/lib/controls/date-input/date-input.component.d.ts +80 -80
  135. package/lib/controls/dropdown/dropdown.component.d.ts +161 -161
  136. package/lib/controls/file-upload/file-upload.component.d.ts +124 -124
  137. package/lib/controls/form-control/form-control.component.d.ts +30 -30
  138. package/lib/controls/form-control-base.d.ts +110 -110
  139. package/lib/controls/form-control-label/form-control-label.component.d.ts +73 -73
  140. package/lib/controls/form-group/form-group.component.d.ts +105 -105
  141. package/lib/controls/help-popover/help-popover.component.d.ts +11 -11
  142. package/lib/controls/item-picker/item-picker.component.d.ts +164 -164
  143. package/lib/controls/link-button/link-button.component.d.ts +5 -5
  144. package/lib/controls/menu/menu.component.d.ts +255 -255
  145. package/lib/controls/navigation/link-item.d.ts +32 -32
  146. package/lib/controls/navigation/nav-group.d.ts +18 -18
  147. package/lib/controls/navigation/nav-item-active.directive.d.ts +42 -42
  148. package/lib/controls/navigation/nav-item.d.ts +31 -31
  149. package/lib/controls/numericbox/numericbox.component.d.ts +148 -148
  150. package/lib/controls/popover/popover.component.d.ts +51 -51
  151. package/lib/controls/radio-button/radio-button-option.d.ts +19 -19
  152. package/lib/controls/radio-button/radio-button.component.d.ts +53 -53
  153. package/lib/controls/select/select.component.d.ts +44 -44
  154. package/lib/controls/tabs/tabs.component.d.ts +30 -30
  155. package/lib/controls/textbox/textbox.component.d.ts +107 -107
  156. package/lib/core/cache.service.d.ts +33 -33
  157. package/lib/core/custom-validators.d.ts +20 -20
  158. package/lib/core/date-time-helper.d.ts +101 -101
  159. package/lib/core/error.service.d.ts +20 -20
  160. package/lib/core/router-helper.service.d.ts +48 -48
  161. package/lib/core/scroll.service.d.ts +36 -36
  162. package/lib/core/telemetry-tracker.service.d.ts +13 -13
  163. package/lib/core/telemetry.service.d.ts +31 -31
  164. package/lib/core/validation-message.service.d.ts +26 -26
  165. package/lib/core/validation-patterns.d.ts +22 -22
  166. package/lib/core/window.service.d.ts +116 -116
  167. package/lib/display/app-bar/app-bar.component.d.ts +20 -20
  168. package/lib/display/avatar/avatar.component.d.ts +35 -35
  169. package/lib/display/avatar/avatar.service.d.ts +24 -24
  170. package/lib/display/confirm/confirm.component.d.ts +123 -123
  171. package/lib/display/dialog/dialog-content.d.ts +19 -19
  172. package/lib/display/dialog/dialog-group/dialog-group.component.d.ts +32 -32
  173. package/lib/display/dialog/dialog-types.d.ts +130 -130
  174. package/lib/display/dialog/dialog.component.d.ts +120 -120
  175. package/lib/display/dialog/dialog.service.d.ts +48 -48
  176. package/lib/display/help/help-types.d.ts +33 -33
  177. package/lib/display/hierarchy/hierarchy-base.d.ts +97 -97
  178. package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +53 -53
  179. package/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.d.ts +34 -34
  180. package/lib/display/item-display/item-display.component.d.ts +43 -43
  181. package/lib/display/json-display/json-display.component.d.ts +16 -16
  182. package/lib/display/resizable/resizable-base.d.ts +67 -67
  183. package/lib/display/resizable/resizable.component.d.ts +31 -31
  184. package/lib/display/spinner/spinner.component.d.ts +5 -5
  185. package/lib/display/splash/splash.component.d.ts +16 -16
  186. package/lib/display/splash/splash.service.d.ts +22 -22
  187. package/lib/display/table/resizable-column.component.d.ts +10 -10
  188. package/lib/display/table/resizable-table.directive.d.ts +93 -93
  189. package/lib/display/table/searchable-table.component.d.ts +206 -206
  190. package/lib/display/table/table-detail-row.component.d.ts +8 -8
  191. package/lib/display/table/table-locked-column.component.d.ts +20 -20
  192. package/lib/display/table/table-master-header-row.component.d.ts +9 -9
  193. package/lib/display/table/table-master-row.component.d.ts +113 -113
  194. package/lib/display/table/table-pagination.component.d.ts +91 -91
  195. package/lib/display/table/table-selectable-row.component.d.ts +102 -102
  196. package/lib/display/table/table.component.d.ts +121 -121
  197. package/lib/display/tags/tag.d.ts +18 -18
  198. package/lib/display/tags/tags.component.d.ts +48 -48
  199. package/lib/display/toast/toast/toast.component.d.ts +23 -23
  200. package/lib/display/toast/toast-types.d.ts +24 -24
  201. package/lib/display/toast/toast.service.d.ts +20 -20
  202. package/lib/display/toast/toaster/toaster.component.d.ts +35 -35
  203. package/lib/display/tooltip/tooltip.component.d.ts +70 -70
  204. package/lib/display/tooltip/tooltip.service.d.ts +16 -16
  205. package/lib/display/tooltip-directive/tooltip.directive.d.ts +44 -44
  206. package/lib/display/tour/tour-types.d.ts +70 -70
  207. package/lib/display/tour/tour.component.d.ts +147 -147
  208. package/lib/display/tour/tour.service.d.ts +38 -38
  209. package/lib/display/tree/tree.component.d.ts +75 -75
  210. package/lib/display/view-overlay/view-overlay.component.d.ts +38 -38
  211. package/lib/shared/directives/click-area-for/click-area-for.directive.d.ts +14 -14
  212. package/lib/shared/directives/if-viewport-width/if-viewport-width.directive.d.ts +60 -60
  213. package/lib/shared/directives/popup/popup-container.directive.d.ts +101 -101
  214. package/lib/shared/display/pipes/date-display.pipe.d.ts +21 -21
  215. package/lib/shared/display/pipes/highlight-text.pipe.d.ts +9 -9
  216. package/lib/shared/display/pipes/relative-date.pipe.d.ts +36 -36
  217. package/lib/shared/display/pipes/row-count.pipe.d.ts +23 -23
  218. package/lib/shared/display/pipes/time-display.pipe.d.ts +18 -18
  219. package/lib/shared/display.d.ts +42 -42
  220. package/lib/shared/form-group.helper.d.ts +31 -31
  221. package/lib/shared/json-helper.d.ts +7 -7
  222. package/lib/shared/lodash-helper.d.ts +18 -18
  223. package/lib/shared/page/page-base/page-base.component.d.ts +259 -259
  224. package/lib/shared/page/page-statuses.d.ts +13 -13
  225. package/lib/shared/page/page-title/page-title.component.d.ts +9 -9
  226. package/lib/shared/page/page-view/page-view.component.d.ts +102 -102
  227. package/lib/shared/testing/copy-button-base-test-injector-factory.spec.d.ts +4 -4
  228. package/lib/shared/testing/hierarchy-base-test-injector-factory.spec.d.ts +4 -4
  229. package/lib/shared/testing/page-base-component-test-helper.spec.d.ts +30 -30
  230. package/lib/shared/testing/page-base-component-test-injector-factory.spec.d.ts +28 -28
  231. package/lib/shared/testing/public-mocks.spec.d.ts +90 -90
  232. package/lib/shared/testing/spy-factory.spec.d.ts +27 -27
  233. package/lib/shared/testing/translation-mocks.spec.d.ts +30 -30
  234. package/lib/shared/user-preference.service.d.ts +13 -13
  235. package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +134 -134
  236. package/lib/shared/wizard/wizard-buttons/wizard-buttons.component.d.ts +27 -27
  237. package/lib/shared/wizard/wizard-progress/wizard-progress.component.d.ts +10 -10
  238. package/package.json +12 -18
  239. package/public-api.d.ts +111 -111
  240. package/schematics/rxjs-7-upgrade/index.d.ts +3 -3
  241. package/schematics/rxjs-7-upgrade/index.js +67 -67
  242. package/schematics/rxjs-7-upgrade/schema.d.ts +4 -4
  243. package/schematics/rxjs-7-upgrade/schema.js +2 -2
  244. package/schematics/utilities/typescript.d.ts +7 -7
  245. package/schematics/utilities/typescript.js +41 -41
  246. package/schematics/utilities/workspace.d.ts +8 -8
  247. package/schematics/utilities/workspace.js +71 -71
  248. package/esm2020/lib/core/custom-validators.mjs +0 -29
  249. package/esm2020/lib/core/date-time-helper.mjs +0 -220
  250. package/esm2020/lib/display/avatar/avatar.component.mjs +0 -67
  251. package/esm2020/lib/shared/directives/popup/popup-container.directive.mjs +0 -163
  252. package/esm2020/lib/shared/display.mjs +0 -6
  253. package/esm2020/lib/shared/form-group.helper.mjs +0 -67
  254. package/esm2020/lib/shared/lodash-helper.mjs +0 -51
  255. package/esm2020/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +0 -98
  256. package/fesm2015/energycap-components.mjs +0 -12211
  257. package/fesm2015/energycap-components.mjs.map +0 -1
  258. package/fesm2020/energycap-components.mjs.map +0 -1
@@ -1,109 +1,109 @@
1
- import { Component, Input, Output, EventEmitter, HostBinding } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../core/cache.service";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "../button/button.component";
6
- export class BannerComponent {
7
- constructor(cacheService) {
8
- this.cacheService = cacheService;
9
- /** hidden hides the banner */
10
- this.hidden = false;
11
- /**The ID of the component, rendered into the HTML to make it more accessible to automation */
12
- this.id = '';
13
- /**The type of banner which is used to determine the styling */
14
- this.type = 'warning';
15
- this.bannerStyle = 'pinned';
16
- /**Show an x to allow hiding the banner */
17
- this.showCloseBtn = false;
18
- /** When true, the banner will hide itself when the close button is clicked */
19
- this.autoHideOnClose = true;
20
- /** When true, the banner will automatically hide itself based on the state found in local storage */
21
- this.rememberClosed = false;
22
- /**Event to hide the banner */
23
- this.closed = new EventEmitter();
24
- /**
25
- * Icon to show on the banner.
26
- * If no value for overrideIcon is provided, will be automatically selected based on the type input.
27
- */
28
- this.icon = '';
29
- this.cacheKeyPrefix = 'dismissableBanner-';
30
- }
31
- ngOnChanges() {
32
- if (this.customIcon) {
33
- this.icon = this.customIcon;
34
- }
35
- else {
36
- this.getIconByBannerType();
37
- }
38
- if (this.rememberClosed) {
39
- let cacheValue = this.cacheService.getItem(`${this.cacheKeyPrefix}${this.id}`);
40
- if (cacheValue) {
41
- this.hidden = cacheValue.hidden;
42
- }
43
- else {
44
- this.hidden = false;
45
- }
46
- }
47
- }
48
- /** On close, explicitly hide the banner one time. If the input changes afterward then it can reappear*/
49
- close() {
50
- if (this.autoHideOnClose) {
51
- this.hidden = true;
52
- }
53
- if (this.rememberClosed) {
54
- this.cacheService.setItem(`${this.cacheKeyPrefix}${this.id}`, { hidden: true });
55
- }
56
- this.closed.emit();
57
- }
58
- getIconByBannerType() {
59
- if (this.type === 'info') {
60
- this.icon = 'icon-info-circle';
61
- }
62
- else if (this.type === 'warning') {
63
- this.icon = 'icon-warning';
64
- }
65
- else if (this.type === 'error') {
66
- this.icon = 'icon-error';
67
- }
68
- else if (this.type === 'success') {
69
- this.icon = 'icon-check-circle';
70
- }
71
- else if (this.type === 'promo') {
72
- this.icon = 'icon-sparkles';
73
- }
74
- }
75
- }
76
- BannerComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BannerComponent, deps: [{ token: i1.CacheService }], target: i0.ɵɵFactoryTarget.Component });
77
- BannerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: BannerComponent, selector: "ec-banner", inputs: { hidden: "hidden", id: "id", type: "type", bannerStyle: "bannerStyle", title: "title", text: "text", list: "list", showCloseBtn: "showCloseBtn", autoHideOnClose: "autoHideOnClose", customIcon: "customIcon", rememberClosed: "rememberClosed" }, outputs: { closed: "closed" }, host: { properties: { "hidden": "this.hidden" } }, usesOnChanges: true, ngImport: i0, template: "<div id=\"banner_{{id}}\" class=\"banner {{type}} {{bannerStyle}}\">\r\n <ec-button id=\"banner{{id}}_close\"\r\n *ngIf=\"showCloseBtn\"\r\n type=\"icon\"\r\n icon=\"icon-cancel\"\r\n (clicked)=\"close()\">\r\n </ec-button>\r\n <div class=\"banner-content d-flex text-body-1\">\r\n <i class=\"ec-icon {{icon}}\"></i>\r\n <div class=\"ml-2\">\r\n <p class=\"title mb-0\" *ngIf=\"title\">\r\n {{title}}\r\n </p>\r\n <p class=\"text mb-0\" *ngIf=\"text\">{{text}}</p>\r\n \r\n <ul class=\"list mb-0\" *ngIf=\"list?.length\">\r\n <li *ngFor=\"let item of list\">{{item}}</li>\r\n </ul>\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n", styles: [":host{display:flex}:host(.border-bottom-0) .banner{border-bottom:0;border-radius:var(--ec-border-radius-card)}.banner{display:flex;flex-direction:column;flex:1 1;min-height:2.5rem;position:relative;overflow-y:auto;background-color:var(--ec-banner-background-color, var(--ec-background-color-info));border-radius:var(--ec-banner-border-radius, var(--ec-border-radius-card));border:1px solid var(--ec-banner-border-color, var(--ec-color-info))}.banner-content{align-items:var(--ec-banner-align-items-content, normal);padding:.5rem 1rem;flex:none;margin:auto 0;color:var(--ec-banner-color, var(--ec-color-secondary-dark))}.banner-content ::ng-deep p{line-height:inherit}.ec-icon{color:var(--ec-banner-icon-color, var(--ec-color-info));font-size:1.125rem}ec-button{--ec-button-color-icon-hover: var(--ec-color-primary-dark);--ec-background-color-hover: rgba(26, 26, 35, .1);position:absolute;top:.1875rem;right:.25rem}ec-button+.banner-content{padding-right:2.75rem}.title{font-weight:700}.list{margin:0;padding-left:2em}.text+.list{margin-top:1em}.info:not(.toast){--ec-banner-background-color: var(--ec-background-color-info);--ec-banner-border-color: var(--ec-color-info);--ec-banner-icon-color: var(--ec-color-info)}.warning:not(.toast){--ec-banner-background-color: var(--ec-background-color-caution);--ec-banner-border-color: var(--ec-color-caution);--ec-banner-icon-color: var(--ec-color-caution)}.success:not(.toast){--ec-banner-background-color: var(--ec-background-color-success);--ec-banner-border-color: var(--ec-color-success);--ec-banner-icon-color: var(--ec-color-success)}.error:not(.toast){--ec-banner-background-color: var(--ec-background-color-danger);--ec-banner-border-color: var(--ec-color-danger);--ec-banner-icon-color: var(--ec-color-danger)}.pinned{border-radius:0;border-left:0;border-right:0}.promo:not(.toast){--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-secondary-light);--ec-color-link: var(--ec-color-link-light);border:none;background:var(--ec-background-color-promo)}.promo:not(.toast) ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15)}.toast{--ec-banner-background-color: var(--ec-color-gray-8);--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-primary-light);--ec-color-link: var(--ec-color-link-light);border:0;box-shadow:var(--ec-box-shadow)}.toast ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);top:.25rem;right:.25rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "icon", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }] });
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BannerComponent, decorators: [{
79
- type: Component,
80
- args: [{ selector: 'ec-banner', template: "<div id=\"banner_{{id}}\" class=\"banner {{type}} {{bannerStyle}}\">\r\n <ec-button id=\"banner{{id}}_close\"\r\n *ngIf=\"showCloseBtn\"\r\n type=\"icon\"\r\n icon=\"icon-cancel\"\r\n (clicked)=\"close()\">\r\n </ec-button>\r\n <div class=\"banner-content d-flex text-body-1\">\r\n <i class=\"ec-icon {{icon}}\"></i>\r\n <div class=\"ml-2\">\r\n <p class=\"title mb-0\" *ngIf=\"title\">\r\n {{title}}\r\n </p>\r\n <p class=\"text mb-0\" *ngIf=\"text\">{{text}}</p>\r\n \r\n <ul class=\"list mb-0\" *ngIf=\"list?.length\">\r\n <li *ngFor=\"let item of list\">{{item}}</li>\r\n </ul>\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n", styles: [":host{display:flex}:host(.border-bottom-0) .banner{border-bottom:0;border-radius:var(--ec-border-radius-card)}.banner{display:flex;flex-direction:column;flex:1 1;min-height:2.5rem;position:relative;overflow-y:auto;background-color:var(--ec-banner-background-color, var(--ec-background-color-info));border-radius:var(--ec-banner-border-radius, var(--ec-border-radius-card));border:1px solid var(--ec-banner-border-color, var(--ec-color-info))}.banner-content{align-items:var(--ec-banner-align-items-content, normal);padding:.5rem 1rem;flex:none;margin:auto 0;color:var(--ec-banner-color, var(--ec-color-secondary-dark))}.banner-content ::ng-deep p{line-height:inherit}.ec-icon{color:var(--ec-banner-icon-color, var(--ec-color-info));font-size:1.125rem}ec-button{--ec-button-color-icon-hover: var(--ec-color-primary-dark);--ec-background-color-hover: rgba(26, 26, 35, .1);position:absolute;top:.1875rem;right:.25rem}ec-button+.banner-content{padding-right:2.75rem}.title{font-weight:700}.list{margin:0;padding-left:2em}.text+.list{margin-top:1em}.info:not(.toast){--ec-banner-background-color: var(--ec-background-color-info);--ec-banner-border-color: var(--ec-color-info);--ec-banner-icon-color: var(--ec-color-info)}.warning:not(.toast){--ec-banner-background-color: var(--ec-background-color-caution);--ec-banner-border-color: var(--ec-color-caution);--ec-banner-icon-color: var(--ec-color-caution)}.success:not(.toast){--ec-banner-background-color: var(--ec-background-color-success);--ec-banner-border-color: var(--ec-color-success);--ec-banner-icon-color: var(--ec-color-success)}.error:not(.toast){--ec-banner-background-color: var(--ec-background-color-danger);--ec-banner-border-color: var(--ec-color-danger);--ec-banner-icon-color: var(--ec-color-danger)}.pinned{border-radius:0;border-left:0;border-right:0}.promo:not(.toast){--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-secondary-light);--ec-color-link: var(--ec-color-link-light);border:none;background:var(--ec-background-color-promo)}.promo:not(.toast) ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15)}.toast{--ec-banner-background-color: var(--ec-color-gray-8);--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-primary-light);--ec-color-link: var(--ec-color-link-light);border:0;box-shadow:var(--ec-box-shadow)}.toast ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);top:.25rem;right:.25rem}\n"] }]
81
- }], ctorParameters: function () { return [{ type: i1.CacheService }]; }, propDecorators: { hidden: [{
82
- type: HostBinding,
83
- args: ['hidden']
84
- }, {
85
- type: Input
86
- }], id: [{
87
- type: Input
88
- }], type: [{
89
- type: Input
90
- }], bannerStyle: [{
91
- type: Input
92
- }], title: [{
93
- type: Input
94
- }], text: [{
95
- type: Input
96
- }], list: [{
97
- type: Input
98
- }], showCloseBtn: [{
99
- type: Input
100
- }], autoHideOnClose: [{
101
- type: Input
102
- }], customIcon: [{
103
- type: Input
104
- }], rememberClosed: [{
105
- type: Input
106
- }], closed: [{
107
- type: Output
108
- }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9iYW5uZXIvYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9iYW5uZXIvYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFhLE1BQU0sZUFBZSxDQUFDOzs7OztBQVkvRixNQUFNLE9BQU8sZUFBZTtJQStDMUIsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUE5QzlDLDhCQUE4QjtRQUVkLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFL0IsOEZBQThGO1FBQzlFLE9BQUUsR0FBVyxFQUFFLENBQUM7UUFFaEMsK0RBQStEO1FBQy9DLFNBQUksR0FBZSxTQUFTLENBQUM7UUFDN0IsZ0JBQVcsR0FBZ0IsUUFBUSxDQUFDO1FBV3BELDBDQUEwQztRQUMxQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQyw4RUFBOEU7UUFDOUQsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFRaEQsc0dBQXNHO1FBQ3RGLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBRWhELDhCQUE4QjtRQUNiLFdBQU0sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRTs7O1dBR0c7UUFDSSxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRVIsbUJBQWMsR0FBVyxvQkFBb0IsQ0FBQztJQUViLENBQUM7SUFFNUMsV0FBVztRQUNoQixJQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQzdCO2FBQU07WUFDTCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM1QjtRQUVELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLFVBQVUsR0FBd0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBRSxDQUFDO1lBQ3JILElBQUksVUFBVSxFQUFFO2dCQUNkLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQzthQUNqQztpQkFBTTtnQkFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQzthQUNyQjtTQUNGO0lBQ0gsQ0FBQztJQUVELHdHQUF3RztJQUNqRyxLQUFLO1FBQ1YsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1NBQ3BCO1FBRUQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQW9CLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7U0FDbEc7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBRyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFDO1NBQ2hDO2FBQU0sSUFBRyxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUNqQyxJQUFJLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQztTQUM1QjthQUFNLElBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUM7U0FDMUI7YUFBTSxJQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxJQUFJLEdBQUcsbUJBQW1CLENBQUM7U0FDakM7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQzs7NEdBMUZVLGVBQWU7Z0dBQWYsZUFBZSxvWkNaNUIsdXZCQXVCQTsyRkRYYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFdBQVc7bUdBT0wsTUFBTTtzQkFEckIsV0FBVzt1QkFBQyxRQUFROztzQkFDcEIsS0FBSztnQkFHVSxFQUFFO3NCQUFqQixLQUFLO2dCQUdVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFHVSxLQUFLO3NCQUFwQixLQUFLO2dCQUdVLElBQUk7c0JBQW5CLEtBQUs7Z0JBR1UsSUFBSTtzQkFBbkIsS0FBSztnQkFHVSxZQUFZO3NCQUEzQixLQUFLO2dCQUdVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBTVUsVUFBVTtzQkFBekIsS0FBSztnQkFHVSxjQUFjO3NCQUE3QixLQUFLO2dCQUdXLE1BQU07c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDYWNoZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2NhY2hlLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IHR5cGUgQmFubmVyVHlwZSA9ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnc3VjY2VzcycgfCAncHJvbW8nO1xyXG5leHBvcnQgdHlwZSBCYW5uZXJTdHlsZSA9ICdub3JtYWwnIHwgJ3Bpbm5lZCcgfCAndG9hc3QnO1xyXG5leHBvcnQgdHlwZSBCYW5uZXJDYWNoZUVudHJ5ID0geyBoaWRkZW46IGJvb2xlYW4gfTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWMtYmFubmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmFubmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iYW5uZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFubmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICAvKiogaGlkZGVuIGhpZGVzIHRoZSBiYW5uZXIgKi9cclxuICBASG9zdEJpbmRpbmcoJ2hpZGRlbicpXHJcbiAgQElucHV0KCkgcHVibGljIGhpZGRlbiA9IGZhbHNlO1xyXG5cclxuICAvKipUaGUgSUQgb2YgdGhlIGNvbXBvbmVudCwgcmVuZGVyZWQgaW50byB0aGUgSFRNTCB0byBtYWtlIGl0IG1vcmUgYWNjZXNzaWJsZSB0byBhdXRvbWF0aW9uICovXHJcbiAgQElucHV0KCkgcHVibGljIGlkOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqVGhlIHR5cGUgb2YgYmFubmVyIHdoaWNoIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBzdHlsaW5nICovXHJcbiAgQElucHV0KCkgcHVibGljIHR5cGU6IEJhbm5lclR5cGUgPSAnd2FybmluZyc7XHJcbiAgQElucHV0KCkgcHVibGljIGJhbm5lclN0eWxlOiBCYW5uZXJTdHlsZSA9ICdwaW5uZWQnO1xyXG5cclxuICAvKipUaGUgdGl0bGUgZm9yIHRoZSBiYW5uZXIgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgdGl0bGU/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlRoZSB0ZXh0IGluc2lkZSB0aGUgYmFubmVyICovXHJcbiAgQElucHV0KCkgcHVibGljIHRleHQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBMaXN0IG9mIHN0cmluZ3MgdG8gZGlzcGxheSBpbnNpZGUgdGhlIGJhbm5lciAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBsaXN0Pzogc3RyaW5nW107XHJcblxyXG4gIC8qKlNob3cgYW4geCB0byBhbGxvdyBoaWRpbmcgdGhlIGJhbm5lciAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93Q2xvc2VCdG4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFdoZW4gdHJ1ZSwgdGhlIGJhbm5lciB3aWxsIGhpZGUgaXRzZWxmIHdoZW4gdGhlIGNsb3NlIGJ1dHRvbiBpcyBjbGlja2VkICovXHJcbiAgQElucHV0KCkgcHVibGljIGF1dG9IaWRlT25DbG9zZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICogVGhlIGljb24gd2lsbCBiZSBzZXQgdG8gdGhpcyB2YWx1ZSBpZiBpdCdzIHByb3ZpZGVkLlxyXG4gICogSWYgaXQncyBub3QgcHJvdmlkZWQsIHRoZSBpY29uIHdpbGwgYmUgc2VsZWN0ZWQgYmFzZWQgb24gdGhlIHR5cGUgaW5wdXQuIFxyXG4gICovXHJcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbUljb24/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBXaGVuIHRydWUsIHRoZSBiYW5uZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGhpZGUgaXRzZWxmIGJhc2VkIG9uIHRoZSBzdGF0ZSBmb3VuZCBpbiBsb2NhbCBzdG9yYWdlICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZW1lbWJlckNsb3NlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipFdmVudCB0byBoaWRlIHRoZSBiYW5uZXIgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIGNsb3NlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvKipcclxuICAgKiBJY29uIHRvIHNob3cgb24gdGhlIGJhbm5lci4gXHJcbiAgICogSWYgbm8gdmFsdWUgZm9yIG92ZXJyaWRlSWNvbiBpcyBwcm92aWRlZCwgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHNlbGVjdGVkIGJhc2VkIG9uIHRoZSB0eXBlIGlucHV0LiBcclxuICAgKi9cclxuICBwdWJsaWMgaWNvbjogc3RyaW5nID0gJyc7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgY2FjaGVLZXlQcmVmaXg6IHN0cmluZyA9ICdkaXNtaXNzYWJsZUJhbm5lci0nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNhY2hlU2VydmljZTogQ2FjaGVTZXJ2aWNlKSB7IH1cclxuXHJcbiAgcHVibGljIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgaWYodGhpcy5jdXN0b21JY29uKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9IHRoaXMuY3VzdG9tSWNvbjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZ2V0SWNvbkJ5QmFubmVyVHlwZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnJlbWVtYmVyQ2xvc2VkKSB7XHJcbiAgICAgIGxldCBjYWNoZVZhbHVlOiBCYW5uZXJDYWNoZUVudHJ5ID0gKDxCYW5uZXJDYWNoZUVudHJ5PnRoaXMuY2FjaGVTZXJ2aWNlLmdldEl0ZW0oYCR7dGhpcy5jYWNoZUtleVByZWZpeH0ke3RoaXMuaWR9YCkpO1xyXG4gICAgICBpZiAoY2FjaGVWYWx1ZSkge1xyXG4gICAgICAgIHRoaXMuaGlkZGVuID0gY2FjaGVWYWx1ZS5oaWRkZW47XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5oaWRkZW4gPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIE9uIGNsb3NlLCBleHBsaWNpdGx5IGhpZGUgdGhlIGJhbm5lciBvbmUgdGltZS4gSWYgdGhlIGlucHV0IGNoYW5nZXMgYWZ0ZXJ3YXJkIHRoZW4gaXQgY2FuIHJlYXBwZWFyKi9cclxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hdXRvSGlkZU9uQ2xvc2UpIHtcclxuICAgICAgdGhpcy5oaWRkZW4gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnJlbWVtYmVyQ2xvc2VkKSB7XHJcbiAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLnNldEl0ZW0oYCR7dGhpcy5jYWNoZUtleVByZWZpeH0ke3RoaXMuaWR9YCwgPEJhbm5lckNhY2hlRW50cnk+eyBoaWRkZW46IHRydWUgfSlcclxuICAgIH1cclxuICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0SWNvbkJ5QmFubmVyVHlwZSgpIHtcclxuICAgIGlmKHRoaXMudHlwZSA9PT0gJ2luZm8nKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9ICdpY29uLWluZm8tY2lyY2xlJztcclxuICAgIH0gZWxzZSBpZih0aGlzLnR5cGUgPT09ICd3YXJuaW5nJykge1xyXG4gICAgICB0aGlzLmljb24gPSAnaWNvbi13YXJuaW5nJztcclxuICAgIH0gZWxzZSBpZih0aGlzLnR5cGUgPT09ICdlcnJvcicpIHtcclxuICAgICAgdGhpcy5pY29uID0gJ2ljb24tZXJyb3InO1xyXG4gICAgfSBlbHNlIGlmKHRoaXMudHlwZSA9PT0gJ3N1Y2Nlc3MnKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9ICdpY29uLWNoZWNrLWNpcmNsZSc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ3Byb21vJykge1xyXG4gICAgICB0aGlzLmljb24gPSAnaWNvbi1zcGFya2xlcyc7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG59XHJcbiIsIjxkaXYgaWQ9XCJiYW5uZXJfe3tpZH19XCIgY2xhc3M9XCJiYW5uZXIge3t0eXBlfX0ge3tiYW5uZXJTdHlsZX19XCI+XHJcbiAgPGVjLWJ1dHRvbiBpZD1cImJhbm5lcnt7aWR9fV9jbG9zZVwiXHJcbiAgICAgICAgICAgICAqbmdJZj1cInNob3dDbG9zZUJ0blwiXHJcbiAgICAgICAgICAgICB0eXBlPVwiaWNvblwiXHJcbiAgICAgICAgICAgICBpY29uPVwiaWNvbi1jYW5jZWxcIlxyXG4gICAgICAgICAgICAgKGNsaWNrZWQpPVwiY2xvc2UoKVwiPlxyXG4gIDwvZWMtYnV0dG9uPlxyXG4gIDxkaXYgY2xhc3M9XCJiYW5uZXItY29udGVudCBkLWZsZXggdGV4dC1ib2R5LTFcIj5cclxuICAgIDxpIGNsYXNzPVwiZWMtaWNvbiB7e2ljb259fVwiPjwvaT5cclxuICAgIDxkaXYgY2xhc3M9XCJtbC0yXCI+XHJcbiAgICAgIDxwIGNsYXNzPVwidGl0bGUgbWItMFwiICpuZ0lmPVwidGl0bGVcIj5cclxuICAgICAgICB7e3RpdGxlfX1cclxuICAgICAgPC9wPlxyXG4gICAgICA8cCBjbGFzcz1cInRleHQgbWItMFwiICpuZ0lmPVwidGV4dFwiPnt7dGV4dH19PC9wPlxyXG4gIFxyXG4gICAgICA8dWwgY2xhc3M9XCJsaXN0IG1iLTBcIiAqbmdJZj1cImxpc3Q/Lmxlbmd0aFwiPlxyXG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0XCI+e3tpdGVtfX08L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
1
+ import { Component, Input, Output, EventEmitter, HostBinding } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../core/cache.service";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "../button/button.component";
6
+ export class BannerComponent {
7
+ constructor(cacheService) {
8
+ this.cacheService = cacheService;
9
+ /** hidden hides the banner */
10
+ this.hidden = false;
11
+ /**The ID of the component, rendered into the HTML to make it more accessible to automation */
12
+ this.id = '';
13
+ /**The type of banner which is used to determine the styling */
14
+ this.type = 'warning';
15
+ this.bannerStyle = 'pinned';
16
+ /**Show an x to allow hiding the banner */
17
+ this.showCloseBtn = false;
18
+ /** When true, the banner will hide itself when the close button is clicked */
19
+ this.autoHideOnClose = true;
20
+ /** When true, the banner will automatically hide itself based on the state found in local storage */
21
+ this.rememberClosed = false;
22
+ /**Event to hide the banner */
23
+ this.closed = new EventEmitter();
24
+ /**
25
+ * Icon to show on the banner.
26
+ * If no value for overrideIcon is provided, will be automatically selected based on the type input.
27
+ */
28
+ this.icon = '';
29
+ this.cacheKeyPrefix = 'dismissableBanner-';
30
+ }
31
+ ngOnChanges() {
32
+ if (this.customIcon) {
33
+ this.icon = this.customIcon;
34
+ }
35
+ else {
36
+ this.getIconByBannerType();
37
+ }
38
+ if (this.rememberClosed) {
39
+ let cacheValue = this.cacheService.getItem(`${this.cacheKeyPrefix}${this.id}`);
40
+ if (cacheValue) {
41
+ this.hidden = cacheValue.hidden;
42
+ }
43
+ else {
44
+ this.hidden = false;
45
+ }
46
+ }
47
+ }
48
+ /** On close, explicitly hide the banner one time. If the input changes afterward then it can reappear*/
49
+ close() {
50
+ if (this.autoHideOnClose) {
51
+ this.hidden = true;
52
+ }
53
+ if (this.rememberClosed) {
54
+ this.cacheService.setItem(`${this.cacheKeyPrefix}${this.id}`, { hidden: true });
55
+ }
56
+ this.closed.emit();
57
+ }
58
+ getIconByBannerType() {
59
+ if (this.type === 'info') {
60
+ this.icon = 'icon-info-circle';
61
+ }
62
+ else if (this.type === 'warning') {
63
+ this.icon = 'icon-warning';
64
+ }
65
+ else if (this.type === 'error') {
66
+ this.icon = 'icon-error';
67
+ }
68
+ else if (this.type === 'success') {
69
+ this.icon = 'icon-check-circle';
70
+ }
71
+ else if (this.type === 'promo') {
72
+ this.icon = 'icon-sparkles';
73
+ }
74
+ }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BannerComponent, deps: [{ token: i1.CacheService }], target: i0.ɵɵFactoryTarget.Component }); }
76
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BannerComponent, selector: "ec-banner", inputs: { hidden: "hidden", id: "id", type: "type", bannerStyle: "bannerStyle", title: "title", text: "text", list: "list", showCloseBtn: "showCloseBtn", autoHideOnClose: "autoHideOnClose", customIcon: "customIcon", rememberClosed: "rememberClosed" }, outputs: { closed: "closed" }, host: { properties: { "hidden": "this.hidden" } }, usesOnChanges: true, ngImport: i0, template: "<div id=\"banner_{{id}}\" class=\"banner {{type}} {{bannerStyle}}\">\r\n <ec-button id=\"banner{{id}}_close\"\r\n *ngIf=\"showCloseBtn\"\r\n type=\"icon\"\r\n icon=\"icon-cancel\"\r\n (clicked)=\"close()\">\r\n </ec-button>\r\n <div class=\"banner-content d-flex text-body-1\">\r\n <i class=\"ec-icon {{icon}}\"></i>\r\n <div class=\"ml-2\">\r\n <p class=\"title mb-0\" *ngIf=\"title\">\r\n {{title}}\r\n </p>\r\n <p class=\"text mb-0\" *ngIf=\"text\">{{text}}</p>\r\n \r\n <ul class=\"list mb-0\" *ngIf=\"list?.length\">\r\n <li *ngFor=\"let item of list\">{{item}}</li>\r\n </ul>\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n", styles: [":host{display:flex}:host(.border-bottom-0) .banner{border-bottom:0;border-radius:var(--ec-border-radius-card)}.banner{display:flex;flex-direction:column;flex:1 1;min-height:2.5rem;position:relative;overflow-y:auto;background-color:var(--ec-banner-background-color, var(--ec-background-color-info));border-radius:var(--ec-banner-border-radius, var(--ec-border-radius-card));border:1px solid var(--ec-banner-border-color, var(--ec-color-info))}.banner-content{align-items:var(--ec-banner-align-items-content, normal);padding:.5rem 1rem;flex:none;margin:auto 0;color:var(--ec-banner-color, var(--ec-color-secondary-dark))}.banner-content ::ng-deep p{line-height:inherit}.ec-icon{color:var(--ec-banner-icon-color, var(--ec-color-info));font-size:1.125rem}ec-button{--ec-button-color-icon-hover: var(--ec-color-primary-dark);--ec-background-color-hover: rgba(26, 26, 35, .1);position:absolute;top:.1875rem;right:.25rem}ec-button+.banner-content{padding-right:2.75rem}.title{font-weight:700}.list{margin:0;padding-left:2em}.text+.list{margin-top:1em}.info:not(.toast){--ec-banner-background-color: var(--ec-background-color-info);--ec-banner-border-color: var(--ec-color-info);--ec-banner-icon-color: var(--ec-color-info)}.warning:not(.toast){--ec-banner-background-color: var(--ec-background-color-caution);--ec-banner-border-color: var(--ec-color-caution);--ec-banner-icon-color: var(--ec-color-caution)}.success:not(.toast){--ec-banner-background-color: var(--ec-background-color-success);--ec-banner-border-color: var(--ec-color-success);--ec-banner-icon-color: var(--ec-color-success)}.error:not(.toast){--ec-banner-background-color: var(--ec-background-color-danger);--ec-banner-border-color: var(--ec-color-danger);--ec-banner-icon-color: var(--ec-color-danger)}.pinned{border-radius:0;border-left:0;border-right:0}.promo:not(.toast){--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-secondary-light);--ec-color-link: var(--ec-color-link-light);border:none;background:var(--ec-background-color-promo)}.promo:not(.toast) ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15)}.toast{--ec-banner-background-color: var(--ec-color-gray-8);--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-primary-light);--ec-color-link: var(--ec-color-link-light);border:0;box-shadow:var(--ec-box-shadow)}.toast ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);top:.25rem;right:.25rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "icon", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }] }); }
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BannerComponent, decorators: [{
79
+ type: Component,
80
+ args: [{ selector: 'ec-banner', template: "<div id=\"banner_{{id}}\" class=\"banner {{type}} {{bannerStyle}}\">\r\n <ec-button id=\"banner{{id}}_close\"\r\n *ngIf=\"showCloseBtn\"\r\n type=\"icon\"\r\n icon=\"icon-cancel\"\r\n (clicked)=\"close()\">\r\n </ec-button>\r\n <div class=\"banner-content d-flex text-body-1\">\r\n <i class=\"ec-icon {{icon}}\"></i>\r\n <div class=\"ml-2\">\r\n <p class=\"title mb-0\" *ngIf=\"title\">\r\n {{title}}\r\n </p>\r\n <p class=\"text mb-0\" *ngIf=\"text\">{{text}}</p>\r\n \r\n <ul class=\"list mb-0\" *ngIf=\"list?.length\">\r\n <li *ngFor=\"let item of list\">{{item}}</li>\r\n </ul>\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n", styles: [":host{display:flex}:host(.border-bottom-0) .banner{border-bottom:0;border-radius:var(--ec-border-radius-card)}.banner{display:flex;flex-direction:column;flex:1 1;min-height:2.5rem;position:relative;overflow-y:auto;background-color:var(--ec-banner-background-color, var(--ec-background-color-info));border-radius:var(--ec-banner-border-radius, var(--ec-border-radius-card));border:1px solid var(--ec-banner-border-color, var(--ec-color-info))}.banner-content{align-items:var(--ec-banner-align-items-content, normal);padding:.5rem 1rem;flex:none;margin:auto 0;color:var(--ec-banner-color, var(--ec-color-secondary-dark))}.banner-content ::ng-deep p{line-height:inherit}.ec-icon{color:var(--ec-banner-icon-color, var(--ec-color-info));font-size:1.125rem}ec-button{--ec-button-color-icon-hover: var(--ec-color-primary-dark);--ec-background-color-hover: rgba(26, 26, 35, .1);position:absolute;top:.1875rem;right:.25rem}ec-button+.banner-content{padding-right:2.75rem}.title{font-weight:700}.list{margin:0;padding-left:2em}.text+.list{margin-top:1em}.info:not(.toast){--ec-banner-background-color: var(--ec-background-color-info);--ec-banner-border-color: var(--ec-color-info);--ec-banner-icon-color: var(--ec-color-info)}.warning:not(.toast){--ec-banner-background-color: var(--ec-background-color-caution);--ec-banner-border-color: var(--ec-color-caution);--ec-banner-icon-color: var(--ec-color-caution)}.success:not(.toast){--ec-banner-background-color: var(--ec-background-color-success);--ec-banner-border-color: var(--ec-color-success);--ec-banner-icon-color: var(--ec-color-success)}.error:not(.toast){--ec-banner-background-color: var(--ec-background-color-danger);--ec-banner-border-color: var(--ec-color-danger);--ec-banner-icon-color: var(--ec-color-danger)}.pinned{border-radius:0;border-left:0;border-right:0}.promo:not(.toast){--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-secondary-light);--ec-color-link: var(--ec-color-link-light);border:none;background:var(--ec-background-color-promo)}.promo:not(.toast) ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15)}.toast{--ec-banner-background-color: var(--ec-color-gray-8);--ec-banner-color: var(--ec-color-primary-light);--ec-banner-icon-color: var(--ec-color-primary-light);--ec-color-link: var(--ec-color-link-light);border:0;box-shadow:var(--ec-box-shadow)}.toast ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);top:.25rem;right:.25rem}\n"] }]
81
+ }], ctorParameters: function () { return [{ type: i1.CacheService }]; }, propDecorators: { hidden: [{
82
+ type: HostBinding,
83
+ args: ['hidden']
84
+ }, {
85
+ type: Input
86
+ }], id: [{
87
+ type: Input
88
+ }], type: [{
89
+ type: Input
90
+ }], bannerStyle: [{
91
+ type: Input
92
+ }], title: [{
93
+ type: Input
94
+ }], text: [{
95
+ type: Input
96
+ }], list: [{
97
+ type: Input
98
+ }], showCloseBtn: [{
99
+ type: Input
100
+ }], autoHideOnClose: [{
101
+ type: Input
102
+ }], customIcon: [{
103
+ type: Input
104
+ }], rememberClosed: [{
105
+ type: Input
106
+ }], closed: [{
107
+ type: Output
108
+ }] } });
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9iYW5uZXIvYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9iYW5uZXIvYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFhLE1BQU0sZUFBZSxDQUFDOzs7OztBQVkvRixNQUFNLE9BQU8sZUFBZTtJQStDMUIsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUE5QzlDLDhCQUE4QjtRQUVkLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFL0IsOEZBQThGO1FBQzlFLE9BQUUsR0FBVyxFQUFFLENBQUM7UUFFaEMsK0RBQStEO1FBQy9DLFNBQUksR0FBZSxTQUFTLENBQUM7UUFDN0IsZ0JBQVcsR0FBZ0IsUUFBUSxDQUFDO1FBV3BELDBDQUEwQztRQUMxQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQyw4RUFBOEU7UUFDOUQsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFRaEQsc0dBQXNHO1FBQ3RGLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBRWhELDhCQUE4QjtRQUNiLFdBQU0sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRTs7O1dBR0c7UUFDSSxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRVIsbUJBQWMsR0FBVyxvQkFBb0IsQ0FBQztJQUViLENBQUM7SUFFNUMsV0FBVztRQUNoQixJQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQzdCO2FBQU07WUFDTCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM1QjtRQUVELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLFVBQVUsR0FBd0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBRSxDQUFDO1lBQ3JILElBQUksVUFBVSxFQUFFO2dCQUNkLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQzthQUNqQztpQkFBTTtnQkFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQzthQUNyQjtTQUNGO0lBQ0gsQ0FBQztJQUVELHdHQUF3RztJQUNqRyxLQUFLO1FBQ1YsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1NBQ3BCO1FBRUQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQW9CLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7U0FDbEc7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBRyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFDO1NBQ2hDO2FBQU0sSUFBRyxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUNqQyxJQUFJLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQztTQUM1QjthQUFNLElBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUM7U0FDMUI7YUFBTSxJQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxJQUFJLEdBQUcsbUJBQW1CLENBQUM7U0FDakM7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQzsrR0ExRlUsZUFBZTttR0FBZixlQUFlLG9aQ1o1Qix1dkJBdUJBOzs0RkRYYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFdBQVc7bUdBT0wsTUFBTTtzQkFEckIsV0FBVzt1QkFBQyxRQUFROztzQkFDcEIsS0FBSztnQkFHVSxFQUFFO3NCQUFqQixLQUFLO2dCQUdVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFHVSxLQUFLO3NCQUFwQixLQUFLO2dCQUdVLElBQUk7c0JBQW5CLEtBQUs7Z0JBR1UsSUFBSTtzQkFBbkIsS0FBSztnQkFHVSxZQUFZO3NCQUEzQixLQUFLO2dCQUdVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBTVUsVUFBVTtzQkFBekIsS0FBSztnQkFHVSxjQUFjO3NCQUE3QixLQUFLO2dCQUdXLE1BQU07c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDYWNoZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2NhY2hlLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IHR5cGUgQmFubmVyVHlwZSA9ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnc3VjY2VzcycgfCAncHJvbW8nO1xyXG5leHBvcnQgdHlwZSBCYW5uZXJTdHlsZSA9ICdub3JtYWwnIHwgJ3Bpbm5lZCcgfCAndG9hc3QnO1xyXG5leHBvcnQgdHlwZSBCYW5uZXJDYWNoZUVudHJ5ID0geyBoaWRkZW46IGJvb2xlYW4gfTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWMtYmFubmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmFubmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iYW5uZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFubmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICAvKiogaGlkZGVuIGhpZGVzIHRoZSBiYW5uZXIgKi9cclxuICBASG9zdEJpbmRpbmcoJ2hpZGRlbicpXHJcbiAgQElucHV0KCkgcHVibGljIGhpZGRlbiA9IGZhbHNlO1xyXG5cclxuICAvKipUaGUgSUQgb2YgdGhlIGNvbXBvbmVudCwgcmVuZGVyZWQgaW50byB0aGUgSFRNTCB0byBtYWtlIGl0IG1vcmUgYWNjZXNzaWJsZSB0byBhdXRvbWF0aW9uICovXHJcbiAgQElucHV0KCkgcHVibGljIGlkOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqVGhlIHR5cGUgb2YgYmFubmVyIHdoaWNoIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBzdHlsaW5nICovXHJcbiAgQElucHV0KCkgcHVibGljIHR5cGU6IEJhbm5lclR5cGUgPSAnd2FybmluZyc7XHJcbiAgQElucHV0KCkgcHVibGljIGJhbm5lclN0eWxlOiBCYW5uZXJTdHlsZSA9ICdwaW5uZWQnO1xyXG5cclxuICAvKipUaGUgdGl0bGUgZm9yIHRoZSBiYW5uZXIgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgdGl0bGU/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlRoZSB0ZXh0IGluc2lkZSB0aGUgYmFubmVyICovXHJcbiAgQElucHV0KCkgcHVibGljIHRleHQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBMaXN0IG9mIHN0cmluZ3MgdG8gZGlzcGxheSBpbnNpZGUgdGhlIGJhbm5lciAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBsaXN0Pzogc3RyaW5nW107XHJcblxyXG4gIC8qKlNob3cgYW4geCB0byBhbGxvdyBoaWRpbmcgdGhlIGJhbm5lciAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93Q2xvc2VCdG4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFdoZW4gdHJ1ZSwgdGhlIGJhbm5lciB3aWxsIGhpZGUgaXRzZWxmIHdoZW4gdGhlIGNsb3NlIGJ1dHRvbiBpcyBjbGlja2VkICovXHJcbiAgQElucHV0KCkgcHVibGljIGF1dG9IaWRlT25DbG9zZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICogVGhlIGljb24gd2lsbCBiZSBzZXQgdG8gdGhpcyB2YWx1ZSBpZiBpdCdzIHByb3ZpZGVkLlxyXG4gICogSWYgaXQncyBub3QgcHJvdmlkZWQsIHRoZSBpY29uIHdpbGwgYmUgc2VsZWN0ZWQgYmFzZWQgb24gdGhlIHR5cGUgaW5wdXQuIFxyXG4gICovXHJcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbUljb24/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBXaGVuIHRydWUsIHRoZSBiYW5uZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGhpZGUgaXRzZWxmIGJhc2VkIG9uIHRoZSBzdGF0ZSBmb3VuZCBpbiBsb2NhbCBzdG9yYWdlICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZW1lbWJlckNsb3NlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipFdmVudCB0byBoaWRlIHRoZSBiYW5uZXIgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIGNsb3NlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvKipcclxuICAgKiBJY29uIHRvIHNob3cgb24gdGhlIGJhbm5lci4gXHJcbiAgICogSWYgbm8gdmFsdWUgZm9yIG92ZXJyaWRlSWNvbiBpcyBwcm92aWRlZCwgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHNlbGVjdGVkIGJhc2VkIG9uIHRoZSB0eXBlIGlucHV0LiBcclxuICAgKi9cclxuICBwdWJsaWMgaWNvbjogc3RyaW5nID0gJyc7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgY2FjaGVLZXlQcmVmaXg6IHN0cmluZyA9ICdkaXNtaXNzYWJsZUJhbm5lci0nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNhY2hlU2VydmljZTogQ2FjaGVTZXJ2aWNlKSB7IH1cclxuXHJcbiAgcHVibGljIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgaWYodGhpcy5jdXN0b21JY29uKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9IHRoaXMuY3VzdG9tSWNvbjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZ2V0SWNvbkJ5QmFubmVyVHlwZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnJlbWVtYmVyQ2xvc2VkKSB7XHJcbiAgICAgIGxldCBjYWNoZVZhbHVlOiBCYW5uZXJDYWNoZUVudHJ5ID0gKDxCYW5uZXJDYWNoZUVudHJ5PnRoaXMuY2FjaGVTZXJ2aWNlLmdldEl0ZW0oYCR7dGhpcy5jYWNoZUtleVByZWZpeH0ke3RoaXMuaWR9YCkpO1xyXG4gICAgICBpZiAoY2FjaGVWYWx1ZSkge1xyXG4gICAgICAgIHRoaXMuaGlkZGVuID0gY2FjaGVWYWx1ZS5oaWRkZW47XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5oaWRkZW4gPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIE9uIGNsb3NlLCBleHBsaWNpdGx5IGhpZGUgdGhlIGJhbm5lciBvbmUgdGltZS4gSWYgdGhlIGlucHV0IGNoYW5nZXMgYWZ0ZXJ3YXJkIHRoZW4gaXQgY2FuIHJlYXBwZWFyKi9cclxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hdXRvSGlkZU9uQ2xvc2UpIHtcclxuICAgICAgdGhpcy5oaWRkZW4gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnJlbWVtYmVyQ2xvc2VkKSB7XHJcbiAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLnNldEl0ZW0oYCR7dGhpcy5jYWNoZUtleVByZWZpeH0ke3RoaXMuaWR9YCwgPEJhbm5lckNhY2hlRW50cnk+eyBoaWRkZW46IHRydWUgfSlcclxuICAgIH1cclxuICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0SWNvbkJ5QmFubmVyVHlwZSgpIHtcclxuICAgIGlmKHRoaXMudHlwZSA9PT0gJ2luZm8nKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9ICdpY29uLWluZm8tY2lyY2xlJztcclxuICAgIH0gZWxzZSBpZih0aGlzLnR5cGUgPT09ICd3YXJuaW5nJykge1xyXG4gICAgICB0aGlzLmljb24gPSAnaWNvbi13YXJuaW5nJztcclxuICAgIH0gZWxzZSBpZih0aGlzLnR5cGUgPT09ICdlcnJvcicpIHtcclxuICAgICAgdGhpcy5pY29uID0gJ2ljb24tZXJyb3InO1xyXG4gICAgfSBlbHNlIGlmKHRoaXMudHlwZSA9PT0gJ3N1Y2Nlc3MnKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9ICdpY29uLWNoZWNrLWNpcmNsZSc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ3Byb21vJykge1xyXG4gICAgICB0aGlzLmljb24gPSAnaWNvbi1zcGFya2xlcyc7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG59XHJcbiIsIjxkaXYgaWQ9XCJiYW5uZXJfe3tpZH19XCIgY2xhc3M9XCJiYW5uZXIge3t0eXBlfX0ge3tiYW5uZXJTdHlsZX19XCI+XHJcbiAgPGVjLWJ1dHRvbiBpZD1cImJhbm5lcnt7aWR9fV9jbG9zZVwiXHJcbiAgICAgICAgICAgICAqbmdJZj1cInNob3dDbG9zZUJ0blwiXHJcbiAgICAgICAgICAgICB0eXBlPVwiaWNvblwiXHJcbiAgICAgICAgICAgICBpY29uPVwiaWNvbi1jYW5jZWxcIlxyXG4gICAgICAgICAgICAgKGNsaWNrZWQpPVwiY2xvc2UoKVwiPlxyXG4gIDwvZWMtYnV0dG9uPlxyXG4gIDxkaXYgY2xhc3M9XCJiYW5uZXItY29udGVudCBkLWZsZXggdGV4dC1ib2R5LTFcIj5cclxuICAgIDxpIGNsYXNzPVwiZWMtaWNvbiB7e2ljb259fVwiPjwvaT5cclxuICAgIDxkaXYgY2xhc3M9XCJtbC0yXCI+XHJcbiAgICAgIDxwIGNsYXNzPVwidGl0bGUgbWItMFwiICpuZ0lmPVwidGl0bGVcIj5cclxuICAgICAgICB7e3RpdGxlfX1cclxuICAgICAgPC9wPlxyXG4gICAgICA8cCBjbGFzcz1cInRleHQgbWItMFwiICpuZ0lmPVwidGV4dFwiPnt7dGV4dH19PC9wPlxyXG4gIFxyXG4gICAgICA8dWwgY2xhc3M9XCJsaXN0IG1iLTBcIiAqbmdJZj1cImxpc3Q/Lmxlbmd0aFwiPlxyXG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0XCI+e3tpdGVtfX08L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG4iXX0=