@wavemaker/app-ng-runtime 11.14.1-rc.6310 → 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 (412) hide show
  1. package/components/advanced/carousel/bundles/index.umd.js +15 -1
  2. package/components/advanced/carousel/carousel.directive.d.ts +1 -0
  3. package/components/advanced/carousel/esm2022/carousel.directive.mjs +16 -2
  4. package/components/advanced/carousel/fesm2022/index.mjs +15 -1
  5. package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  6. package/components/advanced/login/bundles/index.umd.js +24 -3
  7. package/components/advanced/login/esm2022/login.component.mjs +25 -4
  8. package/components/advanced/login/fesm2022/index.mjs +24 -3
  9. package/components/advanced/login/fesm2022/index.mjs.map +1 -1
  10. package/components/advanced/login/login.component.d.ts +5 -2
  11. package/components/base/bundles/index.umd.js +331 -36
  12. package/components/base/directives/show-in-device.directive.d.ts +2 -1
  13. package/components/base/esm2022/directives/show-in-device.directive.mjs +22 -4
  14. package/components/base/esm2022/pipes/custom-pipes.mjs +10 -10
  15. package/components/base/esm2022/utils/widget-utils.mjs +3 -3
  16. package/components/base/esm2022/widgets/common/base/base-container.component.mjs +27 -1
  17. package/components/base/esm2022/widgets/common/base/base-field-validations.mjs +18 -1
  18. package/components/base/esm2022/widgets/common/base/base.component.mjs +68 -7
  19. package/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +9 -1
  20. package/components/base/esm2022/widgets/common/base/dataset-aware-nav.component.mjs +44 -11
  21. package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +20 -1
  22. package/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +26 -1
  23. package/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +44 -4
  24. package/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +16 -1
  25. package/components/base/esm2022/widgets/common/pull-to-refresh/pull-to-refresh.mjs +22 -1
  26. package/components/base/esm2022/widgets/framework/property-change-handler.mjs +7 -2
  27. package/components/base/esm2022/widgets/framework/widget-proxy-provider.mjs +5 -3
  28. package/components/base/esm2022/widgets/framework/widget-registry.mjs +6 -3
  29. package/components/base/fesm2022/index.mjs +327 -34
  30. package/components/base/fesm2022/index.mjs.map +1 -1
  31. package/components/base/pipes/custom-pipes.d.ts +5 -5
  32. package/components/base/widgets/common/base/base-container.component.d.ts +3 -2
  33. package/components/base/widgets/common/base/base-field-validations.d.ts +1 -0
  34. package/components/base/widgets/common/base/custom-widget-container.directive.d.ts +3 -2
  35. package/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +6 -2
  36. package/components/base/widgets/common/base/partial-container.directive.d.ts +3 -2
  37. package/components/base/widgets/common/item-template/item-template.directive.d.ts +3 -2
  38. package/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +1 -1
  39. package/components/base/widgets/common/partial-param/partial-param.directive.d.ts +3 -2
  40. package/components/base/widgets/common/pull-to-refresh/pull-to-refresh.d.ts +3 -2
  41. package/components/basic/anchor/bundles/index.umd.js +13 -1
  42. package/components/basic/anchor/esm2022/anchor.component.mjs +14 -2
  43. package/components/basic/anchor/fesm2022/index.mjs +13 -1
  44. package/components/basic/anchor/fesm2022/index.mjs.map +1 -1
  45. package/components/basic/html/bundles/index.umd.js +13 -1
  46. package/components/basic/html/esm2022/html.directive.mjs +14 -2
  47. package/components/basic/html/fesm2022/index.mjs +13 -1
  48. package/components/basic/html/fesm2022/index.mjs.map +1 -1
  49. package/components/basic/label/bundles/index.umd.js +17 -1
  50. package/components/basic/label/esm2022/label.directive.mjs +18 -2
  51. package/components/basic/label/fesm2022/index.mjs +17 -1
  52. package/components/basic/label/fesm2022/index.mjs.map +1 -1
  53. package/components/basic/label/label.directive.d.ts +3 -2
  54. package/components/basic/progress/progress-circle/bundles/index.umd.js +10 -0
  55. package/components/basic/progress/progress-circle/esm2022/progress-circle.component.mjs +11 -1
  56. package/components/basic/progress/progress-circle/fesm2022/index.mjs +10 -0
  57. package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -1
  58. package/components/basic/progress/progress-circle/progress-circle.component.d.ts +3 -2
  59. package/components/basic/search/bundles/index.umd.js +31 -5
  60. package/components/basic/search/esm2022/scrollable.directive.mjs +13 -4
  61. package/components/basic/search/esm2022/search.component.mjs +20 -3
  62. package/components/basic/search/fesm2022/index.mjs +31 -5
  63. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  64. package/components/basic/search/scrollable.directive.d.ts +5 -3
  65. package/components/basic/search/search.component.d.ts +3 -2
  66. package/components/basic/spinner/bundles/index.umd.js +9 -1
  67. package/components/basic/spinner/esm2022/spinner.component.mjs +10 -2
  68. package/components/basic/spinner/fesm2022/index.mjs +9 -1
  69. package/components/basic/spinner/fesm2022/index.mjs.map +1 -1
  70. package/components/basic/spinner/spinner.component.d.ts +4 -2
  71. package/components/chart/bundles/index.umd.js +21 -3
  72. package/components/chart/esm2022/chart.component.mjs +22 -4
  73. package/components/chart/fesm2022/index.mjs +21 -3
  74. package/components/chart/fesm2022/index.mjs.map +1 -1
  75. package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +3 -2
  76. package/components/containers/accordion/accordion.directive.d.ts +5 -2
  77. package/components/containers/accordion/bundles/index.umd.js +49 -2
  78. package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +10 -1
  79. package/components/containers/accordion/esm2022/accordion.directive.mjs +41 -3
  80. package/components/containers/accordion/fesm2022/index.mjs +49 -2
  81. package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  82. package/components/containers/panel/bundles/index.umd.js +13 -0
  83. package/components/containers/panel/esm2022/panel.component.mjs +14 -1
  84. package/components/containers/panel/fesm2022/index.mjs +13 -0
  85. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  86. package/components/containers/panel/panel.component.d.ts +3 -2
  87. package/components/containers/tabs/bundles/index.umd.js +54 -2
  88. package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +10 -1
  89. package/components/containers/tabs/esm2022/tabs.component.mjs +46 -3
  90. package/components/containers/tabs/fesm2022/index.mjs +54 -2
  91. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  92. package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +3 -2
  93. package/components/containers/tabs/tabs.component.d.ts +5 -2
  94. package/components/containers/wizard/bundles/index.umd.js +47 -3
  95. package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +16 -3
  96. package/components/containers/wizard/esm2022/wizard.component.mjs +33 -2
  97. package/components/containers/wizard/fesm2022/index.mjs +47 -3
  98. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  99. package/components/containers/wizard/wizard-step/wizard-step.component.d.ts +3 -2
  100. package/components/containers/wizard/wizard.component.d.ts +4 -2
  101. package/components/data/card/bundles/index.umd.js +17 -1
  102. package/components/data/card/card-content/card-content.component.d.ts +3 -2
  103. package/components/data/card/card.component.d.ts +4 -2
  104. package/components/data/card/esm2022/card-content/card-content.component.mjs +6 -1
  105. package/components/data/card/esm2022/card.component.mjs +13 -2
  106. package/components/data/card/fesm2022/index.mjs +17 -1
  107. package/components/data/card/fesm2022/index.mjs.map +1 -1
  108. package/components/data/form/bundles/index.umd.js +92 -0
  109. package/components/data/form/esm2022/form-action/form-action.directive.mjs +7 -1
  110. package/components/data/form/esm2022/form-field/form-field.directive.mjs +28 -1
  111. package/components/data/form/esm2022/form-widget.directive.mjs +8 -1
  112. package/components/data/form/esm2022/form.component.mjs +27 -1
  113. package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +7 -1
  114. package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +12 -1
  115. package/components/data/form/esm2022/live-form/live-form.directive.mjs +10 -1
  116. package/components/data/form/fesm2022/index.mjs +92 -0
  117. package/components/data/form/fesm2022/index.mjs.map +1 -1
  118. package/components/data/form/form-action/form-action.directive.d.ts +3 -2
  119. package/components/data/form/form-field/form-field.directive.d.ts +3 -2
  120. package/components/data/form/form-widget.directive.d.ts +3 -2
  121. package/components/data/form/live-actions/live-actions.directive.d.ts +3 -1
  122. package/components/data/form/live-filter/live-filter.directive.d.ts +3 -1
  123. package/components/data/form/live-form/live-form.directive.d.ts +3 -1
  124. package/components/data/list/bundles/index.umd.js +213 -19
  125. package/components/data/list/esm2022/list-item.directive.mjs +95 -11
  126. package/components/data/list/esm2022/list.component.mjs +120 -10
  127. package/components/data/list/fesm2022/index.mjs +213 -19
  128. package/components/data/list/fesm2022/index.mjs.map +1 -1
  129. package/components/data/list/list-item.directive.d.ts +7 -2
  130. package/components/data/list/list.component.d.ts +7 -0
  131. package/components/data/live-table/bundles/index.umd.js +13 -1
  132. package/components/data/live-table/esm2022/live-table.component.mjs +14 -2
  133. package/components/data/live-table/fesm2022/index.mjs +13 -1
  134. package/components/data/live-table/fesm2022/index.mjs.map +1 -1
  135. package/components/data/live-table/live-table.component.d.ts +4 -2
  136. package/components/data/pagination/bundles/index.umd.js +57 -4
  137. package/components/data/pagination/esm2022/pagination.component.mjs +58 -5
  138. package/components/data/pagination/fesm2022/index.mjs +57 -4
  139. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  140. package/components/data/pagination/pagination.component.d.ts +4 -2
  141. package/components/data/table/bundles/index.umd.js +345 -15
  142. package/components/data/table/esm2022/table-action/table-action.directive.mjs +8 -1
  143. package/components/data/table/esm2022/table-column/table-column.directive.mjs +107 -3
  144. package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +9 -1
  145. package/components/data/table/esm2022/table-cud.directive.mjs +8 -2
  146. package/components/data/table/esm2022/table-filter.directive.mjs +12 -2
  147. package/components/data/table/esm2022/table-row/table-row.directive.mjs +8 -1
  148. package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +8 -1
  149. package/components/data/table/esm2022/table.component.mjs +193 -12
  150. package/components/data/table/fesm2022/index.mjs +345 -15
  151. package/components/data/table/fesm2022/index.mjs.map +1 -1
  152. package/components/data/table/table-action/table-action.directive.d.ts +3 -2
  153. package/components/data/table/table-column/table-column.directive.d.ts +3 -2
  154. package/components/data/table/table-column-group/table-column-group.directive.d.ts +3 -2
  155. package/components/data/table/table-cud.directive.d.ts +3 -1
  156. package/components/data/table/table-filter.directive.d.ts +3 -1
  157. package/components/data/table/table-row/table-row.directive.d.ts +3 -2
  158. package/components/data/table/table-row-action/table-row-action.directive.d.ts +3 -2
  159. package/components/data/table/table.component.d.ts +6 -2
  160. package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +3 -2
  161. package/components/dialogs/alert-dialog/bundles/index.umd.js +5 -0
  162. package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +6 -1
  163. package/components/dialogs/alert-dialog/fesm2022/index.mjs +5 -0
  164. package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  165. package/components/dialogs/confirm-dialog/bundles/index.umd.js +5 -0
  166. package/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +3 -2
  167. package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +6 -1
  168. package/components/dialogs/confirm-dialog/fesm2022/index.mjs +5 -0
  169. package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  170. package/components/dialogs/default/bundles/index.umd.js +15 -2
  171. package/components/dialogs/default/dialog-body/dialog-body.directive.d.ts +4 -2
  172. package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +16 -3
  173. package/components/dialogs/default/fesm2022/index.mjs +15 -2
  174. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  175. package/components/dialogs/design-dialog/bundles/index.umd.js +7 -0
  176. package/components/dialogs/design-dialog/dialog.component.d.ts +3 -2
  177. package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +8 -1
  178. package/components/dialogs/design-dialog/fesm2022/index.mjs +7 -0
  179. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  180. package/components/dialogs/iframe-dialog/bundles/index.umd.js +5 -0
  181. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +6 -1
  182. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +5 -0
  183. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  184. package/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +3 -2
  185. package/components/dialogs/partial-dialog/bundles/index.umd.js +23 -3
  186. package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +24 -4
  187. package/components/dialogs/partial-dialog/fesm2022/index.mjs +23 -3
  188. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  189. package/components/dialogs/partial-dialog/partial-dialog.component.d.ts +4 -2
  190. package/components/input/base-form/base-form.component.d.ts +4 -2
  191. package/components/input/base-form/bundles/index.umd.js +16 -2
  192. package/components/input/base-form/esm2022/base-form.component.mjs +17 -3
  193. package/components/input/base-form/fesm2022/index.mjs +16 -2
  194. package/components/input/base-form/fesm2022/index.mjs.map +1 -1
  195. package/components/input/base-form-custom/base-form-custom.component.d.ts +3 -2
  196. package/components/input/base-form-custom/bundles/index.umd.js +13 -2
  197. package/components/input/base-form-custom/esm2022/base-form-custom.component.mjs +14 -3
  198. package/components/input/base-form-custom/fesm2022/index.mjs +13 -2
  199. package/components/input/base-form-custom/fesm2022/index.mjs.map +1 -1
  200. package/components/input/checkbox/bundles/index.umd.js +7 -0
  201. package/components/input/checkbox/checkbox.component.d.ts +3 -2
  202. package/components/input/checkbox/esm2022/checkbox.component.mjs +8 -1
  203. package/components/input/checkbox/fesm2022/index.mjs +7 -0
  204. package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
  205. package/components/input/checkboxset/bundles/index.umd.js +18 -2
  206. package/components/input/checkboxset/checkboxset.component.d.ts +4 -2
  207. package/components/input/checkboxset/esm2022/checkboxset.component.mjs +19 -3
  208. package/components/input/checkboxset/fesm2022/index.mjs +18 -2
  209. package/components/input/checkboxset/fesm2022/index.mjs.map +1 -1
  210. package/components/input/chips/bundles/index.umd.js +45 -5
  211. package/components/input/chips/chips.component.d.ts +3 -2
  212. package/components/input/chips/esm2022/chips.component.mjs +46 -6
  213. package/components/input/chips/fesm2022/index.mjs +45 -5
  214. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  215. package/components/input/color-picker/bundles/index.umd.js +8 -0
  216. package/components/input/color-picker/color-picker.component.d.ts +3 -2
  217. package/components/input/color-picker/esm2022/color-picker.component.mjs +9 -1
  218. package/components/input/color-picker/fesm2022/index.mjs +8 -0
  219. package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  220. package/components/input/composite/bundles/index.umd.js +10 -1
  221. package/components/input/composite/composite.directive.d.ts +3 -2
  222. package/components/input/composite/esm2022/composite.directive.mjs +11 -2
  223. package/components/input/composite/fesm2022/index.mjs +10 -1
  224. package/components/input/composite/fesm2022/index.mjs.map +1 -1
  225. package/components/input/currency/bundles/index.umd.js +7 -0
  226. package/components/input/currency/currency.component.d.ts +3 -2
  227. package/components/input/currency/esm2022/currency.component.mjs +8 -1
  228. package/components/input/currency/fesm2022/index.mjs +7 -0
  229. package/components/input/currency/fesm2022/index.mjs.map +1 -1
  230. package/components/input/dataset-aware-form/bundles/index.umd.js +26 -2
  231. package/components/input/dataset-aware-form/esm2022/dataset-aware-form.component.mjs +27 -3
  232. package/components/input/dataset-aware-form/fesm2022/index.mjs +26 -2
  233. package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -1
  234. package/components/input/epoch/date/bundles/index.umd.js +22 -0
  235. package/components/input/epoch/date/date.component.d.ts +1 -0
  236. package/components/input/epoch/date/esm2022/date.component.mjs +23 -1
  237. package/components/input/epoch/date/fesm2022/index.mjs +22 -0
  238. package/components/input/epoch/date/fesm2022/index.mjs.map +1 -1
  239. package/components/input/file-upload/bundles/index.umd.js +25 -8
  240. package/components/input/file-upload/esm2022/file-upload.component.mjs +26 -9
  241. package/components/input/file-upload/fesm2022/index.mjs +25 -8
  242. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  243. package/components/input/file-upload/file-upload.component.d.ts +3 -0
  244. package/components/input/number/bundles/index.umd.js +8 -0
  245. package/components/input/number/esm2022/number.component.mjs +9 -1
  246. package/components/input/number/fesm2022/index.mjs +8 -0
  247. package/components/input/number/fesm2022/index.mjs.map +1 -1
  248. package/components/input/number/number.component.d.ts +3 -2
  249. package/components/input/radioset/bundles/index.umd.js +18 -2
  250. package/components/input/radioset/esm2022/radioset.component.mjs +19 -3
  251. package/components/input/radioset/fesm2022/index.mjs +18 -2
  252. package/components/input/radioset/fesm2022/index.mjs.map +1 -1
  253. package/components/input/radioset/radioset.component.d.ts +4 -2
  254. package/components/input/rating/bundles/index.umd.js +10 -0
  255. package/components/input/rating/esm2022/rating.component.mjs +11 -1
  256. package/components/input/rating/fesm2022/index.mjs +10 -0
  257. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  258. package/components/input/rating/rating.component.d.ts +3 -2
  259. package/components/input/select/bundles/index.umd.js +6 -0
  260. package/components/input/select/esm2022/select.component.mjs +7 -1
  261. package/components/input/select/fesm2022/index.mjs +6 -0
  262. package/components/input/select/fesm2022/index.mjs.map +1 -1
  263. package/components/input/select/select.component.d.ts +3 -2
  264. package/components/input/slider/bundles/index.umd.js +10 -0
  265. package/components/input/slider/esm2022/slider.component.mjs +11 -1
  266. package/components/input/slider/fesm2022/index.mjs +10 -0
  267. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  268. package/components/input/slider/slider.component.d.ts +3 -2
  269. package/components/input/switch/bundles/index.umd.js +22 -2
  270. package/components/input/switch/esm2022/switch.component.mjs +23 -3
  271. package/components/input/switch/fesm2022/index.mjs +22 -2
  272. package/components/input/switch/fesm2022/index.mjs.map +1 -1
  273. package/components/input/switch/switch.component.d.ts +3 -2
  274. package/components/input/text/bundles/index.umd.js +36 -0
  275. package/components/input/text/esm2022/input-calendar/input-calendar.component.mjs +8 -1
  276. package/components/input/text/esm2022/input-color/input-color.component.mjs +8 -1
  277. package/components/input/text/esm2022/input-email/input-email.component.mjs +8 -1
  278. package/components/input/text/esm2022/input-number/input-number.component.mjs +8 -1
  279. package/components/input/text/esm2022/input-text/input-text.component.mjs +9 -1
  280. package/components/input/text/fesm2022/index.mjs +36 -0
  281. package/components/input/text/fesm2022/index.mjs.map +1 -1
  282. package/components/input/text/input-calendar/input-calendar.component.d.ts +3 -2
  283. package/components/input/text/input-color/input-color.component.d.ts +3 -2
  284. package/components/input/text/input-email/input-email.component.d.ts +3 -2
  285. package/components/input/text/input-number/input-number.component.d.ts +3 -2
  286. package/components/input/text/input-text/input-text.component.d.ts +3 -2
  287. package/components/input/textarea/bundles/index.umd.js +7 -0
  288. package/components/input/textarea/esm2022/textarea.component.mjs +8 -1
  289. package/components/input/textarea/fesm2022/index.mjs +7 -0
  290. package/components/input/textarea/fesm2022/index.mjs.map +1 -1
  291. package/components/input/textarea/textarea.component.d.ts +3 -2
  292. package/components/navigation/menu/bundles/index.umd.js +55 -6
  293. package/components/navigation/menu/esm2022/menu-adapator.component.mjs +17 -3
  294. package/components/navigation/menu/esm2022/menu.component.mjs +10 -3
  295. package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +6 -1
  296. package/components/navigation/menu/esm2022/nav/nav.component.mjs +11 -1
  297. package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +16 -3
  298. package/components/navigation/menu/fesm2022/index.mjs +55 -6
  299. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  300. package/components/navigation/menu/menu-adapator.component.d.ts +4 -2
  301. package/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +3 -2
  302. package/components/navigation/menu/nav/nav.component.d.ts +3 -2
  303. package/components/navigation/menu/nav/navigation-control.directive.d.ts +4 -2
  304. package/components/navigation/navbar/bundles/index.umd.js +5 -0
  305. package/components/navigation/navbar/esm2022/navbar.component.mjs +6 -1
  306. package/components/navigation/navbar/fesm2022/index.mjs +5 -0
  307. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  308. package/components/navigation/navbar/navbar.component.d.ts +3 -2
  309. package/components/navigation/popover/bundles/index.umd.js +65 -13
  310. package/components/navigation/popover/esm2022/popover.component.mjs +63 -11
  311. package/components/navigation/popover/fesm2022/index.mjs +62 -10
  312. package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  313. package/components/navigation/popover/popover.component.d.ts +11 -3
  314. package/components/page/default/bundles/index.umd.js +30 -6
  315. package/components/page/default/esm2022/layout.directive.mjs +9 -1
  316. package/components/page/default/esm2022/page-content/page-content.component.mjs +13 -3
  317. package/components/page/default/esm2022/router-outlet.directive.mjs +13 -6
  318. package/components/page/default/fesm2022/index.mjs +30 -6
  319. package/components/page/default/fesm2022/index.mjs.map +1 -1
  320. package/components/page/default/layout.directive.d.ts +3 -2
  321. package/components/page/default/page-content/page-content.component.d.ts +3 -2
  322. package/components/page/default/router-outlet.directive.d.ts +5 -2
  323. package/components/page/left-panel/bundles/index.umd.js +16 -0
  324. package/components/page/left-panel/esm2022/left-panel.directive.mjs +17 -1
  325. package/components/page/left-panel/fesm2022/index.mjs +16 -0
  326. package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  327. package/components/page/left-panel/left-panel.directive.d.ts +3 -2
  328. package/components/page/top-nav/bundles/index.umd.js +2 -1
  329. package/components/page/top-nav/esm2022/top-nav.props.mjs +3 -2
  330. package/components/page/top-nav/fesm2022/index.mjs +2 -1
  331. package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  332. package/components/prefab/bundles/index.umd.js +4 -0
  333. package/components/prefab/esm2022/prefab.directive.mjs +5 -1
  334. package/components/prefab/fesm2022/index.mjs +4 -0
  335. package/components/prefab/fesm2022/index.mjs.map +1 -1
  336. package/core/bundles/index.umd.js +391 -94
  337. package/core/esm2022/public_api.mjs +3 -3
  338. package/core/esm2022/services/viewport.service.mjs +24 -10
  339. package/core/esm2022/types/types.mjs +1 -1
  340. package/core/esm2022/utils/dom.mjs +18 -2
  341. package/core/esm2022/utils/event-notifier.mjs +5 -2
  342. package/core/esm2022/utils/lru-cache.mjs +16 -2
  343. package/core/esm2022/utils/utils.mjs +6 -2
  344. package/core/esm2022/utils/watcher.mjs +323 -81
  345. package/core/fesm2022/index.mjs +390 -96
  346. package/core/fesm2022/index.mjs.map +1 -1
  347. package/core/public_api.d.ts +2 -2
  348. package/core/services/viewport.service.d.ts +5 -2
  349. package/core/types/types.d.ts +1 -0
  350. package/core/utils/lru-cache.d.ts +6 -0
  351. package/core/utils/utils.d.ts +1 -0
  352. package/core/utils/watcher.d.ts +26 -5
  353. package/http/bundles/index.umd.js +31 -1
  354. package/http/esm2022/http.service.mjs +32 -2
  355. package/http/fesm2022/index.mjs +31 -1
  356. package/http/fesm2022/index.mjs.map +1 -1
  357. package/http/http.service.d.ts +6 -2
  358. package/npm-shrinkwrap.json +2 -2
  359. package/oAuth/bundles/index.umd.js +9 -0
  360. package/oAuth/esm2022/oAuth.service.mjs +10 -1
  361. package/oAuth/fesm2022/index.mjs +9 -0
  362. package/oAuth/fesm2022/index.mjs.map +1 -1
  363. package/oAuth/oAuth.service.d.ts +3 -1
  364. package/package-lock.json +2 -2
  365. package/package.json +1 -1
  366. package/runtime/base/bundles/index.umd.js +367 -32
  367. package/runtime/base/components/app-component/app.component.d.ts +4 -0
  368. package/runtime/base/components/prefab-preview.component.d.ts +5 -2
  369. package/runtime/base/directives/accessroles.directive.d.ts +4 -3
  370. package/runtime/base/directives/prefab.directive.d.ts +3 -2
  371. package/runtime/base/esm2022/components/app-component/app.component.mjs +40 -9
  372. package/runtime/base/esm2022/components/base-custom-widget.component.mjs +33 -2
  373. package/runtime/base/esm2022/components/base-layout.component.mjs +7 -1
  374. package/runtime/base/esm2022/components/base-page.component.mjs +36 -3
  375. package/runtime/base/esm2022/components/base-partial.component.mjs +37 -3
  376. package/runtime/base/esm2022/components/base-prefab.component.mjs +32 -3
  377. package/runtime/base/esm2022/components/base-spa-page.component.mjs +37 -3
  378. package/runtime/base/esm2022/components/prefab-preview.component.mjs +23 -4
  379. package/runtime/base/esm2022/directives/accessroles.directive.mjs +11 -2
  380. package/runtime/base/esm2022/directives/prefab.directive.mjs +9 -1
  381. package/runtime/base/esm2022/services/app.manager.service.mjs +40 -12
  382. package/runtime/base/esm2022/services/app.service.mjs +34 -2
  383. package/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +4 -1
  384. package/runtime/base/esm2022/services/pipe-provider.service.mjs +7 -4
  385. package/runtime/base/esm2022/services/spinner.service.mjs +15 -1
  386. package/runtime/base/esm2022/util/fragment-monitor.mjs +23 -2
  387. package/runtime/base/fesm2022/index.mjs +368 -33
  388. package/runtime/base/fesm2022/index.mjs.map +1 -1
  389. package/runtime/base/runtime-base.module.d.ts +2 -2
  390. package/runtime/base/services/app.manager.service.d.ts +6 -1
  391. package/runtime/base/services/app.service.d.ts +12 -2
  392. package/runtime/base/services/dynamic-component-ref-provider.service.d.ts +2 -1
  393. package/runtime/base/services/spinner.service.d.ts +3 -1
  394. package/runtime/base/util/fragment-monitor.d.ts +6 -0
  395. package/runtime/dynamic/bundles/index.umd.js +5 -0
  396. package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +6 -1
  397. package/runtime/dynamic/fesm2022/index.mjs +5 -0
  398. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  399. package/scripts/@wavemaker/nvd3/build/nv.d3.min.js +1 -1
  400. package/scripts/datatable/datatable.js +100 -14
  401. package/security/bundles/index.umd.js +41 -2
  402. package/security/esm2022/security.service.mjs +42 -3
  403. package/security/fesm2022/index.mjs +41 -2
  404. package/security/fesm2022/index.mjs.map +1 -1
  405. package/security/security.service.d.ts +5 -2
  406. package/variables/bundles/index.umd.js +50 -6
  407. package/variables/esm2022/manager/action/notification-action.manager.mjs +18 -3
  408. package/variables/esm2022/manager/variable/base-variable.manager.mjs +15 -2
  409. package/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +13 -3
  410. package/variables/esm2022/service/variables.service.mjs +8 -2
  411. package/variables/fesm2022/index.mjs +50 -6
  412. package/variables/fesm2022/index.mjs.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/page/left-panel/src/left-panel.props.ts","../../../../../projects/components/widgets/page/left-panel/src/left-panel.animator.ts","../../../../../projects/components/widgets/page/left-panel/src/left-panel.directive.ts","../../../../../projects/components/widgets/page/left-panel/src/index.ts"],"sourcesContent":["import {PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-left-panel',\n new Map(\n [\n ['animation', {value: 'slide-in', ...PROP_STRING}],\n ['class', PROP_STRING],\n ['columnwidth', { value: 3, ...PROP_NUMBER}],\n ['content', PROP_STRING],\n ['gestures', {value: 'on', ... PROP_STRING}],\n ['name', PROP_STRING],\n ['xscolumnwidth', { value: 10, ...PROP_NUMBER}],\n ['hint', PROP_STRING],\n ['arialabel', PROP_STRING]\n ]\n )\n );\n};\n","import { SwipeAnimation } from '@swipey';\n\nimport { $appDigest } from '@wm/core';\n\nimport { AnimationType, LeftPanelDirective } from './left-panel.directive';\n\nexport class LeftPanelAnimator extends SwipeAnimation {\n private _$animatedElements;\n private _expanded: boolean;\n private _leftPanelWidth: number;\n private _maxX: number;\n private _pageContainerWidth: number;\n private _width: number;\n\n constructor(private leftPanel: LeftPanelDirective) {\n super();\n this.init(this.leftPanel.$ele, this.leftPanel.$page);\n }\n\n public bounds(e, length): {} {\n let offset = 0;\n this.setGesturesEnabled(this.leftPanel.isGesturesEnabled());\n if (!this._width) {\n this._pageContainerWidth = this.leftPanel.$page.width();\n this._leftPanelWidth = this.leftPanel.$ele.width();\n this._maxX = this._leftPanelWidth / this._pageContainerWidth * 100;\n this._width = this.leftPanel.animation === AnimationType.SLIDE_IN ? this._pageContainerWidth : this._leftPanelWidth;\n }\n this._expanded = this.leftPanel.expanded;\n\n if (this._expanded) {\n return {\n 'center': this._leftPanelWidth,\n 'lower': -(this._leftPanelWidth - offset)\n };\n }\n if (this.leftPanel.app.isTabletApplicationType) {\n offset = 53.32;\n }\n if (e && (e.pageX || (e.touches && e.touches[0].pageX)) > offset + 100) {\n return {\n strict: true\n };\n }\n return {\n 'center': 0,\n 'upper': this._leftPanelWidth - offset\n };\n }\n\n public context() {\n return {\n 'w': this._width,\n 'pageW': this._pageContainerWidth,\n 'leftW': this._leftPanelWidth,\n 'maxX': this._maxX,\n 'limit': (min: number, v: number, max: number) => {\n if (v < min) {\n return min;\n }\n if (v > max) {\n return max;\n }\n return v;\n }\n };\n }\n\n public animation() {\n this._$animatedElements = this.leftPanel.$ele;\n if (this.leftPanel.animation === AnimationType.SLIDE_IN) {\n this._$animatedElements = this._$animatedElements.add(this.leftPanel.$page);\n if (this.leftPanel.app.isTabletApplicationType) {\n return [\n {\n 'target': this.leftPanel.$ele,\n 'css': {\n 'transform': 'translate3d(${{ limit(-100, -($d * 100 / leftW), 0) + \\'%\\' }}, 0, 0)'\n }\n },\n {\n 'target': this.leftPanel.$page,\n 'css': {\n 'transform': 'translate3d(${{ (($d) * 100 / pageW) + \\'%\\' }}, 0, 0)',\n 'width': '${{ (pageW - $d) + \\'px\\' }}',\n 'z-index': 101\n }\n }\n ];\n }\n return [\n {\n 'target': this.leftPanel.$ele,\n 'css': {\n 'transform': 'translate3d(-100%, 0, 0)',\n 'opacity': 1,\n 'z-index': 101\n }\n },\n {\n 'target': this.leftPanel.$page,\n 'css': {\n 'transform': 'translate3d(${{ limit( 0, ((($D + $d) * 100 / w)), maxX ) + \\'%\\' }}, 0, 0)',\n 'opacity': 1,\n 'z-index': 101\n }\n }];\n } else {\n return {\n 'transform': 'translate3d(${{ limit( -100, ((($D + $d) * 100 / w) - 100), 0 ) + \\'%\\'}}, 0, 0)',\n 'opacity': 1,\n 'z-index': 101\n };\n }\n }\n\n public onLower(): void {\n this._expanded = false;\n this.leftPanel.collapse();\n this.resetTransition();\n $appDigest();\n }\n\n public onUpper(): void {\n this._expanded = true;\n this.leftPanel.expand();\n this.resetTransition();\n $appDigest();\n }\n\n private resetTransition() {\n if (this._$animatedElements) {\n /*\n * This timeout is for preventing UI flicker at the end of animation.\n */\n setTimeout(() => {\n this._$animatedElements.css({\n 'transform': '',\n 'opacity': '',\n 'z-index': '',\n 'width': ''\n });\n }, 100);\n }\n }\n}\n","import {Attribute, Directive, Inject, Injector, Optional} from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\n\nimport {App, addClass, removeClass, switchClass, toggleClass, isMobile, getNavClass } from '@wm/core';\nimport { APPLY_STYLES_TYPE, getKeyboardFocusableElements, IWidgetConfig, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { LayoutDirective, PageDirective } from '@wm/components/page';\n\nimport { registerProps } from './left-panel.props';\nimport { LeftPanelAnimator } from './left-panel.animator';\n\nconst DEFAULT_CLS = 'app-left-panel left-panel-collapsed';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-left-panel',\n hostClass: DEFAULT_CLS\n};\n\nexport enum AnimationType {\n SLIDE_IN = 'slide-in',\n SLIDE_OVER = 'slide-over'\n}\n\n@Directive({\n standalone: true,\n selector: '[wmLeftPanel]',\n providers: [\n provideAsWidgetRef(LeftPanelDirective)\n ],\n exportAs: 'wmLeftPanel'\n})\nexport class LeftPanelDirective extends StylableComponent {\n static initializeProps = registerProps();\n\n public animation: AnimationType;\n public columnwidth: number;\n public expanded: boolean;\n public gestures: string;\n public xscolumnwidth: number;\n\n public $ele;\n public $page;\n\n private _destroyCollapseActionListener: () => void;\n private _leftPanelAnimator;\n\n //If \"spa\" attribute is set LayoutDirective will present and PageDirective is undefined else PageDirective will present and LayoutDirective is undefined\n constructor(public app: App, @Optional() private page: PageDirective, @Optional() private layout: LayoutDirective, inj: Injector, router: Router, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any, @Attribute('navtype') navtype: string, @Attribute('navheight') navHeight: string) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n this.$ele = this.$element;\n this.$page = this.getAttr('spa') && layout && layout.$element || page && page.$element;\n addClass(this.$page[0], 'left-panel-collapsed-container');\n if (this.columnwidth) {\n this.setLeftPanelWidth(['md', 'sm'], this.columnwidth);\n }\n if (this.app.isTabletApplicationType) {\n addClass(this.nativeElement, 'wm-tablet-app-left-panel');\n }\n const onRouteChange = router.events.subscribe(e => {\n if (e instanceof NavigationStart) {\n this.collapse();\n }\n });\n this.registerDestroyListener(() => onRouteChange.unsubscribe());\n if(!navtype) navtype = 'drawer';\n this.$element.addClass(getNavClass(navtype));\n if (navHeight) {\n this.$element.addClass(getNavClass(navHeight));\n addClass(this.$page[0], getNavClass(navHeight));\n }\n }\n\n public collapse(): void {\n addClass(this.nativeElement, 'swipee-transition');\n switchClass(this.nativeElement, 'left-panel-collapsed', 'left-panel-expanded');\n if (this.expanded) {\n setTimeout(() => {\n const leftNavButton = $('.app-header-action');\n leftNavButton.attr('aria-expanded', 'false');\n leftNavButton.focus();\n }, 50);\n }\n if (isMobile()) {\n addClass(this.nativeElement, 'hidden');\n }\n this.expanded = false;\n switchClass(this.$page[0], 'left-panel-collapsed-container', 'left-panel-expanded-container');\n if (this.animation === AnimationType.SLIDE_IN) {\n this.setPageWidthAndPosition(['md', 'sm'], null, this.columnwidth);\n this.setPageWidthAndPosition(['xs'], null, this.xscolumnwidth);\n }\n if (this._destroyCollapseActionListener) {\n this._destroyCollapseActionListener();\n }\n (this.getAttr(\"spa\") && this.layout || this.page).notify('wmLeftPanel:collapse');\n }\n\n public expand(): void {\n removeClass(this.nativeElement, 'hidden');\n removeClass(this.nativeElement, 'swipee-transition');\n switchClass(this.nativeElement, 'left-panel-expanded', 'left-panel-collapsed');\n this.expanded = true;\n if (!(this.app.isTabletApplicationType && this.animation === AnimationType.SLIDE_IN)) {\n this._destroyCollapseActionListener = this.listenForCollapseAction();\n }\n switchClass(this.$page[0], 'left-panel-expanded-container', 'left-panel-collapsed-container');\n if (this.animation === AnimationType.SLIDE_IN) {\n this.setPageWidthAndPosition(['md', 'sm'], this.columnwidth);\n this.setPageWidthAndPosition(['xs'], this.xscolumnwidth);\n }\n (this.getAttr(\"spa\") && this.layout || this.page).notify('wmLeftPanel:expand');\n $('.app-header-action').attr('aria-expanded', `${this.expanded}`);\n const focusableElements = getKeyboardFocusableElements(this.nativeElement);\n const firstFocusableElement = focusableElements[0];\n const lastFocusableElement = focusableElements[focusableElements.length - 1];\n setTimeout(() => {\n $(firstFocusableElement).focus();\n }, 50);\n $(firstFocusableElement).on('keydown', (event) => {\n if (event.shiftKey && event.key === 'Tab') {\n this.collapse();\n }\n });\n $(lastFocusableElement).on('keydown', (event) => {\n if (event.key === 'Tab') {\n this.collapse();\n }\n });\n this.$element.on('keydown', (event) => {\n if (event.key === 'Escape') {\n this.collapse();\n }\n });\n }\n\n public isGesturesEnabled(): boolean {\n return this.gestures === 'on';\n }\n\n public isVisible(): boolean {\n return this.expanded;\n }\n\n public onPropertyChange(key, nv, ov) {\n switch (key) {\n case 'animation' :\n if (nv === AnimationType.SLIDE_IN) {\n removeClass(this.$page[0], 'slide-over-left-panel-container');\n addClass(this.$page[0], 'slide-in-left-panel-container');\n this.setPageWidthAndPosition(['md', 'sm'], this.columnwidth);\n this.setPageWidthAndPosition(['xs'], this.xscolumnwidth);\n } else if (nv === AnimationType.SLIDE_OVER) {\n removeClass(this.$page[0], 'slide-in-left-panel-container');\n addClass(this.$page[0], 'slide-over-left-panel-container');\n }\n this._leftPanelAnimator = new LeftPanelAnimator(this);\n switchClass(this.nativeElement, nv, ov);\n break;\n case 'columnwidth':\n this.setLeftPanelWidth(['md', 'sm'], nv, ov);\n if (this.animation === AnimationType.SLIDE_IN) {\n this.setPageWidthAndPosition(['md', 'sm'], nv, ov);\n }\n break;\n case 'expanded':\n toggleClass(this.nativeElement, 'left-panel-expanded', nv);\n toggleClass(this.nativeElement, 'left-panel-collapsed', !nv);\n break;\n case 'xscolumnwidth':\n this.setLeftPanelWidth(['xs'], nv, ov);\n if (this.animation === AnimationType.SLIDE_IN) {\n this.setPageWidthAndPosition(['xs'], nv, ov);\n }\n break;\n default:\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n public toggle(): void {\n if (this.app.isTabletApplicationType) {\n setTimeout(() => {\n this.expanded ? this.collapse() : this.expand();\n }, 50);\n } else {\n this.$ele.swipeAnimation(this.expanded ? 'gotoLower' : 'gotoUpper');\n }\n }\n\n private listenForCollapseAction(): () => void {\n const eventName = 'click.leftNavToggle';\n let skipEvent = false;\n this.$ele.on(eventName, () => {\n skipEvent = true;\n });\n this.$page.on(eventName, () => {\n if (!skipEvent) {\n this.toggle();\n }\n skipEvent = false;\n });\n return () => {\n this.$ele.off(eventName);\n this.$page.off(eventName);\n };\n }\n\n private setLeftPanelWidth(devices: string[], newVal: number, oldVal?: number) {\n devices.forEach(device => {\n if (newVal) {\n addClass(this.nativeElement, `col-${device}-${newVal}`);\n }\n if (oldVal) {\n removeClass(this.nativeElement, `col-${device}-${oldVal}`);\n }\n });\n }\n\n private setPageWidthAndPosition(devices: string[], newVal: number, oldVal?: number) {\n devices.forEach(device => {\n if (newVal) {\n addClass(this.$page[0], `left-panel-container-${device}-${12 - newVal}`);\n }\n if (oldVal) {\n removeClass(this.$page[0], `left-panel-container-${device}-${12 - oldVal}`);\n }\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/page/left-panel/src/left-panel.props.ts","../../../../../projects/components/widgets/page/left-panel/src/left-panel.animator.ts","../../../../../projects/components/widgets/page/left-panel/src/left-panel.directive.ts","../../../../../projects/components/widgets/page/left-panel/src/index.ts"],"sourcesContent":["import {PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-left-panel',\n new Map(\n [\n ['animation', {value: 'slide-in', ...PROP_STRING}],\n ['class', PROP_STRING],\n ['columnwidth', { value: 3, ...PROP_NUMBER}],\n ['content', PROP_STRING],\n ['gestures', {value: 'on', ... PROP_STRING}],\n ['name', PROP_STRING],\n ['xscolumnwidth', { value: 10, ...PROP_NUMBER}],\n ['hint', PROP_STRING],\n ['arialabel', PROP_STRING]\n ]\n )\n );\n};\n","import { SwipeAnimation } from '@swipey';\n\nimport { $appDigest } from '@wm/core';\n\nimport { AnimationType, LeftPanelDirective } from './left-panel.directive';\n\nexport class LeftPanelAnimator extends SwipeAnimation {\n private _$animatedElements;\n private _expanded: boolean;\n private _leftPanelWidth: number;\n private _maxX: number;\n private _pageContainerWidth: number;\n private _width: number;\n\n constructor(private leftPanel: LeftPanelDirective) {\n super();\n this.init(this.leftPanel.$ele, this.leftPanel.$page);\n }\n\n public bounds(e, length): {} {\n let offset = 0;\n this.setGesturesEnabled(this.leftPanel.isGesturesEnabled());\n if (!this._width) {\n this._pageContainerWidth = this.leftPanel.$page.width();\n this._leftPanelWidth = this.leftPanel.$ele.width();\n this._maxX = this._leftPanelWidth / this._pageContainerWidth * 100;\n this._width = this.leftPanel.animation === AnimationType.SLIDE_IN ? this._pageContainerWidth : this._leftPanelWidth;\n }\n this._expanded = this.leftPanel.expanded;\n\n if (this._expanded) {\n return {\n 'center': this._leftPanelWidth,\n 'lower': -(this._leftPanelWidth - offset)\n };\n }\n if (this.leftPanel.app.isTabletApplicationType) {\n offset = 53.32;\n }\n if (e && (e.pageX || (e.touches && e.touches[0].pageX)) > offset + 100) {\n return {\n strict: true\n };\n }\n return {\n 'center': 0,\n 'upper': this._leftPanelWidth - offset\n };\n }\n\n public context() {\n return {\n 'w': this._width,\n 'pageW': this._pageContainerWidth,\n 'leftW': this._leftPanelWidth,\n 'maxX': this._maxX,\n 'limit': (min: number, v: number, max: number) => {\n if (v < min) {\n return min;\n }\n if (v > max) {\n return max;\n }\n return v;\n }\n };\n }\n\n public animation() {\n this._$animatedElements = this.leftPanel.$ele;\n if (this.leftPanel.animation === AnimationType.SLIDE_IN) {\n this._$animatedElements = this._$animatedElements.add(this.leftPanel.$page);\n if (this.leftPanel.app.isTabletApplicationType) {\n return [\n {\n 'target': this.leftPanel.$ele,\n 'css': {\n 'transform': 'translate3d(${{ limit(-100, -($d * 100 / leftW), 0) + \\'%\\' }}, 0, 0)'\n }\n },\n {\n 'target': this.leftPanel.$page,\n 'css': {\n 'transform': 'translate3d(${{ (($d) * 100 / pageW) + \\'%\\' }}, 0, 0)',\n 'width': '${{ (pageW - $d) + \\'px\\' }}',\n 'z-index': 101\n }\n }\n ];\n }\n return [\n {\n 'target': this.leftPanel.$ele,\n 'css': {\n 'transform': 'translate3d(-100%, 0, 0)',\n 'opacity': 1,\n 'z-index': 101\n }\n },\n {\n 'target': this.leftPanel.$page,\n 'css': {\n 'transform': 'translate3d(${{ limit( 0, ((($D + $d) * 100 / w)), maxX ) + \\'%\\' }}, 0, 0)',\n 'opacity': 1,\n 'z-index': 101\n }\n }];\n } else {\n return {\n 'transform': 'translate3d(${{ limit( -100, ((($D + $d) * 100 / w) - 100), 0 ) + \\'%\\'}}, 0, 0)',\n 'opacity': 1,\n 'z-index': 101\n };\n }\n }\n\n public onLower(): void {\n this._expanded = false;\n this.leftPanel.collapse();\n this.resetTransition();\n $appDigest();\n }\n\n public onUpper(): void {\n this._expanded = true;\n this.leftPanel.expand();\n this.resetTransition();\n $appDigest();\n }\n\n private resetTransition() {\n if (this._$animatedElements) {\n /*\n * This timeout is for preventing UI flicker at the end of animation.\n */\n setTimeout(() => {\n this._$animatedElements.css({\n 'transform': '',\n 'opacity': '',\n 'z-index': '',\n 'width': ''\n });\n }, 100);\n }\n }\n}\n","import {Attribute, Directive, Inject, Injector, OnDestroy, Optional} from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\n\nimport {App, addClass, removeClass, switchClass, toggleClass, isMobile, getNavClass } from '@wm/core';\nimport { APPLY_STYLES_TYPE, getKeyboardFocusableElements, IWidgetConfig, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { LayoutDirective, PageDirective } from '@wm/components/page';\n\nimport { registerProps } from './left-panel.props';\nimport { LeftPanelAnimator } from './left-panel.animator';\n\nconst DEFAULT_CLS = 'app-left-panel left-panel-collapsed';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-left-panel',\n hostClass: DEFAULT_CLS\n};\n\nexport enum AnimationType {\n SLIDE_IN = 'slide-in',\n SLIDE_OVER = 'slide-over'\n}\n\n@Directive({\n standalone: true,\n selector: '[wmLeftPanel]',\n providers: [\n provideAsWidgetRef(LeftPanelDirective)\n ],\n exportAs: 'wmLeftPanel'\n})\nexport class LeftPanelDirective extends StylableComponent implements OnDestroy {\n static initializeProps = registerProps();\n\n public animation: AnimationType;\n public columnwidth: number;\n public expanded: boolean;\n public gestures: string;\n public xscolumnwidth: number;\n\n public $ele;\n public $page;\n\n private _destroyCollapseActionListener: () => void;\n private _leftPanelAnimator;\n\n //If \"spa\" attribute is set LayoutDirective will present and PageDirective is undefined else PageDirective will present and LayoutDirective is undefined\n constructor(public app: App, @Optional() private page: PageDirective, @Optional() private layout: LayoutDirective, inj: Injector, router: Router, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any, @Attribute('navtype') navtype: string, @Attribute('navheight') navHeight: string) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n this.$ele = this.$element;\n this.$page = this.getAttr('spa') && layout && layout.$element || page && page.$element;\n addClass(this.$page[0], 'left-panel-collapsed-container');\n if (this.columnwidth) {\n this.setLeftPanelWidth(['md', 'sm'], this.columnwidth);\n }\n if (this.app.isTabletApplicationType) {\n addClass(this.nativeElement, 'wm-tablet-app-left-panel');\n }\n const onRouteChange = router.events.subscribe(e => {\n if (e instanceof NavigationStart) {\n this.collapse();\n }\n });\n this.registerDestroyListener(() => onRouteChange.unsubscribe());\n if(!navtype) navtype = 'drawer';\n this.$element.addClass(getNavClass(navtype));\n if (navHeight) {\n this.$element.addClass(getNavClass(navHeight));\n addClass(this.$page[0], getNavClass(navHeight));\n }\n }\n\n public collapse(): void {\n addClass(this.nativeElement, 'swipee-transition');\n switchClass(this.nativeElement, 'left-panel-collapsed', 'left-panel-expanded');\n if (this.expanded) {\n setTimeout(() => {\n const leftNavButton = $('.app-header-action');\n leftNavButton.attr('aria-expanded', 'false');\n leftNavButton.focus();\n }, 50);\n }\n if (isMobile()) {\n addClass(this.nativeElement, 'hidden');\n }\n this.expanded = false;\n switchClass(this.$page[0], 'left-panel-collapsed-container', 'left-panel-expanded-container');\n if (this.animation === AnimationType.SLIDE_IN) {\n this.setPageWidthAndPosition(['md', 'sm'], null, this.columnwidth);\n this.setPageWidthAndPosition(['xs'], null, this.xscolumnwidth);\n }\n if (this._destroyCollapseActionListener) {\n this._destroyCollapseActionListener();\n }\n (this.getAttr(\"spa\") && this.layout || this.page).notify('wmLeftPanel:collapse');\n }\n\n public expand(): void {\n removeClass(this.nativeElement, 'hidden');\n removeClass(this.nativeElement, 'swipee-transition');\n switchClass(this.nativeElement, 'left-panel-expanded', 'left-panel-collapsed');\n this.expanded = true;\n if (!(this.app.isTabletApplicationType && this.animation === AnimationType.SLIDE_IN)) {\n this._destroyCollapseActionListener = this.listenForCollapseAction();\n }\n switchClass(this.$page[0], 'left-panel-expanded-container', 'left-panel-collapsed-container');\n if (this.animation === AnimationType.SLIDE_IN) {\n this.setPageWidthAndPosition(['md', 'sm'], this.columnwidth);\n this.setPageWidthAndPosition(['xs'], this.xscolumnwidth);\n }\n (this.getAttr(\"spa\") && this.layout || this.page).notify('wmLeftPanel:expand');\n $('.app-header-action').attr('aria-expanded', `${this.expanded}`);\n const focusableElements = getKeyboardFocusableElements(this.nativeElement);\n const firstFocusableElement = focusableElements[0];\n const lastFocusableElement = focusableElements[focusableElements.length - 1];\n setTimeout(() => {\n $(firstFocusableElement).focus();\n }, 50);\n $(firstFocusableElement).on('keydown', (event) => {\n if (event.shiftKey && event.key === 'Tab') {\n this.collapse();\n }\n });\n $(lastFocusableElement).on('keydown', (event) => {\n if (event.key === 'Tab') {\n this.collapse();\n }\n });\n this.$element.on('keydown', (event) => {\n if (event.key === 'Escape') {\n this.collapse();\n }\n });\n }\n\n public isGesturesEnabled(): boolean {\n return this.gestures === 'on';\n }\n\n public isVisible(): boolean {\n return this.expanded;\n }\n\n public onPropertyChange(key, nv, ov) {\n switch (key) {\n case 'animation' :\n if (nv === AnimationType.SLIDE_IN) {\n removeClass(this.$page[0], 'slide-over-left-panel-container');\n addClass(this.$page[0], 'slide-in-left-panel-container');\n this.setPageWidthAndPosition(['md', 'sm'], this.columnwidth);\n this.setPageWidthAndPosition(['xs'], this.xscolumnwidth);\n } else if (nv === AnimationType.SLIDE_OVER) {\n removeClass(this.$page[0], 'slide-in-left-panel-container');\n addClass(this.$page[0], 'slide-over-left-panel-container');\n }\n this._leftPanelAnimator = new LeftPanelAnimator(this);\n switchClass(this.nativeElement, nv, ov);\n break;\n case 'columnwidth':\n this.setLeftPanelWidth(['md', 'sm'], nv, ov);\n if (this.animation === AnimationType.SLIDE_IN) {\n this.setPageWidthAndPosition(['md', 'sm'], nv, ov);\n }\n break;\n case 'expanded':\n toggleClass(this.nativeElement, 'left-panel-expanded', nv);\n toggleClass(this.nativeElement, 'left-panel-collapsed', !nv);\n break;\n case 'xscolumnwidth':\n this.setLeftPanelWidth(['xs'], nv, ov);\n if (this.animation === AnimationType.SLIDE_IN) {\n this.setPageWidthAndPosition(['xs'], nv, ov);\n }\n break;\n default:\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n public toggle(): void {\n if (this.app.isTabletApplicationType) {\n setTimeout(() => {\n this.expanded ? this.collapse() : this.expand();\n }, 50);\n } else {\n this.$ele.swipeAnimation(this.expanded ? 'gotoLower' : 'gotoUpper');\n }\n }\n\n private listenForCollapseAction(): () => void {\n const eventName = 'click.leftNavToggle';\n let skipEvent = false;\n this.$ele.on(eventName, () => {\n skipEvent = true;\n });\n this.$page.on(eventName, () => {\n if (!skipEvent) {\n this.toggle();\n }\n skipEvent = false;\n });\n return () => {\n this.$ele.off(eventName);\n this.$page.off(eventName);\n };\n }\n\n private setLeftPanelWidth(devices: string[], newVal: number, oldVal?: number) {\n devices.forEach(device => {\n if (newVal) {\n addClass(this.nativeElement, `col-${device}-${newVal}`);\n }\n if (oldVal) {\n removeClass(this.nativeElement, `col-${device}-${oldVal}`);\n }\n });\n }\n\n private setPageWidthAndPosition(devices: string[], newVal: number, oldVal?: number) {\n devices.forEach(device => {\n if (newVal) {\n addClass(this.$page[0], `left-panel-container-${device}-${12 - newVal}`);\n }\n if (oldVal) {\n removeClass(this.$page[0], `left-panel-container-${device}-${12 - oldVal}`);\n }\n });\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clean up collapse action listener\n if (this._destroyCollapseActionListener) {\n this._destroyCollapseActionListener();\n this._destroyCollapseActionListener = null;\n }\n\n // MEMORY LEAK FIX: Clear left panel animator reference\n if (this._leftPanelAnimator) {\n this._leftPanelAnimator = null;\n }\n\n // MEMORY LEAK FIX: Clear jQuery references\n this.$ele = null;\n this.$page = null;\n\n // Note: Router subscription is already cleaned up via registerDestroyListener\n\n super.ngOnDestroy();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Injector } from '@angular/core';
1
+ import { Injector, OnDestroy } from '@angular/core';
2
2
  import { Router } from '@angular/router';
3
3
  import { App } from '@wm/core';
4
4
  import { StylableComponent } from '@wm/components/base';
@@ -8,7 +8,7 @@ export declare enum AnimationType {
8
8
  SLIDE_IN = "slide-in",
9
9
  SLIDE_OVER = "slide-over"
10
10
  }
11
- export declare class LeftPanelDirective extends StylableComponent {
11
+ export declare class LeftPanelDirective extends StylableComponent implements OnDestroy {
12
12
  app: App;
13
13
  private page;
14
14
  private layout;
@@ -32,6 +32,7 @@ export declare class LeftPanelDirective extends StylableComponent {
32
32
  private listenForCollapseAction;
33
33
  private setLeftPanelWidth;
34
34
  private setPageWidthAndPosition;
35
+ ngOnDestroy(): void;
35
36
  static ɵfac: i0.ɵɵFactoryDeclaration<LeftPanelDirective, [null, { optional: true; }, { optional: true; }, null, null, { optional: true; }, { attribute: "navtype"; }, { attribute: "navheight"; }]>;
36
37
  static ɵdir: i0.ɵɵDirectiveDeclaration<LeftPanelDirective, "[wmLeftPanel]", ["wmLeftPanel"], {}, {}, never, never, true, never>;
37
38
  }
@@ -28,7 +28,8 @@
28
28
  ['name', base.PROP_STRING],
29
29
  ['content', base.PROP_STRING],
30
30
  ['hint', base.PROP_STRING],
31
- ['arialabel', base.PROP_STRING]
31
+ ['arialabel', base.PROP_STRING],
32
+ ['class', base.PROP_STRING]
32
33
  ]));
