@wavemaker/app-ng-runtime 11.14.2-rc.6311 → 11.14.4-rc.647538

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 (409) hide show
  1. package/components/advanced/carousel/bundles/index.umd.js +1 -15
  2. package/components/advanced/carousel/carousel.directive.d.ts +0 -1
  3. package/components/advanced/carousel/esm2022/carousel.directive.mjs +2 -16
  4. package/components/advanced/carousel/fesm2022/index.mjs +1 -15
  5. package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  6. package/components/advanced/login/bundles/index.umd.js +3 -24
  7. package/components/advanced/login/esm2022/login.component.mjs +4 -25
  8. package/components/advanced/login/fesm2022/index.mjs +3 -24
  9. package/components/advanced/login/fesm2022/index.mjs.map +1 -1
  10. package/components/advanced/login/login.component.d.ts +2 -5
  11. package/components/base/bundles/index.umd.js +28 -323
  12. package/components/base/directives/show-in-device.directive.d.ts +1 -2
  13. package/components/base/esm2022/directives/show-in-device.directive.mjs +4 -22
  14. package/components/base/esm2022/pipes/custom-pipes.mjs +1 -1
  15. package/components/base/esm2022/utils/widget-utils.mjs +3 -3
  16. package/components/base/esm2022/widgets/common/base/base-container.component.mjs +1 -27
  17. package/components/base/esm2022/widgets/common/base/base-field-validations.mjs +1 -18
  18. package/components/base/esm2022/widgets/common/base/base.component.mjs +7 -68
  19. package/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +1 -9
  20. package/components/base/esm2022/widgets/common/base/dataset-aware-nav.component.mjs +11 -44
  21. package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +1 -20
  22. package/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +1 -26
  23. package/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +4 -44
  24. package/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +1 -16
  25. package/components/base/esm2022/widgets/common/pull-to-refresh/pull-to-refresh.mjs +1 -22
  26. package/components/base/esm2022/widgets/framework/property-change-handler.mjs +2 -7
  27. package/components/base/esm2022/widgets/framework/widget-proxy-provider.mjs +3 -5
  28. package/components/base/esm2022/widgets/framework/widget-registry.mjs +3 -6
  29. package/components/base/fesm2022/index.mjs +26 -319
  30. package/components/base/fesm2022/index.mjs.map +1 -1
  31. package/components/base/widgets/common/base/base-container.component.d.ts +2 -3
  32. package/components/base/widgets/common/base/base-field-validations.d.ts +0 -1
  33. package/components/base/widgets/common/base/custom-widget-container.directive.d.ts +2 -3
  34. package/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +2 -6
  35. package/components/base/widgets/common/base/partial-container.directive.d.ts +2 -3
  36. package/components/base/widgets/common/item-template/item-template.directive.d.ts +2 -3
  37. package/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +1 -1
  38. package/components/base/widgets/common/partial-param/partial-param.directive.d.ts +2 -3
  39. package/components/base/widgets/common/pull-to-refresh/pull-to-refresh.d.ts +2 -3
  40. package/components/basic/anchor/bundles/index.umd.js +1 -13
  41. package/components/basic/anchor/esm2022/anchor.component.mjs +2 -14
  42. package/components/basic/anchor/fesm2022/index.mjs +1 -13
  43. package/components/basic/anchor/fesm2022/index.mjs.map +1 -1
  44. package/components/basic/html/bundles/index.umd.js +1 -13
  45. package/components/basic/html/esm2022/html.directive.mjs +2 -14
  46. package/components/basic/html/fesm2022/index.mjs +1 -13
  47. package/components/basic/html/fesm2022/index.mjs.map +1 -1
  48. package/components/basic/label/bundles/index.umd.js +1 -17
  49. package/components/basic/label/esm2022/label.directive.mjs +2 -18
  50. package/components/basic/label/fesm2022/index.mjs +1 -17
  51. package/components/basic/label/fesm2022/index.mjs.map +1 -1
  52. package/components/basic/label/label.directive.d.ts +2 -3
  53. package/components/basic/progress/progress-circle/bundles/index.umd.js +0 -10
  54. package/components/basic/progress/progress-circle/esm2022/progress-circle.component.mjs +1 -11
  55. package/components/basic/progress/progress-circle/fesm2022/index.mjs +0 -10
  56. package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -1
  57. package/components/basic/progress/progress-circle/progress-circle.component.d.ts +2 -3
  58. package/components/basic/search/bundles/index.umd.js +1 -27
  59. package/components/basic/search/esm2022/scrollable.directive.mjs +2 -11
  60. package/components/basic/search/esm2022/search.component.mjs +1 -18
  61. package/components/basic/search/fesm2022/index.mjs +1 -27
  62. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  63. package/components/basic/search/scrollable.directive.d.ts +2 -4
  64. package/components/basic/search/search.component.d.ts +2 -3
  65. package/components/basic/spinner/bundles/index.umd.js +1 -9
  66. package/components/basic/spinner/esm2022/spinner.component.mjs +2 -10
  67. package/components/basic/spinner/fesm2022/index.mjs +1 -9
  68. package/components/basic/spinner/fesm2022/index.mjs.map +1 -1
  69. package/components/basic/spinner/spinner.component.d.ts +2 -4
  70. package/components/chart/bundles/index.umd.js +3 -21
  71. package/components/chart/esm2022/chart.component.mjs +4 -22
  72. package/components/chart/fesm2022/index.mjs +3 -21
  73. package/components/chart/fesm2022/index.mjs.map +1 -1
  74. package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +2 -3
  75. package/components/containers/accordion/accordion.directive.d.ts +2 -5
  76. package/components/containers/accordion/bundles/index.umd.js +2 -49
  77. package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +1 -10
  78. package/components/containers/accordion/esm2022/accordion.directive.mjs +3 -41
  79. package/components/containers/accordion/fesm2022/index.mjs +2 -49
  80. package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  81. package/components/containers/panel/bundles/index.umd.js +0 -13
  82. package/components/containers/panel/esm2022/panel.component.mjs +1 -14
  83. package/components/containers/panel/fesm2022/index.mjs +0 -13
  84. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  85. package/components/containers/panel/panel.component.d.ts +2 -3
  86. package/components/containers/tabs/bundles/index.umd.js +2 -54
  87. package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +1 -10
  88. package/components/containers/tabs/esm2022/tabs.component.mjs +3 -46
  89. package/components/containers/tabs/fesm2022/index.mjs +2 -54
  90. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  91. package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +2 -3
  92. package/components/containers/tabs/tabs.component.d.ts +2 -5
  93. package/components/containers/wizard/bundles/index.umd.js +3 -47
  94. package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +3 -16
  95. package/components/containers/wizard/esm2022/wizard.component.mjs +2 -33
  96. package/components/containers/wizard/fesm2022/index.mjs +3 -47
  97. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  98. package/components/containers/wizard/wizard-step/wizard-step.component.d.ts +2 -3
  99. package/components/containers/wizard/wizard.component.d.ts +2 -4
  100. package/components/data/card/bundles/index.umd.js +1 -17
  101. package/components/data/card/card-content/card-content.component.d.ts +2 -3
  102. package/components/data/card/card.component.d.ts +2 -4
  103. package/components/data/card/esm2022/card-content/card-content.component.mjs +1 -6
  104. package/components/data/card/esm2022/card.component.mjs +2 -13
  105. package/components/data/card/fesm2022/index.mjs +1 -17
  106. package/components/data/card/fesm2022/index.mjs.map +1 -1
  107. package/components/data/form/bundles/index.umd.js +0 -92
  108. package/components/data/form/esm2022/form-action/form-action.directive.mjs +1 -7
  109. package/components/data/form/esm2022/form-field/form-field.directive.mjs +1 -28
  110. package/components/data/form/esm2022/form-widget.directive.mjs +1 -8
  111. package/components/data/form/esm2022/form.component.mjs +1 -27
  112. package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +1 -7
  113. package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +1 -12
  114. package/components/data/form/esm2022/live-form/live-form.directive.mjs +1 -10
  115. package/components/data/form/fesm2022/index.mjs +0 -92
  116. package/components/data/form/fesm2022/index.mjs.map +1 -1
  117. package/components/data/form/form-action/form-action.directive.d.ts +2 -3
  118. package/components/data/form/form-field/form-field.directive.d.ts +2 -3
  119. package/components/data/form/form-widget.directive.d.ts +2 -3
  120. package/components/data/form/live-actions/live-actions.directive.d.ts +1 -3
  121. package/components/data/form/live-filter/live-filter.directive.d.ts +1 -3
  122. package/components/data/form/live-form/live-form.directive.d.ts +1 -3
  123. package/components/data/list/bundles/index.umd.js +17 -180
  124. package/components/data/list/esm2022/list-item.directive.mjs +11 -95
  125. package/components/data/list/esm2022/list.component.mjs +8 -87
  126. package/components/data/list/fesm2022/index.mjs +17 -180
  127. package/components/data/list/fesm2022/index.mjs.map +1 -1
  128. package/components/data/list/list-item.directive.d.ts +2 -7
  129. package/components/data/list/list.component.d.ts +0 -3
  130. package/components/data/live-table/bundles/index.umd.js +1 -13
  131. package/components/data/live-table/esm2022/live-table.component.mjs +2 -14
  132. package/components/data/live-table/fesm2022/index.mjs +1 -13
  133. package/components/data/live-table/fesm2022/index.mjs.map +1 -1
  134. package/components/data/live-table/live-table.component.d.ts +2 -4
  135. package/components/data/pagination/bundles/index.umd.js +4 -57
  136. package/components/data/pagination/esm2022/pagination.component.mjs +5 -58
  137. package/components/data/pagination/fesm2022/index.mjs +4 -57
  138. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  139. package/components/data/pagination/pagination.component.d.ts +2 -4
  140. package/components/data/table/bundles/index.umd.js +12 -311
  141. package/components/data/table/esm2022/table-action/table-action.directive.mjs +1 -8
  142. package/components/data/table/esm2022/table-column/table-column.directive.mjs +3 -107
  143. package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +1 -9
  144. package/components/data/table/esm2022/table-cud.directive.mjs +2 -8
  145. package/components/data/table/esm2022/table-filter.directive.mjs +2 -12
  146. package/components/data/table/esm2022/table-row/table-row.directive.mjs +1 -8
  147. package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +1 -8
  148. package/components/data/table/esm2022/table.component.mjs +9 -159
  149. package/components/data/table/fesm2022/index.mjs +12 -311
  150. package/components/data/table/fesm2022/index.mjs.map +1 -1
  151. package/components/data/table/table-action/table-action.directive.d.ts +2 -3
  152. package/components/data/table/table-column/table-column.directive.d.ts +2 -3
  153. package/components/data/table/table-column-group/table-column-group.directive.d.ts +2 -3
  154. package/components/data/table/table-cud.directive.d.ts +1 -3
  155. package/components/data/table/table-filter.directive.d.ts +1 -3
  156. package/components/data/table/table-row/table-row.directive.d.ts +2 -3
  157. package/components/data/table/table-row-action/table-row-action.directive.d.ts +2 -3
  158. package/components/data/table/table.component.d.ts +2 -2
  159. package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +2 -3
  160. package/components/dialogs/alert-dialog/bundles/index.umd.js +0 -5
  161. package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +1 -6
  162. package/components/dialogs/alert-dialog/fesm2022/index.mjs +0 -5
  163. package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  164. package/components/dialogs/confirm-dialog/bundles/index.umd.js +0 -5
  165. package/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +2 -3
  166. package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +1 -6
  167. package/components/dialogs/confirm-dialog/fesm2022/index.mjs +0 -5
  168. package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  169. package/components/dialogs/default/bundles/index.umd.js +2 -15
  170. package/components/dialogs/default/dialog-body/dialog-body.directive.d.ts +2 -4
  171. package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +3 -16
  172. package/components/dialogs/default/fesm2022/index.mjs +2 -15
  173. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  174. package/components/dialogs/design-dialog/bundles/index.umd.js +0 -7
  175. package/components/dialogs/design-dialog/dialog.component.d.ts +2 -3
  176. package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +1 -8
  177. package/components/dialogs/design-dialog/fesm2022/index.mjs +0 -7
  178. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  179. package/components/dialogs/iframe-dialog/bundles/index.umd.js +0 -5
  180. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +1 -6
  181. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +0 -5
  182. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  183. package/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +2 -3
  184. package/components/dialogs/partial-dialog/bundles/index.umd.js +3 -23
  185. package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +4 -24
  186. package/components/dialogs/partial-dialog/fesm2022/index.mjs +3 -23
  187. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  188. package/components/dialogs/partial-dialog/partial-dialog.component.d.ts +2 -4
  189. package/components/input/base-form/base-form.component.d.ts +2 -4
  190. package/components/input/base-form/bundles/index.umd.js +2 -16
  191. package/components/input/base-form/esm2022/base-form.component.mjs +3 -17
  192. package/components/input/base-form/fesm2022/index.mjs +2 -16
  193. package/components/input/base-form/fesm2022/index.mjs.map +1 -1
  194. package/components/input/base-form-custom/base-form-custom.component.d.ts +2 -3
  195. package/components/input/base-form-custom/bundles/index.umd.js +2 -13
  196. package/components/input/base-form-custom/esm2022/base-form-custom.component.mjs +3 -14
  197. package/components/input/base-form-custom/fesm2022/index.mjs +2 -13
  198. package/components/input/base-form-custom/fesm2022/index.mjs.map +1 -1
  199. package/components/input/checkbox/bundles/index.umd.js +0 -7
  200. package/components/input/checkbox/checkbox.component.d.ts +2 -3
  201. package/components/input/checkbox/esm2022/checkbox.component.mjs +1 -8
  202. package/components/input/checkbox/fesm2022/index.mjs +0 -7
  203. package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
  204. package/components/input/checkboxset/bundles/index.umd.js +2 -18
  205. package/components/input/checkboxset/checkboxset.component.d.ts +2 -4
  206. package/components/input/checkboxset/esm2022/checkboxset.component.mjs +3 -19
  207. package/components/input/checkboxset/fesm2022/index.mjs +2 -18
  208. package/components/input/checkboxset/fesm2022/index.mjs.map +1 -1
  209. package/components/input/chips/bundles/index.umd.js +5 -45
  210. package/components/input/chips/chips.component.d.ts +2 -3
  211. package/components/input/chips/esm2022/chips.component.mjs +6 -46
  212. package/components/input/chips/fesm2022/index.mjs +5 -45
  213. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  214. package/components/input/color-picker/bundles/index.umd.js +0 -8
  215. package/components/input/color-picker/color-picker.component.d.ts +2 -3
  216. package/components/input/color-picker/esm2022/color-picker.component.mjs +1 -9
  217. package/components/input/color-picker/fesm2022/index.mjs +0 -8
  218. package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  219. package/components/input/composite/bundles/index.umd.js +1 -10
  220. package/components/input/composite/composite.directive.d.ts +2 -3
  221. package/components/input/composite/esm2022/composite.directive.mjs +2 -11
  222. package/components/input/composite/fesm2022/index.mjs +1 -10
  223. package/components/input/composite/fesm2022/index.mjs.map +1 -1
  224. package/components/input/currency/bundles/index.umd.js +0 -7
  225. package/components/input/currency/currency.component.d.ts +2 -3
  226. package/components/input/currency/esm2022/currency.component.mjs +1 -8
  227. package/components/input/currency/fesm2022/index.mjs +0 -7
  228. package/components/input/currency/fesm2022/index.mjs.map +1 -1
  229. package/components/input/dataset-aware-form/bundles/index.umd.js +2 -26
  230. package/components/input/dataset-aware-form/esm2022/dataset-aware-form.component.mjs +3 -27
  231. package/components/input/dataset-aware-form/fesm2022/index.mjs +2 -26
  232. package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -1
  233. package/components/input/epoch/date/bundles/index.umd.js +0 -22
  234. package/components/input/epoch/date/date.component.d.ts +0 -1
  235. package/components/input/epoch/date/esm2022/date.component.mjs +1 -23
  236. package/components/input/epoch/date/fesm2022/index.mjs +0 -22
  237. package/components/input/epoch/date/fesm2022/index.mjs.map +1 -1
  238. package/components/input/file-upload/bundles/index.umd.js +8 -25
  239. package/components/input/file-upload/esm2022/file-upload.component.mjs +9 -26
  240. package/components/input/file-upload/fesm2022/index.mjs +8 -25
  241. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  242. package/components/input/file-upload/file-upload.component.d.ts +0 -3
  243. package/components/input/number/bundles/index.umd.js +0 -8
  244. package/components/input/number/esm2022/number.component.mjs +1 -9
  245. package/components/input/number/fesm2022/index.mjs +0 -8
  246. package/components/input/number/fesm2022/index.mjs.map +1 -1
  247. package/components/input/number/number.component.d.ts +2 -3
  248. package/components/input/radioset/bundles/index.umd.js +2 -18
  249. package/components/input/radioset/esm2022/radioset.component.mjs +3 -19
  250. package/components/input/radioset/fesm2022/index.mjs +2 -18
  251. package/components/input/radioset/fesm2022/index.mjs.map +1 -1
  252. package/components/input/radioset/radioset.component.d.ts +2 -4
  253. package/components/input/rating/bundles/index.umd.js +0 -10
  254. package/components/input/rating/esm2022/rating.component.mjs +1 -11
  255. package/components/input/rating/fesm2022/index.mjs +0 -10
  256. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  257. package/components/input/rating/rating.component.d.ts +2 -3
  258. package/components/input/select/bundles/index.umd.js +0 -6
  259. package/components/input/select/esm2022/select.component.mjs +1 -7
  260. package/components/input/select/fesm2022/index.mjs +0 -6
  261. package/components/input/select/fesm2022/index.mjs.map +1 -1
  262. package/components/input/select/select.component.d.ts +2 -3
  263. package/components/input/slider/bundles/index.umd.js +0 -10
  264. package/components/input/slider/esm2022/slider.component.mjs +1 -11
  265. package/components/input/slider/fesm2022/index.mjs +0 -10
  266. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  267. package/components/input/slider/slider.component.d.ts +2 -3
  268. package/components/input/switch/bundles/index.umd.js +2 -22
  269. package/components/input/switch/esm2022/switch.component.mjs +3 -23
  270. package/components/input/switch/fesm2022/index.mjs +2 -22
  271. package/components/input/switch/fesm2022/index.mjs.map +1 -1
  272. package/components/input/switch/switch.component.d.ts +2 -3
  273. package/components/input/text/bundles/index.umd.js +0 -36
  274. package/components/input/text/esm2022/input-calendar/input-calendar.component.mjs +1 -8
  275. package/components/input/text/esm2022/input-color/input-color.component.mjs +1 -8
  276. package/components/input/text/esm2022/input-email/input-email.component.mjs +1 -8
  277. package/components/input/text/esm2022/input-number/input-number.component.mjs +1 -8
  278. package/components/input/text/esm2022/input-text/input-text.component.mjs +1 -9
  279. package/components/input/text/fesm2022/index.mjs +0 -36
  280. package/components/input/text/fesm2022/index.mjs.map +1 -1
  281. package/components/input/text/input-calendar/input-calendar.component.d.ts +2 -3
  282. package/components/input/text/input-color/input-color.component.d.ts +2 -3
  283. package/components/input/text/input-email/input-email.component.d.ts +2 -3
  284. package/components/input/text/input-number/input-number.component.d.ts +2 -3
  285. package/components/input/text/input-text/input-text.component.d.ts +2 -3
  286. package/components/input/textarea/bundles/index.umd.js +0 -7
  287. package/components/input/textarea/esm2022/textarea.component.mjs +1 -8
  288. package/components/input/textarea/fesm2022/index.mjs +0 -7
  289. package/components/input/textarea/fesm2022/index.mjs.map +1 -1
  290. package/components/input/textarea/textarea.component.d.ts +2 -3
  291. package/components/navigation/menu/bundles/index.umd.js +6 -55
  292. package/components/navigation/menu/esm2022/menu-adapator.component.mjs +3 -17
  293. package/components/navigation/menu/esm2022/menu.component.mjs +3 -10
  294. package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +1 -6
  295. package/components/navigation/menu/esm2022/nav/nav.component.mjs +1 -11
  296. package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +3 -16
  297. package/components/navigation/menu/fesm2022/index.mjs +6 -55
  298. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  299. package/components/navigation/menu/menu-adapator.component.d.ts +2 -4
  300. package/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +2 -3
  301. package/components/navigation/menu/nav/nav.component.d.ts +2 -3
  302. package/components/navigation/menu/nav/navigation-control.directive.d.ts +2 -4
  303. package/components/navigation/navbar/bundles/index.umd.js +0 -5
  304. package/components/navigation/navbar/esm2022/navbar.component.mjs +1 -6
  305. package/components/navigation/navbar/fesm2022/index.mjs +0 -5
  306. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  307. package/components/navigation/navbar/navbar.component.d.ts +2 -3
  308. package/components/navigation/popover/bundles/index.umd.js +13 -65
  309. package/components/navigation/popover/esm2022/popover.component.mjs +11 -63
  310. package/components/navigation/popover/fesm2022/index.mjs +10 -62
  311. package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  312. package/components/navigation/popover/popover.component.d.ts +3 -11
  313. package/components/page/default/bundles/index.umd.js +2 -20
  314. package/components/page/default/esm2022/layout.directive.mjs +1 -9
  315. package/components/page/default/esm2022/page-content/page-content.component.mjs +3 -13
  316. package/components/page/default/fesm2022/index.mjs +2 -20
  317. package/components/page/default/fesm2022/index.mjs.map +1 -1
  318. package/components/page/default/layout.directive.d.ts +2 -3
  319. package/components/page/default/page-content/page-content.component.d.ts +2 -3
  320. package/components/page/left-panel/bundles/index.umd.js +0 -16
  321. package/components/page/left-panel/esm2022/left-panel.directive.mjs +1 -17
  322. package/components/page/left-panel/fesm2022/index.mjs +0 -16
  323. package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  324. package/components/page/left-panel/left-panel.directive.d.ts +2 -3
  325. package/components/page/top-nav/bundles/index.umd.js +1 -2
  326. package/components/page/top-nav/esm2022/top-nav.props.mjs +2 -3
  327. package/components/page/top-nav/fesm2022/index.mjs +1 -2
  328. package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  329. package/components/prefab/bundles/index.umd.js +0 -4
  330. package/components/prefab/esm2022/prefab.directive.mjs +1 -5
  331. package/components/prefab/fesm2022/index.mjs +0 -4
  332. package/components/prefab/fesm2022/index.mjs.map +1 -1
  333. package/core/bundles/index.umd.js +94 -391
  334. package/core/esm2022/public_api.mjs +3 -3
  335. package/core/esm2022/services/viewport.service.mjs +10 -24
  336. package/core/esm2022/types/types.mjs +1 -1
  337. package/core/esm2022/utils/dom.mjs +2 -18
  338. package/core/esm2022/utils/event-notifier.mjs +2 -5
  339. package/core/esm2022/utils/lru-cache.mjs +2 -16
  340. package/core/esm2022/utils/utils.mjs +2 -6
  341. package/core/esm2022/utils/watcher.mjs +81 -323
  342. package/core/fesm2022/index.mjs +96 -390
  343. package/core/fesm2022/index.mjs.map +1 -1
  344. package/core/public_api.d.ts +2 -2
  345. package/core/services/viewport.service.d.ts +2 -5
  346. package/core/types/types.d.ts +0 -1
  347. package/core/utils/lru-cache.d.ts +0 -6
  348. package/core/utils/utils.d.ts +0 -1
  349. package/core/utils/watcher.d.ts +5 -26
  350. package/http/bundles/index.umd.js +1 -31
  351. package/http/esm2022/http.service.mjs +2 -32
  352. package/http/fesm2022/index.mjs +1 -31
  353. package/http/fesm2022/index.mjs.map +1 -1
  354. package/http/http.service.d.ts +2 -6
  355. package/locales/moment-timezone/moment-timezone-with-data.js +7 -7
  356. package/npm-shrinkwrap.json +2 -2
  357. package/oAuth/bundles/index.umd.js +0 -9
  358. package/oAuth/esm2022/oAuth.service.mjs +1 -10
  359. package/oAuth/fesm2022/index.mjs +0 -9
  360. package/oAuth/fesm2022/index.mjs.map +1 -1
  361. package/oAuth/oAuth.service.d.ts +1 -3
  362. package/package-lock.json +2 -2
  363. package/package.json +1 -1
  364. package/runtime/base/bundles/index.umd.js +42 -376
  365. package/runtime/base/components/app-component/app.component.d.ts +0 -4
  366. package/runtime/base/components/prefab-preview.component.d.ts +2 -5
  367. package/runtime/base/directives/accessroles.directive.d.ts +3 -4
  368. package/runtime/base/directives/prefab.directive.d.ts +2 -3
  369. package/runtime/base/esm2022/components/app-component/app.component.mjs +9 -40
  370. package/runtime/base/esm2022/components/base-custom-widget.component.mjs +2 -33
  371. package/runtime/base/esm2022/components/base-layout.component.mjs +1 -7
  372. package/runtime/base/esm2022/components/base-page.component.mjs +3 -36
  373. package/runtime/base/esm2022/components/base-partial.component.mjs +3 -37
  374. package/runtime/base/esm2022/components/base-prefab.component.mjs +3 -32
  375. package/runtime/base/esm2022/components/base-spa-page.component.mjs +3 -37
  376. package/runtime/base/esm2022/components/prefab-preview.component.mjs +4 -23
  377. package/runtime/base/esm2022/directives/accessroles.directive.mjs +2 -11
  378. package/runtime/base/esm2022/directives/prefab.directive.mjs +1 -9
  379. package/runtime/base/esm2022/services/app.manager.service.mjs +10 -37
  380. package/runtime/base/esm2022/services/app.service.mjs +2 -34
  381. package/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +1 -4
  382. package/runtime/base/esm2022/services/http-interceptor.services.mjs +14 -13
  383. package/runtime/base/esm2022/services/pipe-provider.service.mjs +4 -7
  384. package/runtime/base/esm2022/services/spinner.service.mjs +1 -15
  385. package/runtime/base/esm2022/util/fragment-monitor.mjs +2 -23
  386. package/runtime/base/fesm2022/index.mjs +44 -377
  387. package/runtime/base/fesm2022/index.mjs.map +1 -1
  388. package/runtime/base/services/app.manager.service.d.ts +1 -6
  389. package/runtime/base/services/app.service.d.ts +2 -12
  390. package/runtime/base/services/dynamic-component-ref-provider.service.d.ts +1 -2
  391. package/runtime/base/services/spinner.service.d.ts +1 -3
  392. package/runtime/base/util/fragment-monitor.d.ts +0 -6
  393. package/runtime/dynamic/bundles/index.umd.js +0 -5
  394. package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +1 -6
  395. package/runtime/dynamic/fesm2022/index.mjs +0 -5
  396. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  397. package/scripts/datatable/datatable.js +14 -100
  398. package/security/bundles/index.umd.js +2 -41
  399. package/security/esm2022/security.service.mjs +3 -42
  400. package/security/fesm2022/index.mjs +2 -41
  401. package/security/fesm2022/index.mjs.map +1 -1
  402. package/security/security.service.d.ts +2 -5
  403. package/variables/bundles/index.umd.js +6 -50
  404. package/variables/esm2022/manager/action/notification-action.manager.mjs +3 -18
  405. package/variables/esm2022/manager/variable/base-variable.manager.mjs +2 -15
  406. package/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +3 -13
  407. package/variables/esm2022/service/variables.service.mjs +2 -8
  408. package/variables/fesm2022/index.mjs +6 -50
  409. package/variables/fesm2022/index.mjs.map +1 -1
