@energycap/components 0.42.4-esbuild.20250131-1219 → 0.42.4-esbuild.20250131-1441

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 (324) hide show
  1. package/esm2022/energycap-components.mjs +5 -0
  2. package/esm2022/lib/components.module.mjs +423 -0
  3. package/esm2022/lib/controls/banner/banner.component.mjs +109 -0
  4. package/esm2022/lib/controls/button/button.component.mjs +106 -0
  5. package/esm2022/lib/controls/button/copy-button-base.directive.mjs +67 -0
  6. package/esm2022/lib/controls/button/copy-button.directive.mjs +28 -0
  7. package/esm2022/lib/controls/button/copy-table-button.directive.mjs +43 -0
  8. package/esm2022/lib/controls/calendar/calendar-item.component.mjs +91 -0
  9. package/esm2022/lib/controls/calendar/calendar.component.mjs +248 -0
  10. package/esm2022/lib/controls/calendar/calendar.types.mjs +2 -0
  11. package/esm2022/lib/controls/checkbox/checkbox.component.mjs +140 -0
  12. package/esm2022/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +38 -0
  13. package/esm2022/lib/controls/combobox/combobox.component.mjs +879 -0
  14. package/esm2022/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.mjs +57 -0
  15. package/esm2022/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.mjs +62 -0
  16. package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.mjs +100 -0
  17. package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.mjs +101 -0
  18. package/esm2022/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.mjs +76 -0
  19. package/esm2022/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.mjs +79 -0
  20. package/esm2022/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.mjs +210 -0
  21. package/esm2022/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.mjs +81 -0
  22. package/esm2022/lib/controls/date-input/date-input.component.mjs +464 -0
  23. package/esm2022/lib/controls/date-input/date-input.types.mjs +44 -0
  24. package/esm2022/lib/controls/dropdown/dropdown.component.mjs +243 -0
  25. package/esm2022/lib/controls/file-upload/file-upload.component.mjs +261 -0
  26. package/esm2022/lib/controls/form-control/form-control.component.mjs +98 -0
  27. package/esm2022/lib/controls/form-control-base.mjs +151 -0
  28. package/esm2022/lib/controls/form-control-label/form-control-label.component.mjs +136 -0
  29. package/esm2022/lib/controls/form-group/form-group.component.mjs +261 -0
  30. package/esm2022/lib/controls/help-popover/help-popover.component.mjs +31 -0
  31. package/esm2022/lib/controls/item-picker/item-picker.component.mjs +329 -0
  32. package/esm2022/lib/controls/link-button/link-button.component.mjs +11 -0
  33. package/esm2022/lib/controls/menu/menu.component.mjs +485 -0
  34. package/esm2022/lib/controls/navigation/link-item.mjs +2 -0
  35. package/esm2022/lib/controls/navigation/nav-group.mjs +39 -0
  36. package/esm2022/lib/controls/navigation/nav-item-active.directive.mjs +92 -0
  37. package/esm2022/lib/controls/navigation/nav-item.mjs +2 -0
  38. package/esm2022/lib/controls/numericbox/numericbox.component.mjs +372 -0
  39. package/esm2022/lib/controls/popover/popover.component.mjs +117 -0
  40. package/esm2022/lib/controls/radio-button/radio-button-option.mjs +3 -0
  41. package/esm2022/lib/controls/radio-button/radio-button.component.mjs +82 -0
  42. package/esm2022/lib/controls/select/select.component.mjs +88 -0
  43. package/esm2022/lib/controls/tabs/tabs.component.mjs +47 -0
  44. package/esm2022/lib/controls/textbox/textbox.component.mjs +155 -0
  45. package/esm2022/lib/core/cache.service.mjs +105 -0
  46. package/esm2022/lib/core/custom-validators.mjs +29 -0
  47. package/esm2022/lib/core/date-time-helper.mjs +228 -0
  48. package/esm2022/lib/core/error.service.mjs +61 -0
  49. package/esm2022/lib/core/router-helper.service.mjs +111 -0
  50. package/esm2022/lib/core/scroll.service.mjs +89 -0
  51. package/esm2022/lib/core/telemetry-tracker.service.mjs +16 -0
  52. package/esm2022/lib/core/telemetry.service.mjs +38 -0
  53. package/esm2022/lib/core/validation-message.service.mjs +185 -0
  54. package/esm2022/lib/core/validation-patterns.mjs +31 -0
  55. package/esm2022/lib/core/window.service.mjs +186 -0
  56. package/esm2022/lib/display/app-bar/app-bar.component.mjs +46 -0
  57. package/esm2022/lib/display/avatar/avatar.component.mjs +67 -0
  58. package/esm2022/lib/display/avatar/avatar.service.mjs +64 -0
  59. package/esm2022/lib/display/confirm/confirm.component.mjs +168 -0
  60. package/esm2022/lib/display/dialog/dialog-content.mjs +2 -0
  61. package/esm2022/lib/display/dialog/dialog-group/dialog-group.component.mjs +63 -0
  62. package/esm2022/lib/display/dialog/dialog-types.mjs +77 -0
  63. package/esm2022/lib/display/dialog/dialog.component.mjs +281 -0
  64. package/esm2022/lib/display/dialog/dialog.service.mjs +71 -0
  65. package/esm2022/lib/display/help/help-types.mjs +2 -0
  66. package/esm2022/lib/display/hierarchy/hierarchy-base.mjs +111 -0
  67. package/esm2022/lib/display/hierarchy/hierarchy-mocks.spec.mjs +54 -0
  68. package/esm2022/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +61 -0
  69. package/esm2022/lib/display/item-display/item-display.component.mjs +81 -0
  70. package/esm2022/lib/display/json-display/json-display.component.mjs +47 -0
  71. package/esm2022/lib/display/resizable/resizable-base.mjs +120 -0
  72. package/esm2022/lib/display/resizable/resizable.component.mjs +57 -0
  73. package/esm2022/lib/display/spinner/spinner.component.mjs +12 -0
  74. package/esm2022/lib/display/splash/splash.component.mjs +42 -0
  75. package/esm2022/lib/display/splash/splash.service.mjs +35 -0
  76. package/esm2022/lib/display/table/resizable-column.component.mjs +20 -0
  77. package/esm2022/lib/display/table/resizable-table.directive.mjs +227 -0
  78. package/esm2022/lib/display/table/searchable-table.component.mjs +342 -0
  79. package/esm2022/lib/display/table/table-detail-row.component.mjs +28 -0
  80. package/esm2022/lib/display/table/table-locked-column.component.mjs +58 -0
  81. package/esm2022/lib/display/table/table-master-header-row.component.mjs +14 -0
  82. package/esm2022/lib/display/table/table-master-row.component.mjs +163 -0
  83. package/esm2022/lib/display/table/table-pagination.component.mjs +155 -0
  84. package/esm2022/lib/display/table/table-selectable-row.component.mjs +235 -0
  85. package/esm2022/lib/display/table/table.component.mjs +249 -0
  86. package/esm2022/lib/display/tags/tag.mjs +18 -0
  87. package/esm2022/lib/display/tags/tags.component.mjs +77 -0
  88. package/esm2022/lib/display/toast/toast/toast.component.mjs +77 -0
  89. package/esm2022/lib/display/toast/toast-types.mjs +8 -0
  90. package/esm2022/lib/display/toast/toast.service.mjs +35 -0
  91. package/esm2022/lib/display/toast/toaster/toaster.component.mjs +114 -0
  92. package/esm2022/lib/display/tooltip/tooltip.component.mjs +28 -0
  93. package/esm2022/lib/display/tooltip/tooltip.service.mjs +78 -0
  94. package/esm2022/lib/display/tooltip-directive/tooltip.directive.mjs +173 -0
  95. package/esm2022/lib/display/tour/tour-types.mjs +34 -0
  96. package/esm2022/lib/display/tour/tour.component.mjs +398 -0
  97. package/esm2022/lib/display/tour/tour.service.mjs +75 -0
  98. package/esm2022/lib/display/tree/tree.component.mjs +135 -0
  99. package/esm2022/lib/display/view-overlay/view-overlay.component.mjs +58 -0
  100. package/esm2022/lib/shared/directives/click-area-for/click-area-for.directive.mjs +32 -0
  101. package/esm2022/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +111 -0
  102. package/esm2022/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.mjs +100 -0
  103. package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +166 -0
  104. package/esm2022/lib/shared/display/pipes/date-display.pipe.mjs +50 -0
  105. package/esm2022/lib/shared/display/pipes/highlight-text.pipe.mjs +30 -0
  106. package/esm2022/lib/shared/display/pipes/relative-date.pipe.mjs +62 -0
  107. package/esm2022/lib/shared/display/pipes/row-count.pipe.mjs +48 -0
  108. package/esm2022/lib/shared/display/pipes/time-display.pipe.mjs +41 -0
  109. package/esm2022/lib/shared/display.mjs +6 -0
  110. package/esm2022/lib/shared/form-group.helper.mjs +67 -0
  111. package/esm2022/lib/shared/json-helper.mjs +19 -0
  112. package/esm2022/lib/shared/lodash-helper.mjs +52 -0
  113. package/esm2022/lib/shared/page/page-base/page-base.component.mjs +387 -0
  114. package/esm2022/lib/shared/page/page-statuses.mjs +23 -0
  115. package/esm2022/lib/shared/page/page-title/page-title.component.mjs +23 -0
  116. package/esm2022/lib/shared/page/page-view/page-view.component.mjs +147 -0
  117. package/esm2022/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +17 -0
  118. package/esm2022/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +17 -0
  119. package/esm2022/lib/shared/testing/page-base-component-test-helper.spec.mjs +38 -0
  120. package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +98 -0
  121. package/esm2022/lib/shared/testing/public-mocks.spec.mjs +148 -0
  122. package/esm2022/lib/shared/testing/spy-factory.spec.mjs +40 -0
  123. package/esm2022/lib/shared/testing/translation-mocks.spec.mjs +57 -0
  124. package/esm2022/lib/shared/user-preference.service.mjs +17 -0
  125. package/esm2022/lib/shared/wizard/wizard-base/wizard-base.component.mjs +246 -0
  126. package/esm2022/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +68 -0
  127. package/esm2022/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +18 -0
  128. package/esm2022/public-api.mjs +117 -0
  129. package/fesm2022/energycap-components.mjs +13219 -0
  130. package/fesm2022/energycap-components.mjs.map +1 -0
  131. package/index.d.ts +5 -0
  132. package/lib/components.module.d.ts +92 -0
  133. package/lib/controls/banner/banner.component.d.ts +50 -0
  134. package/lib/controls/button/button.component.d.ts +78 -0
  135. package/lib/controls/button/copy-button-base.directive.d.ts +20 -0
  136. package/lib/controls/button/copy-button.directive.d.ts +14 -0
  137. package/lib/controls/button/copy-table-button.directive.d.ts +19 -0
  138. package/lib/controls/calendar/calendar-item.component.d.ts +22 -0
  139. package/lib/controls/calendar/calendar.component.d.ts +52 -0
  140. package/lib/controls/calendar/calendar.types.d.ts +11 -0
  141. package/lib/controls/checkbox/checkbox.component.d.ts +65 -0
  142. package/lib/controls/collapsible-toggle/collapsible-toggle.component.d.ts +25 -0
  143. package/lib/controls/combobox/combobox.component.d.ts +418 -0
  144. package/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.d.ts +42 -0
  145. package/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.d.ts +21 -0
  146. package/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.d.ts +21 -0
  147. package/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.d.ts +21 -0
  148. package/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.d.ts +18 -0
  149. package/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.d.ts +18 -0
  150. package/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.d.ts +21 -0
  151. package/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.d.ts +20 -0
  152. package/lib/controls/date-input/date-input.component.d.ts +115 -0
  153. package/lib/controls/date-input/date-input.types.d.ts +62 -0
  154. package/lib/controls/dropdown/dropdown.component.d.ts +161 -0
  155. package/lib/controls/file-upload/file-upload.component.d.ts +124 -0
  156. package/lib/controls/form-control/form-control.component.d.ts +28 -0
  157. package/lib/controls/form-control-base.d.ts +110 -0
  158. package/lib/controls/form-control-label/form-control-label.component.d.ts +73 -0
  159. package/lib/controls/form-group/form-group.component.d.ts +105 -0
  160. package/lib/controls/help-popover/help-popover.component.d.ts +11 -0
  161. package/lib/controls/item-picker/item-picker.component.d.ts +164 -0
  162. package/lib/controls/link-button/link-button.component.d.ts +5 -0
  163. package/lib/controls/menu/menu.component.d.ts +255 -0
  164. package/lib/controls/navigation/link-item.d.ts +32 -0
  165. package/lib/controls/navigation/nav-group.d.ts +18 -0
  166. package/lib/controls/navigation/nav-item-active.directive.d.ts +42 -0
  167. package/lib/controls/navigation/nav-item.d.ts +31 -0
  168. package/lib/controls/numericbox/numericbox.component.d.ts +148 -0
  169. package/lib/controls/popover/popover.component.d.ts +51 -0
  170. package/lib/controls/radio-button/radio-button-option.d.ts +19 -0
  171. package/lib/controls/radio-button/radio-button.component.d.ts +53 -0
  172. package/lib/controls/select/select.component.d.ts +44 -0
  173. package/lib/controls/tabs/tabs.component.d.ts +30 -0
  174. package/lib/controls/textbox/textbox.component.d.ts +107 -0
  175. package/lib/core/cache.service.d.ts +33 -0
  176. package/lib/core/custom-validators.d.ts +20 -0
  177. package/lib/core/date-time-helper.d.ts +101 -0
  178. package/lib/core/error.service.d.ts +20 -0
  179. package/lib/core/router-helper.service.d.ts +48 -0
  180. package/lib/core/scroll.service.d.ts +36 -0
  181. package/lib/core/telemetry-tracker.service.d.ts +13 -0
  182. package/lib/core/telemetry.service.d.ts +31 -0
  183. package/lib/core/validation-message.service.d.ts +26 -0
  184. package/lib/core/validation-patterns.d.ts +22 -0
  185. package/lib/core/window.service.d.ts +116 -0
  186. package/lib/display/app-bar/app-bar.component.d.ts +20 -0
  187. package/lib/display/avatar/avatar.component.d.ts +35 -0
  188. package/lib/display/avatar/avatar.service.d.ts +24 -0
  189. package/lib/display/confirm/confirm.component.d.ts +123 -0
  190. package/lib/display/dialog/dialog-content.d.ts +19 -0
  191. package/lib/display/dialog/dialog-group/dialog-group.component.d.ts +32 -0
  192. package/lib/display/dialog/dialog-types.d.ts +130 -0
  193. package/lib/display/dialog/dialog.component.d.ts +120 -0
  194. package/lib/display/dialog/dialog.service.d.ts +48 -0
  195. package/lib/display/help/help-types.d.ts +33 -0
  196. package/lib/display/hierarchy/hierarchy-base.d.ts +97 -0
  197. package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +53 -0
  198. package/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.d.ts +34 -0
  199. package/lib/display/item-display/item-display.component.d.ts +43 -0
  200. package/lib/display/json-display/json-display.component.d.ts +16 -0
  201. package/lib/display/resizable/resizable-base.d.ts +67 -0
  202. package/lib/display/resizable/resizable.component.d.ts +31 -0
  203. package/lib/display/spinner/spinner.component.d.ts +5 -0
  204. package/lib/display/splash/splash.component.d.ts +16 -0
  205. package/lib/display/splash/splash.service.d.ts +22 -0
  206. package/lib/display/table/resizable-column.component.d.ts +10 -0
  207. package/lib/display/table/resizable-table.directive.d.ts +93 -0
  208. package/lib/display/table/searchable-table.component.d.ts +206 -0
  209. package/lib/display/table/table-detail-row.component.d.ts +8 -0
  210. package/lib/display/table/table-locked-column.component.d.ts +20 -0
  211. package/lib/display/table/table-master-header-row.component.d.ts +9 -0
  212. package/lib/display/table/table-master-row.component.d.ts +113 -0
  213. package/lib/display/table/table-pagination.component.d.ts +91 -0
  214. package/lib/display/table/table-selectable-row.component.d.ts +102 -0
  215. package/lib/display/table/table.component.d.ts +121 -0
  216. package/lib/display/tags/tag.d.ts +18 -0
  217. package/lib/display/tags/tags.component.d.ts +48 -0
  218. package/lib/display/toast/toast/toast.component.d.ts +23 -0
  219. package/lib/display/toast/toast-types.d.ts +24 -0
  220. package/lib/display/toast/toast.service.d.ts +20 -0
  221. package/lib/display/toast/toaster/toaster.component.d.ts +35 -0
  222. package/lib/display/tooltip/tooltip.component.d.ts +70 -0
  223. package/lib/display/tooltip/tooltip.service.d.ts +16 -0
  224. package/lib/display/tooltip-directive/tooltip.directive.d.ts +44 -0
  225. package/lib/display/tour/tour-types.d.ts +70 -0
  226. package/lib/display/tour/tour.component.d.ts +147 -0
  227. package/lib/display/tour/tour.service.d.ts +38 -0
  228. package/lib/display/tree/tree.component.d.ts +75 -0
  229. package/lib/display/view-overlay/view-overlay.component.d.ts +38 -0
  230. package/lib/shared/directives/click-area-for/click-area-for.directive.d.ts +14 -0
  231. package/lib/shared/directives/if-viewport-width/if-viewport-width.directive.d.ts +60 -0
  232. package/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.d.ts +23 -0
  233. package/lib/shared/directives/popup/popup-container.directive.d.ts +101 -0
  234. package/lib/shared/display/pipes/date-display.pipe.d.ts +21 -0
  235. package/lib/shared/display/pipes/highlight-text.pipe.d.ts +9 -0
  236. package/lib/shared/display/pipes/relative-date.pipe.d.ts +36 -0
  237. package/lib/shared/display/pipes/row-count.pipe.d.ts +23 -0
  238. package/lib/shared/display/pipes/time-display.pipe.d.ts +18 -0
  239. package/lib/shared/display.d.ts +42 -0
  240. package/lib/shared/form-group.helper.d.ts +31 -0
  241. package/lib/shared/json-helper.d.ts +7 -0
  242. package/lib/shared/lodash-helper.d.ts +18 -0
  243. package/lib/shared/page/page-base/page-base.component.d.ts +259 -0
  244. package/lib/shared/page/page-statuses.d.ts +13 -0
  245. package/lib/shared/page/page-title/page-title.component.d.ts +9 -0
  246. package/lib/shared/page/page-view/page-view.component.d.ts +102 -0
  247. package/lib/shared/testing/copy-button-base-test-injector-factory.spec.d.ts +4 -0
  248. package/lib/shared/testing/hierarchy-base-test-injector-factory.spec.d.ts +4 -0
  249. package/lib/shared/testing/page-base-component-test-helper.spec.d.ts +30 -0
  250. package/lib/shared/testing/page-base-component-test-injector-factory.spec.d.ts +28 -0
  251. package/lib/shared/testing/public-mocks.spec.d.ts +90 -0
  252. package/lib/shared/testing/spy-factory.spec.d.ts +27 -0
  253. package/lib/shared/testing/translation-mocks.spec.d.ts +30 -0
  254. package/lib/shared/user-preference.service.d.ts +13 -0
  255. package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +134 -0
  256. package/lib/shared/wizard/wizard-buttons/wizard-buttons.component.d.ts +27 -0
  257. package/lib/shared/wizard/wizard-progress/wizard-progress.component.d.ts +10 -0
  258. package/package.json +2 -6
  259. package/public-api.d.ts +113 -0
  260. package/schematics/collection.json +10 -0
  261. package/schematics/rxjs-7-upgrade/index.d.ts +3 -0
  262. package/schematics/rxjs-7-upgrade/index.js +71 -0
  263. package/schematics/rxjs-7-upgrade/index.js.map +1 -0
  264. package/schematics/rxjs-7-upgrade/schema.d.ts +4 -0
  265. package/schematics/rxjs-7-upgrade/schema.js +3 -0
  266. package/schematics/rxjs-7-upgrade/schema.js.map +1 -0
  267. package/schematics/rxjs-7-upgrade/schema.json +14 -0
  268. package/schematics/utilities/typescript.d.ts +7 -0
  269. package/schematics/utilities/typescript.js +45 -0
  270. package/schematics/utilities/typescript.js.map +1 -0
  271. package/schematics/utilities/workspace.d.ts +8 -0
  272. package/schematics/utilities/workspace.js +72 -0
  273. package/schematics/utilities/workspace.js.map +1 -0
  274. package/src/assets/images/email-icon.png +0 -0
  275. package/src/assets/images/email-logo.png +0 -0
  276. package/src/assets/images/favicon-ech.svg +7 -0
  277. package/src/assets/images/favicon-esa.svg +6 -0
  278. package/src/assets/images/favicon-eum.svg +6 -0
  279. package/src/assets/images/favicon.svg +5 -0
  280. package/src/assets/images/icon-carbonhub.svg +10 -0
  281. package/src/assets/images/icon-eum.svg +5 -0
  282. package/src/assets/images/icon-ucp.svg +5 -0
  283. package/src/assets/images/icon-wattics.svg +5 -0
  284. package/src/assets/images/icon.svg +4 -0
  285. package/src/assets/images/logo.svg +3 -0
  286. package/src/assets/images/splash.gif +0 -0
  287. package/src/assets/locales/en_US.json +59 -0
  288. package/src/assets/scripts/unsupported-browser.js +17 -0
  289. package/src/styles/_base.scss +38 -0
  290. package/src/styles/_colors.scss +96 -0
  291. package/src/styles/_core.scss +4 -0
  292. package/src/styles/_functions.scss +114 -0
  293. package/src/styles/_global-variables.scss +232 -0
  294. package/src/styles/_icons.scss +24 -0
  295. package/src/styles/bootstrap/_grid.scss +34 -0
  296. package/src/styles/bootstrap/_reboot.scss +323 -0
  297. package/src/styles/components/_card.scss +21 -0
  298. package/src/styles/components/_link-icons.scss +38 -0
  299. package/src/styles/components/_splash.scss +57 -0
  300. package/src/styles/components/_unsupported-browsers.scss +24 -0
  301. package/src/styles/email/_email-base.scss +228 -0
  302. package/src/styles/email/email.scss +43 -0
  303. package/src/styles/index.scss +27 -0
  304. package/src/styles/mixins/_animations.scss +18 -0
  305. package/src/styles/mixins/_button-base.scss +185 -0
  306. package/src/styles/mixins/_card-base.scss +40 -0
  307. package/src/styles/mixins/_common.scss +52 -0
  308. package/src/styles/mixins/_dialog-base.scss +96 -0
  309. package/src/styles/mixins/_form-control-base.scss +641 -0
  310. package/src/styles/mixins/_login.scss +74 -0
  311. package/src/styles/mixins/_menu-base.scss +153 -0
  312. package/src/styles/mixins/_overlay-base.scss +33 -0
  313. package/src/styles/mixins/_resizable-base.scss +57 -0
  314. package/src/styles/mixins/_spinner-base.scss +34 -0
  315. package/src/styles/mixins/_table-base.scss +298 -0
  316. package/src/styles/mixins/_tabs-base.scss +110 -0
  317. package/src/styles/mixins/_tags-base.scss +116 -0
  318. package/src/styles/mixins/_text.scss +89 -0
  319. package/src/styles/mixins.scss +15 -0
  320. package/src/styles/utilities/_borders.scss +30 -0
  321. package/src/styles/utilities/_common.scss +49 -0
  322. package/src/styles/utilities/_layout.scss +116 -0
  323. package/src/styles/utilities/_spacing.scss +65 -0
  324. package/src/styles/utilities/_text.scss +139 -0
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5lcmd5Y2FwLWNvbXBvbmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9lbmVyZ3ljYXAtY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,423 @@
1
+ import { A11yModule } from '@angular/cdk/a11y';
2
+ import { OverlayModule } from '@angular/cdk/overlay';
3
+ import { ScrollingModule } from '@angular/cdk/scrolling';
4
+ import { CommonModule } from '@angular/common';
5
+ import { NgModule } from '@angular/core';
6
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
7
+ import { RouterModule } from '@angular/router';
8
+ import { TranslateModule } from '@ngx-translate/core';
9
+ import { BannerComponent } from './controls/banner/banner.component';
10
+ import { ButtonComponent } from './controls/button/button.component';
11
+ import { CopyButtonDirective } from './controls/button/copy-button.directive';
12
+ import { CopyTableButtonDirective } from './controls/button/copy-table-button.directive';
13
+ import { CalendarItemComponent } from './controls/calendar/calendar-item.component';
14
+ import { CalendarComponent } from './controls/calendar/calendar.component';
15
+ import { CheckboxComponent } from './controls/checkbox/checkbox.component';
16
+ import { CollapsibleToggleComponent } from './controls/collapsible-toggle/collapsible-toggle.component';
17
+ import { ComboboxComponent } from './controls/combobox/combobox.component';
18
+ import { DateInputComponent } from './controls/date-input/date-input.component';
19
+ import { DropdownComponent } from './controls/dropdown/dropdown.component';
20
+ import { FileUploadComponent } from './controls/file-upload/file-upload.component';
21
+ import { FormControlLabelComponent } from './controls/form-control-label/form-control-label.component';
22
+ import { FormControlComponent } from './controls/form-control/form-control.component';
23
+ import { FormGroupComponent } from './controls/form-group/form-group.component';
24
+ import { HelpPopoverComponent } from './controls/help-popover/help-popover.component';
25
+ import { ItemPickerComponent } from './controls/item-picker/item-picker.component';
26
+ import { LinkButtonComponent } from './controls/link-button/link-button.component';
27
+ import { MenuComponent } from './controls/menu/menu.component';
28
+ import { NavItemActiveDirective } from './controls/navigation/nav-item-active.directive';
29
+ import { NumericboxComponent } from './controls/numericbox/numericbox.component';
30
+ import { PopoverComponent } from './controls/popover/popover.component';
31
+ import { RadioButtonComponent } from './controls/radio-button/radio-button.component';
32
+ import { SelectComponent } from './controls/select/select.component';
33
+ import { TabsComponent } from './controls/tabs/tabs.component';
34
+ import { TextboxComponent } from './controls/textbox/textbox.component';
35
+ import { AppBarComponent } from './display/app-bar/app-bar.component';
36
+ import { AvatarComponent } from './display/avatar/avatar.component';
37
+ import { ConfirmComponent } from './display/confirm/confirm.component';
38
+ import { DialogGroupComponent } from './display/dialog/dialog-group/dialog-group.component';
39
+ import { DialogComponent } from './display/dialog/dialog.component';
40
+ import { DialogService } from './display/dialog/dialog.service';
41
+ import { HierarchyTreeComponent } from './display/hierarchy/hierarchy-tree/hierarchy-tree.component';
42
+ import { ItemDisplayComponent } from './display/item-display/item-display.component';
43
+ import { JsonDisplayComponent } from './display/json-display/json-display.component';
44
+ import { ResizableComponent } from './display/resizable/resizable.component';
45
+ import { SpinnerComponent } from './display/spinner/spinner.component';
46
+ import { SplashComponent } from './display/splash/splash.component';
47
+ import { ResizableColumnComponent } from './display/table/resizable-column.component';
48
+ import { ResizableTableDirective } from './display/table/resizable-table.directive';
49
+ import { SearchableTableComponent } from './display/table/searchable-table.component';
50
+ import { TableDetailRowComponent } from './display/table/table-detail-row.component';
51
+ import { TableLockedColumnComponent } from './display/table/table-locked-column.component';
52
+ import { TableMasterHeaderRowComponent } from './display/table/table-master-header-row.component';
53
+ import { TableMasterRowComponent } from './display/table/table-master-row.component';
54
+ import { TablePaginationComponent } from './display/table/table-pagination.component';
55
+ import { TableSelectableRowComponent } from './display/table/table-selectable-row.component';
56
+ import { TableComponent } from './display/table/table.component';
57
+ import { TagsComponent } from './display/tags/tags.component';
58
+ import { ToastComponent } from './display/toast/toast/toast.component';
59
+ import { ToasterComponent } from './display/toast/toaster/toaster.component';
60
+ import { TooltipDirective } from './display/tooltip-directive/tooltip.directive';
61
+ import { TooltipComponent } from './display/tooltip/tooltip.component';
62
+ import { TourComponent } from './display/tour/tour.component';
63
+ import { TreeComponent } from './display/tree/tree.component';
64
+ import { ViewOverlayComponent } from './display/view-overlay/view-overlay.component';
65
+ import { ClickAreaForDirective } from './shared/directives/click-area-for/click-area-for.directive';
66
+ import { IfViewportWidthDirective } from './shared/directives/if-viewport-width/if-viewport-width.directive';
67
+ import { KeyboardNavContainerDirective } from './shared/directives/keyboard-nav-container/keyboard-nav-container.directive';
68
+ import { PopupContainerDirective } from './shared/directives/popup/popup-container.directive';
69
+ import { DateDisplayPipe } from './shared/display/pipes/date-display.pipe';
70
+ import { HighlightTextPipe } from './shared/display/pipes/highlight-text.pipe';
71
+ import { RelativeDatePipe } from './shared/display/pipes/relative-date.pipe';
72
+ import { RowCountPipe } from './shared/display/pipes/row-count.pipe';
73
+ import { TimeDisplayPipe } from './shared/display/pipes/time-display.pipe';
74
+ import { FormGroupHelper } from './shared/form-group.helper';
75
+ import { PageTitleComponent } from './shared/page/page-title/page-title.component';
76
+ import { PageViewComponent } from './shared/page/page-view/page-view.component';
77
+ import { MockDateDisplayPipe } from './shared/testing/public-mocks.spec';
78
+ import { WizardButtonsComponent } from './shared/wizard/wizard-buttons/wizard-buttons.component';
79
+ import { WizardProgressComponent } from './shared/wizard/wizard-progress/wizard-progress.component';
80
+ import * as i0 from "@angular/core";
81
+ export class ComponentsModule {
82
+ /**
83
+ * Providing services through the forRoot pattern here ensures that the components module and the importing
84
+ * module use the same singleton service instance.
85
+ * For more info: https://angular.io/guide/singleton-services#the-forroot-pattern
86
+ */
87
+ static forRoot(config) {
88
+ return {
89
+ ngModule: ComponentsModule,
90
+ providers: [
91
+ config.tracker
92
+ ]
93
+ };
94
+ }
95
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
96
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, declarations: [ButtonComponent,
97
+ TabsComponent,
98
+ TextboxComponent,
99
+ NavItemActiveDirective,
100
+ SpinnerComponent,
101
+ ViewOverlayComponent,
102
+ BannerComponent,
103
+ ResizableTableDirective,
104
+ TabsComponent,
105
+ TableComponent,
106
+ SearchableTableComponent,
107
+ ComboboxComponent,
108
+ MenuComponent,
109
+ PopupContainerDirective,
110
+ DropdownComponent,
111
+ ConfirmComponent,
112
+ DialogComponent,
113
+ DateDisplayPipe,
114
+ TimeDisplayPipe,
115
+ MockDateDisplayPipe,
116
+ RadioButtonComponent,
117
+ CheckboxComponent,
118
+ NumericboxComponent,
119
+ AvatarComponent,
120
+ AppBarComponent,
121
+ SplashComponent,
122
+ IfViewportWidthDirective,
123
+ ClickAreaForDirective,
124
+ CollapsibleToggleComponent,
125
+ TableMasterRowComponent,
126
+ TableMasterHeaderRowComponent,
127
+ TableDetailRowComponent,
128
+ TableLockedColumnComponent,
129
+ TableSelectableRowComponent,
130
+ PopoverComponent,
131
+ TablePaginationComponent,
132
+ RowCountPipe,
133
+ CopyButtonDirective,
134
+ TablePaginationComponent,
135
+ TagsComponent,
136
+ FormControlComponent,
137
+ SelectComponent,
138
+ ItemDisplayComponent,
139
+ TableSelectableRowComponent,
140
+ ResizableColumnComponent,
141
+ DialogGroupComponent,
142
+ FileUploadComponent,
143
+ FormGroupComponent,
144
+ JsonDisplayComponent,
145
+ ToastComponent,
146
+ ToasterComponent,
147
+ PageViewComponent,
148
+ PageTitleComponent,
149
+ WizardProgressComponent,
150
+ WizardButtonsComponent,
151
+ HierarchyTreeComponent,
152
+ TreeComponent,
153
+ RelativeDatePipe,
154
+ ResizableComponent,
155
+ HighlightTextPipe,
156
+ FormControlLabelComponent,
157
+ ItemPickerComponent,
158
+ HelpPopoverComponent,
159
+ LinkButtonComponent,
160
+ TooltipComponent,
161
+ TourComponent,
162
+ CopyTableButtonDirective,
163
+ TooltipDirective,
164
+ CalendarComponent,
165
+ CalendarItemComponent,
166
+ DateInputComponent,
167
+ KeyboardNavContainerDirective], imports: [CommonModule,
168
+ FormsModule,
169
+ ReactiveFormsModule,
170
+ RouterModule,
171
+ TranslateModule,
172
+ A11yModule,
173
+ OverlayModule,
174
+ ScrollingModule], exports: [ButtonComponent,
175
+ TabsComponent,
176
+ TextboxComponent,
177
+ NavItemActiveDirective,
178
+ SpinnerComponent,
179
+ ViewOverlayComponent,
180
+ BannerComponent,
181
+ TabsComponent,
182
+ TableComponent,
183
+ SearchableTableComponent,
184
+ ComboboxComponent,
185
+ MenuComponent,
186
+ PopupContainerDirective,
187
+ DropdownComponent,
188
+ ConfirmComponent,
189
+ DialogComponent,
190
+ DateDisplayPipe,
191
+ TimeDisplayPipe,
192
+ RadioButtonComponent,
193
+ CheckboxComponent,
194
+ NumericboxComponent,
195
+ AvatarComponent,
196
+ AppBarComponent,
197
+ SplashComponent,
198
+ IfViewportWidthDirective,
199
+ ClickAreaForDirective,
200
+ CollapsibleToggleComponent,
201
+ TableMasterRowComponent,
202
+ TableMasterHeaderRowComponent,
203
+ TableLockedColumnComponent,
204
+ TableSelectableRowComponent,
205
+ PopoverComponent,
206
+ CopyButtonDirective,
207
+ TablePaginationComponent,
208
+ TagsComponent,
209
+ FormControlComponent,
210
+ SelectComponent,
211
+ ItemDisplayComponent,
212
+ ResizableColumnComponent,
213
+ DialogGroupComponent,
214
+ FileUploadComponent,
215
+ FormGroupComponent,
216
+ JsonDisplayComponent,
217
+ ToastComponent,
218
+ ToasterComponent,
219
+ PageViewComponent,
220
+ PageTitleComponent,
221
+ WizardProgressComponent,
222
+ WizardButtonsComponent,
223
+ HierarchyTreeComponent,
224
+ TreeComponent,
225
+ RelativeDatePipe,
226
+ ResizableComponent,
227
+ HighlightTextPipe,
228
+ FormControlLabelComponent,
229
+ ItemPickerComponent,
230
+ HelpPopoverComponent,
231
+ LinkButtonComponent,
232
+ TooltipComponent,
233
+ TourComponent,
234
+ CopyTableButtonDirective,
235
+ TooltipDirective,
236
+ CalendarComponent,
237
+ DateInputComponent,
238
+ KeyboardNavContainerDirective] }); }
239
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, providers: [
240
+ FormGroupHelper,
241
+ DialogService,
242
+ DateDisplayPipe,
243
+ TimeDisplayPipe,
244
+ MockDateDisplayPipe,
245
+ RowCountPipe,
246
+ RelativeDatePipe,
247
+ HighlightTextPipe
248
+ ], imports: [CommonModule,
249
+ FormsModule,
250
+ ReactiveFormsModule,
251
+ RouterModule,
252
+ TranslateModule,
253
+ A11yModule,
254
+ OverlayModule,
255
+ ScrollingModule] }); }
256
+ }
257
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, decorators: [{
258
+ type: NgModule,
259
+ args: [{
260
+ declarations: [
261
+ ButtonComponent,
262
+ TabsComponent,
263
+ TextboxComponent,
264
+ NavItemActiveDirective,
265
+ SpinnerComponent,
266
+ ViewOverlayComponent,
267
+ BannerComponent,
268
+ ResizableTableDirective,
269
+ TabsComponent,
270
+ TableComponent,
271
+ SearchableTableComponent,
272
+ ComboboxComponent,
273
+ MenuComponent,
274
+ PopupContainerDirective,
275
+ DropdownComponent,
276
+ ConfirmComponent,
277
+ DialogComponent,
278
+ DateDisplayPipe,
279
+ TimeDisplayPipe,
280
+ MockDateDisplayPipe,
281
+ RadioButtonComponent,
282
+ CheckboxComponent,
283
+ NumericboxComponent,
284
+ AvatarComponent,
285
+ AppBarComponent,
286
+ SplashComponent,
287
+ IfViewportWidthDirective,
288
+ ClickAreaForDirective,
289
+ CollapsibleToggleComponent,
290
+ TableMasterRowComponent,
291
+ TableMasterHeaderRowComponent,
292
+ TableDetailRowComponent,
293
+ TableLockedColumnComponent,
294
+ TableSelectableRowComponent,
295
+ PopoverComponent,
296
+ TablePaginationComponent,
297
+ RowCountPipe,
298
+ CopyButtonDirective,
299
+ TablePaginationComponent,
300
+ TagsComponent,
301
+ FormControlComponent,
302
+ SelectComponent,
303
+ ItemDisplayComponent,
304
+ TableSelectableRowComponent,
305
+ ResizableColumnComponent,
306
+ DialogGroupComponent,
307
+ FileUploadComponent,
308
+ FormGroupComponent,
309
+ JsonDisplayComponent,
310
+ ToastComponent,
311
+ ToasterComponent,
312
+ PageViewComponent,
313
+ PageTitleComponent,
314
+ WizardProgressComponent,
315
+ WizardButtonsComponent,
316
+ HierarchyTreeComponent,
317
+ TreeComponent,
318
+ RelativeDatePipe,
319
+ ResizableComponent,
320
+ HighlightTextPipe,
321
+ FormControlLabelComponent,
322
+ ItemPickerComponent,
323
+ HelpPopoverComponent,
324
+ LinkButtonComponent,
325
+ TooltipComponent,
326
+ TourComponent,
327
+ CopyTableButtonDirective,
328
+ TooltipDirective,
329
+ CalendarComponent,
330
+ CalendarItemComponent,
331
+ DateInputComponent,
332
+ KeyboardNavContainerDirective
333
+ ],
334
+ imports: [
335
+ CommonModule,
336
+ FormsModule,
337
+ ReactiveFormsModule,
338
+ RouterModule,
339
+ TranslateModule,
340
+ A11yModule,
341
+ OverlayModule,
342
+ ScrollingModule
343
+ ],
344
+ providers: [
345
+ FormGroupHelper,
346
+ DialogService,
347
+ DateDisplayPipe,
348
+ TimeDisplayPipe,
349
+ MockDateDisplayPipe,
350
+ RowCountPipe,
351
+ RelativeDatePipe,
352
+ HighlightTextPipe
353
+ ],
354
+ exports: [
355
+ ButtonComponent,
356
+ TabsComponent,
357
+ TextboxComponent,
358
+ NavItemActiveDirective,
359
+ SpinnerComponent,
360
+ ViewOverlayComponent,
361
+ BannerComponent,
362
+ TabsComponent,
363
+ TableComponent,
364
+ SearchableTableComponent,
365
+ ComboboxComponent,
366
+ MenuComponent,
367
+ PopupContainerDirective,
368
+ DropdownComponent,
369
+ ConfirmComponent,
370
+ DialogComponent,
371
+ DateDisplayPipe,
372
+ TimeDisplayPipe,
373
+ RadioButtonComponent,
374
+ CheckboxComponent,
375
+ NumericboxComponent,
376
+ AvatarComponent,
377
+ AppBarComponent,
378
+ SplashComponent,
379
+ IfViewportWidthDirective,
380
+ ClickAreaForDirective,
381
+ CollapsibleToggleComponent,
382
+ TableMasterRowComponent,
383
+ TableMasterHeaderRowComponent,
384
+ TableLockedColumnComponent,
385
+ TableSelectableRowComponent,
386
+ PopoverComponent,
387
+ CopyButtonDirective,
388
+ TablePaginationComponent,
389
+ TagsComponent,
390
+ FormControlComponent,
391
+ SelectComponent,
392
+ ItemDisplayComponent,
393
+ ResizableColumnComponent,
394
+ DialogGroupComponent,
395
+ FileUploadComponent,
396
+ FormGroupComponent,
397
+ JsonDisplayComponent,
398
+ ToastComponent,
399
+ ToasterComponent,
400
+ PageViewComponent,
401
+ PageTitleComponent,
402
+ WizardProgressComponent,
403
+ WizardButtonsComponent,
404
+ HierarchyTreeComponent,
405
+ TreeComponent,
406
+ RelativeDatePipe,
407
+ ResizableComponent,
408
+ HighlightTextPipe,
409
+ FormControlLabelComponent,
410
+ ItemPickerComponent,
411
+ HelpPopoverComponent,
412
+ LinkButtonComponent,
413
+ TooltipComponent,
414
+ TourComponent,
415
+ CopyTableButtonDirective,
416
+ TooltipDirective,
417
+ CalendarComponent,
418
+ DateInputComponent,
419
+ KeyboardNavContainerDirective
420
+ ]
421
+ }]
422
+ }] });
423
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDeEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0s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d0I7d0JBQ3hCLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZix3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIsMEJBQTBCO3dCQUMxQix1QkFBdUI7d0JBQ3ZCLDZCQUE2Qjt3QkFDN0IsMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQix3QkFBd0I7d0JBQ3hCLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2QixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQix5QkFBeUI7d0JBQ3pCLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYix3QkFBd0I7d0JBQ3hCLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLDZCQUE2QjtxQkFDOUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQmFubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9iYW5uZXIvYmFubmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb3B5QnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9jb250cm9scy9idXR0b24vY29weS1idXR0b24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29weVRhYmxlQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9jb250cm9scy9idXR0b24vY29weS10YWJsZS1idXR0b24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ2FsZW5kYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9jYWxlbmRhci9jYWxlbmRhci1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29sbGFwc2libGVUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2NvbGxhcHNpYmxlLXRvZ2dsZS9jb2xsYXBzaWJsZS10b2dnbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tYm9ib3hDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2NvbWJvYm94L2NvbWJvYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9mb3JtLWNvbnRyb2wtbGFiZWwvZm9ybS1jb250cm9sLWxhYmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9mb3JtLWNvbnRyb2wvZm9ybS1jb250cm9sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvZm9ybS1ncm91cC9mb3JtLWdyb3VwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhlbHBQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9oZWxwLXBvcG92ZXIvaGVscC1wb3BvdmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEl0ZW1QaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2l0ZW0tcGlja2VyL2l0ZW0tcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpbmtCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2xpbmstYnV0dG9uL2xpbmstYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL21lbnUvbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOYXZJdGVtQWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnLi9jb250cm9scy9uYXZpZ2F0aW9uL25hdi1pdGVtLWFjdGl2ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBOdW1lcmljYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9udW1lcmljYm94L251bWVyaWNib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWJzQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy90YWJzL3RhYnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGV4dGJveENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvdGV4dGJveC90ZXh0Ym94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFwcEJhckNvbXBvbmVudCB9IGZyb20gJy4vZGlzcGxheS9hcHAtYmFyL2FwcC1iYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi9kaXNwbGF5L2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29uZmlybUNvbXBvbmVudCB9IGZyb20gJy4vZGlzcGxheS9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGlhbG9nR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2Rpc3BsYXkvZGlhbG9nL2RpYWxvZy1ncm91cC9kaWFsb2ctZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaXNwbGF5L2RpYWxvZy9kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4vZGlzcGxheS9kaWFsb2cvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIaWVyYXJjaHlUcmVlQ29tcG9uZW50IH0gZnJvbSAnLi9kaXNwbGF5L2hpZXJhcmNoeS9oaWVyYXJjaHktdHJlZS9oaWVyYXJjaHktdHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJdGVtRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4vZGlzcGxheS9pdGVtLWRpc3BsYXkvaXRlbS1kaXNwbGF5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEpzb25EaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi9kaXNwbGF5L2pzb24tZGlzcGxheS9qc29uLWRpc3BsYXkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVzaXphYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9kaXNwbGF5L3Jlc2l6YWJsZS9yZXNpemFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4vZGlzcGxheS9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3BsYXNoQ29tcG9uZW50IH0gZnJvbSAnLi9kaXNwbGF5L3NwbGFzaC9zcGxhc2guY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVzaXphYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9kaXNwbGF5L3RhYmxlL3Jlc2l6YWJsZS1jb2x1bW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVzaXphYmxlVGFibGVEaXJlY3RpdmUgfSBmcm9tICcuL2Rpc3BsYXkvdGFibGUvcmVzaXphYmxlLXRhYmxlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNlYXJjaGFibGVUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vZGlzcGxheS90YWJsZS9zZWFyY2hhYmxlLXRhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhYmxlRGV0YWlsUm93Q29tcG9uZW50IH0gZnJvbSAnLi9kaXNwbGF5L3RhYmxlL3RhYmxlLWRldGFpbC1yb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFibGVMb2NrZWRDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2Rpc3BsYXkvdGFibGUvdGFibGUtbG9ja2VkLWNvbHVtbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWJsZU1hc3RlckhlYWRlclJvd0NvbXBvbmVudCB9IGZyb20gJy4vZGlzcGxheS90YWJsZS90YWJsZS1tYXN0ZXItaGVhZGVyLXJvdy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWJsZU1hc3RlclJvd0NvbXBvbmVudCB9IGZyb20gJy4vZGlzcGxheS90YWJsZS90YWJsZS1tYXN0ZXItcm93LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhYmxlUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vZGlzcGxheS90YWJsZS90YWJsZS1wYWdpbmF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhYmxlU2VsZWN0YWJsZVJvd0NvbXBvbmVudCB9IGZyb20gJy4vZGlzcGxheS90YWJsZS90YWJsZS1zZWxlY3RhYmxlLXJvdy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vZGlzcGxheS90YWJsZS90YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWdzQ29tcG9uZW50IH0gZnJvbSAnLi9kaXNwbGF5L3RhZ3MvdGFncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2FzdENvbXBvbmVudCB9IGZyb20gJy4vZGlzcGxheS90b2FzdC90b2FzdC90b2FzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2FzdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9kaXNwbGF5L3RvYXN0L3RvYXN0ZXIvdG9hc3Rlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXNwbGF5L3Rvb2x0aXAtZGlyZWN0aXZlL3Rvb2x0aXAuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vZGlzcGxheS90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG91ckNvbXBvbmVudCB9IGZyb20gJy4vZGlzcGxheS90b3VyL3RvdXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVHJlZUNvbXBvbmVudCB9IGZyb20gJy4vZGlzcGxheS90cmVlL3RyZWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmlld092ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuL2Rpc3BsYXkvdmlldy1vdmVybGF5L3ZpZXctb3ZlcmxheS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDbGlja0FyZWFGb3JEaXJlY3RpdmUgfSBmcm9tICcuL3NoYXJlZC9kaXJlY3RpdmVzL2NsaWNrLWFyZWEtZm9yL2NsaWNrLWFyZWEtZm9yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IElmVmlld3BvcnRXaWR0aERpcmVjdGl2ZSB9IGZyb20gJy4vc2hhcmVkL2RpcmVjdGl2ZXMvaWYtdmlld3BvcnQtd2lkdGgvaWYtdmlld3BvcnQtd2lkdGguZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgS2V5Ym9hcmROYXZDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL3NoYXJlZC9kaXJlY3RpdmVzL2tleWJvYXJkLW5hdi1jb250YWluZXIva2V5Ym9hcmQtbmF2LWNvbnRhaW5lci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBQb3B1cENvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vc2hhcmVkL2RpcmVjdGl2ZXMvcG9wdXAvcG9wdXAtY29udGFpbmVyLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IERhdGVEaXNwbGF5UGlwZSB9IGZyb20gJy4vc2hhcmVkL2Rpc3BsYXkvcGlwZXMvZGF0ZS1kaXNwbGF5LnBpcGUnO1xyXG5pbXBvcnQgeyBIaWdobGlnaHRUZXh0UGlwZSB9IGZyb20gJy4vc2hhcmVkL2Rpc3BsYXkvcGlwZXMvaGlnaGxpZ2h0LXRleHQucGlwZSc7XHJcbmltcG9ydCB7IFJlbGF0aXZlRGF0ZVBpcGUgfSBmcm9tICcuL3NoYXJlZC9kaXNwbGF5L3BpcGVzL3JlbGF0aXZlLWRhdGUucGlwZSc7XHJcbmltcG9ydCB7IFJvd0NvdW50UGlwZSB9IGZyb20gJy4vc2hhcmVkL2Rpc3BsYXkvcGlwZXMvcm93LWNvdW50LnBpcGUnO1xyXG5pbXBvcnQgeyBUaW1lRGlzcGxheVBpcGUgfSBmcm9tICcuL3NoYXJlZC9kaXNwbGF5L3BpcGVzL3RpbWUtZGlzcGxheS5waXBlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwSGVscGVyIH0gZnJvbSAnLi9zaGFyZWQvZm9ybS1ncm91cC5oZWxwZXInO1xyXG5pbXBvcnQgeyBQYWdlVGl0bGVDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9wYWdlL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkL3BhZ2UvcGFnZS12aWV3L3BhZ2Utdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNb2NrRGF0ZURpc3BsYXlQaXBlIH0gZnJvbSAnLi9zaGFyZWQvdGVzdGluZy9wdWJsaWMtbW9ja3Muc3BlYyc7XHJcbmltcG9ydCB7IFdpemFyZEJ1dHRvbnNDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC93aXphcmQvd2l6YXJkLWJ1dHRvbnMvd2l6YXJkLWJ1dHRvbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV2l6YXJkUHJvZ3Jlc3NDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC93aXphcmQvd2l6YXJkLXByb2dyZXNzL3dpemFyZC1wcm9ncmVzcy5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IHR5cGUgQ29tcG9uZW50c01vZHVsZUNvbmZpZyA9IHtcclxuICB0cmFja2VyOiBQcm92aWRlclxyXG59O1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFRhYnNDb21wb25lbnQsXHJcbiAgICBUZXh0Ym94Q29tcG9uZW50LFxyXG4gICAgTmF2SXRlbUFjdGl2ZURpcmVjdGl2ZSxcclxuICAgIFNwaW5uZXJDb21wb25lbnQsXHJcbiAgICBWaWV3T3ZlcmxheUNvbXBvbmVudCxcclxuICAgIEJhbm5lckNvbXBvbmVudCxcclxuICAgIFJlc2l6YWJsZVRhYmxlRGlyZWN0aXZlLFxyXG4gICAgVGFic0NvbXBvbmVudCxcclxuICAgIFRhYmxlQ29tcG9uZW50LFxyXG4gICAgU2VhcmNoYWJsZVRhYmxlQ29tcG9uZW50LFxyXG4gICAgQ29tYm9ib3hDb21wb25lbnQsXHJcbiAgICBNZW51Q29tcG9uZW50LFxyXG4gICAgUG9wdXBDb250YWluZXJEaXJlY3RpdmUsXHJcbiAgICBEcm9wZG93bkNvbXBvbmVudCxcclxuICAgIENvbmZpcm1Db21wb25lbnQsXHJcbiAgICBEaWFsb2dDb21wb25lbnQsXHJcbiAgICBEYXRlRGlzcGxheVBpcGUsXHJcbiAgICBUaW1lRGlzcGxheVBpcGUsXHJcbiAgICBNb2NrRGF0ZURpc3BsYXlQaXBlLFxyXG4gICAgUmFkaW9CdXR0b25Db21wb25lbnQsXHJcbiAgICBDaGVja2JveENvbXBvbmVudCxcclxuICAgIE51bWVyaWNib3hDb21wb25lbnQsXHJcbiAgICBBdmF0YXJDb21wb25lbnQsXHJcbiAgICBBcHBCYXJDb21wb25lbnQsXHJcbiAgICBTcGxhc2hDb21wb25lbnQsXHJcbiAgICBJZlZpZXdwb3J0V2lkdGhEaXJlY3RpdmUsXHJcbiAgICBDbGlja0FyZWFGb3JEaXJlY3RpdmUsXHJcbiAgICBDb2xsYXBzaWJsZVRvZ2dsZUNvbXBvbmVudCxcclxuICAgIFRhYmxlTWFzdGVyUm93Q29tcG9uZW50LFxyXG4gICAgVGFibGVNYXN0ZXJIZWFkZXJSb3dDb21wb25lbnQsXHJcbiAgICBUYWJsZURldGFpbFJvd0NvbXBvbmVudCxcclxuICAgIFRhYmxlTG9ja2VkQ29sdW1uQ29tcG9uZW50LFxyXG4gICAgVGFibGVTZWxlY3RhYmxlUm93Q29tcG9uZW50LFxyXG4gICAgUG9wb3ZlckNvbXBvbmVudCxcclxuICAgIFRhYmxlUGFnaW5hdGlvbkNvbXBvbmVudCxcclxuICAgIFJvd0NvdW50UGlwZSxcclxuICAgIENvcHlCdXR0b25EaXJlY3RpdmUsXHJcbiAgICBUYWJsZVBhZ2luYXRpb25Db21wb25lbnQsXHJcbiAgICBUYWdzQ29tcG9uZW50LFxyXG4gICAgRm9ybUNvbnRyb2xDb21wb25lbnQsXHJcbiAgICBTZWxlY3RDb21wb25lbnQsXHJcbiAgICBJdGVtRGlzcGxheUNvbXBvbmVudCxcclxuICAgIFRhYmxlU2VsZWN0YWJsZVJvd0NvbXBvbmVudCxcclxuICAgIFJlc2l6YWJsZUNvbHVtbkNvbXBvbmVudCxcclxuICAgIERpYWxvZ0dyb3VwQ29tcG9uZW50LFxyXG4gICAgRmlsZVVwbG9hZENvbXBvbmVudCxcclxuICAgIEZvcm1Hcm91cENvbXBvbmVudCxcclxuICAgIEpzb25EaXNwbGF5Q29tcG9uZW50LFxyXG4gICAgVG9hc3RDb21wb25lbnQsXHJcbiAgICBUb2FzdGVyQ29tcG9uZW50LFxyXG4gICAgUGFnZVZpZXdDb21wb25lbnQsXHJcbiAgICBQYWdlVGl0bGVDb21wb25lbnQsXHJcbiAgICBXaXphcmRQcm9ncmVzc0NvbXBvbmVudCxcclxuICAgIFdpemFyZEJ1dHRvbnNDb21wb25lbnQsXHJcbiAgICBIaWVyYXJjaHlUcmVlQ29tcG9uZW50LFxyXG4gICAgVHJlZUNvbXBvbmVudCxcclxuICAgIFJlbGF0aXZlRGF0ZVBpcGUsXHJcbiAgICBSZXNpemFibGVDb21wb25lbnQsXHJcbiAgICBIaWdobGlnaHRUZXh0UGlwZSxcclxuICAgIEZvcm1Db250cm9sTGFiZWxDb21wb25lbnQsXHJcbiAgICBJdGVtUGlja2VyQ29tcG9uZW50LFxyXG4gICAgSGVscFBvcG92ZXJDb21wb25lbnQsXHJcbiAgICBMaW5rQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgVG9vbHRpcENvbXBvbmVudCxcclxuICAgIFRvdXJDb21wb25lbnQsXHJcbiAgICBDb3B5VGFibGVCdXR0b25EaXJlY3RpdmUsXHJcbiAgICBUb29sdGlwRGlyZWN0aXZlLFxyXG4gICAgQ2FsZW5kYXJDb21wb25lbnQsXHJcbiAgICBDYWxlbmRhckl0ZW1Db21wb25lbnQsXHJcbiAgICBEYXRlSW5wdXRDb21wb25lbnQsXHJcbiAgICBLZXlib2FyZE5hdkNvbnRhaW5lckRpcmVjdGl2ZVxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcblx0XHRSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgQTExeU1vZHVsZSxcclxuICAgIE92ZXJsYXlNb2R1bGUsXHJcbiAgICBTY3JvbGxpbmdNb2R1bGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgRm9ybUdyb3VwSGVscGVyLFxyXG4gICAgRGlhbG9nU2VydmljZSxcclxuICAgIERhdGVEaXNwbGF5UGlwZSxcclxuICAgIFRpbWVEaXNwbGF5UGlwZSxcclxuICAgIE1vY2tEYXRlRGlzcGxheVBpcGUsXHJcbiAgICBSb3dDb3VudFBpcGUsXHJcbiAgICBSZWxhdGl2ZURhdGVQaXBlLFxyXG4gICAgSGlnaGxpZ2h0VGV4dFBpcGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFRhYnNDb21wb25lbnQsXHJcbiAgICBUZXh0Ym94Q29tcG9uZW50LFxyXG4gICAgTmF2SXRlbUFjdGl2ZURpcmVjdGl2ZSxcclxuICAgIFNwaW5uZXJDb21wb25lbnQsXHJcbiAgICBWaWV3T3ZlcmxheUNvbXBvbmVudCxcclxuICAgIEJhbm5lckNvbXBvbmVudCxcclxuICAgIFRhYnNDb21wb25lbnQsXHJcbiAgICBUYWJsZUNvbXBvbmVudCxcclxuICAgIFNlYXJjaGFibGVUYWJsZUNvbXBvbmVudCxcclxuICAgIENvbWJvYm94Q29tcG9uZW50LFxyXG4gICAgTWVudUNvbXBvbmVudCxcclxuICAgIFBvcHVwQ29udGFpbmVyRGlyZWN0aXZlLFxyXG4gICAgRHJvcGRvd25Db21wb25lbnQsXHJcbiAgICBDb25maXJtQ29tcG9uZW50LFxyXG4gICAgRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgRGF0ZURpc3BsYXlQaXBlLFxyXG4gICAgVGltZURpc3BsYXlQaXBlLFxyXG4gICAgUmFkaW9CdXR0b25Db21wb25lbnQsXHJcbiAgICBDaGVja2JveENvbXBvbmVudCxcclxuICAgIE51bWVyaWNib3hDb21wb25lbnQsXHJcbiAgICBBdmF0YXJDb21wb25lbnQsXHJcbiAgICBBcHBCYXJDb21wb25lbnQsXHJcbiAgICBTcGxhc2hDb21wb25lbnQsXHJcbiAgICBJZlZpZXdwb3J0V2lkdGhEaXJlY3RpdmUsXHJcbiAgICBDbGlja0FyZWFGb3JEaXJlY3RpdmUsXHJcbiAgICBDb2xsYXBzaWJsZVRvZ2dsZUNvbXBvbmVudCxcclxuICAgIFRhYmxlTWFzdGVyUm93Q29tcG9uZW50LFxyXG4gICAgVGFibGVNYXN0ZXJIZWFkZXJSb3dDb21wb25lbnQsXHJcbiAgICBUYWJsZUxvY2tlZENvbHVtbkNvbXBvbmVudCxcclxuICAgIFRhYmxlU2VsZWN0YWJsZVJvd0NvbXBvbmVudCxcclxuICAgIFBvcG92ZXJDb21wb25lbnQsXHJcbiAgICBDb3B5QnV0dG9uRGlyZWN0aXZlLFxyXG4gICAgVGFibGVQYWdpbmF0aW9uQ29tcG9uZW50LFxyXG4gICAgVGFnc0NvbXBvbmVudCxcclxuICAgIEZvcm1Db250cm9sQ29tcG9uZW50LFxyXG4gICAgU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgSXRlbURpc3BsYXlDb21wb25lbnQsXHJcbiAgICBSZXNpemFibGVDb2x1bW5Db21wb25lbnQsXHJcbiAgICBEaWFsb2dHcm91cENvbXBvbmVudCxcclxuICAgIEZpbGVVcGxvYWRDb21wb25lbnQsXHJcbiAgICBGb3JtR3JvdXBDb21wb25lbnQsXHJcbiAgICBKc29uRGlzcGxheUNvbXBvbmVudCxcclxuICAgIFRvYXN0Q29tcG9uZW50LFxyXG4gICAgVG9hc3RlckNvbXBvbmVudCxcclxuICAgIFBhZ2VWaWV3Q29tcG9uZW50LFxyXG4gICAgUGFnZVRpdGxlQ29tcG9uZW50LFxyXG4gICAgV2l6YXJkUHJvZ3Jlc3NDb21wb25lbnQsXHJcbiAgICBXaXphcmRCdXR0b25zQ29tcG9uZW50LFxyXG4gICAgSGllcmFyY2h5VHJlZUNvbXBvbmVudCxcclxuICAgIFRyZWVDb21wb25lbnQsXHJcbiAgICBSZWxhdGl2ZURhdGVQaXBlLFxyXG4gICAgUmVzaXphYmxlQ29tcG9uZW50LFxyXG4gICAgSGlnaGxpZ2h0VGV4dFBpcGUsXHJcbiAgICBGb3JtQ29udHJvbExhYmVsQ29tcG9uZW50LFxyXG4gICAgSXRlbVBpY2tlckNvbXBvbmVudCxcclxuICAgIEhlbHBQb3BvdmVyQ29tcG9uZW50LFxyXG4gICAgTGlua0J1dHRvbkNvbXBvbmVudCxcclxuICAgIFRvb2x0aXBDb21wb25lbnQsXHJcbiAgICBUb3VyQ29tcG9uZW50LFxyXG4gICAgQ29weVRhYmxlQnV0dG9uRGlyZWN0aXZlLFxyXG4gICAgVG9vbHRpcERpcmVjdGl2ZSxcclxuICAgIENhbGVuZGFyQ29tcG9uZW50LFxyXG4gICAgRGF0ZUlucHV0Q29tcG9uZW50LFxyXG4gICAgS2V5Ym9hcmROYXZDb250YWluZXJEaXJlY3RpdmVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21wb25lbnRzTW9kdWxlIHtcclxuICAvKipcclxuICAgKiBQcm92aWRpbmcgc2VydmljZXMgdGhyb3VnaCB0aGUgZm9yUm9vdCBwYXR0ZXJuIGhlcmUgZW5zdXJlcyB0aGF0IHRoZSBjb21wb25lbnRzIG1vZHVsZSBhbmQgdGhlIGltcG9ydGluZ1xyXG4gICAqIG1vZHVsZSB1c2UgdGhlIHNhbWUgc2luZ2xldG9uIHNlcnZpY2UgaW5zdGFuY2UuXHJcbiAgICogRm9yIG1vcmUgaW5mbzogaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL3NpbmdsZXRvbi1zZXJ2aWNlcyN0aGUtZm9ycm9vdC1wYXR0ZXJuXHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KGNvbmZpZzogQ29tcG9uZW50c01vZHVsZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Q29tcG9uZW50c01vZHVsZT57XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogQ29tcG9uZW50c01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgY29uZmlnLnRyYWNrZXJcclxuICAgICAgXVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +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
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BannerComponent, deps: [{ token: i1.CacheService }], target: i0.ɵɵFactoryTarget.Component }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.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: "17.3.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: () => [{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9iYW5uZXIvYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9iYW5uZXIvYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFhLE1BQU0sZUFBZSxDQUFDOzs7OztBQVkvRixNQUFNLE9BQU8sZUFBZTtJQStDMUIsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUE5QzlDLDhCQUE4QjtRQUVkLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFL0IsOEZBQThGO1FBQzlFLE9BQUUsR0FBVyxFQUFFLENBQUM7UUFFaEMsK0RBQStEO1FBQy9DLFNBQUksR0FBZSxTQUFTLENBQUM7UUFDN0IsZ0JBQVcsR0FBZ0IsUUFBUSxDQUFDO1FBV3BELDBDQUEwQztRQUMxQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQyw4RUFBOEU7UUFDOUQsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFRaEQsc0dBQXNHO1FBQ3RGLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBRWhELDhCQUE4QjtRQUNiLFdBQU0sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRTs7O1dBR0c7UUFDSSxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRVIsbUJBQWMsR0FBVyxvQkFBb0IsQ0FBQztJQUViLENBQUM7SUFFNUMsV0FBVztRQUNoQixJQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDOUIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM3QixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsSUFBSSxVQUFVLEdBQXdDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUUsQ0FBQztZQUNySCxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUNsQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDdEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsd0dBQXdHO0lBQ2pHLEtBQUs7UUFDVixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNyQixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBb0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUNuRyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFDO1FBQ2pDLENBQUM7YUFBTSxJQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFjLENBQUM7UUFDN0IsQ0FBQzthQUFNLElBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQztRQUMzQixDQUFDO2FBQU0sSUFBRyxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxJQUFJLEdBQUcsbUJBQW1CLENBQUM7UUFDbEMsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQzsrR0ExRlUsZUFBZTttR0FBZixlQUFlLG9aQ1o1Qix1dkJBdUJBOzs0RkRYYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFdBQVc7aUZBT0wsTUFBTTtzQkFEckIsV0FBVzt1QkFBQyxRQUFROztzQkFDcEIsS0FBSztnQkFHVSxFQUFFO3NCQUFqQixLQUFLO2dCQUdVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFHVSxLQUFLO3NCQUFwQixLQUFLO2dCQUdVLElBQUk7c0JBQW5CLEtBQUs7Z0JBR1UsSUFBSTtzQkFBbkIsS0FBSztnQkFHVSxZQUFZO3NCQUEzQixLQUFLO2dCQUdVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBTVUsVUFBVTtzQkFBekIsS0FBSztnQkFHVSxjQUFjO3NCQUE3QixLQUFLO2dCQUdXLE1BQU07c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDYWNoZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2NhY2hlLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IHR5cGUgQmFubmVyVHlwZSA9ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnc3VjY2VzcycgfCAncHJvbW8nO1xyXG5leHBvcnQgdHlwZSBCYW5uZXJTdHlsZSA9ICdub3JtYWwnIHwgJ3Bpbm5lZCcgfCAndG9hc3QnO1xyXG5leHBvcnQgdHlwZSBCYW5uZXJDYWNoZUVudHJ5ID0geyBoaWRkZW46IGJvb2xlYW4gfTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWMtYmFubmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmFubmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iYW5uZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFubmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICAvKiogaGlkZGVuIGhpZGVzIHRoZSBiYW5uZXIgKi9cclxuICBASG9zdEJpbmRpbmcoJ2hpZGRlbicpXHJcbiAgQElucHV0KCkgcHVibGljIGhpZGRlbiA9IGZhbHNlO1xyXG5cclxuICAvKipUaGUgSUQgb2YgdGhlIGNvbXBvbmVudCwgcmVuZGVyZWQgaW50byB0aGUgSFRNTCB0byBtYWtlIGl0IG1vcmUgYWNjZXNzaWJsZSB0byBhdXRvbWF0aW9uICovXHJcbiAgQElucHV0KCkgcHVibGljIGlkOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqVGhlIHR5cGUgb2YgYmFubmVyIHdoaWNoIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBzdHlsaW5nICovXHJcbiAgQElucHV0KCkgcHVibGljIHR5cGU6IEJhbm5lclR5cGUgPSAnd2FybmluZyc7XHJcbiAgQElucHV0KCkgcHVibGljIGJhbm5lclN0eWxlOiBCYW5uZXJTdHlsZSA9ICdwaW5uZWQnO1xyXG5cclxuICAvKipUaGUgdGl0bGUgZm9yIHRoZSBiYW5uZXIgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgdGl0bGU/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlRoZSB0ZXh0IGluc2lkZSB0aGUgYmFubmVyICovXHJcbiAgQElucHV0KCkgcHVibGljIHRleHQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBMaXN0IG9mIHN0cmluZ3MgdG8gZGlzcGxheSBpbnNpZGUgdGhlIGJhbm5lciAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBsaXN0Pzogc3RyaW5nW107XHJcblxyXG4gIC8qKlNob3cgYW4geCB0byBhbGxvdyBoaWRpbmcgdGhlIGJhbm5lciAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93Q2xvc2VCdG4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFdoZW4gdHJ1ZSwgdGhlIGJhbm5lciB3aWxsIGhpZGUgaXRzZWxmIHdoZW4gdGhlIGNsb3NlIGJ1dHRvbiBpcyBjbGlja2VkICovXHJcbiAgQElucHV0KCkgcHVibGljIGF1dG9IaWRlT25DbG9zZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICogVGhlIGljb24gd2lsbCBiZSBzZXQgdG8gdGhpcyB2YWx1ZSBpZiBpdCdzIHByb3ZpZGVkLlxyXG4gICogSWYgaXQncyBub3QgcHJvdmlkZWQsIHRoZSBpY29uIHdpbGwgYmUgc2VsZWN0ZWQgYmFzZWQgb24gdGhlIHR5cGUgaW5wdXQuIFxyXG4gICovXHJcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbUljb24/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBXaGVuIHRydWUsIHRoZSBiYW5uZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGhpZGUgaXRzZWxmIGJhc2VkIG9uIHRoZSBzdGF0ZSBmb3VuZCBpbiBsb2NhbCBzdG9yYWdlICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZW1lbWJlckNsb3NlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipFdmVudCB0byBoaWRlIHRoZSBiYW5uZXIgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIGNsb3NlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvKipcclxuICAgKiBJY29uIHRvIHNob3cgb24gdGhlIGJhbm5lci4gXHJcbiAgICogSWYgbm8gdmFsdWUgZm9yIG92ZXJyaWRlSWNvbiBpcyBwcm92aWRlZCwgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHNlbGVjdGVkIGJhc2VkIG9uIHRoZSB0eXBlIGlucHV0LiBcclxuICAgKi9cclxuICBwdWJsaWMgaWNvbjogc3RyaW5nID0gJyc7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgY2FjaGVLZXlQcmVmaXg6IHN0cmluZyA9ICdkaXNtaXNzYWJsZUJhbm5lci0nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNhY2hlU2VydmljZTogQ2FjaGVTZXJ2aWNlKSB7IH1cclxuXHJcbiAgcHVibGljIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgaWYodGhpcy5jdXN0b21JY29uKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9IHRoaXMuY3VzdG9tSWNvbjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZ2V0SWNvbkJ5QmFubmVyVHlwZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnJlbWVtYmVyQ2xvc2VkKSB7XHJcbiAgICAgIGxldCBjYWNoZVZhbHVlOiBCYW5uZXJDYWNoZUVudHJ5ID0gKDxCYW5uZXJDYWNoZUVudHJ5PnRoaXMuY2FjaGVTZXJ2aWNlLmdldEl0ZW0oYCR7dGhpcy5jYWNoZUtleVByZWZpeH0ke3RoaXMuaWR9YCkpO1xyXG4gICAgICBpZiAoY2FjaGVWYWx1ZSkge1xyXG4gICAgICAgIHRoaXMuaGlkZGVuID0gY2FjaGVWYWx1ZS5oaWRkZW47XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5oaWRkZW4gPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIE9uIGNsb3NlLCBleHBsaWNpdGx5IGhpZGUgdGhlIGJhbm5lciBvbmUgdGltZS4gSWYgdGhlIGlucHV0IGNoYW5nZXMgYWZ0ZXJ3YXJkIHRoZW4gaXQgY2FuIHJlYXBwZWFyKi9cclxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hdXRvSGlkZU9uQ2xvc2UpIHtcclxuICAgICAgdGhpcy5oaWRkZW4gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnJlbWVtYmVyQ2xvc2VkKSB7XHJcbiAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLnNldEl0ZW0oYCR7dGhpcy5jYWNoZUtleVByZWZpeH0ke3RoaXMuaWR9YCwgPEJhbm5lckNhY2hlRW50cnk+eyBoaWRkZW46IHRydWUgfSlcclxuICAgIH1cclxuICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0SWNvbkJ5QmFubmVyVHlwZSgpIHtcclxuICAgIGlmKHRoaXMudHlwZSA9PT0gJ2luZm8nKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9ICdpY29uLWluZm8tY2lyY2xlJztcclxuICAgIH0gZWxzZSBpZih0aGlzLnR5cGUgPT09ICd3YXJuaW5nJykge1xyXG4gICAgICB0aGlzLmljb24gPSAnaWNvbi13YXJuaW5nJztcclxuICAgIH0gZWxzZSBpZih0aGlzLnR5cGUgPT09ICdlcnJvcicpIHtcclxuICAgICAgdGhpcy5pY29uID0gJ2ljb24tZXJyb3InO1xyXG4gICAgfSBlbHNlIGlmKHRoaXMudHlwZSA9PT0gJ3N1Y2Nlc3MnKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9ICdpY29uLWNoZWNrLWNpcmNsZSc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ3Byb21vJykge1xyXG4gICAgICB0aGlzLmljb24gPSAnaWNvbi1zcGFya2xlcyc7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG59XHJcbiIsIjxkaXYgaWQ9XCJiYW5uZXJfe3tpZH19XCIgY2xhc3M9XCJiYW5uZXIge3t0eXBlfX0ge3tiYW5uZXJTdHlsZX19XCI+XHJcbiAgPGVjLWJ1dHRvbiBpZD1cImJhbm5lcnt7aWR9fV9jbG9zZVwiXHJcbiAgICAgICAgICAgICAqbmdJZj1cInNob3dDbG9zZUJ0blwiXHJcbiAgICAgICAgICAgICB0eXBlPVwiaWNvblwiXHJcbiAgICAgICAgICAgICBpY29uPVwiaWNvbi1jYW5jZWxcIlxyXG4gICAgICAgICAgICAgKGNsaWNrZWQpPVwiY2xvc2UoKVwiPlxyXG4gIDwvZWMtYnV0dG9uPlxyXG4gIDxkaXYgY2xhc3M9XCJiYW5uZXItY29udGVudCBkLWZsZXggdGV4dC1ib2R5LTFcIj5cclxuICAgIDxpIGNsYXNzPVwiZWMtaWNvbiB7e2ljb259fVwiPjwvaT5cclxuICAgIDxkaXYgY2xhc3M9XCJtbC0yXCI+XHJcbiAgICAgIDxwIGNsYXNzPVwidGl0bGUgbWItMFwiICpuZ0lmPVwidGl0bGVcIj5cclxuICAgICAgICB7e3RpdGxlfX1cclxuICAgICAgPC9wPlxyXG4gICAgICA8cCBjbGFzcz1cInRleHQgbWItMFwiICpuZ0lmPVwidGV4dFwiPnt7dGV4dH19PC9wPlxyXG4gIFxyXG4gICAgICA8dWwgY2xhc3M9XCJsaXN0IG1iLTBcIiAqbmdJZj1cImxpc3Q/Lmxlbmd0aFwiPlxyXG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0XCI+e3tpdGVtfX08L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG4iXX0=