33
34
  };
34
35
 
@@ -4,7 +4,8 @@ export const registerProps = () => {
4
4
  ['name', PROP_STRING],
5
5
  ['content', PROP_STRING],
6
6
  ['hint', PROP_STRING],
7
- ['arialabel', PROP_STRING]
7
+ ['arialabel', PROP_STRING],
8
+ ['class', PROP_STRING]
8
9
  ]));
9
10
  };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLW5hdi5wcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9wYWdlL3RvcC1uYXYvc3JjL3RvcC1uYXYucHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFO0lBQzlCLFFBQVEsQ0FDSixZQUFZLEVBQ1osSUFBSSxHQUFHLENBQ0g7UUFDSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7UUFDckIsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDO1FBQ3hCLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQztRQUNyQixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7S0FDN0IsQ0FDSixDQUNKLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BST1BfU1RSSU5HLCByZWdpc3Rlcn0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5cbmV4cG9ydCBjb25zdCByZWdpc3RlclByb3BzID0gKCkgPT4ge1xuICAgIHJlZ2lzdGVyKFxuICAgICAgICAnd20tdG9wLW5hdicsXG4gICAgICAgIG5ldyBNYXAoXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgWyduYW1lJywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnY29udGVudCcsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgICAgICAgICBbJ2hpbnQnLCBQUk9QX1NUUklOR10sXG4gICAgICAgICAgICAgICAgWydhcmlhbGFiZWwnLCBQUk9QX1NUUklOR11cbiAgICAgICAgICAgIF1cbiAgICAgICAgKVxuICAgICk7XG59O1xuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLW5hdi5wcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9wYWdlL3RvcC1uYXYvc3JjL3RvcC1uYXYucHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFO0lBQzlCLFFBQVEsQ0FDSixZQUFZLEVBQ1osSUFBSSxHQUFHLENBQ0g7UUFDSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7UUFDckIsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDO1FBQ3hCLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQztRQUNyQixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7UUFDMUIsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDO0tBQ3pCLENBQ0osQ0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQUk9QX1NUUklORywgcmVnaXN0ZXJ9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJQcm9wcyA9ICgpID0+IHtcbiAgICByZWdpc3RlcihcbiAgICAgICAgJ3dtLXRvcC1uYXYnLFxuICAgICAgICBuZXcgTWFwKFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIFsnbmFtZScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgICAgICAgICBbJ2NvbnRlbnQnLCBQUk9QX1NUUklOR10sXG4gICAgICAgICAgICAgICAgWydoaW50JywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnYXJpYWxhYmVsJywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnY2xhc3MnLCBQUk9QX1NUUklOR11cbiAgICAgICAgICAgIF1cbiAgICAgICAgKVxuICAgICk7XG59O1xuIl19