@@ -81,13 +81,10 @@
81
81
  this.appVariablesLoaded = false;
82
82
  this.appVariablesFired = false;
83
83
  this._noRedirect = false;
84
- this.appSubscriptions = []; // MEMORY LEAK FIX: Track subscriptions
85
84
  // register method to invoke on session timeout
86
- // MEMORY LEAK FIX: Store unsubscribe function for cleanup
87
- this.sessionTimeoutUnsubscribe = this.$http.registerOnSessionTimeout(this.handle401.bind(this));
85
+ this.$http.registerOnSessionTimeout(this.handle401.bind(this));
88
86
  this.$variables.registerDependency('appManager', this);
89
- // MEMORY LEAK FIX: Store subscription unsubscribe functions
90
- this.appSubscriptions.push(this.$app.subscribe('toggle-variable-state', (data) => {
87
+ this.$app.subscribe('toggle-variable-state', (data) => {
91
88
  const variable = data.variable, active = data.active;
92
89
  if (!lodashEs.isEmpty(lodashEs.trim(variable.spinnerContext))) {
93
90
  if (active) {
@@ -112,8 +109,8 @@
112
109
  this.$spinner.hide(variable._spinnerId.shift());
113
110
  }
114
111
  }
115
- }));
116
- this.appSubscriptions.push(this.$app.subscribe('userLoggedIn', () => {
112
+ });
113
+ this.$app.subscribe('userLoggedIn', () => {
117
114
  this.setLandingPage();
118
115
  if (this.lastLoggedUserId) {
119
116
  this.$security.getConfig(config => {
@@ -122,11 +119,11 @@
122
119
  }
123
120
  }, null);
124
121
  }
125
- }));
126
- this.appSubscriptions.push(this.$app.subscribe('userLoggedOut', () => this.setLandingPage().then(() => {
122
+ });
123
+ this.$app.subscribe('userLoggedOut', () => this.setLandingPage().then(() => {
127
124
  this.$app.clearPageCache();
128
- })));
129
- this.appSubscriptions.push(this.$app.subscribe('http401', (d = {}) => this.handle401(d.page, d.options)));
125
+ }));
126
+ this.$app.subscribe('http401', (d = {}) => this.handle401(d.page, d.options));
130
127
  }
