@wavemaker/app-ng-runtime 11.14.1-rc.6310 → 11.14.2-1.245

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 (412) hide show
  1. package/components/advanced/carousel/bundles/index.umd.js +15 -1
  2. package/components/advanced/carousel/carousel.directive.d.ts +1 -0
  3. package/components/advanced/carousel/esm2022/carousel.directive.mjs +16 -2
  4. package/components/advanced/carousel/fesm2022/index.mjs +15 -1
  5. package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  6. package/components/advanced/login/bundles/index.umd.js +24 -3
  7. package/components/advanced/login/esm2022/login.component.mjs +25 -4
  8. package/components/advanced/login/fesm2022/index.mjs +24 -3
  9. package/components/advanced/login/fesm2022/index.mjs.map +1 -1
  10. package/components/advanced/login/login.component.d.ts +5 -2
  11. package/components/base/bundles/index.umd.js +331 -36
  12. package/components/base/directives/show-in-device.directive.d.ts +2 -1
  13. package/components/base/esm2022/directives/show-in-device.directive.mjs +22 -4
  14. package/components/base/esm2022/pipes/custom-pipes.mjs +10 -10
  15. package/components/base/esm2022/utils/widget-utils.mjs +3 -3
  16. package/components/base/esm2022/widgets/common/base/base-container.component.mjs +27 -1
  17. package/components/base/esm2022/widgets/common/base/base-field-validations.mjs +18 -1
  18. package/components/base/esm2022/widgets/common/base/base.component.mjs +68 -7
  19. package/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +9 -1
  20. package/components/base/esm2022/widgets/common/base/dataset-aware-nav.component.mjs +44 -11
  21. package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +20 -1
  22. package/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +26 -1
  23. package/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +44 -4
  24. package/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +16 -1
  25. package/components/base/esm2022/widgets/common/pull-to-refresh/pull-to-refresh.mjs +22 -1
  26. package/components/base/esm2022/widgets/framework/property-change-handler.mjs +7 -2
  27. package/components/base/esm2022/widgets/framework/widget-proxy-provider.mjs +5 -3
  28. package/components/base/esm2022/widgets/framework/widget-registry.mjs +6 -3
  29. package/components/base/fesm2022/index.mjs +327 -34
  30. package/components/base/fesm2022/index.mjs.map +1 -1
  31. package/components/base/pipes/custom-pipes.d.ts +5 -5
  32. package/components/base/widgets/common/base/base-container.component.d.ts +3 -2
  33. package/components/base/widgets/common/base/base-field-validations.d.ts +1 -0
  34. package/components/base/widgets/common/base/custom-widget-container.directive.d.ts +3 -2
  35. package/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +6 -2
  36. package/components/base/widgets/common/base/partial-container.directive.d.ts +3 -2
  37. package/components/base/widgets/common/item-template/item-template.directive.d.ts +3 -2
  38. package/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +1 -1
  39. package/components/base/widgets/common/partial-param/partial-param.directive.d.ts +3 -2
  40. package/components/base/widgets/common/pull-to-refresh/pull-to-refresh.d.ts +3 -2
  41. package/components/basic/anchor/bundles/index.umd.js +13 -1
  42. package/components/basic/anchor/esm2022/anchor.component.mjs +14 -2
  43. package/components/basic/anchor/fesm2022/index.mjs +13 -1
  44. package/components/basic/anchor/fesm2022/index.mjs.map +1 -1
  45. package/components/basic/html/bundles/index.umd.js +13 -1
  46. package/components/basic/html/esm2022/html.directive.mjs +14 -2
  47. package/components/basic/html/fesm2022/index.mjs +13 -1
  48. package/components/basic/html/fesm2022/index.mjs.map +1 -1
  49. package/components/basic/label/bundles/index.umd.js +17 -1
  50. package/components/basic/label/esm2022/label.directive.mjs +18 -2
  51. package/components/basic/label/fesm2022/index.mjs +17 -1
  52. package/components/basic/label/fesm2022/index.mjs.map +1 -1
  53. package/components/basic/label/label.directive.d.ts +3 -2
  54. package/components/basic/progress/progress-circle/bundles/index.umd.js +10 -0
  55. package/components/basic/progress/progress-circle/esm2022/progress-circle.component.mjs +11 -1
  56. package/components/basic/progress/progress-circle/fesm2022/index.mjs +10 -0
  57. package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -1
  58. package/components/basic/progress/progress-circle/progress-circle.component.d.ts +3 -2
  59. package/components/basic/search/bundles/index.umd.js +42 -14
  60. package/components/basic/search/esm2022/scrollable.directive.mjs +13 -4
  61. package/components/basic/search/esm2022/search.component.mjs +31 -12
  62. package/components/basic/search/fesm2022/index.mjs +42 -14
  63. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  64. package/components/basic/search/scrollable.directive.d.ts +5 -3
  65. package/components/basic/search/search.component.d.ts +3 -2
  66. package/components/basic/spinner/bundles/index.umd.js +9 -1
  67. package/components/basic/spinner/esm2022/spinner.component.mjs +10 -2
  68. package/components/basic/spinner/fesm2022/index.mjs +9 -1
  69. package/components/basic/spinner/fesm2022/index.mjs.map +1 -1
  70. package/components/basic/spinner/spinner.component.d.ts +4 -2
  71. package/components/chart/bundles/index.umd.js +21 -3
  72. package/components/chart/esm2022/chart.component.mjs +22 -4
  73. package/components/chart/fesm2022/index.mjs +21 -3
  74. package/components/chart/fesm2022/index.mjs.map +1 -1
  75. package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +3 -2
  76. package/components/containers/accordion/accordion.directive.d.ts +5 -2
  77. package/components/containers/accordion/bundles/index.umd.js +49 -2
  78. package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +10 -1
  79. package/components/containers/accordion/esm2022/accordion.directive.mjs +41 -3
  80. package/components/containers/accordion/fesm2022/index.mjs +49 -2
  81. package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  82. package/components/containers/panel/bundles/index.umd.js +13 -0
  83. package/components/containers/panel/esm2022/panel.component.mjs +14 -1
  84. package/components/containers/panel/fesm2022/index.mjs +13 -0
  85. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  86. package/components/containers/panel/panel.component.d.ts +3 -2
  87. package/components/containers/tabs/bundles/index.umd.js +54 -2
  88. package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +10 -1
  89. package/components/containers/tabs/esm2022/tabs.component.mjs +46 -3
  90. package/components/containers/tabs/fesm2022/index.mjs +54 -2
  91. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  92. package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +3 -2
  93. package/components/containers/tabs/tabs.component.d.ts +5 -2
  94. package/components/containers/wizard/bundles/index.umd.js +47 -3
  95. package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +16 -3
  96. package/components/containers/wizard/esm2022/wizard.component.mjs +33 -2
  97. package/components/containers/wizard/fesm2022/index.mjs +47 -3
  98. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  99. package/components/containers/wizard/wizard-step/wizard-step.component.d.ts +3 -2
  100. package/components/containers/wizard/wizard.component.d.ts +4 -2
  101. package/components/data/card/bundles/index.umd.js +17 -1
  102. package/components/data/card/card-content/card-content.component.d.ts +3 -2
  103. package/components/data/card/card.component.d.ts +4 -2
  104. package/components/data/card/esm2022/card-content/card-content.component.mjs +6 -1
  105. package/components/data/card/esm2022/card.component.mjs +13 -2
  106. package/components/data/card/fesm2022/index.mjs +17 -1
  107. package/components/data/card/fesm2022/index.mjs.map +1 -1
  108. package/components/data/form/bundles/index.umd.js +92 -0
  109. package/components/data/form/esm2022/form-action/form-action.directive.mjs +7 -1
  110. package/components/data/form/esm2022/form-field/form-field.directive.mjs +28 -1
  111. package/components/data/form/esm2022/form-widget.directive.mjs +8 -1
  112. package/components/data/form/esm2022/form.component.mjs +27 -1
  113. package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +7 -1
  114. package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +12 -1
  115. package/components/data/form/esm2022/live-form/live-form.directive.mjs +10 -1
  116. package/components/data/form/fesm2022/index.mjs +92 -0
  117. package/components/data/form/fesm2022/index.mjs.map +1 -1
  118. package/components/data/form/form-action/form-action.directive.d.ts +3 -2
  119. package/components/data/form/form-field/form-field.directive.d.ts +3 -2
  120. package/components/data/form/form-widget.directive.d.ts +3 -2
  121. package/components/data/form/live-actions/live-actions.directive.d.ts +3 -1
  122. package/components/data/form/live-filter/live-filter.directive.d.ts +3 -1
  123. package/components/data/form/live-form/live-form.directive.d.ts +3 -1
  124. package/components/data/list/bundles/index.umd.js +213 -19
  125. package/components/data/list/esm2022/list-item.directive.mjs +95 -11
  126. package/components/data/list/esm2022/list.component.mjs +120 -10
  127. package/components/data/list/fesm2022/index.mjs +213 -19
  128. package/components/data/list/fesm2022/index.mjs.map +1 -1
  129. package/components/data/list/list-item.directive.d.ts +7 -2
  130. package/components/data/list/list.component.d.ts +7 -0
  131. package/components/data/live-table/bundles/index.umd.js +13 -1
  132. package/components/data/live-table/esm2022/live-table.component.mjs +14 -2
  133. package/components/data/live-table/fesm2022/index.mjs +13 -1
  134. package/components/data/live-table/fesm2022/index.mjs.map +1 -1
  135. package/components/data/live-table/live-table.component.d.ts +4 -2
  136. package/components/data/pagination/bundles/index.umd.js +57 -4
  137. package/components/data/pagination/esm2022/pagination.component.mjs +58 -5
  138. package/components/data/pagination/fesm2022/index.mjs +57 -4
  139. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  140. package/components/data/pagination/pagination.component.d.ts +4 -2
  141. package/components/data/table/bundles/index.umd.js +345 -15
  142. package/components/data/table/esm2022/table-action/table-action.directive.mjs +8 -1
  143. package/components/data/table/esm2022/table-column/table-column.directive.mjs +107 -3
  144. package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +9 -1
  145. package/components/data/table/esm2022/table-cud.directive.mjs +8 -2
  146. package/components/data/table/esm2022/table-filter.directive.mjs +12 -2
  147. package/components/data/table/esm2022/table-row/table-row.directive.mjs +8 -1
  148. package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +8 -1
  149. package/components/data/table/esm2022/table.component.mjs +193 -12
  150. package/components/data/table/fesm2022/index.mjs +345 -15
  151. package/components/data/table/fesm2022/index.mjs.map +1 -1
  152. package/components/data/table/table-action/table-action.directive.d.ts +3 -2
  153. package/components/data/table/table-column/table-column.directive.d.ts +3 -2
  154. package/components/data/table/table-column-group/table-column-group.directive.d.ts +3 -2
  155. package/components/data/table/table-cud.directive.d.ts +3 -1
  156. package/components/data/table/table-filter.directive.d.ts +3 -1
  157. package/components/data/table/table-row/table-row.directive.d.ts +3 -2
  158. package/components/data/table/table-row-action/table-row-action.directive.d.ts +3 -2
  159. package/components/data/table/table.component.d.ts +6 -2
  160. package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +3 -2
  161. package/components/dialogs/alert-dialog/bundles/index.umd.js +5 -0
  162. package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +6 -1
  163. package/components/dialogs/alert-dialog/fesm2022/index.mjs +5 -0
  164. package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  165. package/components/dialogs/confirm-dialog/bundles/index.umd.js +5 -0
  166. package/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +3 -2
  167. package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +6 -1
  168. package/components/dialogs/confirm-dialog/fesm2022/index.mjs +5 -0
  169. package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  170. package/components/dialogs/default/bundles/index.umd.js +15 -2
  171. package/components/dialogs/default/dialog-body/dialog-body.directive.d.ts +4 -2
  172. package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +16 -3
  173. package/components/dialogs/default/fesm2022/index.mjs +15 -2
  174. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  175. package/components/dialogs/design-dialog/bundles/index.umd.js +7 -0
  176. package/components/dialogs/design-dialog/dialog.component.d.ts +3 -2
  177. package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +8 -1
  178. package/components/dialogs/design-dialog/fesm2022/index.mjs +7 -0
  179. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  180. package/components/dialogs/iframe-dialog/bundles/index.umd.js +5 -0
  181. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +6 -1
  182. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +5 -0
  183. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  184. package/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +3 -2
  185. package/components/dialogs/partial-dialog/bundles/index.umd.js +23 -3
  186. package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +24 -4
  187. package/components/dialogs/partial-dialog/fesm2022/index.mjs +23 -3
  188. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  189. package/components/dialogs/partial-dialog/partial-dialog.component.d.ts +4 -2
  190. package/components/input/base-form/base-form.component.d.ts +4 -2
  191. package/components/input/base-form/bundles/index.umd.js +16 -2
  192. package/components/input/base-form/esm2022/base-form.component.mjs +17 -3
  193. package/components/input/base-form/fesm2022/index.mjs +16 -2
  194. package/components/input/base-form/fesm2022/index.mjs.map +1 -1
  195. package/components/input/base-form-custom/base-form-custom.component.d.ts +3 -2
  196. package/components/input/base-form-custom/bundles/index.umd.js +13 -2
  197. package/components/input/base-form-custom/esm2022/base-form-custom.component.mjs +14 -3
  198. package/components/input/base-form-custom/fesm2022/index.mjs +13 -2
  199. package/components/input/base-form-custom/fesm2022/index.mjs.map +1 -1
  200. package/components/input/checkbox/bundles/index.umd.js +7 -0
  201. package/components/input/checkbox/checkbox.component.d.ts +3 -2
  202. package/components/input/checkbox/esm2022/checkbox.component.mjs +8 -1
  203. package/components/input/checkbox/fesm2022/index.mjs +7 -0
  204. package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
  205. package/components/input/checkboxset/bundles/index.umd.js +18 -2
  206. package/components/input/checkboxset/checkboxset.component.d.ts +4 -2
  207. package/components/input/checkboxset/esm2022/checkboxset.component.mjs +19 -3
  208. package/components/input/checkboxset/fesm2022/index.mjs +18 -2
  209. package/components/input/checkboxset/fesm2022/index.mjs.map +1 -1
  210. package/components/input/chips/bundles/index.umd.js +45 -5
  211. package/components/input/chips/chips.component.d.ts +3 -2
  212. package/components/input/chips/esm2022/chips.component.mjs +46 -6
  213. package/components/input/chips/fesm2022/index.mjs +45 -5
  214. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  215. package/components/input/color-picker/bundles/index.umd.js +8 -0
  216. package/components/input/color-picker/color-picker.component.d.ts +3 -2
  217. package/components/input/color-picker/esm2022/color-picker.component.mjs +9 -1
  218. package/components/input/color-picker/fesm2022/index.mjs +8 -0
  219. package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  220. package/components/input/composite/bundles/index.umd.js +10 -1
  221. package/components/input/composite/composite.directive.d.ts +3 -2
  222. package/components/input/composite/esm2022/composite.directive.mjs +11 -2
  223. package/components/input/composite/fesm2022/index.mjs +10 -1
  224. package/components/input/composite/fesm2022/index.mjs.map +1 -1
  225. package/components/input/currency/bundles/index.umd.js +7 -0
  226. package/components/input/currency/currency.component.d.ts +3 -2
  227. package/components/input/currency/esm2022/currency.component.mjs +8 -1
  228. package/components/input/currency/fesm2022/index.mjs +7 -0
  229. package/components/input/currency/fesm2022/index.mjs.map +1 -1
  230. package/components/input/dataset-aware-form/bundles/index.umd.js +26 -2
  231. package/components/input/dataset-aware-form/esm2022/dataset-aware-form.component.mjs +27 -3
  232. package/components/input/dataset-aware-form/fesm2022/index.mjs +26 -2
  233. package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -1
  234. package/components/input/epoch/date/bundles/index.umd.js +22 -0
  235. package/components/input/epoch/date/date.component.d.ts +1 -0
  236. package/components/input/epoch/date/esm2022/date.component.mjs +23 -1
  237. package/components/input/epoch/date/fesm2022/index.mjs +22 -0
  238. package/components/input/epoch/date/fesm2022/index.mjs.map +1 -1
  239. package/components/input/file-upload/bundles/index.umd.js +25 -8
  240. package/components/input/file-upload/esm2022/file-upload.component.mjs +26 -9
  241. package/components/input/file-upload/fesm2022/index.mjs +25 -8
  242. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  243. package/components/input/file-upload/file-upload.component.d.ts +3 -0
  244. package/components/input/number/bundles/index.umd.js +8 -0
  245. package/components/input/number/esm2022/number.component.mjs +9 -1
  246. package/components/input/number/fesm2022/index.mjs +8 -0
  247. package/components/input/number/fesm2022/index.mjs.map +1 -1
  248. package/components/input/number/number.component.d.ts +3 -2
  249. package/components/input/radioset/bundles/index.umd.js +18 -2
  250. package/components/input/radioset/esm2022/radioset.component.mjs +19 -3
  251. package/components/input/radioset/fesm2022/index.mjs +18 -2
  252. package/components/input/radioset/fesm2022/index.mjs.map +1 -1
  253. package/components/input/radioset/radioset.component.d.ts +4 -2
  254. package/components/input/rating/bundles/index.umd.js +10 -0
  255. package/components/input/rating/esm2022/rating.component.mjs +11 -1
  256. package/components/input/rating/fesm2022/index.mjs +10 -0
  257. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  258. package/components/input/rating/rating.component.d.ts +3 -2
  259. package/components/input/select/bundles/index.umd.js +6 -0
  260. package/components/input/select/esm2022/select.component.mjs +7 -1
  261. package/components/input/select/fesm2022/index.mjs +6 -0
  262. package/components/input/select/fesm2022/index.mjs.map +1 -1
  263. package/components/input/select/select.component.d.ts +3 -2
  264. package/components/input/slider/bundles/index.umd.js +10 -0
  265. package/components/input/slider/esm2022/slider.component.mjs +11 -1
  266. package/components/input/slider/fesm2022/index.mjs +10 -0
  267. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  268. package/components/input/slider/slider.component.d.ts +3 -2
  269. package/components/input/switch/bundles/index.umd.js +22 -2
  270. package/components/input/switch/esm2022/switch.component.mjs +23 -3
  271. package/components/input/switch/fesm2022/index.mjs +22 -2
  272. package/components/input/switch/fesm2022/index.mjs.map +1 -1
  273. package/components/input/switch/switch.component.d.ts +3 -2
  274. package/components/input/text/bundles/index.umd.js +36 -0
  275. package/components/input/text/esm2022/input-calendar/input-calendar.component.mjs +8 -1
  276. package/components/input/text/esm2022/input-color/input-color.component.mjs +8 -1
  277. package/components/input/text/esm2022/input-email/input-email.component.mjs +8 -1
  278. package/components/input/text/esm2022/input-number/input-number.component.mjs +8 -1
  279. package/components/input/text/esm2022/input-text/input-text.component.mjs +9 -1
  280. package/components/input/text/fesm2022/index.mjs +36 -0
  281. package/components/input/text/fesm2022/index.mjs.map +1 -1
  282. package/components/input/text/input-calendar/input-calendar.component.d.ts +3 -2
  283. package/components/input/text/input-color/input-color.component.d.ts +3 -2
  284. package/components/input/text/input-email/input-email.component.d.ts +3 -2
  285. package/components/input/text/input-number/input-number.component.d.ts +3 -2
  286. package/components/input/text/input-text/input-text.component.d.ts +3 -2
  287. package/components/input/textarea/bundles/index.umd.js +7 -0
  288. package/components/input/textarea/esm2022/textarea.component.mjs +8 -1
  289. package/components/input/textarea/fesm2022/index.mjs +7 -0
  290. package/components/input/textarea/fesm2022/index.mjs.map +1 -1
  291. package/components/input/textarea/textarea.component.d.ts +3 -2
  292. package/components/navigation/menu/bundles/index.umd.js +55 -6
  293. package/components/navigation/menu/esm2022/menu-adapator.component.mjs +17 -3
  294. package/components/navigation/menu/esm2022/menu.component.mjs +10 -3
  295. package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +6 -1
  296. package/components/navigation/menu/esm2022/nav/nav.component.mjs +11 -1
  297. package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +16 -3
  298. package/components/navigation/menu/fesm2022/index.mjs +55 -6
  299. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  300. package/components/navigation/menu/menu-adapator.component.d.ts +4 -2
  301. package/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +3 -2
  302. package/components/navigation/menu/nav/nav.component.d.ts +3 -2
  303. package/components/navigation/menu/nav/navigation-control.directive.d.ts +4 -2
  304. package/components/navigation/navbar/bundles/index.umd.js +5 -0
  305. package/components/navigation/navbar/esm2022/navbar.component.mjs +6 -1
  306. package/components/navigation/navbar/fesm2022/index.mjs +5 -0
  307. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  308. package/components/navigation/navbar/navbar.component.d.ts +3 -2
  309. package/components/navigation/popover/bundles/index.umd.js +65 -13
  310. package/components/navigation/popover/esm2022/popover.component.mjs +63 -11
  311. package/components/navigation/popover/fesm2022/index.mjs +62 -10
  312. package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  313. package/components/navigation/popover/popover.component.d.ts +11 -3
  314. package/components/page/default/bundles/index.umd.js +30 -6
  315. package/components/page/default/esm2022/layout.directive.mjs +9 -1
  316. package/components/page/default/esm2022/page-content/page-content.component.mjs +13 -3
  317. package/components/page/default/esm2022/router-outlet.directive.mjs +13 -6
  318. package/components/page/default/fesm2022/index.mjs +30 -6
  319. package/components/page/default/fesm2022/index.mjs.map +1 -1
  320. package/components/page/default/layout.directive.d.ts +3 -2
  321. package/components/page/default/page-content/page-content.component.d.ts +3 -2
  322. package/components/page/default/router-outlet.directive.d.ts +5 -2
  323. package/components/page/left-panel/bundles/index.umd.js +16 -0
  324. package/components/page/left-panel/esm2022/left-panel.directive.mjs +17 -1
  325. package/components/page/left-panel/fesm2022/index.mjs +16 -0
  326. package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  327. package/components/page/left-panel/left-panel.directive.d.ts +3 -2
  328. package/components/page/top-nav/bundles/index.umd.js +2 -1
  329. package/components/page/top-nav/esm2022/top-nav.props.mjs +3 -2
  330. package/components/page/top-nav/fesm2022/index.mjs +2 -1
  331. package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  332. package/components/prefab/bundles/index.umd.js +4 -0
  333. package/components/prefab/esm2022/prefab.directive.mjs +5 -1
  334. package/components/prefab/fesm2022/index.mjs +4 -0
  335. package/components/prefab/fesm2022/index.mjs.map +1 -1
  336. package/core/bundles/index.umd.js +391 -94
  337. package/core/esm2022/public_api.mjs +3 -3
  338. package/core/esm2022/services/viewport.service.mjs +24 -10
  339. package/core/esm2022/types/types.mjs +1 -1
  340. package/core/esm2022/utils/dom.mjs +18 -2
  341. package/core/esm2022/utils/event-notifier.mjs +5 -2
  342. package/core/esm2022/utils/lru-cache.mjs +16 -2
  343. package/core/esm2022/utils/utils.mjs +6 -2
  344. package/core/esm2022/utils/watcher.mjs +323 -81
  345. package/core/fesm2022/index.mjs +390 -96
  346. package/core/fesm2022/index.mjs.map +1 -1
  347. package/core/public_api.d.ts +2 -2
  348. package/core/services/viewport.service.d.ts +5 -2
  349. package/core/types/types.d.ts +1 -0
  350. package/core/utils/lru-cache.d.ts +6 -0
  351. package/core/utils/utils.d.ts +1 -0
  352. package/core/utils/watcher.d.ts +26 -5
  353. package/http/bundles/index.umd.js +31 -1
  354. package/http/esm2022/http.service.mjs +32 -2
  355. package/http/fesm2022/index.mjs +31 -1
  356. package/http/fesm2022/index.mjs.map +1 -1
  357. package/http/http.service.d.ts +6 -2
  358. package/npm-shrinkwrap.json +2 -2
  359. package/oAuth/bundles/index.umd.js +9 -0
  360. package/oAuth/esm2022/oAuth.service.mjs +10 -1
  361. package/oAuth/fesm2022/index.mjs +9 -0
  362. package/oAuth/fesm2022/index.mjs.map +1 -1
  363. package/oAuth/oAuth.service.d.ts +3 -1
  364. package/package-lock.json +2 -2
  365. package/package.json +1 -1
  366. package/runtime/base/bundles/index.umd.js +367 -32
  367. package/runtime/base/components/app-component/app.component.d.ts +4 -0
  368. package/runtime/base/components/prefab-preview.component.d.ts +5 -2
  369. package/runtime/base/directives/accessroles.directive.d.ts +4 -3
  370. package/runtime/base/directives/prefab.directive.d.ts +3 -2
  371. package/runtime/base/esm2022/components/app-component/app.component.mjs +40 -9
  372. package/runtime/base/esm2022/components/base-custom-widget.component.mjs +33 -2
  373. package/runtime/base/esm2022/components/base-layout.component.mjs +7 -1
  374. package/runtime/base/esm2022/components/base-page.component.mjs +36 -3
  375. package/runtime/base/esm2022/components/base-partial.component.mjs +37 -3
  376. package/runtime/base/esm2022/components/base-prefab.component.mjs +32 -3
  377. package/runtime/base/esm2022/components/base-spa-page.component.mjs +37 -3
  378. package/runtime/base/esm2022/components/prefab-preview.component.mjs +23 -4
  379. package/runtime/base/esm2022/directives/accessroles.directive.mjs +11 -2
  380. package/runtime/base/esm2022/directives/prefab.directive.mjs +9 -1
  381. package/runtime/base/esm2022/services/app.manager.service.mjs +40 -12
  382. package/runtime/base/esm2022/services/app.service.mjs +34 -2
  383. package/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +4 -1
  384. package/runtime/base/esm2022/services/pipe-provider.service.mjs +7 -4
  385. package/runtime/base/esm2022/services/spinner.service.mjs +15 -1
  386. package/runtime/base/esm2022/util/fragment-monitor.mjs +23 -2
  387. package/runtime/base/fesm2022/index.mjs +368 -33
  388. package/runtime/base/fesm2022/index.mjs.map +1 -1
  389. package/runtime/base/runtime-base.module.d.ts +2 -2
  390. package/runtime/base/services/app.manager.service.d.ts +6 -1
  391. package/runtime/base/services/app.service.d.ts +12 -2
  392. package/runtime/base/services/dynamic-component-ref-provider.service.d.ts +2 -1
  393. package/runtime/base/services/spinner.service.d.ts +3 -1
  394. package/runtime/base/util/fragment-monitor.d.ts +6 -0
  395. package/runtime/dynamic/bundles/index.umd.js +5 -0
  396. package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +6 -1
  397. package/runtime/dynamic/fesm2022/index.mjs +5 -0
  398. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  399. package/scripts/@wavemaker/nvd3/build/nv.d3.min.js +1 -1
  400. package/scripts/datatable/datatable.js +100 -14
  401. package/security/bundles/index.umd.js +41 -2
  402. package/security/esm2022/security.service.mjs +42 -3
  403. package/security/fesm2022/index.mjs +41 -2
  404. package/security/fesm2022/index.mjs.map +1 -1
  405. package/security/security.service.d.ts +5 -2
  406. package/variables/bundles/index.umd.js +50 -6
  407. package/variables/esm2022/manager/action/notification-action.manager.mjs +18 -3
  408. package/variables/esm2022/manager/variable/base-variable.manager.mjs +15 -2
  409. package/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +13 -3
  410. package/variables/esm2022/service/variables.service.mjs +8 -2
  411. package/variables/fesm2022/index.mjs +50 -6
  412. package/variables/fesm2022/index.mjs.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/containers/wizard/src/wizard.props.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard-step/wizard-step.props.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard-step/wizard-step.component.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard.component.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard.component.html","../../../../../projects/components/widgets/containers/wizard/src/wizard-action/wizard-action.props.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard-action/wizard-action.directive.ts","../../../../../projects/components/widgets/containers/wizard/src/index.ts"],"sourcesContent":["import {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-wizard',\n new Map(\n [\n ['actionsalignment', {value: 'right', ...PROP_STRING}],\n ['cancelable', {value: true, ...PROP_BOOLEAN}],\n ['cancelbtnlabel', {value: 'Cancel', ...PROP_STRING}],\n ['class', {value: 'classic', ...PROP_STRING}],\n ['dataset', PROP_ANY],\n ['defaultstep', {value: 'none', ...PROP_STRING}],\n ['defaultstepindex', {value: 0, ...PROP_NUMBER}],\n ['donebtnlabel', {value: 'Done', ...PROP_STRING}],\n ['enablenext', {value: false, ...PROP_BOOLEAN}],\n ['name', PROP_STRING],\n ['nextbtnlabel', {value: 'Next', ...PROP_STRING}],\n ['nodatamessage', {value: 'No Data Found', ... PROP_STRING}],\n ['previousbtnlabel', {value: 'Previous', ...PROP_STRING}],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['stepstyle', {value: 'auto', ...PROP_STRING}],\n ['type', PROP_STRING]\n ]\n )\n );\n};\n","import {PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-wizardstep',\n new Map(\n [\n ['class', PROP_STRING],\n ['content', PROP_STRING],\n ['doneiconclass', {value: 'wi wi-done', ...PROP_STRING}],\n ['dynamicStepIndex', PROP_NUMBER], // internal property\n ['enableskip', {value: false, ...PROP_BOOLEAN}],\n ['iconclass', {value: 'wi wi-person', ...PROP_STRING}],\n ['isdynamic', PROP_STRING], // internal property\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['subtitle', PROP_STRING],\n ['title', {value: 'Step Title', ...PROP_STRING}]\n ]\n )\n );\n};\n","import {\n AfterViewInit,\n Component,\n ContentChildren,\n HostBinding,\n Inject,\n Injector,\n OnInit,\n Optional,\n Self\n} from \"@angular/core\";\nimport {\n BaseComponent,\n IWidgetConfig,\n provideAsWidgetRef,\n RedrawableDirective,\n StylableComponent\n} from \"@wm/components/base\";\nimport {NgForm} from \"@angular/forms\";\nimport {registerProps} from \"./wizard-step.props\";\nimport {noop} from \"@wm/core\";\nimport {WizardComponent} from \"../wizard.component\";\n\nconst DEFAULT_CLS = 'app-wizard-step-content';\n\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-wizardstep',\n hostClass: DEFAULT_CLS,\n};\n\nconst enum STEP_STATUS {\n CURRENT = 1,\n DISABLED,\n COMPLETED\n}\n\n@Component({\n standalone: true,\n selector: 'form[wmWizardStep]',\n template: `<ng-content partial-container-target></ng-content>`,\n providers: [\n provideAsWidgetRef(WizardStepComponent),\n NgForm\n ],\n exportAs: 'wmWizardStep'\n})\nexport class WizardStepComponent extends StylableComponent implements OnInit, AfterViewInit {\n static initializeProps = registerProps();\n\n public show: boolean;\n public name: string;\n public enableskip: any;\n public disablenext: boolean;\n public disabledone: boolean;\n public disableprevious: boolean;\n public isInitialized: boolean;\n private isdynamic: boolean;\n public $lazyLoad = noop;\n isDone: boolean = false;\n\n private status: STEP_STATUS = STEP_STATUS.DISABLED;\n private wizardComponent: WizardComponent;\n\n // reference to the components which needs a redraw(eg, grid, chart) when the height of this component changes\n @ContentChildren(RedrawableDirective, {descendants: true}) reDrawableComponents;\n\n @HostBinding('class.current')\n get isCurrent() {\n return this.active;\n }\n\n /**\n * along with the wizard form , also validate the forms\n * if there are any inside the wizard\n * @returns {boolean}\n */\n public get isValid() {\n return (this.ngForm.valid || this.ngForm.disabled) && this.areEmbeddedFormsValid();\n }\n\n /**\n * get all the forms inside the wizard if any and validate\n * @returns {boolean}\n */\n private areEmbeddedFormsValid() {\n for (const form of this.getAllEmbeddedForms()) {\n if (form.widget && form.widget.ngform && !form.widget.ngform.valid) {\n return false;\n }\n }\n return true;\n }\n\n private getAllEmbeddedForms() {\n return this.$element.find('form');\n }\n\n public get enableNext() {\n return !this.disablenext;\n }\n\n public get enableDone() {\n return !this.disabledone;\n }\n\n public get enablePrev() {\n return !this.disableprevious;\n }\n\n public set active(nv: boolean) {\n const isActive = this.active;\n this.status = STEP_STATUS.CURRENT;\n if (nv && !isActive) {\n this.redrawChildren();\n }\n }\n\n public get active(): boolean {\n return this.status === STEP_STATUS.CURRENT;\n }\n\n public set done(nv: boolean) {\n if (nv) {\n this.status = STEP_STATUS.COMPLETED;\n }\n }\n\n public get done(): boolean {\n return this.status === STEP_STATUS.COMPLETED;\n }\n\n public set disabled(nv: boolean) {\n if (nv) {\n this.status = STEP_STATUS.DISABLED;\n }\n }\n\n public get disabled(): boolean {\n return this.status === STEP_STATUS.DISABLED;\n }\n\n constructor(inj: Injector, @Self() private ngForm: NgForm, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n // If we inject directly as a param in the constructor, getting circular dependency error in unit testcases\n this.wizardComponent = this.inj.get(WizardComponent);\n }\n\n public invokeNextCB(index: number): boolean | Promise<boolean> {\n return this.invokeEventCallback('next', {currentStep: this, stepIndex: index});\n }\n\n public invokePrevCB(index: number): boolean | Promise<boolean> {\n return this.invokeEventCallback('prev', {currentStep: this, stepIndex: index});\n }\n\n public invokeSkipCB(index: number): boolean | Promise<boolean> {\n return this.invokeEventCallback('skip', {currentStep: this, stepIndex: index});\n }\n\n // redraw all the projected components which are projected.\n private redrawChildren() {\n setTimeout(() => {\n if (this.reDrawableComponents) {\n this.reDrawableComponents.forEach(c => c.redraw());\n }\n const stepIndex = (this as any).wizardComponent.getCurrentStepIndex();\n this.invokeEventCallback('load', { stepIndex });\n }, 100);\n }\n\n public remove() {\n if (this.active) {\n this === this.wizardComponent.steps.last ? this.wizardComponent.prev() : this.wizardComponent.next();\n }\n const availablePanes = this.wizardComponent.steps.toArray();\n availablePanes.splice((this as any).wizardComponent.getStepIndexByRef(this), 1);\n this.wizardComponent.steps.reset([...availablePanes]);\n this.nativeElement.remove();\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'content') {\n setTimeout(() => this.$lazyLoad(), 100);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngOnInit() {\n super.ngOnInit();\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n if (this.isdynamic) {\n this.wizardComponent.registerDynamicStep(this);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {\n APPLY_STYLES_TYPE,\n Context,\n createArrayFrom,\n IWidgetConfig,\n provideAsWidgetRef,\n StylableComponent,\n styler,\n TextContentDirective\n} from \"@wm/components/base\";\nimport {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n Component,\n ContentChild,\n ContentChildren,\n Inject,\n Injector,\n OnInit,\n Optional,\n QueryList,\n Self,\n TemplateRef\n} from '@angular/core';\n\nimport {DynamicComponentRefProvider, noop} from '@wm/core';\n\nimport {registerProps} from './wizard.props';\n\nimport {WizardStepComponent} from \"./wizard-step/wizard-step.component\";\nimport {find, findIndex, forEach, get, indexOf, isArray, isNumber, isString} from \"lodash-es\";\n\nconst DEFAULT_CLS = 'app-wizard panel clearfix';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-wizard',\n hostClass: DEFAULT_CLS\n};\n\n@Component({\n standalone: true,\n imports: [CommonModule, TextContentDirective],\n selector: 'div[wmWizard]',\n templateUrl: './wizard.component.html',\n providers: [\n provideAsWidgetRef(WizardComponent),\n {provide: Context, useFactory: () => { return {} }, multi: true}\n ],\n exportAs: 'wmWizard'\n})\nexport class WizardComponent extends StylableComponent implements OnInit, AfterContentInit, AfterViewInit, AfterViewChecked {\n static initializeProps = registerProps();\n\n @ContentChildren(WizardStepComponent) steps: QueryList<WizardStepComponent>;\n @ContentChild('wizardAction', { read: TemplateRef, descendants: false }) wizardAction: TemplateRef<any>;\n\n public message: {caption: string, type: string};\n public currentStep: WizardStepComponent;\n\n public stepClass: string;\n public class;\n public name;\n private readonly promiseResolverFn: Function;\n public actionsalignment: any;\n public cancelable: any;\n public enablenext: any;\n public wizContext: any;\n public cancelbtnlabel: any;\n public donebtnlabel: any;\n public previousbtnlabel: any;\n public nextbtnlabel: any;\n public defaultstep;\n public fieldDefs;\n public type;\n public nodatamessage;\n private dynamicComponentProvider;\n private _dynamicContext;\n private dynamicStepIndex;\n public dynamicWizard;\n public defaultstepindex;\n private _isFirstLoad: boolean = true;\n public autoActivation:boolean;\n\n get hasPrevStep(): boolean {\n return !this._isFirstStep(this.currentStep);\n }\n\n get hasNextStep(): boolean {\n return !this._isLastStep(this.currentStep);\n }\n\n get showDoneBtn(): boolean {\n if (!this.currentStep) {\n return;\n }\n return !this.hasNextStep && this.currentStep.enableDone;\n }\n\n get enablePrev(): boolean {\n if (!this.currentStep) {\n return;\n }\n return this.currentStep.enablePrev;\n }\n\n get enableNext(): boolean {\n if (!this.currentStep) {\n return;\n }\n return this.enablenext ? true : (this.currentStep.enableNext && this.currentStep.isValid);\n }\n\n get enableDone(): boolean {\n if (!this.currentStep) {\n return;\n }\n return this.currentStep.enableDone && this.currentStep.isValid;\n }\n\n /**\n * returns current step index of the Wizard's current step\n */\n get currentStepIndex() {\n return this.getStepIndexByRef(this.currentStep);\n }\n\n /**\n * returns weather the current step is first step or not\n */\n get isFirstStep(): boolean {\n return this._isFirstStep(this.currentStep);\n }\n\n /**\n * returns weather the current step is last step or not\n */\n get isLastStep(): boolean {\n return this._isLastStep(this.currentStep);\n }\n\n constructor(inj: Injector, dynamicComponentProvider: DynamicComponentRefProvider, @Self() @Inject(Context) contexts: Array<any>, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n let resolveFn: Function = noop;\n\n super(inj, WIDGET_CONFIG, explicitContext, new Promise(res => resolveFn = res));\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SHELL);\n\n this.promiseResolverFn = resolveFn;\n\n // initialize the message object with default values\n this.message = {\n caption: '',\n type: ''\n };\n this.wizContext = contexts[0];\n this.dynamicComponentProvider = dynamicComponentProvider;\n this.dynamicWizard = [];\n this.dynamicStepIndex = 0;\n }\n\n /**\n * This method is used to register the dynamic steps.\n * After all steps are initialzed, update the querylist manually based on index.\n * @param stepRef - refrence of the wizardstep\n */\n public registerDynamicStep(stepRef) {\n this.dynamicWizard.push(stepRef);\n const isLastStep = this.dynamicWizard.length === this.dynamicStepIndex;\n if (isLastStep) {\n for (let i = 0; i < this.dynamicWizard.length; i++) {\n const newStepRef = find(this.dynamicWizard, step => step.dynamicStepIndex === i);\n const isStepAlreadyExist = find(this.steps.toArray(), newStepRef);\n if (!isStepAlreadyExist) {\n this.steps.reset([...this.steps.toArray(), newStepRef]);\n if (newStepRef.active) {\n setTimeout(() => {\n newStepRef.select();\n }, 20);\n }\n }\n }\n }\n }\n\n /**\n * This method is to add the wizard step dynamically\n * @param wizardSteps - list of wizardsteps\n */\n public addStep(wizardSteps) {\n if (!isArray(wizardSteps)) {\n wizardSteps = [wizardSteps];\n }\n const stepNamesList = [];\n forEach(wizardSteps, (step, index) => {\n const isStepAlreadyCreated = find(this.steps.toArray(), {name: step.name});\n const isStepNameExist = indexOf(stepNamesList, step.name);\n // If user tries to add wizardstep with the same name which is already exists then do not create the step\n if (isStepAlreadyCreated || isStepNameExist > 0) {\n console.warn(`The wizard step with name ${step.name} already exists`);\n return;\n }\n\n let paramMarkup = '';\n let propsTmpl = '';\n this.dynamicStepIndex++;\n const name = step.name ? step.name : `wizardstep${this.steps.toArray().length + (index + 1)}`;\n stepNamesList.push(name);\n const partialParams = get(step, 'params');\n\n forEach(step, (value, key) => {\n if (key !== 'params') {\n propsTmpl = `${propsTmpl} ${key}=\"${value}\"`;\n }\n });\n\n forEach(partialParams, (value, key) => {\n paramMarkup = `${paramMarkup} <wm-param name=\"${key}\" value=\"${value}\"></wm-param>`;\n });\n const markup = `<wm-wizardstep dynamicStepIndex=\"${this.dynamicStepIndex - 1}\" isdynamic=\"true\" name=\"${name}\" ${propsTmpl}>\n ${paramMarkup}\n </wm-wizardstep>`;\n\n if (!this._dynamicContext) {\n this._dynamicContext = Object.create(this.viewParent);\n this._dynamicContext[this.getAttr('wmWizard')] = this;\n }\n\n this.dynamicComponentProvider.addComponent(this.getNativeElement().querySelector('.app-wizard-body'), markup, this._dynamicContext, {inj: this.inj});\n\n });\n return stepNamesList;\n }\n\n /**\n * This method is to remove the wizard step\n * @param step - index or name of the step\n */\n public removeStep(step: number | string) {\n const stepRef = isString(step) ? this.getStepRefByName(step) : isNumber(step)\n ? this.getStepRefByIndex(step) : null;\n stepRef ? stepRef.remove() : console.warn(`Could not find step with name or index '${step}' to remove`);\n }\n\n /**\n * returns next valid step. the index passed is also checked if its valid step\n * @param index\n * @returns {WizardStepComponent}\n */\n private getNextValidStepFormIndex(index: number): WizardStepComponent {\n for (let i = index; i < this.steps.length; i++) {\n const step = this.getStepRefByIndex(i);\n if (step.show) {\n return step;\n }\n }\n }\n\n /**\n * returns previous valid step. the index passed is also checked if its valid step\n * @param index\n * @returns {WizardStepComponent}\n */\n private getPreviousValidStepFormIndex(index: number): WizardStepComponent {\n for (let i = index; i >= 0; i--) {\n const step = this.getStepRefByIndex(i);\n if (step.show) {\n return step;\n }\n }\n }\n\n /**\n * returns current step index value.\n * @returns {number}\n */\n private getCurrentStepIndex(): number {\n return this.getStepIndexByRef(this.currentStep);\n }\n\n /**\n * returns stepRef when index is passed.\n * @param {number} index\n * @returns {WizardStepComponent}\n */\n private getStepRefByIndex(index: number): WizardStepComponent {\n return this.steps.toArray()[index];\n }\n\n /**\n * returns the index value of the step.\n * @param {WizardStepComponent} wizardStep\n * @returns {number}\n */\n private getStepIndexByRef(wizardStep: WizardStepComponent): number {\n return this.steps.toArray().indexOf(wizardStep);\n }\n\n /**\n * gets stepRef by searching on the name property.\n * @param {string} name\n * @returns {WizardStepComponent}\n */\n private getStepRefByName(name: string): WizardStepComponent {\n return this.steps.find(step => step.name === name);\n }\n\n /**\n * sets default step as current step if configured\n * or finds first valid step and set it as current step.\n * @param {WizardStepComponent} step\n */\n private setDefaultStep(step: WizardStepComponent) {\n // If the default step has show true then only update the currentStep\n if (step && step.show) {\n this.currentStep = step;\n step.active = true;\n step.isInitialized = true;\n // Mark all previous step status COMPLETED\n let index = this.getStepIndexByRef(step) - 1;\n while (index >= 0) {\n const prevStep = this.getStepRefByIndex(index);\n prevStep.done = true;\n prevStep.isInitialized = true;\n index--;\n }\n } else {\n // set next valid step as current step\n step = this.getNextValidStepFormIndex(0);\n if (step) {\n this.setDefaultStep(step);\n }\n }\n this.addMoreText();\n }\n\n /**\n * Selects the associated step when the wizard header is clicked.\n * @param $event\n * @param {WizardStepComponent} currentStep\n */\n private onWizardHeaderClick($event: Event, currentStep: WizardStepComponent) {\n // select the step if it's status is done\n if (currentStep.done) {\n // set all the next steps status as disabled and previous steps as done\n this.steps.forEach((step, index) => {\n if (index < this.getStepIndexByRef(currentStep)) {\n step.done = true;\n step.isDone = true;\n } else {\n step.disabled = true;\n step.isDone = false;\n }\n });\n // set the selected step as current step and make it active\n this.currentStep = currentStep;\n this.currentStep.active = true;\n this.addMoreText();\n }\n }\n\n private isPromise = (obj) => obj instanceof Promise || (obj !== null && typeof obj === 'object' && typeof obj.then === 'function' && typeof obj.catch === 'function');\n\n // Method to navigate to next step\n\n private handleNext(value: boolean | Promise<boolean>, currentStep, currentStepIndex) {\n if (this.isPromise(value)) {\n (value as Promise<boolean>).then(response => {\n if (response === false) {\n return;\n }\n this.extendNextFn(currentStep, currentStepIndex);\n }, err => err);\n } else {\n if (value === false) {\n return;\n }\n this.extendNextFn(currentStep, currentStepIndex);\n }\n }\n\n public next(eventName: string = 'next') {\n const currentStep = this.currentStep;\n const currentStepIndex = this.getCurrentStepIndex();\n\n // abort if onSkip method returns false\n if (eventName === 'skip') {\n const response = currentStep.invokeSkipCB(currentStepIndex);\n this.handleNext(response, currentStep, currentStepIndex);\n } else if (this.currentStep.isValid && eventName === 'next') {\n const response = currentStep.invokeNextCB(currentStepIndex);\n this.handleNext(response, currentStep, currentStepIndex);\n } else if (this.enablenext && !this.currentStep.isValid){\n Array.from((<any>this).currentStep.getAllEmbeddedForms())?.forEach((form:any) => {\n form.widget.highlightInvalidFields();\n });\n const invalidFormInputElement = this.currentStep.nativeElement?.querySelector(\"input.ng-invalid\") as HTMLInputElement;\n invalidFormInputElement?.focus();\n\n }\n }\n\n private extendNextFn(currentStep, currentStepIndex) {\n const nextStep: WizardStepComponent = this.getNextValidStepFormIndex(currentStepIndex + 1);\n // If there are any steps which has show then only change state of current step else remain same\n if (nextStep) {\n nextStep.isInitialized = true;\n currentStep.isDone = true;\n currentStep.done = true;\n nextStep.active = true;\n this.currentStep = nextStep;\n // Remove 'current' class from all wizard steps in header\n const allStepItems = this.nativeElement.querySelectorAll('li[data-stepid]');\n allStepItems.forEach((el: Element) => {\n el.classList.remove('current');\n const anchor = el.querySelector('a');\n if (anchor) {\n anchor.setAttribute('tabindex', '-1');\n }\n });\n // Add 'current' to next step header item\n const newStepLi = this.nativeElement.querySelector(`li[data-stepid=\"${nextStep.widgetId}\"]`);\n const newStepAnchor = newStepLi?.querySelector('a') as HTMLElement;\n if (newStepLi && newStepAnchor) {\n newStepLi.classList.add('current');\n newStepAnchor.setAttribute('tabindex', '0');\n newStepAnchor.focus();\n }\n this.updateStepFocus();\n }\n this.addMoreText();\n }\n // Method to navigate to previous step\n public prev() {\n const currentStep = this.currentStep;\n const currentStepIndex = this.getCurrentStepIndex();\n\n // abort if onPrev method returns false.\n const response = currentStep.invokePrevCB(currentStepIndex);\n if (this.isPromise(response)) {\n (response as Promise<boolean>).then( response => {\n if (response === false) {\n return;\n }\n this.extendPrevFn(currentStep, currentStepIndex);\n }, err => err);\n } else {\n if (response === false) {\n return;\n }\n this.extendPrevFn(currentStep, currentStepIndex);\n }\n }\n\n private extendPrevFn(currentStep, currentStepIndex){\n const prevStep: WizardStepComponent = this.getPreviousValidStepFormIndex(currentStepIndex - 1);\n\n // If there are any steps which has show then only change state of current step else remain same\n if (prevStep) {\n currentStep.isDone = false;\n currentStep.disabled = true;\n prevStep.active = true;\n this.currentStep = prevStep;\n // Remove 'current' class from all steps\n const allStepItems = this.nativeElement.querySelectorAll('li[data-stepid]');\n allStepItems.forEach((el: Element) => {\n el.classList.remove('current');\n const anchor = el.querySelector('a');\n if (anchor) {\n anchor.setAttribute('tabindex', '-1');\n }\n });\n // Apply 'current' to prev step\n const prevStepLi = this.nativeElement.querySelector(`li[data-stepid=\"${prevStep.widgetId}\"]`);\n const prevStepAnchor = prevStepLi?.querySelector('a') as HTMLElement;\n if (prevStepLi && prevStepAnchor) {\n prevStepLi.classList.add('current');\n prevStepAnchor.setAttribute('tabindex', '0');\n prevStepAnchor.focus();\n }\n this.updateStepFocus();\n }\n this.addMoreText();\n }\n\n public skip() {\n this.next('skip');\n }\n\n /**\n * Navigates to the given step based on step name or step index\n * This will work only if the step is already in done state\n * @param step\n */\n public gotoStep(step: string | number) {\n let gotoStepIndex: number;\n if (isString(step)) {\n gotoStepIndex = this.steps.toArray().map(step => step.name).indexOf(step);\n if (gotoStepIndex === -1) {\n console.error(`Could not find step '${step}'`);\n return;\n }\n } else if (isNumber(step) && step >= 0) {\n gotoStepIndex = step;\n } else {\n console.error(\"Invalid step name or index provided\");\n return;\n }\n\n const gotoStep: WizardStepComponent = this.getStepRefByIndex(gotoStepIndex);\n\n if (gotoStep?.show) {\n this.onWizardHeaderClick(event, gotoStep);\n } else {\n console.error(\"The gotoStep function cannot navigate to hidden steps\");\n }\n }\n\n // Method to invoke on-Done event on wizard\n public done() {\n this.currentStep.isDone = true;\n this.invokeEventCallback('done', {steps: this.steps.toArray()});\n }\n // Method to invoke on-Cancel event on wizard\n public cancel () {\n this.invokeEventCallback('cancel', {steps: this.steps.toArray()});\n }\n public addMoreText(){\n setTimeout(() => {\n\n\n var newWindowWidth = $(window).width();\n if(newWindowWidth < 768){\n $(\".app-wizard-step.current .subtitle-wrapper .step-title\").css({\"height\":\"auto\",\"display\":\"block\"});\n var subtitleTextLength = $(\".app-wizard-step.current .subtitle-wrapper .step-title\").height();\n $(\".read_more\").css(\"display\",\"none\");\n $(\".current .subtitle-wrapper\").removeClass(\"readmore_subtitle\");\n\n if(subtitleTextLength>44){\n $(\".app-wizard-step.current .subtitle-wrapper .step-title\").css({\"height\":\"44px\",\"display\":\"-webkit-box\"});\n $(\".current .read_more\").css(\"display\",\"block\");\n $(\".active .read_more\").css(\"display\",\"none\");\n $(\".disable .read_more\").css(\"display\",\"none\");\n $(\".app-wizard-step>a\").css(\"height\",\"100px\")\n }\n }\n });\n\n }\n public readMoreSubtitle(){\n $(\".current .subtitle-wrapper\").addClass(\"readmore_subtitle\");\n $(\".current .read_more\").css(\"display\",\"none\");\n $(document).on(\"mouseup\",function(e:any)\n {\n var container = $(\".subtitle-wrapper\");\n // if the target of the click isn't the container nor a descendant of the container\n if (!container.is(e.target) && container.has(e.target).length === 0)\n {\n $(\".current .subtitle-wrapper\").removeClass(\"readmore_subtitle\");\n $(\".current .read_more\").css(\"display\",\"block\");\n $(document).off(\"mouseup\");\n }\n });\n }\n\n private _isFirstStep(stepRef: WizardStepComponent) {\n return this.steps.first === stepRef;\n }\n\n private _isLastStep(stepRef: WizardStepComponent) {\n return this.steps.last === stepRef;\n }\n\n private onDataChange(newVal) {\n this.fieldDefs = createArrayFrom(newVal);\n }\n\n private updateStepFocus() {\n setTimeout(() => {\n const currentStepElement = this.nativeElement.querySelector(\".app-wizard-heading li.current a\") as HTMLElement;\n currentStepElement?.focus();\n });\n }\n\n // Define the property change handler. This Method will be triggered when there is a change in the widget property\n onPropertyChange(key: string, nv: any, ov?: any) {\n // Monitoring changes for properties and accordingly handling respective changes\n\n if (key === 'stepstyle') {\n this.stepClass = nv === 'justified' ? 'nav-justified' : '';\n } else if (key === 'dataset') {\n this.onDataChange(nv);\n } else if (key === 'defaultstep') {\n this.setDefaultStep(this.getStepRefByName(nv));\n } else if (key === 'actionsalignment') {\n this.nativeElement.querySelector('div.app-wizard-actions')?.classList.replace(ov, nv);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n this.promiseResolverFn();\n this.wizContext.hasNextStep = () => this.hasNextStep;\n this.wizContext.hasPreviousStep = () => this.hasPrevStep;\n this.wizContext.hasNoNextStep = () => this.showDoneBtn;\n this.wizContext.cancelable = () => this.cancelable;\n this.wizContext.skippable = () => this.currentStep?.enableskip;\n this.wizContext.next = () => this.next();\n this.wizContext.previous = () => this.prev();\n this.wizContext.done = () => this.done();\n this.wizContext.cancel = () => this.cancel();\n this.wizContext.skip = () => this.skip();\n this.wizContext.nextbtnlabel = () => this.nextbtnlabel;\n this.wizContext.previousbtnlabel = () => this.previousbtnlabel;\n this.wizContext.donebtnlabel = () => this.donebtnlabel;\n this.wizContext.cancelbtnlabel = () => this.cancelbtnlabel;\n this.wizContext.actionsalignment = () => this.actionsalignment;\n this.wizContext.disableNext = () => !this.enableNext;\n this.wizContext.disablePrevious = () => !this.enablePrev;\n this.wizContext.disableDone = () => !this.enableDone;\n this.steps.changes.subscribe( slides => {\n if (this.steps.length > 1 && this.type === 'dynamic' && this._isFirstLoad) {\n this.setDefaultStep(this.getStepRefByIndex(this.defaultstepindex));\n this._isFirstLoad = false;\n }\n });\n }\n private isSelectableStep(stepRef: WizardStepComponent): boolean {\n return stepRef.show && !stepRef.disabled;\n }\n private getSelectableStepBeforeIndex(index: number): WizardStepComponent {\n for (let i = index - 1; i >= 0; i--) {\n const step = this.getStepRefByIndex(i);\n if (this.isSelectableStep(step)) {\n return step;\n }\n }\n if (index === 0) {\n const step = this.getStepRefByIndex(this.steps.length - 1);\n if (this.isSelectableStep(step)) {\n return step;\n }\n }\n }\n private getSelectableStepAfterIndex(index: number): WizardStepComponent {\n for (let i = index + 1; i < this.steps.length; i++) {\n const step = this.getStepRefByIndex(i);\n if (this.isSelectableStep(step)) {\n return step;\n }\n }\n if (index === this.steps.length - 1) {\n const step = this.getStepRefByIndex(0);\n if (this.isSelectableStep(step)) {\n return step;\n }\n }\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(\n this.nativeElement.querySelector('.panel-body') as HTMLElement,\n this,\n APPLY_STYLES_TYPE.INNER_SHELL\n );\n setTimeout(() => { if($(window).width()<768) {\n $(\".app-wizard\").removeClass(\"vertical\");\n }\n });\n }\n ngAfterViewChecked() {\n this.nativeElement.querySelectorAll('div.app-wizard-actions').forEach(el => el?.classList.add(this.actionsalignment));\n this.nativeElement.querySelectorAll('div.app-wizard-actions-right').forEach(el => el?.classList.remove('app-container'));\n }\n public getActiveStepIndex(): number {\n return findIndex(this.steps.toArray(), {isCurrent: true});\n }\n onkeydown(event) {\n let newStep;\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n event.preventDefault();\n newStep = this.autoActivation ? null : this.getSelectableStepBeforeIndex(this.getSelectedStepIndex());\n break;\n\n case 'ArrowRight':\n case 'ArrowDown':\n event.preventDefault();\n newStep = this.autoActivation ? null : this.getSelectableStepAfterIndex(this.getSelectedStepIndex());\n break;\n case 'Enter':\n case ' ':\n case 'Spacebar':\n event.preventDefault();\n setTimeout(() => {\n const activeElement = this.nativeElement.querySelector('li.current');\n const stepLi = activeElement.closest('li[data-stepid]');\n const isInWizardHeader = activeElement.closest('.app-wizard-heading');\n\n if (stepLi && isInWizardHeader) {\n const stepId = stepLi.getAttribute('data-stepid');\n const stepIndex = this.steps.toArray().findIndex(step => step.widgetId === stepId);\n const currentStep = this.steps.toArray()[stepIndex];\n\n if (currentStep && currentStep !== this.currentStep) {\n this.onWizardHeaderClick(event, currentStep);\n\n // Update tabindex for accessibility\n const allStepItems = this.nativeElement.querySelectorAll('li[data-stepid]');\n allStepItems.forEach((el: Element) => {\n (el as HTMLElement).setAttribute('tabindex', '-1');\n });\n\n const stepAnchor = stepLi.querySelector('a');\n if (stepAnchor) {\n stepAnchor.setAttribute('tabindex', '0');\n stepAnchor.focus();\n }\n }\n }\n }, 0);\n break;\n default:\n return;\n }\n if (newStep) {\n this.nativeElement.querySelector('li.current')?.classList.remove('current');\n this.nativeElement.querySelector(`li[data-stepid=\"${newStep.widgetId}\"]`)?.classList.add('current');\n const stepLi = this.nativeElement.querySelector(\".app-wizard-heading li.current a\") as HTMLElement;\n const allStepItems = this.nativeElement.querySelectorAll('li[data-stepid] a');\n allStepItems.forEach((el: Element) => {\n (el as HTMLElement).setAttribute('tabindex', '-1');\n });\n (stepLi).setAttribute('tabindex', '0');\n stepLi?.focus();\n }\n }\n getSelectedStepIndex() {\n const index = this.steps.toArray().findIndex(step =>\n this.nativeElement.querySelector(`li[data-stepid=\"${step.widgetId}\"]`)?.classList.contains(\"current\"));\n return index >= 0 ? index : this.getActiveStepIndex();\n }\n}\n","<div class=\"app-wizard-heading\">\n <ul class=\"app-wizard-steps nav nav-pills {{stepClass}}\">\n @for (step of steps; track step; let i = $index) {\n <li class=\"app-wizard-step\" [hidden]=\"!step.show\"\n [ngClass]=\"{active: step.done, current: step.active, disabled: step.disabled}\"\n (click)=\"onWizardHeaderClick($event, step)\" [attr.data-stepid]=\"step.widgetId\">\n <a href=\"javascript:void(0)\" [attr.aria-current]=\"step.active ? 'step' : null\"\n [attr.aria-disabled]=\"step.disabled\" [attr.aria-label]='step.subtitle ? \"step \" + (i + 1) + \" \" + step.title + \" \" + step.subtitle : \"step \" + (i + 1) + \" \" + step.title' [attr.title]= \"step.title\"\n [ngClass]=\"{'title-center-align':class && class.includes('classic') && !step.subtitle}\" [tabindex]=\"step.active ? '0' : '-1'\" (keydown)=\"onkeydown($event)\">\n @if (class && class.includes('classic')) {\n <span class=\"arrow\"></span>\n }\n <span class=\"wizard-step-number\">\n @if (class && class.includes('number') && !step.isDone) {\n <span class=\"count\">{{i+1}}</span>\n }\n @if (class && (class.includes('dottedstepper') || class.includes('text-inline') && !class.includes('iconstepper')) && !step.isDone) {\n <i class=\"dottedstepper\"></i>\n }\n @if (class && (class.includes('dottedstepper') || class.includes('number')) && step.isDone) {\n <i class=\"app-icon wi wi-done\"></i>\n }\n @if ((class && class.includes('iconstepper')) && ((step.iconclass && !step.isDone) || (step.iconclass && step.isDone && step.doneiconclass ===''))) {\n <i class=\"app-icon {{step.iconclass}}\"></i>\n }\n @if (step.doneiconclass && step.isDone && (class && class.includes('iconstepper'))) {\n <i class=\"app-icon {{step.doneiconclass}}\"></i>\n }\n </span>\n <span class=\"title-wrapper\">\n @if (class && class.includes('text-inline')) {\n <span>{{'0' + (i+1)}}</span>\n }\n <span class=\"step-title\" [textContent]=\"step.title\"></span>\n </span>\n @if (step.subtitle) {\n <span class=\"subtitle-wrapper\" [attr.title]=\"step.subtitle\">\n <span class=\"step-title\" [textContent]=\"step.subtitle\"></span>\n <a class=\"read_more\" (click)=\"readMoreSubtitle()\" style=\"display:none\">more</a>\n </span>\n }\n </a>\n </li>\n }\n </ul>\n</div>\n@if (type !== 'dynamic') {\n<div class=\"app-wizard-body panel-body\">\n @if (message.caption) {\n <p wmMessage caption.bind=\"message.caption\" type.bind=\"message.type\"></p>\n }\n <ng-content ngProjectAs=\"form[wmWizardStep]\"></ng-content>\n</div>\n}\n@if (type === 'dynamic') {\n<div class=\"app-wizard-body panel-body\">\n @if(!fieldDefs?.length) {\n <div>{{nodatamessage}}</div>\n }\n <ng-content select=\"div[wmRepeatTemplate]\"></ng-content>\n</div>\n}\n@if(fieldDefs && fieldDefs.length || type !== 'dynamic') {\n <ng-container *ngTemplateOutlet=\"wizardAction\"></ng-container>\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-wizardaction',\n new Map([\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ])\n );\n};\n","import {Directive, Inject, Injector, Optional} from '@angular/core';\nimport { BaseComponent, IWidgetConfig, provideAsWidgetRef } from '@wm/components/base';\nimport {registerProps} from \"./wizard-action.props\";\n\nconst WIDGET_INFO: IWidgetConfig = {\n widgetType: 'wm-wizardaction',\n hostClass: 'app-wizard-actions panel-footer '\n};\n\n@Directive({\n standalone: true,\n selector: 'div[wmWizardAction]',\n providers: [\n provideAsWidgetRef(WizardActionDirective)\n ],\n exportAs: 'wmWizardAction',\n})\nexport class WizardActionDirective extends BaseComponent {\n static initializeProps = registerProps();\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_INFO, explicitContext);\n }\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG","i1"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/containers/wizard/src/wizard.props.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard-step/wizard-step.props.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard-step/wizard-step.component.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard.component.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard.component.html","../../../../../projects/components/widgets/containers/wizard/src/wizard-action/wizard-action.props.ts","../../../../../projects/components/widgets/containers/wizard/src/wizard-action/wizard-action.directive.ts","../../../../../projects/components/widgets/containers/wizard/src/index.ts"],"sourcesContent":["import {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-wizard',\n new Map(\n [\n ['actionsalignment', {value: 'right', ...PROP_STRING}],\n ['cancelable', {value: true, ...PROP_BOOLEAN}],\n ['cancelbtnlabel', {value: 'Cancel', ...PROP_STRING}],\n ['class', {value: 'classic', ...PROP_STRING}],\n ['dataset', PROP_ANY],\n ['defaultstep', {value: 'none', ...PROP_STRING}],\n ['defaultstepindex', {value: 0, ...PROP_NUMBER}],\n ['donebtnlabel', {value: 'Done', ...PROP_STRING}],\n ['enablenext', {value: false, ...PROP_BOOLEAN}],\n ['name', PROP_STRING],\n ['nextbtnlabel', {value: 'Next', ...PROP_STRING}],\n ['nodatamessage', {value: 'No Data Found', ... PROP_STRING}],\n ['previousbtnlabel', {value: 'Previous', ...PROP_STRING}],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['stepstyle', {value: 'auto', ...PROP_STRING}],\n ['type', PROP_STRING]\n ]\n )\n );\n};\n","import {PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-wizardstep',\n new Map(\n [\n ['class', PROP_STRING],\n ['content', PROP_STRING],\n ['doneiconclass', {value: 'wi wi-done', ...PROP_STRING}],\n ['dynamicStepIndex', PROP_NUMBER], // internal property\n ['enableskip', {value: false, ...PROP_BOOLEAN}],\n ['iconclass', {value: 'wi wi-person', ...PROP_STRING}],\n ['isdynamic', PROP_STRING], // internal property\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['subtitle', PROP_STRING],\n ['title', {value: 'Step Title', ...PROP_STRING}]\n ]\n )\n );\n};\n","import {\n AfterViewInit,\n Component,\n ContentChildren,\n HostBinding,\n Inject,\n Injector,\n OnDestroy,\n OnInit,\n Optional,\n Self\n} from \"@angular/core\";\nimport {\n BaseComponent,\n IWidgetConfig,\n provideAsWidgetRef,\n RedrawableDirective,\n StylableComponent\n} from \"@wm/components/base\";\nimport {NgForm} from \"@angular/forms\";\nimport {registerProps} from \"./wizard-step.props\";\nimport {noop} from \"@wm/core\";\nimport {WizardComponent} from \"../wizard.component\";\n\nconst DEFAULT_CLS = 'app-wizard-step-content';\n\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-wizardstep',\n hostClass: DEFAULT_CLS,\n};\n\nconst enum STEP_STATUS {\n CURRENT = 1,\n DISABLED,\n COMPLETED\n}\n\n@Component({\n standalone: true,\n selector: 'form[wmWizardStep]',\n template: `<ng-content partial-container-target></ng-content>`,\n providers: [\n provideAsWidgetRef(WizardStepComponent),\n NgForm\n ],\n exportAs: 'wmWizardStep'\n})\nexport class WizardStepComponent extends StylableComponent implements OnInit, AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n public show: boolean;\n public name: string;\n public enableskip: any;\n public disablenext: boolean;\n public disabledone: boolean;\n public disableprevious: boolean;\n public isInitialized: boolean;\n private isdynamic: boolean;\n public $lazyLoad = noop;\n isDone: boolean = false;\n\n private status: STEP_STATUS = STEP_STATUS.DISABLED;\n private wizardComponent: WizardComponent;\n\n // reference to the components which needs a redraw(eg, grid, chart) when the height of this component changes\n @ContentChildren(RedrawableDirective, {descendants: true}) reDrawableComponents;\n\n @HostBinding('class.current')\n get isCurrent() {\n return this.active;\n }\n\n /**\n * along with the wizard form , also validate the forms\n * if there are any inside the wizard\n * @returns {boolean}\n */\n public get isValid() {\n return (this.ngForm.valid || this.ngForm.disabled) && this.areEmbeddedFormsValid();\n }\n\n /**\n * get all the forms inside the wizard if any and validate\n * @returns {boolean}\n */\n private areEmbeddedFormsValid() {\n for (const form of this.getAllEmbeddedForms()) {\n if (form.widget && form.widget.ngform && !form.widget.ngform.valid) {\n return false;\n }\n }\n return true;\n }\n\n private getAllEmbeddedForms() {\n return this.$element.find('form');\n }\n\n public get enableNext() {\n return !this.disablenext;\n }\n\n public get enableDone() {\n return !this.disabledone;\n }\n\n public get enablePrev() {\n return !this.disableprevious;\n }\n\n public set active(nv: boolean) {\n const isActive = this.active;\n this.status = STEP_STATUS.CURRENT;\n if (nv && !isActive) {\n this.redrawChildren();\n }\n }\n\n public get active(): boolean {\n return this.status === STEP_STATUS.CURRENT;\n }\n\n public set done(nv: boolean) {\n if (nv) {\n this.status = STEP_STATUS.COMPLETED;\n }\n }\n\n public get done(): boolean {\n return this.status === STEP_STATUS.COMPLETED;\n }\n\n public set disabled(nv: boolean) {\n if (nv) {\n this.status = STEP_STATUS.DISABLED;\n }\n }\n\n public get disabled(): boolean {\n return this.status === STEP_STATUS.DISABLED;\n }\n\n constructor(inj: Injector, @Self() private ngForm: NgForm, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n // If we inject directly as a param in the constructor, getting circular dependency error in unit testcases\n this.wizardComponent = this.inj.get(WizardComponent);\n }\n\n public invokeNextCB(index: number): boolean | Promise<boolean> {\n return this.invokeEventCallback('next', {currentStep: this, stepIndex: index});\n }\n\n public invokePrevCB(index: number): boolean | Promise<boolean> {\n return this.invokeEventCallback('prev', {currentStep: this, stepIndex: index});\n }\n\n public invokeSkipCB(index: number): boolean | Promise<boolean> {\n return this.invokeEventCallback('skip', {currentStep: this, stepIndex: index});\n }\n\n // redraw all the projected components which are projected.\n private redrawChildren() {\n setTimeout(() => {\n if (this.reDrawableComponents) {\n this.reDrawableComponents.forEach(c => c.redraw());\n }\n if ((this as any).wizardComponent) {\n const stepIndex = (this as any).wizardComponent.getCurrentStepIndex();\n this.invokeEventCallback('load', { stepIndex });\n }\n }, 100);\n }\n\n public remove() {\n if (this.active) {\n this === this.wizardComponent.steps.last ? this.wizardComponent.prev() : this.wizardComponent.next();\n }\n const availablePanes = this.wizardComponent.steps.toArray();\n availablePanes.splice((this as any).wizardComponent.getStepIndexByRef(this), 1);\n this.wizardComponent.steps.reset([...availablePanes]);\n this.nativeElement.remove();\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'content') {\n setTimeout(() => this.$lazyLoad(), 100);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngOnInit() {\n super.ngOnInit();\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n if (this.isdynamic) {\n this.wizardComponent.registerDynamicStep(this);\n }\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear redrawable components references\n if (this.reDrawableComponents) {\n this.reDrawableComponents.reset([]);\n }\n\n // MEMORY LEAK FIX: Clear wizard component reference\n this.wizardComponent = null;\n\n // Call parent ngOnDestroy (StylableComponent → BaseComponent)\n // This will clear the context and unregister the widget\n super.ngOnDestroy();\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {\n APPLY_STYLES_TYPE,\n Context,\n createArrayFrom,\n IWidgetConfig,\n provideAsWidgetRef,\n StylableComponent,\n styler,\n TextContentDirective\n} from \"@wm/components/base\";\nimport {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n Component,\n ContentChild,\n ContentChildren,\n Inject,\n Injector,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n Self,\n TemplateRef\n} from '@angular/core';\n\nimport {DynamicComponentRefProvider, noop} from '@wm/core';\n\nimport {registerProps} from './wizard.props';\n\nimport {WizardStepComponent} from \"./wizard-step/wizard-step.component\";\nimport {find, findIndex, forEach, get, indexOf, isArray, isNumber, isString} from \"lodash-es\";\n\nconst DEFAULT_CLS = 'app-wizard panel clearfix';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-wizard',\n hostClass: DEFAULT_CLS\n};\n\n@Component({\n standalone: true,\n imports: [CommonModule, TextContentDirective],\n selector: 'div[wmWizard]',\n templateUrl: './wizard.component.html',\n providers: [\n provideAsWidgetRef(WizardComponent),\n {provide: Context, useFactory: () => { return {} }, multi: true}\n ],\n exportAs: 'wmWizard'\n})\nexport class WizardComponent extends StylableComponent implements OnInit, AfterContentInit, AfterViewInit, AfterViewChecked, OnDestroy {\n static initializeProps = registerProps();\n\n @ContentChildren(WizardStepComponent) steps: QueryList<WizardStepComponent>;\n @ContentChild('wizardAction', { read: TemplateRef, descendants: false }) wizardAction: TemplateRef<any>;\n\n public message: {caption: string, type: string};\n public currentStep: WizardStepComponent;\n\n public stepClass: string;\n public class;\n public name;\n private readonly promiseResolverFn: Function;\n public actionsalignment: any;\n public cancelable: any;\n public enablenext: any;\n public wizContext: any;\n public cancelbtnlabel: any;\n public donebtnlabel: any;\n public previousbtnlabel: any;\n public nextbtnlabel: any;\n public defaultstep;\n public fieldDefs;\n public type;\n public nodatamessage;\n private dynamicComponentProvider;\n private _dynamicContext;\n private dynamicStepIndex;\n public dynamicWizard;\n public defaultstepindex;\n private _isFirstLoad: boolean = true;\n public autoActivation:boolean;\n private stepsSubscription: any; // MEMORY LEAK FIX: Store subscription for cleanup\n\n get hasPrevStep(): boolean {\n return !this._isFirstStep(this.currentStep);\n }\n\n get hasNextStep(): boolean {\n return !this._isLastStep(this.currentStep);\n }\n\n get showDoneBtn(): boolean {\n if (!this.currentStep) {\n return;\n }\n return !this.hasNextStep && this.currentStep.enableDone;\n }\n\n get enablePrev(): boolean {\n if (!this.currentStep) {\n return;\n }\n return this.currentStep.enablePrev;\n }\n\n get enableNext(): boolean {\n if (!this.currentStep) {\n return;\n }\n return this.enablenext ? true : (this.currentStep.enableNext && this.currentStep.isValid);\n }\n\n get enableDone(): boolean {\n if (!this.currentStep) {\n return;\n }\n return this.currentStep.enableDone && this.currentStep.isValid;\n }\n\n /**\n * returns current step index of the Wizard's current step\n */\n get currentStepIndex() {\n return this.getStepIndexByRef(this.currentStep);\n }\n\n /**\n * returns weather the current step is first step or not\n */\n get isFirstStep(): boolean {\n return this._isFirstStep(this.currentStep);\n }\n\n /**\n * returns weather the current step is last step or not\n */\n get isLastStep(): boolean {\n return this._isLastStep(this.currentStep);\n }\n\n constructor(inj: Injector, dynamicComponentProvider: DynamicComponentRefProvider, @Self() @Inject(Context) contexts: Array<any>, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n let resolveFn: Function = noop;\n\n super(inj, WIDGET_CONFIG, explicitContext, new Promise(res => resolveFn = res));\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SHELL);\n\n this.promiseResolverFn = resolveFn;\n\n // initialize the message object with default values\n this.message = {\n caption: '',\n type: ''\n };\n this.wizContext = contexts[0];\n this.dynamicComponentProvider = dynamicComponentProvider;\n this.dynamicWizard = [];\n this.dynamicStepIndex = 0;\n }\n\n /**\n * This method is used to register the dynamic steps.\n * After all steps are initialzed, update the querylist manually based on index.\n * @param stepRef - refrence of the wizardstep\n */\n public registerDynamicStep(stepRef) {\n this.dynamicWizard.push(stepRef);\n const isLastStep = this.dynamicWizard.length === this.dynamicStepIndex;\n if (isLastStep) {\n for (let i = 0; i < this.dynamicWizard.length; i++) {\n const newStepRef = find(this.dynamicWizard, step => step.dynamicStepIndex === i);\n const isStepAlreadyExist = find(this.steps.toArray(), newStepRef);\n if (!isStepAlreadyExist) {\n this.steps.reset([...this.steps.toArray(), newStepRef]);\n if (newStepRef.active) {\n setTimeout(() => {\n newStepRef.select();\n }, 20);\n }\n }\n }\n }\n }\n\n /**\n * This method is to add the wizard step dynamically\n * @param wizardSteps - list of wizardsteps\n */\n public addStep(wizardSteps) {\n if (!isArray(wizardSteps)) {\n wizardSteps = [wizardSteps];\n }\n const stepNamesList = [];\n forEach(wizardSteps, (step, index) => {\n const isStepAlreadyCreated = find(this.steps.toArray(), {name: step.name});\n const isStepNameExist = indexOf(stepNamesList, step.name);\n // If user tries to add wizardstep with the same name which is already exists then do not create the step\n if (isStepAlreadyCreated || isStepNameExist > 0) {\n console.warn(`The wizard step with name ${step.name} already exists`);\n return;\n }\n\n let paramMarkup = '';\n let propsTmpl = '';\n this.dynamicStepIndex++;\n const name = step.name ? step.name : `wizardstep${this.steps.toArray().length + (index + 1)}`;\n stepNamesList.push(name);\n const partialParams = get(step, 'params');\n\n forEach(step, (value, key) => {\n if (key !== 'params') {\n propsTmpl = `${propsTmpl} ${key}=\"${value}\"`;\n }\n });\n\n forEach(partialParams, (value, key) => {\n paramMarkup = `${paramMarkup} <wm-param name=\"${key}\" value=\"${value}\"></wm-param>`;\n });\n const markup = `<wm-wizardstep dynamicStepIndex=\"${this.dynamicStepIndex - 1}\" isdynamic=\"true\" name=\"${name}\" ${propsTmpl}>\n ${paramMarkup}\n </wm-wizardstep>`;\n\n if (!this._dynamicContext) {\n this._dynamicContext = Object.create(this.viewParent);\n this._dynamicContext[this.getAttr('wmWizard')] = this;\n }\n\n this.dynamicComponentProvider.addComponent(this.getNativeElement().querySelector('.app-wizard-body'), markup, this._dynamicContext, {inj: this.inj});\n\n });\n return stepNamesList;\n }\n\n /**\n * This method is to remove the wizard step\n * @param step - index or name of the step\n */\n public removeStep(step: number | string) {\n const stepRef = isString(step) ? this.getStepRefByName(step) : isNumber(step)\n ? this.getStepRefByIndex(step) : null;\n stepRef ? stepRef.remove() : console.warn(`Could not find step with name or index '${step}' to remove`);\n }\n\n /**\n * returns next valid step. the index passed is also checked if its valid step\n * @param index\n * @returns {WizardStepComponent}\n */\n private getNextValidStepFormIndex(index: number): WizardStepComponent {\n for (let i = index; i < this.steps.length; i++) {\n const step = this.getStepRefByIndex(i);\n if (step.show) {\n return step;\n }\n }\n }\n\n /**\n * returns previous valid step. the index passed is also checked if its valid step\n * @param index\n * @returns {WizardStepComponent}\n */\n private getPreviousValidStepFormIndex(index: number): WizardStepComponent {\n for (let i = index; i >= 0; i--) {\n const step = this.getStepRefByIndex(i);\n if (step.show) {\n return step;\n }\n }\n }\n\n /**\n * returns current step index value.\n * @returns {number}\n */\n private getCurrentStepIndex(): number {\n return this.getStepIndexByRef(this.currentStep);\n }\n\n /**\n * returns stepRef when index is passed.\n * @param {number} index\n * @returns {WizardStepComponent}\n */\n private getStepRefByIndex(index: number): WizardStepComponent {\n return this.steps.toArray()[index];\n }\n\n /**\n * returns the index value of the step.\n * @param {WizardStepComponent} wizardStep\n * @returns {number}\n */\n private getStepIndexByRef(wizardStep: WizardStepComponent): number {\n return this.steps.toArray().indexOf(wizardStep);\n }\n\n /**\n * gets stepRef by searching on the name property.\n * @param {string} name\n * @returns {WizardStepComponent}\n */\n private getStepRefByName(name: string): WizardStepComponent {\n return this.steps.find(step => step.name === name);\n }\n\n /**\n * sets default step as current step if configured\n * or finds first valid step and set it as current step.\n * @param {WizardStepComponent} step\n */\n private setDefaultStep(step: WizardStepComponent) {\n // If the default step has show true then only update the currentStep\n if (step && step.show) {\n this.currentStep = step;\n step.active = true;\n step.isInitialized = true;\n // Mark all previous step status COMPLETED\n let index = this.getStepIndexByRef(step) - 1;\n while (index >= 0) {\n const prevStep = this.getStepRefByIndex(index);\n prevStep.done = true;\n prevStep.isInitialized = true;\n index--;\n }\n } else {\n // set next valid step as current step\n step = this.getNextValidStepFormIndex(0);\n if (step) {\n this.setDefaultStep(step);\n }\n }\n this.addMoreText();\n }\n\n /**\n * Selects the associated step when the wizard header is clicked.\n * @param $event\n * @param {WizardStepComponent} currentStep\n */\n private onWizardHeaderClick($event: Event, currentStep: WizardStepComponent) {\n // select the step if it's status is done\n if (currentStep.done) {\n // set all the next steps status as disabled and previous steps as done\n this.steps.forEach((step, index) => {\n if (index < this.getStepIndexByRef(currentStep)) {\n step.done = true;\n step.isDone = true;\n } else {\n step.disabled = true;\n step.isDone = false;\n }\n });\n // set the selected step as current step and make it active\n this.currentStep = currentStep;\n this.currentStep.active = true;\n this.addMoreText();\n }\n }\n\n private isPromise = (obj) => obj instanceof Promise || (obj !== null && typeof obj === 'object' && typeof obj.then === 'function' && typeof obj.catch === 'function');\n\n // Method to navigate to next step\n\n private handleNext(value: boolean | Promise<boolean>, currentStep, currentStepIndex) {\n if (this.isPromise(value)) {\n (value as Promise<boolean>).then(response => {\n if (response === false) {\n return;\n }\n this.extendNextFn(currentStep, currentStepIndex);\n }, err => err);\n } else {\n if (value === false) {\n return;\n }\n this.extendNextFn(currentStep, currentStepIndex);\n }\n }\n\n public next(eventName: string = 'next') {\n const currentStep = this.currentStep;\n const currentStepIndex = this.getCurrentStepIndex();\n\n // abort if onSkip method returns false\n if (eventName === 'skip') {\n const response = currentStep.invokeSkipCB(currentStepIndex);\n this.handleNext(response, currentStep, currentStepIndex);\n } else if (this.currentStep.isValid && eventName === 'next') {\n const response = currentStep.invokeNextCB(currentStepIndex);\n this.handleNext(response, currentStep, currentStepIndex);\n } else if (this.enablenext && !this.currentStep.isValid){\n Array.from((<any>this).currentStep.getAllEmbeddedForms())?.forEach((form:any) => {\n form.widget.highlightInvalidFields();\n });\n const invalidFormInputElement = this.currentStep.nativeElement?.querySelector(\"input.ng-invalid\") as HTMLInputElement;\n invalidFormInputElement?.focus();\n\n }\n }\n\n private extendNextFn(currentStep, currentStepIndex) {\n const nextStep: WizardStepComponent = this.getNextValidStepFormIndex(currentStepIndex + 1);\n // If there are any steps which has show then only change state of current step else remain same\n if (nextStep) {\n nextStep.isInitialized = true;\n currentStep.isDone = true;\n currentStep.done = true;\n nextStep.active = true;\n this.currentStep = nextStep;\n // Remove 'current' class from all wizard steps in header\n const allStepItems = this.nativeElement.querySelectorAll('li[data-stepid]');\n allStepItems.forEach((el: Element) => {\n el.classList.remove('current');\n const anchor = el.querySelector('a');\n if (anchor) {\n anchor.setAttribute('tabindex', '-1');\n }\n });\n // Add 'current' to next step header item\n const newStepLi = this.nativeElement.querySelector(`li[data-stepid=\"${nextStep.widgetId}\"]`);\n const newStepAnchor = newStepLi?.querySelector('a') as HTMLElement;\n if (newStepLi && newStepAnchor) {\n newStepLi.classList.add('current');\n newStepAnchor.setAttribute('tabindex', '0');\n newStepAnchor.focus();\n }\n this.updateStepFocus();\n }\n this.addMoreText();\n }\n // Method to navigate to previous step\n public prev() {\n const currentStep = this.currentStep;\n const currentStepIndex = this.getCurrentStepIndex();\n\n // abort if onPrev method returns false.\n const response = currentStep.invokePrevCB(currentStepIndex);\n if (this.isPromise(response)) {\n (response as Promise<boolean>).then( response => {\n if (response === false) {\n return;\n }\n this.extendPrevFn(currentStep, currentStepIndex);\n }, err => err);\n } else {\n if (response === false) {\n return;\n }\n this.extendPrevFn(currentStep, currentStepIndex);\n }\n }\n\n private extendPrevFn(currentStep, currentStepIndex){\n const prevStep: WizardStepComponent = this.getPreviousValidStepFormIndex(currentStepIndex - 1);\n\n // If there are any steps which has show then only change state of current step else remain same\n if (prevStep) {\n currentStep.isDone = false;\n currentStep.disabled = true;\n prevStep.active = true;\n this.currentStep = prevStep;\n // Remove 'current' class from all steps\n const allStepItems = this.nativeElement.querySelectorAll('li[data-stepid]');\n allStepItems.forEach((el: Element) => {\n el.classList.remove('current');\n const anchor = el.querySelector('a');\n if (anchor) {\n anchor.setAttribute('tabindex', '-1');\n }\n });\n // Apply 'current' to prev step\n const prevStepLi = this.nativeElement.querySelector(`li[data-stepid=\"${prevStep.widgetId}\"]`);\n const prevStepAnchor = prevStepLi?.querySelector('a') as HTMLElement;\n if (prevStepLi && prevStepAnchor) {\n prevStepLi.classList.add('current');\n prevStepAnchor.setAttribute('tabindex', '0');\n prevStepAnchor.focus();\n }\n this.updateStepFocus();\n }\n this.addMoreText();\n }\n\n public skip() {\n this.next('skip');\n }\n\n /**\n * Navigates to the given step based on step name or step index\n * This will work only if the step is already in done state\n * @param step\n */\n public gotoStep(step: string | number) {\n let gotoStepIndex: number;\n if (isString(step)) {\n gotoStepIndex = this.steps.toArray().map(step => step.name).indexOf(step);\n if (gotoStepIndex === -1) {\n console.error(`Could not find step '${step}'`);\n return;\n }\n } else if (isNumber(step) && step >= 0) {\n gotoStepIndex = step;\n } else {\n console.error(\"Invalid step name or index provided\");\n return;\n }\n\n const gotoStep: WizardStepComponent = this.getStepRefByIndex(gotoStepIndex);\n\n if (gotoStep?.show) {\n this.onWizardHeaderClick(event, gotoStep);\n } else {\n console.error(\"The gotoStep function cannot navigate to hidden steps\");\n }\n }\n\n // Method to invoke on-Done event on wizard\n public done() {\n this.currentStep.isDone = true;\n this.invokeEventCallback('done', {steps: this.steps.toArray()});\n }\n // Method to invoke on-Cancel event on wizard\n public cancel () {\n this.invokeEventCallback('cancel', {steps: this.steps.toArray()});\n }\n public addMoreText(){\n setTimeout(() => {\n\n\n var newWindowWidth = $(window).width();\n if(newWindowWidth < 768){\n $(\".app-wizard-step.current .subtitle-wrapper .step-title\").css({\"height\":\"auto\",\"display\":\"block\"});\n var subtitleTextLength = $(\".app-wizard-step.current .subtitle-wrapper .step-title\").height();\n $(\".read_more\").css(\"display\",\"none\");\n $(\".current .subtitle-wrapper\").removeClass(\"readmore_subtitle\");\n\n if(subtitleTextLength>44){\n $(\".app-wizard-step.current .subtitle-wrapper .step-title\").css({\"height\":\"44px\",\"display\":\"-webkit-box\"});\n $(\".current .read_more\").css(\"display\",\"block\");\n $(\".active .read_more\").css(\"display\",\"none\");\n $(\".disable .read_more\").css(\"display\",\"none\");\n $(\".app-wizard-step>a\").css(\"height\",\"100px\")\n }\n }\n });\n\n }\n public readMoreSubtitle(){\n $(\".current .subtitle-wrapper\").addClass(\"readmore_subtitle\");\n $(\".current .read_more\").css(\"display\",\"none\");\n $(document).on(\"mouseup\",function(e:any)\n {\n var container = $(\".subtitle-wrapper\");\n // if the target of the click isn't the container nor a descendant of the container\n if (!container.is(e.target) && container.has(e.target).length === 0)\n {\n $(\".current .subtitle-wrapper\").removeClass(\"readmore_subtitle\");\n $(\".current .read_more\").css(\"display\",\"block\");\n $(document).off(\"mouseup\");\n }\n });\n }\n\n private _isFirstStep(stepRef: WizardStepComponent) {\n return this.steps.first === stepRef;\n }\n\n private _isLastStep(stepRef: WizardStepComponent) {\n return this.steps.last === stepRef;\n }\n\n private onDataChange(newVal) {\n this.fieldDefs = createArrayFrom(newVal);\n }\n\n private updateStepFocus() {\n setTimeout(() => {\n const currentStepElement = this.nativeElement.querySelector(\".app-wizard-heading li.current a\") as HTMLElement;\n currentStepElement?.focus();\n });\n }\n\n // Define the property change handler. This Method will be triggered when there is a change in the widget property\n onPropertyChange(key: string, nv: any, ov?: any) {\n // Monitoring changes for properties and accordingly handling respective changes\n\n if (key === 'stepstyle') {\n this.stepClass = nv === 'justified' ? 'nav-justified' : '';\n } else if (key === 'dataset') {\n this.onDataChange(nv);\n } else if (key === 'defaultstep') {\n this.setDefaultStep(this.getStepRefByName(nv));\n } else if (key === 'actionsalignment') {\n this.nativeElement.querySelector('div.app-wizard-actions')?.classList.replace(ov, nv);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n this.promiseResolverFn();\n this.wizContext.hasNextStep = () => this.hasNextStep;\n this.wizContext.hasPreviousStep = () => this.hasPrevStep;\n this.wizContext.hasNoNextStep = () => this.showDoneBtn;\n this.wizContext.cancelable = () => this.cancelable;\n this.wizContext.skippable = () => this.currentStep?.enableskip;\n this.wizContext.next = () => this.next();\n this.wizContext.previous = () => this.prev();\n this.wizContext.done = () => this.done();\n this.wizContext.cancel = () => this.cancel();\n this.wizContext.skip = () => this.skip();\n this.wizContext.nextbtnlabel = () => this.nextbtnlabel;\n this.wizContext.previousbtnlabel = () => this.previousbtnlabel;\n this.wizContext.donebtnlabel = () => this.donebtnlabel;\n this.wizContext.cancelbtnlabel = () => this.cancelbtnlabel;\n this.wizContext.actionsalignment = () => this.actionsalignment;\n this.wizContext.disableNext = () => !this.enableNext;\n this.wizContext.disablePrevious = () => !this.enablePrev;\n this.wizContext.disableDone = () => !this.enableDone;\n \n // MEMORY LEAK FIX: Store subscription for cleanup\n this.stepsSubscription = this.steps.changes.subscribe( () => {\n if (this.steps.length > 1 && this.type === 'dynamic' && this._isFirstLoad) {\n this.setDefaultStep(this.getStepRefByIndex(this.defaultstepindex));\n this._isFirstLoad = false;\n }\n });\n }\n private isSelectableStep(stepRef: WizardStepComponent): boolean {\n return stepRef.show && !stepRef.disabled;\n }\n private getSelectableStepBeforeIndex(index: number): WizardStepComponent {\n for (let i = index - 1; i >= 0; i--) {\n const step = this.getStepRefByIndex(i);\n if (this.isSelectableStep(step)) {\n return step;\n }\n }\n if (index === 0) {\n const step = this.getStepRefByIndex(this.steps.length - 1);\n if (this.isSelectableStep(step)) {\n return step;\n }\n }\n }\n private getSelectableStepAfterIndex(index: number): WizardStepComponent {\n for (let i = index + 1; i < this.steps.length; i++) {\n const step = this.getStepRefByIndex(i);\n if (this.isSelectableStep(step)) {\n return step;\n }\n }\n if (index === this.steps.length - 1) {\n const step = this.getStepRefByIndex(0);\n if (this.isSelectableStep(step)) {\n return step;\n }\n }\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(\n this.nativeElement.querySelector('.panel-body') as HTMLElement,\n this,\n APPLY_STYLES_TYPE.INNER_SHELL\n );\n setTimeout(() => { if($(window).width()<768) {\n $(\".app-wizard\").removeClass(\"vertical\");\n }\n });\n }\n ngAfterViewChecked() {\n this.nativeElement.querySelectorAll('div.app-wizard-actions').forEach(el => el?.classList.add(this.actionsalignment));\n this.nativeElement.querySelectorAll('div.app-wizard-actions-right').forEach(el => el?.classList.remove('app-container'));\n }\n public getActiveStepIndex(): number {\n return findIndex(this.steps.toArray(), {isCurrent: true});\n }\n onkeydown(event) {\n let newStep;\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n event.preventDefault();\n newStep = this.autoActivation ? null : this.getSelectableStepBeforeIndex(this.getSelectedStepIndex());\n break;\n\n case 'ArrowRight':\n case 'ArrowDown':\n event.preventDefault();\n newStep = this.autoActivation ? null : this.getSelectableStepAfterIndex(this.getSelectedStepIndex());\n break;\n case 'Enter':\n case ' ':\n case 'Spacebar':\n event.preventDefault();\n setTimeout(() => {\n const activeElement = this.nativeElement.querySelector('li.current');\n const stepLi = activeElement.closest('li[data-stepid]');\n const isInWizardHeader = activeElement.closest('.app-wizard-heading');\n\n if (stepLi && isInWizardHeader) {\n const stepId = stepLi.getAttribute('data-stepid');\n const stepIndex = this.steps.toArray().findIndex(step => step.widgetId === stepId);\n const currentStep = this.steps.toArray()[stepIndex];\n\n if (currentStep && currentStep !== this.currentStep) {\n this.onWizardHeaderClick(event, currentStep);\n\n // Update tabindex for accessibility\n const allStepItems = this.nativeElement.querySelectorAll('li[data-stepid]');\n allStepItems.forEach((el: Element) => {\n (el as HTMLElement).setAttribute('tabindex', '-1');\n });\n\n const stepAnchor = stepLi.querySelector('a');\n if (stepAnchor) {\n stepAnchor.setAttribute('tabindex', '0');\n stepAnchor.focus();\n }\n }\n }\n }, 0);\n break;\n default:\n return;\n }\n if (newStep) {\n this.nativeElement.querySelector('li.current')?.classList.remove('current');\n this.nativeElement.querySelector(`li[data-stepid=\"${newStep.widgetId}\"]`)?.classList.add('current');\n const stepLi = this.nativeElement.querySelector(\".app-wizard-heading li.current a\") as HTMLElement;\n const allStepItems = this.nativeElement.querySelectorAll('li[data-stepid] a');\n allStepItems.forEach((el: Element) => {\n (el as HTMLElement).setAttribute('tabindex', '-1');\n });\n (stepLi).setAttribute('tabindex', '0');\n stepLi?.focus();\n }\n }\n getSelectedStepIndex() {\n const index = this.steps.toArray().findIndex(step =>\n this.nativeElement.querySelector(`li[data-stepid=\"${step.widgetId}\"]`)?.classList.contains(\"current\"));\n return index >= 0 ? index : this.getActiveStepIndex();\n }\n \n ngOnDestroy() {\n // MEMORY LEAK FIX: Unsubscribe from steps changes\n if (this.stepsSubscription) {\n this.stepsSubscription.unsubscribe();\n this.stepsSubscription = null;\n }\n \n // MEMORY LEAK FIX: Remove jQuery event handlers\n $(document).off(\"mouseup\");\n \n // MEMORY LEAK FIX: Clear wizard context to release references to step data\n if (this.wizContext) {\n Object.keys(this.wizContext).forEach(key => {\n delete this.wizContext[key];\n });\n this.wizContext = null;\n }\n \n // MEMORY LEAK FIX: Clear dynamic context\n if (this._dynamicContext) {\n Object.keys(this._dynamicContext).forEach(key => {\n delete this._dynamicContext[key];\n });\n this._dynamicContext = null;\n }\n \n // MEMORY LEAK FIX: Clear dynamic wizard array\n if (this.dynamicWizard) {\n this.dynamicWizard = [];\n }\n \n // MEMORY LEAK FIX: Clear current step reference\n this.currentStep = null;\n \n super.ngOnDestroy();\n }\n}\n","<div class=\"app-wizard-heading\">\n <ul class=\"app-wizard-steps nav nav-pills {{stepClass}}\">\n @for (step of steps; track step; let i = $index) {\n <li class=\"app-wizard-step\" [hidden]=\"!step.show\"\n [ngClass]=\"{active: step.done, current: step.active, disabled: step.disabled}\"\n (click)=\"onWizardHeaderClick($event, step)\" [attr.data-stepid]=\"step.widgetId\">\n <a href=\"javascript:void(0)\" [attr.aria-current]=\"step.active ? 'step' : null\"\n [attr.aria-disabled]=\"step.disabled\" [attr.aria-label]='step.subtitle ? \"step \" + (i + 1) + \" \" + step.title + \" \" + step.subtitle : \"step \" + (i + 1) + \" \" + step.title' [attr.title]= \"step.title\"\n [ngClass]=\"{'title-center-align':class && class.includes('classic') && !step.subtitle}\" [tabindex]=\"step.active ? '0' : '-1'\" (keydown)=\"onkeydown($event)\">\n @if (class && class.includes('classic')) {\n <span class=\"arrow\"></span>\n }\n <span class=\"wizard-step-number\">\n @if (class && class.includes('number') && !step.isDone) {\n <span class=\"count\">{{i+1}}</span>\n }\n @if (class && (class.includes('dottedstepper') || class.includes('text-inline') && !class.includes('iconstepper')) && !step.isDone) {\n <i class=\"dottedstepper\"></i>\n }\n @if (class && (class.includes('dottedstepper') || class.includes('number')) && step.isDone) {\n <i class=\"app-icon wi wi-done\"></i>\n }\n @if ((class && class.includes('iconstepper')) && ((step.iconclass && !step.isDone) || (step.iconclass && step.isDone && step.doneiconclass ===''))) {\n <i class=\"app-icon {{step.iconclass}}\"></i>\n }\n @if (step.doneiconclass && step.isDone && (class && class.includes('iconstepper'))) {\n <i class=\"app-icon {{step.doneiconclass}}\"></i>\n }\n </span>\n <span class=\"title-wrapper\">\n @if (class && class.includes('text-inline')) {\n <span>{{'0' + (i+1)}}</span>\n }\n <span class=\"step-title\" [textContent]=\"step.title\"></span>\n </span>\n @if (step.subtitle) {\n <span class=\"subtitle-wrapper\" [attr.title]=\"step.subtitle\">\n <span class=\"step-title\" [textContent]=\"step.subtitle\"></span>\n <a class=\"read_more\" (click)=\"readMoreSubtitle()\" style=\"display:none\">more</a>\n </span>\n }\n </a>\n </li>\n }\n </ul>\n</div>\n@if (type !== 'dynamic') {\n<div class=\"app-wizard-body panel-body\">\n @if (message.caption) {\n <p wmMessage caption.bind=\"message.caption\" type.bind=\"message.type\"></p>\n }\n <ng-content ngProjectAs=\"form[wmWizardStep]\"></ng-content>\n</div>\n}\n@if (type === 'dynamic') {\n<div class=\"app-wizard-body panel-body\">\n @if(!fieldDefs?.length) {\n <div>{{nodatamessage}}</div>\n }\n <ng-content select=\"div[wmRepeatTemplate]\"></ng-content>\n</div>\n}\n@if(fieldDefs && fieldDefs.length || type !== 'dynamic') {\n <ng-container *ngTemplateOutlet=\"wizardAction\"></ng-container>\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-wizardaction',\n new Map([\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ])\n );\n};\n","import {Directive, Inject, Injector, Optional} from '@angular/core';\nimport { BaseComponent, IWidgetConfig, provideAsWidgetRef } from '@wm/components/base';\nimport {registerProps} from \"./wizard-action.props\";\n\nconst WIDGET_INFO: IWidgetConfig = {\n widgetType: 'wm-wizardaction',\n hostClass: 'app-wizard-actions panel-footer '\n};\n\n@Directive({\n standalone: true,\n selector: 'div[wmWizardAction]',\n providers: [\n provideAsWidgetRef(WizardActionDirective)\n ],\n exportAs: 'wmWizardAction',\n})\nexport class WizardActionDirective extends BaseComponent {\n static initializeProps = registerProps();\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_INFO, explicitContext);\n }\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG","i1"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { AfterViewInit, Injector, OnInit } from "@angular/core";
1
+ import { AfterViewInit, Injector, OnDestroy, OnInit } from "@angular/core";
2
2
  import { StylableComponent } from "@wm/components/base";
3
3
  import { NgForm } from "@angular/forms";
4
4
  import * as i0 from "@angular/core";
5
- export declare class WizardStepComponent extends StylableComponent implements OnInit, AfterViewInit {
5
+ export declare class WizardStepComponent extends StylableComponent implements OnInit, AfterViewInit, OnDestroy {
6
6
  private ngForm;
7
7
  static initializeProps: void;
8
8
  show: boolean;
@@ -49,6 +49,7 @@ export declare class WizardStepComponent extends StylableComponent implements On
49
49
  onPropertyChange(key: string, nv: any, ov?: any): void;
50
50
  ngOnInit(): void;
51
51
  ngAfterViewInit(): void;
52
+ ngOnDestroy(): void;
52
53
  static ɵfac: i0.ɵɵFactoryDeclaration<WizardStepComponent, [null, { self: true; }, { optional: true; }]>;
53
54
  static ɵcmp: i0.ɵɵComponentDeclaration<WizardStepComponent, "form[wmWizardStep]", ["wmWizardStep"], {}, {}, ["reDrawableComponents"], ["*"], true, never>;
54
55
  }
@@ -1,9 +1,9 @@
1
1
  import { StylableComponent } from "@wm/components/base";
2
- import { AfterContentInit, AfterViewChecked, AfterViewInit, Injector, OnInit, QueryList, TemplateRef } from '@angular/core';
2
+ import { AfterContentInit, AfterViewChecked, AfterViewInit, Injector, OnDestroy, OnInit, QueryList, TemplateRef } from '@angular/core';
3
3
  import { DynamicComponentRefProvider } from '@wm/core';
4
4
  import { WizardStepComponent } from "./wizard-step/wizard-step.component";
5
5
  import * as i0 from "@angular/core";
6
- export declare class WizardComponent extends StylableComponent implements OnInit, AfterContentInit, AfterViewInit, AfterViewChecked {
6
+ export declare class WizardComponent extends StylableComponent implements OnInit, AfterContentInit, AfterViewInit, AfterViewChecked, OnDestroy {
7
7
  static initializeProps: void;
8
8
  steps: QueryList<WizardStepComponent>;
9
9
  wizardAction: TemplateRef<any>;
@@ -35,6 +35,7 @@ export declare class WizardComponent extends StylableComponent implements OnInit
35
35
  defaultstepindex: any;
36
36
  private _isFirstLoad;
37
37
  autoActivation: boolean;
38
+ private stepsSubscription;
38
39
  get hasPrevStep(): boolean;
39
40
  get hasNextStep(): boolean;
40
41
  get showDoneBtn(): boolean;
@@ -148,6 +149,7 @@ export declare class WizardComponent extends StylableComponent implements OnInit
148
149
  getActiveStepIndex(): number;
149
150
  onkeydown(event: any): void;
150
151
  getSelectedStepIndex(): number;
152
+ ngOnDestroy(): void;
151
153
  static ɵfac: i0.ɵɵFactoryDeclaration<WizardComponent, [null, null, { self: true; }, { optional: true; }]>;
152
154
  static ɵcmp: i0.ɵɵComponentDeclaration<WizardComponent, "div[wmWizard]", ["wmWizard"], {}, {}, ["wizardAction", "steps"], ["*", "div[wmRepeatTemplate]"], true, never>;
153
155
  }
@@ -67,7 +67,8 @@
67
67
  super.ngOnInit();
68
68
  core.removeAttr(this.nativeElement.parentElement, 'tabindex');
69
69
  core.setAttr(this.nativeElement, 'tabindex', 0);
70
- this.render2.listen(this.nativeElement, 'keydown.Enter', (e) => {
70
+ // MEMORY LEAK FIX: Store listener reference for cleanup
71
+ this.keydownListener = this.render2.listen(this.nativeElement, 'keydown.Enter', (e) => {
71
72
  e.preventDefault();
72
73
  this.nativeElement.click();
73
74
  });
@@ -80,6 +81,16 @@
80
81
  super.onPropertyChange(key, nv, ov);
81
82
  }
82
83
  }
84
+ ngOnDestroy() {
85
+ // MEMORY LEAK FIX: Remove event listener
86
+ if (this.keydownListener) {
87
+ this.keydownListener();
88
+ this.keydownListener = null;
89
+ }
90
+ // MEMORY LEAK FIX: Clear ViewChild reference
91
+ this.cardContainerElRef = null;
92
+ super.ngOnDestroy();
93
+ }
83
94
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: CardComponent, deps: [{ token: i0__namespace.Injector }, { token: i0__namespace.Renderer2 }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
84
95
  static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CardComponent, isStandalone: true, selector: "[wmCard]", providers: [
85
96
  base.provideAsWidgetRef(CardComponent)
@@ -158,6 +169,11 @@
158
169
  super.ngAfterViewInit();
159
170
  base.styler(this.cardContentContainerElRef.nativeElement, this, base.APPLY_STYLES_TYPE.CONTAINER);
160
171
  }
172
+ ngOnDestroy() {
173
+ // MEMORY LEAK FIX: Clear ViewChild reference
174
+ this.cardContentContainerElRef = null;
175
+ super.ngOnDestroy();
176
+ }
161
177
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: CardContentComponent, deps: [{ token: i0__namespace.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
162
178
  static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CardContentComponent, isStandalone: true, selector: "div[wmCardContent]", providers: [
163
179
  base.provideAsWidgetRef(CardContentComponent)
@@ -1,11 +1,12 @@
1
- import { AfterViewInit, Injector } from '@angular/core';
1
+ import { AfterViewInit, Injector, OnDestroy } from '@angular/core';
2
2
  import { StylableComponent } from '@wm/components/base';
3
3
  import * as i0 from "@angular/core";
4
- export declare class CardContentComponent extends StylableComponent implements AfterViewInit {
4
+ export declare class CardContentComponent extends StylableComponent implements AfterViewInit, OnDestroy {
5
5
  static initializeProps: void;
6
6
  private cardContentContainerElRef;
7
7
  constructor(inj: Injector, explicitContext: any);
8
8
  ngAfterViewInit(): void;
9
+ ngOnDestroy(): void;
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<CardContentComponent, [null, { optional: true; }]>;
10
11
  static ɵcmp: i0.ɵɵComponentDeclaration<CardContentComponent, "div[wmCardContent]", never, {}, {}, never, ["*"], true, never>;
11
12
  }
@@ -1,7 +1,7 @@
1
- import { AfterViewInit, Injector, OnInit, Renderer2 } from '@angular/core';
1
+ import { AfterViewInit, Injector, OnInit, OnDestroy, Renderer2 } from '@angular/core';
2
2
  import { MenuAdapterComponent } from '@wm/components/navigation/menu';
3
3
  import * as i0 from "@angular/core";
4
- export declare class CardComponent extends MenuAdapterComponent implements OnInit, AfterViewInit {
4
+ export declare class CardComponent extends MenuAdapterComponent implements OnInit, AfterViewInit, OnDestroy {
5
5
  private render2;
6
6
  static initializeProps: void;
7
7
  showHeader: boolean;
@@ -12,10 +12,12 @@ export declare class CardComponent extends MenuAdapterComponent implements OnIni
12
12
  actions: string;
13
13
  picturesource: any;
14
14
  private cardContainerElRef;
15
+ private keydownListener;
15
16
  constructor(inj: Injector, render2: Renderer2, explicitContext: any);
16
17
  ngAfterViewInit(): void;
17
18
  ngOnInit(): void;
18
19
  onPropertyChange(key: string, nv: any, ov?: any): void;
20
+ ngOnDestroy(): void;
19
21
  static ɵfac: i0.ɵɵFactoryDeclaration<CardComponent, [null, null, { optional: true; }]>;
20
22
  static ɵcmp: i0.ɵɵComponentDeclaration<CardComponent, "[wmCard]", never, {}, {}, never, ["*", "*", "*"], true, never>;
21
23
  }
@@ -16,6 +16,11 @@ export class CardContentComponent extends StylableComponent {
16
16
  super.ngAfterViewInit();
17
17
  styler(this.cardContentContainerElRef.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);
18
18
  }
19
+ ngOnDestroy() {
20
+ // MEMORY LEAK FIX: Clear ViewChild reference
21
+ this.cardContentContainerElRef = null;
22
+ super.ngOnDestroy();
23
+ }
19
24
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardContentComponent, deps: [{ token: i0.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
20
25
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CardContentComponent, isStandalone: true, selector: "div[wmCardContent]", providers: [
21
26
  provideAsWidgetRef(CardContentComponent)
@@ -35,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
35
40
  type: ViewChild,
36
41
  args: ['cardContentContainer']
37
42
  }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhL2NhcmQvc3JjL2NhcmQtY29udGVudC9jYXJkLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2RhdGEvY2FyZC9zcmMvY2FyZC1jb250ZW50L2NhcmQtY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTFHLE9BQU8sRUFBRSxpQkFBaUIsRUFBaUIsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVyRCxNQUFNLFdBQVcsR0FBRyx1Q0FBdUMsQ0FBQztBQUM1RCxNQUFNLGFBQWEsR0FBa0I7SUFDakMsVUFBVSxFQUFFLGlCQUFpQjtJQUM3QixTQUFTLEVBQUUsV0FBVztDQUN6QixDQUFDO0FBVUYsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGlCQUFpQjthQUNoRCxvQkFBZSxHQUFHLGFBQWEsRUFBRSxBQUFsQixDQUFtQjtJQUl6QyxZQUFZLEdBQWEsRUFBMEMsZUFBb0I7UUFDbkYsS0FBSyxDQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGVBQWU7UUFDWCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7K0dBWlEsb0JBQW9CLDBDQUtNLGtCQUFrQjttR0FMNUMsb0JBQW9CLGlFQUpsQjtZQUNQLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDO1NBQzNDLG9MQ2pCTCw2RkFFTTs7NEZEaUJPLG9CQUFvQjtrQkFSaEMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sb0JBQW9CLGFBRW5CO3dCQUNQLGtCQUFrQixzQkFBc0I7cUJBQzNDOzswQkFPMkIsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUFHLFFBQVE7eUNBRnJCLHlCQUF5QjtzQkFBbkUsU0FBUzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbmplY3RvciwgT3B0aW9uYWwsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFQUExZX1NUWUxFU19UWVBFLCBJV2lkZ2V0Q29uZmlnLCBwcm92aWRlQXNXaWRnZXRSZWYsIFN0eWxhYmxlQ29tcG9uZW50LCBzdHlsZXIgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuL2NhcmQtY29udGVudC5wcm9wcyc7XG5cbmNvbnN0IERFRkFVTFRfQ0xTID0gJ2FwcC1jYXJkLWNvbnRlbnQgY2FyZC1ib2R5IGNhcmQtYmxvY2snO1xuY29uc3QgV0lER0VUX0NPTkZJRzogSVdpZGdldENvbmZpZyA9IHtcbiAgICB3aWRnZXRUeXBlOiAnd20tY2FyZC1jb250ZW50JyxcbiAgICBob3N0Q2xhc3M6IERFRkFVTFRfQ0xTXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnZGl2W3dtQ2FyZENvbnRlbnRdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKENhcmRDb250ZW50Q29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2FyZENvbnRlbnRDb21wb25lbnQgZXh0ZW5kcyBTdHlsYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBAVmlld0NoaWxkKCdjYXJkQ29udGVudENvbnRhaW5lcicpIHByaXZhdGUgY2FyZENvbnRlbnRDb250YWluZXJFbFJlZjogRWxlbWVudFJlZjtcblxuICAgIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IsIEBJbmplY3QoJ0VYUExJQ0lUX0NPTlRFWFQnKSBAT3B0aW9uYWwoKSBleHBsaWNpdENvbnRleHQ6IGFueSkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcsIGV4cGxpY2l0Q29udGV4dCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgc3R5bGVyKHRoaXMuY2FyZENvbnRlbnRDb250YWluZXJFbFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLCBBUFBMWV9TVFlMRVNfVFlQRS5DT05UQUlORVIpO1xuICAgIH1cbn1cbiIsIjxkaXYgcGFydGlhbC1jb250YWluZXItdGFyZ2V0ICNjYXJkQ29udGVudENvbnRhaW5lcj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhL2NhcmQvc3JjL2NhcmQtY29udGVudC9jYXJkLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2RhdGEvY2FyZC9zcmMvY2FyZC1jb250ZW50L2NhcmQtY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBYSxRQUFRLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJILE9BQU8sRUFBRSxpQkFBaUIsRUFBaUIsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVyRCxNQUFNLFdBQVcsR0FBRyx1Q0FBdUMsQ0FBQztBQUM1RCxNQUFNLGFBQWEsR0FBa0I7SUFDakMsVUFBVSxFQUFFLGlCQUFpQjtJQUM3QixTQUFTLEVBQUUsV0FBVztDQUN6QixDQUFDO0FBVUYsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGlCQUFpQjthQUNoRCxvQkFBZSxHQUFHLGFBQWEsRUFBRSxBQUFsQixDQUFtQjtJQUl6QyxZQUFZLEdBQWEsRUFBMEMsZUFBb0I7UUFDbkYsS0FBSyxDQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGVBQWU7UUFDWCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFRCxXQUFXO1FBQ1AsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUM7UUFFdEMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBbkJRLG9CQUFvQiwwQ0FLTSxrQkFBa0I7bUdBTDVDLG9CQUFvQixpRUFKbEI7WUFDUCxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztTQUMzQyxvTENqQkwsNkZBRU07OzRGRGlCTyxvQkFBb0I7a0JBUmhDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLG9CQUFvQixhQUVuQjt3QkFDUCxrQkFBa0Isc0JBQXNCO3FCQUMzQzs7MEJBTzJCLE1BQU07MkJBQUMsa0JBQWtCOzswQkFBRyxRQUFRO3lDQUZyQix5QkFBeUI7c0JBQW5FLFNBQVM7dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT3B0aW9uYWwsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFQUExZX1NUWUxFU19UWVBFLCBJV2lkZ2V0Q29uZmlnLCBwcm92aWRlQXNXaWRnZXRSZWYsIFN0eWxhYmxlQ29tcG9uZW50LCBzdHlsZXIgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuL2NhcmQtY29udGVudC5wcm9wcyc7XG5cbmNvbnN0IERFRkFVTFRfQ0xTID0gJ2FwcC1jYXJkLWNvbnRlbnQgY2FyZC1ib2R5IGNhcmQtYmxvY2snO1xuY29uc3QgV0lER0VUX0NPTkZJRzogSVdpZGdldENvbmZpZyA9IHtcbiAgICB3aWRnZXRUeXBlOiAnd20tY2FyZC1jb250ZW50JyxcbiAgICBob3N0Q2xhc3M6IERFRkFVTFRfQ0xTXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnZGl2W3dtQ2FyZENvbnRlbnRdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKENhcmRDb250ZW50Q29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2FyZENvbnRlbnRDb21wb25lbnQgZXh0ZW5kcyBTdHlsYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2NhcmRDb250ZW50Q29udGFpbmVyJykgcHJpdmF0ZSBjYXJkQ29udGVudENvbnRhaW5lckVsUmVmOiBFbGVtZW50UmVmO1xuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgQEluamVjdCgnRVhQTElDSVRfQ09OVEVYVCcpIEBPcHRpb25hbCgpIGV4cGxpY2l0Q29udGV4dDogYW55KSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgZXhwbGljaXRDb250ZXh0KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICBzdHlsZXIodGhpcy5jYXJkQ29udGVudENvbnRhaW5lckVsUmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMsIEFQUExZX1NUWUxFU19UWVBFLkNPTlRBSU5FUik7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIC8vIE1FTU9SWSBMRUFLIEZJWDogQ2xlYXIgVmlld0NoaWxkIHJlZmVyZW5jZVxuICAgICAgICB0aGlzLmNhcmRDb250ZW50Q29udGFpbmVyRWxSZWYgPSBudWxsO1xuXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPGRpdiBwYXJ0aWFsLWNvbnRhaW5lci10YXJnZXQgI2NhcmRDb250ZW50Q29udGFpbmVyPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PiJdfQ==
@@ -29,7 +29,8 @@ export class CardComponent extends MenuAdapterComponent {
29
29
  super.ngOnInit();
30
30
  removeAttr(this.nativeElement.parentElement, 'tabindex');
31
31
  setAttr(this.nativeElement, 'tabindex', 0);
32
- this.render2.listen(this.nativeElement, 'keydown.Enter', (e) => {
32
+ // MEMORY LEAK FIX: Store listener reference for cleanup
33
+ this.keydownListener = this.render2.listen(this.nativeElement, 'keydown.Enter', (e) => {
33
34
  e.preventDefault();
34
35
  this.nativeElement.click();
35
36
  });
@@ -42,6 +43,16 @@ export class CardComponent extends MenuAdapterComponent {
42
43
  super.onPropertyChange(key, nv, ov);
43
44
  }
44
45
  }
46
+ ngOnDestroy() {
47
+ // MEMORY LEAK FIX: Remove event listener
48
+ if (this.keydownListener) {
49
+ this.keydownListener();
50
+ this.keydownListener = null;
51
+ }
52
+ // MEMORY LEAK FIX: Clear ViewChild reference
53
+ this.cardContainerElRef = null;
54
+ super.ngOnDestroy();
55
+ }
45
56
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardComponent, deps: [{ token: i0.Injector }, { token: i0.Renderer2 }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
46
57
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CardComponent, isStandalone: true, selector: "[wmCard]", providers: [
47
58
  provideAsWidgetRef(CardComponent)
@@ -61,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
61
72
  type: ViewChild,
62
73
  args: ['cardContainerWrapper', { static: true }]
63
74
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvZGF0YS9jYXJkL3NyYy9jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhL2NhcmQvc3JjL2NhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBRUgsU0FBUyxFQUNULFVBQVUsRUFDVixRQUFRLEVBRVIsU0FBUyxFQUNULFFBQVEsRUFDUixTQUFTLEVBQ1QsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBaUIsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUMsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLFVBQVUsQ0FBQzs7O0FBRTdDLE1BQU0sV0FBVyxHQUFHLHlCQUF5QixDQUFDO0FBQzlDLE1BQU0sYUFBYSxHQUFrQjtJQUNqQyxVQUFVLEVBQUUsU0FBUztJQUNyQixTQUFTLEVBQUUsV0FBVztDQUN6QixDQUFDO0FBV0YsTUFBTSxPQUFPLGFBQWMsU0FBUSxvQkFBb0I7YUFDNUMsb0JBQWUsR0FBRyxhQUFhLEVBQUUsQUFBbEIsQ0FBbUI7SUFZekMsWUFBWSxHQUFhLEVBQVUsT0FBa0IsRUFBMEMsZUFBb0I7UUFDL0csS0FBSyxDQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFEWixZQUFPLEdBQVAsT0FBTyxDQUFXO1FBRWpELE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsZUFBZTtRQUNYLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUNELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzNELENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGdCQUFnQixDQUFDLEdBQVcsRUFBRSxFQUFPLEVBQUUsRUFBUTtRQUMzQyxJQUFJLEdBQUcsS0FBSyxPQUFPLElBQUksR0FBRyxLQUFLLFlBQVksSUFBSSxHQUFHLEtBQUssV0FBVyxJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzNHLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUcsQ0FBQzthQUFNLENBQUM7WUFDSixLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0wsQ0FBQzsrR0F0Q1EsYUFBYSxtRUFheUMsa0JBQWtCO21HQWJ4RSxhQUFhLHVEQUpYO1lBQ1Asa0JBQWtCLENBQUMsYUFBYSxDQUFDO1NBQ3BDLDJMQ25DTCx1L0NBK0NBLDJDRGpCYyxZQUFZLGtOQUFFLG9CQUFvQixtRkFBRSxnQkFBZ0Isb0ZBQUUsYUFBYTs7NEZBT3BFLGFBQWE7a0JBVHpCLFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLGFBQWEsQ0FBQyxZQUNwRSxVQUFVLGFBRVQ7d0JBQ1Asa0JBQWtCLGVBQWU7cUJBQ3BDOzswQkFldUQsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUFHLFFBQVE7eUNBRi9CLGtCQUFrQjtzQkFBOUUsU0FBUzt1QkFBQyxzQkFBc0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGV4dENvbnRlbnREaXJlY3RpdmUgfSBmcm9tIFwiQHdtL2NvbXBvbmVudHMvYmFzZVwiO1xuaW1wb3J0IHsgUGljdHVyZURpcmVjdGl2ZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2ljL3BpY3R1cmUnO1xuaW1wb3J0IHsgTWVudUNvbXBvbmVudCB9IGZyb20gJ0B3bS9jb21wb25lbnRzL25hdmlnYXRpb24vbWVudSc7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgT25Jbml0LFxuICAgIFJlbmRlcmVyMixcbiAgICBPcHRpb25hbCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgSW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBUFBMWV9TVFlMRVNfVFlQRSwgSVdpZGdldENvbmZpZywgcHJvdmlkZUFzV2lkZ2V0UmVmLCBzdHlsZXIgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IE1lbnVBZGFwdGVyQ29tcG9uZW50IH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9tZW51JztcblxuaW1wb3J0IHsgcmVnaXN0ZXJQcm9wcyB9IGZyb20gJy4vY2FyZC5wcm9wcyc7XG5pbXBvcnQge3JlbW92ZUF0dHIsIHNldEF0dHJ9IGZyb20gJ0B3bS9jb3JlJztcblxuY29uc3QgREVGQVVMVF9DTFMgPSAnYXBwLWNhcmQgY2FyZCBhcHAtcGFuZWwnO1xuY29uc3QgV0lER0VUX0NPTkZJRzogSVdpZGdldENvbmZpZyA9IHtcbiAgICB3aWRnZXRUeXBlOiAnd20tY2FyZCcsXG4gICAgaG9zdENsYXNzOiBERUZBVUxUX0NMU1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUZXh0Q29udGVudERpcmVjdGl2ZSwgUGljdHVyZURpcmVjdGl2ZSwgTWVudUNvbXBvbmVudF0sXG4gICAgc2VsZWN0b3I6ICdbd21DYXJkXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhcmQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoQ2FyZENvbXBvbmVudClcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIENhcmRDb21wb25lbnQgZXh0ZW5kcyBNZW51QWRhcHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIHB1YmxpYyBzaG93SGVhZGVyOiBib29sZWFuO1xuICAgIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuICAgIHB1YmxpYyBzdWJoZWFkaW5nOiBzdHJpbmc7XG4gICAgcHVibGljIGljb25jbGFzczogc3RyaW5nO1xuICAgIHB1YmxpYyBpY29udXJsOiBzdHJpbmc7XG4gICAgcHVibGljIGFjdGlvbnM6IHN0cmluZztcbiAgICBwdWJsaWMgcGljdHVyZXNvdXJjZTtcblxuICAgIEBWaWV3Q2hpbGQoJ2NhcmRDb250YWluZXJXcmFwcGVyJywgeyBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSBjYXJkQ29udGFpbmVyRWxSZWY6IEVsZW1lbnRSZWY7XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBwcml2YXRlIHJlbmRlcjI6IFJlbmRlcmVyMiwgQEluamVjdCgnRVhQTElDSVRfQ09OVEVYVCcpIEBPcHRpb25hbCgpIGV4cGxpY2l0Q29udGV4dDogYW55KSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgZXhwbGljaXRDb250ZXh0KTtcbiAgICAgICAgc3R5bGVyKHRoaXMubmF0aXZlRWxlbWVudCwgdGhpcywgQVBQTFlfU1RZTEVTX1RZUEUuU0hFTEwpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIHN0eWxlcih0aGlzLmNhcmRDb250YWluZXJFbFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLCBBUFBMWV9TVFlMRVNfVFlQRS5JTk5FUl9TSEVMTCk7XG4gICAgfVxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICByZW1vdmVBdHRyKHRoaXMubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LCAndGFiaW5kZXgnKTtcbiAgICAgICAgc2V0QXR0cih0aGlzLm5hdGl2ZUVsZW1lbnQsICd0YWJpbmRleCcsIDApO1xuICAgICAgICB0aGlzLnJlbmRlcjIubGlzdGVuKHRoaXMubmF0aXZlRWxlbWVudCwgJ2tleWRvd24uRW50ZXInLCAoZSkgPT4ge1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5OiBzdHJpbmcsIG52OiBhbnksIG92PzogYW55KSB7XG4gICAgICAgIGlmIChrZXkgPT09ICd0aXRsZScgfHwga2V5ID09PSAnc3ViaGVhZGluZycgfHwga2V5ID09PSAnaWNvbmNsYXNzJyB8fCBrZXkgPT09ICdpY29udXJsJyB8fCBrZXkgPT09ICdhY3Rpb25zJykge1xuICAgICAgICAgICAgdGhpcy5zaG93SGVhZGVyID0gISEodGhpcy50aXRsZSB8fCB0aGlzLnN1YmhlYWRpbmcgfHwgdGhpcy5pY29uY2xhc3MgfHwgdGhpcy5pY29udXJsIHx8IHRoaXMuYWN0aW9ucyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5vblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gVG9kbyhzd2F0aGkpIC0gbWVudVxuIiwiQGlmIChzaG93SGVhZGVyKSB7XG4gIDxkaXYgY2xhc3M9XCJhcHAtY2FyZC1oZWFkZXIgcGFuZWwtaGVhZGluZ1wiPlxuICAgIEBpZiAoaWNvbmNsYXNzIHx8IGljb251cmwpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJhcHAtY2FyZC1hdmF0YXJcIj5cbiAgICAgICAgQGlmIChpY29uY2xhc3MgJiYgIWljb251cmwpIHtcbiAgICAgICAgICA8aSBjbGFzcz1cImFwcC1pY29uXCIgW25nQ2xhc3NdPVwiaWNvbmNsYXNzXCI+PC9pPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoaWNvbnVybCkge1xuICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctY2lyY2xlXCIgW3NyY109XCJpY29udXJsXCIgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJhcHAtY2FyZC1oZWFkZXItdGV4dFwiPlxuICAgICAgPGg0IGNsYXNzPVwiY2FyZC1oZWFkaW5nXCIgW3RleHRDb250ZW50XT1cInRpdGxlXCI+PC9oND5cbiAgICAgIDxoNSBjbGFzcz1cImNhcmQtc3ViaGVhZGluZyB0ZXh0LW11dGVkXCIgW3RleHRDb250ZW50XT1cInN1YmhlYWRpbmdcIj48L2g1PlxuICAgIDwvZGl2PlxuICAgIEBpZiAoYWN0aW9ucykge1xuICAgICAgPGRpdiBjbGFzcz1cInBhbmVsLWFjdGlvbnNcIj5cbiAgICAgICAgPCEtLSBUT0RPKHB1bml0aCkgbmVlZCB0byBiaW5kIGF1dG9jbG9zZS0tPlxuICAgICAgICA8ZGl2IHdtTWVudSBkcm9wZG93blxuICAgICAgICAgIFthdXRvQ2xvc2VdPVwiYXV0b2Nsb3NlICE9PSAnZGlzYWJsZWQnXCJcbiAgICAgICAgICBjbGFzcz1cInBhbmVsLWFjdGlvblwiXG4gICAgICAgICAgdHlwZT1cImFuY2hvclwiXG4gICAgICAgICAgaWNvbmNsYXNzPVwid20tc2wtbCBzbC1tb3JlLW1lbnUtdmVydGljYWxcIlxuICAgICAgICAgIG1lbnVwb3NpdGlvbj1cImRvd24sbGVmdFwiXG4gICAgICAgICAgaGludD1cIkFjdGlvbnNcIlxuICAgICAgICAgIGNhcHRpb249XCJcIlxuICAgICAgICAgIGRhdGFzZXQuYmluZD1cImFjdGlvbnNcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxufVxuQGlmIChwaWN0dXJlc291cmNlKSB7XG4gIDxkaXYgY2xhc3M9XCJhcHAtY2FyZC1pbWFnZVwiICBbbmdTdHlsZV09XCJ7J21heC1oZWlnaHQnOmltYWdlaGVpZ2h0fVwiPlxuICAgIDxpbWcgd21QaWN0dXJlIGNsYXNzPVwiY2FyZC1pbWFnZVwiIHBpY3R1cmVzb3VyY2UuYmluZD1cInBpY3R1cmVzb3VyY2VcIiBoaW50LmJpbmQ9XCJwaWN0dXJldGl0bGVcIiAvPlxuICA8L2Rpdj5cbn1cbjxkaXYgI2NhcmRDb250YWluZXJXcmFwcGVyPlxuICA8bmctY29udGVudCBuZ1Byb2plY3RBcz1cIlt3bUNhcmRDb250ZW50XVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuPGRpdj5cbiAgPG5nLWNvbnRlbnQgbmdQcm9qZWN0QXM9XCJbd21DYXJkQWN0aW9uc11cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXY+XG4gIDxuZy1jb250ZW50IG5nUHJvamVjdEFzPVwiW3dtQ2FyZEZvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvZGF0YS9jYXJkL3NyYy9jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhL2NhcmQvc3JjL2NhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBRUgsU0FBUyxFQUNULFVBQVUsRUFDVixRQUFRLEVBR1IsU0FBUyxFQUNULFFBQVEsRUFDUixTQUFTLEVBQ1QsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBaUIsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUMsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLFVBQVUsQ0FBQzs7O0FBRTdDLE1BQU0sV0FBVyxHQUFHLHlCQUF5QixDQUFDO0FBQzlDLE1BQU0sYUFBYSxHQUFrQjtJQUNqQyxVQUFVLEVBQUUsU0FBUztJQUNyQixTQUFTLEVBQUUsV0FBVztDQUN6QixDQUFDO0FBV0YsTUFBTSxPQUFPLGFBQWMsU0FBUSxvQkFBb0I7YUFDNUMsb0JBQWUsR0FBRyxhQUFhLEVBQUUsQUFB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YXIvY29tbW9uJztcbmltcG9ydCB7IFRleHRDb250ZW50RGlyZWN0aXZlIH0gZnJvbSBcIkB3bS9jb21wb25lbnRzL2Jhc2VcIjtcbmltcG9ydCB7IFBpY3R1cmVEaXJlY3RpdmUgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNpYy9waWN0dXJlJztcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICdAd20vY29tcG9uZW50cy9uYXZpZ2F0aW9uL21lbnUnO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdG9yLFxuICAgIE9uSW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgUmVuZGVyZXIyLFxuICAgIE9wdGlvbmFsLFxuICAgIFZpZXdDaGlsZCxcbiAgICBJbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFQUExZX1NUWUxFU19UWVBFLCBJV2lkZ2V0Q29uZmlnLCBwcm92aWRlQXNXaWRnZXRSZWYsIHN0eWxlciB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHsgTWVudUFkYXB0ZXJDb21wb25lbnQgfSBmcm9tICdAd20vY29tcG9uZW50cy9uYXZpZ2F0aW9uL21lbnUnO1xuXG5pbXBvcnQgeyByZWdpc3RlclByb3BzIH0gZnJvbSAnLi9jYXJkLnByb3BzJztcbmltcG9ydCB7cmVtb3ZlQXR0ciwgc2V0QXR0cn0gZnJvbSAnQHdtL2NvcmUnO1xuXG5jb25zdCBERUZBVUxUX0NMUyA9ICdhcHAtY2FyZCBjYXJkIGFwcC1wYW5lbCc7XG5jb25zdCBXSURHRVRfQ09ORklHOiBJV2lkZ2V0Q29uZmlnID0ge1xuICAgIHdpZGdldFR5cGU6ICd3bS1jYXJkJyxcbiAgICBob3N0Q2xhc3M6IERFRkFVTFRfQ0xTXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRleHRDb250ZW50RGlyZWN0aXZlLCBQaWN0dXJlRGlyZWN0aXZlLCBNZW51Q29tcG9uZW50XSxcbiAgICBzZWxlY3RvcjogJ1t3bUNhcmRdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihDYXJkQ29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2FyZENvbXBvbmVudCBleHRlbmRzIE1lbnVBZGFwdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgc2hvd0hlYWRlcjogYm9vbGVhbjtcbiAgICBwdWJsaWMgdGl0bGU6IHN0cmluZztcbiAgICBwdWJsaWMgc3ViaGVhZGluZzogc3RyaW5nO1xuICAgIHB1YmxpYyBpY29uY2xhc3M6IHN0cmluZztcbiAgICBwdWJsaWMgaWNvbnVybDogc3RyaW5nO1xuICAgIHB1YmxpYyBhY3Rpb25zOiBzdHJpbmc7XG4gICAgcHVibGljIHBpY3R1cmVzb3VyY2U7XG5cbiAgICBAVmlld0NoaWxkKCdjYXJkQ29udGFpbmVyV3JhcHBlcicsIHsgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgY2FyZENvbnRhaW5lckVsUmVmOiBFbGVtZW50UmVmO1xuICAgIHByaXZhdGUga2V5ZG93bkxpc3RlbmVyOiAoKSA9PiB2b2lkO1xuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgcHJpdmF0ZSByZW5kZXIyOiBSZW5kZXJlcjIsIEBJbmplY3QoJ0VYUExJQ0lUX0NPTlRFWFQnKSBAT3B0aW9uYWwoKSBleHBsaWNpdENvbnRleHQ6IGFueSkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcsIGV4cGxpY2l0Q29udGV4dCk7XG4gICAgICAgIHN0eWxlcih0aGlzLm5hdGl2ZUVsZW1lbnQsIHRoaXMsIEFQUExZX1NUWUxFU19UWVBFLlNIRUxMKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICBzdHlsZXIodGhpcy5jYXJkQ29udGFpbmVyRWxSZWYubmF0aXZlRWxlbWVudCwgdGhpcywgQVBQTFlfU1RZTEVTX1RZUEUuSU5ORVJfU0hFTEwpO1xuICAgIH1cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgcmVtb3ZlQXR0cih0aGlzLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudCwgJ3RhYmluZGV4Jyk7XG4gICAgICAgIHNldEF0dHIodGhpcy5uYXRpdmVFbGVtZW50LCAndGFiaW5kZXgnLCAwKTtcbiAgICAgICAgXG4gICAgICAgIC8vIE1FTU9SWSBMRUFLIEZJWDogU3RvcmUgbGlzdGVuZXIgcmVmZXJlbmNlIGZvciBjbGVhbnVwXG4gICAgICAgIHRoaXMua2V5ZG93bkxpc3RlbmVyID0gdGhpcy5yZW5kZXIyLmxpc3Rlbih0aGlzLm5hdGl2ZUVsZW1lbnQsICdrZXlkb3duLkVudGVyJywgKGUpID0+IHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblByb3BlcnR5Q2hhbmdlKGtleTogc3RyaW5nLCBudjogYW55LCBvdj86IGFueSkge1xuICAgICAgICBpZiAoa2V5ID09PSAndGl0bGUnIHx8IGtleSA9PT0gJ3N1YmhlYWRpbmcnIHx8IGtleSA9PT0gJ2ljb25jbGFzcycgfHwga2V5ID09PSAnaWNvbnVybCcgfHwga2V5ID09PSAnYWN0aW9ucycpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0hlYWRlciA9ICEhKHRoaXMudGl0bGUgfHwgdGhpcy5zdWJoZWFkaW5nIHx8IHRoaXMuaWNvbmNsYXNzIHx8IHRoaXMuaWNvbnVybCB8fCB0aGlzLmFjdGlvbnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gTUVNT1JZIExFQUsgRklYOiBSZW1vdmUgZXZlbnQgbGlzdGVuZXJcbiAgICAgICAgaWYgKHRoaXMua2V5ZG93bkxpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLmtleWRvd25MaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy5rZXlkb3duTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTUVNT1JZIExFQUsgRklYOiBDbGVhciBWaWV3Q2hpbGQgcmVmZXJlbmNlXG4gICAgICAgIHRoaXMuY2FyZENvbnRhaW5lckVsUmVmID0gbnVsbDtcblxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cblxuLy8gVG9kbyhzd2F0aGkpIC0gbWVudVxuIiwiQGlmIChzaG93SGVhZGVyKSB7XG4gIDxkaXYgY2xhc3M9XCJhcHAtY2FyZC1oZWFkZXIgcGFuZWwtaGVhZGluZ1wiPlxuICAgIEBpZiAoaWNvbmNsYXNzIHx8IGljb251cmwpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJhcHAtY2FyZC1hdmF0YXJcIj5cbiAgICAgICAgQGlmIChpY29uY2xhc3MgJiYgIWljb251cmwpIHtcbiAgICAgICAgICA8aSBjbGFzcz1cImFwcC1pY29uXCIgW25nQ2xhc3NdPVwiaWNvbmNsYXNzXCI+PC9pPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoaWNvbnVybCkge1xuICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctY2lyY2xlXCIgW3NyY109XCJpY29udXJsXCIgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJhcHAtY2FyZC1oZWFkZXItdGV4dFwiPlxuICAgICAgPGg0IGNsYXNzPVwiY2FyZC1oZWFkaW5nXCIgW3RleHRDb250ZW50XT1cInRpdGxlXCI+PC9oND5cbiAgICAgIDxoNSBjbGFzcz1cImNhcmQtc3ViaGVhZGluZyB0ZXh0LW11dGVkXCIgW3RleHRDb250ZW50XT1cInN1YmhlYWRpbmdcIj48L2g1PlxuICAgIDwvZGl2PlxuICAgIEBpZiAoYWN0aW9ucykge1xuICAgICAgPGRpdiBjbGFzcz1cInBhbmVsLWFjdGlvbnNcIj5cbiAgICAgICAgPCEtLSBUT0RPKHB1bml0aCkgbmVlZCB0byBiaW5kIGF1dG9jbG9zZS0tPlxuICAgICAgICA8ZGl2IHdtTWVudSBkcm9wZG93blxuICAgICAgICAgIFthdXRvQ2xvc2VdPVwiYXV0b2Nsb3NlICE9PSAnZGlzYWJsZWQnXCJcbiAgICAgICAgICBjbGFzcz1cInBhbmVsLWFjdGlvblwiXG4gICAgICAgICAgdHlwZT1cImFuY2hvclwiXG4gICAgICAgICAgaWNvbmNsYXNzPVwid20tc2wtbCBzbC1tb3JlLW1lbnUtdmVydGljYWxcIlxuICAgICAgICAgIG1lbnVwb3NpdGlvbj1cImRvd24sbGVmdFwiXG4gICAgICAgICAgaGludD1cIkFjdGlvbnNcIlxuICAgICAgICAgIGNhcHRpb249XCJcIlxuICAgICAgICAgIGRhdGFzZXQuYmluZD1cImFjdGlvbnNcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxufVxuQGlmIChwaWN0dXJlc291cmNlKSB7XG4gIDxkaXYgY2xhc3M9XCJhcHAtY2FyZC1pbWFnZVwiICBbbmdTdHlsZV09XCJ7J21heC1oZWlnaHQnOmltYWdlaGVpZ2h0fVwiPlxuICAgIDxpbWcgd21QaWN0dXJlIGNsYXNzPVwiY2FyZC1pbWFnZVwiIHBpY3R1cmVzb3VyY2UuYmluZD1cInBpY3R1cmVzb3VyY2VcIiBoaW50LmJpbmQ9XCJwaWN0dXJldGl0bGVcIiAvPlxuICA8L2Rpdj5cbn1cbjxkaXYgI2NhcmRDb250YWluZXJXcmFwcGVyPlxuICA8bmctY29udGVudCBuZ1Byb2plY3RBcz1cIlt3bUNhcmRDb250ZW50XVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuPGRpdj5cbiAgPG5nLWNvbnRlbnQgbmdQcm9qZWN0QXM9XCJbd21DYXJkQWN0aW9uc11cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXY+XG4gIDxuZy1jb250ZW50IG5nUHJvamVjdEFzPVwiW3dtQ2FyZEZvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==