@@ -7,7 +7,8 @@ const registerProps = () => {
7
7
  ['name', PROP_STRING],
8
8
  ['content', PROP_STRING],
9
9
  ['hint', PROP_STRING],
10
- ['arialabel', PROP_STRING]
10
+ ['arialabel', PROP_STRING],
11
+ ['class', PROP_STRING]
11
12
  ]));
12
13
  };
13
14
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/page/top-nav/src/top-nav.props.ts","../../../../../projects/components/widgets/page/top-nav/src/top-nav.directive.ts","../../../../../projects/components/widgets/page/top-nav/src/index.ts"],"sourcesContent":["import {PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-top-nav',\n new Map(\n [\n ['name', PROP_STRING],\n ['content', PROP_STRING],\n ['hint', PROP_STRING],\n ['arialabel', PROP_STRING]\n ]\n )\n );\n};\n","import {Directive, Inject, Injector, Optional} from '@angular/core';\n\nimport { provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './top-nav.props';\n\nconst DEFAULT_CLS = 'app-top-nav';\nconst WIDGET_CONFIG = {widgetType: 'wm-top-nav', hostClass: DEFAULT_CLS};\n\n@Directive({\n standalone: true,\n selector: '[wmTopNav]',\n providers: [\n provideAsWidgetRef(TopNavDirective)\n ],\n exportAs: 'wmTopNav'\n})\nexport class TopNavDirective extends StylableComponent {\n static initializeProps = registerProps();\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n styler(this.nativeElement, this);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;AAEO,MAAM,aAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,YAAY,EACZ,IAAI,GAAG,CACH;QACI,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,SAAS,EAAE,WAAW,CAAC;QACxB,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,WAAW,EAAE,WAAW;AAC5B,KAAA,CACJ,CACJ;AACL,CAAC;;ACTD,MAAM,WAAW,GAAG,aAAa;AACjC,MAAM,aAAa,GAAG,EAAC,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAC;AAUlE,MAAO,eAAgB,SAAQ,iBAAiB,CAAA;AAC3C,IAAA,SAAA,IAAA,CAAA,eAAe,GAAG,aAAa,EAAhB,CAAmB;IAEzC,WAAA,CAAY,GAAa,EAA0C,eAAoB,EAAA;AACnF,QAAA,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC;AAE1C,QAAA,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC;IACpC;AAPS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,0CAGW,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAH5C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EALb;YACP,kBAAkB,CAAC,eAAe;AACrC,SAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAGQ,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AACd,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,SAAS,EAAE;AACP,wBAAA,kBAAkB,CAAA,eAAA;AACrB,qBAAA;AACD,oBAAA,QAAQ,EAAE;AACb,iBAAA;;0BAI+B,MAAM;2BAAC,kBAAkB;;0BAAG;;;ACnB5D;;AAEG;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/page/top-nav/src/top-nav.props.ts","../../../../../projects/components/widgets/page/top-nav/src/top-nav.directive.ts","../../../../../projects/components/widgets/page/top-nav/src/index.ts"],"sourcesContent":["import {PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-top-nav',\n new Map(\n [\n ['name', PROP_STRING],\n ['content', PROP_STRING],\n ['hint', PROP_STRING],\n ['arialabel', PROP_STRING],\n ['class', PROP_STRING]\n ]\n )\n );\n};\n","import {Directive, Inject, Injector, Optional} from '@angular/core';\n\nimport { provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './top-nav.props';\n\nconst DEFAULT_CLS = 'app-top-nav';\nconst WIDGET_CONFIG = {widgetType: 'wm-top-nav', hostClass: DEFAULT_CLS};\n\n@Directive({\n standalone: true,\n selector: '[wmTopNav]',\n providers: [\n provideAsWidgetRef(TopNavDirective)\n ],\n exportAs: 'wmTopNav'\n})\nexport class TopNavDirective extends StylableComponent {\n static initializeProps = registerProps();\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n styler(this.nativeElement, this);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;AAEO,MAAM,aAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,YAAY,EACZ,IAAI,GAAG,CACH;QACI,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,SAAS,EAAE,WAAW,CAAC;QACxB,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,OAAO,EAAE,WAAW;AACxB,KAAA,CACJ,CACJ;AACL,CAAC;;ACVD,MAAM,WAAW,GAAG,aAAa;AACjC,MAAM,aAAa,GAAG,EAAC,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAC;AAUlE,MAAO,eAAgB,SAAQ,iBAAiB,CAAA;AAC3C,IAAA,SAAA,IAAA,CAAA,eAAe,GAAG,aAAa,EAAhB,CAAmB;IAEzC,WAAA,CAAY,GAAa,EAA0C,eAAoB,EAAA;AACnF,QAAA,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC;AAE1C,QAAA,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC;IACpC;AAPS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,0CAGW,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAH5C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EALb;YACP,kBAAkB,CAAC,eAAe;AACrC,SAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAGQ,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AACd,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,SAAS,EAAE;AACP,wBAAA,kBAAkB,CAAA,eAAA;AACrB,qBAAA;AACD,oBAAA,QAAQ,EAAE;AACb,iBAAA;;0BAI+B,MAAM;2BAAC,kBAAkB;;0BAAG;;;ACnB5D;;AAEG;;;;"}
@@ -88,6 +88,10 @@
88
88
  }
89
89
  ngOnDestroy() {
90
90
  this.invokeEventCallback('destroy', { widget: this });
91
+ // MEMORY LEAK FIX: Clear references
92
+ this.propsReady = null;
93
+ // MEMORY LEAK FIX: Call super.ngOnDestroy() for proper cleanup
94
+ super.ngOnDestroy();
91
95
  }
92
96
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: PrefabDirective, deps: [{ token: i0__namespace.Injector }, { token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }, { token: 'prefabname', attribute: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Directive }); }
93
97
  static { this.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: PrefabDirective, isStandalone: true, selector: "section[wmPrefab]", providers: [
@@ -61,6 +61,10 @@ export class PrefabDirective extends StylableComponent {
61
61
  }
62
62
  ngOnDestroy() {
63
63
  this.invokeEventCallback('destroy', { widget: this });
64
+ // MEMORY LEAK FIX: Clear references
65
+ this.propsReady = null;
66
+ // MEMORY LEAK FIX: Call super.ngOnDestroy() for proper cleanup
67
+ super.ngOnDestroy();
64
68
  }
65
69
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PrefabDirective, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: 'prefabname', attribute: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
66
70
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: PrefabDirective, isStandalone: true, selector: "section[wmPrefab]", providers: [
@@ -85,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
85
89
  }, {
86
90
  type: Optional
87
91
  }] }] });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmFiLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9wcmVmYWIvc3JjL3ByZWZhYi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUVSLFFBQVEsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUV0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7QUFFckMsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDO0FBRWpDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztBQVM3QyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxpQkFBaUI7SUFPbEQsWUFBWSxHQUFhLEVBQUUsS0FBaUIsRUFBRSxHQUFzQixFQUEyQixVQUFVLEVBQTBDLGVBQW9CO1FBQ25LLE1BQU0sVUFBVSxHQUFHLGFBQWEsVUFBVSxFQUFFLENBQUM7UUFDN0MsTUFBTSxhQUFhLEdBQUcsRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBQyxDQUFDO1FBQzNELElBQUksU0FBUyxHQUFhLElBQUksQ0FBQztRQUUvQixLQUFLLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLENBQUMs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UDVILGVBQWUsZ0VBSmI7WUFDUCxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7U0FDdEM7OzRGQUVRLGVBQWU7a0JBUDNCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsU0FBUyxFQUFFO3dCQUNQLGtCQUFrQixpQkFBaUI7cUJBQ3RDO2lCQUNKOzswQkFRMEUsU0FBUzsyQkFBQyxZQUFZOzswQkFBZSxNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3B0aW9uYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7c2V0Q1NTLCBub29wfSBmcm9tICdAd20vY29yZSc7XG5cbmltcG9ydCB7IFBST1BfVFlQRSwgcmVnaXN0ZXIsIHByb3ZpZGVBc1dpZGdldFJlZiwgU3R5bGFibGVDb21wb25lbnQsIHN0eWxlciB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHsgcHJlZmFiUHJvcHMgfSBmcm9tICcuL3ByZWZhYi5wcm9wcyc7XG5pbXBvcnQge3N0YXJ0c1dpdGh9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuY29uc3QgREVGQVVMVF9DTFMgPSAnYXBwLXByZWZhYic7XG5cbmNvbnN0IHJlZ2lzdGVyZWRQcm9wc1NldCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3NlY3Rpb25bd21QcmVmYWJdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKFByZWZhYkRpcmVjdGl2ZSlcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFByZWZhYkRpcmVjdGl2ZSBleHRlbmRzIFN0eWxhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIHdpZGdldFR5cGU6IHN0cmluZztcbiAgICBwcmVmYWJOYW1lOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHByb3BzUmVhZHk6IEZ1bmN0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgZWxSZWY6IEVsZW1lbnRSZWYsIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIEBBdHRyaWJ1dGUoJ3ByZWZhYm5hbWUnKSBwcmVmYWJOYW1lLCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgY29uc3Qgd2lkZ2V0VHlwZSA9IGB3bS1wcmVmYWItJHtwcmVmYWJOYW1lfWA7XG4gICAgICAgIGNvbnN0IFdJREdFVF9DT05GSUcgPSB7d2lkZ2V0VHlwZSwgaG9zdENsYXNzOiBERUZBVUxUX0NMU307XG4gICAgICAgIGxldCByZXNvbHZlRm46IEZ1bmN0aW9uID0gbm9vcDtcblxuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcsIGV4cGxpY2l0Q29udGV4dCwgbmV3IFByb21pc2UocmVzID0+IHJlc29sdmVGbiA9IHJlcykpO1xuICAgICAgICB0aGlzLnByb3BzUmVhZHkgPSByZXNvbHZlRm47XG4gICAgICAgIHRoaXMucHJlZmFiTmFtZSA9IHByZWZhYk5hbWU7XG4gICAgICAgIHRoaXMud2lkZ2V0VHlwZSA9IHdpZGdldFR5cGU7XG4gICAgICAgIHRoaXMubmFtZSA9IGVsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCduYW1lJyk7XG5cbiAgICAgICAgc3R5bGVyKHRoaXMubmF0aXZlRWxlbWVudCwgdGhpcyk7XG5cbiAgICAgICAgLy8gQ2FsbCBvbiBwcm9wZXJ0eSBjaGFuZ2Ugb24gbmFtZSB0byBzZXQgbmFtZSBhdHRyaWJ1dGUgb24gZWxlbWVudC5cbiAgICAgICAgdGhpcy5yZWdpc3RlclJlYWR5U3RhdGVMaXN0ZW5lcigoKSA9PiB7XG4gICAgICAgICAgICBzdXBlci5vblByb3BlcnR5Q2hhbmdlKCduYW1lJywgdGhpcy5uYW1lKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25TdHlsZUNoYW5nZShrZXk6IHN0cmluZywgbnY6IGFueSwgb3Y6IGFueSkge1xuICAgICAgICBpZiAoa2V5ID09PSAnaGVpZ2h0Jykge1xuICAgICAgICAgICAgc2V0Q1NTKHRoaXMubmF0aXZlRWxlbWVudCwgJ292ZXJmbG93JywgJ2F1dG8nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXRQcm9wcyhjb25maWcpIHtcbiAgICAgICAgaWYgKCFjb25maWcgfHwgIWNvbmZpZy5wcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXJlZ2lzdGVyZWRQcm9wc1NldC5oYXModGhpcy53aWRnZXRUeXBlKSkge1xuICAgICAgICAgICAgcmVnaXN0ZXIodGhpcy53aWRnZXRUeXBlLCB0aGlzLnByZXBhcmVQcm9wcyhjb25maWcucHJvcGVydGllcykpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcm9wc1JlYWR5KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZUV2ZW50KCkge1xuICAgICAgICAvLyBkbyBub3QgY2FsbCB0aGUgc3VwZXI7XG4gICAgICAgIC8vIHByZXZlbnQgZXZlbnRzIGZyb20gZ2V0dGluZyByZWdpc3RlcmVkXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcmVwYXJlUHJvcHMocHJvcHMgPSB7fSkge1xuICAgICAgICBjb25zdCBwcm9wc01hcCA9IG5ldyBNYXAocHJlZmFiUHJvcHMpO1xuICAgICAgICBPYmplY3QuZW50cmllcyhwcm9wcykuZm9yRWFjaCgoW2ssIHZdOiBbc3RyaW5nLCBhbnldKSA9PiB7XG4gICAgICAgICAgICBsZXQgdHlwZSA9IFBST1BfVFlQRS5TVFJJTkc7XG5cbiAgICAgICAgICAgIGlmICh2LnR5cGUgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgICAgIHR5cGUgPSBQUk9QX1RZUEUuQk9PTEVBTjtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodi50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgIHR5cGUgPSBQUk9QX1RZUEUuTlVNQkVSO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh2LnR5cGUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgdHlwZSA9IHYudHlwZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRG8gbm90IHNldCB0aGUgJ2JpbmQ6KicgdmFsdWVzXG4gICAgICAgICAgICBwcm9wc01hcC5zZXQoaywge3R5cGUsIHZhbHVlOiBzdGFydHNXaXRoKHYudmFsdWUsICdiaW5kOicpID8gdW5kZWZpbmVkIDogdi52YWx1ZX0pO1xuICAgICAgICB9KTtcblxuICAgICAgICByZWdpc3RlcmVkUHJvcHNTZXQuYWRkKHRoaXMud2lkZ2V0VHlwZSk7XG5cbiAgICAgICAgcmV0dXJuIHByb3BzTWFwO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ2Rlc3Ryb3knLCB7IHdpZGdldDogdGhpcyB9KTtcbiAgICB9XG59XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmFiLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9wcmVmYWIvc3JjL3ByZWZhYi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUVSLFFBQVEsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUV0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7QUFFckMsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDO0FBRWpDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztBQVM3QyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxpQkFBaUI7SUFPbEQsWUFBWSxHQUFhLEVBQUUsS0FBaUIsRUFBRSxHQUFzQixFQUEyQixVQUFVLEVBQTBDLGVBQW9CO1FBQ25LLE1BQU0sVUFBVSxHQUFHLGFBQWEsVUFBVSxFQUFFLENBQUM7UUFDN0MsTUFBTSxhQUFhLEdBQUcsRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBQyxDQUFDO1FBQzNELElBQUksU0FBUyxHQUFhLElBQUksQ0FBQztRQUUvQixLQUFLLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLENBQUMs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dkIsK0RBQStEO1FBQy9ELEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQS9FUSxlQUFlLHFHQU95RCxZQUFZLDhCQUFzQixrQkFBa0I7bUdBUDVILGVBQWUsZ0VBSmI7WUFDUCxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7U0FDdEM7OzRGQUVRLGVBQWU7a0JBUDNCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsU0FBUyxFQUFFO3dCQUNQLGtCQUFrQixpQkFBaUI7cUJBQ3RDO2lCQUNKOzswQkFRMEUsU0FBUzsyQkFBQyxZQUFZOzswQkFBZSxNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3B0aW9uYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7c2V0Q1NTLCBub29wfSBmcm9tICdAd20vY29yZSc7XG5cbmltcG9ydCB7IFBST1BfVFlQRSwgcmVnaXN0ZXIsIHByb3ZpZGVBc1dpZGdldFJlZiwgU3R5bGFibGVDb21wb25lbnQsIHN0eWxlciB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHsgcHJlZmFiUHJvcHMgfSBmcm9tICcuL3ByZWZhYi5wcm9wcyc7XG5pbXBvcnQge3N0YXJ0c1dpdGh9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuY29uc3QgREVGQVVMVF9DTFMgPSAnYXBwLXByZWZhYic7XG5cbmNvbnN0IHJlZ2lzdGVyZWRQcm9wc1NldCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3NlY3Rpb25bd21QcmVmYWJdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKFByZWZhYkRpcmVjdGl2ZSlcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFByZWZhYkRpcmVjdGl2ZSBleHRlbmRzIFN0eWxhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIHdpZGdldFR5cGU6IHN0cmluZztcbiAgICBwcmVmYWJOYW1lOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHByb3BzUmVhZHk6IEZ1bmN0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgZWxSZWY6IEVsZW1lbnRSZWYsIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIEBBdHRyaWJ1dGUoJ3ByZWZhYm5hbWUnKSBwcmVmYWJOYW1lLCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgY29uc3Qgd2lkZ2V0VHlwZSA9IGB3bS1wcmVmYWItJHtwcmVmYWJOYW1lfWA7XG4gICAgICAgIGNvbnN0IFdJREdFVF9DT05GSUcgPSB7d2lkZ2V0VHlwZSwgaG9zdENsYXNzOiBERUZBVUxUX0NMU307XG4gICAgICAgIGxldCByZXNvbHZlRm46IEZ1bmN0aW9uID0gbm9vcDtcblxuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcsIGV4cGxpY2l0Q29udGV4dCwgbmV3IFByb21pc2UocmVzID0+IHJlc29sdmVGbiA9IHJlcykpO1xuICAgICAgICB0aGlzLnByb3BzUmVhZHkgPSByZXNvbHZlRm47XG4gICAgICAgIHRoaXMucHJlZmFiTmFtZSA9IHByZWZhYk5hbWU7XG4gICAgICAgIHRoaXMud2lkZ2V0VHlwZSA9IHdpZGdldFR5cGU7XG4gICAgICAgIHRoaXMubmFtZSA9IGVsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCduYW1lJyk7XG5cbiAgICAgICAgc3R5bGVyKHRoaXMubmF0aXZlRWxlbWVudCwgdGhpcyk7XG5cbiAgICAgICAgLy8gQ2FsbCBvbiBwcm9wZXJ0eSBjaGFuZ2Ugb24gbmFtZSB0byBzZXQgbmFtZSBhdHRyaWJ1dGUgb24gZWxlbWVudC5cbiAgICAgICAgdGhpcy5yZWdpc3RlclJlYWR5U3RhdGVMaXN0ZW5lcigoKSA9PiB7XG4gICAgICAgICAgICBzdXBlci5vblByb3BlcnR5Q2hhbmdlKCduYW1lJywgdGhpcy5uYW1lKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25TdHlsZUNoYW5nZShrZXk6IHN0cmluZywgbnY6IGFueSwgb3Y6IGFueSkge1xuICAgICAgICBpZiAoa2V5ID09PSAnaGVpZ2h0Jykge1xuICAgICAgICAgICAgc2V0Q1NTKHRoaXMubmF0aXZlRWxlbWVudCwgJ292ZXJmbG93JywgJ2F1dG8nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXRQcm9wcyhjb25maWcpIHtcbiAgICAgICAgaWYgKCFjb25maWcgfHwgIWNvbmZpZy5wcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXJlZ2lzdGVyZWRQcm9wc1NldC5oYXModGhpcy53aWRnZXRUeXBlKSkge1xuICAgICAgICAgICAgcmVnaXN0ZXIodGhpcy53aWRnZXRUeXBlLCB0aGlzLnByZXBhcmVQcm9wcyhjb25maWcucHJvcGVydGllcykpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcm9wc1JlYWR5KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZUV2ZW50KCkge1xuICAgICAgICAvLyBkbyBub3QgY2FsbCB0aGUgc3VwZXI7XG4gICAgICAgIC8vIHByZXZlbnQgZXZlbnRzIGZyb20gZ2V0dGluZyByZWdpc3RlcmVkXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcmVwYXJlUHJvcHMocHJvcHMgPSB7fSkge1xuICAgICAgICBjb25zdCBwcm9wc01hcCA9IG5ldyBNYXAocHJlZmFiUHJvcHMpO1xuICAgICAgICBPYmplY3QuZW50cmllcyhwcm9wcykuZm9yRWFjaCgoW2ssIHZdOiBbc3RyaW5nLCBhbnldKSA9PiB7XG4gICAgICAgICAgICBsZXQgdHlwZSA9IFBST1BfVFlQRS5TVFJJTkc7XG5cbiAgICAgICAgICAgIGlmICh2LnR5cGUgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgICAgIHR5cGUgPSBQUk9QX1RZUEUuQk9PTEVBTjtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodi50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgIHR5cGUgPSBQUk9QX1RZUEUuTlVNQkVSO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh2LnR5cGUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgdHlwZSA9IHYudHlwZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRG8gbm90IHNldCB0aGUgJ2JpbmQ6KicgdmFsdWVzXG4gICAgICAgICAgICBwcm9wc01hcC5zZXQoaywge3R5cGUsIHZhbHVlOiBzdGFydHNXaXRoKHYudmFsdWUsICdiaW5kOicpID8gdW5kZWZpbmVkIDogdi52YWx1ZX0pO1xuICAgICAgICB9KTtcblxuICAgICAgICByZWdpc3RlcmVkUHJvcHNTZXQuYWRkKHRoaXMud2lkZ2V0VHlwZSk7XG5cbiAgICAgICAgcmV0dXJuIHByb3BzTWFwO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ2Rlc3Ryb3knLCB7IHdpZGdldDogdGhpcyB9KTtcbiAgICAgICAgXG4gICAgICAgIC8vIE1FTU9SWSBMRUFLIEZJWDogQ2xlYXIgcmVmZXJlbmNlc1xuICAgICAgICB0aGlzLnByb3BzUmVhZHkgPSBudWxsO1xuICAgICAgICBcbiAgICAgICAgLy8gTUVNT1JZIExFQUsgRklYOiBDYWxsIHN1cGVyLm5nT25EZXN0cm95KCkgZm9yIHByb3BlciBjbGVhbnVwXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIl19