131
128
  /**
132
129
  * On session timeout, if the session timeout config is set to a dialog, then open login dialog
@@ -526,36 +523,12 @@
526
523
  // Apply restored modes
527
524
  this.$app.setMode(storedModes);
528
525
  // Listener for postMessage-based mode changes
529
- // MEMORY LEAK FIX: Store bound function reference for cleanup
530
- this.windowMessageListener = (event) => {
526
+ window.addEventListener('message', (event) => {
531
527
  const { key, modes, shouldPersist } = event.data || {};
532
528
  if (key === 'switch-mode' && modes) {
533
529
  this.$app.setMode(modes, !shouldPersist);
534
530
  }
535
- };
536
- window.addEventListener('message', this.windowMessageListener);
537
- }
538
- ngOnDestroy() {
539
- // MEMORY LEAK FIX: Unsubscribe from all app subscriptions
540
- this.appSubscriptions.forEach(unsubscribe => {
541
- if (unsubscribe) {
542
- unsubscribe();
543
- }
544
531
  });
545
- this.appSubscriptions = [];
546
- // MEMORY LEAK FIX: Unsubscribe from session timeout
547
- if (this.sessionTimeoutUnsubscribe) {
548
- this.sessionTimeoutUnsubscribe();
549
- this.sessionTimeoutUnsubscribe = null;
550
- }
551
- // MEMORY LEAK FIX: Remove window message listener
552
- if (this.windowMessageListener) {
553
- window.removeEventListener('message', this.windowMessageListener);
554
- this.windowMessageListener = null;
555
- }
556
- // MEMORY LEAK FIX: Clear references
557
- this.templates = null;
558
- this.lastLoggedUserId = null;
559
532
  }
560
533
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: AppManagerService, deps: [{ token: i1__namespace.AbstractHttpService }, { token: i2__namespace.SecurityService }, { token: i1__namespace.AbstractDialogService }, { token: i1$1__namespace.Router }, { token: i1__namespace.App }, { token: i4__namespace.VariablesService }, { token: i4__namespace.MetadataService }, { token: i1__namespace.AbstractSpinnerService }, { token: i1__namespace.AbstractI18nService }, { token: i5__namespace.DatePipe }], target: i0__namespace.ɵɵFactoryTarget.Injectable }); }
561
534
  static { this.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: AppManagerService }); }
@@ -681,32 +654,11 @@
681
654
  }
682
655
  init() {
683
656
  // console.log(`inside fragmentMonitor: Page-${(this as any).pageName}, Partial-${(this as any).partialName}`);
684
- // MEMORY LEAK FIX: Store subscription reference for cleanup
685
- this.viewInitSubscription = this.viewInit$.subscribe(i1.noop, i1.noop, () => {
657
+ this.viewInit$.subscribe(i1.noop, i1.noop, () => {
686
658
  this.isViewInitialized = true;
687
659
  this.isReady();
688
660
  });
689
661
  }
690
- /**
691
- * MEMORY LEAK FIX: Clean up FragmentMonitor resources
692
- * Should be called from implementing class's ngOnDestroy
693
- */
694
- cleanupFragmentMonitor() {
695
- // MEMORY LEAK FIX: Unsubscribe from viewInit$ subscription
696
- if (this.viewInitSubscription) {
697
- this.viewInitSubscription.unsubscribe();
698
- this.viewInitSubscription = null;
699
- }
700
- // MEMORY LEAK FIX: Complete Subjects to release subscriptions (if not already completed)
701
- if (this.viewInit$ && !this.viewInit$.closed) {
702
- this.viewInit$.complete();
703
- }
704
- this.viewInit$ = null;
705
- if (this.fragmentsLoaded$ && !this.fragmentsLoaded$.closed) {
706
- this.fragmentsLoaded$.complete();
707
- }
708
- this.fragmentsLoaded$ = null;
709
- }
710
662
  registerFragment() {
711
663
  this.fragments++;
712
664
  }
