@wavemaker/app-ng-runtime 11.14.3-rc.6401 → 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
@@ -1,5 +1,5 @@
1
1
  import { Attribute, ImplicitReceiver, PropertyRead, LiteralPrimitive, LiteralArray, LiteralMap, PropertyWrite, KeyedRead, PrefixNot, Unary, Binary, Conditional, Call, Chain, BindingPipe, Parser, Lexer } from '@angular/compiler';
2
- import { isArray, startsWith, includes, get, flatten, isEqual, clone, isObject as isObject$1, camelCase, split, map, attempt, isError, isFunction, isDate, isString, cloneDeep, identity, intersection, omit, keys, toLower, replace as replace$1, forEach, trim, isEqualWith, every, indexOf, isNumber, filter, isUndefined, isNull, noop as noop$2, toUpper, assign, merge, isEmpty, debounce as debounce$1, isNil } from 'lodash-es';
2
+ import { isArray, startsWith, includes, get, flatten, isEqual, isObject as isObject$1, clone, camelCase, split, map, attempt, isError, isFunction, isDate, isString, cloneDeep, identity, intersection, omit, keys, toLower, replace as replace$1, forEach, trim, isEqualWith, every, indexOf, isNumber, filter, isUndefined, isNull, noop as noop$2, toUpper, assign, merge, isEmpty, debounce as debounce$1, isNil } from 'lodash-es';
3
3
  import { Subject } from 'rxjs';
4
4
  import X2JS from 'x2js';
5
5
  import * as momentLib from 'moment-timezone/moment-timezone';
@@ -1432,11 +1432,11 @@ const CURRENCY_INFO = {
1432
1432
  }
1433
1433
  };
1434
1434
 
1435
- const $RAF = window.requestAnimationFrame;
1435
+ const $RAF$1 = window.requestAnimationFrame;
1436
1436
  const $RAFQueue = [];
