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

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/package.json +7 -11
  2. package/esm2022/energycap-components.mjs +0 -5
  3. package/esm2022/lib/components.module.mjs +0 -423
  4. package/esm2022/lib/controls/banner/banner.component.mjs +0 -109
  5. package/esm2022/lib/controls/button/button.component.mjs +0 -106
  6. package/esm2022/lib/controls/button/copy-button-base.directive.mjs +0 -67
  7. package/esm2022/lib/controls/button/copy-button.directive.mjs +0 -28
  8. package/esm2022/lib/controls/button/copy-table-button.directive.mjs +0 -43
  9. package/esm2022/lib/controls/calendar/calendar-item.component.mjs +0 -91
  10. package/esm2022/lib/controls/calendar/calendar.component.mjs +0 -248
  11. package/esm2022/lib/controls/calendar/calendar.types.mjs +0 -2
  12. package/esm2022/lib/controls/checkbox/checkbox.component.mjs +0 -140
  13. package/esm2022/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +0 -38
  14. package/esm2022/lib/controls/combobox/combobox.component.mjs +0 -879
  15. package/esm2022/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.mjs +0 -57
  16. package/esm2022/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.mjs +0 -62
  17. package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.mjs +0 -100
  18. package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.mjs +0 -101
  19. package/esm2022/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.mjs +0 -76
  20. package/esm2022/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.mjs +0 -79
  21. package/esm2022/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.mjs +0 -210
  22. package/esm2022/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.mjs +0 -81
  23. package/esm2022/lib/controls/date-input/date-input.component.mjs +0 -464
  24. package/esm2022/lib/controls/date-input/date-input.types.mjs +0 -44
  25. package/esm2022/lib/controls/dropdown/dropdown.component.mjs +0 -243
  26. package/esm2022/lib/controls/file-upload/file-upload.component.mjs +0 -261
  27. package/esm2022/lib/controls/form-control/form-control.component.mjs +0 -98
  28. package/esm2022/lib/controls/form-control-base.mjs +0 -151
  29. package/esm2022/lib/controls/form-control-label/form-control-label.component.mjs +0 -136
  30. package/esm2022/lib/controls/form-group/form-group.component.mjs +0 -261
  31. package/esm2022/lib/controls/help-popover/help-popover.component.mjs +0 -31
  32. package/esm2022/lib/controls/item-picker/item-picker.component.mjs +0 -329
  33. package/esm2022/lib/controls/link-button/link-button.component.mjs +0 -11
  34. package/esm2022/lib/controls/menu/menu.component.mjs +0 -485
  35. package/esm2022/lib/controls/navigation/link-item.mjs +0 -2
  36. package/esm2022/lib/controls/navigation/nav-group.mjs +0 -39
  37. package/esm2022/lib/controls/navigation/nav-item-active.directive.mjs +0 -92
  38. package/esm2022/lib/controls/navigation/nav-item.mjs +0 -2
  39. package/esm2022/lib/controls/numericbox/numericbox.component.mjs +0 -372
  40. package/esm2022/lib/controls/popover/popover.component.mjs +0 -117
  41. package/esm2022/lib/controls/radio-button/radio-button-option.mjs +0 -3
  42. package/esm2022/lib/controls/radio-button/radio-button.component.mjs +0 -82
  43. package/esm2022/lib/controls/select/select.component.mjs +0 -88
  44. package/esm2022/lib/controls/tabs/tabs.component.mjs +0 -47
  45. package/esm2022/lib/controls/textbox/textbox.component.mjs +0 -155
  46. package/esm2022/lib/core/cache.service.mjs +0 -105
  47. package/esm2022/lib/core/custom-validators.mjs +0 -29
  48. package/esm2022/lib/core/date-time-helper.mjs +0 -228
  49. package/esm2022/lib/core/error.service.mjs +0 -61
  50. package/esm2022/lib/core/router-helper.service.mjs +0 -111
  51. package/esm2022/lib/core/scroll.service.mjs +0 -89
  52. package/esm2022/lib/core/telemetry-tracker.service.mjs +0 -16
  53. package/esm2022/lib/core/telemetry.service.mjs +0 -38
  54. package/esm2022/lib/core/validation-message.service.mjs +0 -185
  55. package/esm2022/lib/core/validation-patterns.mjs +0 -31
  56. package/esm2022/lib/core/window.service.mjs +0 -186
  57. package/esm2022/lib/display/app-bar/app-bar.component.mjs +0 -46
  58. package/esm2022/lib/display/avatar/avatar.component.mjs +0 -67
  59. package/esm2022/lib/display/avatar/avatar.service.mjs +0 -64
  60. package/esm2022/lib/display/confirm/confirm.component.mjs +0 -168
  61. package/esm2022/lib/display/dialog/dialog-content.mjs +0 -2
  62. package/esm2022/lib/display/dialog/dialog-group/dialog-group.component.mjs +0 -63
  63. package/esm2022/lib/display/dialog/dialog-types.mjs +0 -77
  64. package/esm2022/lib/display/dialog/dialog.component.mjs +0 -281
  65. package/esm2022/lib/display/dialog/dialog.service.mjs +0 -71
  66. package/esm2022/lib/display/help/help-types.mjs +0 -2
  67. package/esm2022/lib/display/hierarchy/hierarchy-base.mjs +0 -111
  68. package/esm2022/lib/display/hierarchy/hierarchy-mocks.spec.mjs +0 -54
  69. package/esm2022/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +0 -61
  70. package/esm2022/lib/display/item-display/item-display.component.mjs +0 -81
  71. package/esm2022/lib/display/json-display/json-display.component.mjs +0 -47
  72. package/esm2022/lib/display/resizable/resizable-base.mjs +0 -120
  73. package/esm2022/lib/display/resizable/resizable.component.mjs +0 -57
  74. package/esm2022/lib/display/spinner/spinner.component.mjs +0 -12
  75. package/esm2022/lib/display/splash/splash.component.mjs +0 -42
  76. package/esm2022/lib/display/splash/splash.service.mjs +0 -35
  77. package/esm2022/lib/display/table/resizable-column.component.mjs +0 -20
  78. package/esm2022/lib/display/table/resizable-table.directive.mjs +0 -227
  79. package/esm2022/lib/display/table/searchable-table.component.mjs +0 -342
  80. package/esm2022/lib/display/table/table-detail-row.component.mjs +0 -28
  81. package/esm2022/lib/display/table/table-locked-column.component.mjs +0 -58
  82. package/esm2022/lib/display/table/table-master-header-row.component.mjs +0 -14
  83. package/esm2022/lib/display/table/table-master-row.component.mjs +0 -163
  84. package/esm2022/lib/display/table/table-pagination.component.mjs +0 -155
  85. package/esm2022/lib/display/table/table-selectable-row.component.mjs +0 -235
  86. package/esm2022/lib/display/table/table.component.mjs +0 -249
  87. package/esm2022/lib/display/tags/tag.mjs +0 -18
  88. package/esm2022/lib/display/tags/tags.component.mjs +0 -77
  89. package/esm2022/lib/display/toast/toast/toast.component.mjs +0 -77
  90. package/esm2022/lib/display/toast/toast-types.mjs +0 -8
  91. package/esm2022/lib/display/toast/toast.service.mjs +0 -35
  92. package/esm2022/lib/display/toast/toaster/toaster.component.mjs +0 -114
  93. package/esm2022/lib/display/tooltip/tooltip.component.mjs +0 -28
  94. package/esm2022/lib/display/tooltip/tooltip.service.mjs +0 -78
  95. package/esm2022/lib/display/tooltip-directive/tooltip.directive.mjs +0 -173
  96. package/esm2022/lib/display/tour/tour-types.mjs +0 -34
  97. package/esm2022/lib/display/tour/tour.component.mjs +0 -398
  98. package/esm2022/lib/display/tour/tour.service.mjs +0 -75
  99. package/esm2022/lib/display/tree/tree.component.mjs +0 -135
  100. package/esm2022/lib/display/view-overlay/view-overlay.component.mjs +0 -58
  101. package/esm2022/lib/shared/directives/click-area-for/click-area-for.directive.mjs +0 -32
  102. package/esm2022/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +0 -111
  103. package/esm2022/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.mjs +0 -100
  104. package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +0 -166
  105. package/esm2022/lib/shared/display/pipes/date-display.pipe.mjs +0 -50
  106. package/esm2022/lib/shared/display/pipes/highlight-text.pipe.mjs +0 -30
  107. package/esm2022/lib/shared/display/pipes/relative-date.pipe.mjs +0 -62
  108. package/esm2022/lib/shared/display/pipes/row-count.pipe.mjs +0 -48
  109. package/esm2022/lib/shared/display/pipes/time-display.pipe.mjs +0 -41
  110. package/esm2022/lib/shared/display.mjs +0 -6
  111. package/esm2022/lib/shared/form-group.helper.mjs +0 -67
  112. package/esm2022/lib/shared/json-helper.mjs +0 -19
  113. package/esm2022/lib/shared/lodash-helper.mjs +0 -52
  114. package/esm2022/lib/shared/page/page-base/page-base.component.mjs +0 -387
  115. package/esm2022/lib/shared/page/page-statuses.mjs +0 -23
  116. package/esm2022/lib/shared/page/page-title/page-title.component.mjs +0 -23
  117. package/esm2022/lib/shared/page/page-view/page-view.component.mjs +0 -147
  118. package/esm2022/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +0 -17
  119. package/esm2022/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +0 -17
  120. package/esm2022/lib/shared/testing/page-base-component-test-helper.spec.mjs +0 -38
  121. package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +0 -98
  122. package/esm2022/lib/shared/testing/public-mocks.spec.mjs +0 -148
  123. package/esm2022/lib/shared/testing/spy-factory.spec.mjs +0 -40
  124. package/esm2022/lib/shared/testing/translation-mocks.spec.mjs +0 -57
  125. package/esm2022/lib/shared/user-preference.service.mjs +0 -17
  126. package/esm2022/lib/shared/wizard/wizard-base/wizard-base.component.mjs +0 -246
  127. package/esm2022/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +0 -68
  128. package/esm2022/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +0 -18
  129. package/esm2022/public-api.mjs +0 -117
  130. package/fesm2022/energycap-components.mjs +0 -13219
  131. package/fesm2022/energycap-components.mjs.map +0 -1
  132. package/index.d.ts +0 -5
  133. package/lib/components.module.d.ts +0 -92
  134. package/lib/controls/banner/banner.component.d.ts +0 -50
  135. package/lib/controls/button/button.component.d.ts +0 -78
  136. package/lib/controls/button/copy-button-base.directive.d.ts +0 -20
  137. package/lib/controls/button/copy-button.directive.d.ts +0 -14
  138. package/lib/controls/button/copy-table-button.directive.d.ts +0 -19
  139. package/lib/controls/calendar/calendar-item.component.d.ts +0 -22
  140. package/lib/controls/calendar/calendar.component.d.ts +0 -52
  141. package/lib/controls/calendar/calendar.types.d.ts +0 -11
  142. package/lib/controls/checkbox/checkbox.component.d.ts +0 -65
  143. package/lib/controls/collapsible-toggle/collapsible-toggle.component.d.ts +0 -25
  144. package/lib/controls/combobox/combobox.component.d.ts +0 -418
  145. package/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.d.ts +0 -42
  146. package/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.d.ts +0 -21
  147. package/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.d.ts +0 -21
  148. package/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.d.ts +0 -21
  149. package/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.d.ts +0 -18
  150. package/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.d.ts +0 -18
  151. package/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.d.ts +0 -21
  152. package/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.d.ts +0 -20
  153. package/lib/controls/date-input/date-input.component.d.ts +0 -115
  154. package/lib/controls/date-input/date-input.types.d.ts +0 -62
  155. package/lib/controls/dropdown/dropdown.component.d.ts +0 -161
  156. package/lib/controls/file-upload/file-upload.component.d.ts +0 -124
  157. package/lib/controls/form-control/form-control.component.d.ts +0 -28
  158. package/lib/controls/form-control-base.d.ts +0 -110
  159. package/lib/controls/form-control-label/form-control-label.component.d.ts +0 -73
  160. package/lib/controls/form-group/form-group.component.d.ts +0 -105
  161. package/lib/controls/help-popover/help-popover.component.d.ts +0 -11
  162. package/lib/controls/item-picker/item-picker.component.d.ts +0 -164
  163. package/lib/controls/link-button/link-button.component.d.ts +0 -5
  164. package/lib/controls/menu/menu.component.d.ts +0 -255
  165. package/lib/controls/navigation/link-item.d.ts +0 -32
  166. package/lib/controls/navigation/nav-group.d.ts +0 -18
  167. package/lib/controls/navigation/nav-item-active.directive.d.ts +0 -42
  168. package/lib/controls/navigation/nav-item.d.ts +0 -31
  169. package/lib/controls/numericbox/numericbox.component.d.ts +0 -148
  170. package/lib/controls/popover/popover.component.d.ts +0 -51
  171. package/lib/controls/radio-button/radio-button-option.d.ts +0 -19
  172. package/lib/controls/radio-button/radio-button.component.d.ts +0 -53
  173. package/lib/controls/select/select.component.d.ts +0 -44
  174. package/lib/controls/tabs/tabs.component.d.ts +0 -30
  175. package/lib/controls/textbox/textbox.component.d.ts +0 -107
  176. package/lib/core/cache.service.d.ts +0 -33
  177. package/lib/core/custom-validators.d.ts +0 -20
  178. package/lib/core/date-time-helper.d.ts +0 -101
  179. package/lib/core/error.service.d.ts +0 -20
  180. package/lib/core/router-helper.service.d.ts +0 -48
  181. package/lib/core/scroll.service.d.ts +0 -36
  182. package/lib/core/telemetry-tracker.service.d.ts +0 -13
  183. package/lib/core/telemetry.service.d.ts +0 -31
  184. package/lib/core/validation-message.service.d.ts +0 -26
  185. package/lib/core/validation-patterns.d.ts +0 -22
  186. package/lib/core/window.service.d.ts +0 -116
  187. package/lib/display/app-bar/app-bar.component.d.ts +0 -20
  188. package/lib/display/avatar/avatar.component.d.ts +0 -35
  189. package/lib/display/avatar/avatar.service.d.ts +0 -24
  190. package/lib/display/confirm/confirm.component.d.ts +0 -123
  191. package/lib/display/dialog/dialog-content.d.ts +0 -19
  192. package/lib/display/dialog/dialog-group/dialog-group.component.d.ts +0 -32
  193. package/lib/display/dialog/dialog-types.d.ts +0 -130
  194. package/lib/display/dialog/dialog.component.d.ts +0 -120
  195. package/lib/display/dialog/dialog.service.d.ts +0 -48
  196. package/lib/display/help/help-types.d.ts +0 -33
  197. package/lib/display/hierarchy/hierarchy-base.d.ts +0 -97
  198. package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +0 -53
  199. package/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.d.ts +0 -34
  200. package/lib/display/item-display/item-display.component.d.ts +0 -43
  201. package/lib/display/json-display/json-display.component.d.ts +0 -16
  202. package/lib/display/resizable/resizable-base.d.ts +0 -67
  203. package/lib/display/resizable/resizable.component.d.ts +0 -31
  204. package/lib/display/spinner/spinner.component.d.ts +0 -5
  205. package/lib/display/splash/splash.component.d.ts +0 -16
  206. package/lib/display/splash/splash.service.d.ts +0 -22
  207. package/lib/display/table/resizable-column.component.d.ts +0 -10
  208. package/lib/display/table/resizable-table.directive.d.ts +0 -93
  209. package/lib/display/table/searchable-table.component.d.ts +0 -206
  210. package/lib/display/table/table-detail-row.component.d.ts +0 -8
  211. package/lib/display/table/table-locked-column.component.d.ts +0 -20
  212. package/lib/display/table/table-master-header-row.component.d.ts +0 -9
  213. package/lib/display/table/table-master-row.component.d.ts +0 -113
  214. package/lib/display/table/table-pagination.component.d.ts +0 -91
  215. package/lib/display/table/table-selectable-row.component.d.ts +0 -102
  216. package/lib/display/table/table.component.d.ts +0 -121
  217. package/lib/display/tags/tag.d.ts +0 -18
  218. package/lib/display/tags/tags.component.d.ts +0 -48
  219. package/lib/display/toast/toast/toast.component.d.ts +0 -23
  220. package/lib/display/toast/toast-types.d.ts +0 -24
  221. package/lib/display/toast/toast.service.d.ts +0 -20
  222. package/lib/display/toast/toaster/toaster.component.d.ts +0 -35
  223. package/lib/display/tooltip/tooltip.component.d.ts +0 -70
  224. package/lib/display/tooltip/tooltip.service.d.ts +0 -16
  225. package/lib/display/tooltip-directive/tooltip.directive.d.ts +0 -44
  226. package/lib/display/tour/tour-types.d.ts +0 -70
  227. package/lib/display/tour/tour.component.d.ts +0 -147
  228. package/lib/display/tour/tour.service.d.ts +0 -38
  229. package/lib/display/tree/tree.component.d.ts +0 -75
  230. package/lib/display/view-overlay/view-overlay.component.d.ts +0 -38
  231. package/lib/shared/directives/click-area-for/click-area-for.directive.d.ts +0 -14
  232. package/lib/shared/directives/if-viewport-width/if-viewport-width.directive.d.ts +0 -60
  233. package/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.d.ts +0 -23
  234. package/lib/shared/directives/popup/popup-container.directive.d.ts +0 -101
  235. package/lib/shared/display/pipes/date-display.pipe.d.ts +0 -21
  236. package/lib/shared/display/pipes/highlight-text.pipe.d.ts +0 -9
  237. package/lib/shared/display/pipes/relative-date.pipe.d.ts +0 -36
  238. package/lib/shared/display/pipes/row-count.pipe.d.ts +0 -23
  239. package/lib/shared/display/pipes/time-display.pipe.d.ts +0 -18
  240. package/lib/shared/display.d.ts +0 -42
  241. package/lib/shared/form-group.helper.d.ts +0 -31
  242. package/lib/shared/json-helper.d.ts +0 -7
  243. package/lib/shared/lodash-helper.d.ts +0 -18
  244. package/lib/shared/page/page-base/page-base.component.d.ts +0 -259
  245. package/lib/shared/page/page-statuses.d.ts +0 -13
  246. package/lib/shared/page/page-title/page-title.component.d.ts +0 -9
  247. package/lib/shared/page/page-view/page-view.component.d.ts +0 -102
  248. package/lib/shared/testing/copy-button-base-test-injector-factory.spec.d.ts +0 -4
  249. package/lib/shared/testing/hierarchy-base-test-injector-factory.spec.d.ts +0 -4
  250. package/lib/shared/testing/page-base-component-test-helper.spec.d.ts +0 -30
  251. package/lib/shared/testing/page-base-component-test-injector-factory.spec.d.ts +0 -28
  252. package/lib/shared/testing/public-mocks.spec.d.ts +0 -90
  253. package/lib/shared/testing/spy-factory.spec.d.ts +0 -27
  254. package/lib/shared/testing/translation-mocks.spec.d.ts +0 -30
  255. package/lib/shared/user-preference.service.d.ts +0 -13
  256. package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +0 -134
  257. package/lib/shared/wizard/wizard-buttons/wizard-buttons.component.d.ts +0 -27
  258. package/lib/shared/wizard/wizard-progress/wizard-progress.component.d.ts +0 -10
  259. package/public-api.d.ts +0 -113
  260. package/schematics/collection.json +0 -10
  261. package/schematics/rxjs-7-upgrade/index.d.ts +0 -3
  262. package/schematics/rxjs-7-upgrade/index.js +0 -68
  263. package/schematics/rxjs-7-upgrade/index.js.map +0 -1
  264. package/schematics/rxjs-7-upgrade/schema.d.ts +0 -4
  265. package/schematics/rxjs-7-upgrade/schema.js +0 -3
  266. package/schematics/rxjs-7-upgrade/schema.js.map +0 -1
  267. package/schematics/rxjs-7-upgrade/schema.json +0 -14
  268. package/schematics/utilities/typescript.d.ts +0 -7
  269. package/schematics/utilities/typescript.js +0 -42
  270. package/schematics/utilities/typescript.js.map +0 -1
  271. package/schematics/utilities/workspace.d.ts +0 -8
  272. package/schematics/utilities/workspace.js +0 -72
  273. package/schematics/utilities/workspace.js.map +0 -1
  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 +0 -7
  277. package/src/assets/images/favicon-esa.svg +0 -6
  278. package/src/assets/images/favicon-eum.svg +0 -6
  279. package/src/assets/images/favicon.svg +0 -5
  280. package/src/assets/images/icon-carbonhub.svg +0 -10
  281. package/src/assets/images/icon-eum.svg +0 -5
  282. package/src/assets/images/icon-ucp.svg +0 -5
  283. package/src/assets/images/icon-wattics.svg +0 -5
  284. package/src/assets/images/icon.svg +0 -4
  285. package/src/assets/images/logo.svg +0 -3
  286. package/src/assets/images/splash.gif +0 -0
  287. package/src/assets/locales/en_US.json +0 -59
  288. package/src/assets/scripts/unsupported-browser.js +0 -17
  289. package/src/styles/_base.scss +0 -38
  290. package/src/styles/_colors.scss +0 -96
  291. package/src/styles/_core.scss +0 -4
  292. package/src/styles/_functions.scss +0 -114
  293. package/src/styles/_global-variables.scss +0 -232
  294. package/src/styles/_icons.scss +0 -24
  295. package/src/styles/bootstrap/_grid.scss +0 -34
  296. package/src/styles/bootstrap/_reboot.scss +0 -323
  297. package/src/styles/components/_card.scss +0 -21
  298. package/src/styles/components/_link-icons.scss +0 -38
  299. package/src/styles/components/_splash.scss +0 -57
  300. package/src/styles/components/_unsupported-browsers.scss +0 -24
  301. package/src/styles/email/_email-base.scss +0 -228
  302. package/src/styles/email/email.scss +0 -43
  303. package/src/styles/index.scss +0 -27
  304. package/src/styles/mixins/_animations.scss +0 -18
  305. package/src/styles/mixins/_button-base.scss +0 -185
  306. package/src/styles/mixins/_card-base.scss +0 -40
  307. package/src/styles/mixins/_common.scss +0 -52
  308. package/src/styles/mixins/_dialog-base.scss +0 -96
  309. package/src/styles/mixins/_form-control-base.scss +0 -641
  310. package/src/styles/mixins/_login.scss +0 -74
  311. package/src/styles/mixins/_menu-base.scss +0 -153
  312. package/src/styles/mixins/_overlay-base.scss +0 -33
  313. package/src/styles/mixins/_resizable-base.scss +0 -57
  314. package/src/styles/mixins/_spinner-base.scss +0 -34
  315. package/src/styles/mixins/_table-base.scss +0 -298
  316. package/src/styles/mixins/_tabs-base.scss +0 -110
  317. package/src/styles/mixins/_tags-base.scss +0 -116
  318. package/src/styles/mixins/_text.scss +0 -89
  319. package/src/styles/mixins.scss +0 -15
  320. package/src/styles/utilities/_borders.scss +0 -30
  321. package/src/styles/utilities/_common.scss +0 -49
  322. package/src/styles/utilities/_layout.scss +0 -116
  323. package/src/styles/utilities/_spacing.scss +0 -65
  324. package/src/styles/utilities/_text.scss +0 -139