@@ -890,41 +842,7 @@
890
842
  });
891
843
  }
892
844
  ngOnDestroy() {
893
- // MEMORY LEAK FIX: Unwatch all Partial-scoped watchers for THIS specific partial when partial is destroyed
894
- // Only unwatch watchers for this partial, not all partials (other partials may still be on the page)
895
- if (this.partialName) {
896
- i1.$unwatchAllByScope('Partial', this.partialName);
897
- }
898
- // MEMORY LEAK FIX: Complete Subjects to release subscriptions
899
- if (this.destroy$) {
900
- this.destroy$.complete();
901
- this.destroy$ = null;
902
- }
903
- if (this.viewInit$) {
904
- this.viewInit$.complete();
905
- this.viewInit$ = null;
906
- }
907
- // MEMORY LEAK FIX: Clear references to prevent memory leaks
908
- this.Widgets = null;
909
- this.Variables = null;
910
- this.Actions = null;
911
- this.App = null;
912
- this.containerWidget = null;
913
- this.i18nService = null;
914
- this.appLocale = null;
915
- this.partialDirective = null;
916
- this.pageDirective = null;
917
- this.Prefab = null;
918
- this.scriptLoaderService = null;
919
- this.Viewport = null;
920
- this.route = null;
921
- this.appManager = null;
922
- this.navigationService = null;
923
- this.router = null;
924
- this.pageParams = null;
925
- this.viewParent = null;
926
- // MEMORY LEAK FIX: Cleanup FragmentMonitor resources
927
- this.cleanupFragmentMonitor();
845
+ this.destroy$.complete();
928
846
  }