@@ -69,6 +69,10 @@ class PrefabDirective extends StylableComponent {
69
69
  }
70
70
  ngOnDestroy() {
71
71
  this.invokeEventCallback('destroy', { widget: this });
72
+ // MEMORY LEAK FIX: Clear references
73
+ this.propsReady = null;
74
+ // MEMORY LEAK FIX: Call super.ngOnDestroy() for proper cleanup
75
+ super.ngOnDestroy();
72
76
  }
73
77
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PrefabDirective, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: 'prefabname', attribute: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
74
78
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: PrefabDirective, isStandalone: true, selector: "section[wmPrefab]", providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../projects/components/widgets/prefab/src/prefab.props.ts","../../../../projects/components/widgets/prefab/src/prefab.directive.ts","../../../../projects/components/widgets/prefab/src/prefab-container/prefab-container.props.ts","../../../../projects/components/widgets/prefab/src/prefab-container/prefab-container.directive.ts","../../../../projects/components/widgets/prefab/src/index.ts"],"sourcesContent":["import { PROP_BOOLEAN, PROP_STRING } from '@wm/components/base'; \n\nexport const prefabProps = new Map(\n [\n ['animation', PROP_STRING],\n ['class', {value: '', ...PROP_STRING}],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ]\n);\n","import {\n Attribute,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n Inject,\n Injector,\n OnDestroy,\n Optional\n} from '@angular/core';\n\nimport {setCSS, noop} from '@wm/core';\n\nimport { PROP_TYPE, register, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { prefabProps } from './prefab.props';\nimport {startsWith} from \"lodash-es\";\n\nconst DEFAULT_CLS = 'app-prefab';\n\nconst registeredPropsSet = new Set<string>();\n\n@Directive({\n standalone: true,\n selector: 'section[wmPrefab]',\n providers: [\n provideAsWidgetRef(PrefabDirective)\n ]\n})\nexport class PrefabDirective extends StylableComponent implements OnDestroy {\n\n widgetType: string;\n prefabName: string;\n name: string;\n propsReady: Function;\n\n constructor(inj: Injector, elRef: ElementRef, cdr: ChangeDetectorRef, @Attribute('prefabname') prefabName, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n const widgetType = `wm-prefab-${prefabName}`;\n const WIDGET_CONFIG = {widgetType, hostClass: DEFAULT_CLS};\n let resolveFn: Function = noop;\n\n super(inj, WIDGET_CONFIG, explicitContext, new Promise(res => resolveFn = res));\n this.propsReady = resolveFn;\n this.prefabName = prefabName;\n this.widgetType = widgetType;\n this.name = elRef.nativeElement.getAttribute('name');\n\n styler(this.nativeElement, this);\n\n // Call on property change on name to set name attribute on element.\n this.registerReadyStateListener(() => {\n super.onPropertyChange('name', this.name);\n });\n }\n\n onStyleChange(key: string, nv: any, ov: any) {\n if (key === 'height') {\n setCSS(this.nativeElement, 'overflow', 'auto');\n }\n }\n\n public setProps(config) {\n if (!config || !config.properties) {\n return;\n }\n\n if (!registeredPropsSet.has(this.widgetType)) {\n register(this.widgetType, this.prepareProps(config.properties));\n }\n\n this.propsReady();\n }\n\n protected handleEvent() {\n // do not call the super;\n // prevent events from getting registered\n }\n\n private prepareProps(props = {}) {\n const propsMap = new Map(prefabProps);\n Object.entries(props).forEach(([k, v]: [string, any]) => {\n let type = PROP_TYPE.STRING;\n\n if (v.type === 'boolean') {\n type = PROP_TYPE.BOOLEAN;\n } else if (v.type === 'number') {\n type = PROP_TYPE.NUMBER;\n } else if (v.type !== 'string') {\n type = v.type;\n }\n\n // Do not set the 'bind:*' values\n propsMap.set(k, {type, value: startsWith(v.value, 'bind:') ? undefined : v.value});\n });\n\n registeredPropsSet.add(this.widgetType);\n\n return propsMap;\n }\n\n ngOnDestroy() {\n this.invokeEventCallback('destroy', { widget: this });\n }\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-prefab-container',\n new Map(\n [\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ]\n )\n );\n};\n","import {Directive, Inject, Injector, OnDestroy, Optional} from '@angular/core';\n\nimport { IWidgetConfig, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport {Viewport, ViewportEvent} from '@wm/core';\nimport { registerProps } from './prefab-container.props';\nimport {assign} from \"lodash-es\";\n\nconst DEFAULT_CLS = 'app-prefab-container full-height';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-prefab-container',\n hostClass: DEFAULT_CLS\n};\n\n@Directive({\n standalone: true,\n selector: '[wmPrefabContainer]',\n providers: [\n provideAsWidgetRef(PrefabContainerDirective)\n ]\n})\nexport class PrefabContainerDirective extends StylableComponent implements OnDestroy {\n static initializeProps = registerProps();\n\n constructor(inj: Injector, private viewport: Viewport, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this);\n\n this.registerDestroyListener(this.viewport.subscribe(ViewportEvent.RESIZE, data => this.callback('resize', data)));\n this.registerDestroyListener(this.viewport.subscribe(ViewportEvent.ORIENTATION_CHANGE, data => this.callback('orientationchange', data)));\n }\n\n private callback(eventName, locals?: object) {\n locals = assign({widget: this}, locals);\n this.invokeEventCallback(eventName, locals);\n }\n\n public ngOnAttach() {\n this.callback('attach');\n }\n\n public ngOnDetach() {\n this.callback('detach');\n }\n\n public ngOnDestroy() {\n this.callback('destroy');\n super.ngOnDestroy();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["DEFAULT_CLS"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../projects/components/widgets/prefab/src/prefab.props.ts","../../../../projects/components/widgets/prefab/src/prefab.directive.ts","../../../../projects/components/widgets/prefab/src/prefab-container/prefab-container.props.ts","../../../../projects/components/widgets/prefab/src/prefab-container/prefab-container.directive.ts","../../../../projects/components/widgets/prefab/src/index.ts"],"sourcesContent":["import { PROP_BOOLEAN, PROP_STRING } from '@wm/components/base'; \n\nexport const prefabProps = new Map(\n [\n ['animation', PROP_STRING],\n ['class', {value: '', ...PROP_STRING}],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ]\n);\n","import {\n Attribute,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n Inject,\n Injector,\n OnDestroy,\n Optional\n} from '@angular/core';\n\nimport {setCSS, noop} from '@wm/core';\n\nimport { PROP_TYPE, register, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { prefabProps } from './prefab.props';\nimport {startsWith} from \"lodash-es\";\n\nconst DEFAULT_CLS = 'app-prefab';\n\nconst registeredPropsSet = new Set<string>();\n\n@Directive({\n standalone: true,\n selector: 'section[wmPrefab]',\n providers: [\n provideAsWidgetRef(PrefabDirective)\n ]\n})\nexport class PrefabDirective extends StylableComponent implements OnDestroy {\n\n widgetType: string;\n prefabName: string;\n name: string;\n propsReady: Function;\n\n constructor(inj: Injector, elRef: ElementRef, cdr: ChangeDetectorRef, @Attribute('prefabname') prefabName, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n const widgetType = `wm-prefab-${prefabName}`;\n const WIDGET_CONFIG = {widgetType, hostClass: DEFAULT_CLS};\n let resolveFn: Function = noop;\n\n super(inj, WIDGET_CONFIG, explicitContext, new Promise(res => resolveFn = res));\n this.propsReady = resolveFn;\n this.prefabName = prefabName;\n this.widgetType = widgetType;\n this.name = elRef.nativeElement.getAttribute('name');\n\n styler(this.nativeElement, this);\n\n // Call on property change on name to set name attribute on element.\n this.registerReadyStateListener(() => {\n super.onPropertyChange('name', this.name);\n });\n }\n\n onStyleChange(key: string, nv: any, ov: any) {\n if (key === 'height') {\n setCSS(this.nativeElement, 'overflow', 'auto');\n }\n }\n\n public setProps(config) {\n if (!config || !config.properties) {\n return;\n }\n\n if (!registeredPropsSet.has(this.widgetType)) {\n register(this.widgetType, this.prepareProps(config.properties));\n }\n\n this.propsReady();\n }\n\n protected handleEvent() {\n // do not call the super;\n // prevent events from getting registered\n }\n\n private prepareProps(props = {}) {\n const propsMap = new Map(prefabProps);\n Object.entries(props).forEach(([k, v]: [string, any]) => {\n let type = PROP_TYPE.STRING;\n\n if (v.type === 'boolean') {\n type = PROP_TYPE.BOOLEAN;\n } else if (v.type === 'number') {\n type = PROP_TYPE.NUMBER;\n } else if (v.type !== 'string') {\n type = v.type;\n }\n\n // Do not set the 'bind:*' values\n propsMap.set(k, {type, value: startsWith(v.value, 'bind:') ? undefined : v.value});\n });\n\n registeredPropsSet.add(this.widgetType);\n\n return propsMap;\n }\n\n ngOnDestroy() {\n this.invokeEventCallback('destroy', { widget: this });\n \n // MEMORY LEAK FIX: Clear references\n this.propsReady = null;\n \n // MEMORY LEAK FIX: Call super.ngOnDestroy() for proper cleanup\n super.ngOnDestroy();\n }\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-prefab-container',\n new Map(\n [\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ]\n )\n );\n};\n","import {Directive, Inject, Injector, OnDestroy, Optional} from '@angular/core';\n\nimport { IWidgetConfig, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport {Viewport, ViewportEvent} from '@wm/core';\nimport { registerProps } from './prefab-container.props';\nimport {assign} from \"lodash-es\";\n\nconst DEFAULT_CLS = 'app-prefab-container full-height';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-prefab-container',\n hostClass: DEFAULT_CLS\n};\n\n@Directive({\n standalone: true,\n selector: '[wmPrefabContainer]',\n providers: [\n provideAsWidgetRef(PrefabContainerDirective)\n ]\n})\nexport class PrefabContainerDirective extends StylableComponent implements OnDestroy {\n static initializeProps = registerProps();\n\n constructor(inj: Injector, private viewport: Viewport, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this);\n\n this.registerDestroyListener(this.viewport.subscribe(ViewportEvent.RESIZE, data => this.callback('resize', data)));\n this.registerDestroyListener(this.viewport.subscribe(ViewportEvent.ORIENTATION_CHANGE, data => this.callback('orientationchange', data)));\n }\n\n private callback(eventName, locals?: object) {\n locals = assign({widget: this}, locals);\n this.invokeEventCallback(eventName, locals);\n }\n\n public ngOnAttach() {\n this.callback('attach');\n }\n\n public ngOnDetach() {\n this.callback('detach');\n }\n\n public ngOnDestroy() {\n this.callback('destroy');\n super.ngOnDestroy();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["DEFAULT_CLS"],"mappings":"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"}