@@ -1,64 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class AvatarService {
4
- /**
5
- * Return the full and abbreviated labels based on the users first name, email, or username. If the user has a first or last name use
6
- * either a combination of the first and last name, or the first two characters of the name that is defined. If the user does
7
- * not have a first or last name, trying using the first two characters of the email, or the first two characters of the
8
- * username as a last ditch effort.
9
- * @param user
10
- * @returns
11
- */
12
- getAvatarLabels(user) {
13
- let full = undefined;
14
- let abbreviation = 'HI';
15
- let trimmedUser = this.trimUser(user);
16
- if (trimmedUser.firstName || trimmedUser.lastName) {
17
- if (trimmedUser.firstName) {
18
- abbreviation = trimmedUser.firstName.slice(0, 1);
19
- full = trimmedUser.firstName;
20
- if (trimmedUser.lastName) {
21
- full += ` ${trimmedUser.lastName}`;
22
- }
23
- }
24
- else {
25
- abbreviation = trimmedUser.lastName.slice(0, 1);
26
- full = trimmedUser.lastName;
27
- }
28
- }
29
- else if (trimmedUser.email) {
30
- abbreviation = trimmedUser.email.slice(0, 1);
31
- full = trimmedUser.email;
32
- }
33
- else if (trimmedUser.username) {
34
- abbreviation = trimmedUser.username.slice(0, 1);
35
- full = trimmedUser.username;
36
- }
37
- return {
38
- abbreviation: abbreviation,
39
- full: full
40
- };
41
- }
42
- /**
43
- * Return a new user object that has all of the properties of the existing user
44
- * with any null, undefined, or whitespace values removed
45
- */
46
- trimUser(user) {
47
- let trimmedUser = {
48
- email: (user.email || '').trim(),
49
- firstName: (user.firstName || '').trim(),
50
- lastName: (user.lastName || '').trim(),
51
- username: (user.username || '').trim()
52
- };
53
- return trimmedUser;
54
- }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AvatarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
56
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AvatarService, providedIn: 'root' }); }
57
- }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AvatarService, decorators: [{
59
- type: Injectable,
60
- args: [{
61
- providedIn: 'root'
62
- }]
63
- }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS9hdmF0YXIvYXZhdGFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFXM0MsTUFBTSxPQUFPLGFBQWE7SUFFeEI7Ozs7Ozs7T0FPRztJQUNJLGVBQWUsQ0FBQyxJQUFnQjtRQUNyQyxJQUFJLElBQUksR0FBdUIsU0FBUyxDQUFDO1FBQ3pDLElBQUksWUFBWSxHQUFXLElBQUksQ0FBQztRQUVoQyxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksV0FBVyxDQUFDLFNBQVMsSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEQsSUFBSSxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQzFCLFlBQVksR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELElBQUksR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDO2dCQUU3QixJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDekIsSUFBSSxJQUFJLElBQUksV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNyQyxDQUFDO1lBQ0gsQ0FBQztpQkFDSSxDQUFDO2dCQUNKLFlBQVksR0FBRyxXQUFXLENBQUMsUUFBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELElBQUksR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDO1lBQzlCLENBQUM7UUFDSCxDQUFDO2FBQ0ksSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsWUFBWSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM3QyxJQUFJLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUMzQixDQUFDO2FBQ0ksSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDOUIsWUFBWSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNoRCxJQUFJLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUM5QixDQUFDO1FBRUQsT0FBTztZQUNMLFlBQVksRUFBRSxZQUFZO1lBQzFCLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQTtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyxRQUFRLENBQUMsSUFBZ0I7UUFDL0IsSUFBSSxXQUFXLEdBQWU7WUFDNUIsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDaEMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDeEMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDdEMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUU7U0FDdkMsQ0FBQTtRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7K0dBeERVLGFBQWE7bUhBQWIsYUFBYSxjQUZaLE1BQU07OzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBdmF0YXJVc2VyIH0gZnJvbSAnLi9hdmF0YXIuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCB0eXBlIEF2YXRhckxhYmVscyA9IHtcclxuICBhYmJyZXZpYXRpb246IHN0cmluZztcclxuICBmdWxsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEF2YXRhclNlcnZpY2Uge1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gdGhlIGZ1bGwgYW5kIGFiYnJldmlhdGVkIGxhYmVscyBiYXNlZCBvbiB0aGUgdXNlcnMgZmlyc3QgbmFtZSwgZW1haWwsIG9yIHVzZXJuYW1lLiBJZiB0aGUgdXNlciBoYXMgYSBmaXJzdCBvciBsYXN0IG5hbWUgdXNlIFxyXG4gICAqIGVpdGhlciBhIGNvbWJpbmF0aW9uIG9mIHRoZSBmaXJzdCBhbmQgbGFzdCBuYW1lLCBvciB0aGUgZmlyc3QgdHdvIGNoYXJhY3RlcnMgb2YgdGhlIG5hbWUgdGhhdCBpcyBkZWZpbmVkLiBJZiB0aGUgdXNlciBkb2VzXHJcbiAgICogbm90IGhhdmUgYSBmaXJzdCBvciBsYXN0IG5hbWUsIHRyeWluZyB1c2luZyB0aGUgZmlyc3QgdHdvIGNoYXJhY3RlcnMgb2YgdGhlIGVtYWlsLCBvciB0aGUgZmlyc3QgdHdvIGNoYXJhY3RlcnMgb2YgdGhlIFxyXG4gICAqIHVzZXJuYW1lIGFzIGEgbGFzdCBkaXRjaCBlZmZvcnQuXHJcbiAgICogQHBhcmFtIHVzZXIgXHJcbiAgICogQHJldHVybnMgXHJcbiAgICovXHJcbiAgcHVibGljIGdldEF2YXRhckxhYmVscyh1c2VyOiBBdmF0YXJVc2VyKTogQXZhdGFyTGFiZWxzIHtcclxuICAgIGxldCBmdWxsOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbiAgICBsZXQgYWJicmV2aWF0aW9uOiBzdHJpbmcgPSAnSEknO1xyXG5cclxuICAgIGxldCB0cmltbWVkVXNlciA9IHRoaXMudHJpbVVzZXIodXNlcik7XHJcbiAgICBpZiAodHJpbW1lZFVzZXIuZmlyc3ROYW1lIHx8IHRyaW1tZWRVc2VyLmxhc3ROYW1lKSB7XHJcbiAgICAgIGlmICh0cmltbWVkVXNlci5maXJzdE5hbWUpIHtcclxuICAgICAgICBhYmJyZXZpYXRpb24gPSB0cmltbWVkVXNlci5maXJzdE5hbWUuc2xpY2UoMCwgMSk7XHJcbiAgICAgICAgZnVsbCA9IHRyaW1tZWRVc2VyLmZpcnN0TmFtZTtcclxuXHJcbiAgICAgICAgaWYgKHRyaW1tZWRVc2VyLmxhc3ROYW1lKSB7XHJcbiAgICAgICAgICBmdWxsICs9IGAgJHt0cmltbWVkVXNlci5sYXN0TmFtZX1gO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBhYmJyZXZpYXRpb24gPSB0cmltbWVkVXNlci5sYXN0TmFtZSEuc2xpY2UoMCwgMSk7XHJcbiAgICAgICAgZnVsbCA9IHRyaW1tZWRVc2VyLmxhc3ROYW1lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0cmltbWVkVXNlci5lbWFpbCkge1xyXG4gICAgICBhYmJyZXZpYXRpb24gPSB0cmltbWVkVXNlci5lbWFpbC5zbGljZSgwLCAxKTtcclxuICAgICAgZnVsbCA9IHRyaW1tZWRVc2VyLmVtYWlsO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodHJpbW1lZFVzZXIudXNlcm5hbWUpIHtcclxuICAgICAgYWJicmV2aWF0aW9uID0gdHJpbW1lZFVzZXIudXNlcm5hbWUuc2xpY2UoMCwgMSk7XHJcbiAgICAgIGZ1bGwgPSB0cmltbWVkVXNlci51c2VybmFtZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBhYmJyZXZpYXRpb246IGFiYnJldmlhdGlvbixcclxuICAgICAgZnVsbDogZnVsbFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIFxyXG4gICAqIFJldHVybiBhIG5ldyB1c2VyIG9iamVjdCB0aGF0IGhhcyBhbGwgb2YgdGhlIHByb3BlcnRpZXMgb2YgdGhlIGV4aXN0aW5nIHVzZXJcclxuICAgKiB3aXRoIGFueSBudWxsLCB1bmRlZmluZWQsIG9yIHdoaXRlc3BhY2UgdmFsdWVzIHJlbW92ZWRcclxuICAgKi9cclxuICBwcml2YXRlIHRyaW1Vc2VyKHVzZXI6IEF2YXRhclVzZXIpOiBBdmF0YXJVc2VyIHtcclxuICAgIGxldCB0cmltbWVkVXNlcjogQXZhdGFyVXNlciA9IHtcclxuICAgICAgZW1haWw6ICh1c2VyLmVtYWlsIHx8ICcnKS50cmltKCksXHJcbiAgICAgIGZpcnN0TmFtZTogKHVzZXIuZmlyc3ROYW1lIHx8ICcnKS50cmltKCksXHJcbiAgICAgIGxhc3ROYW1lOiAodXNlci5sYXN0TmFtZSB8fCAnJykudHJpbSgpLFxyXG4gICAgICB1c2VybmFtZTogKHVzZXIudXNlcm5hbWUgfHwgJycpLnRyaW0oKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRyaW1tZWRVc2VyO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,168 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
3
- import { Overlay } from '../view-overlay/view-overlay.component';
4
- import { takeUntil } from 'rxjs/operators';
5
- import { Subject } from 'rxjs';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- import * as i2 from "@angular/forms";
9
- import * as i3 from "../../controls/button/button.component";
10
- import * as i4 from "../../controls/textbox/textbox.component";
11
- import * as i5 from "../view-overlay/view-overlay.component";
12
- import * as i6 from "../../controls/banner/banner.component";
13
- import * as i7 from "../../controls/checkbox/checkbox.component";
14
- import * as i8 from "@ngx-translate/core";
15
- export class ConfirmDialogContext {
16
- constructor() {
17
- /** Id to distinguish between confirm component contexts emitted by the dialog service */
18
- this.id = '';
19
- /**
20
- * Optional required flag for the textbox, will set
21
- * a validator on the input if true
22
- */
23
- this.textboxRequired = false;
24
- /** Sets the textbox's uppercase parameter */
25
- this.textboxUppercase = false;
26
- /**
27
- * Optional textbox height (in rows).
28
- * Only applies to multi-line type.
29
- * Default 3.
30
- */
31
- this.textareaRows = 3;
32
- /** Optional save button label */
33
- this.saveLabel = 'Save'; // LOCO
34
- /** Optional save button type */
35
- this.saveButtonType = 'primary';
36
- /** Optional cancel button label */
37
- this.cancelLabel = 'Cancel'; // LOCO
38
- /** Optional flag for hiding the cancel (secondary) button */
39
- this.hideCancel = false;
40
- /** When true, adds the submit tag to the save button so hitting enter triggers the save */
41
- this.saveOnEnter = false;
42
- /** Optional alternate save button label */
43
- this.alternateSaveLabel = undefined;
44
- /** Optional alternate save button type */
45
- this.alternateSaveButtonType = undefined;
46
- /**
47
- * Used to know which save button was selected in case the calling component
48
- * is utilizing the alternate save button
49
- */
50
- this.saveSource = 'primary';
51
- /** The message to be displayed while inlineConfirmAction is pending. */
52
- this.inlineConfirmPendingMessage = '';
53
- }
54
- }
55
- export class ConfirmComponent {
56
- onOpen(openContext) {
57
- this.context = openContext;
58
- this.dialogId = openContext.id;
59
- if (this.context.alternateSaveLabel) {
60
- this.context.saveOnEnter = false;
61
- }
62
- }
63
- constructor() {
64
- this.dialogId = 'Confirm';
65
- /** Form Group to hold any form controls needed */
66
- this.formGroup = new UntypedFormGroup({});
67
- this.status = new Overlay('hasData');
68
- this.showTextBox = false;
69
- this.destroyed = new Subject();
70
- this.onDialogSave = new EventEmitter();
71
- this.onDialogCancel = new EventEmitter();
72
- }
73
- ngOnInit() {
74
- this.addFormControls();
75
- this.setValidations();
76
- this.listenCheckBox();
77
- }
78
- onSave(source) {
79
- this.formGroup.markAllAsTouched();
80
- if (this.formGroup.valid) {
81
- let formValues = this.formGroup.getRawValue();
82
- if (formValues.textbox) {
83
- this.context.textboxValue = formValues.textbox;
84
- }
85
- if (this.context.checkConfirm) {
86
- this.context.checkboxValue = formValues.checkbox ? formValues.checkbox : false;
87
- }
88
- this.context.saveSource = source;
89
- if (this.context.inlineConfirmAction) {
90
- this.doInlineConfirmAction();
91
- }
92
- else {
93
- this.onDialogSave.emit(this.context);
94
- }
95
- }
96
- else if (this.context.validationErrorMessage) {
97
- this.error = this.context.validationErrorMessage;
98
- }
99
- }
100
- onCancel() {
101
- this.onDialogCancel.emit();
102
- }
103
- ngOnDestroy() {
104
- this.destroyed.next();
105
- this.destroyed.complete();
106
- }
107
- listenCheckBox() {
108
- this.formGroup.get('checkbox')?.valueChanges.pipe(takeUntil(this.destroyed)).subscribe(value => {
109
- this.showTextBox = value;
110
- this.setValidations();
111
- });
112
- }
113
- setValidations() {
114
- const showCheckBox = this.formGroup.get('checkbox');
115
- const textBoxControl = this.formGroup.controls['textbox'];
116
- if (showCheckBox) {
117
- this.showTextBox ? textBoxControl?.enable() : textBoxControl?.disable();
118
- }
119
- else {
120
- textBoxControl?.enable();
121
- }
122
- }
123
- /**
124
- * Adds the textbox form control to our form group if its configured to be visible
125
- * Will also add the required validator if requested
126
- */
127
- addFormControls() {
128
- if (this.context.textboxType) {
129
- let validators = [];
130
- if (this.context.textboxRequired) {
131
- validators.push(Validators.required);
132
- }
133
- if (this.context.textboxValidators) {
134
- validators.push(...this.context.textboxValidators);
135
- }
136
- this.formGroup.addControl('textbox', new UntypedFormControl('', validators));
137
- }
138
- if (this.context.checkConfirm) {
139
- this.showTextBox = false;
140
- const checkboxControl = new UntypedFormControl('');
141
- this.formGroup.addControl('checkbox', checkboxControl);
142
- }
143
- }
144
- async doInlineConfirmAction() {
145
- this.status.setStatus('pending', this.context.inlineConfirmPendingMessage);
146
- let result = await this.context.inlineConfirmAction();
147
- this.status.setStatus('noData', result.message, {
148
- id: 'inlineConfirmClose',
149
- label: 'Close',
150
- icon: result.isSuccess ? 'icon-check-circle' : 'icon-error',
151
- classlist: result.isSuccess ? 'font-color-success' : 'font-color-error',
152
- onClick: () => { result.isSuccess ? this.onDialogSave.emit(this.context) : this.onDialogCancel.emit(); }
153
- });
154
- }
155
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfirmComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
156
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ConfirmComponent, selector: "ec-confirm", inputs: { context: "context" }, outputs: { onDialogSave: "onDialogSave", onDialogCancel: "onDialogCancel" }, ngImport: i0, template: "<section ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [action]=\"status?.action\"\r\n [noDataTemplate]=\"inlineConfirmResult\"\r\n overlayClassList=\"p-0\"\r\n class=\"bg-body flex-grow d-flex\">\r\n <form [formGroup]=\"formGroup\" class=\"flex-grow flex-column confirm-content text-body-1\">\r\n <section class=\"flex-grow\">\r\n <h2 class=\"font-weight-bold mb-3\" *ngIf=\"context?.title\">{{context?.title}}</h2>\r\n <ec-banner *ngIf=\"error\" [text]=\"error | translate\" bannerStyle=\"normal\" class=\"mb-3\"></ec-banner>\r\n <div *ngIf=\"context?.message\" [innerHtml]=\"context?.message | translate\" class=\"mb-3\"></div>\r\n \r\n <ec-checkbox *ngIf=\"context?.checkConfirm\"\r\n [formModel]=\"formGroup.get('checkbox')\"\r\n name=\"confirmCheckbox\"\r\n [label]=\"context?.checkboxText\"\r\n [autofocus]=\"true\"\r\n ></ec-checkbox>\r\n <div *ngIf=\"showTextBox\" [innerHtml]=\"context.confirmLabel\" class=\"mb-3\"></div>\r\n <ec-textbox id=\"confirmTextbox\"\r\n *ngIf=\"(context?.textboxType && !context?.checkConfirm) || showTextBox\"\r\n [autofocus]=\"true\"\r\n [formModel]=\"formGroup.get('textbox')\"\r\n [required]=\"context?.textboxRequired\"\r\n [label]=\"context?.textboxLabel\"\r\n [type]=\"context?.textboxType\"\r\n [rows]=\"context?.textareaRows\"\r\n [placeholder]=\"context?.textboxPlaceholder\"\r\n [upperCase]=\"context?.textboxUppercase\">\r\n </ec-textbox>\r\n </section>\r\n <footer class=\"mt-auto flex-shrink d-flex py-2 flex-row-reverse\">\r\n <ec-button id=\"saveConfirmButton\"\r\n class=\"ml-2\"\r\n [type]=\"context?.saveButtonType ? context?.saveButtonType : 'primary'\"\r\n [label]=\"context?.saveLabel ? context?.saveLabel : 'Save'\"\r\n [autofocus]=\"!context?.textboxType\"\r\n [isSubmit]=\"context?.saveOnEnter\"\r\n (clicked)=\"onSave('primary')\">\r\n </ec-button>\r\n <ec-button id=\"alternateSaveConfirmButton\"\r\n *ngIf=\"context?.alternateSaveLabel\"\r\n class=\"ml-2\"\r\n [type]=\"context?.alternateSaveButtonType ? context?.alternateSaveButtonType : 'primary'\"\r\n [label]=\"context?.alternateSaveLabel\"\r\n (clicked)=\"onSave('alternate')\">\r\n </ec-button>\r\n <ec-button *ngIf=\"!context?.hideCancel\"\r\n id=\"cancelConfirmButton\"\r\n class=\"ml-auto\"\r\n type=\"secondary\"\r\n [label]=\"context?.cancelLabel ? context?.cancelLabel : 'Cancel'\"\r\n (clicked)=\"onCancel()\">\r\n </ec-button>\r\n </footer>\r\n </form>\r\n</section>\r\n\r\n<ng-template #inlineConfirmResult>\r\n <section class=\"flex-grow align-self-stretch confirm-content text-body-1\">\r\n <div class=\"d-flex\">\r\n <i class=\"ec-icon {{status?.action?.icon}} {{status?.action?.classlist}} inline-confirm-result-icon\"></i>\r\n <div [innerHTML]=\"status?.message | translate\"></div>\r\n </div>\r\n <div class=\"d-flex pt-2 mt-auto\">\r\n <ec-button id=\"inlineConfirmClose\"\r\n label=\"Close\"\r\n type=\"secondary\"\r\n class=\"ml-auto\"\r\n (clicked)=\"status?.action?.onClick!()\"\r\n [autofocus]=\"true\">\r\n </ec-button>\r\n </div>\r\n </section>\r\n</ng-template>", styles: [":host{width:100%;display:flex}.confirm-content{padding:1.5rem;display:flex;flex-direction:column}.inline-confirm-result-icon{margin:.0625rem .25rem .0625rem 0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "icon", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: i4.TextboxComponent, selector: "ec-textbox", inputs: ["autocomplete", "type", "placeholder", "maxlength", "minlength", "rows", "selectOnAutofocus", "upperCase"] }, { kind: "component", type: i5.ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: i6.BannerComponent, selector: "ec-banner", inputs: ["hidden", "id", "type", "bannerStyle", "title", "text", "list", "showCloseBtn", "autoHideOnClose", "customIcon", "rememberClosed"], outputs: ["closed"] }, { kind: "component", type: i7.CheckboxComponent, selector: "ec-checkbox", inputs: ["name", "dependentCheckboxesGroup", "ignoreDisabledDependents"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
157
- }
158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfirmComponent, decorators: [{
159
- type: Component,
160
- args: [{ selector: 'ec-confirm', template: "<section ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [action]=\"status?.action\"\r\n [noDataTemplate]=\"inlineConfirmResult\"\r\n overlayClassList=\"p-0\"\r\n class=\"bg-body flex-grow d-flex\">\r\n <form [formGroup]=\"formGroup\" class=\"flex-grow flex-column confirm-content text-body-1\">\r\n <section class=\"flex-grow\">\r\n <h2 class=\"font-weight-bold mb-3\" *ngIf=\"context?.title\">{{context?.title}}</h2>\r\n <ec-banner *ngIf=\"error\" [text]=\"error | translate\" bannerStyle=\"normal\" class=\"mb-3\"></ec-banner>\r\n <div *ngIf=\"context?.message\" [innerHtml]=\"context?.message | translate\" class=\"mb-3\"></div>\r\n \r\n <ec-checkbox *ngIf=\"context?.checkConfirm\"\r\n [formModel]=\"formGroup.get('checkbox')\"\r\n name=\"confirmCheckbox\"\r\n [label]=\"context?.checkboxText\"\r\n [autofocus]=\"true\"\r\n ></ec-checkbox>\r\n <div *ngIf=\"showTextBox\" [innerHtml]=\"context.confirmLabel\" class=\"mb-3\"></div>\r\n <ec-textbox id=\"confirmTextbox\"\r\n *ngIf=\"(context?.textboxType && !context?.checkConfirm) || showTextBox\"\r\n [autofocus]=\"true\"\r\n [formModel]=\"formGroup.get('textbox')\"\r\n [required]=\"context?.textboxRequired\"\r\n [label]=\"context?.textboxLabel\"\r\n [type]=\"context?.textboxType\"\r\n [rows]=\"context?.textareaRows\"\r\n [placeholder]=\"context?.textboxPlaceholder\"\r\n [upperCase]=\"context?.textboxUppercase\">\r\n </ec-textbox>\r\n </section>\r\n <footer class=\"mt-auto flex-shrink d-flex py-2 flex-row-reverse\">\r\n <ec-button id=\"saveConfirmButton\"\r\n class=\"ml-2\"\r\n [type]=\"context?.saveButtonType ? context?.saveButtonType : 'primary'\"\r\n [label]=\"context?.saveLabel ? context?.saveLabel : 'Save'\"\r\n [autofocus]=\"!context?.textboxType\"\r\n [isSubmit]=\"context?.saveOnEnter\"\r\n (clicked)=\"onSave('primary')\">\r\n </ec-button>\r\n <ec-button id=\"alternateSaveConfirmButton\"\r\n *ngIf=\"context?.alternateSaveLabel\"\r\n class=\"ml-2\"\r\n [type]=\"context?.alternateSaveButtonType ? context?.alternateSaveButtonType : 'primary'\"\r\n [label]=\"context?.alternateSaveLabel\"\r\n (clicked)=\"onSave('alternate')\">\r\n </ec-button>\r\n <ec-button *ngIf=\"!context?.hideCancel\"\r\n id=\"cancelConfirmButton\"\r\n class=\"ml-auto\"\r\n type=\"secondary\"\r\n [label]=\"context?.cancelLabel ? context?.cancelLabel : 'Cancel'\"\r\n (clicked)=\"onCancel()\">\r\n </ec-button>\r\n </footer>\r\n </form>\r\n</section>\r\n\r\n<ng-template #inlineConfirmResult>\r\n <section class=\"flex-grow align-self-stretch confirm-content text-body-1\">\r\n <div class=\"d-flex\">\r\n <i class=\"ec-icon {{status?.action?.icon}} {{status?.action?.classlist}} inline-confirm-result-icon\"></i>\r\n <div [innerHTML]=\"status?.message | translate\"></div>\r\n </div>\r\n <div class=\"d-flex pt-2 mt-auto\">\r\n <ec-button id=\"inlineConfirmClose\"\r\n label=\"Close\"\r\n type=\"secondary\"\r\n class=\"ml-auto\"\r\n (clicked)=\"status?.action?.onClick!()\"\r\n [autofocus]=\"true\">\r\n </ec-button>\r\n </div>\r\n </section>\r\n</ng-template>", styles: [":host{width:100%;display:flex}.confirm-content{padding:1.5rem;display:flex;flex-direction:column}.inline-confirm-result-icon{margin:.0625rem .25rem .0625rem 0}\n"] }]
161
- }], ctorParameters: () => [], propDecorators: { context: [{
162
- type: Input
163
- }], onDialogSave: [{
164
- type: Output
165
- }], onDialogCancel: [{
166
- type: Output
167
- }] } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvY29uZmlybS9jb25maXJtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUsvRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFTL0IsTUFBTSxPQUFPLG9CQUFvQjtJQUFqQztRQUNFLHlGQUF5RjtRQUNsRixPQUFFLEdBQVcsRUFBRSxDQUFDO1FBK0J2Qjs7O1dBR0c7UUFDSSxvQkFBZSxHQUFhLEtBQUssQ0FBQztRQUt6Qyw2Q0FBNkM7UUFDdEMscUJBQWdCLEdBQWEsS0FBSyxDQUFDO1FBRTFDOzs7O1dBSUc7UUFDSSxpQkFBWSxHQUFZLENBQUMsQ0FBQztRQWFqQyxpQ0FBaUM7UUFDMUIsY0FBUyxHQUFZLE1BQU0sQ0FBQyxDQUFDLE9BQU87UUFFM0MsZ0NBQWdDO1FBQ3pCLG1CQUFjLEdBQWdCLFNBQVMsQ0FBQztRQUUvQyxtQ0FBbUM7UUFDNUIsZ0JBQVcsR0FBWSxRQUFRLENBQUMsQ0FBQyxPQUFPO1FBRS9DLDZEQUE2RDtRQUN0RCxlQUFVLEdBQWEsS0FB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QyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQSxDQUFDLENBQUM7U0FDeEcsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FsSVUsZ0JBQWdCO21HQUFoQixnQkFBZ0IsK0pDNUg3QixtdUhBMkVjOzs0RkRpREQsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLFlBQVk7d0RBcUJOLE9BQU87c0JBQXRCLEtBQUs7Z0JBRVcsWUFBWTtzQkFBNUIsTUFBTTtnQkFDVSxjQUFjO3NCQUE5QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBCdXR0b25UeXBlIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0Ym94VHlwZSB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL3RleHRib3gvdGV4dGJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaWFsb2dDb250ZW50IH0gZnJvbSAnLi4vZGlhbG9nL2RpYWxvZy1jb250ZW50JztcclxuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJy4uL3ZpZXctb3ZlcmxheS92aWV3LW92ZXJsYXkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG50eXBlIFNhdmVTb3VyY2UgPSAncHJpbWFyeSd8J2FsdGVybmF0ZSc7XHJcblxyXG5leHBvcnQgdHlwZSBDdXN0b21BY3Rpb25SZXN1bHQgPSB7XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG4gIGlzU3VjY2VzczogYm9vbGVhbjtcclxufTtcclxuXHJcbmV4cG9ydCBjbGFzcyBDb25maXJtRGlhbG9nQ29udGV4dCB7XHJcbiAgLyoqIElkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gY29uZmlybSBjb21wb25lbnQgY29udGV4dHMgZW1pdHRlZCBieSB0aGUgZGlhbG9nIHNlcnZpY2UgKi9cclxuICBwdWJsaWMgaWQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKiogT3B0aW9uYWwgdGl0bGUgb2YgdGhlIGNvbmZpcm0gKi9cclxuICBwdWJsaWMgdGl0bGU/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBPcHRpb25hbCBtZXNzYWdlICovXHJcbiAgcHVibGljIG1lc3NhZ2U/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBPcHRpb25hbCBjaGVja0NvbmZpcm1cclxuICAgKiB0aGlzIHdpbGwgZGV0ZXJtaW5lIGlmIGVjLWNoZWNrYm94IGlzIGF2YWlsYWJsZSBvciBub1xyXG4gICAqIGluIG9yZGVyIHRvIGRlbGV0ZSBvciBtb3ZlIHRvIG5vIHBhcmVudCB0aGUgZW50aXR5XHJcbiAgICovXHJcbiAgcHVibGljIGNoZWNrQ29uZmlybT86Ym9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogY2hlY2tib3hDb250ZW50XHJcbiAgICogRGV0ZXJtaW5lIHRoZSBsYWJlbCBuZXh0IHRvIHRoZSBjaGVja2JveFxyXG4gICAqIGlmIGNoZWNrQ29uZmlybSBpcyB0cnVlIG90aGVyd2lzZSBpcyBub3QgdmlzaWJsZVxyXG4gICAqL1xyXG5cclxuICBwdWJsaWMgY2hlY2tib3hUZXh0PzpzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIE9wdGlvbmFsIHRleHRib3ggdHlwZSwgdGhpcyB3aWxsIGRldGVybWluZSB3aGV0aGVyXHJcbiAgICogYW4gaW5wdXQgaXMgdmlzaWJsZSBvciBub3RcclxuICAgKi9cclxuICBwdWJsaWMgdGV4dGJveFR5cGU/OiBUZXh0Ym94VHlwZTtcclxuXHJcbiAgLyoqIE9wdGlvbmFsIHRleHRib3ggbGFiZWwgKi9cclxuICBwdWJsaWMgdGV4dGJveExhYmVsPzogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBPcHRpb25hbCByZXF1aXJlZCBmbGFnIGZvciB0aGUgdGV4dGJveCwgd2lsbCBzZXRcclxuICAgKiBhIHZhbGlkYXRvciBvbiB0aGUgaW5wdXQgaWYgdHJ1ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyB0ZXh0Ym94UmVxdWlyZWQ/OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKiBPcHRpb25hbCBhcnJheSBvZiB2YWxpZGF0b3JzIHRvIGFkZCB0byB0aGUgdGV4dGJveCBmb3JtIGNvbnRyb2wuICovXHJcbiAgcHVibGljIHRleHRib3hWYWxpZGF0b3JzPzogVmFsaWRhdG9yRm5bXTtcclxuXHJcbiAgLyoqIFNldHMgdGhlIHRleHRib3gncyB1cHBlcmNhc2UgcGFyYW1ldGVyICovXHJcbiAgcHVibGljIHRleHRib3hVcHBlcmNhc2U/OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIE9wdGlvbmFsIHRleHRib3ggaGVpZ2h0IChpbiByb3dzKS5cclxuICAgKiBPbmx5IGFwcGxpZXMgdG8gbXVsdGktbGluZSB0eXBlLlxyXG4gICAqIERlZmF1bHQgMy5cclxuICAgKi9cclxuICBwdWJsaWMgdGV4dGFyZWFSb3dzPzogbnVtYmVyID0gMztcclxuXHJcbiAgLyoqIE9wdGlvbmFsIHRleHRib3ggcGxhY2Vob2xkZXIgdGV4dCAqL1xyXG4gIHB1YmxpYyB0ZXh0Ym94UGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBPcHRpb25hbCBlcnJvciBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiB0ZXh0Ym94ICovXHJcbiAgcHVibGljIHZhbGlkYXRpb25FcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBWYWx1ZSByZXR1cm5lZCBmcm9tIHRoZSBpbnB1dCBpZiBlbmFibGVkICovXHJcbiAgcHVibGljIHRleHRib3hWYWx1ZT86IHN0cmluZztcclxuICBwdWJsaWMgY2hlY2tib3hWYWx1ZT86Ym9vbGVhbjtcclxuICBwdWJsaWMgY29uZmlybUxhYmVsPzpzdHJpbmc7XHJcblxyXG4gIC8qKiBPcHRpb25hbCBzYXZlIGJ1dHRvbiBsYWJlbCAqL1xyXG4gIHB1YmxpYyBzYXZlTGFiZWw/OiBzdHJpbmcgPSAnU2F2ZSc7IC8vIExPQ09cclxuXHJcbiAgLyoqIE9wdGlvbmFsIHNhdmUgYnV0dG9uIHR5cGUgKi9cclxuICBwdWJsaWMgc2F2ZUJ1dHRvblR5cGU/OiBCdXR0b25UeXBlID0gJ3ByaW1hcnknO1xyXG5cclxuICAvKiogT3B0aW9uYWwgY2FuY2VsIGJ1dHRvbiBsYWJlbCAqL1xyXG4gIHB1YmxpYyBjYW5jZWxMYWJlbD86IHN0cmluZyA9ICdDYW5jZWwnOyAvLyBMT0NPXHJcblxyXG4gIC8qKiBPcHRpb25hbCBmbGFnIGZvciBoaWRpbmcgdGhlIGNhbmNlbCAoc2Vjb25kYXJ5KSBidXR0b24gKi9cclxuICBwdWJsaWMgaGlkZUNhbmNlbD86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFdoZW4gdHJ1ZSwgYWRkcyB0aGUgc3VibWl0IHRhZyB0byB0aGUgc2F2ZSBidXR0b24gc28gaGl0dGluZyBlbnRlciB0cmlnZ2VycyB0aGUgc2F2ZSAqL1xyXG4gIHB1YmxpYyBzYXZlT25FbnRlcj86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIE9wdGlvbmFsIGFsdGVybmF0ZSBzYXZlIGJ1dHRvbiBsYWJlbCAqL1xyXG4gIHB1YmxpYyBhbHRlcm5hdGVTYXZlTGFiZWw/OiBzdHJpbmcgPSB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKiBPcHRpb25hbCBhbHRlcm5hdGUgc2F2ZSBidXR0b24gdHlwZSAqL1xyXG4gIHB1YmxpYyBhbHRlcm5hdGVTYXZlQnV0dG9uVHlwZT86IEJ1dHRvblR5cGUgPSB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFVzZWQgdG8ga25vdyB3aGljaCBzYXZlIGJ1dHRvbiB3YXMgc2VsZWN0ZWQgaW4gY2FzZSB0aGUgY2FsbGluZyBjb21wb25lbnRcclxuICAgKiBpcyB1dGlsaXppbmcgdGhlIGFsdGVybmF0ZSBzYXZlIGJ1dHRvblxyXG4gICAqL1xyXG4gIHB1YmxpYyBzYXZlU291cmNlPzogU2F2ZVNvdXJjZSA9ICdwcmltYXJ5JztcclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBwcm92aWRlZCwgdGhlIGNvbmZpcm0gd2lsbCBzaG93IGEgcGVuZGluZyBzdGF0ZSBhbmQgY2FsbCB0aGlzLCB0aGVuIHVwb25cclxuICAgKiBjb21wbGV0aW9uIGRpc3BsYXkgdGhlIHJlc3VsdCBtZXNzYWdlIGFuZCBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIHByb21pc2UgaXMgcmVzb2x2ZWRcclxuICAgKiBzdWNjZXNzZnVsbHksIHRoZSBjbG9zZSBidXR0b24gd2lsbCBlbWl0IG9uRGlhbG9nU2F2ZS4gSWYgdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQsXHJcbiAgICogdGhlIGNsb3NlIGJ1dHRvbiB3aWxsIGVtaXQgb25EaWFsb2dDYW5jZWwuXHJcbiAgICovXHJcbiAgcHVibGljIGlubGluZUNvbmZpcm1BY3Rpb24/OiAoKSA9PiBQcm9taXNlPEN1c3RvbUFjdGlvblJlc3VsdD47XHJcblxyXG4gIC8qKiBUaGUgbWVzc2FnZSB0byBiZSBkaXNwbGF5ZWQgd2hpbGUgaW5saW5lQ29uZmlybUFjdGlvbiBpcyBwZW5kaW5nLiAqL1xyXG4gIHB1YmxpYyBpbmxpbmVDb25maXJtUGVuZGluZ01lc3NhZ2U/OiBzdHJpbmcgPSAnJztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlYy1jb25maXJtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29uZmlybS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25maXJtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBEaWFsb2dDb250ZW50PENvbmZpcm1EaWFsb2dDb250ZXh0PiwgT25EZXN0cm95e1xyXG5cclxuICBwdWJsaWMgZGlhbG9nSWQ6IHN0cmluZyA9ICdDb25maXJtJztcclxuXHJcbiAgLyoqIEZvcm0gR3JvdXAgdG8gaG9sZCBhbnkgZm9ybSBjb250cm9scyBuZWVkZWQgKi9cclxuICBwdWJsaWMgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe30pO1xyXG5cclxuICBwdWJsaWMgc3RhdHVzID0gbmV3IE92ZXJsYXkoJ2hhc0RhdGEnKTtcclxuXHJcbiAgcHVibGljIHNob3dUZXh0Qm94OmJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAvKipcclxuICAgKiBQcm92aWRlZCBieSB0aGUgY2FsbGluZyBjb21wb25lbnQgdG8gdGVsbCB0aGUgY29uZmlybSB3aGF0IHRvIHNob3dcclxuICAgKiBhbmQgaXMgdXNlZCBvbiBzYXZlIHRvIHNlbmQgYmFjayBhbnkgZW50ZXJlZCB2YWx1ZXMgZnJvbSB0aGUgdXNlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjb250ZXh0ITogQ29uZmlybURpYWxvZ0NvbnRleHQ7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25EaWFsb2dTYXZlOiBFdmVudEVtaXR0ZXI8Q29uZmlybURpYWxvZ0NvbnRleHQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb25maXJtRGlhbG9nQ29udGV4dD4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIG9uRGlhbG9nQ2FuY2VsOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIHB1YmxpYyBvbk9wZW4ob3BlbkNvbnRleHQ/OiBDb25maXJtRGlhbG9nQ29udGV4dCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb250ZXh0ID0gb3BlbkNvbnRleHQhO1xyXG4gICAgdGhpcy5kaWFsb2dJZCA9IG9wZW5Db250ZXh0IS5pZDtcclxuICAgIGlmICh0aGlzLmNvbnRleHQuYWx0ZXJuYXRlU2F2ZUxhYmVsKSB7XHJcbiAgICAgIHRoaXMuY29udGV4dC5zYXZlT25FbnRlciA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIEVycm9yIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgZXJyb3IgYmFubmVyICovXHJcbiAgcHVibGljIGVycm9yPzogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFkZEZvcm1Db250cm9scygpO1xyXG4gICAgdGhpcy5zZXRWYWxpZGF0aW9ucygpO1xyXG4gICAgdGhpcy5saXN0ZW5DaGVja0JveCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2F2ZShzb3VyY2U6IFNhdmVTb3VyY2UpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwLm1hcmtBbGxBc1RvdWNoZWQoKTtcclxuXHJcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcclxuICAgICAgbGV0IGZvcm1WYWx1ZXMgPSB0aGlzLmZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xyXG4gICAgICBpZiAoZm9ybVZhbHVlcy50ZXh0Ym94KSB7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LnRleHRib3hWYWx1ZSA9IGZvcm1WYWx1ZXMudGV4dGJveDtcclxuICAgICAgfVxyXG4gICAgICBpZih0aGlzLmNvbnRleHQuY2hlY2tDb25maXJtKSB7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LmNoZWNrYm94VmFsdWUgPSBmb3JtVmFsdWVzLmNoZWNrYm94ID8gZm9ybVZhbHVlcy5jaGVja2JveCA6IGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmNvbnRleHQuc2F2ZVNvdXJjZSA9IHNvdXJjZTtcclxuXHJcbiAgICAgIGlmICh0aGlzLmNvbnRleHQuaW5saW5lQ29uZmlybUFjdGlvbikge1xyXG4gICAgICAgIHRoaXMuZG9JbmxpbmVDb25maXJtQWN0aW9uKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5vbkRpYWxvZ1NhdmUuZW1pdCh0aGlzLmNvbnRleHQpO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRleHQudmFsaWRhdGlvbkVycm9yTWVzc2FnZSkge1xyXG4gICAgICB0aGlzLmVycm9yID0gdGhpcy5jb250ZXh0LnZhbGlkYXRpb25FcnJvck1lc3NhZ2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uRGlhbG9nQ2FuY2VsLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbGlzdGVuQ2hlY2tCb3goKTp2b2lkIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnY2hlY2tib3gnKT8udmFsdWVDaGFuZ2VzLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZClcclxuICAgICkuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgdGhpcy5zaG93VGV4dEJveCA9IHZhbHVlO1xyXG4gICAgICB0aGlzLnNldFZhbGlkYXRpb25zKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VmFsaWRhdGlvbnMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzaG93Q2hlY2tCb3ggPSB0aGlzLmZvcm1Hcm91cC5nZXQoJ2NoZWNrYm94Jyk7XHJcbiAgICBjb25zdCB0ZXh0Qm94Q29udHJvbCA9IHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzWyd0ZXh0Ym94J107XHJcblxyXG4gICAgaWYgKHNob3dDaGVja0JveCkge1xyXG4gICAgICAgIHRoaXMuc2hvd1RleHRCb3ggPyB0ZXh0Qm94Q29udHJvbD8uZW5hYmxlKCkgOiB0ZXh0Qm94Q29udHJvbD8uZGlzYWJsZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICB0ZXh0Qm94Q29udHJvbD8uZW5hYmxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRzIHRoZSB0ZXh0Ym94IGZvcm0gY29udHJvbCB0byBvdXIgZm9ybSBncm91cCBpZiBpdHMgY29uZmlndXJlZCB0byBiZSB2aXNpYmxlXHJcbiAgICogV2lsbCBhbHNvIGFkZCB0aGUgcmVxdWlyZWQgdmFsaWRhdG9yIGlmIHJlcXVlc3RlZFxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkRm9ybUNvbnRyb2xzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY29udGV4dC50ZXh0Ym94VHlwZSkge1xyXG4gICAgICBsZXQgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IFtdO1xyXG4gICAgICBpZiAodGhpcy5jb250ZXh0LnRleHRib3hSZXF1aXJlZCkge1xyXG4gICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5jb250ZXh0LnRleHRib3hWYWxpZGF0b3JzKSB7XHJcbiAgICAgICAgdmFsaWRhdG9ycy5wdXNoKC4uLnRoaXMuY29udGV4dC50ZXh0Ym94VmFsaWRhdG9ycyk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgndGV4dGJveCcsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIHZhbGlkYXRvcnMpKTtcclxuICAgIH1cclxuXHJcbiAgICBpZih0aGlzLmNvbnRleHQuY2hlY2tDb25maXJtKXtcclxuICAgICAgdGhpcy5zaG93VGV4dEJveCA9IGZhbHNlO1xyXG4gICAgICBjb25zdCBjaGVja2JveENvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnY2hlY2tib3gnLCBjaGVja2JveENvbnRyb2wpOyAgICAgIFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBkb0lubGluZUNvbmZpcm1BY3Rpb24oKSB7XHJcbiAgICB0aGlzLnN0YXR1cy5zZXRTdGF0dXMoJ3BlbmRpbmcnLCB0aGlzLmNvbnRleHQuaW5saW5lQ29uZmlybVBlbmRpbmdNZXNzYWdlKTtcclxuXHJcbiAgICBsZXQgcmVzdWx0ID0gYXdhaXQgdGhpcy5jb250ZXh0LmlubGluZUNvbmZpcm1BY3Rpb24hKCk7XHJcblxyXG4gICAgdGhpcy5zdGF0dXMuc2V0U3RhdHVzKCdub0RhdGEnLCByZXN1bHQubWVzc2FnZSwge1xyXG4gICAgICBpZDogJ2lubGluZUNvbmZpcm1DbG9zZScsXHJcbiAgICAgIGxhYmVsOiAnQ2xvc2UnLFxyXG4gICAgICBpY29uOiByZXN1bHQuaXNTdWNjZXNzID8gJ2ljb24tY2hlY2stY2lyY2xlJyA6ICdpY29uLWVycm9yJyxcclxuICAgICAgY2xhc3NsaXN0OiByZXN1bHQuaXNTdWNjZXNzID8gJ2ZvbnQtY29sb3Itc3VjY2VzcycgOiAnZm9udC1jb2xvci1lcnJvcicsXHJcbiAgICAgIG9uQ2xpY2s6ICgpID0+IHsgcmVzdWx0LmlzU3VjY2VzcyA/IHRoaXMub25EaWFsb2dTYXZlLmVtaXQodGhpcy5jb250ZXh0KSA6IHRoaXMub25EaWFsb2dDYW5jZWwuZW1pdCgpIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8c2VjdGlvbiBlY092ZXJsYXlcclxuICAgICAgICAgW3N0YXR1c109XCJzdGF0dXM/LnN0YXR1c1wiXHJcbiAgICAgICAgIFttZXNzYWdlXT1cInN0YXR1cz8ubWVzc2FnZVwiXHJcbiAgICAgICAgIFthY3Rpb25dPVwic3RhdHVzPy5hY3Rpb25cIlxyXG4gICAgICAgICBbbm9EYXRhVGVtcGxhdGVdPVwiaW5saW5lQ29uZmlybVJlc3VsdFwiXHJcbiAgICAgICAgIG92ZXJsYXlDbGFzc0xpc3Q9XCJwLTBcIlxyXG4gICAgICAgICBjbGFzcz1cImJnLWJvZHkgZmxleC1ncm93IGQtZmxleFwiPlxyXG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgY2xhc3M9XCJmbGV4LWdyb3cgZmxleC1jb2x1bW4gY29uZmlybS1jb250ZW50IHRleHQtYm9keS0xXCI+XHJcbiAgICA8c2VjdGlvbiBjbGFzcz1cImZsZXgtZ3Jvd1wiPlxyXG4gICAgICA8aDIgY2xhc3M9XCJmb250LXdlaWdodC1ib2xkIG1iLTNcIiAqbmdJZj1cImNvbnRleHQ/LnRpdGxlXCI+e3tjb250ZXh0Py50aXRsZX19PC9oMj5cclxuICAgICAgPGVjLWJhbm5lciAqbmdJZj1cImVycm9yXCIgW3RleHRdPVwiZXJyb3IgfCB0cmFuc2xhdGVcIiBiYW5uZXJTdHlsZT1cIm5vcm1hbFwiIGNsYXNzPVwibWItM1wiPjwvZWMtYmFubmVyPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiY29udGV4dD8ubWVzc2FnZVwiIFtpbm5lckh0bWxdPVwiY29udGV4dD8ubWVzc2FnZSB8IHRyYW5zbGF0ZVwiIGNsYXNzPVwibWItM1wiPjwvZGl2PlxyXG4gICAgICBcclxuICAgICAgPGVjLWNoZWNrYm94ICpuZ0lmPVwiY29udGV4dD8uY2hlY2tDb25maXJtXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybU1vZGVsXT1cImZvcm1Hcm91cC5nZXQoJ2NoZWNrYm94JylcIlxyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJjb25maXJtQ2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjb250ZXh0Py5jaGVja2JveFRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFthdXRvZm9jdXNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvZWMtY2hlY2tib3g+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJzaG93VGV4dEJveFwiIFtpbm5lckh0bWxdPVwiY29udGV4dC5jb25maXJtTGFiZWxcIiBjbGFzcz1cIm1iLTNcIj48L2Rpdj5cclxuICAgICAgPGVjLXRleHRib3ggaWQ9XCJjb25maXJtVGV4dGJveFwiXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiKGNvbnRleHQ/LnRleHRib3hUeXBlICYmICFjb250ZXh0Py5jaGVja0NvbmZpcm0pIHx8IHNob3dUZXh0Qm94XCJcclxuICAgICAgICAgICAgICAgICAgW2F1dG9mb2N1c109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW2Zvcm1Nb2RlbF09XCJmb3JtR3JvdXAuZ2V0KCd0ZXh0Ym94JylcIlxyXG4gICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiY29udGV4dD8udGV4dGJveFJlcXVpcmVkXCJcclxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImNvbnRleHQ/LnRleHRib3hMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImNvbnRleHQ/LnRleHRib3hUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgW3Jvd3NdPVwiY29udGV4dD8udGV4dGFyZWFSb3dzXCJcclxuICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbnRleHQ/LnRleHRib3hQbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgICAgICAgIFt1cHBlckNhc2VdPVwiY29udGV4dD8udGV4dGJveFVwcGVyY2FzZVwiPlxyXG4gICAgICA8L2VjLXRleHRib3g+XHJcbiAgICA8L3NlY3Rpb24+XHJcbiAgICA8Zm9vdGVyIGNsYXNzPVwibXQtYXV0byBmbGV4LXNocmluayBkLWZsZXggcHktMiBmbGV4LXJvdy1yZXZlcnNlXCI+XHJcbiAgICAgIDxlYy1idXR0b24gaWQ9XCJzYXZlQ29uZmlybUJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtMlwiXHJcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImNvbnRleHQ/LnNhdmVCdXR0b25UeXBlID8gY29udGV4dD8uc2F2ZUJ1dHRvblR5cGUgOiAncHJpbWFyeSdcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY29udGV4dD8uc2F2ZUxhYmVsID8gY29udGV4dD8uc2F2ZUxhYmVsIDogJ1NhdmUnXCJcclxuICAgICAgICAgICAgICAgICAgW2F1dG9mb2N1c109XCIhY29udGV4dD8udGV4dGJveFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICBbaXNTdWJtaXRdPVwiY29udGV4dD8uc2F2ZU9uRW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvblNhdmUoJ3ByaW1hcnknKVwiPlxyXG4gICAgICA8L2VjLWJ1dHRvbj5cclxuICAgICAgPGVjLWJ1dHRvbiBpZD1cImFsdGVybmF0ZVNhdmVDb25maXJtQnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb250ZXh0Py5hbHRlcm5hdGVTYXZlTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLTJcIlxyXG4gICAgICAgICAgICAgICAgICBbdHlwZV09XCJjb250ZXh0Py5hbHRlcm5hdGVTYXZlQnV0dG9uVHlwZSA/IGNvbnRleHQ/LmFsdGVybmF0ZVNhdmVCdXR0b25UeXBlIDogJ3ByaW1hcnknXCJcclxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImNvbnRleHQ/LmFsdGVybmF0ZVNhdmVMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uU2F2ZSgnYWx0ZXJuYXRlJylcIj5cclxuICAgICAgPC9lYy1idXR0b24+XHJcbiAgICAgIDxlYy1idXR0b24gICpuZ0lmPVwiIWNvbnRleHQ/LmhpZGVDYW5jZWxcIlxyXG4gICAgICAgICAgICAgICAgICBpZD1cImNhbmNlbENvbmZpcm1CdXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwic2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImNvbnRleHQ/LmNhbmNlbExhYmVsID8gY29udGV4dD8uY2FuY2VsTGFiZWwgOiAnQ2FuY2VsJ1wiXHJcbiAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2FuY2VsKClcIj5cclxuICAgICAgPC9lYy1idXR0b24+XHJcbiAgICA8L2Zvb3Rlcj5cclxuICA8L2Zvcm0+XHJcbjwvc2VjdGlvbj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaW5saW5lQ29uZmlybVJlc3VsdD5cclxuICA8c2VjdGlvbiBjbGFzcz1cImZsZXgtZ3JvdyBhbGlnbi1zZWxmLXN0cmV0Y2ggY29uZmlybS1jb250ZW50IHRleHQtYm9keS0xXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiZWMtaWNvbiB7e3N0YXR1cz8uYWN0aW9uPy5pY29ufX0ge3tzdGF0dXM/LmFjdGlvbj8uY2xhc3NsaXN0fX0gaW5saW5lLWNvbmZpcm0tcmVzdWx0LWljb25cIj48L2k+XHJcbiAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzdGF0dXM/Lm1lc3NhZ2UgfCB0cmFuc2xhdGVcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBwdC0yIG10LWF1dG9cIj5cclxuICAgICAgPGVjLWJ1dHRvbiBpZD1cImlubGluZUNvbmZpcm1DbG9zZVwiXHJcbiAgICAgICAgICAgICAgICAgbGFiZWw9XCJDbG9zZVwiXHJcbiAgICAgICAgICAgICAgICAgdHlwZT1cInNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC1hdXRvXCJcclxuICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJzdGF0dXM/LmFjdGlvbj8ub25DbGljayEoKVwiXHJcbiAgICAgICAgICAgICAgICAgW2F1dG9mb2N1c109XCJ0cnVlXCI+XHJcbiAgICAgIDwvZWMtYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9zZWN0aW9uPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS9kaWFsb2cvZGlhbG9nLWNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vKipcclxuICogVGhpcyBpbnRlcmZhY2UgcmVwcmVzZW50cyB0aGUgY29udHJhY3QgYmV0d2VlbiB0aGUgZGlhbG9nIGNvbXBvbmVudCAodGhlIFwic2hlbGxcIiBhcm91bmQgdGhhdCBtYXNrcyB0aGUgYmFja2dyb3VuZCkgXHJcbiAqIGFuZCB0aGUgYm9keSBvZiB0aGUgZGlhbG9nIHdoaWNoIGNhbiBiZSBhbG1vc3QgYW55IGNvbXBvbmVudC4gSXQgZXhwb3NlcyBhIHdheSBmb3IgdXMgdG8gcGFzcyBkYXRhIGludG8gYW5kIG91dCBvZlxyXG4gKiB0aGUgYm9keSBmcm9tIHRoZSBob3N0aW5nIHBhZ2Ugd2l0aCBzdHJvbmcgdHlwZSBpbmZvcm1hdGlvbiBcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nQ29udGVudDxUPiB7XHJcbiAgLyoqIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgaW1wbGVtZW50aW5nIGNsYXNzLiAqL1xyXG4gIGRpYWxvZ0lkOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBkYXRhIHRoYXQgaXMgcGFzc2VkIHRvIHRoZSBpbm5lciBkaWFsb2cgY29tcG9uZW50IHdoZW4gaXQgb3BlbnMgZnJvbSB0aGUgaG9zdGluZyBwYWdlLiBcclxuICAgKiBXaWxsIGJlIGNhbGxlZCBiZWZvcmUgYW55IGFuZ3VsYXIgbGlmZWN5Y2xlIGhvb2tzLlxyXG4gICAqL1xyXG4gIG9uT3Blbj86IChvcGVuQ29udGV4dD86IFQpID0+IHZvaWQ7XHJcblxyXG4gIC8qKiBBbiBldmVudCBlbWl0dGVyIHRoYXQgd2lsbCBlbWl0IGFuIGV2ZW50IHdoZW4gdGhlIGRpYWxvZyBhY3Rpb24gaGFzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkgKi9cclxuICBvbkRpYWxvZ1NhdmU6IEV2ZW50RW1pdHRlcjxUPjtcclxuXHJcbiAgLyoqIEFuIGV2ZW50IGVtaXR0ZXIgdGhhdCB3aWxsIGVtaXQgYW4gZXZlbnQgd2hlbiB0aGUgZGlhbG9nIGFjdGlvbiBoYXMgYmVlbiBjYW5jZWxlZCAqL1xyXG4gIG9uRGlhbG9nQ2FuY2VsOiBFdmVudEVtaXR0ZXI8dm9pZD47XHJcbn1cclxuIl19
@@ -1,63 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { filter, takeUntil } from 'rxjs/operators';
4
- import { DialogCloseEvent, DialogCloseLatestEvent, DialogOpenStartEvent } from '../dialog-types';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../dialog.service";
7
- import * as i2 from "@angular/common";
8
- import * as i3 from "../dialog.component";
9
- export class DialogGroupComponent {
10
- constructor(dialogService) {
11
- this.dialogService = dialogService;
12
- this.activeDialogEvents = [];
13
- this.destroyed = new Subject();
14
- }
15
- /**When the group component is created, start watching for any DialogOpenStart events
16
- * so that the group can react and make the matching dialog. New dialogs get assigned unique
17
- * eventIds so that when they close we know exactly which one is done and we can take it
18
- * out of the list of active dialogs
19
- */
20
- ngOnInit() {
21
- this.dialogService.events.pipe(filter(event => event instanceof DialogOpenStartEvent || event instanceof DialogCloseLatestEvent), takeUntil(this.destroyed)).subscribe(event => {
22
- if (event instanceof DialogOpenStartEvent) {
23
- this.activeDialogEvents.push(event);
24
- }
25
- else if (event instanceof DialogCloseLatestEvent && this.activeDialogEvents.length > 0) {
26
- let sourceEvent = this.activeDialogEvents[this.activeDialogEvents.length - 1];
27
- this.dialogService.triggerEvent(new DialogCloseEvent(sourceEvent.eventId, sourceEvent.dialogId, event.dialogResult?.save, event.dialogResult?.context));
28
- this.dialogClosed(sourceEvent);
29
- }
30
- });
31
- }
32
- /** When the dialog group is destroyed we no longer want to listen for any open events. */
33
- ngOnDestroy() {
34
- this.destroyed.next();
35
- this.destroyed.unsubscribe();
36
- }
37
- /**The dialog component completed opening (including animation delay) and
38
- * emits an event that tells us it is ready. The group can then pump out a dialog
39
- * openEnd event (kinda NavigationEnd in the router) to tell anybody who cares that
40
- * the dialog is now ready.
41
- */
42
- dialogOpened(dialogOpenEvent, dialogId) {
43
- dialogOpenEvent.dialogId = dialogId;
44
- }
45
- /** The dialog has closed (after animation delay) and emitted an event to tell the hosting component.
46
- * We handle the event and pump a matching DialogCloseEvent so that anybody who cares can know that the
47
- * dialog instance referenced by dialogOpenEvent.eventId is gone now. We remove it from our list of
48
- * active dialogs which pulls it out of the DOM too
49
- */
50
- dialogClosed(dialogOpenEvent) {
51
- const index = this.activeDialogEvents.findIndex(d => d === dialogOpenEvent);
52
- if (index >= 0) {
53
- this.activeDialogEvents.splice(index, 1);
54
- }
55
- }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DialogGroupComponent, deps: [{ token: i1.DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
57
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DialogGroupComponent, selector: "ec-dialog-group", ngImport: i0, template: "<ec-dialog *ngFor=\"let dialog of activeDialogEvents\"\r\n [dialogOpenStartEventId]=\"dialog.eventId\"\r\n [size]=\"dialog.options?.size\"\r\n [content]=\"dialog.content\"\r\n [context]=\"dialog.context\"\r\n [options]=\"dialog.options\"\r\n (opened)=\"dialogOpened(dialog, $event)\"\r\n (closed)=\"dialogClosed(dialog)\">\r\n</ec-dialog>", styles: ["ec-dialog:not(:only-child){--ec-dialog-background-color: transparent}ec-dialog:not(:only-child):last-child,ec-dialog:not(:only-child):nth-last-child(2){--ec-dialog-background-color: var(--ec-background-color-dialog-stacked)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.DialogComponent, selector: "ec-dialog", inputs: ["size", "content", "context", "options", "dialogOpenStartEventId"], outputs: ["opened", "closed"] }] }); }
58
- }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DialogGroupComponent, decorators: [{
60
- type: Component,
61
- args: [{ selector: 'ec-dialog-group', template: "<ec-dialog *ngFor=\"let dialog of activeDialogEvents\"\r\n [dialogOpenStartEventId]=\"dialog.eventId\"\r\n [size]=\"dialog.options?.size\"\r\n [content]=\"dialog.content\"\r\n [context]=\"dialog.context\"\r\n [options]=\"dialog.options\"\r\n (opened)=\"dialogOpened(dialog, $event)\"\r\n (closed)=\"dialogClosed(dialog)\">\r\n</ec-dialog>", styles: ["ec-dialog:not(:only-child){--ec-dialog-background-color: transparent}ec-dialog:not(:only-child):last-child,ec-dialog:not(:only-child):nth-last-child(2){--ec-dialog-background-color: var(--ec-background-color-dialog-stacked)}\n"] }]
62
- }], ctorParameters: () => [{ type: i1.DialogService }] });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L2RpYWxvZy9kaWFsb2ctZ3JvdXAvZGlhbG9nLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L2RpYWxvZy9kaWFsb2ctZ3JvdXAvZGlhbG9nLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFRakcsTUFBTSxPQUFPLG9CQUFvQjtJQUsvQixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUhoRCx1QkFBa0IsR0FBZ0MsRUFBRSxDQUFDO1FBQzdDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRVksQ0FBQztJQUVyRDs7OztPQUlHO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDNUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLG9CQUFvQixJQUFJLEtBQUssWUFBWSxzQkFBc0IsQ0FBQyxFQUNqRyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQixJQUFHLEtBQUssWUFBWSxvQkFBb0IsRUFBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQWtDLENBQUMsQ0FBQztZQUNuRSxDQUFDO2lCQUFNLElBQUcsS0FBSyxZQUFZLHNCQUFzQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hGLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUM5RSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ3hKLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDakMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDBGQUEwRjtJQUMxRixXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLGVBQTBDLEVBQUUsUUFBZ0I7UUFDdkUsZUFBZSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxZQUFZLENBQUMsZUFBMEM7UUFDckQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxlQUFlLENBQUMsQ0FBQztRQUU1RSxJQUFHLEtBQUssSUFBRyxDQUFDLEVBQUMsQ0FBQztZQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDOytHQXJEVSxvQkFBb0I7bUdBQXBCLG9CQUFvQix1RENYakMsMFpBUVk7OzRGREdDLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IERpYWxvZ0Nsb3NlRXZlbnQsIERpYWxvZ0Nsb3NlTGF0ZXN0RXZlbnQsIERpYWxvZ09wZW5TdGFydEV2ZW50IH0gZnJvbSAnLi4vZGlhbG9nLXR5cGVzJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uL2RpYWxvZy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWMtZGlhbG9nLWdyb3VwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kaWFsb2ctZ3JvdXAuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIGFjdGl2ZURpYWxvZ0V2ZW50czogRGlhbG9nT3BlblN0YXJ0RXZlbnQ8YW55PltdID0gW107XHJcbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UpIHsgfVxyXG5cclxuICAvKipXaGVuIHRoZSBncm91cCBjb21wb25lbnQgaXMgY3JlYXRlZCwgc3RhcnQgd2F0Y2hpbmcgZm9yIGFueSBEaWFsb2dPcGVuU3RhcnQgZXZlbnRzXHJcbiAgICogc28gdGhhdCB0aGUgZ3JvdXAgY2FuIHJlYWN0IGFuZCBtYWtlIHRoZSBtYXRjaGluZyBkaWFsb2cuIE5ldyBkaWFsb2dzIGdldCBhc3NpZ25lZCB1bmlxdWVcclxuICAgKiBldmVudElkcyBzbyB0aGF0IHdoZW4gdGhleSBjbG9zZSB3ZSBrbm93IGV4YWN0bHkgd2hpY2ggb25lIGlzIGRvbmUgYW5kIHdlIGNhbiB0YWtlIGl0XHJcbiAgICogb3V0IG9mIHRoZSBsaXN0IG9mIGFjdGl2ZSBkaWFsb2dzXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuZXZlbnRzLnBpcGUoXHJcbiAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIERpYWxvZ09wZW5TdGFydEV2ZW50IHx8IGV2ZW50IGluc3RhbmNlb2YgRGlhbG9nQ2xvc2VMYXRlc3RFdmVudCksXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZClcclxuICAgICkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcclxuICAgICAgaWYoZXZlbnQgaW5zdGFuY2VvZiBEaWFsb2dPcGVuU3RhcnRFdmVudCl7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVEaWFsb2dFdmVudHMucHVzaChldmVudCBhcyBEaWFsb2dPcGVuU3RhcnRFdmVudDxhbnk+KTtcclxuICAgICAgfSBlbHNlIGlmKGV2ZW50IGluc3RhbmNlb2YgRGlhbG9nQ2xvc2VMYXRlc3RFdmVudCAmJiB0aGlzLmFjdGl2ZURpYWxvZ0V2ZW50cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgbGV0IHNvdXJjZUV2ZW50ID0gdGhpcy5hY3RpdmVEaWFsb2dFdmVudHNbdGhpcy5hY3RpdmVEaWFsb2dFdmVudHMubGVuZ3RoIC0gMV07XHJcbiAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnRyaWdnZXJFdmVudChuZXcgRGlhbG9nQ2xvc2VFdmVudChzb3VyY2VFdmVudC5ldmVudElkLCBzb3VyY2VFdmVudC5kaWFsb2dJZCwgZXZlbnQuZGlhbG9nUmVzdWx0Py5zYXZlLCBldmVudC5kaWFsb2dSZXN1bHQ/LmNvbnRleHQpKTtcclxuICAgICAgICB0aGlzLmRpYWxvZ0Nsb3NlZChzb3VyY2VFdmVudCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqIFdoZW4gdGhlIGRpYWxvZyBncm91cCBpcyBkZXN0cm95ZWQgd2Ugbm8gbG9uZ2VyIHdhbnQgdG8gbGlzdGVuIGZvciBhbnkgb3BlbiBldmVudHMuICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3llZC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqVGhlIGRpYWxvZyBjb21wb25lbnQgY29tcGxldGVkIG9wZW5pbmcgKGluY2x1ZGluZyBhbmltYXRpb24gZGVsYXkpIGFuZFxyXG4gICAqIGVtaXRzIGFuIGV2ZW50IHRoYXQgdGVsbHMgdXMgaXQgaXMgcmVhZHkuIFRoZSBncm91cCBjYW4gdGhlbiBwdW1wIG91dCBhIGRpYWxvZ1xyXG4gICAqIG9wZW5FbmQgZXZlbnQgKGtpbmRhIE5hdmlnYXRpb25FbmQgaW4gdGhlIHJvdXRlcikgdG8gdGVsbCBhbnlib2R5IHdobyBjYXJlcyB0aGF0XHJcbiAgICogdGhlIGRpYWxvZyBpcyBub3cgcmVhZHkuXHJcbiAgICovXHJcbiAgZGlhbG9nT3BlbmVkKGRpYWxvZ09wZW5FdmVudDogRGlhbG9nT3BlblN0YXJ0RXZlbnQ8YW55PiwgZGlhbG9nSWQ6IHN0cmluZykge1xyXG4gICAgZGlhbG9nT3BlbkV2ZW50LmRpYWxvZ0lkID0gZGlhbG9nSWQ7XHJcbiAgfVxyXG5cclxuICAvKiogVGhlIGRpYWxvZyBoYXMgY2xvc2VkIChhZnRlciBhbmltYXRpb24gZGVsYXkpIGFuZCBlbWl0dGVkIGFuIGV2ZW50IHRvIHRlbGwgdGhlIGhvc3RpbmcgY29tcG9uZW50LlxyXG4gICAqIFdlIGhhbmRsZSB0aGUgZXZlbnQgYW5kIHB1bXAgYSBtYXRjaGluZyBEaWFsb2dDbG9zZUV2ZW50IHNvIHRoYXQgYW55Ym9keSB3aG8gY2FyZXMgY2FuIGtub3cgdGhhdCB0aGVcclxuICAgKiBkaWFsb2cgaW5zdGFuY2UgcmVmZXJlbmNlZCBieSBkaWFsb2dPcGVuRXZlbnQuZXZlbnRJZCBpcyBnb25lIG5vdy4gV2UgcmVtb3ZlIGl0IGZyb20gb3VyIGxpc3Qgb2ZcclxuICAgKiBhY3RpdmUgZGlhbG9ncyB3aGljaCBwdWxscyBpdCBvdXQgb2YgdGhlIERPTSB0b29cclxuICAgKi9cclxuICBkaWFsb2dDbG9zZWQoZGlhbG9nT3BlbkV2ZW50OiBEaWFsb2dPcGVuU3RhcnRFdmVudDxhbnk+KSB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuYWN0aXZlRGlhbG9nRXZlbnRzLmZpbmRJbmRleChkID0+IGQgPT09IGRpYWxvZ09wZW5FdmVudCk7XHJcbiAgICBcclxuICAgIGlmKGluZGV4ID49MCl7XHJcbiAgICAgIHRoaXMuYWN0aXZlRGlhbG9nRXZlbnRzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxlYy1kaWFsb2cgKm5nRm9yPVwibGV0IGRpYWxvZyBvZiBhY3RpdmVEaWFsb2dFdmVudHNcIlxyXG4gICAgICAgICAgIFtkaWFsb2dPcGVuU3RhcnRFdmVudElkXT1cImRpYWxvZy5ldmVudElkXCJcclxuICAgICAgICAgICBbc2l6ZV09XCJkaWFsb2cub3B0aW9ucz8uc2l6ZVwiXHJcbiAgICAgICAgICAgW2NvbnRlbnRdPVwiZGlhbG9nLmNvbnRlbnRcIlxyXG4gICAgICAgICAgIFtjb250ZXh0XT1cImRpYWxvZy5jb250ZXh0XCJcclxuICAgICAgICAgICBbb3B0aW9uc109XCJkaWFsb2cub3B0aW9uc1wiXHJcbiAgICAgICAgICAgKG9wZW5lZCk9XCJkaWFsb2dPcGVuZWQoZGlhbG9nLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAoY2xvc2VkKT1cImRpYWxvZ0Nsb3NlZChkaWFsb2cpXCI+XHJcbjwvZWMtZGlhbG9nPiJdfQ==
@@ -1,77 +0,0 @@
1
- import { uniqueId } from 'lodash';
2
- /**A base class from which all dialog events extend. This class models the dialog actions very much
3
- * like the Angular RouterEvents.
4
- */
5
- export class DialogEvent {
6
- constructor(
7
- /**A unique value representing this particular instance of the event, used to match open and close events together */
8
- eventId,
9
- /**The ID of the dialog itself, typically matching the DialogContent. Something like "DeleteConfirmation" or "EditReading" etc.
10
- * Useful for telemetry logging to track users opening and closing dialogs
11
- */
12
- dialogId = '',
13
- /** The action the dialog event represents. Can also be determined by using the class of the event with the
14
- * instanceof operator.
15
- */
16
- dialogAction = 'openStart') {
17
- this.eventId = eventId;
18
- this.dialogId = dialogId;
19
- this.dialogAction = dialogAction;
20
- }
21
- }
22
- /**Emitted when the dialog open has been triggered, but the dialog itself hasn't initialized yet.
23
- * This event creates its own unique identifier so that that particular instance of the dialog can be found
24
- * when closed later on. The context is used to fill the dialog itself, and may include state or callbacks.
25
- * Various options are available to change the dialog appearance. These events are generally created
26
- * by the @see DialogService.open() call
27
- */
28
- export class DialogOpenStartEvent extends DialogEvent {
29
- constructor(content, context, options) {
30
- super(uniqueId());
31
- this.content = content;
32
- this.context = context;
33
- this.options = options;
34
- }
35
- }
36
- /**Emitted when the dialog has finished opening and been properly initialized. It includes
37
- * the eventId, which uniquely identifies the particular instance of the dialog open event so that we can
38
- * close that specific dialog later on. The dialogId can be used for telemetry, and may be set to something
39
- * like "Confirm Delete" or "Edit Reading" etc.
40
- */
41
- export class DialogOpenEndEvent extends DialogEvent {
42
- constructor(eventId, dialogId) {
43
- super(eventId, dialogId, 'open');
44
- }
45
- }
46
- /**Emitted when the dialog close has completed and a result is available. Check result.save to know if the dialog change
47
- * was committed (true) or cancelled (false). Cancel can be set if the dialog was automatically closed by clicking in the
48
- * background or resizing the window when using the panel view or closeOnResize.
49
- */
50
- export class DialogCloseEvent extends DialogEvent {
51
- constructor(eventId, dialogId, save = false, context) {
52
- super(eventId, dialogId, 'close');
53
- this.dialogResult = new DialogResult(save, context);
54
- }
55
- }
56
- /**Used to tell the dialog group to close whatever dialog was opened most recently with the given result
57
- * This allows a TemplateRef based panel (that's not coming from DialogComponent) to close itself or
58
- * an external process to close a dialog that is open
59
- */
60
- export class DialogCloseLatestEvent extends DialogEvent {
61
- constructor(result) {
62
- super('latest', 'latest', 'closeLatest');
63
- this.dialogResult = result;
64
- }
65
- }
66
- /**
67
- * Returned when a dialog is closed.
68
- * Specifies if the dialog was saved and contains an optional context.
69
- */
70
- export class DialogResult {
71
- constructor(save, context) {
72
- this.save = save;
73
- this.context = context;
74
- }
75
- }
76
- ;
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvZGlhbG9nL2RpYWxvZy10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBR2xDOztHQUVHO0FBQ0YsTUFBTSxPQUFPLFdBQVc7SUFDdkI7SUFDRSxxSEFBcUg7SUFDOUcsT0FBZ0I7SUFFdkI7O01BRUU7SUFDSyxXQUFtQixFQUFFO0lBRTVCOztPQUVHO0lBQ0ksZUFBOEQsV0FBVztRQVZ6RSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBS2hCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFLckIsaUJBQVksR0FBWixZQUFZLENBQTZEO0lBQy9FLENBQUM7Q0FDTDtBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLG9CQUF3QixTQUFRLFdBQVc7SUFDdEQsWUFBbUIsT0FBa0QsRUFBUyxPQUFXLEVBQVMsT0FBdUI7UUFDdkgsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFERCxZQUFPLEdBQVAsT0FBTyxDQUEyQztRQUFTLFlBQU8sR0FBUCxPQUFPLENBQUk7UUFBUyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtJQUV6SCxDQUFDO0NBQ0Y7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQVc7SUFDakQsWUFBWSxPQUFnQixFQUFFLFFBQWlCO1FBQzdDLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7Q0FDRjtBQUVEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxnQkFBb0IsU0FBUSxXQUFXO0lBR2xELFlBQVksT0FBZ0IsRUFBRSxRQUFpQixFQUFFLElBQUksR0FBQyxLQUFLLEVBQUUsT0FBVztRQUN0RSxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksWUFBWSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0Y7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sc0JBQTBCLFNBQVEsV0FBVztJQUl4RCxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO0lBQzdCLENBQUM7Q0FDRjtBQTJERDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUFtQixJQUFhLEVBQVMsT0FBVztRQUFqQyxTQUFJLEdBQUosSUFBSSxDQUFTO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBSTtJQUFJLENBQUM7Q0FDMUQ7QUFBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBEaWFsb2dDb250ZW50IH0gZnJvbSAnLi9kaWFsb2ctY29udGVudCc7XHJcblxyXG4vKipBIGJhc2UgY2xhc3MgZnJvbSB3aGljaCBhbGwgZGlhbG9nIGV2ZW50cyBleHRlbmQuIFRoaXMgY2xhc3MgbW9kZWxzIHRoZSBkaWFsb2cgYWN0aW9ucyB2ZXJ5IG11Y2hcclxuICogbGlrZSB0aGUgQW5ndWxhciBSb3V0ZXJFdmVudHMuXHJcbiAqL1xyXG4gZXhwb3J0IGNsYXNzIERpYWxvZ0V2ZW50IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8qKkEgdW5pcXVlIHZhbHVlIHJlcHJlc2VudGluZyB0aGlzIHBhcnRpY3VsYXIgaW5zdGFuY2Ugb2YgdGhlIGV2ZW50LCB1c2VkIHRvIG1hdGNoIG9wZW4gYW5kIGNsb3NlIGV2ZW50cyB0b2dldGhlciAqL1xyXG4gICAgcHVibGljIGV2ZW50SWQ/OiBzdHJpbmcsIFxyXG5cclxuICAgIC8qKlRoZSBJRCBvZiB0aGUgZGlhbG9nIGl0c2VsZiwgdHlwaWNhbGx5IG1hdGNoaW5nIHRoZSBEaWFsb2dDb250ZW50LiBTb21ldGhpbmcgbGlrZSBcIkRlbGV0ZUNvbmZpcm1hdGlvblwiIG9yIFwiRWRpdFJlYWRpbmdcIiBldGMuIFxyXG4gICAgICogVXNlZnVsIGZvciB0ZWxlbWV0cnkgbG9nZ2luZyB0byB0cmFjayB1c2VycyBvcGVuaW5nIGFuZCBjbG9zaW5nIGRpYWxvZ3NcclxuICAgICovXHJcbiAgICBwdWJsaWMgZGlhbG9nSWQ6IHN0cmluZyA9ICcnLFxyXG5cclxuICAgIC8qKiBUaGUgYWN0aW9uIHRoZSBkaWFsb2cgZXZlbnQgcmVwcmVzZW50cy4gQ2FuIGFsc28gYmUgZGV0ZXJtaW5lZCBieSB1c2luZyB0aGUgY2xhc3Mgb2YgdGhlIGV2ZW50IHdpdGggdGhlXHJcbiAgICAgKiBpbnN0YW5jZW9mIG9wZXJhdG9yLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGlhbG9nQWN0aW9uOiAnb3BlblN0YXJ0JyB8J29wZW4nIHwgJ2Nsb3NlJyB8ICdjbG9zZUxhdGVzdCcgPSAnb3BlblN0YXJ0JyxcclxuICApIHt9XHJcbn1cclxuXHJcbi8qKkVtaXR0ZWQgd2hlbiB0aGUgZGlhbG9nIG9wZW4gaGFzIGJlZW4gdHJpZ2dlcmVkLCBidXQgdGhlIGRpYWxvZyBpdHNlbGYgaGFzbid0IGluaXRpYWxpemVkIHlldC5cclxuICogVGhpcyBldmVudCBjcmVhdGVzIGl0cyBvd24gdW5pcXVlIGlkZW50aWZpZXIgc28gdGhhdCB0aGF0IHBhcnRpY3VsYXIgaW5zdGFuY2Ugb2YgdGhlIGRpYWxvZyBjYW4gYmUgZm91bmRcclxuICogd2hlbiBjbG9zZWQgbGF0ZXIgb24uIFRoZSBjb250ZXh0IGlzIHVzZWQgdG8gZmlsbCB0aGUgZGlhbG9nIGl0c2VsZiwgYW5kIG1heSBpbmNsdWRlIHN0YXRlIG9yIGNhbGxiYWNrcy5cclxuICogVmFyaW91cyBvcHRpb25zIGFyZSBhdmFpbGFibGUgdG8gY2hhbmdlIHRoZSBkaWFsb2cgYXBwZWFyYW5jZS4gVGhlc2UgZXZlbnRzIGFyZSBnZW5lcmFsbHkgY3JlYXRlZFxyXG4gKiBieSB0aGUgQHNlZSBEaWFsb2dTZXJ2aWNlLm9wZW4oKSBjYWxsXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRGlhbG9nT3BlblN0YXJ0RXZlbnQ8VD4gZXh0ZW5kcyBEaWFsb2dFdmVudCB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGNvbnRlbnQ6IFR5cGU8RGlhbG9nQ29udGVudDxUPj4gfCBUZW1wbGF0ZVJlZjxhbnk+LCBwdWJsaWMgY29udGV4dD86IFQsIHB1YmxpYyBvcHRpb25zPzogRGlhbG9nT3B0aW9ucykge1xyXG4gICAgc3VwZXIodW5pcXVlSWQoKSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKipFbWl0dGVkIHdoZW4gdGhlIGRpYWxvZyBoYXMgZmluaXNoZWQgb3BlbmluZyBhbmQgYmVlbiBwcm9wZXJseSBpbml0aWFsaXplZC4gSXQgaW5jbHVkZXNcclxuICogdGhlIGV2ZW50SWQsIHdoaWNoIHVuaXF1ZWx5IGlkZW50aWZpZXMgdGhlIHBhcnRpY3VsYXIgaW5zdGFuY2Ugb2YgdGhlIGRpYWxvZyBvcGVuIGV2ZW50IHNvIHRoYXQgd2UgY2FuIFxyXG4gKiBjbG9zZSB0aGF0IHNwZWNpZmljIGRpYWxvZyBsYXRlciBvbi4gVGhlIGRpYWxvZ0lkIGNhbiBiZSB1c2VkIGZvciB0ZWxlbWV0cnksIGFuZCBtYXkgYmUgc2V0IHRvIHNvbWV0aGluZyBcclxuICogbGlrZSBcIkNvbmZpcm0gRGVsZXRlXCIgb3IgXCJFZGl0IFJlYWRpbmdcIiBldGMuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRGlhbG9nT3BlbkVuZEV2ZW50IGV4dGVuZHMgRGlhbG9nRXZlbnQge1xyXG4gIGNvbnN0cnVjdG9yKGV2ZW50SWQ/OiBzdHJpbmcsIGRpYWxvZ0lkPzogc3RyaW5nKSB7XHJcbiAgICBzdXBlcihldmVudElkLCBkaWFsb2dJZCwgJ29wZW4nKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKkVtaXR0ZWQgd2hlbiB0aGUgZGlhbG9nIGNsb3NlIGhhcyBjb21wbGV0ZWQgYW5kIGEgcmVzdWx0IGlzIGF2YWlsYWJsZS4gQ2hlY2sgcmVzdWx0LnNhdmUgdG8ga25vdyBpZiB0aGUgZGlhbG9nIGNoYW5nZVxyXG4gKiB3YXMgY29tbWl0dGVkICh0cnVlKSBvciBjYW5jZWxsZWQgKGZhbHNlKS4gQ2FuY2VsIGNhbiBiZSBzZXQgaWYgdGhlIGRpYWxvZyB3YXMgYXV0b21hdGljYWxseSBjbG9zZWQgYnkgY2xpY2tpbmcgaW4gdGhlIFxyXG4gKiBiYWNrZ3JvdW5kIG9yIHJlc2l6aW5nIHRoZSB3aW5kb3cgd2hlbiB1c2luZyB0aGUgcGFuZWwgdmlldyBvciBjbG9zZU9uUmVzaXplLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIERpYWxvZ0Nsb3NlRXZlbnQ8VD4gZXh0ZW5kcyBEaWFsb2dFdmVudCB7XHJcbiAgLyoqVGhlIHJlc3VsdCBvZiB0aGUgZGlhbG9nIGV2ZW50LCBpbmNsdWRpbmcgd2VhdGhlciBpdCB3YXMgc2F2ZWQgb3IgY2FuY2VsbGVkIGFuZCB0aGUgY29udGV4dCdzIGZpbmFsIHN0YXRlKi9cclxuICBwdWJsaWMgZGlhbG9nUmVzdWx0OiBEaWFsb2dSZXN1bHQ8YW55PjtcclxuICBjb25zdHJ1Y3RvcihldmVudElkPzogc3RyaW5nLCBkaWFsb2dJZD86IHN0cmluZywgc2F2ZT1mYWxzZSwgY29udGV4dD86IFQpIHtcclxuICAgIHN1cGVyKGV2ZW50SWQsIGRpYWxvZ0lkLCAnY2xvc2UnKTtcclxuICAgIHRoaXMuZGlhbG9nUmVzdWx0ID0gbmV3IERpYWxvZ1Jlc3VsdChzYXZlLCBjb250ZXh0KTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlVzZWQgdG8gdGVsbCB0aGUgZGlhbG9nIGdyb3VwIHRvIGNsb3NlIHdoYXRldmVyIGRpYWxvZyB3YXMgb3BlbmVkIG1vc3QgcmVjZW50bHkgd2l0aCB0aGUgZ2l2ZW4gcmVzdWx0XHJcbiAqIFRoaXMgYWxsb3dzIGEgVGVtcGxhdGVSZWYgYmFzZWQgcGFuZWwgKHRoYXQncyBub3QgY29taW5nIGZyb20gRGlhbG9nQ29tcG9uZW50KSB0byBjbG9zZSBpdHNlbGYgb3IgXHJcbiAqIGFuIGV4dGVybmFsIHByb2Nlc3MgdG8gY2xvc2UgYSBkaWFsb2cgdGhhdCBpcyBvcGVuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRGlhbG9nQ2xvc2VMYXRlc3RFdmVudDxUPiBleHRlbmRzIERpYWxvZ0V2ZW50IHtcclxuICAvKipUaGUgcmVzdWx0IG9mIHRoZSBkaWFsb2cgZXZlbnQsIGluY2x1ZGluZyB3ZWF0aGVyIGl0IHdhcyBzYXZlZCBvciBjYW5jZWxsZWQgYW5kIHRoZSBjb250ZXh0J3MgZmluYWwgc3RhdGUqL1xyXG4gIHB1YmxpYyBkaWFsb2dSZXN1bHQ6IERpYWxvZ1Jlc3VsdDxhbnk+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZXN1bHQ6IERpYWxvZ1Jlc3VsdDxUPikge1xyXG4gICAgc3VwZXIoJ2xhdGVzdCcsICdsYXRlc3QnLCAnY2xvc2VMYXRlc3QnKTtcclxuICAgIHRoaXMuZGlhbG9nUmVzdWx0ID0gcmVzdWx0O1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFRoaXMgaW50ZXJmYWNlIHNwZWNpZmllcyBleHRyYSBvcHRpb25zIHRvIGNvbmZpZ3VyZSBiZWhhdmlvciBvZiB0aGUgRGlhbG9nIENvbXBvbmVudFxyXG4gKi9cclxuIGV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nT3B0aW9ucyB7XHJcbiAgLyoqXHJcbiAgICogRnVuY3Rpb24gdG8gZXhlY3V0ZSBiZWZvcmUgZGlhbG9nIG9wZW5zLiAgTGVhdmUgYHVuZGVmaW5lZGAgb3IgcmV0dXJuIHRydWUgdG8gYWxsb3dcclxuICAgKiBkaWFsb2cgdG8gb3Blbi5cclxuICAgKlxyXG4gICAqIENhbiBiZSB1c2VkIHRvIGNoZWNrIGZvciB1bnNhdmVkIGNoYW5nZXMgb24gdGhlIHVuZGVybHlpbmcgcGFnZSBiZWZvcmUgb3BlbmluZy5cclxuICAgKlxyXG4gICAqIEBleGFtcGxlXHJcbiAgICAgY29uc3RydWN0b3IoIHByaXZhdGUgdW5zYXZlZENoYW5nZXNHdWFyZDogQ2FuRGVhY3RpdmF0ZVVuc2F2ZWRDaGFuZ2VzR3VhcmQgKXt9O1xyXG4gICAgIC8vLi4uXHJcbiAgICAgY29uc3Qgb3B0aW9uczogRGlhbG9nT3B0aW9ucyA9IHsgY2FuT3BlbkRpYWxvZzogdGhpcy51bnNhdmVkQ2hhbmdlc0d1YXJkLmNhbkRlYWN0aXZhdGUgfTtcclxuICAgKi9cclxuICBjYW5PcGVuRGlhbG9nPzogKCkgPT4gUHJvbWlzZTxib29sZWFuPjtcclxuXHJcbiAgLyoqIENvbmZpZ3VyZXMgd2hlbiB0aGUgZGlhbG9nIGVtaXRzIGl0cyByZXN1bHQgaW4gcmVsYXRpb24gdG8gYSBjbG9zaW5nIGFuaW1hdGlvbiBldmVudCAqL1xyXG4gIGVtaXRSZXN1bHRPbj86IERpYWxvZ0FuaW1hdGlvbkV2ZW50O1xyXG5cclxuICAvKiogRGlzcGxheSB0aGUgZGlhbG9nIGFzIGEgc2lkZSBwYW5lbCB0aGF0IHNsaWRlcyBpbiAqL1xyXG4gIGRpc3BsYXlBc1BhbmVsPzogYm9vbGVhbjtcclxuXHJcbiAgLyoqIFNldCB0aGUgZGlhbG9nIG1hc2sgY29sb3IgdG8gdHJhbnNwYXJlbnQuIERlZmF1bHRzIHRvIHRydWUgd2hlbiBkaWFsb2cgaXMgZGlzcGxheWVkIGFzIGEgcGFuZWwgKi9cclxuICB0cmFuc3BhcmVudE1hc2s/OiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhlIGRpYWxvZyBtYXNrIHRvIG5vdCBkaXNwbGF5IGF0IGFsbC4gQWxsb3dzIHRoZSB1c2VyIHRvIGNsaWNrIG9uIGVsZW1lbnRzIGJlaGluZCB0aGUgZGlhbG9nLlxyXG4gICAqIE9ubHkgYXBwbGljYWJsZSB3aGVuIGRpc3BsYXlBc1BhbmVsIGlzIHRydWUuXHJcbiAgICogRGVmYXVsdHMgdG8gZmFsc2UuXHJcbiAgICovXHJcbiAgbm9NYXNrPzogYm9vbGVhbjtcclxuXHJcbiAgLyoqIEFsaWduIHRoZSBkaWFsb2cgd2luZG93IHRvIHRoZSB0b3AgaW5zdGVhZCBvZiBjZW50ZXJlZC4gKi9cclxuICBhbGlnblRvVG9wPzogYm9vbGVhbjtcclxuXHJcbiAgLyoqIFNldCB0aGUgdG9wIG1hcmdpbiBvZiB0aGUgZGlhbG9nIHdpbmRvdy4gT25seSB0YWtlcyBlZmZlY3QgaWYgYWxpZ25Ub1RvcCBpcyB0cnVlLlxyXG4gICAqIE11c3QgaW5jbHVkZSB1bml0cywgaS5lLiBcIjMycmVtXCIgb3IgXCIxMHZoXCJcclxuICAgKi9cclxuICBhbGlnblRvVG9wTWFyZ2luPzogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgdG8gdHJ1ZSBpZiB0aGUgZGlhbG9nIHNob3VsZCBhdXRvbWF0aWNhbGx5IGNsb3NlIHdoZW4gdGhlIHdpbmRvdyBpcyByZXNpemVkLlxyXG4gICAqIFRoaXMgaXMgdXNlZnVsIGlmIHlvdSBhcmUgY29uZGl0aW9uYWxseSBzaG93aW5nL2hpZGluZyB0aGUgZGlhbG9nIGNvbnRlbnQgYXMgYSBzdGF0aWMgcGFydCBvZiB0aGUgcGFnZVxyXG4gICAqIHdoZW4gdGhlIHNjcmVlbiBnZXRzIHdpZGUgZW5vdWdoXHJcbiAgICovXHJcbiAgY2xvc2VPblJlc2l6ZT86IGJvb2xlYW47XHJcblxyXG4gIHNpemU/OiBEaWFsb2dTaXplO1xyXG5cclxuICAvKipcclxuICAgKiBVc2VkIHRvIHNwZWNpZnkgYSBjdXN0b20gbWluLXdpZHRoIG9mIHRoZSBkaWFsb2cuIE9ubHkgdGFrZXMgZWZmZWN0IGlmIHNpemUgaXMgc2V0IHRvIGR5bmFtaWMuXHJcbiAgICogTXVzdCBpbmNsdWRlIHVuaXRzLCBpLmUuIFwiMzJyZW1cIiBvciBcIjY0MHB4XCJcclxuICAgKi9cclxuICBtaW5XaWR0aD86IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybmVkIHdoZW4gYSBkaWFsb2cgaXMgY2xvc2VkLlxyXG4gKiBTcGVjaWZpZXMgaWYgdGhlIGRpYWxvZyB3YXMgc2F2ZWQgYW5kIGNvbnRhaW5zIGFuIG9wdGlvbmFsIGNvbnRleHQuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRGlhbG9nUmVzdWx0PFQ+IHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc2F2ZTogYm9vbGVhbiwgcHVibGljIGNvbnRleHQ/OiBUKSB7IH1cclxufTtcclxuXHJcblxyXG4vKiogT3B0aW9ucyBmb3Igc2l6ZSBvZiBkaWFsb2cgKi9cclxuZXhwb3J0IHR5cGUgRGlhbG9nU2l6ZSA9IG51bWJlciB8ICd4c21hbGwnIHwgJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICd4bGFyZ2UnIHwgJ2Z1bGwnIHwgJ2R5bmFtaWMnO1xyXG5cclxuLyoqXHJcbiAqIERpYWxvZyBBbmltYXRpb24gRXZlbnRzOlxyXG4gKiAtIEJlZ2luQ2xvc2U6IFdoZW4gdGhlIGNsb3NlIGFuaW1hdGlvbiBzdGFydHMuXHJcbiAqIC0gRW5kQ2xvc2U6IFdoZW4gdGhlIGNsb3NlIGFuaW1hdGlvbiBmaW5pc2hlc1xyXG4gKi9cclxuZXhwb3J0IHR5cGUgRGlhbG9nQW5pbWF0aW9uRXZlbnQgPSAnQmVnaW5DbG9zZScgfCAnRW5kQ2xvc2UnXHJcbiJdfQ==