1437
1437
  const invokeLater = fn => {
1438
1438
  if (!$RAFQueue.length) {
1439
- $RAF(() => {
1439
+ $RAF$1(() => {
1440
1440
  $RAFQueue.forEach(f => f());
1441
1441
  $RAFQueue.length = 0;
1442
1442
  });
@@ -1507,23 +1507,7 @@ const setProperty = (node, propName, val, sync) => {
1507
1507
  sync ? task() : invokeLater(task);
1508
1508
  };
1509
1509
  const setAttr = (node, attrName, val, sync) => {
1510
- const task = () => {
1511
- if (node instanceof Element) {
1512
- // Handle tabindex specifically - ensure it's a valid string representation
1513
- if (attrName === 'tabindex') {
1514
- // Convert to string, handling 0, null, undefined, and NaN
1515
- if (val === null || val === undefined || (typeof val === 'number' && isNaN(val))) {
1516
- node.removeAttribute(attrName);
1517
- }
1518
- else {
1519
- node.setAttribute(attrName, String(val));
1520
- }
1521
- }
1522
- else {
1523
- node.setAttribute(attrName, val);
1524
- }
1525
- }
1526
- };
1510
+ const task = () => node instanceof Element && node.setAttribute(attrName, val);
1527
1511
  sync ? task() : invokeLater(task);
1528
1512
  };
1529
1513
  const setHtml = (node, html, sync) => {
@@ -2189,25 +2173,14 @@ const getFnForEventExpr = (expr) => {
2189
2173
  return fnExecutor(expr, ExpressionType.Action);
2190
2174
  };
2191
2175
 
2192
- // Constants
2193
- const WIDGET_ID_REGEX = /^(widget-[^_]+)/;
2194
- const WIDGET_PROPERTY_REGEX = /^widget-[^_]+_(.+)$/;
2195
- const ARRAY_INDEX_PLACEHOLDER = '[$i]';
2196
- const ARRAY_INDEX_ZERO = '[0]';
2197
- const DEBOUNCE_WAIT = 100;
2198
- const MAX_WATCH_CYCLES = 5;
2199
2176
  const registry = new Map();
2200
2177
  const watchIdGenerator = new IDGenerator('watch-id-');
2201
- const FIRST_TIME_WATCH = Object.freeze({});
2202
- // State
2178
+ const FIRST_TIME_WATCH = {};
2179
+ Object.freeze(FIRST_TIME_WATCH);
2180
+ const isFirstTimeChange = v => v === FIRST_TIME_WATCH;
2203
2181
  let muted = false;
2204
- let changedByWatch = false;
2205
- let skipWatchers = false;
2206
- let ngZone;
2207
2182
  let appRef;
2208
- // Utility functions
2209
- const isFirstTimeChange = (v) => v === FIRST_TIME_WATCH;
2210
- const debounce = (fn, wait = DEBOUNCE_WAIT) => {
2183
+ const debounce = (fn, wait = 50) => {
2211
2184
  let timeout;
2212
2185
  return (...args) => {
2213
2186
  window['__zone_symbol__clearTimeout'](timeout);
@@ -2221,345 +2194,115 @@ const unMuteWatchers = () => {
2221
2194
  muted = false;
2222
2195
  triggerWatchers();
2223
2196
  };
2224
- /**
2225
- * Extracts widget ID from identifier (e.g., "widget-id23_eventsource" -> "widget-id23")
2226
- */
2227
- const getWidgetId = (identifier) => {
2228
- if (!identifier || typeof identifier !== 'string') {
2229
- return null;
2230
- }
2231
- const match = identifier.match(WIDGET_ID_REGEX);
2232
- return match ? match[1] : null;
2233
- };
2234
- /**
2235
- * Extracts property name from identifier (e.g., "widget-id23_eventsource" -> "eventsource")
2236
- */
2237
- const getPropertyName = (identifier) => {
2238
- if (!identifier || typeof identifier !== 'string') {
2239
- return identifier;
2240
- }
2241
- const match = identifier.match(WIDGET_PROPERTY_REGEX);
2242
- return match ? match[1] : identifier;
2243
- };
2244
- /**
2245
- * Array consumer wrapper for array-based expressions
2246
- */
2247
2197
  const arrayConsumer = (listenerFn, restExpr, newVal, oldVal) => {
2248
- if (!isArray(newVal)) {
2249
- return;
2250
- }
2251
- let formattedData = newVal.map(datum => findValueOf(datum, restExpr));
2252
- // Flatten if result is array of arrays
2253
- if (isArray(formattedData[0])) {
2254
- formattedData = flatten(formattedData);
2198
+ let data = newVal, formattedData;
2199
+ if (isArray(data)) {
2200
+ formattedData = data.map(function (datum) {
2201
+ return findValueOf(datum, restExpr);
2202
+ });
2203
+ // If resulting structure is an array of array, flatten it
2204
+ if (isArray(formattedData[0])) {
2205
+ formattedData = flatten(formattedData);
2206
+ }
2207
+ listenerFn(formattedData, oldVal);
2255
2208
  }
2256
- listenerFn(formattedData, oldVal);
2257
2209
  };
2258
- /**
2259
- * Updates watch info for array expressions
2260
- */
2261
- const getUpdatedWatchInfo = (expr, acceptsArray, listener) => {
2262
- const regex = /\[\$i\]/g;
2210
+ const getUpdatedWatcInfo = (expr, acceptsArray, listener) => {
2211
+ // listener doesn't accept array
2212
+ // replace all `[$i]` with `[0]` and return the expression
2213
+ let regex = /\[\$i\]/g, $I = '[$i]', $0 = '[0]';
2263
2214
  if (!acceptsArray) {
2264
2215
  return {
2265
- expr: expr.replace(regex, ARRAY_INDEX_ZERO),
2266
- listener
2216
+ 'expr': expr.replace(regex, $0),
2217
+ 'listener': listener
2267
2218
  };
2268
2219
  }
2269
- const lastIndex = expr.lastIndexOf(ARRAY_INDEX_PLACEHOLDER);
2270
- const baseExpr = expr.substring(0, lastIndex).replace(ARRAY_INDEX_PLACEHOLDER, ARRAY_INDEX_ZERO);
2271
- const restExpr = expr.substring(lastIndex + 5);
2272
- const arrayConsumerFn = restExpr
2273
- ? arrayConsumer.bind(undefined, listener, restExpr)
2274
- : listener;
2220
+ // listener accepts array
2221
+ // replace all except the last `[$i]` with `[0]` and return the expression.
2222
+ var index = expr.lastIndexOf($I), _expr = expr.substr(0, index).replace($I, $0), restExpr = expr.substr(index + 5), arrayConsumerFn = listener;
2223
+ if (restExpr) {
2224
+ arrayConsumerFn = arrayConsumer.bind(undefined, listener, restExpr);
2225
+ }
2275
2226
  return {
2276
- expr: baseExpr,
2277
- listener: arrayConsumerFn
2227
+ 'expr': _expr,
2228
+ 'listener': arrayConsumerFn
2278
2229
  };
2279
2230
  };
2280
- /**
2281
- * Determines if an expression is static (doesn't need to be watched)
2282
- */
2283
- const STATIC_EXPRESSION_NAMES = [
2284
- "row.getProperty('investment')",
2285
- "row.getProperty('factsheetLink')",
2286
- "row.getProperty('isRebalanceEligible')"
2287
- ];
2288
- const isStaticExpression = (expr) => {
2289
- if (typeof expr !== 'string') {
2290
- return false;
2291
- }
2292
- const trimmedExpr = expr.trim();
2293
- // Expressions that always evaluate to localization strings
2294
- // if (trimmedExpr.includes('appLocale')) {
2295
- // return true;
2296
- // }
2297
- // Hard-coded static expression names
2298
- if (STATIC_EXPRESSION_NAMES.includes(trimmedExpr)) {
2299
- return true;
2300
- }
2301
- return false;
2302
- };
2303
- /**
2304
- * Gets the scope type from the scope object
2305
- */
2306
- const getScopeType = ($scope) => {
2307
- if (!$scope) {
2308
- return null;
2309
- }
2310
- if ($scope.pageName)
2311
- return 'Page';
2312
- if ($scope.prefabName)
2313
- return 'Prefab';
2314
- if ($scope.partialName)
2315
- return 'Partial';
2316
- // Check for App scope
2317
- if ($scope.Variables !== undefined &&
2318
- $scope.Actions !== undefined &&
2319
- !$scope.pageName &&
2320
- !$scope.prefabName &&
2321
- !$scope.partialName) {
2322
- return 'App';
2323
- }
2324
- if ($scope.constructor?.name === 'AppRef') {
2325
- return 'App';
2326
- }
2327
- return null;
2328
- };
2329
- /**
2330
- * Gets scope name based on scope type
2331
- */
2332
- const getScopeName = ($scope, scopeType) => {
2333
- if (!scopeType || !$scope) {
2334
- return null;
2335
- }
2336
- switch (scopeType) {
2337
- case 'Prefab': return $scope.prefabName || null;
2338
- case 'Partial': return $scope.partialName || null;
2339
- case 'Page': return $scope.pageName || null;
2340
- default: return null;
2341
- }
2342
- };
2343
- /**
2344
- * Main watch function
2345
- */
2346
2231
  const $watch = (expr, $scope, $locals, listener, identifier = watchIdGenerator.nextUid(), doNotClone = false, config = {}, isMuted) => {
2347
- // Handle array expressions
2348
- if (expr.includes(ARRAY_INDEX_PLACEHOLDER)) {
2349
- const watchInfo = getUpdatedWatchInfo(expr, config.arrayType || config.isList || false, listener);
2232
+ if (expr.indexOf('[$i]') !== -1) {
2233
+ let watchInfo = getUpdatedWatcInfo(expr, config && (config.arrayType || config.isList), listener);
2350
2234
  expr = watchInfo.expr;
2351
2235
  listener = watchInfo.listener;
2352
2236
  }
2353
- // Handle static expressions
2354
- if (isStaticExpression(expr)) {
2355
- try {
2356
- const fn = $parseExpr(expr);
2357
- const staticValue = fn($scope, $locals);
2358
- listener(staticValue, FIRST_TIME_WATCH);
2359
- }
2360
- catch (e) {
2361
- console.warn(`Error evaluating static expression '${expr}':`, e);
2362
- listener(undefined, FIRST_TIME_WATCH);
2363
- }
2364
- return () => { }; // No-op unsubscribe
2365
- }
2366
2237
  const fn = $parseExpr(expr);
2367
- const scopeType = getScopeType($scope);
2368
- const scopeName = getScopeName($scope, scopeType);
2369
- const watchInfo = {
2370
- fn: fn.bind(null, $scope, $locals),
2238
+ registry.set(identifier, {
2239
+ fn: fn.bind(expr, $scope, $locals),
2371
2240
  listener,
2372
2241
  expr,
2373
2242
  last: FIRST_TIME_WATCH,
2374
2243
  doNotClone,
2375
- isMuted,
2376
- scopeType,
2377
- scopeName
2378
- };
2379
- // Store in registry
2380
- const widgetId = getWidgetId(identifier);
2381
- if (widgetId) {
2382
- const propertyName = getPropertyName(identifier);
2383
- if (!registry.has(widgetId)) {
2384
- registry.set(widgetId, {});
2385
- }
2386
- const widgetGroup = registry.get(widgetId);
2387
- widgetGroup[propertyName] = watchInfo;
2388
- }
2389
- else {
2390
- registry.set(identifier, watchInfo);
2391
- }
2392
- return () => $unwatch(identifier);
2393
- };
2394
- /**
2395
- * Unwatches a single identifier
2396
- */
2397
- const $unwatch = (identifier) => {
2398
- const widgetId = getWidgetId(identifier);
2399
- if (widgetId) {
2400
- const propertyName = getPropertyName(identifier);
2401
- const widgetGroup = registry.get(widgetId);
2402
- if (widgetGroup && typeof widgetGroup === 'object' && !widgetGroup.fn) {
2403
- const watchInfo = widgetGroup[propertyName];
2404
- if (watchInfo) {
2405
- delete widgetGroup[propertyName];
2406
- // Clean up empty widget groups
2407
- if (Object.keys(widgetGroup).length === 0) {
2408
- registry.delete(widgetId);
2409
- }
2410
- return true;
2411
- }
2412
- }
2413
- }
2414
- // Fallback to direct lookup
2415
- if (registry.has(identifier)) {
2416
- registry.delete(identifier);
2417
- return true;
2418
- }
2419
- return false;
2420
- };
2421
- /**
2422
- * Unwatches all watchers for a specific widget ID
2423
- */
2424
- const $unwatchAll = (widgetId) => {
2425
- if (!widgetId || typeof widgetId !== 'string') {
2426
- return 0;
2427
- }
2428
- const widgetGroup = registry.get(widgetId);
2429
- if (widgetGroup && typeof widgetGroup === 'object' && !widgetGroup.fn) {
2430
- const count = Object.keys(widgetGroup).length;
2431
- registry.delete(widgetId);
2432
- return count;
2433
- }
2434
- // Fallback: find all identifiers starting with this widget ID
2435
- let removedCount = 0;
2436
- const identifiersToRemove = [];
2437
- registry.forEach((_, key) => {
2438
- if (key.startsWith(widgetId + '_')) {
2439
- identifiersToRemove.push(key);
2440
- }
2244
+ isMuted: isMuted
2441
2245
  });
2442
- identifiersToRemove.forEach(identifier => {
2443
- if ($unwatch(identifier)) {
2444
- removedCount++;
2445
- }
2446
- });
2447
- return removedCount;
2448
- };
2449
- /**
2450
- * Unwatches all watchers for a specific scope (Page, Prefab, Partial, or App)
2451
- * Now works directly with the main registry instead of separate scoped registries
2452
- */
2453
- const $unwatchAllByScope = (scopeType, scopeName) => {
2454
- if (!scopeType) {
2455
- return 0;
2456
- }
2457
- let removedCount = 0;
2458
- const identifiersToRemove = [];
2459
- registry.forEach((value, key) => {
2460
- // Handle grouped structure (widget groups)
2461
- if (value && typeof value === 'object' && !value.fn) {
2462
- Object.entries(value).forEach(([propertyName, watchInfo]) => {
2463
- if (watchInfo?.scopeType === scopeType &&
2464
- (!scopeName || watchInfo.scopeName === scopeName)) {
2465
- identifiersToRemove.push(`${key}_${propertyName}`);
2466
- }
2467
- });
2468
- }
2469
- else {
2470
- // Direct watchInfo
2471
- const watchInfo = value;
2472
- if (watchInfo?.scopeType === scopeType &&
2473
- (!scopeName || watchInfo.scopeName === scopeName)) {
2474
- identifiersToRemove.push(key);
2475
- }
2476
- }
2477
- });
2478
- // Unwatch all collected identifiers
2479
- identifiersToRemove.forEach(identifier => {
2480
- if ($unwatch(identifier)) {
2481
- removedCount++;
2482
- }
2483
- });
2484
- return removedCount;
2485
- };
2486
- /**
2487
- * Processes a single watch info during trigger cycle
2488
- */
2489
- const processWatchInfo = (watchInfo) => {
2490
- if (!watchInfo?.fn || (watchInfo.isMuted?.() ?? false)) {
2491
- return false;
2492
- }
2493
- let newValue;
2494
- try {
2495
- newValue = watchInfo.fn();
2496
- }
2497
- catch (e) {
2498
- console.warn(`Error executing expression: '${watchInfo.expr}'`, e);
2499
- return false;
2500
- }
2501
- if (isEqual(newValue, watchInfo.last)) {
2502
- return false;
2503
- }
2504
- // Change detected
2505
- changedByWatch = true;
2506
- watchInfo.last = isObject$1(newValue) && !watchInfo.doNotClone
2507
- ? clone(newValue)
2508
- : newValue;
2509
- watchInfo.listener(newValue, watchInfo.last === newValue ? FIRST_TIME_WATCH : watchInfo.last);
2510
- changedByWatch = false;
2511
- return true;
2246
+ return () => $unwatch(identifier);
2512
2247
  };
2513
- /**
2514
- * Triggers all watchers
2515
- */
2516
- const triggerWatchers = (ignoreMuted = false) => {
2248
+ const $unwatch = identifier => registry.delete(identifier);
2249
+ let changedByWatch = false;
2250
+ const $RAF = window.requestAnimationFrame;
2251
+ let ngZone;
2252
+ const triggerWatchers = (ignoreMuted) => {
2517
2253
  if (muted && !ignoreMuted) {
2518
2254
  return;
2519
2255
  }
2256
+ const limit = 5;
2520
2257
  let pass = 1;
2521
2258
  let changeDetected;
2522
2259
  do {
2523
2260
  changeDetected = false;
2524
- registry.forEach((value) => {
2525
- // Handle grouped structure
2526
- if (value && typeof value === 'object' && !value.fn) {
2527
- Object.values(value).forEach((watchInfo) => {
2528
- if (processWatchInfo(watchInfo)) {
2529
- changeDetected = true;
2530
- }
2531
- });
2261
+ registry.forEach(watchInfo => {
2262
+ if (watchInfo.isMuted && watchInfo.isMuted()) {
2263
+ return;
2532
2264
  }
2533
- else {
2534
- // Direct watchInfo
2535
- if (processWatchInfo(value)) {
2536
- changeDetected = true;
2265
+ const fn = watchInfo.fn;
2266
+ const listener = watchInfo.listener;
2267
+ const ov = watchInfo.last;
2268
+ let nv;
2269
+ try {
2270
+ nv = fn();
2271
+ }
2272
+ catch (e) {
2273
+ console.warn(`error in executing expression: '${watchInfo.expr}'`);
2274
+ }
2275
+ if (!isEqual(nv, ov)) {
2276
+ changeDetected = true;
2277
+ changedByWatch = true;
2278
+ watchInfo.last = nv;
2279
+ // @ts-ignore
2280
+ if (isObject$1(nv) && !watchInfo.doNotClone && nv.__cloneable__ !== false) {
2281
+ watchInfo.last = clone(nv);
2537
2282
  }
2283
+ listener(nv, ov);
2284
+ resetChangeFromWatch();
2538
2285
  }
2539
2286
  });
2540
2287
  pass++;
2541
- } while (changeDetected && pass < MAX_WATCH_CYCLES);
2542
- if (changeDetected && pass === MAX_WATCH_CYCLES) {
2543
- console.warn(`Watch cycles exceeded limit of ${MAX_WATCH_CYCLES}`);
2288
+ } while (changeDetected && pass < limit);
2289
+ if (changeDetected && pass === limit) {
2290
+ console.warn(`Number of watch cycles gone above set limit of: ${limit} `);
2544
2291
  }
2545
2292
  };
2546
- // Angular zone integration
2547
- const setNgZone = (zone) => {
2548
- ngZone = zone;
2549
- };
2550
- const setAppRef = (ref) => {
2293
+ const setNgZone = zone => ngZone = zone;
2294
+ const setAppRef = ref => {
2551
2295
  appRef = ref;
2552
2296
  };
2553
2297
  const isChangeFromWatch = () => changedByWatch;
2554
- const resetChangeFromWatch = () => {
2555
- changedByWatch = false;
2556
- };
2557
- // Debounced trigger
2298
+ const resetChangeFromWatch = () => changedByWatch = false;
2299
+ window.watchRegistry = registry;
2300
+ let skipWatchers;
2558
2301
  const debouncedTriggerWatchers = debounce(() => {
2559
2302
  skipWatchers = true;
2560
2303
  ngZone.run(() => triggerWatchers());
2561
- }, DEBOUNCE_WAIT);
2562
- const $invokeWatchers = (force = false, ignoreMuted = false) => {
2304
+ }, 100);
2305
+ const $invokeWatchers = (force, ignoreMuted) => {
2563
2306
  if (force) {
2564
2307
  triggerWatchers(ignoreMuted);
2565
2308
  }
@@ -2573,8 +2316,7 @@ const $invokeWatchers = (force = false, ignoreMuted = false) => {
2573
2316
  };
2574
2317
  const $appDigest = (() => {
2575
2318
  let queued = false;
2576
- const $RAF = window.requestAnimationFrame;
2577
- return (force = false) => {
2319
+ return (force) => {
2578
2320
  if (!appRef) {
2579
2321
  return;
2580
2322
  }
@@ -2586,16 +2328,16 @@ const $appDigest = (() => {
2586
2328
  if (queued) {
2587
2329
  return;
2588
2330
  }
2589
- queued = true;
2590
- $RAF(() => {
2591
- ngZone.run(() => appRef.tick());
2592
- queued = false;
2593
- });
2331
+ else {
2332
+ queued = true;
2333
+ $RAF(() => {
2334
+ ngZone.run(() => appRef.tick());
2335
+ queued = false;
2336
+ });
2337
+ }
2594
2338
  }
2595
2339
  };
2596
2340
  })();
2597
- // Export registry for debugging
2598
- window.watchRegistry = registry;
2599
2341
 
2600
2342
  var ComponentType;
2601
2343
  (function (ComponentType) {
@@ -2698,7 +2440,6 @@ const REGEX = {
2698
2440
  MIN_PAGE_RESOURCE_PATH: /.*(page.min.html)$/,
2699
2441
  VALID_EMAIL: /^[a-zA-Z][\w.+]+@[a-zA-Z_]+?\.[a-zA-Z.]{1,4}[a-zA-Z]$/,
2700
2442
  VALID_WEB_URL: /^(http[s]?:\/\/)(www\.){0,1}[a-zA-Z0-9=:?\/\.\-]+(\.[a-zA-Z]{2,5}[\.]{0,1})?/,
2701
- VALID_IMAGE_URL: /^(https?|blob|data|file|ftp):/i,
2702
2443
  VALID_WEBSOCKET_URL: /^(ws[s]?:\/\/)(www\.){0,1}[a-zA-Z0-9=:?\/\.\-]+(\.[a-zA-Z]{2,5}[\.]{0,1})?/,
2703
2444
  VALID_RELATIVE_URL: /^(?!www\.|(?:http|ftp)s?:\/\/|[A-Za-z]:\\|\/\/).*/,
2704
2445
  REPLACE_PATTERN: /\$\{([^\}]+)\}/g,
@@ -2932,9 +2673,6 @@ const isVideoFile = (fileName) => {
2932
2673
  const isValidWebURL = (url) => {
2933
2674
  return (REGEX.VALID_WEB_URL).test(url);
2934
2675
  };
2935
- const isValidImageUrl = (url) => {
2936
- return (REGEX.VALID_IMAGE_URL).test(url?.trim());
2937
- };
2938
2676
  /*This function returns the url to the resource after checking the validity of url*/
2939
2677
  const getResourceURL = (urlString) => {
2940
2678
  if (isValidWebURL(urlString)) {
@@ -4200,7 +3938,6 @@ var Utils = /*#__PURE__*/Object.freeze({
4200
3938
  isPageable: isPageable,
4201
3939
  isSafari: isSafari,
4202
3940
  isTablet: isTablet,
4203
- isValidImageUrl: isValidImageUrl,
4204
3941
  isValidWebURL: isValidWebURL,
4205
3942
  isVideoFile: isVideoFile,
4206
3943
  loadScript: loadScript,
@@ -4294,10 +4031,7 @@ class EventNotifier {
4294
4031
  return noop;
4295
4032
  }
4296
4033
  destroy() {
4297
- this._subject.next(null); // optional
4298
- this._subject.complete(); // clears all observers
4299
- this._isInitialized = false;
4300
- this._eventsBeforeInit = [];
4034
+ this._subject.complete();
4301
4035
  }
4302
4036
  }
4303
4037
 
@@ -4316,11 +4050,9 @@ class Viewport {
4316
4050
  this.isTabletType = false;
4317
4051
  this._eventNotifier = new EventNotifier(true);
4318
4052
  this.setScreenType();
4319
- // MEMORY LEAK FIX: Store bound function reference for proper removal
4320
- this.boundResizeFn = this.resizeFn.bind(this);
4321
- window.addEventListener("resize" /* ViewportEvent.RESIZE */, this.boundResizeFn);
4322
- this.mediaQuery = window.matchMedia('(orientation: portrait)');
4323
- if (this.mediaQuery.matches) {
4053
+ window.addEventListener("resize" /* ViewportEvent.RESIZE */, this.resizeFn.bind(this));
4054
+ const query = window.matchMedia('(orientation: portrait)');
4055
+ if (query.matches) {
4324
4056
  this.orientation.isPortrait = true;
4325
4057
  }
4326
4058
  else {
@@ -4328,10 +4060,8 @@ class Viewport {
4328
4060
  }
4329
4061
  // Add a media query change listener
4330
4062
  // addEventListener is not supported ios browser
4331
- if (this.mediaQuery.addEventListener) {
4332
- // MEMORY LEAK FIX: Store bound function reference for proper removal
4333
- this.boundOrientationChange = ($event) => this.orientationChange($event, !$event.matches);
4334
- this.mediaQuery.addEventListener('change', this.boundOrientationChange);
4063
+ if (query.addEventListener) {
4064
+ query.addEventListener('change', $event => this.orientationChange($event, !$event.matches));
4335
4065
  }
4336
4066
  }
4337
4067
  update(selectedViewPort) {
@@ -4358,14 +4088,14 @@ class Viewport {
4358
4088
  return this._eventNotifier.subscribe(eventName, callback);
4359
4089
  }
4360
4090
  notify(eventName, ...data) {
4361
- this._eventNotifier.notify(eventName, ...data);
4091
+ this._eventNotifier.notify.apply(this._eventNotifier, arguments);
4362
4092
  }
4363
4093
  setScreenType() {
4364
4094
  const $el = document.querySelector('.wm-app');
4365
4095
  this.screenWidth = $el.clientWidth;
4366
4096
  this.screenHeight = $el.clientHeight;
4367
- // const minValue = this.screenWidth < this.screenHeight ? this.screenWidth : this.screenHeight;
4368
- // const maxValue = this.screenWidth > this.screenHeight ? this.screenWidth : this.screenHeight;
4097
+ var minValue = this.screenWidth < this.screenHeight ? this.screenWidth : this.screenHeight;
4098
+ var maxValue = this.screenWidth > this.screenHeight ? this.screenWidth : this.screenHeight;
4369
4099
  this.isTabletType = false;
4370
4100
  this.isMobileType = false;
4371
4101
  if (get(this.selectedViewPort, 'deviceCategory')) {
@@ -4397,17 +4127,7 @@ class Viewport {
4397
4127
  }
4398
4128
  ngOnDestroy() {
4399
4129
  this._eventNotifier.destroy();
4400
- // MEMORY LEAK FIX: Remove resize event listener using stored bound function reference
4401
- if (this.boundResizeFn) {
4402
- window.removeEventListener('resize', this.boundResizeFn);
4403
- this.boundResizeFn = null;
4404
- }
4405
- // MEMORY LEAK FIX: Remove media query orientation change listener
4406
- if (this.mediaQuery && this.boundOrientationChange && this.mediaQuery.removeEventListener) {
4407
- this.mediaQuery.removeEventListener('change', this.boundOrientationChange);
4408
- this.boundOrientationChange = null;
4409
- }
4410
- this.mediaQuery = null;
4130
+ window.removeEventListener('resize', this.resizeFn);
4411
4131
  }
4412
4132
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Viewport, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4413
4133
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Viewport, providedIn: 'root' }); }
@@ -5376,15 +5096,13 @@ class LRUCache {
5376
5096
  this.onEvict = onEvict;
5377
5097
  this.cache = new Map();
5378
5098
  this.evictQueue = [''];
5379
- this.evictionIntervalId = null; // MEMORY LEAK FIX: Store interval ID for cleanup
5380
5099
  this.evictQueue.shift();
5381
5100
  if (this.maxAge > 0) {
5382
5101
  if (this.maxAge <= 30) {
5383
5102
  console.warn(`Cache age ${this.maxAge}s is very less. Keep it atleast 30s.`);
5384
5103
  }
5385
5104
  this.maxAge = this.maxAge * 1000;
5386
- // MEMORY LEAK FIX: Store interval ID for cleanup
5387
- this.evictionIntervalId = window.setInterval(() => {
5105
+ setInterval(() => {
5388
5106
  const max = Date.now() - this.maxAge;
5389
5107
  const expiredData = this.evictQueue.filter(k => {
5390
5108
  return this.cache.get(k).lastAccessedTime <= max;
@@ -5449,18 +5167,6 @@ class LRUCache {
5449
5167
  clear() {
5450
5168
  this.evict(this.evictQueue.length);
5451
5169
  }
5452
- /**
5453
- * MEMORY LEAK FIX: Destroy the cache and clear the eviction interval
5454
- * Call this method when the cache is no longer needed to prevent memory leaks
5455
- */
5456
- destroy() {
5457
- // CRITICAL FIX: Clear the eviction interval to prevent memory leaks
5458
- if (this.evictionIntervalId !== null) {
5459
- clearInterval(this.evictionIntervalId);
5460
- this.evictionIntervalId = null;
5461
- }
5462
- this.clear();
5463
- }
5464
5170
  }
5465
5171
 
5466
5172
  /*
@@ -5471,5 +5177,5 @@ class LRUCache {
5471
5177
  * Generated bundle index. Do not edit.
5472
5178
  */
5473
5179
 
5474
- export { $appDigest, $invokeWatchers, $parseEvent, $parseExpr, $unwatch, $unwatchAll, $unwatchAllByScope, $watch, AbstractDialogService, AbstractHttpService, AbstractI18nService, AbstractNavigationService, AbstractSpinnerService, AbstractToasterService, App, AppConstants, AppDefaults, CURRENCY_INFO, ComponentType, ConstantService, CustomIconsLoaderService, CustomPipeManager, CustomWidgetRefProvider, DEFAULT_FORMATS, DataSource, DataType, DynamicComponentRefProvider, EventNotifier, FIRST_TIME_WATCH, FieldTypeService, FieldWidgetService, FormWidgetType, IDGenerator, IDataSource, LRUCache, MatchMode, PaginationService, PartialRefProvider, ScriptLoaderService, ScriptStore, StatePersistence, UserDefinedExecutionContext, UtilsService, VALIDATOR, Viewport, _WM_APP_PROJECT, addClass, addEventListenerOnElement, addForIdAttributes, adjustContainerPosition, adjustContainerRightEdges, appendNode, appendScriptToHead, checkIsCustomPipeExpression, closePopover, convertToBlob, createCSSRule, createElement, deHyphenate, debounce, defer, detectChanges, encodeUrl, encodeUrlParams, executePromiseChain, extendProto, extractCurrentItemExpr, extractType, fetchContent, findParent, findRootContainer, findValueOf, generateGUId, getAbortableDefer, getAndroidVersion, getAppSetting, getBlob, getClonedObject, getDatasourceFromExpr, getDateObj, getDisplayDateTimeFormat, getEvaluatedExprValue, getFiles, getFnByExpr, getFnForBindExpr, getFnForEventExpr, getFormWidgetTemplate, getFormattedDate, getMomentLocaleObject, getNativeDateObject, getNavClass, getNgModelAttr, getPreviewProperties, getRequiredFormWidget, getResourceURL, getRouteNameFromLink, getRowActionAttrs, getSessionStorageItem, getSheetPositionClass, getUrlParams, getValidDateObject, getValidJSON, getWebkitTraslationMatrix, getWmProjectProperties, hasOffsetStr, initCaps, insertAfter, insertBefore, isAndroid, isAndroidTablet, isAppleProduct, isAudioFile, isChangeFromWatch, isDataSourceEqual, isDateTimeType, isDefined, isElementInViewport, isEmptyObject, isEqualWithFields, isFirstTimeChange, isIE, isImageFile, isInsecureContentRequest, isIos, isIpad, isIphone, isIpod, isKitkatDevice, isLargeTabletLandscape, isLargeTabletPortrait, isMobile, isNumberType, isObject, isPageable, isSafari, isValidImageUrl, isValidWebURL, isVideoFile, loadScript, loadScripts, loadStyleSheet, loadStyleSheets, muteWatchers, noop, openLink, periodSeparate, prettifyLabel, prettifyLabels, processFilterExpBindNode, registerFnByExpr, removeAttr, removeClass, removeExtraSlashes, removeNode, replace, replaceAt, resetChangeFromWatch, retryIfFails, scrollToElement, setAppRef, setAttr, setCSS, setCSSFromObj, setHtml, setListClass, setNgZone, setPipeProvider, setPreviewProperties, setProperty, setSessionStorageItem, setTranslation3dPosition, setWmProjectProperties, spaceSeparate, stringStartsWith, switchClass, toBoolean, toDimension, toPromise, toggleClass, transformFileURI, triggerFn, triggerItemAction, unMuteWatchers, updateTemplateAttrs, validateAccessRoles, validateDataSourceCtx, xmlToJson };
5180
+ export { $appDigest, $invokeWatchers, $parseEvent, $parseExpr, $unwatch, $watch, AbstractDialogService, AbstractHttpService, AbstractI18nService, AbstractNavigationService, AbstractSpinnerService, AbstractToasterService, App, AppConstants, AppDefaults, CURRENCY_INFO, ComponentType, ConstantService, CustomIconsLoaderService, CustomPipeManager, CustomWidgetRefProvider, DEFAULT_FORMATS, DataSource, DataType, DynamicComponentRefProvider, EventNotifier, FIRST_TIME_WATCH, FieldTypeService, FieldWidgetService, FormWidgetType, IDGenerator, IDataSource, LRUCache, MatchMode, PaginationService, PartialRefProvider, ScriptLoaderService, ScriptStore, StatePersistence, UserDefinedExecutionContext, UtilsService, VALIDATOR, Viewport, _WM_APP_PROJECT, addClass, addEventListenerOnElement, addForIdAttributes, adjustContainerPosition, adjustContainerRightEdges, appendNode, appendScriptToHead, checkIsCustomPipeExpression, closePopover, convertToBlob, createCSSRule, createElement, deHyphenate, debounce, defer, detectChanges, encodeUrl, encodeUrlParams, executePromiseChain, extendProto, extractCurrentItemExpr, extractType, fetchContent, findParent, findRootContainer, findValueOf, generateGUId, getAbortableDefer, getAndroidVersion, getAppSetting, getBlob, getClonedObject, getDatasourceFromExpr, getDateObj, getDisplayDateTimeFormat, getEvaluatedExprValue, getFiles, getFnByExpr, getFnForBindExpr, getFnForEventExpr, getFormWidgetTemplate, getFormattedDate, getMomentLocaleObject, getNativeDateObject, getNavClass, getNgModelAttr, getPreviewProperties, getRequiredFormWidget, getResourceURL, getRouteNameFromLink, getRowActionAttrs, getSessionStorageItem, getSheetPositionClass, getUrlParams, getValidDateObject, getValidJSON, getWebkitTraslationMatrix, getWmProjectProperties, hasOffsetStr, initCaps, insertAfter, insertBefore, isAndroid, isAndroidTablet, isAppleProduct, isAudioFile, isChangeFromWatch, isDataSourceEqual, isDateTimeType, isDefined, isElementInViewport, isEmptyObject, isEqualWithFields, isFirstTimeChange, isIE, isImageFile, isInsecureContentRequest, isIos, isIpad, isIphone, isIpod, isKitkatDevice, isLargeTabletLandscape, isLargeTabletPortrait, isMobile, isNumberType, isObject, isPageable, isSafari, isValidWebURL, isVideoFile, loadScript, loadScripts, loadStyleSheet, loadStyleSheets, muteWatchers, noop, openLink, periodSeparate, prettifyLabel, prettifyLabels, processFilterExpBindNode, registerFnByExpr, removeAttr, removeClass, removeExtraSlashes, removeNode, replace, replaceAt, resetChangeFromWatch, retryIfFails, scrollToElement, setAppRef, setAttr, setCSS, setCSSFromObj, setHtml, setListClass, setNgZone, setPipeProvider, setPreviewProperties, setProperty, setSessionStorageItem, setTranslation3dPosition, setWmProjectProperties, spaceSeparate, stringStartsWith, switchClass, toBoolean, toDimension, toPromise, toggleClass, transformFileURI, triggerFn, triggerItemAction, unMuteWatchers, updateTemplateAttrs, validateAccessRoles, validateDataSourceCtx, xmlToJson };
5475
5181
  //# sourceMappingURL=index.mjs.map