@igo2/common 19.0.3 → 20.0.0-next.2

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 (325) hide show
  1. package/action/index.d.ts +194 -3
  2. package/backdrop/index.d.ts +20 -3
  3. package/badge/index.d.ts +44 -3
  4. package/clickout/index.d.ts +20 -3
  5. package/clone/index.d.ts +18 -3
  6. package/collapsible/index.d.ts +43 -3
  7. package/color/index.d.ts +38 -3
  8. package/confirm-dialog/index.d.ts +39 -5
  9. package/context-menu/index.d.ts +50 -3
  10. package/custom-html/index.d.ts +30 -3
  11. package/dom/index.d.ts +34 -3
  12. package/drag-drop/index.d.ts +124 -3
  13. package/dynamic-component/index.d.ts +186 -3
  14. package/entity/index.d.ts +1532 -3
  15. package/environment/index.d.ts +15 -5
  16. package/fesm2022/igo2-common-action.mjs +28 -38
  17. package/fesm2022/igo2-common-action.mjs.map +1 -1
  18. package/fesm2022/igo2-common-backdrop.mjs +7 -7
  19. package/fesm2022/igo2-common-backdrop.mjs.map +1 -1
  20. package/fesm2022/igo2-common-badge.mjs +10 -13
  21. package/fesm2022/igo2-common-badge.mjs.map +1 -1
  22. package/fesm2022/igo2-common-clickout.mjs +10 -13
  23. package/fesm2022/igo2-common-clickout.mjs.map +1 -1
  24. package/fesm2022/igo2-common-clone.mjs +7 -7
  25. package/fesm2022/igo2-common-clone.mjs.map +1 -1
  26. package/fesm2022/igo2-common-collapsible.mjs +14 -18
  27. package/fesm2022/igo2-common-collapsible.mjs.map +1 -1
  28. package/fesm2022/igo2-common-color.mjs +9 -9
  29. package/fesm2022/igo2-common-color.mjs.map +1 -1
  30. package/fesm2022/igo2-common-confirm-dialog.mjs +19 -26
  31. package/fesm2022/igo2-common-confirm-dialog.mjs.map +1 -1
  32. package/fesm2022/igo2-common-context-menu.mjs +16 -21
  33. package/fesm2022/igo2-common-context-menu.mjs.map +1 -1
  34. package/fesm2022/igo2-common-custom-html.mjs +14 -17
  35. package/fesm2022/igo2-common-custom-html.mjs.map +1 -1
  36. package/fesm2022/igo2-common-dom.mjs +11 -14
  37. package/fesm2022/igo2-common-dom.mjs.map +1 -1
  38. package/fesm2022/igo2-common-drag-drop.mjs +15 -17
  39. package/fesm2022/igo2-common-drag-drop.mjs.map +1 -1
  40. package/fesm2022/igo2-common-dynamic-component.mjs +20 -27
  41. package/fesm2022/igo2-common-dynamic-component.mjs.map +1 -1
  42. package/fesm2022/igo2-common-entity.mjs +69 -108
  43. package/fesm2022/igo2-common-entity.mjs.map +1 -1
  44. package/fesm2022/igo2-common-flexible.mjs +13 -18
  45. package/fesm2022/igo2-common-flexible.mjs.map +1 -1
  46. package/fesm2022/igo2-common-form.mjs +77 -112
  47. package/fesm2022/igo2-common-form.mjs.map +1 -1
  48. package/fesm2022/igo2-common-home-button.mjs +7 -7
  49. package/fesm2022/igo2-common-home-button.mjs.map +1 -1
  50. package/fesm2022/igo2-common-icon.mjs +14 -21
  51. package/fesm2022/igo2-common-icon.mjs.map +1 -1
  52. package/fesm2022/igo2-common-image.mjs +53 -57
  53. package/fesm2022/igo2-common-image.mjs.map +1 -1
  54. package/fesm2022/igo2-common-interactive-tour.mjs +43 -56
  55. package/fesm2022/igo2-common-interactive-tour.mjs.map +1 -1
  56. package/fesm2022/igo2-common-json-dialog.mjs +19 -28
  57. package/fesm2022/igo2-common-json-dialog.mjs.map +1 -1
  58. package/fesm2022/igo2-common-keyvalue.mjs +7 -7
  59. package/fesm2022/igo2-common-keyvalue.mjs.map +1 -1
  60. package/fesm2022/igo2-common-list.mjs +16 -23
  61. package/fesm2022/igo2-common-list.mjs.map +1 -1
  62. package/fesm2022/igo2-common-panel.mjs +9 -9
  63. package/fesm2022/igo2-common-panel.mjs.map +1 -1
  64. package/fesm2022/igo2-common-resizable-bar.mjs +6 -6
  65. package/fesm2022/igo2-common-resizable-bar.mjs.map +1 -1
  66. package/fesm2022/igo2-common-select-value-dialog.mjs +28 -44
  67. package/fesm2022/igo2-common-select-value-dialog.mjs.map +1 -1
  68. package/fesm2022/igo2-common-sidenav.mjs +10 -16
  69. package/fesm2022/igo2-common-sidenav.mjs.map +1 -1
  70. package/fesm2022/igo2-common-spinner.mjs +15 -21
  71. package/fesm2022/igo2-common-spinner.mjs.map +1 -1
  72. package/fesm2022/igo2-common-stop-propagation.mjs +10 -10
  73. package/fesm2022/igo2-common-stop-propagation.mjs.map +1 -1
  74. package/fesm2022/igo2-common-table.mjs +9 -11
  75. package/fesm2022/igo2-common-table.mjs.map +1 -1
  76. package/fesm2022/igo2-common-tool.mjs +16 -22
  77. package/fesm2022/igo2-common-tool.mjs.map +1 -1
  78. package/fesm2022/igo2-common-widget.mjs +19 -24
  79. package/fesm2022/igo2-common-widget.mjs.map +1 -1
  80. package/fesm2022/igo2-common-workspace.mjs +20 -20
  81. package/fesm2022/igo2-common-workspace.mjs.map +1 -1
  82. package/flexible/index.d.ts +54 -3
  83. package/form/index.d.ts +429 -3
  84. package/home-button/index.d.ts +18 -3
  85. package/icon/index.d.ts +42 -3
  86. package/image/index.d.ts +35 -3
  87. package/index.d.ts +16 -5
  88. package/interactive-tour/index.d.ts +116 -5
  89. package/json-dialog/index.d.ts +34 -5
  90. package/keyvalue/index.d.ts +18 -3
  91. package/list/index.d.ts +102 -3
  92. package/package.json +10 -13
  93. package/panel/index.d.ts +20 -3
  94. package/resizable-bar/index.d.ts +37 -5
  95. package/select-value-dialog/index.d.ts +65 -5
  96. package/sidenav/index.d.ts +29 -3
  97. package/spinner/index.d.ts +51 -3
  98. package/src/style/partial/common-utils.scss +1 -1
  99. package/stop-propagation/index.d.ts +26 -3
  100. package/table/index.d.ts +105 -3
  101. package/tool/index.d.ts +289 -3
  102. package/widget/index.d.ts +105 -3
  103. package/workspace/index.d.ts +237 -3
  104. package/action/action.module.d.ts +0 -10
  105. package/action/actionbar/actionbar-item.component.d.ts +0 -73
  106. package/action/actionbar/actionbar.component.d.ts +0 -148
  107. package/action/actionbar/actionbar.module.d.ts +0 -10
  108. package/action/public_api.d.ts +0 -4
  109. package/action/shared/action.enums.d.ts +0 -5
  110. package/action/shared/action.interfaces.d.ts +0 -16
  111. package/action/shared/index.d.ts +0 -3
  112. package/action/shared/store.d.ts +0 -8
  113. package/action/src/action.theming.scss +0 -9
  114. package/action/src/actionbar/actionbar-item.theming.scss +0 -20
  115. package/backdrop/backdrop.component.d.ts +0 -8
  116. package/backdrop/backdrop.module.d.ts +0 -12
  117. package/backdrop/public_api.d.ts +0 -2
  118. package/badge/badge-icon.directive.d.ts +0 -34
  119. package/badge/badge-icon.module.d.ts +0 -12
  120. package/badge/public_api.d.ts +0 -2
  121. package/clickout/clickout.directive.d.ts +0 -10
  122. package/clickout/clickout.module.d.ts +0 -12
  123. package/clickout/public_api.d.ts +0 -2
  124. package/clone/clone.module.d.ts +0 -12
  125. package/clone/clone.pipe.d.ts +0 -7
  126. package/clone/public_api.d.ts +0 -2
  127. package/collapsible/collapse.directive.d.ts +0 -19
  128. package/collapsible/collapsible.component.d.ts +0 -13
  129. package/collapsible/collapsible.module.d.ts +0 -13
  130. package/collapsible/public_api.d.ts +0 -6
  131. package/color/color-picker-form-field/color-picker-form-field.component.d.ts +0 -29
  132. package/color/color-picker-form-field/color-picker-form-field.module.d.ts +0 -10
  133. package/color/color-picker-form-field/index.d.ts +0 -2
  134. package/color/public_api.d.ts +0 -1
  135. package/confirm-dialog/confirm-dialog.component.d.ts +0 -12
  136. package/confirm-dialog/confirm-dialog.interface.d.ts +0 -4
  137. package/confirm-dialog/confirm-dialog.module.d.ts +0 -12
  138. package/confirm-dialog/confirm-dialog.service.d.ts +0 -11
  139. package/confirm-dialog/public_api.d.ts +0 -4
  140. package/context-menu/context-menu.directive.d.ts +0 -21
  141. package/context-menu/context-menu.module.d.ts +0 -13
  142. package/context-menu/long-press.directive.d.ts +0 -19
  143. package/context-menu/public_api.d.ts +0 -6
  144. package/custom-html/custom-html.component.d.ts +0 -8
  145. package/custom-html/custom-html.module.d.ts +0 -13
  146. package/custom-html/custom-html.pipe.d.ts +0 -10
  147. package/custom-html/public_api.d.ts +0 -6
  148. package/dom/dom.interfaces.d.ts +0 -10
  149. package/dom/dom.module.d.ts +0 -14
  150. package/dom/dom.service.d.ts +0 -10
  151. package/dom/public_api.d.ts +0 -3
  152. package/drag-drop/drag-drop.directive.d.ts +0 -14
  153. package/drag-drop/drag-drop.module.d.ts +0 -13
  154. package/drag-drop/public_api.d.ts +0 -3
  155. package/drag-drop/tree-drag-drop/index.d.ts +0 -2
  156. package/drag-drop/tree-drag-drop/tree-drag-drop.directive.d.ts +0 -85
  157. package/drag-drop/tree-drag-drop/tree-drag-drop.interface.d.ts +0 -15
  158. package/dynamic-component/dynamic-component.module.d.ts +0 -10
  159. package/dynamic-component/dynamic-outlet/dynamic-outlet.component.d.ts +0 -66
  160. package/dynamic-component/dynamic-outlet/dynamic-outlet.module.d.ts +0 -10
  161. package/dynamic-component/public_api.d.ts +0 -4
  162. package/dynamic-component/shared/dynamic-component.d.ts +0 -84
  163. package/dynamic-component/shared/dynamic-component.interfaces.d.ts +0 -3
  164. package/dynamic-component/shared/dynamic-component.service.d.ts +0 -18
  165. package/dynamic-component/shared/index.d.ts +0 -3
  166. package/entity/entity-selector/entity-selector.component.d.ts +0 -93
  167. package/entity/entity-selector/entity-selector.module.d.ts +0 -10
  168. package/entity/entity-selector/index.d.ts +0 -2
  169. package/entity/entity-table/entity-table-row.directive.d.ts +0 -69
  170. package/entity/entity-table/entity-table.component.d.ts +0 -330
  171. package/entity/entity-table/entity-table.module.d.ts +0 -10
  172. package/entity/entity-table/index.d.ts +0 -2
  173. package/entity/entity-table-paginator/entity-table-paginator.component.d.ts +0 -50
  174. package/entity/entity-table-paginator/entity-table-paginator.interface.d.ts +0 -8
  175. package/entity/entity-table-paginator/entity-table-paginator.module.d.ts +0 -10
  176. package/entity/entity-table-paginator/index.d.ts +0 -3
  177. package/entity/entity.module.d.ts +0 -16
  178. package/entity/public_api.d.ts +0 -5
  179. package/entity/shared/entity.enums.d.ts +0 -23
  180. package/entity/shared/entity.interfaces.d.ts +0 -92
  181. package/entity/shared/entity.utils.d.ts +0 -49
  182. package/entity/shared/index.d.ts +0 -9
  183. package/entity/shared/state.d.ts +0 -108
  184. package/entity/shared/store.d.ts +0 -180
  185. package/entity/shared/strategies/filter-custom-function.d.ts +0 -51
  186. package/entity/shared/strategies/filter-selection.d.ts +0 -48
  187. package/entity/shared/strategies/index.d.ts +0 -3
  188. package/entity/shared/strategies/strategy.d.ts +0 -56
  189. package/entity/shared/transaction.d.ts +0 -171
  190. package/entity/shared/view.d.ts +0 -193
  191. package/entity/shared/watcher.d.ts +0 -72
  192. package/entity/src/entity-selector/entity-selector.theming.scss +0 -21
  193. package/entity/src/entity-table/entity-table.theming.scss +0 -21
  194. package/entity/src/entity.theming.scss +0 -12
  195. package/environment/environment.interface.d.ts +0 -13
  196. package/environment/public_api.d.ts +0 -1
  197. package/flexible/flexible.component.d.ts +0 -42
  198. package/flexible/flexible.module.d.ts +0 -12
  199. package/flexible/flexible.type.d.ts +0 -2
  200. package/flexible/public_api.d.ts +0 -3
  201. package/form/form/form.component.d.ts +0 -46
  202. package/form/form/form.module.d.ts +0 -10
  203. package/form/form/index.d.ts +0 -2
  204. package/form/form-dialog/form-dialog.component.d.ts +0 -19
  205. package/form/form-dialog/form-dialog.interface.d.ts +0 -16
  206. package/form/form-dialog/form-dialog.module.d.ts +0 -16
  207. package/form/form-dialog/form-dialog.service.d.ts +0 -11
  208. package/form/form-dialog/index.d.ts +0 -4
  209. package/form/form-field/form-field-select.component.d.ts +0 -50
  210. package/form/form-field/form-field-text.component.d.ts +0 -49
  211. package/form/form-field/form-field-textarea.component.d.ts +0 -39
  212. package/form/form-field/form-field.component.d.ts +0 -29
  213. package/form/form-field/form-field.directive.d.ts +0 -5
  214. package/form/form-field/form-field.module.d.ts +0 -13
  215. package/form/form-field/index.d.ts +0 -6
  216. package/form/form-group/form-group.component.d.ts +0 -44
  217. package/form/form-group/form-group.module.d.ts +0 -10
  218. package/form/form-group/index.d.ts +0 -2
  219. package/form/form.module.d.ts +0 -18
  220. package/form/public_api.d.ts +0 -6
  221. package/form/shared/form-field-component.d.ts +0 -1
  222. package/form/shared/form-field.service.d.ts +0 -16
  223. package/form/shared/form.interfaces.d.ts +0 -60
  224. package/form/shared/form.service.d.ts +0 -15
  225. package/form/shared/form.utils.d.ts +0 -7
  226. package/form/shared/index.d.ts +0 -5
  227. package/home-button/home-button.component.d.ts +0 -8
  228. package/home-button/home-button.module.d.ts +0 -10
  229. package/home-button/public_api.d.ts +0 -2
  230. package/icon/icon/icon.component.d.ts +0 -15
  231. package/icon/icon.provider.d.ts +0 -4
  232. package/icon/public_api.d.ts +0 -3
  233. package/icon/shared/icon.interface.d.ts +0 -4
  234. package/icon/shared/icon.service.d.ts +0 -12
  235. package/icon/shared/icons.d.ts +0 -11
  236. package/icon/shared/index.d.ts +0 -3
  237. package/image/image-error.directive.d.ts +0 -11
  238. package/image/image.module.d.ts +0 -13
  239. package/image/public_api.d.ts +0 -6
  240. package/image/secure-image.pipe.d.ts +0 -13
  241. package/interactive-tour/interactive-tour.component.d.ts +0 -33
  242. package/interactive-tour/interactive-tour.interface.d.ts +0 -35
  243. package/interactive-tour/interactive-tour.loader.d.ts +0 -18
  244. package/interactive-tour/interactive-tour.module.d.ts +0 -7
  245. package/interactive-tour/interactive-tour.service.d.ts +0 -30
  246. package/interactive-tour/public_api.d.ts +0 -5
  247. package/json-dialog/json-dialog.component.d.ts +0 -13
  248. package/json-dialog/json-dialog.module.d.ts +0 -12
  249. package/json-dialog/json-dialog.service.d.ts +0 -10
  250. package/json-dialog/public_api.d.ts +0 -3
  251. package/keyvalue/keyvalue.module.d.ts +0 -12
  252. package/keyvalue/keyvalue.pipe.d.ts +0 -7
  253. package/keyvalue/public_api.d.ts +0 -2
  254. package/list/list-item.directive.d.ts +0 -43
  255. package/list/list.component.d.ts +0 -51
  256. package/list/list.module.d.ts +0 -13
  257. package/list/public_api.d.ts +0 -6
  258. package/panel/panel.component.d.ts +0 -10
  259. package/panel/panel.module.d.ts +0 -10
  260. package/panel/public_api.d.ts +0 -2
  261. package/panel/src/panel.theming.scss +0 -20
  262. package/public_api.d.ts +0 -16
  263. package/resizable-bar/public_api.d.ts +0 -2
  264. package/resizable-bar/resizable-bar.component.d.ts +0 -23
  265. package/resizable-bar/shared/resize.directive.d.ts +0 -12
  266. package/select-value-dialog/public_api.d.ts +0 -5
  267. package/select-value-dialog/select-value-check-radio-dialog.component.d.ts +0 -25
  268. package/select-value-dialog/select-value-dialog.enums.d.ts +0 -4
  269. package/select-value-dialog/select-value-dialog.interface.d.ts +0 -16
  270. package/select-value-dialog/select-value-dialog.module.d.ts +0 -12
  271. package/select-value-dialog/select-value-dialog.service.d.ts +0 -11
  272. package/sidenav/public_api.d.ts +0 -2
  273. package/sidenav/sidenav-shim.directive.d.ts +0 -20
  274. package/sidenav/sidenav.module.d.ts +0 -12
  275. package/spinner/public_api.d.ts +0 -3
  276. package/spinner/spinner-activity.directive.d.ts +0 -32
  277. package/spinner/spinner.component.d.ts +0 -11
  278. package/spinner/spinner.module.d.ts +0 -14
  279. package/src/common.theme.scss +0 -18
  280. package/stop-propagation/public_api.d.ts +0 -6
  281. package/stop-propagation/stop-drop-propagation.directive.d.ts +0 -6
  282. package/stop-propagation/stop-propagation.directive.d.ts +0 -6
  283. package/stop-propagation/stop-propagation.module.d.ts +0 -13
  284. package/table/public_api.d.ts +0 -6
  285. package/table/table-action-color.enum.d.ts +0 -5
  286. package/table/table-database.d.ts +0 -10
  287. package/table/table-datasource.d.ts +0 -18
  288. package/table/table-model.interface.d.ts +0 -24
  289. package/table/table.component.d.ts +0 -40
  290. package/table/table.module.d.ts +0 -12
  291. package/tool/public_api.d.ts +0 -3
  292. package/tool/shared/index.d.ts +0 -5
  293. package/tool/shared/tool-component.d.ts +0 -2
  294. package/tool/shared/tool.interface.d.ts +0 -16
  295. package/tool/shared/tool.service.d.ts +0 -28
  296. package/tool/shared/toolbox.d.ts +0 -96
  297. package/tool/shared/toolbox.enums.d.ts +0 -1
  298. package/tool/src/tool.theming.scss +0 -5
  299. package/tool/src/toolbox/toolbox.theming.scss +0 -22
  300. package/tool/tool.module.d.ts +0 -15
  301. package/tool/toolbox/index.d.ts +0 -2
  302. package/tool/toolbox/toolbox.animation.d.ts +0 -2
  303. package/tool/toolbox/toolbox.component.d.ts +0 -126
  304. package/tool/toolbox/toolbox.module.d.ts +0 -10
  305. package/widget/public_api.d.ts +0 -3
  306. package/widget/shared/index.d.ts +0 -3
  307. package/widget/shared/widget.d.ts +0 -4
  308. package/widget/shared/widget.interfaces.d.ts +0 -12
  309. package/widget/shared/widget.service.d.ts +0 -10
  310. package/widget/widget-outlet/index.d.ts +0 -2
  311. package/widget/widget-outlet/widget-outlet.component.d.ts +0 -64
  312. package/widget/widget-outlet/widget-outlet.module.d.ts +0 -10
  313. package/widget/widget.module.d.ts +0 -10
  314. package/workspace/public_api.d.ts +0 -4
  315. package/workspace/shared/index.d.ts +0 -3
  316. package/workspace/shared/store.d.ts +0 -20
  317. package/workspace/shared/workspace.d.ts +0 -98
  318. package/workspace/shared/workspace.interfaces.d.ts +0 -9
  319. package/workspace/workspace-selector/index.d.ts +0 -2
  320. package/workspace/workspace-selector/workspace-selector.component.d.ts +0 -38
  321. package/workspace/workspace-selector/workspace-selector.module.d.ts +0 -10
  322. package/workspace/workspace-widget-outlet/index.d.ts +0 -2
  323. package/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +0 -52
  324. package/workspace/workspace-widget-outlet/workspace-widget-outlet.module.d.ts +0 -10
  325. package/workspace/workspace.module.d.ts +0 -14
