@wavemaker/app-ng-runtime 11.14.1-rc.6311 → 11.14.2-rc.242

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 (407) hide show
  1. package/components/advanced/carousel/bundles/index.umd.js +15 -1
  2. package/components/advanced/carousel/carousel.directive.d.ts +1 -0
  3. package/components/advanced/carousel/esm2022/carousel.directive.mjs +16 -2
  4. package/components/advanced/carousel/fesm2022/index.mjs +15 -1
  5. package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  6. package/components/advanced/login/bundles/index.umd.js +24 -3
  7. package/components/advanced/login/esm2022/login.component.mjs +25 -4
  8. package/components/advanced/login/fesm2022/index.mjs +24 -3
  9. package/components/advanced/login/fesm2022/index.mjs.map +1 -1
  10. package/components/advanced/login/login.component.d.ts +5 -2
  11. package/components/base/bundles/index.umd.js +323 -28
  12. package/components/base/directives/show-in-device.directive.d.ts +2 -1
  13. package/components/base/esm2022/directives/show-in-device.directive.mjs +22 -4
  14. package/components/base/esm2022/pipes/custom-pipes.mjs +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 +27 -1
  17. package/components/base/esm2022/widgets/common/base/base-field-validations.mjs +18 -1
  18. package/components/base/esm2022/widgets/common/base/base.component.mjs +68 -7
  19. package/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +9 -1
  20. package/components/base/esm2022/widgets/common/base/dataset-aware-nav.component.mjs +44 -11
  21. package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +20 -1
  22. package/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +26 -1
  23. package/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +44 -4
  24. package/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +16 -1
  25. package/components/base/esm2022/widgets/common/pull-to-refresh/pull-to-refresh.mjs +22 -1
  26. package/components/base/esm2022/widgets/framework/property-change-handler.mjs +7 -2
  27. package/components/base/esm2022/widgets/framework/widget-proxy-provider.mjs +5 -3
  28. package/components/base/esm2022/widgets/framework/widget-registry.mjs +6 -3
  29. package/components/base/fesm2022/index.mjs +319 -26
  30. package/components/base/fesm2022/index.mjs.map +1 -1
  31. package/components/base/widgets/common/base/base-container.component.d.ts +3 -2
  32. package/components/base/widgets/common/base/base-field-validations.d.ts +1 -0
  33. package/components/base/widgets/common/base/custom-widget-container.directive.d.ts +3 -2
  34. package/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +6 -2
  35. package/components/base/widgets/common/base/partial-container.directive.d.ts +3 -2
  36. package/components/base/widgets/common/item-template/item-template.directive.d.ts +3 -2
  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 +3 -2
  39. package/components/base/widgets/common/pull-to-refresh/pull-to-refresh.d.ts +3 -2
  40. package/components/basic/anchor/bundles/index.umd.js +13 -1
  41. package/components/basic/anchor/esm2022/anchor.component.mjs +14 -2
  42. package/components/basic/anchor/fesm2022/index.mjs +13 -1
  43. package/components/basic/anchor/fesm2022/index.mjs.map +1 -1
  44. package/components/basic/html/bundles/index.umd.js +13 -1
  45. package/components/basic/html/esm2022/html.directive.mjs +14 -2
  46. package/components/basic/html/fesm2022/index.mjs +13 -1
  47. package/components/basic/html/fesm2022/index.mjs.map +1 -1
  48. package/components/basic/label/bundles/index.umd.js +17 -1
  49. package/components/basic/label/esm2022/label.directive.mjs +18 -2
  50. package/components/basic/label/fesm2022/index.mjs +17 -1
  51. package/components/basic/label/fesm2022/index.mjs.map +1 -1
  52. package/components/basic/label/label.directive.d.ts +3 -2
  53. package/components/basic/progress/progress-circle/bundles/index.umd.js +10 -0
  54. package/components/basic/progress/progress-circle/esm2022/progress-circle.component.mjs +11 -1
  55. package/components/basic/progress/progress-circle/fesm2022/index.mjs +10 -0
  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 +3 -2
  58. package/components/basic/search/bundles/index.umd.js +27 -1
  59. package/components/basic/search/esm2022/scrollable.directive.mjs +11 -2
  60. package/components/basic/search/esm2022/search.component.mjs +18 -1
  61. package/components/basic/search/fesm2022/index.mjs +27 -1
  62. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  63. package/components/basic/search/scrollable.directive.d.ts +4 -2
  64. package/components/basic/search/search.component.d.ts +3 -2
  65. package/components/basic/spinner/bundles/index.umd.js +9 -1
  66. package/components/basic/spinner/esm2022/spinner.component.mjs +10 -2
  67. package/components/basic/spinner/fesm2022/index.mjs +9 -1
  68. package/components/basic/spinner/fesm2022/index.mjs.map +1 -1
  69. package/components/basic/spinner/spinner.component.d.ts +4 -2
  70. package/components/chart/bundles/index.umd.js +21 -3
  71. package/components/chart/esm2022/chart.component.mjs +22 -4
  72. package/components/chart/fesm2022/index.mjs +21 -3
  73. package/components/chart/fesm2022/index.mjs.map +1 -1
  74. package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +3 -2
  75. package/components/containers/accordion/accordion.directive.d.ts +5 -2
  76. package/components/containers/accordion/bundles/index.umd.js +49 -2
  77. package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +10 -1
  78. package/components/containers/accordion/esm2022/accordion.directive.mjs +41 -3
  79. package/components/containers/accordion/fesm2022/index.mjs +49 -2
  80. package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  81. package/components/containers/panel/bundles/index.umd.js +13 -0
  82. package/components/containers/panel/esm2022/panel.component.mjs +14 -1
  83. package/components/containers/panel/fesm2022/index.mjs +13 -0
  84. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  85. package/components/containers/panel/panel.component.d.ts +3 -2
  86. package/components/containers/tabs/bundles/index.umd.js +54 -2
  87. package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +10 -1
  88. package/components/containers/tabs/esm2022/tabs.component.mjs +46 -3
  89. package/components/containers/tabs/fesm2022/index.mjs +54 -2
  90. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  91. package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +3 -2
  92. package/components/containers/tabs/tabs.component.d.ts +5 -2
  93. package/components/containers/wizard/bundles/index.umd.js +47 -3
  94. package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +16 -3
  95. package/components/containers/wizard/esm2022/wizard.component.mjs +33 -2
  96. package/components/containers/wizard/fesm2022/index.mjs +47 -3
  97. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  98. package/components/containers/wizard/wizard-step/wizard-step.component.d.ts +3 -2
  99. package/components/containers/wizard/wizard.component.d.ts +4 -2
  100. package/components/data/card/bundles/index.umd.js +17 -1
  101. package/components/data/card/card-content/card-content.component.d.ts +3 -2
  102. package/components/data/card/card.component.d.ts +4 -2
  103. package/components/data/card/esm2022/card-content/card-content.component.mjs +6 -1
  104. package/components/data/card/esm2022/card.component.mjs +13 -2
  105. package/components/data/card/fesm2022/index.mjs +17 -1
  106. package/components/data/card/fesm2022/index.mjs.map +1 -1
  107. package/components/data/form/bundles/index.umd.js +92 -0
  108. package/components/data/form/esm2022/form-action/form-action.directive.mjs +7 -1
  109. package/components/data/form/esm2022/form-field/form-field.directive.mjs +28 -1
  110. package/components/data/form/esm2022/form-widget.directive.mjs +8 -1
  111. package/components/data/form/esm2022/form.component.mjs +27 -1
  112. package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +7 -1
  113. package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +12 -1
  114. package/components/data/form/esm2022/live-form/live-form.directive.mjs +10 -1
  115. package/components/data/form/fesm2022/index.mjs +92 -0
  116. package/components/data/form/fesm2022/index.mjs.map +1 -1
  117. package/components/data/form/form-action/form-action.directive.d.ts +3 -2
  118. package/components/data/form/form-field/form-field.directive.d.ts +3 -2
  119. package/components/data/form/form-widget.directive.d.ts +3 -2
  120. package/components/data/form/live-actions/live-actions.directive.d.ts +3 -1
  121. package/components/data/form/live-filter/live-filter.directive.d.ts +3 -1
  122. package/components/data/form/live-form/live-form.directive.d.ts +3 -1
  123. package/components/data/list/bundles/index.umd.js +180 -17
  124. package/components/data/list/esm2022/list-item.directive.mjs +95 -11
  125. package/components/data/list/esm2022/list.component.mjs +87 -8
  126. package/components/data/list/fesm2022/index.mjs +180 -17
  127. package/components/data/list/fesm2022/index.mjs.map +1 -1
  128. package/components/data/list/list-item.directive.d.ts +7 -2
  129. package/components/data/list/list.component.d.ts +3 -0
  130. package/components/data/live-table/bundles/index.umd.js +13 -1
  131. package/components/data/live-table/esm2022/live-table.component.mjs +14 -2
  132. package/components/data/live-table/fesm2022/index.mjs +13 -1
  133. package/components/data/live-table/fesm2022/index.mjs.map +1 -1
  134. package/components/data/live-table/live-table.component.d.ts +4 -2
  135. package/components/data/pagination/bundles/index.umd.js +57 -4
  136. package/components/data/pagination/esm2022/pagination.component.mjs +58 -5
  137. package/components/data/pagination/fesm2022/index.mjs +57 -4
  138. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  139. package/components/data/pagination/pagination.component.d.ts +4 -2
  140. package/components/data/table/bundles/index.umd.js +311 -12
  141. package/components/data/table/esm2022/table-action/table-action.directive.mjs +8 -1
  142. package/components/data/table/esm2022/table-column/table-column.directive.mjs +107 -3
  143. package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +9 -1
  144. package/components/data/table/esm2022/table-cud.directive.mjs +8 -2
  145. package/components/data/table/esm2022/table-filter.directive.mjs +12 -2
  146. package/components/data/table/esm2022/table-row/table-row.directive.mjs +8 -1
  147. package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +8 -1
  148. package/components/data/table/esm2022/table.component.mjs +159 -9
  149. package/components/data/table/fesm2022/index.mjs +311 -12
  150. package/components/data/table/fesm2022/index.mjs.map +1 -1
  151. package/components/data/table/table-action/table-action.directive.d.ts +3 -2
  152. package/components/data/table/table-column/table-column.directive.d.ts +3 -2
  153. package/components/data/table/table-column-group/table-column-group.directive.d.ts +3 -2
  154. package/components/data/table/table-cud.directive.d.ts +3 -1
  155. package/components/data/table/table-filter.directive.d.ts +3 -1
  156. package/components/data/table/table-row/table-row.directive.d.ts +3 -2
  157. package/components/data/table/table-row-action/table-row-action.directive.d.ts +3 -2
  158. package/components/data/table/table.component.d.ts +2 -2
  159. package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +3 -2
  160. package/components/dialogs/alert-dialog/bundles/index.umd.js +5 -0
  161. package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +6 -1
  162. package/components/dialogs/alert-dialog/fesm2022/index.mjs +5 -0
  163. package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  164. package/components/dialogs/confirm-dialog/bundles/index.umd.js +5 -0
  165. package/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +3 -2
  166. package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +6 -1
  167. package/components/dialogs/confirm-dialog/fesm2022/index.mjs +5 -0
  168. package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  169. package/components/dialogs/default/bundles/index.umd.js +15 -2
  170. package/components/dialogs/default/dialog-body/dialog-body.directive.d.ts +4 -2
  171. package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +16 -3
  172. package/components/dialogs/default/fesm2022/index.mjs +15 -2
  173. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  174. package/components/dialogs/design-dialog/bundles/index.umd.js +7 -0
  175. package/components/dialogs/design-dialog/dialog.component.d.ts +3 -2
  176. package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +8 -1
  177. package/components/dialogs/design-dialog/fesm2022/index.mjs +7 -0
  178. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  179. package/components/dialogs/iframe-dialog/bundles/index.umd.js +5 -0
  180. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +6 -1
  181. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +5 -0
  182. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  183. package/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +3 -2
  184. package/components/dialogs/partial-dialog/bundles/index.umd.js +23 -3
  185. package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +24 -4
  186. package/components/dialogs/partial-dialog/fesm2022/index.mjs +23 -3
  187. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  188. package/components/dialogs/partial-dialog/partial-dialog.component.d.ts +4 -2
  189. package/components/input/base-form/base-form.component.d.ts +4 -2
  190. package/components/input/base-form/bundles/index.umd.js +16 -2
  191. package/components/input/base-form/esm2022/base-form.component.mjs +17 -3
  192. package/components/input/base-form/fesm2022/index.mjs +16 -2
  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 +3 -2
  195. package/components/input/base-form-custom/bundles/index.umd.js +13 -2
  196. package/components/input/base-form-custom/esm2022/base-form-custom.component.mjs +14 -3
  197. package/components/input/base-form-custom/fesm2022/index.mjs +13 -2
  198. package/components/input/base-form-custom/fesm2022/index.mjs.map +1 -1
  199. package/components/input/checkbox/bundles/index.umd.js +7 -0
  200. package/components/input/checkbox/checkbox.component.d.ts +3 -2
  201. package/components/input/checkbox/esm2022/checkbox.component.mjs +8 -1
  202. package/components/input/checkbox/fesm2022/index.mjs +7 -0
  203. package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
  204. package/components/input/checkboxset/bundles/index.umd.js +18 -2
  205. package/components/input/checkboxset/checkboxset.component.d.ts +4 -2
  206. package/components/input/checkboxset/esm2022/checkboxset.component.mjs +19 -3
  207. package/components/input/checkboxset/fesm2022/index.mjs +18 -2
  208. package/components/input/checkboxset/fesm2022/index.mjs.map +1 -1
  209. package/components/input/chips/bundles/index.umd.js +45 -5
  210. package/components/input/chips/chips.component.d.ts +3 -2
  211. package/components/input/chips/esm2022/chips.component.mjs +46 -6
  212. package/components/input/chips/fesm2022/index.mjs +45 -5
  213. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  214. package/components/input/color-picker/bundles/index.umd.js +8 -0
  215. package/components/input/color-picker/color-picker.component.d.ts +3 -2
  216. package/components/input/color-picker/esm2022/color-picker.component.mjs +9 -1
  217. package/components/input/color-picker/fesm2022/index.mjs +8 -0
  218. package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  219. package/components/input/composite/bundles/index.umd.js +10 -1
  220. package/components/input/composite/composite.directive.d.ts +3 -2
  221. package/components/input/composite/esm2022/composite.directive.mjs +11 -2
  222. package/components/input/composite/fesm2022/index.mjs +10 -1
  223. package/components/input/composite/fesm2022/index.mjs.map +1 -1
  224. package/components/input/currency/bundles/index.umd.js +7 -0
  225. package/components/input/currency/currency.component.d.ts +3 -2
  226. package/components/input/currency/esm2022/currency.component.mjs +8 -1
  227. package/components/input/currency/fesm2022/index.mjs +7 -0
  228. package/components/input/currency/fesm2022/index.mjs.map +1 -1
  229. package/components/input/dataset-aware-form/bundles/index.umd.js +26 -2
  230. package/components/input/dataset-aware-form/esm2022/dataset-aware-form.component.mjs +27 -3
  231. package/components/input/dataset-aware-form/fesm2022/index.mjs +26 -2
  232. package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -1
  233. package/components/input/epoch/date/bundles/index.umd.js +22 -0
  234. package/components/input/epoch/date/date.component.d.ts +1 -0
  235. package/components/input/epoch/date/esm2022/date.component.mjs +23 -1
  236. package/components/input/epoch/date/fesm2022/index.mjs +22 -0
  237. package/components/input/epoch/date/fesm2022/index.mjs.map +1 -1
  238. package/components/input/file-upload/bundles/index.umd.js +25 -8
  239. package/components/input/file-upload/esm2022/file-upload.component.mjs +26 -9
  240. package/components/input/file-upload/fesm2022/index.mjs +25 -8
  241. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  242. package/components/input/file-upload/file-upload.component.d.ts +3 -0
  243. package/components/input/number/bundles/index.umd.js +8 -0
  244. package/components/input/number/esm2022/number.component.mjs +9 -1
  245. package/components/input/number/fesm2022/index.mjs +8 -0
  246. package/components/input/number/fesm2022/index.mjs.map +1 -1
  247. package/components/input/number/number.component.d.ts +3 -2
  248. package/components/input/radioset/bundles/index.umd.js +18 -2
  249. package/components/input/radioset/esm2022/radioset.component.mjs +19 -3
  250. package/components/input/radioset/fesm2022/index.mjs +18 -2
  251. package/components/input/radioset/fesm2022/index.mjs.map +1 -1
  252. package/components/input/radioset/radioset.component.d.ts +4 -2
  253. package/components/input/rating/bundles/index.umd.js +10 -0
  254. package/components/input/rating/esm2022/rating.component.mjs +11 -1
  255. package/components/input/rating/fesm2022/index.mjs +10 -0
  256. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  257. package/components/input/rating/rating.component.d.ts +3 -2
  258. package/components/input/select/bundles/index.umd.js +6 -0
  259. package/components/input/select/esm2022/select.component.mjs +7 -1
  260. package/components/input/select/fesm2022/index.mjs +6 -0
  261. package/components/input/select/fesm2022/index.mjs.map +1 -1
  262. package/components/input/select/select.component.d.ts +3 -2
  263. package/components/input/slider/bundles/index.umd.js +10 -0
  264. package/components/input/slider/esm2022/slider.component.mjs +11 -1
  265. package/components/input/slider/fesm2022/index.mjs +10 -0
  266. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  267. package/components/input/slider/slider.component.d.ts +3 -2
  268. package/components/input/switch/bundles/index.umd.js +22 -2
  269. package/components/input/switch/esm2022/switch.component.mjs +23 -3
  270. package/components/input/switch/fesm2022/index.mjs +22 -2
  271. package/components/input/switch/fesm2022/index.mjs.map +1 -1
  272. package/components/input/switch/switch.component.d.ts +3 -2
  273. package/components/input/text/bundles/index.umd.js +36 -0
  274. package/components/input/text/esm2022/input-calendar/input-calendar.component.mjs +8 -1
  275. package/components/input/text/esm2022/input-color/input-color.component.mjs +8 -1
  276. package/components/input/text/esm2022/input-email/input-email.component.mjs +8 -1
  277. package/components/input/text/esm2022/input-number/input-number.component.mjs +8 -1
  278. package/components/input/text/esm2022/input-text/input-text.component.mjs +9 -1
  279. package/components/input/text/fesm2022/index.mjs +36 -0
  280. package/components/input/text/fesm2022/index.mjs.map +1 -1
  281. package/components/input/text/input-calendar/input-calendar.component.d.ts +3 -2
  282. package/components/input/text/input-color/input-color.component.d.ts +3 -2
  283. package/components/input/text/input-email/input-email.component.d.ts +3 -2
  284. package/components/input/text/input-number/input-number.component.d.ts +3 -2
  285. package/components/input/text/input-text/input-text.component.d.ts +3 -2
  286. package/components/input/textarea/bundles/index.umd.js +7 -0
  287. package/components/input/textarea/esm2022/textarea.component.mjs +8 -1
  288. package/components/input/textarea/fesm2022/index.mjs +7 -0
  289. package/components/input/textarea/fesm2022/index.mjs.map +1 -1
  290. package/components/input/textarea/textarea.component.d.ts +3 -2
  291. package/components/navigation/menu/bundles/index.umd.js +55 -6
  292. package/components/navigation/menu/esm2022/menu-adapator.component.mjs +17 -3
  293. package/components/navigation/menu/esm2022/menu.component.mjs +10 -3
  294. package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +6 -1
  295. package/components/navigation/menu/esm2022/nav/nav.component.mjs +11 -1
  296. package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +16 -3
  297. package/components/navigation/menu/fesm2022/index.mjs +55 -6
  298. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  299. package/components/navigation/menu/menu-adapator.component.d.ts +4 -2
  300. package/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +3 -2
  301. package/components/navigation/menu/nav/nav.component.d.ts +3 -2
  302. package/components/navigation/menu/nav/navigation-control.directive.d.ts +4 -2
  303. package/components/navigation/navbar/bundles/index.umd.js +5 -0
  304. package/components/navigation/navbar/esm2022/navbar.component.mjs +6 -1
  305. package/components/navigation/navbar/fesm2022/index.mjs +5 -0
  306. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  307. package/components/navigation/navbar/navbar.component.d.ts +3 -2
  308. package/components/navigation/popover/bundles/index.umd.js +65 -13
  309. package/components/navigation/popover/esm2022/popover.component.mjs +63 -11
  310. package/components/navigation/popover/fesm2022/index.mjs +62 -10
  311. package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  312. package/components/navigation/popover/popover.component.d.ts +11 -3
  313. package/components/page/default/bundles/index.umd.js +20 -2
  314. package/components/page/default/esm2022/layout.directive.mjs +9 -1
  315. package/components/page/default/esm2022/page-content/page-content.component.mjs +13 -3
  316. package/components/page/default/fesm2022/index.mjs +20 -2
  317. package/components/page/default/fesm2022/index.mjs.map +1 -1
  318. package/components/page/default/layout.directive.d.ts +3 -2
  319. package/components/page/default/page-content/page-content.component.d.ts +3 -2
  320. package/components/page/left-panel/bundles/index.umd.js +16 -0
  321. package/components/page/left-panel/esm2022/left-panel.directive.mjs +17 -1
  322. package/components/page/left-panel/fesm2022/index.mjs +16 -0
  323. package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  324. package/components/page/left-panel/left-panel.directive.d.ts +3 -2
  325. package/components/page/top-nav/bundles/index.umd.js +2 -1
  326. package/components/page/top-nav/esm2022/top-nav.props.mjs +3 -2
  327. package/components/page/top-nav/fesm2022/index.mjs +2 -1
  328. package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  329. package/components/prefab/bundles/index.umd.js +4 -0
  330. package/components/prefab/esm2022/prefab.directive.mjs +5 -1
  331. package/components/prefab/fesm2022/index.mjs +4 -0
  332. package/components/prefab/fesm2022/index.mjs.map +1 -1
  333. package/core/bundles/index.umd.js +391 -94
  334. package/core/esm2022/public_api.mjs +3 -3
  335. package/core/esm2022/services/viewport.service.mjs +24 -10
  336. package/core/esm2022/types/types.mjs +1 -1
  337. package/core/esm2022/utils/dom.mjs +18 -2
  338. package/core/esm2022/utils/event-notifier.mjs +5 -2
  339. package/core/esm2022/utils/lru-cache.mjs +16 -2
  340. package/core/esm2022/utils/utils.mjs +6 -2
  341. package/core/esm2022/utils/watcher.mjs +323 -81
  342. package/core/fesm2022/index.mjs +390 -96
  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 +5 -2
  346. package/core/types/types.d.ts +1 -0
  347. package/core/utils/lru-cache.d.ts +6 -0
  348. package/core/utils/utils.d.ts +1 -0
  349. package/core/utils/watcher.d.ts +26 -5
  350. package/http/bundles/index.umd.js +31 -1
  351. package/http/esm2022/http.service.mjs +32 -2
  352. package/http/fesm2022/index.mjs +31 -1
  353. package/http/fesm2022/index.mjs.map +1 -1
  354. package/http/http.service.d.ts +6 -2
  355. package/npm-shrinkwrap.json +2 -2
  356. package/oAuth/bundles/index.umd.js +9 -0
  357. package/oAuth/esm2022/oAuth.service.mjs +10 -1
  358. package/oAuth/fesm2022/index.mjs +9 -0
  359. package/oAuth/fesm2022/index.mjs.map +1 -1
  360. package/oAuth/oAuth.service.d.ts +3 -1
  361. package/package-lock.json +2 -2
  362. package/package.json +1 -1
  363. package/runtime/base/bundles/index.umd.js +364 -30
  364. package/runtime/base/components/app-component/app.component.d.ts +4 -0
  365. package/runtime/base/components/prefab-preview.component.d.ts +5 -2
  366. package/runtime/base/directives/accessroles.directive.d.ts +4 -3
  367. package/runtime/base/directives/prefab.directive.d.ts +3 -2
  368. package/runtime/base/esm2022/components/app-component/app.component.mjs +40 -9
  369. package/runtime/base/esm2022/components/base-custom-widget.component.mjs +33 -2
  370. package/runtime/base/esm2022/components/base-layout.component.mjs +7 -1
  371. package/runtime/base/esm2022/components/base-page.component.mjs +36 -3
  372. package/runtime/base/esm2022/components/base-partial.component.mjs +37 -3
  373. package/runtime/base/esm2022/components/base-prefab.component.mjs +32 -3
  374. package/runtime/base/esm2022/components/base-spa-page.component.mjs +37 -3
  375. package/runtime/base/esm2022/components/prefab-preview.component.mjs +23 -4
  376. package/runtime/base/esm2022/directives/accessroles.directive.mjs +11 -2
  377. package/runtime/base/esm2022/directives/prefab.directive.mjs +9 -1
  378. package/runtime/base/esm2022/services/app.manager.service.mjs +37 -10
  379. package/runtime/base/esm2022/services/app.service.mjs +34 -2
  380. package/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +4 -1
  381. package/runtime/base/esm2022/services/pipe-provider.service.mjs +7 -4
  382. package/runtime/base/esm2022/services/spinner.service.mjs +15 -1
  383. package/runtime/base/esm2022/util/fragment-monitor.mjs +23 -2
  384. package/runtime/base/fesm2022/index.mjs +365 -31
  385. package/runtime/base/fesm2022/index.mjs.map +1 -1
  386. package/runtime/base/services/app.manager.service.d.ts +6 -1
  387. package/runtime/base/services/app.service.d.ts +12 -2
  388. package/runtime/base/services/dynamic-component-ref-provider.service.d.ts +2 -1
  389. package/runtime/base/services/spinner.service.d.ts +3 -1
  390. package/runtime/base/util/fragment-monitor.d.ts +6 -0
  391. package/runtime/dynamic/bundles/index.umd.js +5 -0
  392. package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +6 -1
  393. package/runtime/dynamic/fesm2022/index.mjs +5 -0
  394. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  395. package/scripts/datatable/datatable.js +100 -14
  396. package/security/bundles/index.umd.js +41 -2
  397. package/security/esm2022/security.service.mjs +42 -3
  398. package/security/fesm2022/index.mjs +41 -2
  399. package/security/fesm2022/index.mjs.map +1 -1
  400. package/security/security.service.d.ts +5 -2
  401. package/variables/bundles/index.umd.js +50 -6
  402. package/variables/esm2022/manager/action/notification-action.manager.mjs +18 -3
  403. package/variables/esm2022/manager/variable/base-variable.manager.mjs +15 -2
  404. package/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +13 -3
  405. package/variables/esm2022/service/variables.service.mjs +8 -2
  406. package/variables/fesm2022/index.mjs +50 -6
  407. package/variables/fesm2022/index.mjs.map +1 -1