929
847
  ngOnAttach(refreshData) {
930
848
  this.unmute();
@@ -1369,42 +1287,9 @@
1369
1287
  });
1370
1288
  }
1371
1289
  ngOnDestroy() {
1372
- // MEMORY LEAK FIX: Unwatch all Page-scoped watchers for THIS specific page when page is destroyed
1373
- if (this.pageName) {
1374
- const removedCount = i1.$unwatchAllByScope('Page', this.pageName);
1375
- if (removedCount > 0) {
1376
- console.log(`🧹 Cleaned up ${removedCount} Page-scoped watcher(s) for page ${this.pageName}`);
1377
- }
1378
- }
1379
1290
  //this.captureApplicationThumbnail();
1380
1291
  this.savePageSnapShot();
1381
- // MEMORY LEAK FIX: Complete Subjects to release subscriptions
1382
- if (this.destroy$) {
1383
- this.destroy$.complete();
1384
- this.destroy$ = null;
1385
- }
1386
- if (this.viewInit$) {
1387
- this.viewInit$.complete();
1388
- this.viewInit$ = null;
1389
- }
1390
- // MEMORY LEAK FIX: Clear references to prevent memory leaks
1391
- this.Widgets = null;
1392
- this.Variables = null;
1393
- this.Actions = null;
1394
- this.App = null;
1395
- this.route = null;
1396
- this.appManager = null;
1397
- this.navigationService = null;
1398
- this.router = null;
1399
- this.pageParams = null;
1400
- this.i18nService = null;
1401
- this.appLocale = null;
1402
- this.pageDirective = null;
1403
- this.$page = null;
1404
- this.scriptLoaderService = null;
1405
- this.Viewport = null;
1406
- // MEMORY LEAK FIX: Cleanup FragmentMonitor resources
1407
- this.cleanupFragmentMonitor();
1292
+ this.destroy$.complete();
1408
1293
  }
1409
1294
  captureApplicationThumbnail() {
1410
1295
  const root = this;
@@ -1769,38 +1654,7 @@
1769
1654
  }, 100);
1770
1655
  }
1771
1656
  ngOnDestroy() {
1772
- // MEMORY LEAK FIX: Complete Subjects to release subscriptions
1773
- if (this.destroy$) {
1774
- this.destroy$.complete();
1775
- this.destroy$ = null;
1776
- }
1777
- if (this.viewInit$) {
1778
- this.viewInit$.complete();
1779
- this.viewInit$ = null;
1780
- }
1781
- // MEMORY LEAK FIX: Clear references to prevent memory leaks
1782
- this.Widgets = null;
1783
- this.BaseWidget = null;
1784
- this.Variables = null;
1785
- this.Actions = null;
1786
- this.App = null;
1787
- this.containerWidget = null;
1788
- this.i18nService = null;
1789
- this.appLocale = null;
1790
- this.pageDirective = null;
1791
- this.Prefab = null;
1792
- this.scriptLoaderService = null;
1793
- this.customwidgetConfigProvider = null;
1794
- this.Viewport = null;
1795
- this.route = null;
1796
- this.appManager = null;
1797
- this.navigationService = null;
1798
- this.router = null;
1799
- this.props = null;
1800
- this.events = null;
1801
- this.viewParent = null;
1802
- // MEMORY LEAK FIX: Cleanup FragmentMonitor resources
1803
- this.cleanupFragmentMonitor();
1657
+ this.destroy$.complete();
1804
1658
  }
1805
1659
  ngOnAttach(refreshData) {
1806
1660
  this.unmute();
@@ -2027,36 +1881,7 @@
2027
1881
  });
2028
1882
  }
2029
1883
  ngOnDestroy() {
2030
- // MEMORY LEAK FIX: Unwatch all Prefab-scoped watchers for THIS specific prefab when prefab is destroyed
2031
- // Only unwatch watchers for this prefab, not all prefabs (other prefabs may still be on the page)
2032
- if (this.prefabName) {
2033
- i1.$unwatchAllByScope('Prefab', this.prefabName);
2034
- }
2035
- // MEMORY LEAK FIX: Complete Subjects to release subscriptions
2036
- if (this.destroy$) {
2037
- this.destroy$.complete();
2038
- this.destroy$ = null;
2039
- }
2040
- if (this.viewInit$) {
2041
- this.viewInit$.complete();
2042
- this.viewInit$ = null;
2043
- }
2044
- // MEMORY LEAK FIX: Clear references to prevent memory leaks
2045
- this.Widgets = null;
2046
- this.Variables = null;
2047
- this.Actions = null;
2048
- this.App = null;
2049
- this.containerWidget = null;
2050
- this.prefabMngr = null;
2051
- this.i18nService = null;
2052
- this.appLocale = null;
2053
- this.prefabContainerDirective = null;
2054
- this.scriptLoaderService = null;
2055
- this.pageDirective = null;
2056
- this.Viewport = null;
2057
- this.viewParent = null;
2058
- // MEMORY LEAK FIX: Cleanup FragmentMonitor resources
2059
- this.cleanupFragmentMonitor();
1884
+ this.destroy$.complete();
2060
1885
  }
2061
1886
  // user overrides this
2062
1887
  onPropertyChange() { }
@@ -2110,12 +1935,6 @@
2110
1935
  }
2111
1936
  //TODO: To work cache properly need to implement the below methods and WmRouteReuseStrategy
2112
1937
  ngOnDestroy() {
2113
- // MEMORY LEAK FIX: Clear references to prevent memory leaks
2114
- this.App = null;
2115
- this.routerOutlet = null;
2116
- this.pageDirective = null;
2117
- this.layoutPages = null;
2118
- this.layoutName = null;
2119
1938
  }
2120
1939
  canReuse() {
2121
1940
  }
@@ -2797,42 +2616,8 @@
2797
2616
  });
2798
2617
  }