@@ -1,20 +1,15 @@
1
1
  import * as i0 from '@angular/core';
2
- import { HostListener, Input, Directive, Pipe, NgModule } from '@angular/core';
2
+ import { inject, ElementRef, HostListener, Input, Directive, Pipe, NgModule } from '@angular/core';
3
3
  import { __decorate, __metadata } from 'tslib';
4
- import * as i1 from '@angular/common/http';
5
- import { HttpHeaders } from '@angular/common/http';
6
- import * as i2 from '@igo2/core/config';
7
- import { Observable } from 'rxjs';
8
- import { catchError, switchMap } from 'rxjs/operators';
4
+ import { HttpHeaders, HttpClient } from '@angular/common/http';
5
+ import { ConfigService } from '@igo2/core/config';
6
+ import { catchError, switchMap, Observable } from 'rxjs';
9
7
  import { Cacheable } from 'ts-cacheable';
10
8
 
11
9
  class ImageErrorDirective {
12
- el;
10
+ el = inject(ElementRef);
13
11
  errorImageUrl = './assets/igo2/common/images/na.png';
14
12
  hideError = false;
15
- constructor(el) {
16
- this.el = el;
17
- }
18
13
  onError(event) {
19
14
  if (this.hideError) {
20
15
  this.el.nativeElement.style.display = 'none';
@@ -23,16 +18,16 @@ class ImageErrorDirective {
23
18
  event.target.src = this.errorImageUrl;
24
19
  }
25
20
  }
26
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ImageErrorDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
27
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: ImageErrorDirective, isStandalone: true, selector: "[igoImageError]", inputs: { errorImageUrl: "errorImageUrl", hideError: "hideError" }, host: { listeners: { "error": "onError($event)" } }, ngImport: i0 });
21
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ImageErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
22
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.4", type: ImageErrorDirective, isStandalone: true, selector: "[igoImageError]", inputs: { errorImageUrl: "errorImageUrl", hideError: "hideError" }, host: { listeners: { "error": "onError($event)" } }, ngImport: i0 });
28
23
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ImageErrorDirective, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ImageErrorDirective, decorators: [{
30
25
  type: Directive,
31
26
  args: [{
32
27
  selector: '[igoImageError]',
33
28
  standalone: true
34
29
  }]
35
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { errorImageUrl: [{
30
+ }], propDecorators: { errorImageUrl: [{
36
31
  type: Input
37
32
  }], hideError: [{
38
33
  type: Input
@@ -41,45 +36,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
41
36
  args: ['error', ['$event']]
42
37
  }] } });
43
38
 
44
- class SecureImagePipe {
45
- http;
46
- configService;
47
- constructor(http, configService) {
48
- this.http = http;
49
- this.configService = configService;
39
+ function fetchImageFromDepotUrl(url, depotUrl, http) {
40
+ const headers = new HttpHeaders({
41
+ 'Content-Type': 'text/plain',
42
+ activityInterceptor: 'false',
43
+ interceptError: 'false'
44
+ });
45
+ const regexDepot = new RegExp(depotUrl + '.*?(?="|$)');
46
+ if (regexDepot.test(url)) {
47
+ url = url.match(regexDepot)[0];
50
48
  }
51
- transform(url) {
52
- const headers = new HttpHeaders({
53
- 'Content-Type': 'text/plain',
54
- activityInterceptor: 'false',
55
- interceptError: 'false'
49
+ return http
50
+ .get(url, {
51
+ headers,
52
+ responseType: 'blob'
53
+ })
54
+ .pipe(catchError((err) => {
55
+ err.error.caught = true;
56
+ err.error.toDisplay = false;
57
+ throw err;
58
+ }), switchMap((blob) => {
59
+ return new Observable((observer) => {
60
+ const reader = new FileReader();
61
+ reader.readAsDataURL(blob);
62
+ reader.onloadend = () => {
63
+ observer.next(reader.result);
64
+ observer.complete();
65
+ };
56
66
  });
57
- const regexDepot = new RegExp(this.configService?.getConfig('depot.url') + '.*?(?="|$)');
58
- if (regexDepot.test(url)) {
59
- url = url.match(regexDepot)[0];
60
- }
61
- return this.http
62
- .get(url, {
63
- headers,
64
- responseType: 'blob'
65
- })
66
- .pipe(catchError((err) => {
67
- err.error.caught = true;
68
- err.error.toDisplay = false;
69
- throw err;
70
- }), switchMap((blob) => {
71
- return new Observable((observer) => {
72
- const reader = new FileReader();
73
- reader.readAsDataURL(blob);
74
- reader.onloadend = () => {
75
- observer.next(reader.result);
76
- observer.complete();
77
- };
78
- });
79
- }));
67
+ }));
68
+ }
69
+
70
+ class SecureImagePipe {
71
+ http = inject(HttpClient);
72
+ configService = inject(ConfigService);
73
+ transform(url) {
74
+ const depotUrl = this.configService?.getConfig('depot.url');
75
+ return fetchImageFromDepotUrl(url, depotUrl, this.http);
80
76
  }
81
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: SecureImagePipe, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Pipe });
82
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: SecureImagePipe, isStandalone: true, name: "secureImage" });
77
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SecureImagePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
78
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: SecureImagePipe, isStandalone: true, name: "secureImage" });
83
79
  }