@@ -186,8 +186,15 @@
186
186
  this.setDataGridOption('colDefs', i2.getClonedObject(this.fieldDefs));
187
187
  }
188
188
  // If data and colDefs are present, call on before data render event
189
+ // Note: Errors in beforedatarender should not prevent table rendering
189
190
  if (!this.isdynamictable && !lodashEs.isEmpty(newValue) && gridOptions.colDefs.length) {
190
- this.invokeEventCallback('beforedatarender', { $data: this._gridData, $columns: this.columns, data: this._gridData, columns: this.columns });
191
+ try {
192
+ this.invokeEventCallback('beforedatarender', { $data: this._gridData, $columns: this.columns, data: this._gridData, columns: this.columns });
193
+ }
194
+ catch (error) {
195
+ // Log error but continue with rendering - beforedatarender errors should not block table rendering
196
+ console.warn('Error in beforedatarender event callback, continuing with table rendering:', error);
197
+ }
191
198
  }
192
199
  this.setDataGridOption('data', i2.getClonedObject(this._gridData));
193
200
  }
@@ -580,7 +587,7 @@
580
587
  this.prevData = i2.getClonedObject(row);
581
588
  },
582
589
  afterRowUpdate: (row, e, callBack, options) => {
583
- this.updateRecord(lodashEs.extend({}, options, { row, 'prevData': this.prevData, 'event': e, 'callBack': callBack }));
590
+ this.updateRecord(lodashEs.extend({}, options, { row, 'prevData': options.rowindex ? options.rowindex : this.prevData, 'event': e, 'callBack': callBack }));
584
591
  },
