@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,228 +0,0 @@
1
- import moment from 'moment';
2
- /**
3
- * Helper class that provides common date constants and helpful date functions
4
- */
5
- export class DateTimeHelper {
6
- ///////////////////////////////////////////////////////
7
- // CONSTANTS
8
- ///////////////////////////////////////////////////////
9
- static { this.beginningOfTime = new Date(1899, 11, 31); }
10
- /** 3000-01-01 */
11
- static { this.endOfTime = new Date(3000, 0, 1); }
12
- /** 3000-01-01 UTC */
13
- static { this.endOfTimeUTC = moment.utc('3000-01-01').toDate(); }
14
- /** Default effective date for new AccountMeter relationships: 2010-01-01 */
15
- static { this.defaultAccountMeterEffectiveDate = new Date(2010, 0, 1); }
16
- /** The default date that a newly created account becomes effective: 2010-01-01 */
17
- static { this.defaultAccountServiceEffectiveDate = new Date(2010, 0, 1); }
18
- /** Minimum date for all datepickers: 1980-01-01 */
19
- static { this.minDatePickerDate = new Date(1980, 0, 1); }
20
- /** Maximum date for all datepickers: 3000-01-01 11:59:59 PM to allow for local time offset working in for 3000-01-01 dates, which we store in the db to represent "end of time" */
21
- static { this.maxDatePickerDate = new Date(3000, 0, 1, 23, 59, 59); }
22
- /** Timestamp formats */
23
- static { this.defaultDateFormat = "yyyy-MM-dd"; }
24
- static { this.defaultTimeFormat = "HH:mm:ss"; }
25
- static { this.defaultTimestampFormat = `${DateTimeHelper.defaultDateFormat} ${DateTimeHelper.defaultTimeFormat}`; }
26
- /** List of valid bill import date formats
27
- * Warning! Do not use these for actual formatting of dates
28
- */
29
- static { this.billImportFormatDateFormats = [
30
- { label: "mm/dd/yyyy", value: "mm/dd/yyyy" }, { label: "Month dd yyyy", value: "Month dd yyyy" },
31
- { label: "dd/mm/yyyy", value: "dd/mm/yyyy" }, { label: "dd Month yyyy", value: "dd Month yyyy" }, { label: "yyyymmdd", value: "yyyymmdd" }
32
- ]; }
33
- /**
34
- * User input formats that we will parse into a date
35
- * when the users date format preference has month before day
36
- */
37
- static { this.monthFirstParseFormats = [
38
- "yyyy/MM/dd",
39
- "MM/dd/yyyy",
40
- "MMddyyyy",
41
- "MM/dd/yy",
42
- "MMddyy",
43
- "MM/dd",
44
- "yyyy.MM.dd",
45
- "MM.dd.yyyy",
46
- "MM.dd.yy",
47
- "MM.dd",
48
- "yyyy-MM-dd",
49
- "MM-dd-yyyy",
50
- "MM-dd-yy",
51
- "MM-dd",
52
- "yyyyMMdd"
53
- ]; }
54
- /**
55
- * User input formats that we will parse into a date
56
- * when the users date format preference has month before day.
57
- * To be used with moment.js. Moment ignores non-alphanumeric characters
58
- * so dates like 2020/09/10 will be parsed the same as 2020-09-10
59
- */
60
- static { this.momentMonthFirstParseFormats = [
61
- 'M-D',
62
- 'MM-DD',
63
- 'M-D-YY',
64
- 'MM-DD-YY',
65
- 'MMDDYYYY',
66
- 'YYYYMMDD',
67
- 'YYYY-MM-DD',
68
- 'MM-DD-YYYY'
69
- ]; }
70
- /**
71
- * User input formats that we will parse into a date
72
- * when the users date format preference has day before month
73
- */
74
- static { this.dateFirstParseFormats = [
75
- "yyyy/dd/MM",
76
- "dd/MM/yyyy",
77
- "ddMMyyyy",
78
- "dd/MM/yy",
79
- "ddMMyy",
80
- "dd/MM",
81
- "yyyy.dd.MM",
82
- "dd.MM.yyyy",
83
- "dd.MM.yy",
84
- "dd.MM",
85
- "yyyy-dd-MM",
86
- "dd-MM-yyyy",
87
- "dd-MM-yy",
88
- "dd-MM",
89
- "yyyyDDmm"
90
- ]; }
91
- /**
92
- * User input formats that we will parse into a date
93
- * when the users date format preference has day before month.
94
- * To be used with moment.js. Moment ignores non-alphanumeric characters
95
- * so dates like 2020/09/10 will be parsed the same as 2020-09-10
96
- */
97
- static { this.momentDateFirstParseFormats = [
98
- 'D-M',
99
- 'DD-MM',
100
- 'D-M-YY',
101
- 'DD-MM-YY',
102
- 'DDMMYYYY',
103
- 'YYYYMMDD',
104
- 'YYYY-MM-DD',
105
- 'DD-MM-YYYY'
106
- ]; }
107
- /**
108
- * Formats used to parse dates that are in the medium or long format by moment js.
109
- * These are shared by date-first and month-first date formats. The date can't be
110
- * parsed differently based on the date preference since the month is not numeric.
111
- * This is not an exhaustive list of formats, but it should cover most common formats.
112
- */
113
- static { this.momentMedAndLongDateFormats = [
114
- 'DD MMM',
115
- 'MMM DD',
116
- 'DD MMM YY',
117
- 'DD MMM YYYY',
118
- 'DD MMMM YYYY',
119
- 'MMM D, YY',
120
- 'MMM D, YYYY',
121
- 'MMM DD, YYYY',
122
- 'MMMM D, YYYY',
123
- 'MMMM DD, YYYY',
124
- 'MMM YY',
125
- 'MMM YYYY',
126
- 'MMMM YYYY',
127
- 'MMM, YY',
128
- 'MMM, YYYY',
129
- 'MMMM, YYYY',
130
- ]; }
131
- /**
132
- * Format to display the time portion of a datetime
133
- */
134
- static { this.timeFormat = 'HH:mm:ss'; }
135
- ///////////////////////////////////////////////////////
136
- // METHODS
137
- ///////////////////////////////////////////////////////
138
- /**
139
- * Return true if @see date is equal to the @see endOfTime
140
- */
141
- static isEndOfTime(date, timeZoneOffset = false) {
142
- const endOfTime = timeZoneOffset ? this.endOfTimeUTC : this.endOfTime;
143
- return this.isSameDay(date, endOfTime);
144
- }
145
- /**
146
- * Compare two dates and return true if they represent the same year, month, and day (time is ignored).
147
- */
148
- static isSameDay(date1, date2) {
149
- return moment(date1).isSame(moment(date2), 'day');
150
- }
151
- /**
152
- * Get the parse formats based on the given date format. If no date format is
153
- * given, or we don't recognize the format, return the month first parse formats.
154
- *
155
- */
156
- static getParseFormats(dateFormat) {
157
- let map = {
158
- 'MM/DD/YYYY': this.monthFirstParseFormats,
159
- 'MM-DD-YYYY': this.monthFirstParseFormats,
160
- 'DD/MM/YYYY': this.dateFirstParseFormats,
161
- 'DD-MM-YYYY': this.dateFirstParseFormats,
162
- 'YYYY/MM/DD': this.monthFirstParseFormats,
163
- 'YYYY-MM-DD': this.monthFirstParseFormats
164
- };
165
- return dateFormat ? map[dateFormat] : this.monthFirstParseFormats;
166
- }
167
- /**
168
- * Get the moment parse formats based on the given date format. If no date format is
169
- * given, or we don't recognize the format, return the month first parse formats.
170
- */
171
- static getMomentParseFormats(dateFormat) {
172
- let map = {
173
- 'MM/DD/YYYY': [...this.momentMonthFirstParseFormats, ...this.momentMedAndLongDateFormats],
174
- 'MM-DD-YYYY': [...this.momentMonthFirstParseFormats, ...this.momentMedAndLongDateFormats],
175
- 'DD/MM/YYYY': [...this.momentDateFirstParseFormats, ...this.momentMedAndLongDateFormats],
176
- 'DD-MM-YYYY': [...this.momentDateFirstParseFormats, ...this.momentMedAndLongDateFormats],
177
- 'YYYY/MM/DD': [...this.momentMonthFirstParseFormats, ...this.momentMedAndLongDateFormats],
178
- 'YYYY-MM-DD': [...this.momentMonthFirstParseFormats, ...this.momentMedAndLongDateFormats]
179
- };
180
- return dateFormat ? map[dateFormat] : this.momentMonthFirstParseFormats;
181
- }
182
- /**
183
- * Get relationship start date (favoring date in partialFormState if exists)
184
- * * return default account-meter effective date if no start date found
185
- *
186
- */
187
- static getAccountMeterStartDate(partialFormState, accountMeter) {
188
- let startDate = partialFormState.effectiveFrom || accountMeter.startDate;
189
- return startDate ? new Date(startDate) : DateTimeHelper.defaultAccountMeterEffectiveDate;
190
- }
191
- /**
192
- * Get relationship end date (favoring date in partialFormState if exists)
193
- * * return null if no stored date or end date is 1/1/3000
194
- */
195
- static getAccountMeterEndDate(partialFormState, accountMeter) {
196
- let endDate = partialFormState.effectiveTo || accountMeter.endDate;
197
- if (endDate && !DateTimeHelper.isEndOfTime(endDate)) {
198
- return new Date(endDate);
199
- }
200
- return null;
201
- }
202
- static isDateBetween(date, startDate, endDate, includeStart, includeEnd) {
203
- let inclusivity = '()';
204
- if (includeStart && includeEnd) {
205
- inclusivity = '[]';
206
- }
207
- else if (includeStart) {
208
- inclusivity = '[)';
209
- }
210
- else if (includeEnd) {
211
- inclusivity = '(]';
212
- }
213
- // If a start date is not provide, we'll use our beginning of time instead
214
- startDate = startDate || this.beginningOfTime;
215
- // If an end date is not provided, we'll use our end of time instead
216
- endDate = endDate || this.endOfTime;
217
- return moment(date).isBetween(startDate, endDate, 'day', inclusivity);
218
- }
219
- static stringToDate(dateString) {
220
- if (dateString === null || dateString === undefined) {
221
- return dateString;
222
- }
223
- else {
224
- return moment(dateString).toDate();
225
- }
226
- }
227
- }
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlL2RhdGUtdGltZS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBSTVCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFFdkIsdURBQXVEO0lBQ3ZELFlBQVk7SUFDWix1REFBdUQ7YUFFekMsb0JBQWUsR0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTNELGlCQUFpQjthQUNILGNBQVMsR0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXJELHFCQUFxQjthQUNQLGlCQUFZLEdBQVMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUVyRSw0RUFBNEU7YUFDOUQscUNBQWdDLEdBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU1RSxrRkFBa0Y7YUFDcEUsdUNBQWtDLEdBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU5RSxtREFBbUQ7YUFDckMsc0JBQWlCLEdBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU3RCxtTEFBbUw7YUFDckssc0JBQWlCLEdBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLENBQUMsQ0FBQztJQUVwRSx3QkFBd0I7YUFDVixzQkFBaUIsR0FBVyxZQUFZLENBQUM7YUFDekMsc0JBQWlCLEdBQVcsVUFB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U0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBcUM7UUFDOUQsSUFBSSxVQUFVLEtBQUssSUFBSSxJQUFJLFVBQVUsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNwRCxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3JDLENBQUM7SUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5cclxudHlwZSBEYXRlRm9ybWF0TWFwID0geyBbZm9ybWF0OiBzdHJpbmddOiBzdHJpbmdbXSB9O1xyXG5cclxuLyoqXHJcbiAqIEhlbHBlciBjbGFzcyB0aGF0IHByb3ZpZGVzIGNvbW1vbiBkYXRlIGNvbnN0YW50cyBhbmQgaGVscGZ1bCBkYXRlIGZ1bmN0aW9uc1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIERhdGVUaW1lSGVscGVyIHtcclxuXHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICAvLyBDT05TVEFOVFNcclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGJlZ2lubmluZ09mVGltZTogRGF0ZSA9IG5ldyBEYXRlKDE4OTksMTEsMzEpO1xyXG4gICAgIFxyXG4gICAgLyoqIDMwMDAtMDEtMDEgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZW5kT2ZUaW1lOiBEYXRlID0gbmV3IERhdGUoMzAwMCwgMCwgMSk7XHJcblxyXG4gICAgLyoqIDMwMDAtMDEtMDEgVVRDICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGVuZE9mVGltZVVUQzogRGF0ZSA9IG1vbWVudC51dGMoJzMwMDAtMDEtMDEnKS50b0RhdGUoKTtcclxuXHJcbiAgICAvKiogRGVmYXVsdCBlZmZlY3RpdmUgZGF0ZSBmb3IgbmV3IEFjY291bnRNZXRlciByZWxhdGlvbnNoaXBzOiAyMDEwLTAxLTAxICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGRlZmF1bHRBY2NvdW50TWV0ZXJFZmZlY3RpdmVEYXRlOiBEYXRlID0gbmV3IERhdGUoMjAxMCwgMCwgMSk7XHJcblxyXG4gICAgLyoqIFRoZSBkZWZhdWx0IGRhdGUgdGhhdCBhIG5ld2x5IGNyZWF0ZWQgYWNjb3VudCBiZWNvbWVzIGVmZmVjdGl2ZTogMjAxMC0wMS0wMSAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBkZWZhdWx0QWNjb3VudFNlcnZpY2VFZmZlY3RpdmVEYXRlOiBEYXRlID0gbmV3IERhdGUoMjAxMCwgMCwgMSk7XHJcblxyXG4gICAgLyoqIE1pbmltdW0gZGF0ZSBmb3IgYWxsIGRhdGVwaWNrZXJzOiAxOTgwLTAxLTAxICovXHJcbiAgICBwdWJsaWMgc3RhdGljIG1pbkRhdGVQaWNrZXJEYXRlOiBEYXRlID0gbmV3IERhdGUoMTk4MCwgMCwgMSk7XHJcblxyXG4gICAgLyoqIE1heGltdW0gZGF0ZSBmb3IgYWxsIGRhdGVwaWNrZXJzOiAzMDAwLTAxLTAxIDExOjU5OjU5IFBNIHRvIGFsbG93IGZvciBsb2NhbCB0aW1lIG9mZnNldCB3b3JraW5nIGluIGZvciAzMDAwLTAxLTAxIGRhdGVzLCB3aGljaCB3ZSBzdG9yZSBpbiB0aGUgZGIgdG8gcmVwcmVzZW50IFwiZW5kIG9mIHRpbWVcIiAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBtYXhEYXRlUGlja2VyRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKDMwMDAsMCwxLDIzLDU5LDU5KTtcclxuXHJcbiAgICAvKiogVGltZXN0YW1wIGZvcm1hdHMgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZGVmYXVsdERhdGVGb3JtYXQ6IHN0cmluZyA9IFwieXl5eS1NTS1kZFwiO1xyXG4gICAgcHVibGljIHN0YXRpYyBkZWZhdWx0VGltZUZvcm1hdDogc3RyaW5nID0gXCJISDptbTpzc1wiO1xyXG4gICAgcHVibGljIHN0YXRpYyBkZWZhdWx0VGltZXN0YW1wRm9ybWF0OiBzdHJpbmcgPSBgJHtEYXRlVGltZUhlbHBlci5kZWZhdWx0RGF0ZUZvcm1hdH0gJHtEYXRlVGltZUhlbHBlci5kZWZhdWx0VGltZUZvcm1hdH1gO1xyXG5cclxuICAgIC8qKiBMaXN0IG9mIHZhbGlkIGJpbGwgaW1wb3J0IGRhdGUgZm9ybWF0c1xyXG4gICAgICogIFdhcm5pbmchIERvIG5vdCB1c2UgdGhlc2UgZm9yIGFjdHVhbCBmb3JtYXR0aW5nIG9mIGRhdGVzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgYmlsbEltcG9ydEZvcm1hdERhdGVGb3JtYXRzID0gW1xyXG4gICAgICAgIHsgbGFiZWw6IFwibW0vZGQveXl5eVwiLCB2YWx1ZTogXCJtbS9kZC95eXl5XCIgfSwgeyBsYWJlbDogXCJNb250aCBkZCB5eXl5XCIsIHZhbHVlOiBcIk1vbnRoIGRkIHl5eXlcIiB9LCBcclxuICAgICAgICB7IGxhYmVsOiBcImRkL21tL3l5eXlcIiwgdmFsdWU6IFwiZGQvbW0veXl5eVwiIH0sIHsgbGFiZWw6IFwiZGQgTW9udGggeXl5eVwiLCB2YWx1ZTogXCJkZCBNb250aCB5eXl5XCIgfSwgeyBsYWJlbDogXCJ5eXl5bW1kZFwiLCB2YWx1ZTogXCJ5eXl5bW1kZFwiIH1dO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXNlciBpbnB1dCBmb3JtYXRzIHRoYXQgd2Ugd2lsbCBwYXJzZSBpbnRvIGEgZGF0ZVxyXG4gICAgICogd2hlbiB0aGUgdXNlcnMgZGF0ZSBmb3JtYXQgcHJlZmVyZW5jZSBoYXMgbW9udGggYmVmb3JlIGRheVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIG1vbnRoRmlyc3RQYXJzZUZvcm1hdHM6IHN0cmluZ1tdID0gW1xyXG4gICAgICAgIFwieXl5eS9NTS9kZFwiLFxyXG4gICAgICAgIFwiTU0vZGQveXl5eVwiLFxyXG4gICAgICAgIFwiTU1kZHl5eXlcIixcclxuICAgICAgICBcIk1NL2RkL3l5XCIsXHJcbiAgICAgICAgXCJNTWRkeXlcIixcclxuICAgICAgICBcIk1NL2RkXCIsXHJcbiAgICAgICAgXCJ5eXl5Lk1NLmRkXCIsXHJcbiAgICAgICAgXCJNTS5kZC55eXl5XCIsXHJcbiAgICAgICAgXCJNTS5kZC55eVwiLFxyXG4gICAgICAgIFwiTU0uZGRcIixcclxuICAgICAgICBcInl5eXktTU0tZGRcIixcclxuICAgICAgICBcIk1NLWRkLXl5eXlcIixcclxuICAgICAgICBcIk1NLWRkLXl5XCIsXHJcbiAgICAgICAgXCJNTS1kZFwiLFxyXG4gICAgICAgIFwieXl5eU1NZGRcIlxyXG4gICAgXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFVzZXIgaW5wdXQgZm9ybWF0cyB0aGF0IHdlIHdpbGwgcGFyc2UgaW50byBhIGRhdGVcclxuICAgICAqIHdoZW4gdGhlIHVzZXJzIGRhdGUgZm9ybWF0IHByZWZlcmVuY2UgaGFzIG1vbnRoIGJlZm9yZSBkYXkuXHJcbiAgICAgKiBUbyBiZSB1c2VkIHdpdGggbW9tZW50LmpzLiBNb21lbnQgaWdub3JlcyBub24tYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcclxuICAgICAqIHNvIGRhdGVzIGxpa2UgMjAyMC8wOS8xMCB3aWxsIGJlIHBhcnNlZCB0aGUgc2FtZSBhcyAyMDIwLTA5LTEwXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgbW9tZW50TW9udGhGaXJzdFBhcnNlRm9ybWF0czogc3RyaW5nW10gPSBbXHJcbiAgICAgICAgJ00tRCcsXHJcbiAgICAgICAgJ01NLUREJyxcclxuICAgICAgICAnTS1ELVlZJyxcclxuICAgICAgICAnTU0tREQtWVknLFxyXG4gICAgICAgICdNTUREWVlZWScsXHJcbiAgICAgICAgJ1lZWVlNTUREJyxcclxuICAgICAgICAnWVlZWS1NTS1ERCcsXHJcbiAgICAgICAgJ01NLURELVlZWVknXHJcbiAgICBdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXNlciBpbnB1dCBmb3JtYXRzIHRoYXQgd2Ugd2lsbCBwYXJzZSBpbnRvIGEgZGF0ZVxyXG4gICAgICogd2hlbiB0aGUgdXNlcnMgZGF0ZSBmb3JtYXQgcHJlZmVyZW5jZSBoYXMgZGF5IGJlZm9yZSBtb250aFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGRhdGVGaXJzdFBhcnNlRm9ybWF0czogc3RyaW5nW10gPSBbXHJcbiAgICAgICAgXCJ5eXl5L2RkL01NXCIsXHJcbiAgICAgICAgXCJkZC9NTS95eXl5XCIsXHJcbiAgICAgICAgXCJkZE1NeXl5eVwiLFxyXG4gICAgICAgIFwiZGQvTU0veXlcIixcclxuICAgICAgICBcImRkTU15eVwiLFxyXG4gICAgICAgIFwiZGQvTU1cIixcclxuICAgICAgICBcInl5eXkuZGQuTU1cIixcclxuICAgICAgICBcImRkLk1NLnl5eXlcIixcclxuICAgICAgICBcImRkLk1NLnl5XCIsXHJcbiAgICAgICAgXCJkZC5NTVwiLFxyXG4gICAgICAgIFwieXl5eS1kZC1NTVwiLFxyXG4gICAgICAgIFwiZGQtTU0teXl5eVwiLFxyXG4gICAgICAgIFwiZGQtTU0teXlcIixcclxuICAgICAgICBcImRkLU1NXCIsXHJcbiAgICAgICAgXCJ5eXl5RERtbVwiXHJcbiAgICBdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXNlciBpbnB1dCBmb3JtYXRzIHRoYXQgd2Ugd2lsbCBwYXJzZSBpbnRvIGEgZGF0ZVxyXG4gICAgICogd2hlbiB0aGUgdXNlcnMgZGF0ZSBmb3JtYXQgcHJlZmVyZW5jZSBoYXMgZGF5IGJlZm9yZSBtb250aC5cclxuICAgICAqIFRvIGJlIHVzZWQgd2l0aCBtb21lbnQuanMuIE1vbWVudCBpZ25vcmVzIG5vbi1hbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xyXG4gICAgICogc28gZGF0ZXMgbGlrZSAyMDIwLzA5LzEwIHdpbGwgYmUgcGFyc2VkIHRoZSBzYW1lIGFzIDIwMjAtMDktMTBcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBtb21lbnREYXRlRmlyc3RQYXJzZUZvcm1hdHM6IHN0cmluZ1tdID0gW1xyXG4gICAgICAgICdELU0nLFxyXG4gICAgICAgICdERC1NTScsXHJcbiAgICAgICAgJ0QtTS1ZWScsXHJcbiAgICAgICAgJ0RELU1NLVlZJyxcclxuICAgICAgICAnRERNTVlZWVknLFxyXG4gICAgICAgICdZWVlZTU1ERCcsXHJcbiAgICAgICAgJ1lZWVktTU0tREQnLFxyXG4gICAgICAgICdERC1NTS1ZWVlZJ1xyXG4gICAgXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEZvcm1hdHMgdXNlZCB0byBwYXJzZSBkYXRlcyB0aGF0IGFyZSBpbiB0aGUgbWVkaXVtIG9yIGxvbmcgZm9ybWF0IGJ5IG1vbWVudCBqcy5cclxuICAgICAqIFRoZXNlIGFyZSBzaGFyZWQgYnkgZGF0ZS1maXJzdCBhbmQgbW9udGgtZmlyc3QgZGF0ZSBmb3JtYXRzLiBUaGUgZGF0ZSBjYW4ndCBiZVxyXG4gICAgICogcGFyc2VkIGRpZmZlcmVudGx5IGJhc2VkIG9uIHRoZSBkYXRlIHByZWZlcmVuY2Ugc2luY2UgdGhlIG1vbnRoIGlzIG5vdCBudW1lcmljLlxyXG4gICAgICogVGhpcyBpcyBub3QgYW4gZXhoYXVzdGl2ZSBsaXN0IG9mIGZvcm1hdHMsIGJ1dCBpdCBzaG91bGQgY292ZXIgbW9zdCBjb21tb24gZm9ybWF0cy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBtb21lbnRNZWRBbmRMb25nRGF0ZUZvcm1hdHM6IHN0cmluZ1tdID0gW1xyXG4gICAgICAgICdERCBNTU0nLFxyXG4gICAgICAgICdNTU0gREQnLFxyXG4gICAgICAgICdERCBNTU0gWVknLFxyXG4gICAgICAgICdERCBNTU0gWVlZWScsXHJcbiAgICAgICAgJ0REIE1NTU0gWVlZWScsXHJcbiAgICAgICAgJ01NTSBELCBZWScsXHJcbiAgICAgICAgJ01NTSBELCBZWVlZJyxcclxuICAgICAgICAnTU1NIERELCBZWVlZJyxcclxuICAgICAgICAnTU1NTSBELCBZWVlZJyxcclxuICAgICAgICAnTU1NTSBERCwgWVlZWScsXHJcbiAgICAgICAgJ01NTSBZWScsXHJcbiAgICAgICAgJ01NTSBZWVlZJyxcclxuICAgICAgICAnTU1NTSBZWVlZJyxcclxuICAgICAgICAnTU1NLCBZWScsXHJcbiAgICAgICAgJ01NTSwgWVlZWScsXHJcbiAgICAgICAgJ01NTU0sIFlZWVknLFxyXG4gICAgXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEZvcm1hdCB0byBkaXNwbGF5IHRoZSB0aW1lIHBvcnRpb24gb2YgYSBkYXRldGltZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHRpbWVGb3JtYXQ6IHN0cmluZyA9ICdISDptbTpzcyc7XHJcblxyXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gTUVUSE9EU1xyXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJuIHRydWUgaWYgQHNlZSBkYXRlIGlzIGVxdWFsIHRvIHRoZSBAc2VlIGVuZE9mVGltZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGlzRW5kT2ZUaW1lKGRhdGU6IERhdGUgfCBtb21lbnQuTW9tZW50IHwgc3RyaW5nLCB0aW1lWm9uZU9mZnNldDogYm9vbGVhbiA9IGZhbHNlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgZW5kT2ZUaW1lID0gdGltZVpvbmVPZmZzZXQgPyB0aGlzLmVuZE9mVGltZVVUQyA6IHRoaXMuZW5kT2ZUaW1lO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlzU2FtZURheShkYXRlLCBlbmRPZlRpbWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbXBhcmUgdHdvIGRhdGVzIGFuZCByZXR1cm4gdHJ1ZSBpZiB0aGV5IHJlcHJlc2VudCB0aGUgc2FtZSB5ZWFyLCBtb250aCwgYW5kIGRheSAodGltZSBpcyBpZ25vcmVkKS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBpc1NhbWVEYXkoZGF0ZTE6IERhdGUgfCBtb21lbnQuTW9tZW50IHwgc3RyaW5nLCBkYXRlMjogRGF0ZSB8IG1vbWVudC5Nb21lbnQgfCBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gbW9tZW50KGRhdGUxKS5pc1NhbWUobW9tZW50KGRhdGUyKSwgJ2RheScpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0IHRoZSBwYXJzZSBmb3JtYXRzIGJhc2VkIG9uIHRoZSBnaXZlbiBkYXRlIGZvcm1hdC4gSWYgbm8gZGF0ZSBmb3JtYXQgaXNcclxuICAgICAqIGdpdmVuLCBvciB3ZSBkb24ndCByZWNvZ25pemUgdGhlIGZvcm1hdCwgcmV0dXJuIHRoZSBtb250aCBmaXJzdCBwYXJzZSBmb3JtYXRzLlxyXG4gICAgICogXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0UGFyc2VGb3JtYXRzKGRhdGVGb3JtYXQ/OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nW10ge1xyXG4gICAgICAgIGxldCBtYXA6IERhdGVGb3JtYXRNYXAgPSB7XHJcbiAgICAgICAgICAgICdNTS9ERC9ZWVlZJzogdGhpcy5tb250aEZpcnN0UGFyc2VGb3JtYXRzLFxyXG4gICAgICAgICAgICAnTU0tREQtWVlZWSc6IHRoaXMubW9udGhGaXJzdFBhcnNlRm9ybWF0cyxcclxuICAgICAgICAgICAgJ0REL01NL1lZWVknOiB0aGlzLmRhdGVGaXJzdFBhcnNlRm9ybWF0cyxcclxuICAgICAgICAgICAgJ0RELU1NLVlZWVknOiB0aGlzLmRhdGVGaXJzdFBhcnNlRm9ybWF0cyxcclxuICAgICAgICAgICAgJ1lZWVkvTU0vREQnOiB0aGlzLm1vbnRoRmlyc3RQYXJzZUZvcm1hdHMsXHJcbiAgICAgICAgICAgICdZWVlZLU1NLUREJzogdGhpcy5tb250aEZpcnN0UGFyc2VGb3JtYXRzXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGRhdGVGb3JtYXQgPyBtYXBbZGF0ZUZvcm1hdF0gOiB0aGlzLm1vbnRoRmlyc3RQYXJzZUZvcm1hdHM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgdGhlIG1vbWVudCBwYXJzZSBmb3JtYXRzIGJhc2VkIG9uIHRoZSBnaXZlbiBkYXRlIGZvcm1hdC4gSWYgbm8gZGF0ZSBmb3JtYXQgaXNcclxuICAgICAqIGdpdmVuLCBvciB3ZSBkb24ndCByZWNvZ25pemUgdGhlIGZvcm1hdCwgcmV0dXJuIHRoZSBtb250aCBmaXJzdCBwYXJzZSBmb3JtYXRzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldE1vbWVudFBhcnNlRm9ybWF0cyhkYXRlRm9ybWF0Pzogc3RyaW5nIHwgbnVsbCk6IHN0cmluZ1tdIHtcclxuICAgICAgICBsZXQgbWFwOiBEYXRlRm9ybWF0TWFwID0ge1xyXG4gICAgICAgICAgICAnTU0vREQvWVlZWSc6IFsuLi50aGlzLm1vbWVudE1vbnRoRmlyc3RQYXJzZUZvcm1hdHMsIC4uLnRoaXMubW9tZW50TWVkQW5kTG9uZ0RhdGVGb3JtYXRzXSxcclxuICAgICAgICAgICAgJ01NLURELVlZWVknOiBbLi4udGhpcy5tb21lbnRNb250aEZpcnN0UGFyc2VGb3JtYXRzLCAuLi50aGlzLm1vbWVudE1lZEFuZExvbmdEYXRlRm9ybWF0c10sXHJcbiAgICAgICAgICAgICdERC9NTS9ZWVlZJzogWy4uLnRoaXMubW9tZW50RGF0ZUZpcnN0UGFyc2VGb3JtYXRzLCAuLi50aGlzLm1vbWVudE1lZEFuZExvbmdEYXRlRm9ybWF0c10sXHJcbiAgICAgICAgICAgICdERC1NTS1ZWVlZJzogWy4uLnRoaXMubW9tZW50RGF0ZUZpcnN0UGFyc2VGb3JtYXRzLCAuLi50aGlzLm1vbWVudE1lZEFuZExvbmdEYXRlRm9ybWF0c10sXHJcbiAgICAgICAgICAgICdZWVlZL01NL0REJzogWy4uLnRoaXMubW9tZW50TW9udGhGaXJzdFBhcnNlRm9ybWF0cywgLi4udGhpcy5tb21lbnRNZWRBbmRMb25nRGF0ZUZvcm1hdHNdLFxyXG4gICAgICAgICAgICAnWVlZWS1NTS1ERCc6IFsuLi50aGlzLm1vbWVudE1vbnRoRmlyc3RQYXJzZUZvcm1hdHMsIC4uLnRoaXMubW9tZW50TWVkQW5kTG9uZ0RhdGVGb3JtYXRzXVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiBkYXRlRm9ybWF0ID8gbWFwW2RhdGVGb3JtYXRdIDogdGhpcy5tb21lbnRNb250aEZpcnN0UGFyc2VGb3JtYXRzO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgcmVsYXRpb25zaGlwIHN0YXJ0IGRhdGUgKGZhdm9yaW5nIGRhdGUgaW4gcGFydGlhbEZvcm1TdGF0ZSBpZiBleGlzdHMpXHJcbiAgICAgKiAqIHJldHVybiBkZWZhdWx0IGFjY291bnQtbWV0ZXIgZWZmZWN0aXZlIGRhdGUgaWYgbm8gc3RhcnQgZGF0ZSBmb3VuZFxyXG4gICAgICogXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QWNjb3VudE1ldGVyU3RhcnREYXRlKHBhcnRpYWxGb3JtU3RhdGU6IGFueSwgYWNjb3VudE1ldGVyOiB7IHN0YXJ0RGF0ZTogRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQgfSk6IERhdGUge1xyXG4gICAgICAgIGxldCBzdGFydERhdGUgPSBwYXJ0aWFsRm9ybVN0YXRlLmVmZmVjdGl2ZUZyb20gfHwgYWNjb3VudE1ldGVyLnN0YXJ0RGF0ZTtcclxuICAgICAgICByZXR1cm4gc3RhcnREYXRlID8gbmV3IERhdGUoc3RhcnREYXRlKSA6IERhdGVUaW1lSGVscGVyLmRlZmF1bHRBY2NvdW50TWV0ZXJFZmZlY3RpdmVEYXRlO1xyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgcmVsYXRpb25zaGlwIGVuZCBkYXRlIChmYXZvcmluZyBkYXRlIGluIHBhcnRpYWxGb3JtU3RhdGUgaWYgZXhpc3RzKVxyXG4gICAgICogKiByZXR1cm4gbnVsbCBpZiBubyBzdG9yZWQgZGF0ZSBvciBlbmQgZGF0ZSBpcyAxLzEvMzAwMFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldEFjY291bnRNZXRlckVuZERhdGUocGFydGlhbEZvcm1TdGF0ZTogYW55LCBhY2NvdW50TWV0ZXI6IHsgZW5kRGF0ZTogRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQgfSk6IERhdGUgfCBudWxsIHtcclxuICAgICAgICBsZXQgZW5kRGF0ZSA9IHBhcnRpYWxGb3JtU3RhdGUuZWZmZWN0aXZlVG8gfHwgYWNjb3VudE1ldGVyLmVuZERhdGU7XHJcbiAgICAgICAgaWYgKGVuZERhdGUgJiYgIURhdGVUaW1lSGVscGVyLmlzRW5kT2ZUaW1lKGVuZERhdGUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShlbmREYXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBzdGF0aWMgaXNEYXRlQmV0d2VlbihcclxuICAgICAgICBkYXRlOiBEYXRlLCBcclxuICAgICAgICBzdGFydERhdGU/OiBEYXRlIHwgbnVsbCwgXHJcbiAgICAgICAgZW5kRGF0ZT86IERhdGUgfCBudWxsLCBcclxuICAgICAgICBpbmNsdWRlU3RhcnQ/OiBib29sZWFuLCBcclxuICAgICAgICBpbmNsdWRlRW5kPzogYm9vbGVhblxyXG4gICAgKTpib29sZWFuIHtcclxuICAgICAgICBsZXQgaW5jbHVzaXZpdHk6ICcoKScgfCAnWyknIHwgJyhdJyB8ICdbXScgPSAnKCknO1xyXG4gICAgICAgIGlmIChpbmNsdWRlU3RhcnQgJiYgaW5jbHVkZUVuZCApIHtcclxuICAgICAgICAgICAgaW5jbHVzaXZpdHkgPSAnW10nO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaW5jbHVkZVN0YXJ0KSB7XHJcbiAgICAgICAgICAgIGluY2x1c2l2aXR5ID0gJ1spJztcclxuICAgICAgICB9IGVsc2UgaWYgKGluY2x1ZGVFbmQpIHtcclxuICAgICAgICAgICAgaW5jbHVzaXZpdHkgPSAnKF0nO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gSWYgYSBzdGFydCBkYXRlIGlzIG5vdCBwcm92aWRlLCB3ZSdsbCB1c2Ugb3VyIGJlZ2lubmluZyBvZiB0aW1lIGluc3RlYWRcclxuICAgICAgICBzdGFydERhdGUgPSBzdGFydERhdGUgfHwgdGhpcy5iZWdpbm5pbmdPZlRpbWU7XHJcblxyXG4gICAgICAgIC8vIElmIGFuIGVuZCBkYXRlIGlzIG5vdCBwcm92aWRlZCwgd2UnbGwgdXNlIG91ciBlbmQgb2YgdGltZSBpbnN0ZWFkXHJcbiAgICAgICAgZW5kRGF0ZSA9IGVuZERhdGUgfHwgdGhpcy5lbmRPZlRpbWU7XHJcblxyXG4gICAgICAgIHJldHVybiBtb21lbnQoZGF0ZSkuaXNCZXR3ZWVuKHN0YXJ0RGF0ZSwgZW5kRGF0ZSwgJ2RheScsIGluY2x1c2l2aXR5KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIHN0cmluZ1RvRGF0ZShkYXRlU3RyaW5nOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQge1xyXG4gICAgICBpZiAoZGF0ZVN0cmluZyA9PT0gbnVsbCB8fCBkYXRlU3RyaW5nID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXR1cm4gZGF0ZVN0cmluZztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbW9tZW50KGRhdGVTdHJpbmcpLnRvRGF0ZSgpO1xyXG4gICAgICB9ICAgICAgXHJcbiAgICB9XHJcbn0iXX0=
@@ -1,61 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export function isApiError(errorResponse) {
4
- // errorResponse is typed HttpErrorResponse if the api returns an error
5
- if (errorResponse.error && errorResponse.error.hasOwnProperty('status') && errorResponse.error.status.hasOwnProperty('message')) {
6
- return true;
7
- }
8
- // BillCAPture APIs return errors in a different format
9
- if (errorResponse.error && errorResponse.error.hasOwnProperty('Message')) {
10
- return true;
11
- }
12
- return false;
13
- }
14
- export class ErrorService {
15
- constructor() { }
16
- /**
17
- * Parse an error that comes from the API for use inside the forms
18
- * In most cases this isn't required because the error handler will do it automatically,
19
- * but if you need to analyze the error message you can use this to extract it safely.
20
- * NOTE: Because it can be used for comparison the result is not translated. You must translate
21
- * it before providing it to the user.
22
- * @param error The error object from the API
23
- */
24
- parseApiError(errorResponse, unknownErrorDefault) {
25
- if (typeof errorResponse === 'string') {
26
- return errorResponse;
27
- }
28
- // errorResponse is typed HttpErrorResponse if the api returns an error
29
- let apiErrorMessage = unknownErrorDefault || 'DefaultUnknownError_SC';
30
- if (errorResponse && isApiError(errorResponse)) {
31
- try {
32
- apiErrorMessage = errorResponse.error.status?.message || errorResponse.error.Message;
33
- }
34
- catch (error) {
35
- //log the real error to the console (for developers) but just return the generic error to the user
36
- this.logConsoleError(error);
37
- }
38
- }
39
- else {
40
- this.logConsoleError(errorResponse);
41
- }
42
- return apiErrorMessage;
43
- }
44
- /**
45
- * Just a safe wrapper around console.error in case the browser doesn't have one exposed
46
- */
47
- logConsoleError(error) {
48
- if (console && typeof (console.error) === 'function') {
49
- console.error('unknown error:', error);
50
- }
51
- }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
53
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorService, providedIn: 'root' }); }
54
- }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorService, decorators: [{
56
- type: Injectable,
57
- args: [{
58
- providedIn: 'root'
59
- }]
60
- }], ctorParameters: () => [] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlL2Vycm9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxVQUFVLFVBQVUsQ0FBQyxhQUFrQjtJQUMzQyx1RUFBdUU7SUFDdkUsSUFBSSxhQUFhLENBQUMsS0FBSyxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ2hJLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELHVEQUF1RDtJQUN2RCxJQUFJLGFBQWEsQ0FBQyxLQUFLLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUN6RSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFLRCxNQUFNLE9BQU8sWUFBWTtJQUV2QixnQkFBZ0IsQ0FBQztJQUVqQjs7Ozs7OztPQU9HO0lBQ0ksYUFBYSxDQUFDLGFBQWtCLEVBQUUsbUJBQTRCO1FBQ25FLElBQUksT0FBTyxhQUFhLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdEMsT0FBTyxhQUFhLENBQUM7UUFDdkIsQ0FBQztRQUVELHVFQUF1RTtRQUN2RSxJQUFJLGVBQWUsR0FBVyxtQkFBbUIsSUFBSSx3QkFBd0IsQ0FBQztRQUU5RSxJQUFJLGFBQWEsSUFBSSxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUM7Z0JBQ0gsZUFBZSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUN2RixDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixrR0FBa0c7Z0JBQ2xHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZUFBZSxDQUFDLEtBQVU7UUFDL0IsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNyRCxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDOytHQXpDVSxZQUFZO21IQUFaLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNBcGlFcnJvcihlcnJvclJlc3BvbnNlOiBhbnkpOiBib29sZWFuIHtcclxuICAvLyBlcnJvclJlc3BvbnNlIGlzIHR5cGVkIEh0dHBFcnJvclJlc3BvbnNlIGlmIHRoZSBhcGkgcmV0dXJucyBhbiBlcnJvclxyXG4gIGlmIChlcnJvclJlc3BvbnNlLmVycm9yICYmIGVycm9yUmVzcG9uc2UuZXJyb3IuaGFzT3duUHJvcGVydHkoJ3N0YXR1cycpICYmIGVycm9yUmVzcG9uc2UuZXJyb3Iuc3RhdHVzLmhhc093blByb3BlcnR5KCdtZXNzYWdlJykpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLy8gQmlsbENBUHR1cmUgQVBJcyByZXR1cm4gZXJyb3JzIGluIGEgZGlmZmVyZW50IGZvcm1hdFxyXG4gIGlmIChlcnJvclJlc3BvbnNlLmVycm9yICYmIGVycm9yUmVzcG9uc2UuZXJyb3IuaGFzT3duUHJvcGVydHkoJ01lc3NhZ2UnKSkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmFsc2U7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVycm9yU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBhcnNlIGFuIGVycm9yIHRoYXQgY29tZXMgZnJvbSB0aGUgQVBJIGZvciB1c2UgaW5zaWRlIHRoZSBmb3Jtc1xyXG4gICAqIEluIG1vc3QgY2FzZXMgdGhpcyBpc24ndCByZXF1aXJlZCBiZWNhdXNlIHRoZSBlcnJvciBoYW5kbGVyIHdpbGwgZG8gaXQgYXV0b21hdGljYWxseSxcclxuICAgKiBidXQgaWYgeW91IG5lZWQgdG8gYW5hbHl6ZSB0aGUgZXJyb3IgbWVzc2FnZSB5b3UgY2FuIHVzZSB0aGlzIHRvIGV4dHJhY3QgaXQgc2FmZWx5LlxyXG4gICAqIE5PVEU6IEJlY2F1c2UgaXQgY2FuIGJlIHVzZWQgZm9yIGNvbXBhcmlzb24gdGhlIHJlc3VsdCBpcyBub3QgdHJhbnNsYXRlZC4gWW91IG11c3QgdHJhbnNsYXRlXHJcbiAgICogaXQgYmVmb3JlIHByb3ZpZGluZyBpdCB0byB0aGUgdXNlci5cclxuICAgKiBAcGFyYW0gZXJyb3IgVGhlIGVycm9yIG9iamVjdCBmcm9tIHRoZSBBUElcclxuICAgKi9cclxuICBwdWJsaWMgcGFyc2VBcGlFcnJvcihlcnJvclJlc3BvbnNlOiBhbnksIHVua25vd25FcnJvckRlZmF1bHQ/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKHR5cGVvZiBlcnJvclJlc3BvbnNlID09PSAnc3RyaW5nJykge1xyXG4gICAgICByZXR1cm4gZXJyb3JSZXNwb25zZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBlcnJvclJlc3BvbnNlIGlzIHR5cGVkIEh0dHBFcnJvclJlc3BvbnNlIGlmIHRoZSBhcGkgcmV0dXJucyBhbiBlcnJvclxyXG4gICAgbGV0IGFwaUVycm9yTWVzc2FnZTogc3RyaW5nID0gdW5rbm93bkVycm9yRGVmYXVsdCB8fCAnRGVmYXVsdFVua25vd25FcnJvcl9TQyc7XHJcblxyXG4gICAgaWYgKGVycm9yUmVzcG9uc2UgJiYgaXNBcGlFcnJvcihlcnJvclJlc3BvbnNlKSkge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGFwaUVycm9yTWVzc2FnZSA9IGVycm9yUmVzcG9uc2UuZXJyb3Iuc3RhdHVzPy5tZXNzYWdlIHx8IGVycm9yUmVzcG9uc2UuZXJyb3IuTWVzc2FnZTtcclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAvL2xvZyB0aGUgcmVhbCBlcnJvciB0byB0aGUgY29uc29sZSAoZm9yIGRldmVsb3BlcnMpIGJ1dCBqdXN0IHJldHVybiB0aGUgZ2VuZXJpYyBlcnJvciB0byB0aGUgdXNlclxyXG4gICAgICAgIHRoaXMubG9nQ29uc29sZUVycm9yKGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5sb2dDb25zb2xlRXJyb3IoZXJyb3JSZXNwb25zZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGFwaUVycm9yTWVzc2FnZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEp1c3QgYSBzYWZlIHdyYXBwZXIgYXJvdW5kIGNvbnNvbGUuZXJyb3IgaW4gY2FzZSB0aGUgYnJvd3NlciBkb2Vzbid0IGhhdmUgb25lIGV4cG9zZWRcclxuICAgKi9cclxuICBwdWJsaWMgbG9nQ29uc29sZUVycm9yKGVycm9yOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChjb25zb2xlICYmIHR5cGVvZiAoY29uc29sZS5lcnJvcikgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc29sZS5lcnJvcigndW5rbm93biBlcnJvcjonLCBlcnJvcik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,111 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { convertToParamMap, NavigationEnd, NavigationStart } from "@angular/router";
3
- import { filter } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- export class RouterHelper {
6
- /**
7
- * Traverses the pathFromRoot and combines all of the route parameters into
8
- * one Params object and returns it
9
- * @param route - ActivatedRouteSnapshot
10
- * @see https://angular.io/api/router/ActivatedRouteSnapshot#pathFromRoot
11
- */
12
- getFullRouteParams(route) {
13
- const params = {};
14
- route.pathFromRoot.forEach(snapshot => {
15
- snapshot.paramMap.keys.forEach(key => {
16
- params[key] = snapshot.paramMap.get(key);
17
- });
18
- });
19
- return params;
20
- }
21
- /**
22
- * Traverses the pathFromRoot and combines all of the route paramters into
23
- * one ParamMap and returns it
24
- * @param route - ActivatedRouteSnapshot
25
- * @see https://angular.io/api/router/ActivatedRouteSnapshot#pathFromRoot
26
- */
27
- getFullRouteParamMap(route) {
28
- const params = this.getFullRouteParams(route);
29
- return convertToParamMap(params);
30
- }
31
- /**
32
- * Traverses the pathFromRoot and combines all of the route paths into
33
- * a url from root to the provided activated route.
34
- * @param route - ActivatedRouteSnapshot
35
- * @see https://angular.io/api/router/ActivatedRouteSnapshot#pathFromRoot
36
- */
37
- serializeUrlFromRoot(route) {
38
- let url = '';
39
- const paths = [];
40
- route.pathFromRoot.forEach(r => {
41
- r.url.forEach(s => {
42
- paths.push(s.path);
43
- });
44
- });
45
- url = paths.join('/');
46
- return url;
47
- }
48
- /**
49
- * Look at the first two child activated routes of a page route and combine the
50
- * url segments of each. These will contain the paths for the current view that
51
- * correspond to a primary and secondary tab. Assumes the URL structure is
52
- * /{page}/{primary}/{secondary}
53
- * @param pageRoute - The ActivatedRoute for the 'page' portion of the url. E.g. meter/:meterId
54
- */
55
- getViewUrlSegments(pageRoute) {
56
- let segments = [];
57
- const primaryViewRoute = pageRoute.firstChild;
58
- if (primaryViewRoute) {
59
- segments = segments.concat(primaryViewRoute.snapshot.url);
60
- const secondaryViewRoute = primaryViewRoute.firstChild;
61
- if (secondaryViewRoute) {
62
- segments = segments.concat(secondaryViewRoute.snapshot.url);
63
- }
64
- }
65
- return segments;
66
- }
67
- /**
68
- * Returns the 'last firstChild' of the provided route tree
69
- * @param route - ActivatedRoute
70
- */
71
- getLastRouteDescendant(route) {
72
- while (route.firstChild) {
73
- route = route.firstChild;
74
- }
75
- return route;
76
- }
77
- /**
78
- * Wrap code that will force the user to navigate based on some network call in a piece of logic that will cancel the action if there is another
79
- * navigation event while we wait for the call to complete. This is a common problem with trying to pick a default child when a user switches between modules.
80
- * @param asyncCall The async code to execute while watching for router navigation events. This code always executed and the result is returned
81
- * @param doIfNoNavigation The code to execute only if no navigation events happen while asyncCall is executing. It is passed the result of the async call
82
- * @param router The router instance to listen for navigation events.
83
- */
84
- async executeWithNavigationWatcher(asyncCall, doIfNoNavigation, router) {
85
- let eventOccurred = false;
86
- let subscription = router.events.pipe(filter(e => e instanceof NavigationStart || e instanceof NavigationEnd)).subscribe(() => {
87
- eventOccurred = true;
88
- });
89
- try {
90
- let result = await asyncCall();
91
- if (!eventOccurred) {
92
- await doIfNoNavigation(result);
93
- }
94
- subscription.unsubscribe();
95
- return result;
96
- }
97
- catch (error) {
98
- subscription.unsubscribe();
99
- throw error;
100
- }
101
- }
102
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RouterHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
103
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RouterHelper, providedIn: 'root' }); }
104
- }
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RouterHelper, decorators: [{
106
- type: Injectable,
107
- args: [{
108
- providedIn: 'root'
109
- }]
110
- }] });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWhlbHBlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUvcm91dGVyLWhlbHBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUEwQyxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUF3QyxNQUFNLGlCQUFpQixDQUFDO0FBQ2xLLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLeEMsTUFBTSxPQUFPLFlBQVk7SUFDdkI7Ozs7O09BS0c7SUFDSSxrQkFBa0IsQ0FBQyxLQUE2QjtRQUNyRCxNQUFNLE1BQU0sR0FBVyxFQUFFLENBQUM7UUFDMUIsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDcEMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNuQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0MsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLG9CQUFvQixDQUFDLEtBQTZCO1FBQ3ZELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxPQUFPLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLG9CQUFvQixDQUFDLEtBQTZCO1FBQ3ZELElBQUksR0FBRyxHQUFVLEVBQUUsQ0FBQztRQUNwQixNQUFNLEtBQUssR0FBYSxFQUFFLENBQUM7UUFDM0IsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2hCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxrQkFBa0IsQ0FBQyxTQUF5QjtRQUNqRCxJQUFJLFFBQVEsR0FBaUIsRUFBRSxDQUFDO1FBRWhDLE1BQU0sZ0JBQWdCLEdBQTBCLFNBQVMsQ0FBQyxVQUFVLENBQUM7UUFDckUsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3JCLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxRCxNQUFNLGtCQUFrQixHQUEwQixnQkFBZ0IsQ0FBQyxVQUFVLENBQUM7WUFDOUUsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO2dCQUN2QixRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUQsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksc0JBQXNCLENBQUMsS0FBcUI7UUFDakQsT0FBTyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDeEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDM0IsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBSSxTQUEyQixFQUFFLGdCQUE4QyxFQUFFLE1BQWM7UUFDdEksSUFBSSxhQUFhLEdBQVksS0FBSyxDQUFDO1FBQ25DLElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNuQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksZUFBZSxJQUFJLENBQUMsWUFBWSxhQUFhLENBQUMsQ0FDeEUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2YsYUFBYSxHQUFHLElBQUksQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQztZQUNILElBQUksTUFBTSxHQUFHLE1BQU0sU0FBUyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNuQixNQUFNLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLENBQUM7WUFDRCxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDM0IsT0FBTyxNQUFNLENBQUM7UUFFaEIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDM0IsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQzsrR0ExR1UsWUFBWTttSEFBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGNvbnZlcnRUb1BhcmFtTWFwLCBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uU3RhcnQsIFBhcmFtTWFwLCBQYXJhbXMsIFJvdXRlciwgVXJsU2VnbWVudCB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUm91dGVySGVscGVyIHtcclxuICAvKipcclxuICAgKiBUcmF2ZXJzZXMgdGhlIHBhdGhGcm9tUm9vdCBhbmQgY29tYmluZXMgYWxsIG9mIHRoZSByb3V0ZSBwYXJhbWV0ZXJzIGludG9cclxuICAgKiBvbmUgUGFyYW1zIG9iamVjdCBhbmQgcmV0dXJucyBpdFxyXG4gICAqIEBwYXJhbSByb3V0ZSAtIEFjdGl2YXRlZFJvdXRlU25hcHNob3RcclxuICAgKiBAc2VlIGh0dHBzOi8vYW5ndWxhci5pby9hcGkvcm91dGVyL0FjdGl2YXRlZFJvdXRlU25hcHNob3QjcGF0aEZyb21Sb290XHJcbiAgICovXHJcbiAgcHVibGljIGdldEZ1bGxSb3V0ZVBhcmFtcyhyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IFBhcmFtcyB7XHJcbiAgICBjb25zdCBwYXJhbXM6IFBhcmFtcyA9IHt9O1xyXG4gICAgcm91dGUucGF0aEZyb21Sb290LmZvckVhY2goc25hcHNob3QgPT4ge1xyXG4gICAgICBzbmFwc2hvdC5wYXJhbU1hcC5rZXlzLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICBwYXJhbXNba2V5XSA9IHNuYXBzaG90LnBhcmFtTWFwLmdldChrZXkpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHBhcmFtcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyYXZlcnNlcyB0aGUgcGF0aEZyb21Sb290IGFuZCBjb21iaW5lcyBhbGwgb2YgdGhlIHJvdXRlIHBhcmFtdGVycyBpbnRvXHJcbiAgICogb25lIFBhcmFtTWFwIGFuZCByZXR1cm5zIGl0XHJcbiAgICogQHBhcmFtIHJvdXRlIC0gQWN0aXZhdGVkUm91dGVTbmFwc2hvdFxyXG4gICAqIEBzZWUgaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9yb3V0ZXIvQWN0aXZhdGVkUm91dGVTbmFwc2hvdCNwYXRoRnJvbVJvb3RcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0RnVsbFJvdXRlUGFyYW1NYXAocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBQYXJhbU1hcCB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmdldEZ1bGxSb3V0ZVBhcmFtcyhyb3V0ZSk7XHJcbiAgICByZXR1cm4gY29udmVydFRvUGFyYW1NYXAocGFyYW1zKTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogVHJhdmVyc2VzIHRoZSBwYXRoRnJvbVJvb3QgYW5kIGNvbWJpbmVzIGFsbCBvZiB0aGUgcm91dGUgcGF0aHMgaW50b1xyXG4gICAqIGEgdXJsIGZyb20gcm9vdCB0byB0aGUgcHJvdmlkZWQgYWN0aXZhdGVkIHJvdXRlLlxyXG4gICAqIEBwYXJhbSByb3V0ZSAtIEFjdGl2YXRlZFJvdXRlU25hcHNob3RcclxuICAgKiBAc2VlIGh0dHBzOi8vYW5ndWxhci5pby9hcGkvcm91dGVyL0FjdGl2YXRlZFJvdXRlU25hcHNob3QjcGF0aEZyb21Sb290XHJcbiAgICovXHJcbiAgcHVibGljIHNlcmlhbGl6ZVVybEZyb21Sb290KHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogc3RyaW5nIHtcclxuICAgIGxldCB1cmw6c3RyaW5nID0gJyc7XHJcbiAgICBjb25zdCBwYXRoczogc3RyaW5nW10gPSBbXTtcclxuICAgIHJvdXRlLnBhdGhGcm9tUm9vdC5mb3JFYWNoKHIgPT4ge1xyXG4gICAgICByLnVybC5mb3JFYWNoKHMgPT4ge1xyXG4gICAgICAgIHBhdGhzLnB1c2gocy5wYXRoKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHVybCA9IHBhdGhzLmpvaW4oJy8nKTtcclxuICAgIHJldHVybiB1cmw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMb29rIGF0IHRoZSBmaXJzdCB0d28gY2hpbGQgYWN0aXZhdGVkIHJvdXRlcyBvZiBhIHBhZ2Ugcm91dGUgYW5kIGNvbWJpbmUgdGhlIFxyXG4gICAqIHVybCBzZWdtZW50cyBvZiBlYWNoLiBUaGVzZSB3aWxsIGNvbnRhaW4gdGhlIHBhdGhzIGZvciB0aGUgY3VycmVudCB2aWV3IHRoYXRcclxuICAgKiBjb3JyZXNwb25kIHRvIGEgcHJpbWFyeSBhbmQgc2Vjb25kYXJ5IHRhYi4gQXNzdW1lcyB0aGUgVVJMIHN0cnVjdHVyZSBpcyBcclxuICAgKiAve3BhZ2V9L3twcmltYXJ5fS97c2Vjb25kYXJ5fVxyXG4gICAqIEBwYXJhbSBwYWdlUm91dGUgLSBUaGUgQWN0aXZhdGVkUm91dGUgZm9yIHRoZSAncGFnZScgcG9ydGlvbiBvZiB0aGUgdXJsLiBFLmcuIG1ldGVyLzptZXRlcklkXHJcbiAgICovXHJcbiAgcHVibGljIGdldFZpZXdVcmxTZWdtZW50cyhwYWdlUm91dGU6IEFjdGl2YXRlZFJvdXRlKTogVXJsU2VnbWVudFtdIHtcclxuICAgIGxldCBzZWdtZW50czogVXJsU2VnbWVudFtdID0gW107XHJcblxyXG4gICAgY29uc3QgcHJpbWFyeVZpZXdSb3V0ZTogQWN0aXZhdGVkUm91dGUgfCBudWxsID0gcGFnZVJvdXRlLmZpcnN0Q2hpbGQ7XHJcbiAgICBpZiAocHJpbWFyeVZpZXdSb3V0ZSkge1xyXG4gICAgICBzZWdtZW50cyA9IHNlZ21lbnRzLmNvbmNhdChwcmltYXJ5Vmlld1JvdXRlLnNuYXBzaG90LnVybCk7XHJcbiAgICAgIGNvbnN0IHNlY29uZGFyeVZpZXdSb3V0ZTogQWN0aXZhdGVkUm91dGUgfCBudWxsID0gcHJpbWFyeVZpZXdSb3V0ZS5maXJzdENoaWxkO1xyXG4gICAgICBpZiAoc2Vjb25kYXJ5Vmlld1JvdXRlKSB7XHJcbiAgICAgICAgc2VnbWVudHMgPSBzZWdtZW50cy5jb25jYXQoc2Vjb25kYXJ5Vmlld1JvdXRlLnNuYXBzaG90LnVybCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc2VnbWVudHM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSAnbGFzdCBmaXJzdENoaWxkJyBvZiB0aGUgcHJvdmlkZWQgcm91dGUgdHJlZVxyXG4gICAqIEBwYXJhbSByb3V0ZSAtIEFjdGl2YXRlZFJvdXRlXHJcbiAgICovXHJcbiAgcHVibGljIGdldExhc3RSb3V0ZURlc2NlbmRhbnQocm91dGU6IEFjdGl2YXRlZFJvdXRlKTogQWN0aXZhdGVkUm91dGUge1xyXG4gICAgd2hpbGUgKHJvdXRlLmZpcnN0Q2hpbGQpIHtcclxuICAgICAgcm91dGUgPSByb3V0ZS5maXJzdENoaWxkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJvdXRlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV3JhcCBjb2RlIHRoYXQgd2lsbCBmb3JjZSB0aGUgdXNlciB0byBuYXZpZ2F0ZSBiYXNlZCBvbiBzb21lIG5ldHdvcmsgY2FsbCBpbiBhIHBpZWNlIG9mIGxvZ2ljIHRoYXQgd2lsbCBjYW5jZWwgdGhlIGFjdGlvbiBpZiB0aGVyZSBpcyBhbm90aGVyXHJcbiAgICogbmF2aWdhdGlvbiBldmVudCB3aGlsZSB3ZSB3YWl0IGZvciB0aGUgY2FsbCB0byBjb21wbGV0ZS4gVGhpcyBpcyBhIGNvbW1vbiBwcm9ibGVtIHdpdGggdHJ5aW5nIHRvIHBpY2sgYSBkZWZhdWx0IGNoaWxkIHdoZW4gYSB1c2VyIHN3aXRjaGVzIGJldHdlZW4gbW9kdWxlcy5cclxuICAgKiBAcGFyYW0gYXN5bmNDYWxsIFRoZSBhc3luYyBjb2RlIHRvIGV4ZWN1dGUgd2hpbGUgd2F0Y2hpbmcgZm9yIHJvdXRlciBuYXZpZ2F0aW9uIGV2ZW50cy4gVGhpcyBjb2RlIGFsd2F5cyBleGVjdXRlZCBhbmQgdGhlIHJlc3VsdCBpcyByZXR1cm5lZFxyXG4gICAqIEBwYXJhbSBkb0lmTm9OYXZpZ2F0aW9uIFRoZSBjb2RlIHRvIGV4ZWN1dGUgb25seSBpZiBubyBuYXZpZ2F0aW9uIGV2ZW50cyBoYXBwZW4gd2hpbGUgYXN5bmNDYWxsIGlzIGV4ZWN1dGluZy4gSXQgaXMgcGFzc2VkIHRoZSByZXN1bHQgb2YgdGhlIGFzeW5jIGNhbGxcclxuICAgKiBAcGFyYW0gcm91dGVyIFRoZSByb3V0ZXIgaW5zdGFuY2UgdG8gbGlzdGVuIGZvciBuYXZpZ2F0aW9uIGV2ZW50cy5cclxuICAgKi9cclxuICBwdWJsaWMgYXN5bmMgZXhlY3V0ZVdpdGhOYXZpZ2F0aW9uV2F0Y2hlcjxUPihhc3luY0NhbGw6ICgpID0+IFByb21pc2U8VD4sIGRvSWZOb05hdmlnYXRpb246IChyZXN1bHQ6IFQpID0+IFByb21pc2U8dm9pZD4sIHJvdXRlcjogUm91dGVyKTogUHJvbWlzZTxUPiB7XHJcbiAgICBsZXQgZXZlbnRPY2N1cnJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgbGV0IHN1YnNjcmlwdGlvbiA9IHJvdXRlci5ldmVudHMucGlwZShcclxuICAgICAgZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCB8fCBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZClcclxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgZXZlbnRPY2N1cnJlZCA9IHRydWU7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBsZXQgcmVzdWx0ID0gYXdhaXQgYXN5bmNDYWxsKCk7XHJcbiAgICAgIGlmICghZXZlbnRPY2N1cnJlZCkge1xyXG4gICAgICAgIGF3YWl0IGRvSWZOb05hdmlnYXRpb24ocmVzdWx0KTtcclxuICAgICAgfVxyXG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgXHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,89 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class ScrollService {
4
- constructor() { }
5
- /**
6
- * Given a container and the target element to scroll to, we will set the scroll top on
7
- * the container to bring the target into view.
8
- *
9
- * @param scrollContainerSelector A valid CSS selector string for the scroll container.
10
- * @param targetElementSelector A valid CSS selector string for the target element.
11
- * @param topPadding The amount of space to leave above the target
12
- * to keep it from being pinned to the top of the scrollContainer. Defaults
13
- * to 32px, the default height of a menu item.
14
- */
15
- scrollToItem(scrollContainerSelector, targetElementSelector, topPadding = 32) {
16
- let scrollContainer = document.querySelector(scrollContainerSelector);
17
- if (!scrollContainer) {
18
- return;
19
- }
20
- let targetElement = scrollContainer.querySelector(targetElementSelector);
21
- if (!targetElement) {
22
- return;
23
- }
24
- let targetRect = targetElement.getBoundingClientRect();
25
- let containerRect = scrollContainer.getBoundingClientRect();
26
- // Only scroll if the target is outside of the view bounds of the container
27
- if (targetRect.bottom > containerRect.bottom || targetRect.top < containerRect.top) {
28
- scrollContainer.scrollTop =
29
- (targetRect.top - containerRect.top) + scrollContainer.scrollTop - topPadding;
30
- }
31
- }
32
- /**
33
- * Return the value of the scrollTop property for an HTMLElement that matches the selector
34
- * @param scrollContainerSelector A valid CSS selector
35
- */
36
- getCurrentScrollPosition(scrollContainerSelector) {
37
- let scrollContainer = document.querySelector(scrollContainerSelector);
38
- if (scrollContainer) {
39
- return scrollContainer.scrollTop;
40
- }
41
- else {
42
- console.error(`Scroll container '${scrollContainerSelector}' does not exist.`);
43
- return 0;
44
- }
45
- }
46
- /**
47
- * Set the scrollTop of an HTMLElement that matches the selector to a specific position
48
- * @param scrollContainerSelector A valid CSS selector
49
- * @param position
50
- */
51
- scrollToPosition(scrollContainerSelector, position) {
52
- let scrollContainer = document.querySelector(scrollContainerSelector);
53
- if (scrollContainer) {
54
- scrollContainer.scrollTop = position;
55
- }
56
- else {
57
- console.error(`Scroll container '${scrollContainerSelector}' does not exist.`);
58
- }
59
- }
60
- /**
61
- * Given a container and the target element to scroll to, we will set the scroll top on
62
- * the container to bring the target into view, with the item in the center of the scroll container.
63
- *
64
- * @param scrollContainerSelector A valid CSS selector string for the scroll container.
65
- * @param targetElementSelector A valid CSS selector string for the target element.
66
- */
67
- scrollItemCentered(scrollContainerSelector, targetElementSelector) {
68
- try {
69
- let scrollContainer = document.querySelector(scrollContainerSelector);
70
- if (scrollContainer) {
71
- let containerHeight = scrollContainer.getBoundingClientRect().height;
72
- // Pad the top with half of the height of the container to put the target in the middle
73
- this.scrollToItem(scrollContainerSelector, targetElementSelector, containerHeight * .5);
74
- }
75
- }
76
- catch (error) {
77
- console.error(`Error scrolling target into view. Container selector: ${scrollContainerSelector}. Target selector: ${targetElementSelector}`, error);
78
- }
79
- }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ScrollService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
81
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ScrollService, providedIn: 'root' }); }
82
- }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ScrollService, decorators: [{
84
- type: Injectable,
85
- args: [{
86
- providedIn: 'root'
87
- }]
88
- }], ctorParameters: () => [] });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvY29yZS9zY3JvbGwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sYUFBYTtJQUV0QixnQkFBZ0IsQ0FBQztJQUVqQjs7Ozs7Ozs7O09BU0c7SUFDSSxZQUFZLENBQUMsdUJBQStCLEVBQUUscUJBQTZCLEVBQUUsVUFBVSxHQUFHLEVBQUU7UUFDL0YsSUFBSSxlQUFlLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNuQixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksYUFBYSxHQUFHLGVBQWUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDakIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLFVBQVUsR0FBRyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN2RCxJQUFJLGFBQWEsR0FBRyxlQUFlLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUU1RCwyRUFBMkU7UUFDM0UsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDLEdBQUcsR0FBRyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDakYsZUFBZSxDQUFDLFNBQVM7Z0JBQ3JCLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsZUFBZSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7UUFDdEYsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSx3QkFBd0IsQ0FBQyx1QkFBK0I7UUFDM0QsSUFBSSxlQUFlLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3RFLElBQUksZUFBZSxFQUFFLENBQUM7WUFDbEIsT0FBTyxlQUFlLENBQUMsU0FBUyxDQUFDO1FBQ3JDLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsdUJBQXVCLG1CQUFtQixDQUFDLENBQUM7WUFDL0UsT0FBTyxDQUFDLENBQUM7UUFDYixDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxnQkFBZ0IsQ0FBQyx1QkFBK0IsRUFBRSxRQUFnQjtRQUNyRSxJQUFJLGVBQWUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDdEUsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNsQixlQUFlLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUN6QyxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sQ0FBQyxLQUFLLENBQUMscUJBQXFCLHVCQUF1QixtQkFBbUIsQ0FBQyxDQUFDO1FBQ25GLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksa0JBQWtCLENBQUMsdUJBQStCLEVBQUUscUJBQTZCO1FBQ3BGLElBQUksQ0FBQztZQUNELElBQUksZUFBZSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUN0RSxJQUFJLGVBQWUsRUFBRSxDQUFDO2dCQUNsQixJQUFJLGVBQWUsR0FBRyxlQUFlLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxNQUFNLENBQUM7Z0JBQ3JFLHVGQUF1RjtnQkFDdkYsSUFBSSxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEdBQUcsRUFBRSxDQUFDLENBQUE7WUFDM0YsQ0FBQztRQUNMLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyx5REFBeUQsdUJBQXVCLHVCQUF1QixxQkFBcUIsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pKLENBQUM7SUFDTCxDQUFDOytHQWhGUSxhQUFhO21IQUFiLGFBQWEsY0FGVixNQUFNOzs0RkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTY3JvbGxTZXJ2aWNlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2l2ZW4gYSBjb250YWluZXIgYW5kIHRoZSB0YXJnZXQgZWxlbWVudCB0byBzY3JvbGwgdG8sIHdlIHdpbGwgc2V0IHRoZSBzY3JvbGwgdG9wIG9uXHJcbiAgICAgKiAgdGhlIGNvbnRhaW5lciB0byBicmluZyB0aGUgdGFyZ2V0IGludG8gdmlldy5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gc2Nyb2xsQ29udGFpbmVyU2VsZWN0b3IgQSB2YWxpZCBDU1Mgc2VsZWN0b3Igc3RyaW5nIGZvciB0aGUgc2Nyb2xsIGNvbnRhaW5lci5cclxuICAgICAqIEBwYXJhbSB0YXJnZXRFbGVtZW50U2VsZWN0b3IgQSB2YWxpZCBDU1Mgc2VsZWN0b3Igc3RyaW5nIGZvciB0aGUgdGFyZ2V0IGVsZW1lbnQuXHJcbiAgICAgKiBAcGFyYW0gdG9wUGFkZGluZyBUaGUgYW1vdW50IG9mIHNwYWNlIHRvIGxlYXZlIGFib3ZlIHRoZSB0YXJnZXRcclxuICAgICAqIHRvIGtlZXAgaXQgZnJvbSBiZWluZyBwaW5uZWQgdG8gdGhlIHRvcCBvZiB0aGUgc2Nyb2xsQ29udGFpbmVyLiBEZWZhdWx0c1xyXG4gICAgICogdG8gMzJweCwgdGhlIGRlZmF1bHQgaGVpZ2h0IG9mIGEgbWVudSBpdGVtLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2Nyb2xsVG9JdGVtKHNjcm9sbENvbnRhaW5lclNlbGVjdG9yOiBzdHJpbmcsIHRhcmdldEVsZW1lbnRTZWxlY3Rvcjogc3RyaW5nLCB0b3BQYWRkaW5nID0gMzIpOiB2b2lkIHtcclxuICAgICAgICBsZXQgc2Nyb2xsQ29udGFpbmVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzY3JvbGxDb250YWluZXJTZWxlY3Rvcik7XHJcbiAgICAgICAgaWYgKCFzY3JvbGxDb250YWluZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgdGFyZ2V0RWxlbWVudCA9IHNjcm9sbENvbnRhaW5lci5xdWVyeVNlbGVjdG9yKHRhcmdldEVsZW1lbnRTZWxlY3Rvcik7XHJcbiAgICAgICAgaWYgKCF0YXJnZXRFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCB0YXJnZXRSZWN0ID0gdGFyZ2V0RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICBsZXQgY29udGFpbmVyUmVjdCA9IHNjcm9sbENvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHJcbiAgICAgICAgLy8gT25seSBzY3JvbGwgaWYgdGhlIHRhcmdldCBpcyBvdXRzaWRlIG9mIHRoZSB2aWV3IGJvdW5kcyBvZiB0aGUgY29udGFpbmVyXHJcbiAgICAgICAgaWYgKHRhcmdldFJlY3QuYm90dG9tID4gY29udGFpbmVyUmVjdC5ib3R0b20gfHwgdGFyZ2V0UmVjdC50b3AgPCBjb250YWluZXJSZWN0LnRvcCkge1xyXG4gICAgICAgICAgICBzY3JvbGxDb250YWluZXIuc2Nyb2xsVG9wID1cclxuICAgICAgICAgICAgICAgICh0YXJnZXRSZWN0LnRvcCAtIGNvbnRhaW5lclJlY3QudG9wKSArIHNjcm9sbENvbnRhaW5lci5zY3JvbGxUb3AgLSB0b3BQYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybiB0aGUgdmFsdWUgb2YgdGhlIHNjcm9sbFRvcCBwcm9wZXJ0eSBmb3IgYW4gSFRNTEVsZW1lbnQgdGhhdCBtYXRjaGVzIHRoZSBzZWxlY3RvclxyXG4gICAgICogQHBhcmFtIHNjcm9sbENvbnRhaW5lclNlbGVjdG9yIEEgdmFsaWQgQ1NTIHNlbGVjdG9yXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRDdXJyZW50U2Nyb2xsUG9zaXRpb24oc2Nyb2xsQ29udGFpbmVyU2VsZWN0b3I6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICAgICAgbGV0IHNjcm9sbENvbnRhaW5lciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2Nyb2xsQ29udGFpbmVyU2VsZWN0b3IpO1xyXG4gICAgICAgIGlmIChzY3JvbGxDb250YWluZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHNjcm9sbENvbnRhaW5lci5zY3JvbGxUb3A7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgU2Nyb2xsIGNvbnRhaW5lciAnJHtzY3JvbGxDb250YWluZXJTZWxlY3Rvcn0nIGRvZXMgbm90IGV4aXN0LmApO1xyXG4gICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXQgdGhlIHNjcm9sbFRvcCBvZiBhbiBIVE1MRWxlbWVudCB0aGF0IG1hdGNoZXMgdGhlIHNlbGVjdG9yIHRvIGEgc3BlY2lmaWMgcG9zaXRpb25cclxuICAgICAqIEBwYXJhbSBzY3JvbGxDb250YWluZXJTZWxlY3RvciBBIHZhbGlkIENTUyBzZWxlY3RvclxyXG4gICAgICogQHBhcmFtIHBvc2l0aW9uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzY3JvbGxUb1Bvc2l0aW9uKHNjcm9sbENvbnRhaW5lclNlbGVjdG9yOiBzdHJpbmcsIHBvc2l0aW9uOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBsZXQgc2Nyb2xsQ29udGFpbmVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzY3JvbGxDb250YWluZXJTZWxlY3Rvcik7XHJcbiAgICAgICAgaWYgKHNjcm9sbENvbnRhaW5lcikge1xyXG4gICAgICAgICAgICBzY3JvbGxDb250YWluZXIuc2Nyb2xsVG9wID0gcG9zaXRpb247XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgU2Nyb2xsIGNvbnRhaW5lciAnJHtzY3JvbGxDb250YWluZXJTZWxlY3Rvcn0nIGRvZXMgbm90IGV4aXN0LmApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqICBHaXZlbiBhIGNvbnRhaW5lciBhbmQgdGhlIHRhcmdldCBlbGVtZW50IHRvIHNjcm9sbCB0bywgd2Ugd2lsbCBzZXQgdGhlIHNjcm9sbCB0b3Agb25cclxuICAgICAqICB0aGUgY29udGFpbmVyIHRvIGJyaW5nIHRoZSB0YXJnZXQgaW50byB2aWV3LCB3aXRoIHRoZSBpdGVtIGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcm9sbCBjb250YWluZXIuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHNjcm9sbENvbnRhaW5lclNlbGVjdG9yIEEgdmFsaWQgQ1NTIHNlbGVjdG9yIHN0cmluZyBmb3IgdGhlIHNjcm9sbCBjb250YWluZXIuXHJcbiAgICAgKiBAcGFyYW0gdGFyZ2V0RWxlbWVudFNlbGVjdG9yIEEgdmFsaWQgQ1NTIHNlbGVjdG9yIHN0cmluZyBmb3IgdGhlIHRhcmdldCBlbGVtZW50LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2Nyb2xsSXRlbUNlbnRlcmVkKHNjcm9sbENvbnRhaW5lclNlbGVjdG9yOiBzdHJpbmcsIHRhcmdldEVsZW1lbnRTZWxlY3Rvcjogc3RyaW5nKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgbGV0IHNjcm9sbENvbnRhaW5lciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2Nyb2xsQ29udGFpbmVyU2VsZWN0b3IpO1xyXG4gICAgICAgICAgICBpZiAoc2Nyb2xsQ29udGFpbmVyKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgY29udGFpbmVySGVpZ2h0ID0gc2Nyb2xsQ29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcclxuICAgICAgICAgICAgICAgIC8vIFBhZCB0aGUgdG9wIHdpdGggaGFsZiBvZiB0aGUgaGVpZ2h0IG9mIHRoZSBjb250YWluZXIgdG8gcHV0IHRoZSB0YXJnZXQgaW4gdGhlIG1pZGRsZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxUb0l0ZW0oc2Nyb2xsQ29udGFpbmVyU2VsZWN0b3IsIHRhcmdldEVsZW1lbnRTZWxlY3RvciwgY29udGFpbmVySGVpZ2h0ICogLjUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBzY3JvbGxpbmcgdGFyZ2V0IGludG8gdmlldy4gQ29udGFpbmVyIHNlbGVjdG9yOiAke3Njcm9sbENvbnRhaW5lclNlbGVjdG9yfS4gVGFyZ2V0IHNlbGVjdG9yOiAgJHt0YXJnZXRFbGVtZW50U2VsZWN0b3J9YCwgZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,16 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /** Default No-op telemetry implementation */
4
- export class TelemetryTrackerService {
5
- trackPageView(pageName, url, properties) { }
6
- trackEvent(name, properties, measurements) { }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TelemetryTrackerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
8
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TelemetryTrackerService, providedIn: 'root' }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TelemetryTrackerService, decorators: [{
11
- type: Injectable,
12
- args: [{
13
- providedIn: 'root'
14
- }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZW1ldHJ5LXRyYWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlL3RlbGVtZXRyeS10cmFja2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsNkNBQTZDO0FBQzdDLE1BQU0sT0FBTyx1QkFBdUI7SUFDM0IsYUFBYSxDQUFDLFFBQWdCLEVBQUUsR0FBVSxFQUFFLFVBQStDLElBQUksQ0FBQztJQUNoRyxVQUFVLENBQUMsSUFBWSxFQUFFLFVBQW1DLEVBQUUsWUFBb0MsSUFBSSxDQUFDOytHQUZuRyx1QkFBdUI7bUhBQXZCLHVCQUF1QixjQUh0QixNQUFNOzs0RkFHUCx1QkFBdUI7a0JBSm5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG4vKiogRGVmYXVsdCBOby1vcCB0ZWxlbWV0cnkgaW1wbGVtZW50YXRpb24gKi9cclxuZXhwb3J0IGNsYXNzIFRlbGVtZXRyeVRyYWNrZXJTZXJ2aWNlIHtcclxuICBwdWJsaWMgdHJhY2tQYWdlVmlldyhwYWdlTmFtZTogc3RyaW5nLCB1cmw6c3RyaW5nLCBwcm9wZXJ0aWVzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfSkgeyB9XHJcbiAgcHVibGljIHRyYWNrRXZlbnQobmFtZTogc3RyaW5nLCBwcm9wZXJ0aWVzPzoge1trZXk6IHN0cmluZ106c3RyaW5nfSwgbWVhc3VyZW1lbnRzPzoge1t2YWw6c3RyaW5nXTpudW1iZXJ9KSB7IH1cclxufVxyXG4iXX0=
@@ -1,38 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./telemetry-tracker.service";
4
- export class TelemetryService {
5
- constructor(telemetryTrackerService) {
6
- this.telemetryTrackerService = telemetryTrackerService;
7
- }
8
- /**
9
- * Tracks a Page View / State change
10
- *
11
- * @param {string} pageName
12
- * @param {string} url
13
- * @memberof TelemetryService
14
- */
15
- trackPageView(pageName, url, properties) {
16
- this.telemetryTrackerService.trackPageView(pageName, url, properties);
17
- }
18
- /**
19
- * Tracks a generic event
20
- *
21
- * @param {string} name
22
- * @param {{[key: string]:string}} [properties]
23
- * @param {{[val:string]:number}} [measurements]
24
- * @memberof TelemetryService
25
- */
26
- trackEvent(name, properties, measurements) {
27
- this.telemetryTrackerService.trackEvent(name, properties, measurements);
28
- }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TelemetryService, deps: [{ token: i1.TelemetryTrackerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
30
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TelemetryService, providedIn: 'root' }); }
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TelemetryService, decorators: [{
33
- type: Injectable,
34
- args: [{
35
- providedIn: 'root'
36
- }]
37
- }], ctorParameters: () => [{ type: i1.TelemetryTrackerService }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZW1ldHJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvY29yZS90ZWxlbWV0cnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixZQUFvQix1QkFBZ0Q7UUFBaEQsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtJQUFHLENBQUM7SUFFeEU7Ozs7OztPQU1HO0lBQ0ksYUFBYSxDQUFDLFFBQWdCLEVBQUUsR0FBVSxFQUFFLFVBQStDO1FBQ2hHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLFVBQVUsQ0FBQyxJQUFZLEVBQUUsVUFBbUMsRUFBRSxZQUFvQztRQUN2RyxJQUFJLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDMUUsQ0FBQzsrR0F6QlUsZ0JBQWdCO21IQUFoQixnQkFBZ0IsY0FGZixNQUFNOzs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUZWxlbWV0cnlUcmFja2VyU2VydmljZSB9IGZyb20gJy4vdGVsZW1ldHJ5LXRyYWNrZXIuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZWxlbWV0cnlTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0ZWxlbWV0cnlUcmFja2VyU2VydmljZTogVGVsZW1ldHJ5VHJhY2tlclNlcnZpY2UpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyYWNrcyBhIFBhZ2UgVmlldyAvIFN0YXRlIGNoYW5nZSBcclxuICAgKiBcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFnZU5hbWUgXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCBcclxuICAgKiBAbWVtYmVyb2YgVGVsZW1ldHJ5U2VydmljZVxyXG4gICAqL1xyXG4gIHB1YmxpYyB0cmFja1BhZ2VWaWV3KHBhZ2VOYW1lOiBzdHJpbmcsIHVybDpzdHJpbmcsIHByb3BlcnRpZXM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB9KSB7XHJcbiAgICB0aGlzLnRlbGVtZXRyeVRyYWNrZXJTZXJ2aWNlLnRyYWNrUGFnZVZpZXcocGFnZU5hbWUsIHVybCwgcHJvcGVydGllcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcmFja3MgYSBnZW5lcmljIGV2ZW50XHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgXHJcbiAgICogQHBhcmFtIHt7W2tleTogc3RyaW5nXTpzdHJpbmd9fSBbcHJvcGVydGllc10gXHJcbiAgICogQHBhcmFtIHt7W3ZhbDpzdHJpbmddOm51bWJlcn19IFttZWFzdXJlbWVudHNdIFxyXG4gICAqIEBtZW1iZXJvZiBUZWxlbWV0cnlTZXJ2aWNlXHJcbiAgICovXHJcbiAgcHVibGljIHRyYWNrRXZlbnQobmFtZTogc3RyaW5nLCBwcm9wZXJ0aWVzPzoge1trZXk6IHN0cmluZ106c3RyaW5nfSwgbWVhc3VyZW1lbnRzPzoge1t2YWw6c3RyaW5nXTpudW1iZXJ9KSB7XHJcbiAgICB0aGlzLnRlbGVtZXRyeVRyYWNrZXJTZXJ2aWNlLnRyYWNrRXZlbnQobmFtZSwgcHJvcGVydGllcywgbWVhc3VyZW1lbnRzKTtcclxuICB9XHJcbn1cclxuIl19