84
80
  __decorate([
85
81
  Cacheable({
@@ -89,13 +85,13 @@ __decorate([
89
85
  __metadata("design:paramtypes", [String]),
90
86
  __metadata("design:returntype", Observable)
91
87
  ], SecureImagePipe.prototype, "transform", null);
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: SecureImagePipe, decorators: [{
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SecureImagePipe, decorators: [{
93
89
  type: Pipe,
94
90
  args: [{
95
91
  name: 'secureImage',
96
92
  standalone: true
97
93
  }]
98
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }], propDecorators: { transform: [] } });
94
+ }], propDecorators: { transform: [] } });
99
95
 
100
96
  /**
101
97
  * @deprecated import the components/directives directly or IMAGE_DIRECTIVES for the set
@@ -107,11 +103,11 @@ class IgoImageModule {
107
103
  providers: []
108
104
  };
109
105
  }
110
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
111
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: IgoImageModule, imports: [SecureImagePipe, ImageErrorDirective], exports: [SecureImagePipe, ImageErrorDirective] });
112
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoImageModule });
106
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
107
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: IgoImageModule, imports: [SecureImagePipe, ImageErrorDirective], exports: [SecureImagePipe, ImageErrorDirective] });
108
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoImageModule });
113
109
  }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoImageModule, decorators: [{
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoImageModule, decorators: [{
115
111
  type: NgModule,
116
112
  args: [{
117
113
  imports: [SecureImagePipe, ImageErrorDirective],
@@ -125,5 +121,5 @@ const IMAGE_DIRECTIVES = [SecureImagePipe, ImageErrorDirective];
125
121
  * Generated bundle index. Do not edit.
126
122
  */
127
123
 