585
592
  onBeforeRowUpdate: (row, e, options) => {
586
593
  return this.invokeEventCallback('beforerowupdate', { $event: e, $data: row, row, options: options });
@@ -1234,6 +1241,10 @@
1234
1241
  return this.actualPageSize || 5;
1235
1242
  }
1236
1243
  watchVariableDataSet(newVal) {
1244
+ // Guard against component destruction
1245
+ if (this.isDestroyed) {
1246
+ return;
1247
+ }
1237
1248
  let result;
1238
1249
  // Check for Variable filters if applied
1239
1250
  if (this.gridOptions.isNavTypeScrollOrOndemand()) {
@@ -1291,6 +1302,12 @@
1291
1302
  }
1292
1303
  /*Return if data is invalid.*/
1293
1304
  if (!this.isDataValid()) {
1305
+ // If data is invalid and variableInflight is still true, clear loading state
1306
+ // This prevents tables from getting stuck in loading when data is invalid
1307
+ if (this.variableInflight) {
1308
+ this.variableInflight = false;
1309
+ this.setGridData([]);
1310
+ }
1294
1311
  return;
1295
1312
  }
1296
1313
  // If value is empty or in studio mode, dont enable the navigation
@@ -1318,7 +1335,13 @@
1318
1335
  // @ts-ignore
1319
1336
  if (!lodashEs.isObject(newVal) || newVal === '' || (newVal && newVal.dataValue === '')) {
1320
1337
  if (!this.variableInflight) {
1321
- // If variable has finished loading and resultSet is empty, ender empty data
1338
+ // If variable has finished loading and resultSet is empty, render empty data
1339
+ this.setGridData([]);
1340
+ }
1341
+ else {
1342
+ // If variableInflight is still true but we have invalid/empty data, clear loading state
1343
+ // This handles cases where data never arrives or is invalid
1344
+ this.variableInflight = false;
1322
1345
  this.setGridData([]);
1323
1346
  }
1324
1347
  return;
@@ -1328,13 +1351,117 @@
1328
1351
  }
1329
1352
  }