2799
2618
  ngOnDestroy() {
2800
- // MEMORY LEAK FIX: Unwatch all Page-scoped watchers for THIS specific page when page is destroyed
2801
- if (this.pageName) {
2802
- i1.$unwatchAllByScope('Page', this.pageName);
2803
- // if (removedCount > 0) {
2804
- // console.log(`🧹 Cleaned up ${removedCount} Page-scoped watcher(s) for page ${this.pageName}`);
2805
- // }
2806
- }
2807
2619
  this.savePageSnapShot();
2808
- // MEMORY LEAK FIX: Complete Subjects to release subscriptions
2809
- if (this.destroy$) {
2810
- this.destroy$.complete();
2811
- this.destroy$ = null;
2812
- }
2813
- if (this.viewInit$) {
2814
- this.viewInit$.complete();
2815
- this.viewInit$ = null;
2816
- }
2817
- // MEMORY LEAK FIX: Clear references to prevent memory leaks
2818
- this.Widgets = null;
2819
- this.Variables = null;
2820
- this.Actions = null;
2821
- this.App = null;
2822
- this.route = null;
2823
- this.appManager = null;
2824
- this.navigationService = null;
2825
- this.router = null;
2826
- this.pageParams = null;
2827
- this.i18nService = null;
2828
- this.appLocale = null;
2829
- this.layoutDirective = null;
2830
- this.spaPageDirective = null;
2831
- this.$page = null;
2832
- this.scriptLoaderService = null;
2833
- this.Viewport = null;
2834
- // MEMORY LEAK FIX: Cleanup FragmentMonitor resources
2835
- this.cleanupFragmentMonitor();
2620
+ this.destroy$.complete();
2836
2621
  }
2837
2622
  onReady() { }
2838
2623
  onBeforePageReady() { }
@@ -2918,7 +2703,7 @@
2918
2703
  this.securityService = securityService;
2919
2704
  this.inj = inj;
2920
2705
  this.processed = false;
2921
- this.context = {}; // Changed from readonly to allow cleanup
2706
+ this.context = {};
2922
2707
  const securityConfig = this.securityService.get();
2923
2708
  this.securityEnabled = lodashEs.get(securityConfig, 'securityEnabled');
2924
2709
  this.isUserAuthenticated = lodashEs.get(securityConfig, 'authenticated');
@@ -2991,15 +2776,6 @@
2991
2776
  this.viewContainerRef.clear();
2992
2777
  }
2993
2778
  }
2994
- ngOnDestroy() {
2995
- // MEMORY LEAK FIX: Clear context to release references to parent scope data
2996
- if (this.context) {
2997
- Object.keys(this.context).forEach(key => {
2998
- delete this.context[key];
2999
- });
3000
- this.context = null;
3001
- }
3002
- }
3003
2779
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: AccessrolesDirective, deps: [{ token: i0__namespace.TemplateRef }, { token: i0__namespace.ViewContainerRef }, { token: i2__namespace.SecurityService }, { token: i0__namespace.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Directive }); }
3004
2780
  static { this.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AccessrolesDirective, isStandalone: true, selector: "[accessroles]", inputs: { accessroles: "accessroles" }, ngImport: i0__namespace }); }
3005
2781
  }
@@ -3229,10 +3005,7 @@
3229
3005
  this.preparePipeMeta(i5.CurrencyPipe, 'currency', true, [this._locale]),
3230
3006
  this.preparePipeMeta(i5.DatePipe, 'date', true, [this._locale]),
3231
3007
  this.preparePipeMeta(base.ToDatePipe, 'toDate', true, [
3232
- new i5.DatePipe(this._locale),
3233
- undefined,
3234
- this.injector.get(i1.App),
3235
- this.injector.get(i1.CustomPipeManager)
3008
+ new i5.DatePipe(this._locale), undefined, this.injector.get(i1.CustomPipeManager)
3236
3009
  ]),
3237
3010
  this.preparePipeMeta(base.ToNumberPipe, 'toNumber', true, [
3238
3011
  new i5.DecimalPipe(this._locale),
@@ -3249,7 +3022,7 @@
3249
3022
  new i5.DecimalPipe(this._locale)
3250
3023
  ]),
3251
3024
  this.preparePipeMeta(base.StringToNumberPipe, 'stringToNumber', true),
3252
- this.preparePipeMeta(base.CustomPipe, 'custom', true, [this.injector.get(i1.App), this.injector.get(i1.CustomPipeManager)]),
3025
+ this.preparePipeMeta(base.CustomPipe, 'custom', true, [this.injector.get(i1.CustomPipeManager)]),
3253
3026
  this.preparePipeMeta(base.TrustAsPipe, 'trustAs', true, [this.domSanitizer]),
3254
3027
  this.preparePipeMeta(base.SanitizePipe, 'sanitize', true, [this.domSanitizer]),
3255
3028
  this.preparePipeMeta(base.TemplateReplacePipe, 'templateReplace', true),
@@ -3412,8 +3185,7 @@
3412
3185
  this.isTemplateBundleType = wmProjectProperties.type === "TEMPLATEBUNDLE" /* PROJECT_TYPE.TEMPLATE_BUNDLE */;
3413
3186
  this.targetPlatform = wmProjectProperties.platformType;
3414
3187
  this.isPrism = wmProjectProperties.template === "PRISM";
3415
- // MEMORY LEAK FIX: Store unsubscribe function for cleanup
3416
- this.sessionTimeoutUnsubscribe = this.httpService.registerOnSessionTimeout(this.on401.bind(this));
3188
+ this.httpService.registerOnSessionTimeout(this.on401.bind(this));
3417
3189
  this.appLocale = this.i18nService.getAppLocale();
3418
3190
  this.httpService.setLocale(this.appLocale);
3419
3191
  }
@@ -3500,19 +3272,6 @@
3500
3272
  i1.registerFnByExpr(expr, fn[0], fn[1]);
3501
3273
  });
3502
3274
  }
3503
- /**
3504
- * Utility method to check if an object has a property
3505
- * This is commonly used in expressions to check object properties
3506
- * @param obj The object to check
3507
- * @param prop The property name to check
3508
- * @returns true if the object has the property, false otherwise
3509
- */
3510
- hasOwnObjectProperty(obj, prop) {
3511
- if (!obj || typeof obj !== 'object') {
3512
- return false;
3513
- }
3514
- return Object.prototype.hasOwnProperty.call(obj, prop);
3515
- }
3516
3275
  setMode(modes, shouldPersist = false) {
3517
3276
  const htmlEl = document.getElementsByTagName('html')[0];
3518
3277
  //html element sanity check
@@ -3541,24 +3300,6 @@
3541
3300
  localStorage.setItem('wm-app-modes', JSON.stringify(modes));
3542
3301
  }
3543
3302
  ;
3544
- ngOnDestroy() {
3545
- // MEMORY LEAK FIX: Destroy EventNotifier to release subscribers
3546
- if (this._eventNotifier) {
3547
- this._eventNotifier.destroy();
3548
- this._eventNotifier = null;
3549
- }
3550
- // MEMORY LEAK FIX: Unsubscribe from session timeout
3551
- if (this.sessionTimeoutUnsubscribe) {
3552
- this.sessionTimeoutUnsubscribe();
3553
- this.sessionTimeoutUnsubscribe = null;
3554
- }
3555
- // MEMORY LEAK FIX: Clear references
3556
- this.Variables = null;
3557
- this.Actions = null;
3558
- this.appLocale = null;
3559
- this.modes = null;
3560
- this.dynamicComponentContainerRef = null;
3561
- }
3562
3303
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: AppRef, deps: [{ token: i0__namespace.Injector }, { token: i1__namespace.AbstractI18nService }, { token: i1__namespace.StatePersistence }, { token: i1__namespace.AbstractHttpService }, { token: i2__namespace.SecurityService }, { token: i1$1__namespace.RouteReuseStrategy }], target: i0__namespace.ɵɵFactoryTarget.Injectable }); }
3563
3304
  static { this.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: AppRef }); }
3564
3305
  }
@@ -4061,20 +3802,6 @@
4061
3802
  this.messagesByContext[ctx] = {};
4062
3803
  }
4063
3804
  }
4064
- ngOnDestroy() {
4065
- // MEMORY LEAK FIX: Complete Subject to release subscriptions
4066
- if (this.messageSource) {
4067
- this.messageSource.complete();
4068
- this.messageSource = null;
4069
- }
4070
- // MEMORY LEAK FIX: Clear messages by context
4071
- if (this.messagesByContext) {
4072
- Object.keys(this.messagesByContext).forEach(key => {
4073
- delete this.messagesByContext[key];
4074
- });
4075
- this.messagesByContext = null;
4076
- }
4077
- }
4078
3805
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: SpinnerServiceImpl, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable }); }
4079
3806
  static { this.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: SpinnerServiceImpl }); }
4080
3807
  }
@@ -4590,7 +4317,6 @@
4590
4317
  this.isApplicationType = false;