128
- export { IMAGE_DIRECTIVES, IgoImageModule, ImageErrorDirective, SecureImagePipe };
124
+ export { IMAGE_DIRECTIVES, IgoImageModule, ImageErrorDirective, SecureImagePipe, fetchImageFromDepotUrl };
129
125
  //# sourceMappingURL=igo2-common-image.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"igo2-common-image.mjs","sources":["../../../packages/common/image/src/image-error.directive.ts","../../../packages/common/image/src/secure-image.pipe.ts","../../../packages/common/image/src/image.module.ts","../../../packages/common/image/src/public_api.ts","../../../packages/common/image/src/igo2-common-image.ts"],"sourcesContent":["import { Directive, ElementRef, HostListener, Input } from '@angular/core';\n\n@Directive({\n selector: '[igoImageError]',\n standalone: true\n})\nexport class ImageErrorDirective {\n @Input() errorImageUrl = './assets/igo2/common/images/na.png';\n @Input() hideError = false;\n\n constructor(private el: ElementRef) {}\n\n @HostListener('error', ['$event'])\n public onError(event: any): void {\n if (this.hideError) {\n this.el.nativeElement.style.display = 'none';\n } else {\n event.target.src = this.errorImageUrl;\n }\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Pipe, PipeTransform } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { Observable } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\nimport { Cacheable } from 'ts-cacheable';\n\n@Pipe({\n name: 'secureImage',\n standalone: true\n})\nexport class SecureImagePipe implements PipeTransform {\n constructor(\n private http: HttpClient,\n private configService?: ConfigService\n ) {}\n\n @Cacheable({\n maxCacheCount: 20\n })\n transform(url: string): Observable<string> {\n const headers = new HttpHeaders({\n 'Content-Type': 'text/plain',\n activityInterceptor: 'false',\n interceptError: 'false'\n });\n\n const regexDepot = new RegExp(\n this.configService?.getConfig('depot.url') + '.*?(?=\"|$)'\n );\n if (regexDepot.test(url)) {\n url = url.match(regexDepot)[0];\n }\n\n return this.http\n .get(url, {\n headers,\n responseType: 'blob'\n })\n .pipe(\n catchError((err) => {\n err.error.caught = true;\n err.error.toDisplay = false;\n throw err;\n }),\n switchMap((blob) => {\n return new Observable((observer) => {\n const reader = new FileReader();\n reader.readAsDataURL(blob);\n reader.onloadend = () => {\n observer.next(reader.result);\n observer.complete();\n };\n });\n })\n ) as Observable<string>;\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { ImageErrorDirective } from './image-error.directive';\nimport { SecureImagePipe } from './secure-image.pipe';\n\n/**\n * @deprecated import the components/directives directly or IMAGE_DIRECTIVES for the set\n */\n@NgModule({\n imports: [SecureImagePipe, ImageErrorDirective],\n exports: [SecureImagePipe, ImageErrorDirective]\n})\nexport class IgoImageModule {\n static forRoot(): ModuleWithProviders<IgoImageModule> {\n return {\n ngModule: IgoImageModule,\n providers: []\n };\n }\n}\n","import { ImageErrorDirective } from './image-error.directive';\nimport { SecureImagePipe } from './secure-image.pipe';\n\nexport * from './image.module';\nexport * from './image-error.directive';\nexport * from './secure-image.pipe';\n\nexport const IMAGE_DIRECTIVES = [SecureImagePipe, ImageErrorDirective] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"igo2-common-image.mjs","sources":["../../../packages/common/image/src/image-error.directive.ts","../../../packages/common/image/src/image.ts","../../../packages/common/image/src/secure-image.pipe.ts","../../../packages/common/image/src/image.module.ts","../../../packages/common/image/src/public_api.ts","../../../packages/common/image/src/igo2-common-image.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n inject\n} from '@angular/core';\n\n@Directive({\n selector: '[igoImageError]',\n standalone: true\n})\nexport class ImageErrorDirective {\n private el = inject(ElementRef);\n\n @Input() errorImageUrl = './assets/igo2/common/images/na.png';\n @Input() hideError = false;\n\n @HostListener('error', ['$event'])\n public onError(event: any): void {\n if (this.hideError) {\n this.el.nativeElement.style.display = 'none';\n } else {\n event.target.src = this.errorImageUrl;\n }\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { Observable, catchError, switchMap } from 'rxjs';\n\nexport function fetchImageFromDepotUrl(\n url: string,\n depotUrl: string,\n http: HttpClient\n) {\n const headers = new HttpHeaders({\n 'Content-Type': 'text/plain',\n activityInterceptor: 'false',\n interceptError: 'false'\n });\n\n const regexDepot = new RegExp(depotUrl + '.*?(?=\"|$)');\n if (regexDepot.test(url)) {\n url = url.match(regexDepot)[0];\n }\n\n return http\n .get(url, {\n headers,\n responseType: 'blob'\n })\n .pipe(\n catchError((err) => {\n err.error.caught = true;\n err.error.toDisplay = false;\n throw err;\n }),\n switchMap((blob) => {\n return new Observable((observer) => {\n const reader = new FileReader();\n reader.readAsDataURL(blob);\n reader.onloadend = () => {\n observer.next(reader.result);\n observer.complete();\n };\n });\n })\n ) as Observable<string>;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Pipe, PipeTransform, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { Observable } from 'rxjs';\nimport { Cacheable } from 'ts-cacheable';\n\nimport { fetchImageFromDepotUrl } from './image';\n\n@Pipe({\n name: 'secureImage',\n standalone: true\n})\nexport class SecureImagePipe implements PipeTransform {\n private http = inject(HttpClient);\n private configService = inject(ConfigService);\n\n @Cacheable({\n maxCacheCount: 20\n })\n transform(url: string): Observable<string> {\n const depotUrl = this.configService?.getConfig('depot.url');\n return fetchImageFromDepotUrl(url, depotUrl, this.http);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { ImageErrorDirective } from './image-error.directive';\nimport { SecureImagePipe } from './secure-image.pipe';\n\n/**\n * @deprecated import the components/directives directly or IMAGE_DIRECTIVES for the set\n */\n@NgModule({\n imports: [SecureImagePipe, ImageErrorDirective],\n exports: [SecureImagePipe, ImageErrorDirective]\n})\nexport class IgoImageModule {\n static forRoot(): ModuleWithProviders<IgoImageModule> {\n return {\n ngModule: IgoImageModule,\n providers: []\n };\n }\n}\n","import { ImageErrorDirective } from './image-error.directive';\nimport { SecureImagePipe } from './secure-image.pipe';\n\nexport * from './image';\nexport * from './image.module';\nexport * from './image-error.directive';\nexport * from './secure-image.pipe';\n\nexport const IMAGE_DIRECTIVES = [SecureImagePipe, ImageErrorDirective] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,34 +1,30 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Input, ViewEncapsulation, Component, NgModule } from '@angular/core';
3
- import { NgIf, NgClass, AsyncPipe } from '@angular/common';
4
- import * as i4 from '@angular/material/button';
2
+ import { inject, Injectable, Input, ViewEncapsulation, Component, NgModule } from '@angular/core';
3
+ import { NgClass, AsyncPipe } from '@angular/common';
4
+ import * as i1 from '@angular/material/button';
5
5
  import { MatButtonModule } from '@angular/material/button';
6
- import * as i6 from '@angular/material/icon';
6
+ import * as i3 from '@angular/material/icon';
7
7
  import { MatIconModule } from '@angular/material/icon';
8
- import * as i5$1 from '@angular/material/tooltip';
8
+ import * as i2 from '@angular/material/tooltip';
9
9
  import { MatTooltipModule } from '@angular/material/tooltip';
10
- import * as i3$1 from '@igo2/common/icon';
11
- import { PRESENTATION_PLAY_ICON, IgoIconComponent } from '@igo2/common/icon';
12
- import * as i2$2 from '@igo2/common/tool';
13
- import * as i3 from '@igo2/core/language';
14
- import { IgoLanguageModule } from '@igo2/core/language';
10
+ import { IconService, PRESENTATION_PLAY_ICON, IgoIconComponent } from '@igo2/common/icon';
11
+ import { ToolService } from '@igo2/common/tool';
12
+ import { LanguageService, IgoLanguageModule } from '@igo2/core/language';
15
13
  import { of } from 'rxjs';
16
- import * as i2 from '@igo2/core/config';
17
- import * as i2$1 from '@igo2/core/media';
14
+ import { ConfigService } from '@igo2/core/config';
15
+ import { MediaService } from '@igo2/core/media';
18
16
  import { autoPlacement, offset } from '@floating-ui/dom';
19
- import * as i5 from 'angular-shepherd';
20
- import * as i1 from '@angular/common/http';
17
+ import { ShepherdService } from 'angular-shepherd';
18
+ import { HttpClient } from '@angular/common/http';
21
19
  import { catchError } from 'rxjs/operators';
22
- import * as i7 from '@ngx-translate/core';
20
+ import * as i4 from '@ngx-translate/core';
23
21
 
24
22
  class InteractiveTourLoader {
25
- http;
26
- configService;
23
+ http = inject(HttpClient);
24
+ configService = inject(ConfigService);
27
25
  jsonURL;
28
26
  allToursOptions;
29
- constructor(http, configService) {
30
- this.http = http;
31
- this.configService = configService;
27
+ constructor() {
32
28
  this.jsonURL = this.getPathToConfigFile();
33
29
  }
34
30
  loadConfigTour() {
@@ -56,26 +52,21 @@ class InteractiveTourLoader {
56
52
  nameInConfigFile = nameInConfigFile.replace(/\s/g, '');
57
53
  return this.allToursOptions[nameInConfigFile];
58
54
  }
59
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: InteractiveTourLoader, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
60
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: InteractiveTourLoader });
55
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InteractiveTourLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
56
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InteractiveTourLoader });
61
57
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: InteractiveTourLoader, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InteractiveTourLoader, decorators: [{
63
59
  type: Injectable
64
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
60
+ }], ctorParameters: () => [] });
65
61
 
66
62
  class InteractiveTourService {
67
- configService;
68
- mediaService;
69
- languageService;
70
- interactiveTourLoader;
71
- shepherdService;
63
+ configService = inject(ConfigService);
64
+ mediaService = inject(MediaService);
65
+ languageService = inject(LanguageService);
66
+ interactiveTourLoader = inject(InteractiveTourLoader);
67
+ shepherdService = inject(ShepherdService);
72
68
  previousStep;
73
- constructor(configService, mediaService, languageService, interactiveTourLoader, shepherdService) {
74
- this.configService = configService;
75
- this.mediaService = mediaService;
76
- this.languageService = languageService;
77
- this.interactiveTourLoader = interactiveTourLoader;
78
- this.shepherdService = shepherdService;
69
+ constructor() {
79
70
  if (this.isAppHaveTour()) {
80
71
  this.interactiveTourLoader.loadConfigTour();
81
72
  }
@@ -337,20 +328,20 @@ class InteractiveTourService {
337
328
  });
338
329
  this.shepherdService.start();
339
330
  }
340
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: InteractiveTourService, deps: [{ token: i2.ConfigService }, { token: i2$1.MediaService }, { token: i3.LanguageService }, { token: InteractiveTourLoader }, { token: i5.ShepherdService }], target: i0.ɵɵFactoryTarget.Injectable });
341
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: InteractiveTourService, providedIn: 'root' });
331
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InteractiveTourService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
332
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InteractiveTourService, providedIn: 'root' });
342
333
  }