1330
1353
  ngOnDestroy() {
1354
+ // MEMORY LEAK FIX: Remove document click listener
1331
1355
  document.removeEventListener('click', this.documentClickBind);
1356
+ // MEMORY LEAK FIX: Unsubscribe from navigator watches
1332
1357
  if (this.navigatorResultWatch) {
1333
1358
  this.navigatorResultWatch.unsubscribe();
1359
+ this.navigatorResultWatch = null;
1334
1360
  }
1335
1361
  if (this.navigatorMaxResultWatch) {
1336
1362
  this.navigatorMaxResultWatch.unsubscribe();
1363
+ this.navigatorMaxResultWatch = null;
1364
+ }
1365
+ // MEMORY LEAK FIX: Clear all ViewContainerRef embedded views
1366
+ // These hold references to row data, custom expressions, and inline widgets
1367
+ if (this.customExprViewRef) {
1368
+ this.customExprViewRef.clear();
1369
+ }
1370
+ if (this.rowActionsViewRef) {
1371
+ this.rowActionsViewRef.clear();
1372
+ }
1373
+ if (this.filterViewRef) {
1374
+ this.filterViewRef.clear();
1337
1375
  }
1376
+ if (this.inlineEditViewRef) {
1377
+ this.inlineEditViewRef.clear();
1378
+ }
1379
+ if (this.inlineEditNewViewRef) {
1380
+ this.inlineEditNewViewRef.clear();
1381
+ }
1382
+ if (this.rowDetailViewRef) {
1383
+ this.rowDetailViewRef.clear();
1384
+ }
1385
+ if (this.rowExpansionActionViewRef) {
1386
+ this.rowExpansionActionViewRef.clear();
1387
+ }
1388
+ if (this.dynamicTableRef) {
1389
+ this.dynamicTableRef.clear();
1390
+ }
1391
+ // MEMORY LEAK FIX: Clear compiled template caches
1392
+ this.rowActionsCompiledTl = {};
1393
+ this.rowFilterCompliedTl = {};
1394
+ this.inlineCompliedTl = {};
1395
+ this.inlineNewCompliedTl = {};
1396
+ this.customExprCompiledTl = {};
1397
+ this.customExprCompiledSummaryTl = {};
1398
+ this.rowDefInstances = {};
1399
+ this.rowDefMap = {};
1400
+ this.rowExpansionActionTl = {};
1401
+ // MEMORY LEAK FIX: Clear dynamic context
1402
+ if (this._dynamicContext) {
1403
+ Object.keys(this._dynamicContext).forEach(key => {
1404
+ delete this._dynamicContext[key];
1405
+ });
1406
+ this._dynamicContext = null;
1407
+ }
1408
+ // MEMORY LEAK FIX: Clear data arrays
1409
+ this._gridData = [];
1410
+ this.items = [];
1411
+ this.selectedItems = [];
1412
+ this.fieldDefs = [];
1413
+ this.fullFieldDefs = [];
1414
+ this.gridData = [];
1415
+ this.__fullData = null;
1416
+ // MEMORY LEAK FIX: Destroy jQuery datatable widget before clearing gridOptions
1417
+ if (this.datagridElement && this.datagridElement.datatable) {
1418
+ try {
1419
+ this.datagridElement.datatable('destroy');
1420
+ }
1421
+ catch (e) {
1422
+ // Ignore errors during destroy
1423
+ }
1424
+ }
1425
+ // MEMORY LEAK FIX: Clear other data structures
1426
+ this.columns = {};
1427
+ this.formfields = {};
1428
+ this.rowFilter = {};
1429
+ this.actions = [];
1430
+ this._actions = { header: [], footer: [] };
1431
+ this.exportOptions = [];
1432
+ this.headerConfig = [];
1433
+ this.rowActions = [];
1434
+ // MEMORY LEAK FIX: Clear all @ContentChildren QueryLists holding template references
1435
+ // These QueryLists hold TemplateRef instances that create circular references to the parent LView
1436
+ if (this.rowActionTmpl) {
1437
+ this.rowActionTmpl.reset([]);
1438
+ }
1439
+ if (this.filterTmpl) {
1440
+ this.filterTmpl.reset([]);
1441
+ }
1442
+ if (this.inlineWidgetTmpl) {
1443
+ this.inlineWidgetTmpl.reset([]);
1444
+ }
1445
+ if (this.inlineWidgetNewTmpl) {
1446
+ this.inlineWidgetNewTmpl.reset([]);
1447
+ }
1448
+ if (this.customExprTmpl) {
1449
+ this.customExprTmpl.reset([]);
1450
+ }
1451
+ if (this.rowExpansionActionTmpl) {
1452
+ this.rowExpansionActionTmpl.reset([]);
1453
+ }
1454
+ // MEMORY LEAK FIX: Clear @ContentChild template reference
1455
+ this.rowExpansionTmpl = null;
1456
+ // MEMORY LEAK FIX: Complete and clear subjects
1457
+ if (this.selectedItemChange) {
1458
+ this.selectedItemChange.complete();
1459
+ this.selectedItemChange = null;
1460
+ }
1461
+ // MEMORY LEAK FIX: Clear ViewChild references
1462
+ this.dataNavigator = null;
1463
+ this._tableElement = null;
1464
+ // console.log("table component destroyed");
1338
1465
  super.ngOnDestroy();
1339
1466
  }