4591
4318
  this.enableSkipToMainContent = i1.getWmProjectProperties().enableSkipToMainContent === 'true' || i1.getWmProjectProperties().enableSkipToMainContent === true;
4592
4319
  this.retryCount = 0;
4593
- this.appManagerSubscriptions = []; // MEMORY LEAK FIX: Track appManager subscriptions
4594
4320
  this.appLocale = {};
4595
4321
  this.spinner = { show: false, messages: [], arialabel: '' };
4596
4322
  this.isOAuthDialogOpen = false;
@@ -4603,8 +4329,7 @@
4603
4329
  this.customIconsLoaderService.load();
4604
4330
  }
4605
4331
  // subscribe to OAuth changes
4606
- // MEMORY LEAK FIX: Store subscription reference for cleanup
4607
- this.oAuthProvidersSubscription = oAuthService.getOAuthProvidersAsObservable().subscribe((providers) => {
4332
+ oAuthService.getOAuthProvidersAsObservable().subscribe((providers) => {
4608
4333
  this.providersConfig = providers;
4609
4334
  if (providers.length) {
4610
4335
  this.showOAuthDialog();
@@ -4614,8 +4339,7 @@
4614
4339
  }
4615
4340
  });
4616
4341
  // Subscribe to the message source to show/hide app spinner
4617
- // MEMORY LEAK FIX: Store subscription reference for cleanup
4618
- this.spinnerMessageSubscription = this.spinnerService.getMessageSource().asObservable().subscribe((data) => {
4342
+ this.spinnerService.getMessageSource().asObservable().subscribe((data) => {
4619
4343
  // setTimeout is to avoid 'ExpressionChangedAfterItHasBeenCheckedError'
4620
4344
  setTimeout(() => {
4621
4345
  this.spinner.show = data.show;
@@ -4627,8 +4351,7 @@
4627
4351
  utils.setTheme('bs3');
4628
4352
  let spinnerId;
4629
4353
  let onPageRendered = i1.noop;
4630
- // MEMORY LEAK FIX: Store subscription reference for cleanup
4631
- this.routerEventsSubscription = this.router.events.subscribe(e => {
4354
+ this.router.events.subscribe(e => {
4632
4355
  if (e instanceof i1$1.NavigationStart) {
4633
4356
  let page = e.url.split('?')[0];
4634
4357
  page = page.substring(1);
@@ -4663,13 +4386,12 @@
4663
4386
  }, 1000);
4664
4387
  }
4665
4388
  });
4666
- // MEMORY LEAK FIX: Store subscription unsubscribe functions
4667
- this.appManagerSubscriptions.push(this.appManager.subscribe('pageReady', () => {
4389
+ this.appManager.subscribe('pageReady', () => {
4668
4390
  onPageRendered();
4669
- }));
4670
- this.appManagerSubscriptions.push(this.appManager.subscribe('pageAttach', () => {
4391
+ });
4392
+ this.appManager.subscribe('pageAttach', () => {
4671
4393
  onPageRendered();
4672
- }));
4394
+ });
4673
4395
  }
4674
4396
  showOAuthDialog() {
4675
4397
  if (!this.isOAuthDialogOpen) {
@@ -4744,35 +4466,9 @@
4744
4466
  i1.$invokeWatchers();
4745
4467
  }
4746
4468
  ngOnDestroy() {
4747
- // MEMORY LEAK FIX: Unwatch all App-scoped watchers when app is destroyed
4748
- i1.$unwatchAllByScope('App');
4749
- // MEMORY LEAK FIX: Unsubscribe from navigation end subscription
4750
4469
  if (this.navigationEndSubscription) {
4751
4470
  this.navigationEndSubscription.unsubscribe();
4752
- this.navigationEndSubscription = null;
4753
- }
4754
- // MEMORY LEAK FIX: Unsubscribe from OAuth providers subscription
4755
- if (this.oAuthProvidersSubscription) {
4756
- this.oAuthProvidersSubscription.unsubscribe();
4757
- this.oAuthProvidersSubscription = null;
4758
- }
4759
- // MEMORY LEAK FIX: Unsubscribe from spinner message subscription
4760
- if (this.spinnerMessageSubscription) {
4761
- this.spinnerMessageSubscription.unsubscribe();
4762
- this.spinnerMessageSubscription = null;
4763
- }
4764
- // MEMORY LEAK FIX: Unsubscribe from router events subscription
4765
- if (this.routerEventsSubscription) {
4766
- this.routerEventsSubscription.unsubscribe();
4767
- this.routerEventsSubscription = null;
4768
- }
4769
- // MEMORY LEAK FIX: Unsubscribe from appManager subscriptions
4770
- this.appManagerSubscriptions.forEach(unsubscribe => {
4771
- if (unsubscribe) {
4772
- unsubscribe();
4773
- }
4774
- });
4775
- this.appManagerSubscriptions = [];
4471
+ }
4776
4472
  }
4777
4473
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: AppComponent, deps: [{ token: PipeProvider }, { token: i0__namespace.ApplicationRef }, { token: i0__namespace.ElementRef }, { token: i2$2__namespace.OAuthService }, { token: i1__namespace.AbstractDialogService }, { token: i1__namespace.AbstractSpinnerService }, { token: i0__namespace.NgZone }, { token: i1$1__namespace.Router }, { token: i1__namespace.App }, { token: AppManagerService }, { token: i1__namespace.CustomIconsLoaderService }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
4778
4474
  static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AppComponent, isStandalone: true, selector: "app-root", viewQueries: [{ propertyName: "routerOutlet", first: true, predicate: i1$1.RouterOutlet, descendants: true }, { propertyName: "dynamicComponentContainerRef", first: true, predicate: ["dynamicComponent"], descendants: true, read: i0.ViewContainerRef }], ngImport: i0__namespace, template: "@if (startApp) {\n @if(enableSkipToMainContent) {\n <div id=\"app-focus-start\" tabindex=\"-1\"></div>\n <a href=\"javascript:void(0);\" class=\"skip\" (click)=\"skipToAppContent($event)\">{{appLocale.LABEL_SKIP_TO_MAIN_CONTENT || 'Skip to main content'}}</a>\n }\n <router-outlet></router-outlet>\n @if (isApplicationType) {\n <div wmContainer partialContainer content=\"Common\" hidden class=\"ng-hide\"></div>\n }\n <app-spinner name=\"globalspinner\" classname=\"global-spinner\" role=\"alert\" aria-live=\"assertive\" [attr.aria-label]=\"spinner.arialabel || 'Loading'\" [show]=\"spinner.show\" [spinnermessages]=\"spinner.messages\"></app-spinner>\n <div wmDialog name=\"oAuthLoginDialog\" title=\"Application is requesting you to sign in with\"\n close.event=\"closeOAuthDialog()\">\n <ng-template #dialogBody>\n <ul class=\"list-items\">\n @for (provider of providersConfig; track provider) {\n <li class=\"list-item\">\n <button class=\"btn\" (click)=\"provider.invoke()\">{{provider.name}}</button>\n </li>\n }\n </ul>\n </ng-template>\n </div>\n <div wmConfirmDialog name=\"_app-confirm-dialog\" title.bind=\"title\" message.bind=\"message\" oktext.bind=\"oktext\"\n canceltext.bind=\"canceltext\" closable=\"false\" iconclass.bind=\"iconclass\"\n escape.event=\"onEscape()\" ok.event=\"onOk()\" cancel.event=\"onCancel()\" close.event=\"onClose()\" opened.event=\"onOpen()\"></div>\n @if (!isApplicationType) {\n <div wmConfirmDialog name=\"PrefabConfirmDialog\" title.bind=\"title\" message.bind=\"text\" oktext.bind=\"okButtonText\"\n canceltext.bind=\"cancelButtonText\" closable=\"false\" iconclass.bind=\"iconclass\"\n escape.event=\"onEscape()\" ok.event=\"onOk()\" cancel.event=\"onCancel()\" close.event=\"onClose()\" opened.event=\"onOpen()\"></div>\n }\n @if (!isApplicationType) {\n <div wmAlertDialog name=\"PrefabAlertDialog\" title.bind=\"title\" message.bind=\"text\" oktext.bind=\"okButtonText\"\n canceltext.bind=\"cancelButtonText\" closable=\"false\" iconclass.bind=\"iconclass\"\n escape.event=\"onEscape()\" ok.event=\"onOk()\" cancel.event=\"onCancel()\" close.event=\"onClose()\" opened.event=\"onOpen()\"></div>\n }\n <div wmAppExt></div>\n <i id=\"wm-mobile-display\"></i>\n}\n<!--Dummy container to create the component dynamically-->\n<ng-container #dynamicComponent></ng-container>\n", dependencies: [{ kind: "ngmodule", type: i5.CommonModule }, { kind: "directive", type: i1$1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: alertDialog.AlertDialogComponent, selector: "div[wmAlertDialog]" }, { kind: "component", type: confirmDialog.ConfirmDialogComponent, selector: "div[wmConfirmDialog]" }, { kind: "component", type: designDialog.DialogComponent, selector: "div[wmDialog]" }, { kind: "component", type: AppSpinnerComponent, selector: "app-spinner", inputs: ["show", "spinnermessages", "classname", "arialabel"] }, { kind: "directive", type: base.ContainerDirective, selector: "[wmContainer]" }, { kind: "directive", type: base.PartialParamHandlerDirective, selector: "[partialContainer]" }, { kind: "directive", type: base.PartialContainerDirective, selector: "[partialContainer]" }], encapsulation: i0__namespace.ViewEncapsulation.None }); }
@@ -4804,7 +4500,6 @@
4804
4500
  return /^[a-z][a-z0-9+.-]*:\/\//i.test(url);
4805
4501
  }
4806
4502
  intercept(request, next) {
4807
- let modifiedReq;
4808
4503
  let modifiedResp;
4809
4504
  let isRelativeAPIUrl = false;
4810
4505
  if (!this.isAbsoluteUrl(request.url)) {
@@ -4814,18 +4509,19 @@
4814
4509
  let apiUrl = i1._WM_APP_PROJECT.apiUrl + request.url;
4815
4510
  request = request.clone({ url: apiUrl });
4816
4511
  }
4817
- if (i4.appManager && i4.appManager.appOnBeforeServiceCall) {
4818
- // Convert the angular HttpRequest to wm HttpRequest
4819
- const req = this.wmHttpRequest.angularToWmRequest(request);
4820
- // trigger the common onBeforeServiceCall handler present in app.js
4821
- modifiedReq = i4.appManager.appOnBeforeServiceCall(req);
4822
- if (modifiedReq) {
4823
- // Convert the wm HttpRequest to angular HttpRequest
4824
- modifiedReq = this.wmHttpRequest.wmToAngularRequest(modifiedReq);
4825
- request = modifiedReq;
4512
+ return rxjs.from(Promise.resolve().then(() => {
4513
+ if (i4.appManager && i4.appManager.appOnBeforeServiceCall) {
4514
+ const wmReq = this.wmHttpRequest.angularToWmRequest(request);
4515
+ return i4.appManager.appOnBeforeServiceCall(wmReq);
4826
4516
  }
4827
- }
4828
- return next.handle(request).pipe(operators.tap((response) => {
4517
+ return null;
4518
+ }))
4519
+ .pipe(rxjs.switchMap((receivedModifiedReq) => {
4520
+ if (receivedModifiedReq) {
4521
+ request = this.wmHttpRequest.wmToAngularRequest(receivedModifiedReq);
4522
+ }
4523
+ return next.handle(request);
4524
+ }), operators.tap((response) => {
4829
4525
  if (response && response.type === 4 && i4.appManager && i4.appManager.appOnServiceSuccess) {
4830
4526
  // Convert the angular HttpResponse to wm HttpResponse
4831
4527
  const resp = this.wmHttpResponse.angularToWmResponse(response);
@@ -4881,14 +4577,6 @@
4881
4577
  }
4882
4578
  });
4883
4579
  }
4884
- ngOnDestroy() {
4885
- // MEMORY LEAK FIX: Clear ViewContainerRef to destroy dynamically created components
4886
- if (this.vcRef) {
4887
- this.vcRef.clear();
4888
- }
4889
- // MEMORY LEAK FIX: Clear ElementRef reference
4890
- this.elRef = null;
4891
- }
4892
4580
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: PrefabDirective, deps: [{ token: base.WidgetRef, self: true }, { token: i0__namespace.ViewContainerRef }, { token: i0__namespace.ElementRef }, { token: PrefabManagerService }, { token: i0__namespace.ComponentFactoryResolver }, { token: i0__namespace.Injector }, { token: ComponentRefProvider }], target: i0__namespace.ɵɵFactoryTarget.Directive }); }
4893
4581
  static { this.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: PrefabDirective, isStandalone: true, selector: "[wmPrefab][prefabname]", ngImport: i0__namespace }); }
4894
4582
  }
@@ -4909,8 +4597,7 @@
4909
4597
  class PrefabPreviewComponent {
4910
4598
  constructor(prefabManager) {
4911
4599
  this.prefabManager = prefabManager;
4912
- // MEMORY LEAK FIX: Store bound function reference for cleanup
4913
- this.windowMessageListener = (e) => {
4600
+ window.addEventListener('message', e => {
4914
4601
  const context = e.data && e.data.context;
4915
4602
  if (context !== PREFAB) {
4916
4603
  return;
@@ -4929,8 +4616,7 @@
4929
4616
  else if (action === 'invoke-script') {
4930
4617
  this.invokeScript(payload);
4931
4618
  }
4932
- };
4933
- window.addEventListener('message', this.windowMessageListener);
4619
+ });
4934
4620
  }
4935
4621
  postMessage(action, payload) {
4936
4622
  const data = {
@@ -4947,8 +4633,7 @@
4947
4633
  }
4948
4634
  init() {
4949
4635
  this.previewMode = true;
4950
- // MEMORY LEAK FIX: Store subscription reference
4951
- this.readyStateSubscription = this.prefabInstance.readyState.subscribe(() => { }, () => { }, () => {
4636
+ this.prefabInstance.readyState.subscribe(() => { }, () => { }, () => {
4952
4637
  this.prefabManager.getConfig('__self__')
4953
4638
  .then(config => {
4954
4639
  this.config = config;
@@ -4982,22 +4667,6 @@
4982
4667
  this.setupEventListeners();
4983
4668
  this.postMessage('init');
4984
4669
  }
4985
- ngOnDestroy() {
4986
- // MEMORY LEAK FIX: Remove window message listener
4987
- if (this.windowMessageListener) {
4988
- window.removeEventListener('message', this.windowMessageListener);
4989
- this.windowMessageListener = null;
4990
- }
4991
- // MEMORY LEAK FIX: Unsubscribe from readyState
4992
- if (this.readyStateSubscription) {
4993
- this.readyStateSubscription.unsubscribe();
4994
- this.readyStateSubscription = null;
4995
- }
4996
- // MEMORY LEAK FIX: Clear ViewChild reference
4997
- this.prefabInstance = null;
4998
- // MEMORY LEAK FIX: Clear config
4999
- this.config = null;
5000
- }
5001
4670
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: PrefabPreviewComponent, deps: [{ token: PrefabManagerService }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
5002
4671
  static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PrefabPreviewComponent, isStandalone: true, selector: "wm-prefab-preview", viewQueries: [{ propertyName: "prefabInstance", first: true, predicate: prefab.PrefabDirective, descendants: true, static: true }], ngImport: i0__namespace, template: `
5003
4672
  <div class="prefab-preview row">
@@ -5078,7 +4747,6 @@
5078
4747
  selector: selector of the component
5079
4748
  transpile: flag for transpiling HTML. By default it is true
5080
4749
  nocache: flag for render it from cache or not. By default it is true
5081
- * @returns ComponentRef - the created component reference for cleanup
5082
4750
  */
5083
4751
  async addComponent(target, markup, context = {}, options = {}) {
5084
4752
  options.transpile = i1.isDefined(options.transpile) ? options.transpile : true;
@@ -5088,8 +4756,6 @@
5088
4756
  const component = this.app.dynamicComponentContainerRef.createComponent(componentFactoryRef, 0, lodashEs.get(options, 'inj'));
5089
4757
  i1.extendProto(component.instance, context);
5090
4758
  target.appendChild(component.location.nativeElement);
5091
- // MEMORY LEAK FIX: Return component reference so caller can destroy it
5092
- return component;
5093
4759
  }
5094
4760
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: DynamicComponentRefProviderService, deps: [{ token: i1__namespace.App }, { token: AppManagerService }, { token: i0__namespace.Compiler }], target: i0__namespace.ɵɵFactoryTarget.Injectable }); }
5095
4761
  static { this.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: DynamicComponentRefProviderService }); }