@energycap/components 0.41.1-ECAP-26841-date-input-features.20250108-1012 → 0.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/{esm2020 → esm2022}/energycap-components.mjs +4 -4
  2. package/esm2022/lib/components.module.mjs +418 -0
  3. package/esm2022/lib/controls/banner/banner.component.mjs +109 -0
  4. package/esm2022/lib/controls/button/button.component.mjs +106 -0
  5. package/esm2022/lib/controls/button/copy-button-base.directive.mjs +67 -0
  6. package/{esm2020 → esm2022}/lib/controls/button/copy-button.directive.mjs +28 -28
  7. package/esm2022/lib/controls/button/copy-table-button.directive.mjs +43 -0
  8. package/esm2022/lib/controls/calendar/calendar-item.component.mjs +59 -0
  9. package/esm2022/lib/controls/calendar/calendar.component.mjs +200 -0
  10. package/esm2022/lib/controls/calendar/calendar.types.mjs +4 -0
  11. package/esm2022/lib/controls/checkbox/checkbox.component.mjs +140 -0
  12. package/{esm2020 → esm2022}/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +38 -38
  13. package/esm2022/lib/controls/combobox/combobox.component.mjs +879 -0
  14. package/esm2022/lib/controls/date-input/date-input.component.mjs +256 -0
  15. package/esm2022/lib/controls/dropdown/dropdown.component.mjs +243 -0
  16. package/esm2022/lib/controls/file-upload/file-upload.component.mjs +261 -0
  17. package/esm2022/lib/controls/form-control/form-control.component.mjs +104 -0
  18. package/esm2022/lib/controls/form-control-base.mjs +151 -0
  19. package/esm2022/lib/controls/form-control-label/form-control-label.component.mjs +136 -0
  20. package/esm2022/lib/controls/form-group/form-group.component.mjs +261 -0
  21. package/{esm2020 → esm2022}/lib/controls/help-popover/help-popover.component.mjs +31 -31
  22. package/esm2022/lib/controls/item-picker/item-picker.component.mjs +329 -0
  23. package/{esm2020 → esm2022}/lib/controls/link-button/link-button.component.mjs +11 -11
  24. package/esm2022/lib/controls/menu/menu.component.mjs +485 -0
  25. package/{esm2020 → esm2022}/lib/controls/navigation/link-item.mjs +1 -1
  26. package/esm2022/lib/controls/navigation/nav-group.mjs +39 -0
  27. package/esm2022/lib/controls/navigation/nav-item-active.directive.mjs +92 -0
  28. package/{esm2020 → esm2022}/lib/controls/navigation/nav-item.mjs +1 -1
  29. package/esm2022/lib/controls/numericbox/numericbox.component.mjs +372 -0
  30. package/esm2022/lib/controls/popover/popover.component.mjs +117 -0
  31. package/{esm2020 → esm2022}/lib/controls/radio-button/radio-button-option.mjs +2 -2
  32. package/esm2022/lib/controls/radio-button/radio-button.component.mjs +82 -0
  33. package/esm2022/lib/controls/select/select.component.mjs +88 -0
  34. package/esm2022/lib/controls/tabs/tabs.component.mjs +47 -0
  35. package/esm2022/lib/controls/textbox/textbox.component.mjs +155 -0
  36. package/esm2022/lib/core/cache.service.mjs +105 -0
  37. package/esm2022/lib/core/custom-validators.mjs +29 -0
  38. package/esm2022/lib/core/date-time-helper.mjs +220 -0
  39. package/esm2022/lib/core/error.service.mjs +61 -0
  40. package/esm2022/lib/core/router-helper.service.mjs +111 -0
  41. package/esm2022/lib/core/scroll.service.mjs +89 -0
  42. package/{esm2020 → esm2022}/lib/core/telemetry-tracker.service.mjs +16 -16
  43. package/{esm2020 → esm2022}/lib/core/telemetry.service.mjs +38 -38
  44. package/esm2022/lib/core/validation-message.service.mjs +185 -0
  45. package/{esm2020 → esm2022}/lib/core/validation-patterns.mjs +30 -30
  46. package/esm2022/lib/core/window.service.mjs +186 -0
  47. package/esm2022/lib/display/app-bar/app-bar.component.mjs +46 -0
  48. package/esm2022/lib/display/avatar/avatar.component.mjs +67 -0
  49. package/esm2022/lib/display/avatar/avatar.service.mjs +64 -0
  50. package/esm2022/lib/display/confirm/confirm.component.mjs +168 -0
  51. package/{esm2020 → esm2022}/lib/display/dialog/dialog-content.mjs +1 -1
  52. package/esm2022/lib/display/dialog/dialog-group/dialog-group.component.mjs +63 -0
  53. package/{esm2020 → esm2022}/lib/display/dialog/dialog-types.mjs +76 -76
  54. package/esm2022/lib/display/dialog/dialog.component.mjs +281 -0
  55. package/{esm2020 → esm2022}/lib/display/dialog/dialog.service.mjs +71 -71
  56. package/{esm2020 → esm2022}/lib/display/help/help-types.mjs +1 -1
  57. package/esm2022/lib/display/hierarchy/hierarchy-base.mjs +111 -0
  58. package/{esm2020 → esm2022}/lib/display/hierarchy/hierarchy-mocks.spec.mjs +53 -53
  59. package/esm2022/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +61 -0
  60. package/esm2022/lib/display/item-display/item-display.component.mjs +81 -0
  61. package/esm2022/lib/display/json-display/json-display.component.mjs +47 -0
  62. package/esm2022/lib/display/resizable/resizable-base.mjs +120 -0
  63. package/{esm2020 → esm2022}/lib/display/resizable/resizable.component.mjs +52 -52
  64. package/{esm2020 → esm2022}/lib/display/spinner/spinner.component.mjs +12 -12
  65. package/esm2022/lib/display/splash/splash.component.mjs +42 -0
  66. package/{esm2020 → esm2022}/lib/display/splash/splash.service.mjs +35 -35
  67. package/{esm2020 → esm2022}/lib/display/table/resizable-column.component.mjs +20 -20
  68. package/esm2022/lib/display/table/resizable-table.directive.mjs +227 -0
  69. package/esm2022/lib/display/table/searchable-table.component.mjs +342 -0
  70. package/{esm2020 → esm2022}/lib/display/table/table-detail-row.component.mjs +19 -19
  71. package/esm2022/lib/display/table/table-locked-column.component.mjs +58 -0
  72. package/{esm2020 → esm2022}/lib/display/table/table-master-header-row.component.mjs +14 -14
  73. package/esm2022/lib/display/table/table-master-row.component.mjs +163 -0
  74. package/esm2022/lib/display/table/table-pagination.component.mjs +155 -0
  75. package/esm2022/lib/display/table/table-selectable-row.component.mjs +235 -0
  76. package/esm2022/lib/display/table/table.component.mjs +249 -0
  77. package/esm2022/lib/display/tags/tag.mjs +18 -0
  78. package/esm2022/lib/display/tags/tags.component.mjs +77 -0
  79. package/esm2022/lib/display/toast/toast/toast.component.mjs +77 -0
  80. package/{esm2020 → esm2022}/lib/display/toast/toast-types.mjs +7 -7
  81. package/{esm2020 → esm2022}/lib/display/toast/toast.service.mjs +35 -35
  82. package/esm2022/lib/display/toast/toaster/toaster.component.mjs +114 -0
  83. package/{esm2020 → esm2022}/lib/display/tooltip/tooltip.component.mjs +28 -28
  84. package/{esm2020 → esm2022}/lib/display/tooltip/tooltip.service.mjs +78 -78
  85. package/esm2022/lib/display/tooltip-directive/tooltip.directive.mjs +173 -0
  86. package/{esm2020 → esm2022}/lib/display/tour/tour-types.mjs +33 -33
  87. package/esm2022/lib/display/tour/tour.component.mjs +398 -0
  88. package/esm2022/lib/display/tour/tour.service.mjs +75 -0
  89. package/esm2022/lib/display/tree/tree.component.mjs +135 -0
  90. package/esm2022/lib/display/view-overlay/view-overlay.component.mjs +58 -0
  91. package/esm2022/lib/shared/directives/click-area-for/click-area-for.directive.mjs +32 -0
  92. package/esm2022/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +111 -0
  93. package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +166 -0
  94. package/esm2022/lib/shared/display/pipes/date-display.pipe.mjs +50 -0
  95. package/esm2022/lib/shared/display/pipes/highlight-text.pipe.mjs +30 -0
  96. package/esm2022/lib/shared/display/pipes/relative-date.pipe.mjs +62 -0
  97. package/esm2022/lib/shared/display/pipes/row-count.pipe.mjs +48 -0
  98. package/esm2022/lib/shared/display/pipes/time-display.pipe.mjs +41 -0
  99. package/esm2022/lib/shared/display.mjs +6 -0
  100. package/esm2022/lib/shared/form-group.helper.mjs +67 -0
  101. package/esm2022/lib/shared/json-helper.mjs +19 -0
  102. package/esm2022/lib/shared/lodash-helper.mjs +52 -0
  103. package/esm2022/lib/shared/page/page-base/page-base.component.mjs +387 -0
  104. package/{esm2020 → esm2022}/lib/shared/page/page-statuses.mjs +22 -22
  105. package/{esm2020 → esm2022}/lib/shared/page/page-title/page-title.component.mjs +23 -23
  106. package/esm2022/lib/shared/page/page-view/page-view.component.mjs +147 -0
  107. package/{esm2020 → esm2022}/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +16 -16
  108. package/{esm2020 → esm2022}/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +16 -16
  109. package/{esm2020 → esm2022}/lib/shared/testing/page-base-component-test-helper.spec.mjs +37 -37
  110. package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +98 -0
  111. package/{esm2020 → esm2022}/lib/shared/testing/public-mocks.spec.mjs +148 -148
  112. package/{esm2020 → esm2022}/lib/shared/testing/spy-factory.spec.mjs +39 -39
  113. package/{esm2020 → esm2022}/lib/shared/testing/translation-mocks.spec.mjs +56 -56
  114. package/{esm2020 → esm2022}/lib/shared/user-preference.service.mjs +17 -17
  115. package/esm2022/lib/shared/wizard/wizard-base/wizard-base.component.mjs +246 -0
  116. package/{esm2020 → esm2022}/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +68 -68
  117. package/{esm2020 → esm2022}/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +18 -18
  118. package/esm2022/public-api.mjs +115 -0
  119. package/{fesm2020 → fesm2022}/energycap-components.mjs +11819 -12972
  120. package/fesm2022/energycap-components.mjs.map +1 -0
  121. package/index.d.ts +5 -5
  122. package/lib/components.module.d.ts +91 -92
  123. package/lib/controls/banner/banner.component.d.ts +50 -50
  124. package/lib/controls/button/button.component.d.ts +78 -78
  125. package/lib/controls/button/copy-button-base.directive.d.ts +20 -20
  126. package/lib/controls/button/copy-button.directive.d.ts +14 -14
  127. package/lib/controls/button/copy-table-button.directive.d.ts +19 -19
  128. package/lib/controls/calendar/calendar-item.component.d.ts +17 -22
  129. package/lib/controls/calendar/calendar.component.d.ts +54 -52
  130. package/lib/controls/calendar/calendar.types.d.ts +7 -11
  131. package/lib/controls/checkbox/checkbox.component.d.ts +65 -65
  132. package/lib/controls/collapsible-toggle/collapsible-toggle.component.d.ts +25 -25
  133. package/lib/controls/combobox/combobox.component.d.ts +418 -418
  134. package/lib/controls/date-input/date-input.component.d.ts +80 -115
  135. package/lib/controls/dropdown/dropdown.component.d.ts +161 -161
  136. package/lib/controls/file-upload/file-upload.component.d.ts +124 -124
  137. package/lib/controls/form-control/form-control.component.d.ts +30 -28
  138. package/lib/controls/form-control-base.d.ts +110 -110
  139. package/lib/controls/form-control-label/form-control-label.component.d.ts +73 -73
  140. package/lib/controls/form-group/form-group.component.d.ts +105 -105
  141. package/lib/controls/help-popover/help-popover.component.d.ts +11 -11
  142. package/lib/controls/item-picker/item-picker.component.d.ts +164 -164
  143. package/lib/controls/link-button/link-button.component.d.ts +5 -5
  144. package/lib/controls/menu/menu.component.d.ts +255 -255
  145. package/lib/controls/navigation/link-item.d.ts +32 -32
  146. package/lib/controls/navigation/nav-group.d.ts +18 -18
  147. package/lib/controls/navigation/nav-item-active.directive.d.ts +42 -42
  148. package/lib/controls/navigation/nav-item.d.ts +31 -31
  149. package/lib/controls/numericbox/numericbox.component.d.ts +148 -148
  150. package/lib/controls/popover/popover.component.d.ts +51 -51
  151. package/lib/controls/radio-button/radio-button-option.d.ts +19 -19
  152. package/lib/controls/radio-button/radio-button.component.d.ts +53 -53
  153. package/lib/controls/select/select.component.d.ts +44 -44
  154. package/lib/controls/tabs/tabs.component.d.ts +30 -30
  155. package/lib/controls/textbox/textbox.component.d.ts +107 -107
  156. package/lib/core/cache.service.d.ts +33 -33
  157. package/lib/core/custom-validators.d.ts +20 -20
  158. package/lib/core/date-time-helper.d.ts +101 -101
  159. package/lib/core/error.service.d.ts +20 -20
  160. package/lib/core/router-helper.service.d.ts +48 -48
  161. package/lib/core/scroll.service.d.ts +36 -36
  162. package/lib/core/telemetry-tracker.service.d.ts +13 -13
  163. package/lib/core/telemetry.service.d.ts +31 -31
  164. package/lib/core/validation-message.service.d.ts +26 -26
  165. package/lib/core/validation-patterns.d.ts +22 -22
  166. package/lib/core/window.service.d.ts +116 -116
  167. package/lib/display/app-bar/app-bar.component.d.ts +20 -20
  168. package/lib/display/avatar/avatar.component.d.ts +35 -35
  169. package/lib/display/avatar/avatar.service.d.ts +24 -24
  170. package/lib/display/confirm/confirm.component.d.ts +123 -123
  171. package/lib/display/dialog/dialog-content.d.ts +19 -19
  172. package/lib/display/dialog/dialog-group/dialog-group.component.d.ts +32 -32
  173. package/lib/display/dialog/dialog-types.d.ts +130 -130
  174. package/lib/display/dialog/dialog.component.d.ts +120 -120
  175. package/lib/display/dialog/dialog.service.d.ts +48 -48
  176. package/lib/display/help/help-types.d.ts +33 -33
  177. package/lib/display/hierarchy/hierarchy-base.d.ts +97 -97
  178. package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +53 -53
  179. package/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.d.ts +34 -34
  180. package/lib/display/item-display/item-display.component.d.ts +43 -43
  181. package/lib/display/json-display/json-display.component.d.ts +16 -16
  182. package/lib/display/resizable/resizable-base.d.ts +67 -67
  183. package/lib/display/resizable/resizable.component.d.ts +31 -31
  184. package/lib/display/spinner/spinner.component.d.ts +5 -5
  185. package/lib/display/splash/splash.component.d.ts +16 -16
  186. package/lib/display/splash/splash.service.d.ts +22 -22
  187. package/lib/display/table/resizable-column.component.d.ts +10 -10
  188. package/lib/display/table/resizable-table.directive.d.ts +93 -93
  189. package/lib/display/table/searchable-table.component.d.ts +206 -206
  190. package/lib/display/table/table-detail-row.component.d.ts +8 -8
  191. package/lib/display/table/table-locked-column.component.d.ts +20 -20
  192. package/lib/display/table/table-master-header-row.component.d.ts +9 -9
  193. package/lib/display/table/table-master-row.component.d.ts +113 -113
  194. package/lib/display/table/table-pagination.component.d.ts +91 -91
  195. package/lib/display/table/table-selectable-row.component.d.ts +102 -102
  196. package/lib/display/table/table.component.d.ts +121 -121
  197. package/lib/display/tags/tag.d.ts +18 -18
  198. package/lib/display/tags/tags.component.d.ts +48 -48
  199. package/lib/display/toast/toast/toast.component.d.ts +23 -23
  200. package/lib/display/toast/toast-types.d.ts +24 -24
  201. package/lib/display/toast/toast.service.d.ts +20 -20
  202. package/lib/display/toast/toaster/toaster.component.d.ts +35 -35
  203. package/lib/display/tooltip/tooltip.component.d.ts +70 -70
  204. package/lib/display/tooltip/tooltip.service.d.ts +16 -16
  205. package/lib/display/tooltip-directive/tooltip.directive.d.ts +44 -44
  206. package/lib/display/tour/tour-types.d.ts +70 -70
  207. package/lib/display/tour/tour.component.d.ts +147 -147
  208. package/lib/display/tour/tour.service.d.ts +38 -38
  209. package/lib/display/tree/tree.component.d.ts +75 -75
  210. package/lib/display/view-overlay/view-overlay.component.d.ts +38 -38
  211. package/lib/shared/directives/click-area-for/click-area-for.directive.d.ts +14 -14
  212. package/lib/shared/directives/if-viewport-width/if-viewport-width.directive.d.ts +60 -60
  213. package/lib/shared/directives/popup/popup-container.directive.d.ts +101 -101
  214. package/lib/shared/display/pipes/date-display.pipe.d.ts +21 -21
  215. package/lib/shared/display/pipes/highlight-text.pipe.d.ts +9 -9
  216. package/lib/shared/display/pipes/relative-date.pipe.d.ts +36 -36
  217. package/lib/shared/display/pipes/row-count.pipe.d.ts +23 -23
  218. package/lib/shared/display/pipes/time-display.pipe.d.ts +18 -18
  219. package/lib/shared/display.d.ts +42 -42
  220. package/lib/shared/form-group.helper.d.ts +31 -31
  221. package/lib/shared/json-helper.d.ts +7 -7
  222. package/lib/shared/lodash-helper.d.ts +18 -18
  223. package/lib/shared/page/page-base/page-base.component.d.ts +259 -259
  224. package/lib/shared/page/page-statuses.d.ts +13 -13
  225. package/lib/shared/page/page-title/page-title.component.d.ts +9 -9
  226. package/lib/shared/page/page-view/page-view.component.d.ts +102 -102
  227. package/lib/shared/testing/copy-button-base-test-injector-factory.spec.d.ts +4 -4
  228. package/lib/shared/testing/hierarchy-base-test-injector-factory.spec.d.ts +4 -4
  229. package/lib/shared/testing/page-base-component-test-helper.spec.d.ts +30 -30
  230. package/lib/shared/testing/page-base-component-test-injector-factory.spec.d.ts +28 -28
  231. package/lib/shared/testing/public-mocks.spec.d.ts +90 -90
  232. package/lib/shared/testing/spy-factory.spec.d.ts +27 -27
  233. package/lib/shared/testing/translation-mocks.spec.d.ts +30 -30
  234. package/lib/shared/user-preference.service.d.ts +13 -13
  235. package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +134 -134
  236. package/lib/shared/wizard/wizard-buttons/wizard-buttons.component.d.ts +27 -27
  237. package/lib/shared/wizard/wizard-progress/wizard-progress.component.d.ts +10 -10
  238. package/package.json +12 -18
  239. package/public-api.d.ts +111 -113
  240. package/schematics/rxjs-7-upgrade/index.d.ts +3 -3
  241. package/schematics/rxjs-7-upgrade/index.js +67 -67
  242. package/schematics/rxjs-7-upgrade/index.js.map +1 -1
  243. package/schematics/rxjs-7-upgrade/schema.d.ts +4 -4
  244. package/schematics/rxjs-7-upgrade/schema.js +2 -2
  245. package/schematics/utilities/typescript.d.ts +7 -7
  246. package/schematics/utilities/typescript.js +41 -41
  247. package/schematics/utilities/workspace.d.ts +8 -8
  248. package/schematics/utilities/workspace.js +71 -71
  249. package/schematics/utilities/workspace.js.map +1 -1
  250. package/src/assets/locales/en_US.json +1 -9
  251. package/esm2020/lib/components.module.mjs +0 -423
  252. package/esm2020/lib/controls/banner/banner.component.mjs +0 -109
  253. package/esm2020/lib/controls/button/button.component.mjs +0 -106
  254. package/esm2020/lib/controls/button/copy-button-base.directive.mjs +0 -67
  255. package/esm2020/lib/controls/button/copy-table-button.directive.mjs +0 -43
  256. package/esm2020/lib/controls/calendar/calendar-item.component.mjs +0 -91
  257. package/esm2020/lib/controls/calendar/calendar.component.mjs +0 -248
  258. package/esm2020/lib/controls/calendar/calendar.types.mjs +0 -2
  259. package/esm2020/lib/controls/checkbox/checkbox.component.mjs +0 -140
  260. package/esm2020/lib/controls/combobox/combobox.component.mjs +0 -879
  261. package/esm2020/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.mjs +0 -57
  262. package/esm2020/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.mjs +0 -62
  263. package/esm2020/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.mjs +0 -100
  264. package/esm2020/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.mjs +0 -101
  265. package/esm2020/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.mjs +0 -76
  266. package/esm2020/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.mjs +0 -79
  267. package/esm2020/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.mjs +0 -210
  268. package/esm2020/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.mjs +0 -81
  269. package/esm2020/lib/controls/date-input/date-input.component.mjs +0 -463
  270. package/esm2020/lib/controls/date-input/date-input.types.mjs +0 -44
  271. package/esm2020/lib/controls/dropdown/dropdown.component.mjs +0 -243
  272. package/esm2020/lib/controls/file-upload/file-upload.component.mjs +0 -261
  273. package/esm2020/lib/controls/form-control/form-control.component.mjs +0 -98
  274. package/esm2020/lib/controls/form-control-base.mjs +0 -151
  275. package/esm2020/lib/controls/form-control-label/form-control-label.component.mjs +0 -136
  276. package/esm2020/lib/controls/form-group/form-group.component.mjs +0 -261
  277. package/esm2020/lib/controls/item-picker/item-picker.component.mjs +0 -329
  278. package/esm2020/lib/controls/menu/menu.component.mjs +0 -485
  279. package/esm2020/lib/controls/navigation/nav-group.mjs +0 -39
  280. package/esm2020/lib/controls/navigation/nav-item-active.directive.mjs +0 -92
  281. package/esm2020/lib/controls/numericbox/numericbox.component.mjs +0 -372
  282. package/esm2020/lib/controls/popover/popover.component.mjs +0 -117
  283. package/esm2020/lib/controls/radio-button/radio-button.component.mjs +0 -82
  284. package/esm2020/lib/controls/select/select.component.mjs +0 -88
  285. package/esm2020/lib/controls/tabs/tabs.component.mjs +0 -47
  286. package/esm2020/lib/controls/textbox/textbox.component.mjs +0 -155
  287. package/esm2020/lib/core/cache.service.mjs +0 -105
  288. package/esm2020/lib/core/custom-validators.mjs +0 -29
  289. package/esm2020/lib/core/date-time-helper.mjs +0 -228
  290. package/esm2020/lib/core/error.service.mjs +0 -61
  291. package/esm2020/lib/core/router-helper.service.mjs +0 -111
  292. package/esm2020/lib/core/scroll.service.mjs +0 -89
  293. package/esm2020/lib/core/validation-message.service.mjs +0 -185
  294. package/esm2020/lib/core/window.service.mjs +0 -186
  295. package/esm2020/lib/display/app-bar/app-bar.component.mjs +0 -46
  296. package/esm2020/lib/display/avatar/avatar.component.mjs +0 -67
  297. package/esm2020/lib/display/avatar/avatar.service.mjs +0 -64
  298. package/esm2020/lib/display/confirm/confirm.component.mjs +0 -168
  299. package/esm2020/lib/display/dialog/dialog-group/dialog-group.component.mjs +0 -63
  300. package/esm2020/lib/display/dialog/dialog.component.mjs +0 -281
  301. package/esm2020/lib/display/hierarchy/hierarchy-base.mjs +0 -111
  302. package/esm2020/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +0 -61
  303. package/esm2020/lib/display/item-display/item-display.component.mjs +0 -81
  304. package/esm2020/lib/display/json-display/json-display.component.mjs +0 -47
  305. package/esm2020/lib/display/resizable/resizable-base.mjs +0 -120
  306. package/esm2020/lib/display/splash/splash.component.mjs +0 -42
  307. package/esm2020/lib/display/table/resizable-table.directive.mjs +0 -227
  308. package/esm2020/lib/display/table/searchable-table.component.mjs +0 -342
  309. package/esm2020/lib/display/table/table-locked-column.component.mjs +0 -58
  310. package/esm2020/lib/display/table/table-master-row.component.mjs +0 -163
  311. package/esm2020/lib/display/table/table-pagination.component.mjs +0 -155
  312. package/esm2020/lib/display/table/table-selectable-row.component.mjs +0 -235
  313. package/esm2020/lib/display/table/table.component.mjs +0 -249
  314. package/esm2020/lib/display/tags/tag.mjs +0 -18
  315. package/esm2020/lib/display/tags/tags.component.mjs +0 -77
  316. package/esm2020/lib/display/toast/toast/toast.component.mjs +0 -77
  317. package/esm2020/lib/display/toast/toaster/toaster.component.mjs +0 -114
  318. package/esm2020/lib/display/tooltip-directive/tooltip.directive.mjs +0 -173
  319. package/esm2020/lib/display/tour/tour.component.mjs +0 -398
  320. package/esm2020/lib/display/tour/tour.service.mjs +0 -75
  321. package/esm2020/lib/display/tree/tree.component.mjs +0 -135
  322. package/esm2020/lib/display/view-overlay/view-overlay.component.mjs +0 -58
  323. package/esm2020/lib/shared/directives/click-area-for/click-area-for.directive.mjs +0 -32
  324. package/esm2020/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +0 -111
  325. package/esm2020/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.mjs +0 -100
  326. package/esm2020/lib/shared/directives/popup/popup-container.directive.mjs +0 -163
  327. package/esm2020/lib/shared/display/pipes/date-display.pipe.mjs +0 -50
  328. package/esm2020/lib/shared/display/pipes/highlight-text.pipe.mjs +0 -30
  329. package/esm2020/lib/shared/display/pipes/relative-date.pipe.mjs +0 -62
  330. package/esm2020/lib/shared/display/pipes/row-count.pipe.mjs +0 -48
  331. package/esm2020/lib/shared/display/pipes/time-display.pipe.mjs +0 -41
  332. package/esm2020/lib/shared/display.mjs +0 -6
  333. package/esm2020/lib/shared/form-group.helper.mjs +0 -67
  334. package/esm2020/lib/shared/json-helper.mjs +0 -19
  335. package/esm2020/lib/shared/lodash-helper.mjs +0 -51
  336. package/esm2020/lib/shared/page/page-base/page-base.component.mjs +0 -387
  337. package/esm2020/lib/shared/page/page-view/page-view.component.mjs +0 -147
  338. package/esm2020/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +0 -98
  339. package/esm2020/lib/shared/wizard/wizard-base/wizard-base.component.mjs +0 -246
  340. package/esm2020/public-api.mjs +0 -117
  341. package/fesm2015/energycap-components.mjs +0 -13371
  342. package/fesm2015/energycap-components.mjs.map +0 -1
  343. package/fesm2020/energycap-components.mjs.map +0 -1
  344. package/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.d.ts +0 -42
  345. package/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.d.ts +0 -21
  346. package/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.d.ts +0 -21
  347. package/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.d.ts +0 -21
  348. package/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.d.ts +0 -18
  349. package/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.d.ts +0 -18
  350. package/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.d.ts +0 -21
  351. package/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.d.ts +0 -20
  352. package/lib/controls/date-input/date-input.types.d.ts +0 -62
  353. package/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.d.ts +0 -23