343
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: InteractiveTourService, decorators: [{
334
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InteractiveTourService, decorators: [{
344
335
  type: Injectable,
345
336
  args: [{
346
337
  providedIn: 'root'
347
338
  }]
348
- }], ctorParameters: () => [{ type: i2.ConfigService }, { type: i2$1.MediaService }, { type: i3.LanguageService }, { type: InteractiveTourLoader }, { type: i5.ShepherdService }] });
339
+ }], ctorParameters: () => [] });
349
340
 
350
341
  class InteractiveTourComponent {
351
- interactiveTourService;
352
- toolService;
353
- iconService;
342
+ interactiveTourService = inject(InteractiveTourService);
343
+ toolService = inject(ToolService);
344
+ iconService = inject(IconService);
354
345
  presentationIcon = PRESENTATION_PLAY_ICON;
355
346
  /**
356
347
  * Toolbox that holds main tools
@@ -422,10 +413,7 @@ class InteractiveTourComponent {
422
413
  get disabledTourButton() {
423
414
  return this.interactiveTourService.disabledTourButton(this.activeToolName);
424
415
  }
425
- constructor(interactiveTourService, toolService, iconService) {
426
- this.interactiveTourService = interactiveTourService;
427
- this.toolService = toolService;
428
- this.iconService = iconService;
416
+ constructor() {
429
417
  this.iconService.registerSvg(this.presentationIcon);
430
418
  }
431
419
  startInteractiveTour() {
@@ -437,13 +425,12 @@ class InteractiveTourComponent {
437
425
  return;
438
426
  }
439
427
  }
440
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: InteractiveTourComponent, deps: [{ token: InteractiveTourService }, { token: i2$2.ToolService }, { token: i3$1.IconService }], target: i0.ɵɵFactoryTarget.Component });
441
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: InteractiveTourComponent, isStandalone: true, selector: "igo-interactive-tour", inputs: { tourToStart: "tourToStart", styleButton: "styleButton", discoverTitleInLocale$: "discoverTitleInLocale$" }, ngImport: i0, template: "<ng-container *ngIf=\"showTourButton\">\n <button\n *ngIf=\"styleButton === 'icon'; else raisedButton\"\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n [disabled]=\"disabledTourButton\"\n >\n <igo-icon [icon]=\"presentationIcon\" iconPositionEnd />\n </button>\n\n <ng-template #raisedButton>\n <button\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"disabledTourButton\"\n >\n {{ 'igo.common.interactiveTour.buttonTitle' | translate }}\n {{ discoverTitleInLocale$ | async | translate }}\n <mat-icon\n [svgIcon]=\"presentationIcon.name\"\n iconPositionEnd\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n >\n </mat-icon>\n </button>\n </ng-template>\n</ng-container>\n", styles: [":host ::ng-deep button.tour-button-tool-icon{color:var(--mat-sys-primary-container)}:host ::ng-deep button.tour-button-tool-icon:hover{background-color:var(--mat-sys-secondary-container);color:var(--mat-sys-on-secondary-container)}:host ::ng-deep .mat-primary .mat-mdc-icon-button{color:#fff}:host>button.mat-mdc-raised-button.tour-button-tool-icon{box-shadow:none}.shepherd-has-title .shepherd-content .shepherd-header{padding:.5em .75em}.shepherd-has-title .shepherd-content .shepherd-header h3{font-size:14px}.shepherd-title{margin:0!important;font-weight:revert!important}.shepherd-progress{margin-right:15px;color:#737373}.shepherd-element{border:1px solid;border-color:#474747;box-shadow:4px 5px #65656599}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "component", type: IgoIconComponent, selector: "igo-icon", inputs: ["color", "icon"] }], encapsulation: i0.ViewEncapsulation.None });
428
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InteractiveTourComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
429
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: InteractiveTourComponent, isStandalone: true, selector: "igo-interactive-tour", inputs: { tourToStart: "tourToStart", styleButton: "styleButton", discoverTitleInLocale$: "discoverTitleInLocale$" }, ngImport: i0, template: "@if (showTourButton) {\n @if (styleButton === 'icon') {\n <button\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n [disabled]=\"disabledTourButton\"\n >\n <igo-icon [icon]=\"presentationIcon\" iconPositionEnd />\n </button>\n } @else {\n <button\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n matButton=\"elevated\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"disabledTourButton\"\n >\n {{ 'igo.common.interactiveTour.buttonTitle' | translate }}\n {{ discoverTitleInLocale$ | async | translate }}\n <mat-icon\n [svgIcon]=\"presentationIcon.name\"\n iconPositionEnd\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n >\n </mat-icon>\n </button>\n }\n}\n", styles: [":host ::ng-deep button.tour-button-tool-icon{color:var(--mat-sys-primary-container)}:host ::ng-deep button.tour-button-tool-icon:hover{background-color:var(--mat-sys-secondary-container);color:var(--mat-sys-on-secondary-container)}:host ::ng-deep .mat-primary .mat-mdc-icon-button{color:#fff}:host>button.mat-mdc-raised-button.tour-button-tool-icon{box-shadow:none}.shepherd-has-title .shepherd-content .shepherd-header{padding:.5em .75em}.shepherd-has-title .shepherd-content .shepherd-header h3{font-size:14px}.shepherd-title{margin:0!important;font-weight:revert!important}.shepherd-progress{margin-right:15px;color:#737373}.shepherd-element{border:1px solid;border-color:#474747;box-shadow:4px 5px #65656599}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "component", type: IgoIconComponent, selector: "igo-icon", inputs: ["color", "icon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
442
430
  }
443
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: InteractiveTourComponent, decorators: [{
431
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InteractiveTourComponent, decorators: [{
444
432
  type: Component,
445
433
  args: [{ selector: 'igo-interactive-tour', encapsulation: ViewEncapsulation.None, imports: [
446
- NgIf,
447
434
  MatButtonModule,
448
435
  NgClass,
449
436
  MatTooltipModule,
@@ -451,8 +438,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
451
438
  AsyncPipe,
452
439
  IgoLanguageModule,
453
440
  IgoIconComponent
454
- ], template: "<ng-container *ngIf=\"showTourButton\">\n <button\n *ngIf=\"styleButton === 'icon'; else raisedButton\"\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n [disabled]=\"disabledTourButton\"\n >\n <igo-icon [icon]=\"presentationIcon\" iconPositionEnd />\n </button>\n\n <ng-template #raisedButton>\n <button\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"disabledTourButton\"\n >\n {{ 'igo.common.interactiveTour.buttonTitle' | translate }}\n {{ discoverTitleInLocale$ | async | translate }}\n <mat-icon\n [svgIcon]=\"presentationIcon.name\"\n iconPositionEnd\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n >\n </mat-icon>\n </button>\n </ng-template>\n</ng-container>\n", styles: [":host ::ng-deep button.tour-button-tool-icon{color:var(--mat-sys-primary-container)}:host ::ng-deep button.tour-button-tool-icon:hover{background-color:var(--mat-sys-secondary-container);color:var(--mat-sys-on-secondary-container)}:host ::ng-deep .mat-primary .mat-mdc-icon-button{color:#fff}:host>button.mat-mdc-raised-button.tour-button-tool-icon{box-shadow:none}.shepherd-has-title .shepherd-content .shepherd-header{padding:.5em .75em}.shepherd-has-title .shepherd-content .shepherd-header h3{font-size:14px}.shepherd-title{margin:0!important;font-weight:revert!important}.shepherd-progress{margin-right:15px;color:#737373}.shepherd-element{border:1px solid;border-color:#474747;box-shadow:4px 5px #65656599}\n"] }]
455
- }], ctorParameters: () => [{ type: InteractiveTourService }, { type: i2$2.ToolService }, { type: i3$1.IconService }], propDecorators: { tourToStart: [{
441
+ ], template: "@if (showTourButton) {\n @if (styleButton === 'icon') {\n <button\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n [disabled]=\"disabledTourButton\"\n >\n <igo-icon [icon]=\"presentationIcon\" iconPositionEnd />\n </button>\n } @else {\n <button\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n matButton=\"elevated\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"disabledTourButton\"\n >\n {{ 'igo.common.interactiveTour.buttonTitle' | translate }}\n {{ discoverTitleInLocale$ | async | translate }}\n <mat-icon\n [svgIcon]=\"presentationIcon.name\"\n iconPositionEnd\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n >\n </mat-icon>\n </button>\n }\n}\n", styles: [":host ::ng-deep button.tour-button-tool-icon{color:var(--mat-sys-primary-container)}:host ::ng-deep button.tour-button-tool-icon:hover{background-color:var(--mat-sys-secondary-container);color:var(--mat-sys-on-secondary-container)}:host ::ng-deep .mat-primary .mat-mdc-icon-button{color:#fff}:host>button.mat-mdc-raised-button.tour-button-tool-icon{box-shadow:none}.shepherd-has-title .shepherd-content .shepherd-header{padding:.5em .75em}.shepherd-has-title .shepherd-content .shepherd-header h3{font-size:14px}.shepherd-title{margin:0!important;font-weight:revert!important}.shepherd-progress{margin-right:15px;color:#737373}.shepherd-element{border:1px solid;border-color:#474747;box-shadow:4px 5px #65656599}\n"] }]
442
+ }], ctorParameters: () => [], propDecorators: { tourToStart: [{
456
443
  type: Input
457
444
  }], styleButton: [{
458
445
  type: Input
@@ -461,11 +448,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
461
448
  }] } });
462
449
 
463
450
  class IgoInteractiveTourModule {
464
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoInteractiveTourModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
465
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: IgoInteractiveTourModule, imports: [InteractiveTourComponent], exports: [InteractiveTourComponent] });
466
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoInteractiveTourModule, providers: [InteractiveTourService, InteractiveTourLoader], imports: [InteractiveTourComponent] });
451
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoInteractiveTourModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
452
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: IgoInteractiveTourModule, imports: [InteractiveTourComponent], exports: [InteractiveTourComponent] });
453
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoInteractiveTourModule, providers: [InteractiveTourService, InteractiveTourLoader], imports: [InteractiveTourComponent] });
467
454
  }
468
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoInteractiveTourModule, decorators: [{
455
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoInteractiveTourModule, decorators: [{
469
456
  type: NgModule,
470
457
  args: [{
471
458
  imports: [InteractiveTourComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"igo2-common-interactive-tour.mjs","sources":["../../../packages/common/interactive-tour/src/interactive-tour.loader.ts","../../../packages/common/interactive-tour/src/interactive-tour.service.ts","../../../packages/common/interactive-tour/src/interactive-tour.component.ts","../../../packages/common/interactive-tour/src/interactive-tour.component.html","../../../packages/common/interactive-tour/src/interactive-tour.module.ts","../../../packages/common/interactive-tour/src/igo2-common-interactive-tour.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nimport { InteractiveTourOptions } from './interactive-tour.interface';\n\n@Injectable()\nexport class InteractiveTourLoader {\n private jsonURL: string;\n private allToursOptions;\n\n constructor(\n private http: HttpClient,\n private configService: ConfigService\n ) {\n this.jsonURL = this.getPathToConfigFile();\n }\n\n public loadConfigTour() {\n this.getJSON().subscribe(\n (data) => {\n this.allToursOptions = data;\n },\n () => {\n throw new Error(\n `Problem with Interactive tour configuration file: interactiveTour.json not find. Check if the file and is path is set correctly.`\n );\n }\n );\n }\n\n public getPathToConfigFile(): string {\n return (\n this.configService.getConfig('interactiveTour.pathToConfigFile') ||\n './config/interactiveTour.json'\n );\n }\n\n public getJSON(): Observable<any> {\n return this.http.get(this.jsonURL).pipe(\n catchError((e) => {\n e.error.caught = true;\n throw e;\n })\n );\n }\n\n public getTourOptionData(toolName): InteractiveTourOptions {\n if (this.allToursOptions === undefined) {\n return undefined;\n }\n let nameInConfigFile = toolName;\n nameInConfigFile = nameInConfigFile.replace(/\\s/g, '');\n return this.allToursOptions[nameInConfigFile];\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\nimport { LanguageService } from '@igo2/core/language';\nimport { MediaService } from '@igo2/core/media';\n\nimport { autoPlacement, offset } from '@floating-ui/dom';\nimport { ShepherdService } from 'angular-shepherd';\nimport { StepOptions, Tour } from 'shepherd.js';\n\nimport {\n InteractiveTourAction,\n InteractiveTourOptions,\n InteractiveTourStep\n} from './interactive-tour.interface';\nimport { InteractiveTourLoader } from './interactive-tour.loader';\n\ninterface IIndexTour {\n index: number;\n tour: Tour;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InteractiveTourService {\n private previousStep: InteractiveTourStep;\n\n constructor(\n private configService: ConfigService,\n private mediaService: MediaService,\n private languageService: LanguageService,\n private interactiveTourLoader: InteractiveTourLoader,\n private shepherdService: ShepherdService\n ) {\n if (this.isAppHaveTour()) {\n this.interactiveTourLoader.loadConfigTour();\n }\n }\n\n public isAppHaveTour() {\n const haveTour = this.configService.getConfig(\n 'interactiveTour.activateInteractiveTour'\n );\n if (haveTour === undefined) {\n return true;\n } else {\n return haveTour;\n }\n }\n\n public isToolHaveTourConfig(toolName: string): boolean {\n const checkTourActiveOptions =\n this.interactiveTourLoader.getTourOptionData(toolName);\n if (checkTourActiveOptions === undefined) {\n return false;\n } else {\n return true;\n }\n }\n\n public disabledTourButton(toolName: string): boolean {\n const stepConfig: InteractiveTourOptions =\n this.interactiveTourLoader.getTourOptionData(toolName);\n\n if (stepConfig?.conditions) {\n for (const condition of stepConfig.conditions) {\n if (document.querySelector(condition) === null) {\n return true;\n }\n }\n }\n return false;\n }\n\n public isMobile(): boolean {\n return this.mediaService.isMobile();\n }\n\n public isTourDisplayInMobile(): boolean {\n const showInMobile = this.configService.getConfig(\n 'interactiveTour.tourInMobile'\n );\n\n return showInMobile === undefined ? true : showInMobile;\n }\n\n private getButtons(buttonKind?: 'first' | 'last' | 'noBackButton') {\n if (buttonKind === 'noBackButton') {\n return [\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.nextButton'\n ),\n type: 'next'\n }\n ];\n }\n if (buttonKind === 'first') {\n return [\n {\n classes: 'shepherd-button-secondary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.exitButton'\n ),\n type: 'cancel'\n },\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.nextButton'\n ),\n type: 'next'\n }\n ];\n }\n\n if (buttonKind === 'last') {\n return [\n {\n classes: 'shepherd-button-secondary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.backButton'\n ),\n type: 'back'\n },\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.exitButton'\n ),\n type: 'cancel'\n }\n ];\n }\n\n return [\n {\n classes: 'shepherd-button-secondary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.backButton'\n ),\n type: 'back'\n },\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.nextButton'\n ),\n type: 'next'\n }\n ];\n }\n\n private getAction(actionName: string) {\n const action = {\n click: 'click'\n };\n return action[actionName.toLowerCase()];\n }\n\n private addProgress() {\n const self = this as any;\n let nbTry = 0;\n const maxTry = 21;\n const checkExist = setInterval(() => {\n if (self.getCurrentStep()) {\n if (\n self.getCurrentStep().options.attachTo.element &&\n !document.querySelector(\n self.getCurrentStep().options.attachTo.element\n )\n ) {\n self.cancel();\n clearInterval(checkExist);\n return;\n } else {\n const currentStepElement = self.getCurrentStep().getElement();\n const header = currentStepElement\n ? currentStepElement.querySelector('.shepherd-header')\n : undefined;\n\n nbTry++;\n if (header || nbTry > maxTry) {\n clearInterval(checkExist);\n }\n\n if (header) {\n const stepsArray = self.steps;\n const progress = document.createElement('span');\n progress.className = 'shepherd-progress';\n progress.innerText = `${\n stepsArray.indexOf(self.getCurrentStep()) + 1\n }/${stepsArray.length}`;\n header.insertBefore(\n progress,\n currentStepElement.querySelector('.shepherd-cancel-icon')\n );\n }\n }\n }\n }, 100);\n }\n\n private checkNext(index: IIndexTour, tour) {\n if (tour.getCurrentStep()) {\n if (\n tour.getCurrentStep().options.attachTo.element &&\n document.querySelector(tour.getCurrentStep().options.attachTo.element)\n ) {\n tour.complete();\n return;\n }\n\n if (index.index === tour.steps.length - 1) {\n tour.complete();\n return;\n }\n\n tour.steps.splice(index.index, 1);\n const nextStep = tour.steps[index.index];\n if (\n nextStep.options.attachTo.element &&\n !document.querySelector(nextStep.options.attachTo.element)\n ) {\n index.index = index.index + 1;\n this.checkNext(index, tour);\n } else {\n tour._setupModal();\n tour.show(nextStep.id);\n }\n }\n }\n\n private executeAction(\n step: InteractiveTourStep,\n actionConfig: InteractiveTourAction\n ) {\n if (!actionConfig) {\n return;\n }\n\n if (\n actionConfig.condition &&\n ((actionConfig.condition.charAt(0) === '!' &&\n document.querySelector(actionConfig.condition.slice(1))) ||\n (actionConfig.condition.charAt(0) !== '!' &&\n !document.querySelector(actionConfig.condition)))\n ) {\n return;\n }\n\n const element: HTMLElement = document.querySelector(\n actionConfig.element || step.element\n ) as HTMLElement;\n const action = this.getAction(actionConfig.action);\n if (element && action) {\n element[action]();\n }\n }\n\n private executeActionPromise(\n step: InteractiveTourStep,\n actionConfig: InteractiveTourAction\n ) {\n return new Promise<void>((resolve) => {\n this.executeAction(step, actionConfig);\n if (!actionConfig || !actionConfig.waitFor) {\n resolve();\n return;\n }\n let nbTry = 0;\n const maxTry = actionConfig.maxWait ? actionConfig.maxWait / 100 : 20;\n const checkExist = setInterval(() => {\n nbTry++;\n if (nbTry > maxTry || document.querySelector(actionConfig.waitFor)) {\n clearInterval(checkExist);\n resolve();\n }\n }, 100);\n });\n }\n\n private getShepherdSteps(tourConfig: InteractiveTourOptions) {\n const shepherdSteps: StepOptions[] = [];\n\n let i = 0;\n for (const step of tourConfig.steps) {\n const position = step.position ?? tourConfig.position;\n shepherdSteps.push({\n attachTo: {\n element: step.element,\n on: position as any // PopperPlacement\n },\n floatingUIOptions: {\n middleware: [\n position === 'auto' && autoPlacement(),\n offset({ mainAxis: 15 })\n ].filter(Boolean)\n },\n beforeShowPromise: () => {\n return Promise.all([\n this.executeActionPromise(\n this.previousStep,\n this.previousStep ? this.previousStep.beforeChange : undefined\n ),\n this.executeActionPromise(step, step.beforeShow)\n ]);\n },\n buttons: this.getButtons(\n i === 0\n ? 'first'\n : i + 1 === tourConfig.steps.length\n ? 'last'\n : tourConfig.steps[i].noBackButton\n ? 'noBackButton'\n : undefined\n ),\n classes: step.class,\n highlightClass: step.highlightClass,\n scrollTo: step.scrollToElement || tourConfig.scrollToElement || true,\n canClickTarget: step.disableInteraction\n ? !step.disableInteraction\n : undefined,\n title: this.languageService.translate.instant(\n step.title || tourConfig.title\n ),\n text: [this.languageService.translate.instant(step.text)],\n when: {\n show: () => {\n this.executeAction(step, step.onShow);\n },\n hide: () => {\n this.previousStep = step;\n this.executeAction(step, step.onHide);\n }\n }\n } satisfies StepOptions);\n i++;\n }\n\n return shepherdSteps;\n }\n\n public startTour(toolName: string) {\n const stepConfig: InteractiveTourOptions =\n this.interactiveTourLoader.getTourOptionData(toolName);\n\n this.shepherdService.defaultStepOptions = {\n classes: stepConfig.class,\n highlightClass: stepConfig.highlightClass,\n canClickTarget: stepConfig.disableInteraction\n ? !stepConfig.disableInteraction\n : true,\n cancelIcon: {\n enabled: true\n }\n };\n\n const shepherdSteps = this.getShepherdSteps(stepConfig);\n\n this.shepherdService.modal = true;\n this.shepherdService.confirmCancel = false;\n this.shepherdService.addSteps(shepherdSteps);\n\n this.shepherdService.tourObject.on('show', this.addProgress);\n this.shepherdService.tourObject.on('cancel', (index) => {\n this.checkNext(index, this.shepherdService.tourObject);\n });\n\n this.shepherdService.start();\n }\n}\n","import { AsyncPipe, NgClass, NgIf } from '@angular/common';\nimport { Component, Input, ViewEncapsulation } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport {\n IconService,\n IgoIconComponent,\n PRESENTATION_PLAY_ICON\n} from '@igo2/common/icon';\nimport { ToolService } from '@igo2/common/tool';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { Observable, of } from 'rxjs';\n\nimport { InteractiveTourService } from './interactive-tour.service';\n\n@Component({\n selector: 'igo-interactive-tour',\n templateUrl: './interactive-tour.component.html',\n styleUrls: ['./interactive-tour.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgIf,\n MatButtonModule,\n NgClass,\n MatTooltipModule,\n MatIconModule,\n AsyncPipe,\n IgoLanguageModule,\n IgoIconComponent\n ]\n})\nexport class InteractiveTourComponent {\n presentationIcon = PRESENTATION_PLAY_ICON;\n\n /**\n * Toolbox that holds main tools\n */\n @Input() tourToStart = '';\n @Input() styleButton: 'icon' | 'raised';\n @Input() discoverTitleInLocale$: Observable<string> = of('IGO');\n\n getClass() {\n return {\n 'tour-button-tool-icon': this.styleButton === 'icon',\n 'tour-button-tool': this.styleButton === 'raised'\n };\n }\n\n get toolbox() {\n return this.toolService.toolbox;\n }\n\n getTourToStart() {\n if (this.tourToStart) {\n return this.tourToStart;\n } else {\n return this.activeToolName;\n }\n }\n\n get activeToolName() {\n if (this.toolbox) {\n if (this.isActiveTool) {\n return this.toolbox.activeTool$.getValue().name;\n } else {\n return 'global';\n }\n } else {\n return undefined;\n }\n }\n\n get isActiveTool(): boolean {\n if (this.toolbox) {\n return this.toolbox.activeTool$.getValue() !== undefined;\n } else {\n return undefined;\n }\n }\n\n get isToolHaveTour(): boolean {\n if (this.activeToolName === 'about' && !this.tourToStart) {\n return false;\n }\n return this.interactiveTourService.isToolHaveTourConfig(\n this.getTourToStart()\n );\n }\n\n get showTourButton(): boolean {\n // 2 conditions to show: have Tour on tool in Config file and if we are in mobile displayInMobile= true\n if (this.isToolHaveTour === false) {\n return false;\n }\n\n let inMobileAndShow: boolean;\n if (this.interactiveTourService.isMobile()) {\n inMobileAndShow = this.isTourDisplayInMobile;\n if (inMobileAndShow === false) {\n return false;\n }\n }\n return true;\n }\n\n get isTourDisplayInMobile(): boolean {\n return this.interactiveTourService.isTourDisplayInMobile();\n }\n\n get disabledTourButton(): boolean {\n return this.interactiveTourService.disabledTourButton(this.activeToolName);\n }\n\n constructor(\n private interactiveTourService: InteractiveTourService,\n private toolService: ToolService,\n private iconService: IconService\n ) {\n this.iconService.registerSvg(this.presentationIcon);\n }\n\n startInteractiveTour() {\n const tour = this.getTourToStart();\n if (tour) {\n this.interactiveTourService.startTour(tour);\n } else {\n return;\n }\n }\n}\n","<ng-container *ngIf=\"showTourButton\">\n <button\n *ngIf=\"styleButton === 'icon'; else raisedButton\"\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n [disabled]=\"disabledTourButton\"\n >\n <igo-icon [icon]=\"presentationIcon\" iconPositionEnd />\n </button>\n\n <ng-template #raisedButton>\n <button\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"disabledTourButton\"\n >\n {{ 'igo.common.interactiveTour.buttonTitle' | translate }}\n {{ discoverTitleInLocale$ | async | translate }}\n <mat-icon\n [svgIcon]=\"presentationIcon.name\"\n iconPositionEnd\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n >\n </mat-icon>\n </button>\n </ng-template>\n</ng-container>\n","import { NgModule } from '@angular/core';\n\nimport { InteractiveTourComponent } from './interactive-tour.component';\nimport { InteractiveTourLoader } from './interactive-tour.loader';\nimport { InteractiveTourService } from './interactive-tour.service';\n\n@NgModule({\n imports: [InteractiveTourComponent],\n exports: [InteractiveTourComponent],\n providers: [InteractiveTourService, InteractiveTourLoader]\n})\nexport class IgoInteractiveTourModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i4.InteractiveTourLoader","i1.InteractiveTourService","i3"],"mappings":"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"}
1
+ {"version":3,"file":"igo2-common-interactive-tour.mjs","sources":["../../../packages/common/interactive-tour/src/interactive-tour.loader.ts","../../../packages/common/interactive-tour/src/interactive-tour.service.ts","../../../packages/common/interactive-tour/src/interactive-tour.component.ts","../../../packages/common/interactive-tour/src/interactive-tour.component.html","../../../packages/common/interactive-tour/src/interactive-tour.module.ts","../../../packages/common/interactive-tour/src/igo2-common-interactive-tour.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nimport { InteractiveTourOptions } from './interactive-tour.interface';\n\n@Injectable()\nexport class InteractiveTourLoader {\n private http = inject(HttpClient);\n private configService = inject(ConfigService);\n\n private jsonURL: string;\n private allToursOptions;\n\n constructor() {\n this.jsonURL = this.getPathToConfigFile();\n }\n\n public loadConfigTour() {\n this.getJSON().subscribe(\n (data) => {\n this.allToursOptions = data;\n },\n () => {\n throw new Error(\n `Problem with Interactive tour configuration file: interactiveTour.json not find. Check if the file and is path is set correctly.`\n );\n }\n );\n }\n\n public getPathToConfigFile(): string {\n return (\n this.configService.getConfig('interactiveTour.pathToConfigFile') ||\n './config/interactiveTour.json'\n );\n }\n\n public getJSON(): Observable<any> {\n return this.http.get(this.jsonURL).pipe(\n catchError((e) => {\n e.error.caught = true;\n throw e;\n })\n );\n }\n\n public getTourOptionData(toolName): InteractiveTourOptions {\n if (this.allToursOptions === undefined) {\n return undefined;\n }\n let nameInConfigFile = toolName;\n nameInConfigFile = nameInConfigFile.replace(/\\s/g, '');\n return this.allToursOptions[nameInConfigFile];\n }\n}\n","import { Injectable, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\nimport { LanguageService } from '@igo2/core/language';\nimport { MediaService } from '@igo2/core/media';\n\nimport { autoPlacement, offset } from '@floating-ui/dom';\nimport { ShepherdService } from 'angular-shepherd';\nimport { StepOptions, Tour } from 'shepherd.js';\n\nimport {\n InteractiveTourAction,\n InteractiveTourOptions,\n InteractiveTourStep\n} from './interactive-tour.interface';\nimport { InteractiveTourLoader } from './interactive-tour.loader';\n\ninterface IIndexTour {\n index: number;\n tour: Tour;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InteractiveTourService {\n private configService = inject(ConfigService);\n private mediaService = inject(MediaService);\n private languageService = inject(LanguageService);\n private interactiveTourLoader = inject(InteractiveTourLoader);\n private shepherdService = inject(ShepherdService);\n\n private previousStep: InteractiveTourStep;\n\n constructor() {\n if (this.isAppHaveTour()) {\n this.interactiveTourLoader.loadConfigTour();\n }\n }\n\n public isAppHaveTour() {\n const haveTour = this.configService.getConfig(\n 'interactiveTour.activateInteractiveTour'\n );\n if (haveTour === undefined) {\n return true;\n } else {\n return haveTour;\n }\n }\n\n public isToolHaveTourConfig(toolName: string): boolean {\n const checkTourActiveOptions =\n this.interactiveTourLoader.getTourOptionData(toolName);\n if (checkTourActiveOptions === undefined) {\n return false;\n } else {\n return true;\n }\n }\n\n public disabledTourButton(toolName: string): boolean {\n const stepConfig: InteractiveTourOptions =\n this.interactiveTourLoader.getTourOptionData(toolName);\n\n if (stepConfig?.conditions) {\n for (const condition of stepConfig.conditions) {\n if (document.querySelector(condition) === null) {\n return true;\n }\n }\n }\n return false;\n }\n\n public isMobile(): boolean {\n return this.mediaService.isMobile();\n }\n\n public isTourDisplayInMobile(): boolean {\n const showInMobile = this.configService.getConfig(\n 'interactiveTour.tourInMobile'\n );\n\n return showInMobile === undefined ? true : showInMobile;\n }\n\n private getButtons(buttonKind?: 'first' | 'last' | 'noBackButton') {\n if (buttonKind === 'noBackButton') {\n return [\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.nextButton'\n ),\n type: 'next'\n }\n ];\n }\n if (buttonKind === 'first') {\n return [\n {\n classes: 'shepherd-button-secondary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.exitButton'\n ),\n type: 'cancel'\n },\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.nextButton'\n ),\n type: 'next'\n }\n ];\n }\n\n if (buttonKind === 'last') {\n return [\n {\n classes: 'shepherd-button-secondary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.backButton'\n ),\n type: 'back'\n },\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.exitButton'\n ),\n type: 'cancel'\n }\n ];\n }\n\n return [\n {\n classes: 'shepherd-button-secondary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.backButton'\n ),\n type: 'back'\n },\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.nextButton'\n ),\n type: 'next'\n }\n ];\n }\n\n private getAction(actionName: string) {\n const action = {\n click: 'click'\n };\n return action[actionName.toLowerCase()];\n }\n\n private addProgress() {\n const self = this as any;\n let nbTry = 0;\n const maxTry = 21;\n const checkExist = setInterval(() => {\n if (self.getCurrentStep()) {\n if (\n self.getCurrentStep().options.attachTo.element &&\n !document.querySelector(\n self.getCurrentStep().options.attachTo.element\n )\n ) {\n self.cancel();\n clearInterval(checkExist);\n return;\n } else {\n const currentStepElement = self.getCurrentStep().getElement();\n const header = currentStepElement\n ? currentStepElement.querySelector('.shepherd-header')\n : undefined;\n\n nbTry++;\n if (header || nbTry > maxTry) {\n clearInterval(checkExist);\n }\n\n if (header) {\n const stepsArray = self.steps;\n const progress = document.createElement('span');\n progress.className = 'shepherd-progress';\n progress.innerText = `${\n stepsArray.indexOf(self.getCurrentStep()) + 1\n }/${stepsArray.length}`;\n header.insertBefore(\n progress,\n currentStepElement.querySelector('.shepherd-cancel-icon')\n );\n }\n }\n }\n }, 100);\n }\n\n private checkNext(index: IIndexTour, tour) {\n if (tour.getCurrentStep()) {\n if (\n tour.getCurrentStep().options.attachTo.element &&\n document.querySelector(tour.getCurrentStep().options.attachTo.element)\n ) {\n tour.complete();\n return;\n }\n\n if (index.index === tour.steps.length - 1) {\n tour.complete();\n return;\n }\n\n tour.steps.splice(index.index, 1);\n const nextStep = tour.steps[index.index];\n if (\n nextStep.options.attachTo.element &&\n !document.querySelector(nextStep.options.attachTo.element)\n ) {\n index.index = index.index + 1;\n this.checkNext(index, tour);\n } else {\n tour._setupModal();\n tour.show(nextStep.id);\n }\n }\n }\n\n private executeAction(\n step: InteractiveTourStep,\n actionConfig: InteractiveTourAction\n ) {\n if (!actionConfig) {\n return;\n }\n\n if (\n actionConfig.condition &&\n ((actionConfig.condition.charAt(0) === '!' &&\n document.querySelector(actionConfig.condition.slice(1))) ||\n (actionConfig.condition.charAt(0) !== '!' &&\n !document.querySelector(actionConfig.condition)))\n ) {\n return;\n }\n\n const element: HTMLElement = document.querySelector(\n actionConfig.element || step.element\n ) as HTMLElement;\n const action = this.getAction(actionConfig.action);\n if (element && action) {\n element[action]();\n }\n }\n\n private executeActionPromise(\n step: InteractiveTourStep,\n actionConfig: InteractiveTourAction\n ) {\n return new Promise<void>((resolve) => {\n this.executeAction(step, actionConfig);\n if (!actionConfig || !actionConfig.waitFor) {\n resolve();\n return;\n }\n let nbTry = 0;\n const maxTry = actionConfig.maxWait ? actionConfig.maxWait / 100 : 20;\n const checkExist = setInterval(() => {\n nbTry++;\n if (nbTry > maxTry || document.querySelector(actionConfig.waitFor)) {\n clearInterval(checkExist);\n resolve();\n }\n }, 100);\n });\n }\n\n private getShepherdSteps(tourConfig: InteractiveTourOptions) {\n const shepherdSteps: StepOptions[] = [];\n\n let i = 0;\n for (const step of tourConfig.steps) {\n const position = step.position ?? tourConfig.position;\n shepherdSteps.push({\n attachTo: {\n element: step.element,\n on: position as any // PopperPlacement\n },\n floatingUIOptions: {\n middleware: [\n position === 'auto' && autoPlacement(),\n offset({ mainAxis: 15 })\n ].filter(Boolean)\n },\n beforeShowPromise: () => {\n return Promise.all([\n this.executeActionPromise(\n this.previousStep,\n this.previousStep ? this.previousStep.beforeChange : undefined\n ),\n this.executeActionPromise(step, step.beforeShow)\n ]);\n },\n buttons: this.getButtons(\n i === 0\n ? 'first'\n : i + 1 === tourConfig.steps.length\n ? 'last'\n : tourConfig.steps[i].noBackButton\n ? 'noBackButton'\n : undefined\n ),\n classes: step.class,\n highlightClass: step.highlightClass,\n scrollTo: step.scrollToElement || tourConfig.scrollToElement || true,\n canClickTarget: step.disableInteraction\n ? !step.disableInteraction\n : undefined,\n title: this.languageService.translate.instant(\n step.title || tourConfig.title\n ),\n text: [this.languageService.translate.instant(step.text)],\n when: {\n show: () => {\n this.executeAction(step, step.onShow);\n },\n hide: () => {\n this.previousStep = step;\n this.executeAction(step, step.onHide);\n }\n }\n } satisfies StepOptions);\n i++;\n }\n\n return shepherdSteps;\n }\n\n public startTour(toolName: string) {\n const stepConfig: InteractiveTourOptions =\n this.interactiveTourLoader.getTourOptionData(toolName);\n\n this.shepherdService.defaultStepOptions = {\n classes: stepConfig.class,\n highlightClass: stepConfig.highlightClass,\n canClickTarget: stepConfig.disableInteraction\n ? !stepConfig.disableInteraction\n : true,\n cancelIcon: {\n enabled: true\n }\n };\n\n const shepherdSteps = this.getShepherdSteps(stepConfig);\n\n this.shepherdService.modal = true;\n this.shepherdService.confirmCancel = false;\n this.shepherdService.addSteps(shepherdSteps);\n\n this.shepherdService.tourObject.on('show', this.addProgress);\n this.shepherdService.tourObject.on('cancel', (index) => {\n this.checkNext(index, this.shepherdService.tourObject);\n });\n\n this.shepherdService.start();\n }\n}\n","import { AsyncPipe, NgClass } from '@angular/common';\nimport { Component, Input, ViewEncapsulation, inject } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport {\n IconService,\n IgoIconComponent,\n PRESENTATION_PLAY_ICON\n} from '@igo2/common/icon';\nimport { ToolService } from '@igo2/common/tool';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { Observable, of } from 'rxjs';\n\nimport { InteractiveTourService } from './interactive-tour.service';\n\n@Component({\n selector: 'igo-interactive-tour',\n templateUrl: './interactive-tour.component.html',\n styleUrls: ['./interactive-tour.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n MatButtonModule,\n NgClass,\n MatTooltipModule,\n MatIconModule,\n AsyncPipe,\n IgoLanguageModule,\n IgoIconComponent\n ]\n})\nexport class InteractiveTourComponent {\n private interactiveTourService = inject(InteractiveTourService);\n private toolService = inject(ToolService);\n private iconService = inject(IconService);\n\n presentationIcon = PRESENTATION_PLAY_ICON;\n\n /**\n * Toolbox that holds main tools\n */\n @Input() tourToStart = '';\n @Input() styleButton: 'icon' | 'raised';\n @Input() discoverTitleInLocale$: Observable<string> = of('IGO');\n\n getClass() {\n return {\n 'tour-button-tool-icon': this.styleButton === 'icon',\n 'tour-button-tool': this.styleButton === 'raised'\n };\n }\n\n get toolbox() {\n return this.toolService.toolbox;\n }\n\n getTourToStart() {\n if (this.tourToStart) {\n return this.tourToStart;\n } else {\n return this.activeToolName;\n }\n }\n\n get activeToolName() {\n if (this.toolbox) {\n if (this.isActiveTool) {\n return this.toolbox.activeTool$.getValue().name;\n } else {\n return 'global';\n }\n } else {\n return undefined;\n }\n }\n\n get isActiveTool(): boolean {\n if (this.toolbox) {\n return this.toolbox.activeTool$.getValue() !== undefined;\n } else {\n return undefined;\n }\n }\n\n get isToolHaveTour(): boolean {\n if (this.activeToolName === 'about' && !this.tourToStart) {\n return false;\n }\n return this.interactiveTourService.isToolHaveTourConfig(\n this.getTourToStart()\n );\n }\n\n get showTourButton(): boolean {\n // 2 conditions to show: have Tour on tool in Config file and if we are in mobile displayInMobile= true\n if (this.isToolHaveTour === false) {\n return false;\n }\n\n let inMobileAndShow: boolean;\n if (this.interactiveTourService.isMobile()) {\n inMobileAndShow = this.isTourDisplayInMobile;\n if (inMobileAndShow === false) {\n return false;\n }\n }\n return true;\n }\n\n get isTourDisplayInMobile(): boolean {\n return this.interactiveTourService.isTourDisplayInMobile();\n }\n\n get disabledTourButton(): boolean {\n return this.interactiveTourService.disabledTourButton(this.activeToolName);\n }\n\n constructor() {\n this.iconService.registerSvg(this.presentationIcon);\n }\n\n startInteractiveTour() {\n const tour = this.getTourToStart();\n if (tour) {\n this.interactiveTourService.startTour(tour);\n } else {\n return;\n }\n }\n}\n","@if (showTourButton) {\n @if (styleButton === 'icon') {\n <button\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n [disabled]=\"disabledTourButton\"\n >\n <igo-icon [icon]=\"presentationIcon\" iconPositionEnd />\n </button>\n } @else {\n <button\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n matButton=\"elevated\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"disabledTourButton\"\n >\n {{ 'igo.common.interactiveTour.buttonTitle' | translate }}\n {{ discoverTitleInLocale$ | async | translate }}\n <mat-icon\n [svgIcon]=\"presentationIcon.name\"\n iconPositionEnd\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n >\n </mat-icon>\n </button>\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { InteractiveTourComponent } from './interactive-tour.component';\nimport { InteractiveTourLoader } from './interactive-tour.loader';\nimport { InteractiveTourService } from './interactive-tour.service';\n\n@NgModule({\n imports: [InteractiveTourComponent],\n exports: [InteractiveTourComponent],\n providers: [InteractiveTourService, InteractiveTourLoader]\n})\nexport class IgoInteractiveTourModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}