1340
1467
  addRowIndex(row) {
@@ -1405,6 +1532,9 @@
1405
1532
  if (!key.endsWith('_filter') && ((key.endsWith('_new') && newRow) || (!key.endsWith('_new') && !newRow))) {
1406
1533
  ctrls[key].setValue('');
1407
1534
  this.resetFormControl(ctrls[key]);
1535
+ // MEMORY LEAK FIX: Clear validators to release references
1536
+ ctrls[key].clearValidators();
1537
+ ctrls[key].clearAsyncValidators();
1408
1538
  }
1409
1539
  });
1410
1540
  }
@@ -1724,7 +1854,14 @@
1724
1854
  defaultFieldDefs.forEach(col => {
1725
1855
  this.columns[col.field] = col;
1726
1856
  });
1727
- this.invokeEventCallback('beforedatarender', { $data: data, $columns: this.columns, data: data, columns: this.columns });
1857
+ // Note: Errors in beforedatarender should not prevent table rendering
1858
+ try {
1859
+ this.invokeEventCallback('beforedatarender', { $data: data, $columns: this.columns, data: data, columns: this.columns });
1860
+ }
1861
+ catch (error) {
1862
+ // Log error but continue with rendering - beforedatarender errors should not block table rendering
1863
+ console.warn('Error in beforedatarender event callback, continuing with table rendering:', error);
1864
+ }
1728
1865
  defaultFieldDefs = [];
1729
1866
  // Apply the changes made by the user
1730
1867
  lodashEs.forEach(this.columns, val => {
@@ -1763,23 +1900,30 @@
1763
1900
  return sortExp || '';
1764
1901
  }
1765
1902
  onPropertyChange(key, nv, ov) {
1903
+ // Guard against property changes after component destruction
1904
+ if (this.isDestroyed) {
1905
+ return;
1906
+ }
1766
1907
  let enableNewRow;
1767
1908
  switch (key) {
1768
1909
  case 'datasource':
1769
1910
  // Fix for [WMS-23653] when startUpdate is false (request on page load property is unchecked),
1770
1911
  // then set status msg as "No data found"
1771
- if (this.allowpagesizechange) {
1912
+ if (this.allowpagesizechange && this.datasource) {
1772
1913
  this.datasource.maxResults = this.pagesize || this.datasource.maxResults;
1773
1914
  }
1774
- if (nv.startUpdate === false) {
1915
+ if (nv && nv.startUpdate === false) {
1775
1916
  this.variableInflight = false;
1776
1917
  this.callDataGridMethod('setStatus', 'nodata', this.nodatamessage);
1777
1918
  }
1778
- if (lodashEs.get(this.datasource, 'category') !== 'wm.Variable') {
1919
+ if (this.datasource && lodashEs.get(this.datasource, 'category') !== 'wm.Variable') {
1779
1920
  this.headerselectall = false;
1780
1921
  this.setDataGridOption("headerselectall", false);
1781
1922
  }
1782
- this.watchVariableDataSet(this.dataset);
1923
+ // Process dataset when datasource is set, especially if dataset was previously skipped
1924
+ if (this.datasource && this.dataset !== undefined) {
1925
+ this.watchVariableDataSet(this.dataset);
1926
+ }
1783
1927
  this.onDataSourceChange();
1784
1928
  break;
1785
1929
  case 'dataset':
@@ -1787,6 +1931,12 @@
1787
1931
  this.gridOptions.setIsNextPageData(false);
1788
1932
  }
1789
1933
  if (this.binddatasource && !this.datasource) {
1934
+ // If datasource is not set yet, clear loading state and show no data
1935
+ // This prevents tables from being stuck in loading state
1936
+ if (this.variableInflight) {
1937
+ this.variableInflight = false;
1938
+ this.callDataGridMethod('setStatus', 'nodata', this.nodatamessage);
1939
+ }
1790
1940
  return;
1791
1941
  }
1792
1942
  // if table is inside list then table dataset will be set as "item.XXX" and there is no datasource.
@@ -2498,7 +2648,7 @@
2498
2648
  this.updateVariable(response, options.callBack);
2499
2649
  }
2500
2650
  else if (!this.table.datasource.execute(i2.DataSource.Operation.IS_API_AWARE)) {
2501
- this.table.initiateSelectItem('current', response, undefined, false, options.callBack);
2651
+ this.table.initiateSelectItem('current', response, undefined, this.table.datasource.category === 'wm.Variable', options.callBack);
2502
2652
  }
2503
2653
  i2.triggerFn(options.success, response);
2504
2654
  this.table.invokeEventCallback('rowupdate', { $event: options.event, $data: response, row: response });
@@ -2748,6 +2898,12 @@
2748
2898
  this.table.callDataGridMethod('cancelEdit', $row);
2749
2899
  }
2750
2900
  }
2901
+ ngOnDestroy() {
2902
+ // MEMORY LEAK FIX: Clear all references
2903
+ this.table = null;
2904
+ this.dialogService = null;
2905
+ this.app = null;
2906
+ }
2751
2907
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: TableCUDDirective, deps: [{ token: TableComponent, self: true }, { token: i2__namespace.AbstractDialogService }, { token: i2__namespace.App }], target: i0__namespace.ɵɵFactoryTarget.Directive }); }
2752
2908
  static { this.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TableCUDDirective, isStandalone: true, selector: "[wmTableCUD]", ngImport: i0__namespace }); }
2753
2909
  }
@@ -3060,6 +3216,12 @@
3060
3216
  // Function that checks if a given string is a valid date and returns the timestamp if it is, or NaN if it's not.
3061
3217
  parseDateString(dateString) {
3062
3218
  const timestamp = Date.parse(dateString);
3219
+ // handling case when string starts with string and end with number
3220
+ const trimmed = dateString.trim();
3221
+ const monthRegex = /\b(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:t(?:ember)?)?|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?)\b/i;
3222
+ if (/^[A-Za-z]+/.test(trimmed) && /\d+$/.test(trimmed) && !monthRegex.test(trimmed)) {
3223
+ return NaN;
3224
+ }
3063
3225
  if (!isNaN(timestamp)) {
3064
3226
  return timestamp;
3065
3227
  }
@@ -3074,7 +3236,7 @@
3074
3236
  const fieldValue = lodashEs.get(lodashEs.find(data, sortObj.field), sortObj.field);
3075
3237
  const isValidDateString = typeof fieldValue === 'string' ? this.parseDateString(fieldValue) : NaN;
3076
3238
  if (!isNaN(isValidDateString)) { // if the field is a date string
3077
- data = lodashEs.orderBy(data, [(item) => this.parseDateString(item[sortObj.field])], [sortObj.direction]);
3239
+ data = lodashEs.orderBy(data, [(item) => this.parseDateString(lodashEs.get(item, sortObj.field))], [sortObj.direction]);
3078
3240
  }
3079
3241
  else if (sortObj.sortBy ? this.table.columns[sortObj.sortBy]?.caseinsensitive : this.table.columns[sortObj.field]?.caseinsensitive) {
3080
3242
  //Fix for [WMS-27505]: Added case-insensitive sorting so that uppercase and lowercase letters are treated the same when sorting.
@@ -3436,6 +3598,10 @@
3436
3598
  condition: logicalOp
3437
3599
  });
3438
3600
  }