@@ -1,78 +1,78 @@
1
- import { OverlayConfig } from "@angular/cdk/overlay";
2
- import { ComponentPortal } from "@angular/cdk/portal";
3
- import { Injectable } from "@angular/core";
4
- import { TooltipComponent } from "./tooltip.component";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/cdk/overlay";
7
- export class TooltipService {
8
- constructor(overlay) {
9
- this.overlay = overlay;
10
- this.positions = {
11
- 'top-left': { originX: 'center', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetX: 38 },
12
- 'top-center': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' },
13
- 'top-right': { originX: 'center', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetX: -38 },
14
- 'bottom-left': { originX: 'center', originY: 'bottom', overlayX: 'end', overlayY: 'top', offsetX: 38 },
15
- 'bottom-center': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top' },
16
- 'bottom-right': { originX: 'center', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetX: -38 },
17
- 'left-top': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'top', offsetY: -38 },
18
- 'left-center': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },
19
- 'left-bottom': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'bottom', offsetY: 38 },
20
- 'right-top': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'top', offsetY: -38 },
21
- 'right-center': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },
22
- 'right-bottom': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'bottom', offsetY: 38 }
23
- };
24
- }
25
- /**
26
- * Show a tooltip attached to a specified element
27
- */
28
- show(anchor, position = 'top-center', options) {
29
- const overlayConfig = this.getOverlayConfig(anchor, this.positions[position], options?.width, options?.maxWidth);
30
- const overlayRef = this.overlay.create(overlayConfig);
31
- const contentPortal = new ComponentPortal(TooltipComponent);
32
- const contentViewRef = overlayRef.attach(contentPortal);
33
- contentViewRef.instance.position = position;
34
- contentViewRef.instance.id = options?.id;
35
- contentViewRef.instance.title = options?.title;
36
- contentViewRef.instance.subtitle = options?.subtitle;
37
- contentViewRef.instance.text = options?.text;
38
- contentViewRef.instance.customContent = options?.customContent;
39
- contentViewRef.instance.dismissible = options?.dismissible || false;
40
- contentViewRef.instance.backgroundColor = options?.backgroundColor;
41
- contentViewRef.instance.titleColor = options?.titleColor;
42
- contentViewRef.instance.hideArrow = options?.hideArrow;
43
- contentViewRef.instance.overlayRef = overlayRef;
44
- return contentViewRef.instance;
45
- }
46
- onMove(event, contentRect) {
47
- let callCallback = false;
48
- if (contentRect) {
49
- if (event.clientX > contentRect.right
50
- || event.clientX < contentRect.left
51
- || event.clientY > contentRect.bottom
52
- || event.clientY < contentRect.top) {
53
- callCallback = true;
54
- }
55
- }
56
- return callCallback;
57
- }
58
- getOverlayConfig(element, position, width, maxWidth) {
59
- const positionStrategy = this.overlay.position()
60
- .flexibleConnectedTo(element)
61
- .withPositions([position]);
62
- const config = new OverlayConfig({
63
- positionStrategy: positionStrategy,
64
- width: width,
65
- maxWidth: maxWidth
66
- });
67
- return config;
68
- }
69
- }
70
- TooltipServicefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TooltipService, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable });
71
- TooltipService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TooltipService, providedIn: 'root' });
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TooltipService, decorators: [{
73
- type: Injectable,
74
- args: [{
75
- providedIn: 'root'
76
- }]
77
- }], ctorParameters: function () { return [{ type: i1.Overlay }]; } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9vbHRpcC90b29sdGlwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE4QixhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1DLE1BQU0scUJBQXFCLENBQUM7OztBQUt4RixNQUFNLE9BQU8sY0FBYztJQWlCekIsWUFDVSxPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBaEJsQixjQUFTLEdBQXVDO1lBQ3RELFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUNuRyxZQUFZLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFO1lBQzNGLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3ZHLGFBQWEsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUN0RyxlQUFlLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQzlGLGNBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFHLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25HLGFBQWEsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7WUFDM0YsYUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQ3hHLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BHLGNBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7WUFDNUYsY0FBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEs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aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24sIE92ZXJsYXksIE92ZXJsYXlDb25maWcgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcclxuaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQsIFRvb2x0aXBPcHRpb25zLCBUb29sdGlwUG9zaXRpb24gfSBmcm9tIFwiLi90b29sdGlwLmNvbXBvbmVudFwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbHRpcFNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIHBvc2l0aW9uczoge1trZXk6IHN0cmluZ106IENvbm5lY3RlZFBvc2l0aW9ufSA9IHtcclxuICAgICd0b3AtbGVmdCc6IHsgb3JpZ2luWDogJ2NlbnRlcicsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAnYm90dG9tJywgb2Zmc2V0WDogMzggfSxcclxuICAgICd0b3AtY2VudGVyJzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnY2VudGVyJywgb3ZlcmxheVk6ICdib3R0b20nIH0sXHJcbiAgICAndG9wLXJpZ2h0JzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2JvdHRvbScsIG9mZnNldFg6IC0zOCB9LFxyXG4gICAgJ2JvdHRvbS1sZWZ0JzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICd0b3AnLCBvZmZzZXRYOiAzOCB9LFxyXG4gICAgJ2JvdHRvbS1jZW50ZXInOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCcgfSxcclxuICAgICdib3R0b20tcmlnaHQnOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WDogLTM4IH0sXHJcbiAgICAnbGVmdC10b3AnOiB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WTogLTM4IH0sXHJcbiAgICAnbGVmdC1jZW50ZXInOiB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAnY2VudGVyJyB9LFxyXG4gICAgJ2xlZnQtYm90dG9tJzogeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnY2VudGVyJywgb3ZlcmxheVg6ICdlbmQnLCBvdmVybGF5WTogJ2JvdHRvbScsIG9mZnNldFk6IDM4IH0sXHJcbiAgICAncmlnaHQtdG9wJzogeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcsIG9mZnNldFk6IC0zOCB9LFxyXG4gICAgJ3JpZ2h0LWNlbnRlcic6IHsgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdjZW50ZXInIH0sXHJcbiAgICAncmlnaHQtYm90dG9tJzogeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2JvdHRvbScsIG9mZnNldFk6IDM4IH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5XHJcbiAgKXt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3cgYSB0b29sdGlwIGF0dGFjaGVkIHRvIGEgc3BlY2lmaWVkIGVsZW1lbnRcclxuICAgKi9cclxuICBzaG93KGFuY2hvcjogSFRNTEVsZW1lbnQsIHBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSAndG9wLWNlbnRlcicsIG9wdGlvbnM/OiBUb29sdGlwT3B0aW9ucyk6IFRvb2x0aXBDb21wb25lbnQge1xyXG4gICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IHRoaXMuZ2V0T3ZlcmxheUNvbmZpZyhhbmNob3IsIHRoaXMucG9zaXRpb25zW3Bvc2l0aW9uXSwgb3B0aW9ucz8ud2lkdGgsIG9wdGlvbnM/Lm1heFdpZHRoKTtcclxuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKG92ZXJsYXlDb25maWcpO1xyXG5cclxuICAgIGNvbnN0IGNvbnRlbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFRvb2x0aXBDb21wb25lbnQpO1xyXG4gICAgY29uc3QgY29udGVudFZpZXdSZWYgPSBvdmVybGF5UmVmLmF0dGFjaChjb250ZW50UG9ydGFsKTtcclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLnBvc2l0aW9uID0gcG9zaXRpb247XHJcblxyXG4gICAgY29udGVudFZpZXdSZWYuaW5zdGFuY2UuaWQgPSBvcHRpb25zPy5pZDtcclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLnRpdGxlID0gb3B0aW9ucz8udGl0bGU7XHJcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS5zdWJ0aXRsZSA9IG9wdGlvbnM/LnN1YnRpdGxlO1xyXG4gICAgY29udGVudFZpZXdSZWYuaW5zdGFuY2UudGV4dCA9IG9wdGlvbnM/LnRleHQ7XHJcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS5jdXN0b21Db250ZW50ID0gb3B0aW9ucz8uY3VzdG9tQ29udGVudDtcclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLmRpc21pc3NpYmxlID0gb3B0aW9ucz8uZGlzbWlzc2libGUgfHwgZmFsc2U7XHJcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS5iYWNrZ3JvdW5kQ29sb3IgPSBvcHRpb25zPy5iYWNrZ3JvdW5kQ29sb3I7XHJcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS50aXRsZUNvbG9yID0gb3B0aW9ucz8udGl0bGVDb2xvcjtcclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLmhpZGVBcnJvdyA9IG9wdGlvbnM/LmhpZGVBcnJvdztcclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLm92ZXJsYXlSZWYgPSBvdmVybGF5UmVmO1xyXG5cclxuICAgIHJldHVybiBjb250ZW50Vmlld1JlZi5pbnN0YW5jZTtcclxuICB9XHJcblxyXG4gIG9uTW92ZShldmVudDpNb3VzZUV2ZW50LCBjb250ZW50UmVjdDpET01SZWN0KTpib29sZWFuIHtcclxuICAgIGxldCBjYWxsQ2FsbGJhY2sgPSBmYWxzZTtcclxuICAgIGlmIChjb250ZW50UmVjdCkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgICBldmVudC5jbGllbnRYID4gY29udGVudFJlY3QucmlnaHRcclxuICAgICAgIHx8IGV2ZW50LmNsaWVudFggPCBjb250ZW50UmVjdC5sZWZ0XHJcbiAgICAgICB8fCBldmVudC5jbGllbnRZID4gY29udGVudFJlY3QuYm90dG9tXHJcbiAgICAgICB8fCBldmVudC5jbGllbnRZIDwgY29udGVudFJlY3QudG9wXHJcbiAgICAgICkge1xyXG4gICAgICAgIGNhbGxDYWxsYmFjayA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBjYWxsQ2FsbGJhY2s7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE92ZXJsYXlDb25maWcoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmLCBwb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb24sIHdpZHRoPzogbnVtYmVyLCBtYXhXaWR0aD86IG51bWJlcik6IE92ZXJsYXlDb25maWcge1xyXG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpXHJcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKGVsZW1lbnQpXHJcbiAgICAgIC53aXRoUG9zaXRpb25zKFtwb3NpdGlvbl0pO1xyXG5cclxuICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogcG9zaXRpb25TdHJhdGVneSxcclxuICAgICAgd2lkdGg6IHdpZHRoLFxyXG4gICAgICBtYXhXaWR0aDogbWF4V2lkdGhcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBjb25maWc7XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { OverlayConfig } from "@angular/cdk/overlay";
2
+ import { ComponentPortal } from "@angular/cdk/portal";
3
+ import { Injectable } from "@angular/core";
4
+ import { TooltipComponent } from "./tooltip.component";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/cdk/overlay";
7
+ export class TooltipService {
8
+ constructor(overlay) {
9
+ this.overlay = overlay;
10
+ this.positions = {
11
+ 'top-left': { originX: 'center', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetX: 38 },
12
+ 'top-center': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' },
13
+ 'top-right': { originX: 'center', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetX: -38 },
14
+ 'bottom-left': { originX: 'center', originY: 'bottom', overlayX: 'end', overlayY: 'top', offsetX: 38 },
15
+ 'bottom-center': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top' },
16
+ 'bottom-right': { originX: 'center', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetX: -38 },
17
+ 'left-top': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'top', offsetY: -38 },
18
+ 'left-center': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },
19
+ 'left-bottom': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'bottom', offsetY: 38 },
20
+ 'right-top': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'top', offsetY: -38 },
21
+ 'right-center': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },
22
+ 'right-bottom': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'bottom', offsetY: 38 }
23
+ };
24
+ }
25
+ /**
26
+ * Show a tooltip attached to a specified element
27
+ */
28
+ show(anchor, position = 'top-center', options) {
29
+ const overlayConfig = this.getOverlayConfig(anchor, this.positions[position], options?.width, options?.maxWidth);
30
+ const overlayRef = this.overlay.create(overlayConfig);
31
+ const contentPortal = new ComponentPortal(TooltipComponent);
32
+ const contentViewRef = overlayRef.attach(contentPortal);
33
+ contentViewRef.instance.position = position;
34
+ contentViewRef.instance.id = options?.id;
35
+ contentViewRef.instance.title = options?.title;
36
+ contentViewRef.instance.subtitle = options?.subtitle;
37
+ contentViewRef.instance.text = options?.text;
38
+ contentViewRef.instance.customContent = options?.customContent;
39
+ contentViewRef.instance.dismissible = options?.dismissible || false;
40
+ contentViewRef.instance.backgroundColor = options?.backgroundColor;
41
+ contentViewRef.instance.titleColor = options?.titleColor;
42
+ contentViewRef.instance.hideArrow = options?.hideArrow;
43
+ contentViewRef.instance.overlayRef = overlayRef;
44
+ return contentViewRef.instance;
45
+ }
46
+ onMove(event, contentRect) {
47
+ let callCallback = false;
48
+ if (contentRect) {
49
+ if (event.clientX > contentRect.right
50
+ || event.clientX < contentRect.left
51
+ || event.clientY > contentRect.bottom
52
+ || event.clientY < contentRect.top) {
53
+ callCallback = true;
54
+ }
55
+ }
56
+ return callCallback;
57
+ }
58
+ getOverlayConfig(element, position, width, maxWidth) {
59
+ const positionStrategy = this.overlay.position()
60
+ .flexibleConnectedTo(element)
61
+ .withPositions([position]);
62
+ const config = new OverlayConfig({
63
+ positionStrategy: positionStrategy,
64
+ width: width,
65
+ maxWidth: maxWidth
66
+ });
67
+ return config;
68
+ }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TooltipService, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable }); }
70
+ static { thisprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TooltipService, providedIn: 'root' }); }
71
+ }
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TooltipService, decorators: [{
73
+ type: Injectable,
74
+ args: [{
75
+ providedIn: 'root'
76
+ }]
77
+ }], ctorParameters: () => [{ type: i1.Overlay }] });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9vbHRpcC90b29sdGlwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE4QixhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1DLE1BQU0scUJBQXFCLENBQUM7OztBQUt4RixNQUFNLE9BQU8sY0FBYztJQWlCekIsWUFDVSxPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBaEJsQixjQUFTLEdBQXVDO1lBQ3RELFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUNuRyxZQUFZLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFO1lBQzNGLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3ZHLGFBQWEsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUN0RyxlQUFlLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQzlGLGNBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFHLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25HLGFBQWEsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7WUFDM0YsYUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQ3hHLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BHLGNBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7WUFDNUYsY0FBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEs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b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24sIE92ZXJsYXksIE92ZXJsYXlDb25maWcgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcclxuaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQsIFRvb2x0aXBPcHRpb25zLCBUb29sdGlwUG9zaXRpb24gfSBmcm9tIFwiLi90b29sdGlwLmNvbXBvbmVudFwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbHRpcFNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIHBvc2l0aW9uczoge1trZXk6IHN0cmluZ106IENvbm5lY3RlZFBvc2l0aW9ufSA9IHtcclxuICAgICd0b3AtbGVmdCc6IHsgb3JpZ2luWDogJ2NlbnRlcicsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAnYm90dG9tJywgb2Zmc2V0WDogMzggfSxcclxuICAgICd0b3AtY2VudGVyJzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnY2VudGVyJywgb3ZlcmxheVk6ICdib3R0b20nIH0sXHJcbiAgICAndG9wLXJpZ2h0JzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2JvdHRvbScsIG9mZnNldFg6IC0zOCB9LFxyXG4gICAgJ2JvdHRvbS1sZWZ0JzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICd0b3AnLCBvZmZzZXRYOiAzOCB9LFxyXG4gICAgJ2JvdHRvbS1jZW50ZXInOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCcgfSxcclxuICAgICdib3R0b20tcmlnaHQnOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WDogLTM4IH0sXHJcbiAgICAnbGVmdC10b3AnOiB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WTogLTM4IH0sXHJcbiAgICAnbGVmdC1jZW50ZXInOiB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAnY2VudGVyJyB9LFxyXG4gICAgJ2xlZnQtYm90dG9tJzogeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnY2VudGVyJywgb3ZlcmxheVg6ICdlbmQnLCBvdmVybGF5WTogJ2JvdHRvbScsIG9mZnNldFk6IDM4IH0sXHJcbiAgICAncmlnaHQtdG9wJzogeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcsIG9mZnNldFk6IC0zOCB9LFxyXG4gICAgJ3JpZ2h0LWNlbnRlcic6IHsgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdjZW50ZXInIH0sXHJcbiAgICAncmlnaHQtYm90dG9tJzogeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2JvdHRvbScsIG9mZnNldFk6IDM4IH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5XHJcbiAgKXt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3cgYSB0b29sdGlwIGF0dGFjaGVkIHRvIGEgc3BlY2lmaWVkIGVsZW1lbnRcclxuICAgKi9cclxuICBzaG93KGFuY2hvcjogSFRNTEVsZW1lbnQsIHBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSAndG9wLWNlbnRlcicsIG9wdGlvbnM/OiBUb29sdGlwT3B0aW9ucyk6IFRvb2x0aXBDb21wb25lbnQge1xyXG4gICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IHRoaXMuZ2V0T3ZlcmxheUNvbmZpZyhhbmNob3IsIHRoaXMucG9zaXRpb25zW3Bvc2l0aW9uXSwgb3B0aW9ucz8ud2lkdGgsIG9wdGlvbnM/Lm1heFdpZHRoKTtcclxuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKG92ZXJsYXlDb25maWcpO1xyXG5cclxuICAgIGNvbnN0IGNvbnRlbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFRvb2x0aXBDb21wb25lbnQpO1xyXG4gICAgY29uc3QgY29udGVudFZpZXdSZWYgPSBvdmVybGF5UmVmLmF0dGFjaChjb250ZW50UG9ydGFsKTtcclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLnBvc2l0aW9uID0gcG9zaXRpb247XHJcblxyXG4gICAgY29udGVudFZpZXdSZWYuaW5zdGFuY2UuaWQgPSBvcHRpb25zPy5pZDtcclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLnRpdGxlID0gb3B0aW9ucz8udGl0bGU7XHJcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS5zdWJ0aXRsZSA9IG9wdGlvbnM/LnN1YnRpdGxlO1xyXG4gICAgY29udGVudFZpZXdSZWYuaW5zdGFuY2UudGV4dCA9IG9wdGlvbnM/LnRleHQ7XHJcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS5jdXN0b21Db250ZW50ID0gb3B0aW9ucz8uY3VzdG9tQ29udGVudDtcclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLmRpc21pc3NpYmxlID0gb3B0aW9ucz8uZGlzbWlzc2libGUgfHwgZmFsc2U7XHJcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS5iYWNrZ3JvdW5kQ29sb3IgPSBvcHRpb25zPy5iYWNrZ3JvdW5kQ29sb3I7XHJcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS50aXRsZUNvbG9yID0gb3B0aW9ucz8udGl0bGVDb2xvcjtcclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLmhpZGVBcnJvdyA9IG9wdGlvbnM/LmhpZGVBcnJvdztcclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLm92ZXJsYXlSZWYgPSBvdmVybGF5UmVmO1xyXG5cclxuICAgIHJldHVybiBjb250ZW50Vmlld1JlZi5pbnN0YW5jZTtcclxuICB9XHJcblxyXG4gIG9uTW92ZShldmVudDpNb3VzZUV2ZW50LCBjb250ZW50UmVjdDpET01SZWN0KTpib29sZWFuIHtcclxuICAgIGxldCBjYWxsQ2FsbGJhY2sgPSBmYWxzZTtcclxuICAgIGlmIChjb250ZW50UmVjdCkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgICBldmVudC5jbGllbnRYID4gY29udGVudFJlY3QucmlnaHRcclxuICAgICAgIHx8IGV2ZW50LmNsaWVudFggPCBjb250ZW50UmVjdC5sZWZ0XHJcbiAgICAgICB8fCBldmVudC5jbGllbnRZID4gY29udGVudFJlY3QuYm90dG9tXHJcbiAgICAgICB8fCBldmVudC5jbGllbnRZIDwgY29udGVudFJlY3QudG9wXHJcbiAgICAgICkge1xyXG4gICAgICAgIGNhbGxDYWxsYmFjayA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBjYWxsQ2FsbGJhY2s7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE92ZXJsYXlDb25maWcoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmLCBwb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb24sIHdpZHRoPzogbnVtYmVyLCBtYXhXaWR0aD86IG51bWJlcik6IE92ZXJsYXlDb25maWcge1xyXG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpXHJcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKGVsZW1lbnQpXHJcbiAgICAgIC53aXRoUG9zaXRpb25zKFtwb3NpdGlvbl0pO1xyXG5cclxuICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogcG9zaXRpb25TdHJhdGVneSxcclxuICAgICAgd2lkdGg6IHdpZHRoLFxyXG4gICAgICBtYXhXaWR0aDogbWF4V2lkdGhcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBjb25maWc7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,173 @@
1
+ import { Directive, HostListener, Input } from '@angular/core';
2
+ import { of, Subject } from 'rxjs';
3
+ import { delay, switchMap, takeUntil } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./../tooltip/tooltip.service";
6
+ export class TooltipDirective {
7
+ constructor(tooltipService, element, renderer2) {
8
+ this.tooltipService = tooltipService;
9
+ this.element = element;
10
+ this.renderer2 = renderer2;
11
+ //TooltipConfig: receives all the tooltip options to overwrite the
12
+ //default configuration of the tooltip
13
+ this.tooltipConfig = undefined;
14
+ //TooltipText: receives plain text to display in the default tooltip
15
+ this.tooltipText = undefined;
16
+ //TooltipCustomContent: receives a template reference to display
17
+ //into the tooltip content
18
+ this.tooltipCustomContent = undefined;
19
+ //This Input will remain as Input because tooltipPosition is not part
20
+ //of TooltipOptions type of object
21
+ this.tooltipPosition = "top-center";
22
+ //************************************************************//
23
+ //Events related
24
+ this.mouseOver = new Subject();
25
+ this.interrupt = new Subject();
26
+ this.hideCompleted = new Subject();
27
+ //Object with the tooltip options builded with the Input parameters
28
+ //and use it in tooltipService - show()
29
+ this.tooltipOptions = {};
30
+ /**Set when we show a tooltip, to allow us to unsubscribe to mouse move when hide fires.
31
+ * if we never showed the tooltip this will remain null and we won't have an event to unsubscribe to
32
+ */
33
+ this.mouseMoveUnsubscribe = null;
34
+ }
35
+ ngOnInit() {
36
+ //checkInputsValue(): if there is an error it will prevent to execute
37
+ //any code related with the tooltip setup
38
+ if (this.checkInputsValue()) {
39
+ //Create the object with the tooltip options provided as @Inputs
40
+ this.createTooltipOptions();
41
+ //MouseOver flow: start the process of showing the tooltip
42
+ //until the mouse leaves the anchor element with this.interrupt
43
+ this.mouseOver
44
+ .pipe(switchMap(v => of(v).pipe(delay(300), //delays the time previous of showing the tooltip
45
+ takeUntil(this.interrupt))))
46
+ .subscribe(() => this.show()); //Calls the function responsable of using the tooltipService
47
+ //Mouse leave flow: start the process of removing the tooltip when the mouse is away of the anchor element
48
+ this.interrupt.pipe(switchMap(v => of(v).pipe(delay(50), takeUntil(this.hideCompleted)))).subscribe(() => this.hide()); //hide the tooltip and triggers the completed cycle flag this.hideCompleted
49
+ }
50
+ else {
51
+ console.error('There are too many parameters or none parameter to config the tooltip options');
52
+ }
53
+ }
54
+ /**Detects where the mouse is to trigger the leave/hide process
55
+ * This is a backstop protection against us missing the mouseleave event and leaving a hanging chad.
56
+ * On some browsers, and on some actions (especially scroll) the mouseLeave seems to never fire */
57
+ onMouseMove(event) {
58
+ let callCallback = false;
59
+ if (this.contentRect) {
60
+ callCallback = this.tooltipService.onMove(event, this.contentRect);
61
+ if (callCallback) {
62
+ //trigger on hide process
63
+ this.interrupt.next();
64
+ //reset the contentRec for a new tooltip
65
+ this.contentRect = undefined;
66
+ }
67
+ }
68
+ }
69
+ //Trigger the process to show the tooltip
70
+ onMouseOver() {
71
+ this.mouseOver.next();
72
+ }
73
+ //Trigger the process to hide and later the process
74
+ //to mark as complete the cycle of show and hide the tooltip
75
+ onLeave() {
76
+ this.interrupt.next();
77
+ }
78
+ checkInputsValue() {
79
+ let parametersWithValue = 0;
80
+ if (this.tooltipText) {
81
+ parametersWithValue = parametersWithValue + 1;
82
+ }
83
+ if (this.tooltipCustomContent) {
84
+ parametersWithValue = parametersWithValue + 1;
85
+ }
86
+ if (this.tooltipConfig) {
87
+ parametersWithValue = parametersWithValue + 1;
88
+ }
89
+ if (parametersWithValue === 1) {
90
+ return true;
91
+ }
92
+ else {
93
+ return false;
94
+ }
95
+ }
96
+ /**
97
+ * createTooltipOptions
98
+ * will only be executed after manageError() verifies
99
+ * if the parameters are not overlapping each other
100
+ * and it will build the tooltipOptions object
101
+ */
102
+ createTooltipOptions() {
103
+ this.tooltipOptions = {
104
+ id: `tooltip_${this.tooltipConfig?.id ? this.tooltipConfig?.id : ''}`,
105
+ text: this.tooltipConfig?.text || this.tooltipText,
106
+ title: this.tooltipConfig?.title,
107
+ subtitle: this.tooltipConfig?.subtitle,
108
+ customContent: this.tooltipConfig?.customContent || this.tooltipCustomContent,
109
+ dismissible: this.tooltipConfig?.dismissible || false,
110
+ maxWidth: this.tooltipConfig?.maxWidth,
111
+ width: this.tooltipConfig?.width,
112
+ backgroundColor: this.tooltipConfig?.backgroundColor,
113
+ };
114
+ }
115
+ show() {
116
+ //Reference to the element where to tooltip is attached
117
+ const element = this.element.nativeElement;
118
+ //contentRect will be assing only after showing a tooltip/popover and it will be
119
+ //reset after hide the same tooltip/popover
120
+ this.contentRect = this.element.nativeElement.getBoundingClientRect();
121
+ //tooltipPosition is never undefined, default value = "top-center"
122
+ if (!this.tooltip) {
123
+ this.tooltip = this.tooltipService.show(element, this.tooltipPosition, this.tooltipOptions);
124
+ this.mouseMoveUnsubscribe = this.renderer2.listen(document, 'mousemove', this.onMouseMove.bind(this));
125
+ }
126
+ }
127
+ hide() {
128
+ //There is a timing issue between the show - hide with
129
+ //liner tooltip elements, so the below line
130
+ //makes sure the app doesn't break
131
+ if (this.tooltip) {
132
+ //Call the hide() from the tooltip component
133
+ this.tooltip.hide();
134
+ this.tooltip = undefined;
135
+ if (this.mouseMoveUnsubscribe) {
136
+ this.mouseMoveUnsubscribe();
137
+ }
138
+ }
139
+ //Interrupt the flow of mouseover with a delay and triggers the
140
+ //flow to hide the tooltip with a delay
141
+ this.interrupt.next();
142
+ //Work as a flag to indicate the flow of show and hide has been completed
143
+ this.hideCompleted.next();
144
+ }
145
+ //When the element where the tooltip is attached disappears
146
+ //the tooltip should be destroy as well
147
+ ngOnDestroy() {
148
+ this.interrupt.next();
149
+ }
150
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TooltipDirective, deps: [{ token: i1.TooltipService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
151
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: TooltipDirective, selector: "[ecTooltip]", inputs: { tooltipConfig: "tooltipConfig", tooltipText: "tooltipText", tooltipCustomContent: "tooltipCustomContent", tooltipPosition: "tooltipPosition" }, host: { listeners: { "mouseover": "onMouseOver()", "mouseleave": "onLeave()" } }, ngImport: i0 }); }
152
+ }
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TooltipDirective, decorators: [{
154
+ type: Directive,
155
+ args: [{
156
+ selector: '[ecTooltip]'
157
+ }]
158
+ }], ctorParameters: () => [{ type: i1.TooltipService }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { tooltipConfig: [{
159
+ type: Input
160
+ }], tooltipText: [{
161
+ type: Input
162
+ }], tooltipCustomContent: [{
163
+ type: Input
164
+ }], tooltipPosition: [{
165
+ type: Input
166
+ }], onMouseOver: [{
167
+ type: HostListener,
168
+ args: ['mouseover']
169
+ }], onLeave: [{
170
+ type: HostListener,
171
+ args: ['mouseleave']
172
+ }] } });
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b29sdGlwLWRpcmVjdGl2ZS90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQWtDLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFRN0QsTUFBTSxPQUFPLGdCQUFnQjtJQTJDM0IsWUFDVSxjQUE4QixFQUM5QixPQUFtQixFQUNuQixTQUFvQjtRQUZwQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBNUM5QixrRUFBa0U7UUFDbEUsc0NBQXNDO1FBQ3RCLGtCQUFhLEdBQW9CLFNBQVMsQ0FBQTtRQUUxRCxvRUFBb0U7UUFDcEQsZ0JBQVcsR0FBWSxTQUFTLENBQUM7UUFFakQsZ0VBQWdFO1FBQ2hFLDBCQUEwQjtRQUNWLHlCQUFvQixHQUFzQixTQUFTLENBQUM7UUFHcEUscUVBQXFFO1FBQ3JFLGtDQUFrQztRQUNsQixvQkFBZSxHQUFvQixZQUFZLENBQUM7UUFJaEUsZ0VBQWdFO1FBRWhFLGdCQUFnQjtRQUNSLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVE1QyxtRUFBbUU7UUFDbkUsdUNBQXVDO1FBQy9CLG1CQUFjLEdBQW1CLEVBQUUsQ0FB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bkluaXQsIFJlbmRlcmVyMiwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVsYXksIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50LCBUb29sdGlwT3B0aW9ucywgVG9vbHRpcFBvc2l0aW9uIH0gZnJvbSAnLi8uLi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9vbHRpcFNlcnZpY2UgfSBmcm9tICcuLy4uL3Rvb2x0aXAvdG9vbHRpcC5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2VjVG9vbHRpcF0nXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgVG9vbHRpcERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIC8vVG9vbHRpcENvbmZpZzogcmVjZWl2ZXMgYWxsIHRoZSB0b29sdGlwIG9wdGlvbnMgdG8gb3ZlcndyaXRlIHRoZVxyXG4gIC8vZGVmYXVsdCBjb25maWd1cmF0aW9uIG9mIHRoZSB0b29sdGlwXHJcbiAgQElucHV0KCkgcHVibGljIHRvb2x0aXBDb25maWc/OiBUb29sdGlwT3B0aW9ucyA9IHVuZGVmaW5lZFxyXG5cclxuICAvL1Rvb2x0aXBUZXh0OiByZWNlaXZlcyBwbGFpbiB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIGRlZmF1bHQgdG9vbHRpcFxyXG4gIEBJbnB1dCgpIHB1YmxpYyB0b29sdGlwVGV4dD86IHN0cmluZyA9IHVuZGVmaW5lZDsgXHJcblxyXG4gIC8vVG9vbHRpcEN1c3RvbUNvbnRlbnQ6IHJlY2VpdmVzIGEgdGVtcGxhdGUgcmVmZXJlbmNlIHRvIGRpc3BsYXlcclxuICAvL2ludG8gdGhlIHRvb2x0aXAgY29udGVudFxyXG4gIEBJbnB1dCgpIHB1YmxpYyB0b29sdGlwQ3VzdG9tQ29udGVudD86IFRlbXBsYXRlUmVmPGFueT4gPSB1bmRlZmluZWQ7XHJcbiAgXHJcbiAgXHJcbiAgLy9UaGlzIElucHV0IHdpbGwgcmVtYWluIGFzIElucHV0IGJlY2F1c2UgdG9vbHRpcFBvc2l0aW9uIGlzIG5vdCBwYXJ0XHJcbiAgLy9vZiBUb29sdGlwT3B0aW9ucyB0eXBlIG9mIG9iamVjdFxyXG4gIEBJbnB1dCgpIHB1YmxpYyB0b29sdGlwUG9zaXRpb246IFRvb2x0aXBQb3NpdGlvbiA9IFwidG9wLWNlbnRlclwiO1xyXG5cclxuXHJcblxyXG4gIC8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuXHJcbiAgLy9FdmVudHMgcmVsYXRlZFxyXG4gIHByaXZhdGUgbW91c2VPdmVyID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIGludGVycnVwdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBoaWRlQ29tcGxldGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIGNvbnRlbnRSZWN0OiBET01SZWN0IHwgdW5kZWZpbmVkO1xyXG5cclxuICAvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcblxyXG4gIC8vUmVmZXJlbmNlIHRvIFRvb2x0aXBDb21wb25lbnQsIHdpbGwgYmUgZGVmaW5lZCBiZWxvdyBpbiB0aGlzLnNob3coKVxyXG4gIHByaXZhdGUgdG9vbHRpcD86IFRvb2x0aXBDb21wb25lbnQ7XHJcblxyXG4gIC8vT2JqZWN0IHdpdGggdGhlIHRvb2x0aXAgb3B0aW9ucyBidWlsZGVkIHdpdGggdGhlIElucHV0IHBhcmFtZXRlcnNcclxuICAvL2FuZCB1c2UgaXQgaW4gdG9vbHRpcFNlcnZpY2UgLSBzaG93KClcclxuICBwcml2YXRlIHRvb2x0aXBPcHRpb25zPzpUb29sdGlwT3B0aW9ucyA9IHt9XHJcbiAgXHJcblxyXG4gIC8qKlNldCB3aGVuIHdlIHNob3cgYSB0b29sdGlwLCB0byBhbGxvdyB1cyB0byB1bnN1YnNjcmliZSB0byBtb3VzZSBtb3ZlIHdoZW4gaGlkZSBmaXJlcy5cclxuICAgKiBpZiB3ZSBuZXZlciBzaG93ZWQgdGhlIHRvb2x0aXAgdGhpcyB3aWxsIHJlbWFpbiBudWxsIGFuZCB3ZSB3b24ndCBoYXZlIGFuIGV2ZW50IHRvIHVuc3Vic2NyaWJlIHRvXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBtb3VzZU1vdmVVbnN1YnNjcmliZTogKCgpPT4gdm9pZCkgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRvb2x0aXBTZXJ2aWNlOiBUb29sdGlwU2VydmljZSxcclxuICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZiwgXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyMjogUmVuZGVyZXIyXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIC8vY2hlY2tJbnB1dHNWYWx1ZSgpOiBpZiB0aGVyZSBpcyBhbiBlcnJvciBpdCB3aWxsIHByZXZlbnQgdG8gZXhlY3V0ZVxyXG4gICAgLy9hbnkgY29kZSByZWxhdGVkIHdpdGggdGhlIHRvb2x0aXAgc2V0dXBcclxuICAgIGlmKHRoaXMuY2hlY2tJbnB1dHNWYWx1ZSgpKSB7XHJcbiAgICAgIC8vQ3JlYXRlIHRoZSBvYmplY3Qgd2l0aCB0aGUgdG9vbHRpcCBvcHRpb25zIHByb3ZpZGVkIGFzIEBJbnB1dHNcclxuICAgICAgdGhpcy5jcmVhdGVUb29sdGlwT3B0aW9ucygpO1xyXG5cclxuICAgICAgLy9Nb3VzZU92ZXIgZmxvdzogc3RhcnQgdGhlIHByb2Nlc3Mgb2Ygc2hvd2luZyB0aGUgdG9vbHRpcFxyXG4gICAgICAvL3VudGlsIHRoZSBtb3VzZSBsZWF2ZXMgdGhlIGFuY2hvciBlbGVtZW50IHdpdGggdGhpcy5pbnRlcnJ1cHRcclxuICAgICAgdGhpcy5tb3VzZU92ZXJcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKHYgPT5cclxuICAgICAgICAgIG9mKHYpLnBpcGUoXHJcbiAgICAgICAgICAgIGRlbGF5KDMwMCksIC8vZGVsYXlzIHRoZSB0aW1lIHByZXZpb3VzIG9mIHNob3dpbmcgdGhlIHRvb2x0aXBcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuaW50ZXJydXB0KVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2hvdygpKTsgLy9DYWxscyB0aGUgZnVuY3Rpb24gcmVzcG9uc2FibGUgb2YgdXNpbmcgdGhlIHRvb2x0aXBTZXJ2aWNlXHJcbiAgXHJcbiAgICAgIC8vTW91c2UgbGVhdmUgZmxvdzogc3RhcnQgdGhlIHByb2Nlc3Mgb2YgcmVtb3ZpbmcgdGhlIHRvb2x0aXAgd2hlbiB0aGUgbW91c2UgaXMgYXdheSBvZiB0aGUgYW5jaG9yIGVsZW1lbnRcclxuICAgICAgdGhpcy5pbnRlcnJ1cHQucGlwZShcclxuICAgICAgICBzd2l0Y2hNYXAodiA9PiBcclxuICAgICAgICAgIG9mKHYpLnBpcGUoXHJcbiAgICAgICAgICAgIGRlbGF5KDUwKSxcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuaGlkZUNvbXBsZXRlZClcclxuICAgICAgICAgICkpXHJcbiAgICAgICkuc3Vic2NyaWJlKCgpID0+IHRoaXMuaGlkZSgpKTsgLy9oaWRlIHRoZSB0b29sdGlwIGFuZCB0cmlnZ2VycyB0aGUgY29tcGxldGVkIGN5Y2xlIGZsYWcgdGhpcy5oaWRlQ29tcGxldGVkXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdUaGVyZSBhcmUgdG9vIG1hbnkgcGFyYW1ldGVycyBvciBub25lIHBhcmFtZXRlciB0byBjb25maWcgdGhlIHRvb2x0aXAgb3B0aW9ucycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqRGV0ZWN0cyB3aGVyZSB0aGUgbW91c2UgaXMgdG8gdHJpZ2dlciB0aGUgbGVhdmUvaGlkZSBwcm9jZXNzXHJcbiAgICogVGhpcyBpcyBhIGJhY2tzdG9wIHByb3RlY3Rpb24gYWdhaW5zdCB1cyBtaXNzaW5nIHRoZSBtb3VzZWxlYXZlIGV2ZW50IGFuZCBsZWF2aW5nIGEgaGFuZ2luZyBjaGFkLlxyXG4gICAqIE9uIHNvbWUgYnJvd3NlcnMsIGFuZCBvbiBzb21lIGFjdGlvbnMgKGVzcGVjaWFsbHkgc2Nyb2xsKSB0aGUgbW91c2VMZWF2ZSBzZWVtcyB0byBuZXZlciBmaXJlICovXHJcbiAgcHVibGljIG9uTW91c2VNb3ZlKGV2ZW50Ok1vdXNlRXZlbnQpIHtcclxuICAgIGxldCBjYWxsQ2FsbGJhY2sgPSBmYWxzZTtcclxuICAgIGlmKHRoaXMuY29udGVudFJlY3QpIHtcclxuICAgICAgY2FsbENhbGxiYWNrID0gdGhpcy50b29sdGlwU2VydmljZS5vbk1vdmUoZXZlbnQsIHRoaXMuY29udGVudFJlY3QhKTtcclxuICAgICAgaWYoY2FsbENhbGxiYWNrKSB7XHJcbiAgICAgICAgLy90cmlnZ2VyIG9uIGhpZGUgcHJvY2Vzc1xyXG4gICAgICAgIHRoaXMuaW50ZXJydXB0Lm5leHQoKTsgXHJcbiAgICAgICAgLy9yZXNldCB0aGUgY29udGVudFJlYyBmb3IgYSBuZXcgdG9vbHRpcFxyXG4gICAgICAgIHRoaXMuY29udGVudFJlY3QgPSB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vVHJpZ2dlciB0aGUgcHJvY2VzcyB0byBzaG93IHRoZSB0b29sdGlwXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VvdmVyJylcclxuICBwdWJsaWMgb25Nb3VzZU92ZXIoKSB7XHJcbiAgICB0aGlzLm1vdXNlT3Zlci5uZXh0KCk7XHJcbiAgfVxyXG4gIFxyXG4gIC8vVHJpZ2dlciB0aGUgcHJvY2VzcyB0byBoaWRlIGFuZCBsYXRlciB0aGUgcHJvY2Vzc1xyXG4gIC8vdG8gbWFyayBhcyBjb21wbGV0ZSB0aGUgY3ljbGUgb2Ygc2hvdyBhbmQgaGlkZSB0aGUgdG9vbHRpcFxyXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxyXG4gIHB1YmxpYyBvbkxlYXZlKCkge1xyXG4gICAgdGhpcy5pbnRlcnJ1cHQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja0lucHV0c1ZhbHVlKCk6Ym9vbGVhbiB7XHJcbiAgICBsZXQgcGFyYW1ldGVyc1dpdGhWYWx1ZSA9IDA7XHJcbiAgICBpZih0aGlzLnRvb2x0aXBUZXh0KSB7XHJcbiAgICAgIHBhcmFtZXRlcnNXaXRoVmFsdWUgPSBwYXJhbWV0ZXJzV2l0aFZhbHVlICsgMVxyXG4gICAgfSBcclxuICAgIGlmKHRoaXMudG9vbHRpcEN1c3RvbUNvbnRlbnQpIHtcclxuICAgICAgcGFyYW1ldGVyc1dpdGhWYWx1ZSA9IHBhcmFtZXRlcnNXaXRoVmFsdWUgKyAxXHJcbiAgICB9XHJcbiAgICBpZih0aGlzLnRvb2x0aXBDb25maWcpIHtcclxuICAgICAgcGFyYW1ldGVyc1dpdGhWYWx1ZSA9IHBhcmFtZXRlcnNXaXRoVmFsdWUgKyAxXHJcbiAgICB9XHJcbiAgICBpZihwYXJhbWV0ZXJzV2l0aFZhbHVlID09PSAxKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBjcmVhdGVUb29sdGlwT3B0aW9uc1xyXG4gICAqIHdpbGwgb25seSBiZSBleGVjdXRlZCBhZnRlciBtYW5hZ2VFcnJvcigpIHZlcmlmaWVzIFxyXG4gICAqIGlmIHRoZSBwYXJhbWV0ZXJzIGFyZSBub3Qgb3ZlcmxhcHBpbmcgZWFjaCBvdGhlclxyXG4gICAqIGFuZCBpdCB3aWxsIGJ1aWxkIHRoZSB0b29sdGlwT3B0aW9ucyBvYmplY3RcclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZVRvb2x0aXBPcHRpb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy50b29sdGlwT3B0aW9ucyA9IHtcclxuICAgICAgaWQ6IGB0b29sdGlwXyR7dGhpcy50b29sdGlwQ29uZmlnPy5pZD8gdGhpcy50b29sdGlwQ29uZmlnPy5pZDogJyd9YCxcclxuICAgICAgdGV4dDogdGhpcy50b29sdGlwQ29uZmlnPy50ZXh0IHx8IHRoaXMudG9vbHRpcFRleHQsXHJcbiAgICAgIHRpdGxlOiB0aGlzLnRvb2x0aXBDb25maWc/LnRpdGxlLFxyXG4gICAgICBzdWJ0aXRsZTogdGhpcy50b29sdGlwQ29uZmlnPy5zdWJ0aXRsZSxcclxuICAgICAgY3VzdG9tQ29udGVudDogdGhpcy50b29sdGlwQ29uZmlnPy5jdXN0b21Db250ZW50IHx8IHRoaXMudG9vbHRpcEN1c3RvbUNvbnRlbnQsXHJcbiAgICAgIGRpc21pc3NpYmxlOiB0aGlzLnRvb2x0aXBDb25maWc/LmRpc21pc3NpYmxlIHx8IGZhbHNlLFxyXG4gICAgICBtYXhXaWR0aDogdGhpcy50b29sdGlwQ29uZmlnPy5tYXhXaWR0aCxcclxuICAgICAgd2lkdGg6IHRoaXMudG9vbHRpcENvbmZpZz8ud2lkdGgsXHJcbiAgICAgIGJhY2tncm91bmRDb2xvcjogdGhpcy50b29sdGlwQ29uZmlnPy5iYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgc2hvdygpOnZvaWQge1xyXG4gICAgLy9SZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQgd2hlcmUgdG8gdG9vbHRpcCBpcyBhdHRhY2hlZFxyXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgLy9jb250ZW50UmVjdCB3aWxsIGJlIGFzc2luZyBvbmx5IGFmdGVyIHNob3dpbmcgYSB0b29sdGlwL3BvcG92ZXIgYW5kIGl0IHdpbGwgYmVcclxuICAgIC8vcmVzZXQgYWZ0ZXIgaGlkZSB0aGUgc2FtZSB0b29sdGlwL3BvcG92ZXJcclxuICAgIHRoaXMuY29udGVudFJlY3QgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIC8vdG9vbHRpcFBvc2l0aW9uIGlzIG5ldmVyIHVuZGVmaW5lZCwgZGVmYXVsdCB2YWx1ZSA9IFwidG9wLWNlbnRlclwiXHJcbiAgICBpZighdGhpcy50b29sdGlwKSB7XHJcbiAgICAgIHRoaXMudG9vbHRpcCA9IHRoaXMudG9vbHRpcFNlcnZpY2Uuc2hvdyhlbGVtZW50IGFzIEhUTUxFbGVtZW50LCB0aGlzLnRvb2x0aXBQb3NpdGlvbiwgdGhpcy50b29sdGlwT3B0aW9ucyk7XHJcbiAgICAgIHRoaXMubW91c2VNb3ZlVW5zdWJzY3JpYmUgPSB0aGlzLnJlbmRlcmVyMi5saXN0ZW4oZG9jdW1lbnQsICdtb3VzZW1vdmUnLCB0aGlzLm9uTW91c2VNb3ZlLmJpbmQodGhpcykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoaWRlKCk6dm9pZCB7XHJcbiAgICAvL1RoZXJlIGlzIGEgdGltaW5nIGlzc3VlIGJldHdlZW4gdGhlIHNob3cgLSBoaWRlIHdpdGggXHJcbiAgICAvL2xpbmVyIHRvb2x0aXAgZWxlbWVudHMsIHNvIHRoZSBiZWxvdyBsaW5lXHJcbiAgICAvL21ha2VzIHN1cmUgdGhlIGFwcCBkb2Vzbid0IGJyZWFrXHJcbiAgICBpZih0aGlzLnRvb2x0aXApIHtcclxuICAgICAgLy9DYWxsIHRoZSBoaWRlKCkgZnJvbSB0aGUgdG9vbHRpcCBjb21wb25lbnRcclxuICAgICAgdGhpcy50b29sdGlwLmhpZGUoKTtcclxuICAgICAgdGhpcy50b29sdGlwID0gdW5kZWZpbmVkO1xyXG4gICAgICBcclxuICAgICAgaWYodGhpcy5tb3VzZU1vdmVVbnN1YnNjcmliZSl7XHJcbiAgICAgICAgdGhpcy5tb3VzZU1vdmVVbnN1YnNjcmliZSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9JbnRlcnJ1cHQgdGhlIGZsb3cgb2YgbW91c2VvdmVyIHdpdGggYSBkZWxheSBhbmQgdHJpZ2dlcnMgdGhlIFxyXG4gICAgLy9mbG93IHRvIGhpZGUgdGhlIHRvb2x0aXAgd2l0aCBhIGRlbGF5IFxyXG4gICAgdGhpcy5pbnRlcnJ1cHQubmV4dCgpO1xyXG4gICAgLy9Xb3JrIGFzIGEgZmxhZyB0byBpbmRpY2F0ZSB0aGUgZmxvdyBvZiBzaG93IGFuZCBoaWRlIGhhcyBiZWVuIGNvbXBsZXRlZFxyXG4gICAgdGhpcy5oaWRlQ29tcGxldGVkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIC8vV2hlbiB0aGUgZWxlbWVudCB3aGVyZSB0aGUgdG9vbHRpcCBpcyBhdHRhY2hlZCBkaXNhcHBlYXJzXHJcbiAgLy90aGUgdG9vbHRpcCBzaG91bGQgYmUgZGVzdHJveSBhcyB3ZWxsICBcclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgdGhpcy5pbnRlcnJ1cHQubmV4dCgpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,34 +1,34 @@
1
- export class Tour {
2
- constructor() {
3
- /** Unique identifier for the tour */
4
- this.id = '';
5
- /** List of tour steps to present to the user */
6
- this.steps = [];
7
- }
8
- }
9
- export class TourStep {
10
- constructor() {
11
- /** Unique identifier for the tour step */
12
- this.id = '';
13
- /** HTML formatted text that contains the primary content of the tour step */
14
- this.text = '';
15
- }
16
- }
17
- export class TourAnchor {
18
- constructor() {
19
- /**
20
- * Selector to attach the tooltip to. If defined but does not exist in the
21
- * DOM skip this step because it is probably hidden to the user because of
22
- * permissions.
23
- */
24
- this.selector = '';
25
- }
26
- }
27
- export class TourEvent {
28
- constructor(tours, tourAction = 'start', isAutoStart = false) {
29
- this.tours = tours;
30
- this.tourAction = tourAction;
31
- this.isAutoStart = isAutoStart;
32
- }
33
- }
1
+ export class Tour {
2
+ constructor() {
3
+ /** Unique identifier for the tour */
4
+ this.id = '';
5
+ /** List of tour steps to present to the user */
6
+ this.steps = [];
7
+ }
8
+ }
9
+ export class TourStep {
10
+ constructor() {
11
+ /** Unique identifier for the tour step */
12
+ this.id = '';
13
+ /** HTML formatted text that contains the primary content of the tour step */
14
+ this.text = '';
15
+ }
16
+ }
17
+ export class TourAnchor {
18
+ constructor() {
19
+ /**
20
+ * Selector to attach the tooltip to. If defined but does not exist in the
21
+ * DOM skip this step because it is probably hidden to the user because of
22
+ * permissions.
23
+ */
24
+ this.selector = '';
25
+ }
26
+ }
27
+ export class TourEvent {
28
+ constructor(tours, tourAction = 'start', isAutoStart = false) {
29
+ this.tours = tours;
30
+ this.tourAction = tourAction;
31
+ this.isAutoStart = isAutoStart;
32
+ }
33
+ }
34
34
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91ci10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L3RvdXIvdG91ci10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8sSUFBSTtJQUFqQjtRQUNFLHFDQUFxQztRQUNyQyxPQUFFLEdBQVcsRUFBRSxDQUFDO1FBQ2hCLGdEQUFnRDtRQUNoRCxVQUFLLEdBQWUsRUFBRSxDQUFDO0lBT3pCLENBQUM7Q0FBQTtBQVdELE1BQU0sT0FBTyxRQUFRO0lBQXJCO1FBQ0UsMENBQTBDO1FBQzFDLE9BQUUsR0FBVyxFQUFFLENBQUM7UUFRaEIsNkVBQTZFO1FBQzdFLFNBQUksR0FBVyxFQUFFLENBQUM7SUFjcEIsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLFVBQVU7SUFBdkI7UUFlRTs7OztXQUlHO1FBQ0gsYUFBUSxHQUFXLEVBQUUsQ0FBQztJQUl4QixDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sU0FBUztJQUNwQixZQUNTLEtBQWEsRUFDYixhQUF5QyxPQUFPLEVBQ2hELGNBQXVCLEtBQUs7UUFGNUIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGVBQVUsR0FBVixVQUFVLENBQXNDO1FBQ2hELGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtJQUNqQyxDQUFDO0NBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiwgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IERpYWxvZ0NvbnRlbnQgfSBmcm9tIFwiLi4vZGlhbG9nL2RpYWxvZy1jb250ZW50XCI7XHJcbmltcG9ydCB7IERpYWxvZ09wdGlvbnMsIERpYWxvZ1NpemUgfSBmcm9tIFwiLi4vZGlhbG9nL2RpYWxvZy10eXBlc1wiO1xyXG5pbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tIFwiLi4vdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudFwiO1xyXG5cclxuZXhwb3J0IHR5cGUgVG91ckNhY2hlRW50cnkgPSB7IGNvbXBsZXRlZDogYm9vbGVhbiB9O1xyXG5cclxuZXhwb3J0IGNsYXNzIFRvdXI8VCA9IGFueT4ge1xyXG4gIC8qKiBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHRvdXIgKi9cclxuICBpZDogc3RyaW5nID0gJyc7XHJcbiAgLyoqIExpc3Qgb2YgdG91ciBzdGVwcyB0byBwcmVzZW50IHRvIHRoZSB1c2VyICovXHJcbiAgc3RlcHM6IFRvdXJTdGVwW10gPSBbXTtcclxuXHJcbiAgLyoqIEZpbmFsIHN0ZXAgdG8gYmUgcHJlc2VudGVkIHRvIHRoZSB1c2VyIGlmIGRlZmluZWQgKi9cclxuICBleGl0U3RlcD86IFRvdXJTdGVwO1xyXG5cclxuICAvKiogRGlhbG9nIHRvIHByZXNlbnQgdG8gdGhlIHVzZXIgYmVmb3JlIHRoZSB0b3VyIGJlZ2lucyAqL1xyXG4gIGludHJvRGlhbG9nPzogVG91ckludHJvRGlhbG9nPFQ+XHJcbn1cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRvdXJJbnRyb0RpYWxvZzxUPiB7XHJcbiAgY29udGVudD86IFR5cGU8RGlhbG9nQ29udGVudDxUPj4gfCBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIGNvbnRleHQ/OiBUO1xyXG4gIG9wdGlvbnM/OiBEaWFsb2dPcHRpb25zO1xyXG4gIHNpemU/OiBEaWFsb2dTaXplO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFRvdXJTdGVwIHtcclxuICAvKiogVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSB0b3VyIHN0ZXAgKi9cclxuICBpZDogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKiBPcHRpb25hbCB0b3VyIHN0ZXAgdGl0bGUgZGlzcGxheWVkIGF0IHRvcCBvZiB0b29sdGlwICovXHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBPcHRpb25hbCBtZWRpYSB0byBkaXNwbGF5IGJlbG93IHRpdGxlIGFuZCBhYm92ZSB0b3VyIHRleHQuIENhbiBiZSBhIGpwZywgcG5nLCBvciBnaWYgKi9cclxuICBtZWRpYT86IHN0cmluZztcclxuXHJcbiAgLyoqIEhUTUwgZm9ybWF0dGVkIHRleHQgdGhhdCBjb250YWlucyB0aGUgcHJpbWFyeSBjb250ZW50IG9mIHRoZSB0b3VyIHN0ZXAgKi9cclxuICB0ZXh0OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqIFRoZSBlbGVtZW50IHRvIGF0dGFjaCB0aGUgdG91ciBzdGVwIHRvLiBJZiB1bmRlZmluZWQsIHN0ZXAgd2lsbCBhcHBlYXIgY2VudGVyZWQgb24gc2NyZWVuICovXHJcbiAgYW5jaG9yPzogVG91ckFuY2hvcjtcclxuXHJcbiAgaGVscExpbms/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBBbGxvd3MgdGhlIHN0ZXAgdG8gaGF2ZSBhIGZpeGVkIHdpZHRoIGRlZmluZWQgZm9yIHRoZSB0b29sdGlwLiBJZiBub3QgZGVmaW5lZCB0aGUgd2lkdGggd2lsbCBiZSBkZWZhdWx0ZWQgdG8gNDAwLiBJZiB5b3Ugd291bGQgbGlrZSBcclxuICAgKiAgYXV0byB3aWR0aCBkZWZpbmUgYXMgJ2F1dG8nLlxyXG4gICAqL1xyXG4gIHdpZHRoPzogbnVtYmVyIHwgJ2F1dG8nO1xyXG5cclxuICAvKiogQWxsb3dzIHRoZSBzdGVwIHRvIGhhdmUgYSBtYXggd2lkdGggZGVmaW5lZCBmb3IgdGhlIHRvb2x0aXAgKi9cclxuICBtYXhXaWR0aD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRvdXJBbmNob3Ige1xyXG4gIC8qKlxyXG4gICAqIE9wdGlvbmFsIGNzcyBzZWxlY3RvciBvZiBhbiBlbGVtZW50IHRvIGNsaWNrIGluIG9yZGVyIHRvIG9wZW4gYSBtZW51IG9yIFxyXG4gICAqIG92ZXJsYXkuIFNob3VsZCBub3QgY2F1c2UgYSBuYXZpZ2F0aW9uLiBJZiBkZWZpbmVkIGJ1dCBkb2VzIG5vdCBleGlzdCBpbiBcclxuICAgKiB0aGUgRE9NLCBza2lwIHRoaXMgc3RlcCBiZWNhdXNlIGl0IGlzIHByb2JhYmx5IGhpZGRlbiB0byB0aGUgdXNlciBiZWNhdXNlIG9mIHBlcm1pc3Npb25zIFxyXG4gICAqL1xyXG4gIGNsaWNrQmVmb3JlPzogc3RyaW5nO1xyXG5cclxuICAvKiogXHJcbiAgICogQ1NTIHNlbGVjdG9yIG9mIGVsZW1lbnQgdG8gY2xpY2sgaW4gb3JkZXIgdG8gY2xvc2UgYSBtZW51IG9yIG92ZXJsYXkgXHJcbiAgICogYmVmb3JlIGNvbnRpbnVpbmcgdG8gdGhlIG5leHQgc3RlcC4gSWdub3JlZCBpZiBjbGlja0JlZm9yZSBpcyB1bmRlZmluZWQuIFxyXG4gICAqIFNob3VsZCBub3QgY2F1c2UgYSBuYXZpZ2F0aW9uIFxyXG4gICAqL1xyXG4gIGNsaWNrQWZ0ZXI/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBcclxuICAgKiBTZWxlY3RvciB0byBhdHRhY2ggdGhlIHRvb2x0aXAgdG8uIElmIGRlZmluZWQgYnV0IGRvZXMgbm90IGV4aXN0IGluIHRoZSAgXHJcbiAgICogRE9NIHNraXAgdGhpcyBzdGVwIGJlY2F1c2UgaXQgaXMgcHJvYmFibHkgaGlkZGVuIHRvIHRoZSB1c2VyIGJlY2F1c2Ugb2YgIFxyXG4gICAqIHBlcm1pc3Npb25zLlxyXG4gICAqL1xyXG4gIHNlbGVjdG9yOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqIFBvc2l0aW9uIG9mIHRoZSB0b29sdGlwIHJlbGF0aXZlIHRvIHRoZSBhbmNob3IuIGh0dHBzOi8vZW5lcmd5Y2FwLWNvbXBvbmVudHMubmV0bGlmeS5hcHAvdG9vbHRpcCNwb3NpdGlvbiAqL1xyXG4gIHBvc2l0aW9uPzogVG9vbHRpcFBvc2l0aW9uXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUb3VyRXZlbnQge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRvdXJzOiBUb3VyW10sXHJcbiAgICBwdWJsaWMgdG91ckFjdGlvbjogJ3N0YXJ0JyB8ICdlbmQnIHwgJ2FwcGVuZCcgPSAnc3RhcnQnLFxyXG4gICAgcHVibGljIGlzQXV0b1N0YXJ0OiBib29sZWFuID0gZmFsc2UsXHJcbiAgKSB7IH1cclxufSJdfQ==