3601
+ ngOnDestroy() {
3602
+ // MEMORY LEAK FIX: Clear table reference
3603
+ this.table = null;
3604
+ }
3439
3605
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: TableFilterSortDirective, deps: [{ token: TableComponent, self: true }], target: i0__namespace.ɵɵFactoryTarget.Directive }); }
3440
3606
  static { this.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TableFilterSortDirective, isStandalone: true, selector: "[wmTableFilterSort]", ngImport: i0__namespace }); }
3441
3607
  }
@@ -3522,6 +3688,13 @@
3522
3688
  this.buttonDef[key] = nv;
3523
3689
  }
3524
3690
  }
3691
+ ngOnDestroy() {
3692
+ // MEMORY LEAK FIX: Clear table and buttonDef references
3693
+ this.table = null;
3694
+ this.buttonDef = null;
3695
+ // Call parent ngOnDestroy (BaseComponent has cleanup)
3696
+ super.ngOnDestroy();
3697
+ }
3525
3698
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: TableActionDirective, deps: [{ token: i0__namespace.Injector }, { token: TableComponent, optional: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Directive }); }
3526
3699
  static { this.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TableActionDirective, isStandalone: true, selector: "[wmTableAction]", providers: [
3527
3700
  i4.provideAsWidgetRef(TableActionDirective)
@@ -3686,6 +3859,14 @@
3686
3859
  const fieldName = this.group && this.group.name;
3687
3860
  i4.setHeaderConfigForTable(this.table.headerConfig, this.config, fieldName, fieldName ? colIndex : headerIndex);
3688
3861
  }
3862
+ ngOnDestroy() {
3863
+ // MEMORY LEAK FIX: Clear table, group, and config references
3864
+ this.table = null;
3865
+ this.group = null;
3866
+ this.config = null;
3867
+ // Call parent ngOnDestroy (BaseComponent has cleanup)
3868
+ super.ngOnDestroy();
3869
+ }
3689
3870
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: TableColumnGroupDirective, deps: [{ token: i0__namespace.Injector }, { token: TableColumnGroupDirective, optional: true, skipSelf: true }, { token: TableComponent, optional: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Directive }); }
3690
3871
  static { this.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TableColumnGroupDirective, isStandalone: true, selector: "[wmTableColumnGroup]", providers: [
3691
3872
  i4.provideAsWidgetRef(TableColumnGroupDirective)
@@ -3880,6 +4061,10 @@
3880
4061
  }
3881
4062
  // Remove validators for the inline widget and set form to untouched
3882
4063
  removeValidations() {
4064
+ // Guard against component destruction or table/ngform being null
4065
+ if (this.isDestroyed || !this.table || !this.table.ngform) {
4066
+ return;
4067
+ }
3883
4068
  this.table.ngform.markAsUntouched();
3884
4069
  const control = this.getFormControl();
3885
4070
  if (!control) {
@@ -3891,6 +4076,10 @@
3891
4076
  }
3892
4077
  // Apply default|sync|async|prop validators for QuickEdit new row form control
3893
4078
  applyNewRowValidations() {
4079
+ // Guard against component destruction or table/ngform being null
4080
+ if (this.isDestroyed || !this.table || !this.table.ngform) {
4081
+ return;
4082
+ }
3894
4083
  if (!this._checkNewEditableRowControl()) {
3895
4084
  return;
3896
4085
  }
@@ -3907,22 +4096,37 @@
3907
4096
  }
3908
4097
  // Remove validators for the QuickEdit new row widget and set form to untouched
3909
4098
  removeNewRowValidations() {
4099
+ // Guard against component destruction or table/ngform being null
4100
+ if (this.isDestroyed || !this.table || !this.table.ngform) {
4101
+ return;
4102
+ }
3910
4103
  this.table.ngform.markAsUntouched();
3911
4104
  if (!this._checkNewEditableRowControl()) {
3912
4105
  return;
3913
4106
  }
3914
4107
  const control = this.getFormControl('_new');
4108
+ if (!control) {
4109
+ return;
4110
+ }
3915
4111
  control.clearValidators();
3916
4112
  control.clearAsyncValidators();
3917
4113
  control.updateValueAndValidity();
3918
4114
  }
3919
4115
  addFormControl(suffix) {
4116
+ // Guard against component destruction or table/ngform being null
4117
+ if (this.isDestroyed || !this.table || !this.table.ngform) {
4118
+ return;
4119
+ }
3920
4120
  const ctrlName = suffix ? (this.binding + suffix) : this.binding;
3921
4121
  this.table.ngform.addControl(ctrlName, this.table.fb.control(''));
3922
4122
  }
3923
4123
  getFormControl(suffix) {
4124
+ // Guard against component destruction or table/ngform being null
4125
+ if (this.isDestroyed || !this.table || !this.table.ngform) {
4126
+ return null;
4127
+ }
3924
4128
  const ctrlName = suffix ? (this.binding + suffix) : this.binding;
3925
- return this.table.ngform.controls[ctrlName];
4129
+ return this.table.ngform.controls[ctrlName] || null;
3926
4130
  }
3927
4131
  _checkNewEditableRowControl() {
3928
4132
  return this._isNewEditableRow && this.getFormControl('_new');
@@ -3996,12 +4200,16 @@
3996
4200
  }
3997
4201
  // On field value change, apply cascading filter and set validation message
3998
4202
  onValueChange(val, widget) {
4203
+ // Guard against component destruction or table being null
4204
+ if (this.isDestroyed || !this.table) {
4205
+ return;
4206
+ }
3999
4207
  if (val !== null) {
4000
4208
  i4.applyFilterOnField(this.table.datasource, this.widget, this.table.fieldDefs, val, {
4001
4209
  widget: 'edit-widget-type'
4002
4210
  });
4003
4211
  }
4004
- if (this.table.ngform.touched) {
4212
+ if (this.table.ngform && this.table.ngform.touched) {
4005
4213
  this.activeControlType = widget;
4006
4214
  if (widget === 'inlineInstance') {
4007
4215
  this.notifyChanges();
@@ -4292,6 +4500,83 @@
4292
4500
  this.table.redraw(true);
4293
4501
  }
4294
4502
  }
4503
+ ngOnDestroy() {
4504
+ // MEMORY LEAK FIX: Clear ContentChildren QueryLists
4505
+ if (this._filterInstances) {
4506
+ try {
4507
+ this._filterInstances.reset([]);
4508
+ }
4509
+ catch (e) {
4510
+ // Silently handle cleanup errors - QueryList might already be destroyed
4511
+ }
4512
+ }
4513
+ if (this._inlineInstances) {
4514
+ try {
4515
+ this._inlineInstances.reset([]);
4516
+ }
4517
+ catch (e) {
4518
+ // Silently handle cleanup errors - QueryList might already be destroyed
4519
+ }
4520
+ }
4521
+ if (this._inlineInstancesNew) {
4522
+ try {
4523
+ this._inlineInstancesNew.reset([]);
4524
+ }
4525
+ catch (e) {
4526
+ // Silently handle cleanup errors - QueryList might already be destroyed
4527
+ }
4528
+ }
4529
+ // MEMORY LEAK FIX: Clear all widget instance references
4530
+ this.filterInstance = null;
4531
+ this.inlineInstance = null;
4532
+ this.inlineInstanceNew = null;
4533
+ // MEMORY LEAK FIX: Clear template references
4534
+ this.customExprTmpl = null;
4535
+ this.inlineWidthTempRef = null;
4536
+ this.filterTemplateRef = null;
4537
+ // MEMORY LEAK FIX: Clear dataset references
4538
+ this._filterDataSet = null;
4539
+ this.dataset = null;
4540
+ this._dataoptions = null;
4541
+ this._datasource = null;
4542
+ // MEMORY LEAK FIX: Clear validation objects
4543
+ if (this.fieldValidations) {
4544
+ try {
4545
+ this.fieldValidations.destroy();
4546
+ }
4547
+ catch (e) {
4548
+ // Silently handle cleanup errors
4549
+ }
4550
+ this.fieldValidations = null;
4551
+ }
4552
+ if (this.fieldValidations_new) {
4553
+ try {
4554
+ this.fieldValidations_new.destroy();
4555
+ }
4556
+ catch (e) {
4557
+ // Silently handle cleanup errors
4558
+ }
4559
+ this.fieldValidations_new = null;
4560
+ }
4561
+ this.syncValidators = [];
4562
+ this.asyncValidators = [];
4563
+ // MEMORY LEAK FIX: Clear filter control reference
4564
+ this.filterControl = null;
4565
+ // MEMORY LEAK FIX: Clear notify fields array
4566
+ if (this.notifyForFields) {
4567
+ this.notifyForFields = [];
4568
+ }
4569
+ // MEMORY LEAK FIX: Clear observe fields array
4570
+ if (this.observeOnFields) {
4571
+ this.observeOnFields = [];
4572
+ }
4573
+ // MEMORY LEAK FIX: Clear table and group references
4574
+ // Note: These are injected dependencies, but clearing helps GC
4575
+ this.table = null;
4576
+ this.group = null;
4577
+ // Call parent ngOnDestroy
4578
+ super.ngOnDestroy();
4579
+ }
4295
4580
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: TableColumnDirective, deps: [{ token: i0__namespace.Injector }, { token: i2__namespace.AppDefaults }, { token: TableComponent, optional: true }, { token: TableColumnGroupDirective, optional: true }, { token: 'filterdataset.bind', attribute: true }, { token: 'dataset.bind', attribute: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Directive }); }
4296
4581
  static { this.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TableColumnDirective, isStandalone: true, selector: "[wmTableColumn]", providers: [
4297
4582
  i4.provideAsWidgetRef(TableColumnDirective)
@@ -4386,6 +4671,13 @@
4386
4671
  this.config.content = this.content;
4387
4672
  }
4388
4673
  }
4674
+ ngOnDestroy() {
4675
+ // MEMORY LEAK FIX: Clear table and config references
4676
+ this.table = null;
4677
+ this.config = null;
4678
+ // Call parent ngOnDestroy (BaseComponent has cleanup)
4679
+ super.ngOnDestroy();
4680
+ }
4389
4681
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: TableRowDirective, deps: [{ token: i0__namespace.Injector }, { token: TableComponent, optional: true, skipSelf: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Directive }); }
4390
4682
  static { this.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TableRowDirective, isStandalone: true, selector: "[wmTableRow]", providers: [
4391
4683
  i4.provideAsWidgetRef(TableRowDirective)
@@ -4467,6 +4759,13 @@
4467
4759
  this.populateAction();
4468
4760
  this.table.registerRowActions(this.buttonDef);
4469
4761
  }
4762
+ ngOnDestroy() {
4763
+ // MEMORY LEAK FIX: Clear table reference and button definition
4764
+ this.table = null;
4765
+ this.buttonDef = null;
4766
+ // Call parent ngOnDestroy (BaseComponent has cleanup)
4767
+ super.ngOnDestroy();
4768
+ }
4470
4769
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: TableRowActionDirective, deps: [{ token: i0__namespace.Injector }, { token: TableComponent, optional: true }, { token: i4.Context, self: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Directive }); }
4471
4770
  static { this.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TableRowActionDirective, isStandalone: true, selector: "[wmTableRowAction]", providers: [
4472
4771
  i4.provideAsWidgetRef(TableRowActionDirective),
@@ -51,6 +51,13 @@ export class TableActionDirective extends BaseComponent {
51
51
  this.buttonDef[key] = nv;
52
52
  }
53
53
  }
54
+ ngOnDestroy() {
55
+ // MEMORY LEAK FIX: Clear table and buttonDef references
56
+ this.table = null;
57
+ this.buttonDef = null;
58
+ // Call parent ngOnDestroy (BaseComponent has cleanup)
59
+ super.ngOnDestroy();
60
+ }
54
61
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableActionDirective, deps: [{ token: i0.Injector }, { token: i1.TableComponent, optional: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
55
62
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TableActionDirective, isStandalone: true, selector: "[wmTableAction]", providers: [
56
63
  provideAsWidgetRef(TableActionDirective)
@@ -73,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
73
80
  }, {
74
81
  type: Optional
75
82
  }] }] });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhL3RhYmxlL3NyYy90YWJsZS1hY3Rpb24vdGFibGUtYWN0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQVUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxXQUFXLENBQUM7OztBQUV0QyxNQUFNLGFBQWEsR0FBRyxFQUFDLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFDLENBQUM7QUFTckUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGFBQWE7YUFDNUMsb0JBQWUsR0FBRyxhQUFhLEVBQUUsQUFBbEIsQ0FBbUI7SUF3QnpDLFlBQVksR0FBYSxFQUFxQixLQUFxQixFQUEwQyxlQUFvQjtRQUM3SCxLQUFLLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQztRQURELFVBQUssR0FBTCxLQUFLLENBQWdCO0lBRW5FLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNiLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFO1lBQ3ZELElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRTtZQUMvQixLQUFLLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQzFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQy9CLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFO1lBQ3pCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFO1lBQzdDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFO1NBQ2hELENBQUM7UUFDRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGdCQUFnQixDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMxQixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksR0FBRyxLQUFLLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNwQyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDOytHQXJFUSxvQkFBb0Isd0ZBeUJnRCxrQkFBa0I7bUdBekJ0RixvQkFBb0IsOERBSmxCO1lBQ1Asa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7U0FDM0M7OzRGQUVRLG9CQUFvQjtrQkFQaEMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDZCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixTQUFTLEVBQUU7d0JBQ1Asa0JBQWtCLHNCQUFzQjtxQkFDM0M7aUJBQ0o7OzBCQTBCK0IsUUFBUTs7MEJBQWtDLE1BQU07MkJBQUMsa0JBQWtCOzswQkFBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEluamVjdCwgSW5qZWN0b3IsIE9uSW5pdCwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBwcm92aWRlQXNXaWRnZXRSZWYgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcblxuaW1wb3J0IHsgcmVnaXN0ZXJQcm9wcyB9IGZyb20gJy4vdGFibGUtYWN0aW9uLnByb3BzJztcbmltcG9ydCB7IFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7aXNVbmRlZmluZWR9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuY29uc3QgV0lER0VUX0NPTkZJRyA9IHt3aWRnZXRUeXBlOiAnd20tdGFibGUtYWN0aW9uJywgaG9zdENsYXNzOiAnJ307XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3dtVGFibGVBY3Rpb25dJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKFRhYmxlQWN0aW9uRGlyZWN0aXZlKVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVBY3Rpb25EaXJlY3RpdmUgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgYWNjZXNzcm9sZXM7XG4gICAgYWN0aW9uO1xuICAgIGNhcHRpb247XG4gICAgY2xhc3M7XG4gICAgZGlzYWJsZWQ7XG4gICAgZGlzcGxheU5hbWU7XG4gICAgaWNvbjtcbiAgICBpY29uY2xhc3M7XG4gICAgcG9zaXRpb247XG4gICAgc2hvcnRjdXRrZXk7XG4gICAgc2hvdztcbiAgICB0YWJpbmRleDtcbiAgICB0aXRsZTtcbiAgICBrZXk7XG4gICAgaHlwZXJsaW5rO1xuICAgIHRhcmdldDtcbiAgICBidXR0b25EZWY7XG4gICAgY29uZGl0aW9uYWxjbGFzcztcbiAgICBjb25kaXRpb25hbHN0eWxlO1xuXG4gICAgcHJpdmF0ZSBfcHJvcHNJbml0aWFsaXplZDogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IsIEBPcHRpb25hbCgpIHB1YmxpYyB0YWJsZTogVGFibGVDb21wb25lbnQsIEBJbmplY3QoJ0VYUExJQ0lUX0NPTlRFWFQnKSBAT3B0aW9uYWwoKSBleHBsaWNpdENvbnRleHQ6IGFueSkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcsIGV4cGxpY2l0Q29udGV4dCk7XG4gICAgfVxuXG4gICAgcG9wdWxhdGVBY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uRGVmID0ge1xuICAgICAgICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiB0aGlzWydkaXNwbGF5LW5hbWUnXSB8fCB0aGlzLmNhcHRpb24gfHwgJycsXG4gICAgICAgICAgICBzaG93OiB0aGlzLnNob3csXG4gICAgICAgICAgICBjbGFzczogdGhpcy5jbGFzcyB8fCAnJyxcbiAgICAgICAgICAgIGljb25jbGFzczogdGhpcy5pY29uY2xhc3MgfHwgJycsXG4gICAgICAgICAgICB0aXRsZTogaXNVbmRlZmluZWQodGhpcy50aXRsZSkgPyAodGhpc1snZGlzcGxheS1uYW1lJ10gfHwgJycpIDogdGhpcy50aXRsZSxcbiAgICAgICAgICAgIGFjdGlvbjogdGhpcy5hY3Rpb24sXG4gICAgICAgICAgICBhY2Nlc3Nyb2xlczogdGhpcy5hY2Nlc3Nyb2xlcyxcbiAgICAgICAgICAgIHNob3J0Y3V0a2V5OiB0aGlzLnNob3J0Y3V0a2V5LFxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgICAgICB0YWJpbmRleDogdGhpcy50YWJpbmRleCxcbiAgICAgICAgICAgIGljb246IHRoaXMuaWNvbixcbiAgICAgICAgICAgIHBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uLFxuICAgICAgICAgICAgd2lkZ2V0VHlwZTogdGhpc1snd2lkZ2V0LXR5cGUnXSxcbiAgICAgICAgICAgIGh5cGVybGluazogdGhpcy5oeXBlcmxpbmssXG4gICAgICAgICAgICB0YXJnZXQ6IHRoaXMudGFyZ2V0IHx8ICcnLFxuICAgICAgICAgICAgY29uZGl0aW9uYWxjbGFzczogdGhpcy5jb25kaXRpb25hbGNsYXNzIHx8ICcnLFxuICAgICAgICAgICAgY29uZGl0aW9uYWxzdHlsZTogdGhpcy5jb25kaXRpb25hbHN0eWxlIHx8IHt9XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuX3Byb3BzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLnBvcHVsYXRlQWN0aW9uKCk7XG4gICAgICAgIHRoaXMudGFibGUucmVnaXN0ZXJBY3Rpb25zKHRoaXMuYnV0dG9uRGVmKTtcbiAgICB9XG5cbiAgICBvblByb3BlcnR5Q2hhbmdlKGtleSwgbnYpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9wcm9wc0luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoa2V5ID09PSAnZGlzcGxheS1uYW1lJykge1xuICAgICAgICAgICAgdGhpcy5idXR0b25EZWYuZGlzcGxheU5hbWUgPSBudjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uRGVmW2tleV0gPSBudjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhL3RhYmxlL3NyYy90YWJsZS1hY3Rpb24vdGFibGUtYWN0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQXFCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV2RixPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sV0FBVyxDQUFDOzs7QUFFdEMsTUFBTSxhQUFhLEdBQUcsRUFBQyxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBQyxDQUFDO0FBU3JFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxhQUFhO2FBQzVDLG9CQUFlLEdBQUcsYUFBYSxFQUFFLEFBQWxCLENBQW1CO0lBd0J6QyxZQUFZLEdBQWEsRUFBcUIsS0FBcUIsRUFBMEMsZUFBb0I7UUFDN0gsS0FBSyxDQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFERCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtJQUVuRSxDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDYixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRTtZQUN2RCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUU7WUFDL0IsS0FBSyxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSztZQUMxRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUMvQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRTtZQUN6QixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLElBQUksRUFBRTtZQUM3QyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLElBQUksRUFBRTtTQUNoRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDMUIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLEdBQUcsS0FBSyxjQUFjLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDcEMsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCx3REFBd0Q7UUFDeEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFdEIsc0RBQXNEO1FBQ3RELEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQTlFUSxvQkFBb0Isd0ZBeUJnRCxrQkFBa0I7bUdBekJ0RixvQkFBb0IsOERBSmxCO1lBQ1Asa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7U0FDM0M7OzRGQUVRLG9CQUFvQjtrQkFQaEMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDZCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixTQUFTLEVBQUU7d0JBQ1Asa0JBQWtCLHNCQUFzQjtxQkFDM0M7aUJBQ0o7OzBCQTBCK0IsUUFBUTs7MEJBQWtDLE1BQU07MkJBQUMsa0JBQWtCOzswQkFBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEluamVjdCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIHByb3ZpZGVBc1dpZGdldFJlZiB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuXG5pbXBvcnQgeyByZWdpc3RlclByb3BzIH0gZnJvbSAnLi90YWJsZS1hY3Rpb24ucHJvcHMnO1xuaW1wb3J0IHsgVGFibGVDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtpc1VuZGVmaW5lZH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5jb25zdCBXSURHRVRfQ09ORklHID0ge3dpZGdldFR5cGU6ICd3bS10YWJsZS1hY3Rpb24nLCBob3N0Q2xhc3M6ICcnfTtcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbd21UYWJsZUFjdGlvbl0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoVGFibGVBY3Rpb25EaXJlY3RpdmUpXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUFjdGlvbkRpcmVjdGl2ZSBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIGFjY2Vzc3JvbGVzO1xuICAgIGFjdGlvbjtcbiAgICBjYXB0aW9uO1xuICAgIGNsYXNzO1xuICAgIGRpc2FibGVkO1xuICAgIGRpc3BsYXlOYW1lO1xuICAgIGljb247XG4gICAgaWNvbmNsYXNzO1xuICAgIHBvc2l0aW9uO1xuICAgIHNob3J0Y3V0a2V5O1xuICAgIHNob3c7XG4gICAgdGFiaW5kZXg7XG4gICAgdGl0bGU7XG4gICAga2V5O1xuICAgIGh5cGVybGluaztcbiAgICB0YXJnZXQ7XG4gICAgYnV0dG9uRGVmO1xuICAgIGNvbmRpdGlvbmFsY2xhc3M7XG4gICAgY29uZGl0aW9uYWxzdHlsZTtcblxuICAgIHByaXZhdGUgX3Byb3BzSW5pdGlhbGl6ZWQ6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBAT3B0aW9uYWwoKSBwdWJsaWMgdGFibGU6IFRhYmxlQ29tcG9uZW50LCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgIH1cblxuICAgIHBvcHVsYXRlQWN0aW9uKCkge1xuICAgICAgICB0aGlzLmJ1dHRvbkRlZiA9IHtcbiAgICAgICAgICAgIGtleTogdGhpcy5rZXksXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogdGhpc1snZGlzcGxheS1uYW1lJ10gfHwgdGhpcy5jYXB0aW9uIHx8ICcnLFxuICAgICAgICAgICAgc2hvdzogdGhpcy5zaG93LFxuICAgICAgICAgICAgY2xhc3M6IHRoaXMuY2xhc3MgfHwgJycsXG4gICAgICAgICAgICBpY29uY2xhc3M6IHRoaXMuaWNvbmNsYXNzIHx8ICcnLFxuICAgICAgICAgICAgdGl0bGU6IGlzVW5kZWZpbmVkKHRoaXMudGl0bGUpID8gKHRoaXNbJ2Rpc3BsYXktbmFtZSddIHx8ICcnKSA6IHRoaXMudGl0bGUsXG4gICAgICAgICAgICBhY3Rpb246IHRoaXMuYWN0aW9uLFxuICAgICAgICAgICAgYWNjZXNzcm9sZXM6IHRoaXMuYWNjZXNzcm9sZXMsXG4gICAgICAgICAgICBzaG9ydGN1dGtleTogdGhpcy5zaG9ydGN1dGtleSxcbiAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxuICAgICAgICAgICAgdGFiaW5kZXg6IHRoaXMudGFiaW5kZXgsXG4gICAgICAgICAgICBpY29uOiB0aGlzLmljb24sXG4gICAgICAgICAgICBwb3NpdGlvbjogdGhpcy5wb3NpdGlvbixcbiAgICAgICAgICAgIHdpZGdldFR5cGU6IHRoaXNbJ3dpZGdldC10eXBlJ10sXG4gICAgICAgICAgICBoeXBlcmxpbms6IHRoaXMuaHlwZXJsaW5rLFxuICAgICAgICAgICAgdGFyZ2V0OiB0aGlzLnRhcmdldCB8fCAnJyxcbiAgICAgICAgICAgIGNvbmRpdGlvbmFsY2xhc3M6IHRoaXMuY29uZGl0aW9uYWxjbGFzcyB8fCAnJyxcbiAgICAgICAgICAgIGNvbmRpdGlvbmFsc3R5bGU6IHRoaXMuY29uZGl0aW9uYWxzdHlsZSB8fCB7fVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLl9wcm9wc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5wb3B1bGF0ZUFjdGlvbigpO1xuICAgICAgICB0aGlzLnRhYmxlLnJlZ2lzdGVyQWN0aW9ucyh0aGlzLmJ1dHRvbkRlZik7XG4gICAgfVxuXG4gICAgb25Qcm9wZXJ0eUNoYW5nZShrZXksIG52KSB7XG4gICAgICAgIGlmICghdGhpcy5fcHJvcHNJbml0aWFsaXplZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGtleSA9PT0gJ2Rpc3BsYXktbmFtZScpIHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uRGVmLmRpc3BsYXlOYW1lID0gbnY7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvbkRlZltrZXldID0gbnY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gTUVNT1JZIExFQUsgRklYOiBDbGVhciB0YWJsZSBhbmQgYnV0dG9uRGVmIHJlZmVyZW5jZXNcbiAgICAgICAgdGhpcy50YWJsZSA9IG51bGw7XG4gICAgICAgIHRoaXMuYnV0dG9uRGVmID0gbnVsbDtcblxuICAgICAgICAvLyBDYWxsIHBhcmVudCBuZ09uRGVzdHJveSAoQmFzZUNvbXBvbmVudCBoYXMgY2xlYW51cClcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=