@wavemaker-ai/app-ng-runtime 12.0.0-rc.335 → 12.0.1-rc.338

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 (351) hide show
  1. package/build-task/bundles/index.umd.js +15 -16
  2. package/build-task/fesm2022/index.mjs +15 -16
  3. package/build-task/fesm2022/index.mjs.map +1 -1
  4. package/components/advanced/carousel/bundles/index.umd.js +9 -9
  5. package/components/advanced/carousel/fesm2022/index.mjs +9 -9
  6. package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  7. package/components/advanced/carousel/types/index.d.ts +7 -7
  8. package/components/advanced/custom/bundles/index.umd.js +9 -10
  9. package/components/advanced/custom/fesm2022/index.mjs +9 -10
  10. package/components/advanced/custom/fesm2022/index.mjs.map +1 -1
  11. package/components/advanced/custom/types/index.d.ts +3 -3
  12. package/components/advanced/login/bundles/index.umd.js +3 -3
  13. package/components/advanced/login/fesm2022/index.mjs +3 -3
  14. package/components/advanced/login/fesm2022/index.mjs.map +1 -1
  15. package/components/advanced/login/types/index.d.ts +1 -1
  16. package/components/advanced/marquee/bundles/index.umd.js +3 -3
  17. package/components/advanced/marquee/fesm2022/index.mjs +3 -3
  18. package/components/advanced/marquee/fesm2022/index.mjs.map +1 -1
  19. package/components/advanced/marquee/types/index.d.ts +1 -1
  20. package/components/base/bundles/index.umd.js +40 -46
  21. package/components/base/fesm2022/index.mjs +40 -46
  22. package/components/base/fesm2022/index.mjs.map +1 -1
  23. package/components/base/types/index.d.ts +47 -46
  24. package/components/basic/anchor/bundles/index.umd.js +3 -3
  25. package/components/basic/anchor/fesm2022/index.mjs +3 -3
  26. package/components/basic/anchor/fesm2022/index.mjs.map +1 -1
  27. package/components/basic/anchor/types/index.d.ts +3 -3
  28. package/components/basic/audio/bundles/index.umd.js +3 -3
  29. package/components/basic/audio/fesm2022/index.mjs +3 -3
  30. package/components/basic/audio/fesm2022/index.mjs.map +1 -1
  31. package/components/basic/audio/types/index.d.ts +1 -1
  32. package/components/basic/html/bundles/index.umd.js +10 -11
  33. package/components/basic/html/fesm2022/index.mjs +10 -11
  34. package/components/basic/html/fesm2022/index.mjs.map +1 -1
  35. package/components/basic/html/types/index.d.ts +3 -3
  36. package/components/basic/icon/bundles/index.umd.js +3 -3
  37. package/components/basic/icon/fesm2022/index.mjs +3 -3
  38. package/components/basic/icon/fesm2022/index.mjs.map +1 -1
  39. package/components/basic/icon/types/index.d.ts +1 -1
  40. package/components/basic/iframe/bundles/index.umd.js +5 -5
  41. package/components/basic/iframe/fesm2022/index.mjs +5 -5
  42. package/components/basic/iframe/fesm2022/index.mjs.map +1 -1
  43. package/components/basic/iframe/types/index.d.ts +3 -3
  44. package/components/basic/label/bundles/index.umd.js +10 -11
  45. package/components/basic/label/fesm2022/index.mjs +10 -11
  46. package/components/basic/label/fesm2022/index.mjs.map +1 -1
  47. package/components/basic/label/types/index.d.ts +1 -1
  48. package/components/basic/picture/bundles/index.umd.js +3 -3
  49. package/components/basic/picture/fesm2022/index.mjs +3 -3
  50. package/components/basic/picture/fesm2022/index.mjs.map +1 -1
  51. package/components/basic/picture/types/index.d.ts +2 -2
  52. package/components/basic/progress/progress-bar/bundles/index.umd.js +8 -10
  53. package/components/basic/progress/progress-bar/fesm2022/index.mjs +8 -10
  54. package/components/basic/progress/progress-bar/fesm2022/index.mjs.map +1 -1
  55. package/components/basic/progress/progress-bar/types/index.d.ts +2 -2
  56. package/components/basic/progress/progress-circle/bundles/index.umd.js +3 -3
  57. package/components/basic/progress/progress-circle/fesm2022/index.mjs +3 -3
  58. package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -1
  59. package/components/basic/progress/progress-circle/types/index.d.ts +2 -2
  60. package/components/basic/rich-text-editor/bundles/index.umd.js +3 -3
  61. package/components/basic/rich-text-editor/fesm2022/index.mjs +3 -3
  62. package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  63. package/components/basic/rich-text-editor/types/index.d.ts +3 -3
  64. package/components/basic/search/bundles/index.umd.js +40 -42
  65. package/components/basic/search/fesm2022/index.mjs +40 -42
  66. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  67. package/components/basic/search/types/index.d.ts +13 -13
  68. package/components/basic/spinner/bundles/index.umd.js +3 -3
  69. package/components/basic/spinner/fesm2022/index.mjs +3 -3
  70. package/components/basic/spinner/fesm2022/index.mjs.map +1 -1
  71. package/components/basic/spinner/types/index.d.ts +3 -3
  72. package/components/basic/tree/bundles/index.umd.js +9 -9
  73. package/components/basic/tree/fesm2022/index.mjs +9 -9
  74. package/components/basic/tree/fesm2022/index.mjs.map +1 -1
  75. package/components/basic/tree/types/index.d.ts +7 -7
  76. package/components/basic/video/bundles/index.umd.js +3 -3
  77. package/components/basic/video/fesm2022/index.mjs +3 -3
  78. package/components/basic/video/fesm2022/index.mjs.map +1 -1
  79. package/components/basic/video/types/index.d.ts +2 -2
  80. package/components/chart/bundles/index.umd.js +19 -22
  81. package/components/chart/fesm2022/index.mjs +20 -23
  82. package/components/chart/fesm2022/index.mjs.map +1 -1
  83. package/components/chart/types/index.d.ts +9 -9
  84. package/components/containers/accordion/bundles/index.umd.js +10 -12
  85. package/components/containers/accordion/fesm2022/index.mjs +10 -12
  86. package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  87. package/components/containers/accordion/types/index.d.ts +9 -9
  88. package/components/containers/layout-grid/bundles/index.umd.js +9 -9
  89. package/components/containers/layout-grid/fesm2022/index.mjs +9 -9
  90. package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
  91. package/components/containers/layout-grid/types/index.d.ts +4 -4
  92. package/components/containers/linear-layout/bundles/index.umd.js +6 -6
  93. package/components/containers/linear-layout/fesm2022/index.mjs +6 -6
  94. package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
  95. package/components/containers/linear-layout/types/index.d.ts +2 -2
  96. package/components/containers/panel/bundles/index.umd.js +3 -3
  97. package/components/containers/panel/fesm2022/index.mjs +3 -3
  98. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  99. package/components/containers/panel/types/index.d.ts +3 -3
  100. package/components/containers/tabs/bundles/index.umd.js +9 -9
  101. package/components/containers/tabs/fesm2022/index.mjs +9 -9
  102. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  103. package/components/containers/tabs/types/index.d.ts +8 -8
  104. package/components/containers/tile/bundles/index.umd.js +3 -3
  105. package/components/containers/tile/fesm2022/index.mjs +3 -3
  106. package/components/containers/tile/fesm2022/index.mjs.map +1 -1
  107. package/components/containers/tile/types/index.d.ts +1 -1
  108. package/components/containers/wizard/bundles/index.umd.js +18 -18
  109. package/components/containers/wizard/fesm2022/index.mjs +18 -18
  110. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  111. package/components/containers/wizard/types/index.d.ts +8 -8
  112. package/components/data/card/bundles/index.umd.js +12 -12
  113. package/components/data/card/fesm2022/index.mjs +12 -12
  114. package/components/data/card/fesm2022/index.mjs.map +1 -1
  115. package/components/data/card/types/index.d.ts +6 -6
  116. package/components/data/form/bundles/index.umd.js +72 -75
  117. package/components/data/form/fesm2022/index.mjs +72 -77
  118. package/components/data/form/fesm2022/index.mjs.map +1 -1
  119. package/components/data/form/types/index.d.ts +29 -29
  120. package/components/data/list/bundles/index.umd.js +22 -27
  121. package/components/data/list/fesm2022/index.mjs +22 -27
  122. package/components/data/list/fesm2022/index.mjs.map +1 -1
  123. package/components/data/list/types/index.d.ts +23 -23
  124. package/components/data/live-table/bundles/index.umd.js +3 -3
  125. package/components/data/live-table/fesm2022/index.mjs +3 -3
  126. package/components/data/live-table/fesm2022/index.mjs.map +1 -1
  127. package/components/data/live-table/types/index.d.ts +5 -5
  128. package/components/data/pagination/bundles/index.umd.js +27 -28
  129. package/components/data/pagination/fesm2022/index.mjs +27 -28
  130. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  131. package/components/data/pagination/types/index.d.ts +1 -1
  132. package/components/data/table/bundles/index.umd.js +131 -142
  133. package/components/data/table/fesm2022/index.mjs +131 -143
  134. package/components/data/table/fesm2022/index.mjs.map +1 -1
  135. package/components/data/table/types/index.d.ts +20 -20
  136. package/components/dialogs/alert-dialog/bundles/index.umd.js +3 -3
  137. package/components/dialogs/alert-dialog/fesm2022/index.mjs +3 -3
  138. package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  139. package/components/dialogs/alert-dialog/types/index.d.ts +1 -1
  140. package/components/dialogs/confirm-dialog/bundles/index.umd.js +3 -3
  141. package/components/dialogs/confirm-dialog/fesm2022/index.mjs +3 -3
  142. package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  143. package/components/dialogs/confirm-dialog/types/index.d.ts +1 -1
  144. package/components/dialogs/default/bundles/index.umd.js +12 -12
  145. package/components/dialogs/default/fesm2022/index.mjs +12 -12
  146. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  147. package/components/dialogs/default/types/index.d.ts +3 -3
  148. package/components/dialogs/design-dialog/bundles/index.umd.js +3 -3
  149. package/components/dialogs/design-dialog/fesm2022/index.mjs +3 -3
  150. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  151. package/components/dialogs/design-dialog/types/index.d.ts +1 -1
  152. package/components/dialogs/iframe-dialog/bundles/index.umd.js +3 -3
  153. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +3 -3
  154. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  155. package/components/dialogs/iframe-dialog/types/index.d.ts +1 -1
  156. package/components/dialogs/login-dialog/bundles/index.umd.js +3 -3
  157. package/components/dialogs/login-dialog/fesm2022/index.mjs +3 -3
  158. package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
  159. package/components/dialogs/login-dialog/types/index.d.ts +2 -2
  160. package/components/dialogs/partial-dialog/bundles/index.umd.js +3 -3
  161. package/components/dialogs/partial-dialog/fesm2022/index.mjs +3 -3
  162. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  163. package/components/dialogs/partial-dialog/types/index.d.ts +1 -1
  164. package/components/input/base-form/bundles/index.umd.js +4 -4
  165. package/components/input/base-form/fesm2022/index.mjs +4 -4
  166. package/components/input/base-form/fesm2022/index.mjs.map +1 -1
  167. package/components/input/base-form-custom/bundles/index.umd.js +3 -3
  168. package/components/input/base-form-custom/fesm2022/index.mjs +3 -3
  169. package/components/input/button/bundles/index.umd.js +3 -3
  170. package/components/input/button/fesm2022/index.mjs +3 -3
  171. package/components/input/button/fesm2022/index.mjs.map +1 -1
  172. package/components/input/button/types/index.d.ts +1 -1
  173. package/components/input/button-group/bundles/index.umd.js +3 -3
  174. package/components/input/button-group/fesm2022/index.mjs +3 -3
  175. package/components/input/button-group/fesm2022/index.mjs.map +1 -1
  176. package/components/input/button-group/types/index.d.ts +1 -1
  177. package/components/input/calendar/bundles/index.umd.js +4 -4
  178. package/components/input/calendar/fesm2022/index.mjs +4 -5
  179. package/components/input/calendar/fesm2022/index.mjs.map +1 -1
  180. package/components/input/calendar/types/index.d.ts +9 -9
  181. package/components/input/caption-position/bundles/index.umd.js +5 -5
  182. package/components/input/caption-position/fesm2022/index.mjs +5 -5
  183. package/components/input/caption-position/fesm2022/index.mjs.map +1 -1
  184. package/components/input/caption-position/types/index.d.ts +4 -4
  185. package/components/input/checkbox/bundles/index.umd.js +3 -3
  186. package/components/input/checkbox/fesm2022/index.mjs +3 -3
  187. package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
  188. package/components/input/checkbox/types/index.d.ts +2 -2
  189. package/components/input/checkboxset/bundles/index.umd.js +4 -4
  190. package/components/input/checkboxset/fesm2022/index.mjs +4 -4
  191. package/components/input/checkboxset/fesm2022/index.mjs.map +1 -1
  192. package/components/input/checkboxset/types/index.d.ts +2 -2
  193. package/components/input/chips/bundles/index.umd.js +5 -5
  194. package/components/input/chips/fesm2022/index.mjs +5 -5
  195. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  196. package/components/input/chips/types/index.d.ts +14 -14
  197. package/components/input/color-picker/bundles/index.umd.js +3 -3
  198. package/components/input/color-picker/fesm2022/index.mjs +3 -3
  199. package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  200. package/components/input/color-picker/types/index.d.ts +2 -2
  201. package/components/input/composite/bundles/index.umd.js +3 -3
  202. package/components/input/composite/fesm2022/index.mjs +3 -3
  203. package/components/input/composite/fesm2022/index.mjs.map +1 -1
  204. package/components/input/composite/types/index.d.ts +1 -1
  205. package/components/input/currency/bundles/index.umd.js +3 -3
  206. package/components/input/currency/fesm2022/index.mjs +3 -3
  207. package/components/input/currency/fesm2022/index.mjs.map +1 -1
  208. package/components/input/currency/types/index.d.ts +3 -3
  209. package/components/input/dataset-aware-form/bundles/index.umd.js +7 -7
  210. package/components/input/dataset-aware-form/fesm2022/index.mjs +7 -7
  211. package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -1
  212. package/components/input/dataset-aware-form/types/index.d.ts +1 -1
  213. package/components/input/epoch/base-date-time/bundles/index.umd.js +10 -15
  214. package/components/input/epoch/base-date-time/fesm2022/index.mjs +10 -15
  215. package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -1
  216. package/components/input/epoch/base-date-time/types/index.d.ts +2 -2
  217. package/components/input/epoch/date/bundles/index.umd.js +5 -5
  218. package/components/input/epoch/date/fesm2022/index.mjs +5 -5
  219. package/components/input/epoch/date/fesm2022/index.mjs.map +1 -1
  220. package/components/input/epoch/date/types/index.d.ts +4 -4
  221. package/components/input/epoch/date-time/bundles/index.umd.js +3 -3
  222. package/components/input/epoch/date-time/fesm2022/index.mjs +3 -3
  223. package/components/input/epoch/date-time/fesm2022/index.mjs.map +1 -1
  224. package/components/input/epoch/date-time/types/index.d.ts +8 -8
  225. package/components/input/epoch/date-time-picker/bundles/index.umd.js +8 -8
  226. package/components/input/epoch/date-time-picker/fesm2022/index.mjs +8 -8
  227. package/components/input/epoch/date-time-picker/fesm2022/index.mjs.map +1 -1
  228. package/components/input/epoch/date-time-picker/types/index.d.ts +6 -7
  229. package/components/input/epoch/picker/bundles/index.umd.js +6 -6
  230. package/components/input/epoch/picker/fesm2022/index.mjs +6 -6
  231. package/components/input/epoch/picker/fesm2022/index.mjs.map +1 -1
  232. package/components/input/epoch/time/bundles/index.umd.js +4 -5
  233. package/components/input/epoch/time/fesm2022/index.mjs +5 -6
  234. package/components/input/epoch/time/fesm2022/index.mjs.map +1 -1
  235. package/components/input/epoch/time/types/index.d.ts +4 -4
  236. package/components/input/file-upload/bundles/index.umd.js +4 -4
  237. package/components/input/file-upload/fesm2022/index.mjs +4 -4
  238. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  239. package/components/input/file-upload/types/index.d.ts +5 -5
  240. package/components/input/number/bundles/index.umd.js +3 -3
  241. package/components/input/number/fesm2022/index.mjs +3 -3
  242. package/components/input/number/fesm2022/index.mjs.map +1 -1
  243. package/components/input/number/types/index.d.ts +1 -1
  244. package/components/input/radioset/bundles/index.umd.js +4 -4
  245. package/components/input/radioset/fesm2022/index.mjs +4 -4
  246. package/components/input/radioset/fesm2022/index.mjs.map +1 -1
  247. package/components/input/radioset/types/index.d.ts +2 -2
  248. package/components/input/rating/bundles/index.umd.js +9 -11
  249. package/components/input/rating/fesm2022/index.mjs +9 -11
  250. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  251. package/components/input/rating/types/index.d.ts +2 -2
  252. package/components/input/select/bundles/index.umd.js +4 -4
  253. package/components/input/select/fesm2022/index.mjs +4 -4
  254. package/components/input/select/fesm2022/index.mjs.map +1 -1
  255. package/components/input/select/types/index.d.ts +1 -1
  256. package/components/input/slider/bundles/index.umd.js +3 -3
  257. package/components/input/slider/fesm2022/index.mjs +3 -3
  258. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  259. package/components/input/slider/types/index.d.ts +1 -1
  260. package/components/input/switch/bundles/index.umd.js +3 -3
  261. package/components/input/switch/fesm2022/index.mjs +3 -3
  262. package/components/input/switch/fesm2022/index.mjs.map +1 -1
  263. package/components/input/switch/types/index.d.ts +1 -1
  264. package/components/input/text/bundles/index.umd.js +31 -35
  265. package/components/input/text/fesm2022/index.mjs +31 -35
  266. package/components/input/text/fesm2022/index.mjs.map +1 -1
  267. package/components/input/text/types/index.d.ts +12 -12
  268. package/components/input/textarea/bundles/index.umd.js +3 -3
  269. package/components/input/textarea/fesm2022/index.mjs +3 -3
  270. package/components/input/textarea/fesm2022/index.mjs.map +1 -1
  271. package/components/input/textarea/types/index.d.ts +2 -2
  272. package/components/navigation/breadcrumb/bundles/index.umd.js +3 -3
  273. package/components/navigation/breadcrumb/fesm2022/index.mjs +3 -3
  274. package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  275. package/components/navigation/breadcrumb/types/index.d.ts +4 -4
  276. package/components/navigation/menu/bundles/index.umd.js +25 -33
  277. package/components/navigation/menu/fesm2022/index.mjs +25 -33
  278. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  279. package/components/navigation/menu/types/index.d.ts +21 -21
  280. package/components/navigation/navbar/bundles/index.umd.js +3 -3
  281. package/components/navigation/navbar/fesm2022/index.mjs +3 -3
  282. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  283. package/components/navigation/navbar/types/index.d.ts +1 -1
  284. package/components/navigation/popover/bundles/index.umd.js +4 -4
  285. package/components/navigation/popover/fesm2022/index.mjs +4 -4
  286. package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  287. package/components/navigation/popover/types/index.d.ts +4 -4
  288. package/components/page/default/bundles/index.umd.js +23 -23
  289. package/components/page/default/fesm2022/index.mjs +23 -23
  290. package/components/page/default/fesm2022/index.mjs.map +1 -1
  291. package/components/page/default/types/index.d.ts +14 -14
  292. package/components/page/footer/bundles/index.umd.js +3 -3
  293. package/components/page/footer/fesm2022/index.mjs +3 -3
  294. package/components/page/footer/fesm2022/index.mjs.map +1 -1
  295. package/components/page/footer/types/index.d.ts +1 -1
  296. package/components/page/header/bundles/index.umd.js +3 -3
  297. package/components/page/header/fesm2022/index.mjs +3 -3
  298. package/components/page/header/fesm2022/index.mjs.map +1 -1
  299. package/components/page/header/types/index.d.ts +1 -1
  300. package/components/page/left-panel/bundles/index.umd.js +5 -5
  301. package/components/page/left-panel/fesm2022/index.mjs +5 -5
  302. package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  303. package/components/page/left-panel/types/index.d.ts +3 -3
  304. package/components/page/right-panel/bundles/index.umd.js +3 -3
  305. package/components/page/right-panel/fesm2022/index.mjs +3 -3
  306. package/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  307. package/components/page/right-panel/types/index.d.ts +1 -1
  308. package/components/page/top-nav/bundles/index.umd.js +3 -3
  309. package/components/page/top-nav/fesm2022/index.mjs +3 -3
  310. package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  311. package/components/page/top-nav/types/index.d.ts +1 -1
  312. package/components/prefab/bundles/index.umd.js +7 -7
  313. package/components/prefab/fesm2022/index.mjs +7 -7
  314. package/components/prefab/fesm2022/index.mjs.map +1 -1
  315. package/components/prefab/types/index.d.ts +3 -3
  316. package/core/bundles/index.umd.js +84 -89
  317. package/core/fesm2022/index.mjs +84 -89
  318. package/core/fesm2022/index.mjs.map +1 -1
  319. package/core/types/index.d.ts +11 -11
  320. package/http/bundles/index.umd.js +6 -6
  321. package/http/fesm2022/index.mjs +6 -6
  322. package/http/fesm2022/index.mjs.map +1 -1
  323. package/http/types/index.d.ts +1 -1
  324. package/npm-shrinkwrap.json +2 -2
  325. package/oAuth/bundles/index.umd.js +17 -21
  326. package/oAuth/fesm2022/index.mjs +17 -21
  327. package/oAuth/fesm2022/index.mjs.map +1 -1
  328. package/oAuth/types/index.d.ts +1 -1
  329. package/package-lock.json +2 -2
  330. package/package.json +1 -1
  331. package/runtime/base/bundles/index.umd.js +253 -275
  332. package/runtime/base/fesm2022/index.mjs +253 -275
  333. package/runtime/base/fesm2022/index.mjs.map +1 -1
  334. package/runtime/base/types/index.d.ts +90 -96
  335. package/runtime/dynamic/bundles/index.umd.js +28 -28
  336. package/runtime/dynamic/fesm2022/index.mjs +28 -28
  337. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  338. package/runtime/dynamic/types/index.d.ts +22 -22
  339. package/scripts/datatable/datatable.js +293 -271
  340. package/scripts/tree-keyboard-navigation/keyboard-navigation.js +68 -56
  341. package/security/bundles/index.umd.js +6 -6
  342. package/security/fesm2022/index.mjs +6 -6
  343. package/security/fesm2022/index.mjs.map +1 -1
  344. package/security/types/index.d.ts +5 -5
  345. package/transpiler/bundles/index.umd.js +3 -5
  346. package/transpiler/fesm2022/index.mjs +3 -5
  347. package/transpiler/fesm2022/index.mjs.map +1 -1
  348. package/variables/bundles/index.umd.js +69 -71
  349. package/variables/fesm2022/index.mjs +69 -72
  350. package/variables/fesm2022/index.mjs.map +1 -1
  351. package/variables/types/index.d.ts +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/navigation/menu/src/nav/navigation-control.directive.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav-item/nav-item.props.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav-item/nav-item.directive.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav.props.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav.component.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown-item/menu-dropdown-item.component.ts","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown-item/menu-dropdown-item.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown/menu-dropdown.component.ts","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown/menu-dropdown.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu.props.ts","../../../../../projects/components/widgets/navigation/menu/src/menu.component.ts","../../../../../projects/components/widgets/navigation/menu/src/menu.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu-adapator.component.ts","../../../../../projects/components/widgets/navigation/menu/src/index.ts"],"sourcesContent":["import { Directive, ElementRef, Input, OnDestroy } from '@angular/core';\n\nimport { setAttr } from '@wm/core';\n\nexport const disableContextMenu = ($event: Event) => {\n $event.preventDefault();\n};\n\n@Directive({\n standalone: true,\n selector: '[wmNavigationControl]'\n})\nexport class NavigationControlDirective implements OnDestroy {\n\n private nativeElement: HTMLElement;\n private _link: string;\n private boundContextMenuHandler: (event: Event) => void;\n\n @Input() disableMenuContext: boolean;\n\n @Input() set wmNavigationControl(val) {\n this._link = val;\n \n // MEMORY LEAK FIX: Remove existing listener before adding new one\n if (this.boundContextMenuHandler) {\n this.nativeElement.removeEventListener('contextmenu', this.boundContextMenuHandler);\n this.boundContextMenuHandler = null;\n }\n\n if (val && !this.disableMenuContext) {\n setAttr(this.nativeElement, 'href', val);\n } else {\n setAttr(this.nativeElement, 'href', 'javascript:void(0)');\n // MEMORY LEAK FIX: Store bound function reference for cleanup\n this.boundContextMenuHandler = disableContextMenu;\n this.nativeElement.addEventListener('contextmenu', this.boundContextMenuHandler);\n }\n }\n\n constructor(eleRef: ElementRef) {\n this.nativeElement = eleRef.nativeElement;\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Remove event listener using stored bound function reference\n if (this.boundContextMenuHandler) {\n this.nativeElement.removeEventListener('contextmenu', this.boundContextMenuHandler);\n this.boundContextMenuHandler = null;\n }\n }\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-nav-item',\n new Map(\n [\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ]\n )\n );\n};\n","import {ContentChild, Directive, HostListener, Injector, AfterViewInit, OnDestroy, Optional, Inject} from '@angular/core';\n\nimport {addClass, removeClass} from '@wm/core';\nimport { APPLY_STYLES_TYPE, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { AnchorComponent } from '@wm/components/basic/anchor';\n\nimport { registerProps } from './nav-item.props';\n\ndeclare const $;\n\nconst DEFAULT_CLS = 'app-nav-item';\nconst WIDGET_CONFIG = {widgetType: 'wm-nav-item', hostClass: DEFAULT_CLS};\n\n@Directive({\n standalone: true,\n selector: '[wmNavItem]',\n exportAs: 'navItemRef',\n providers: [\n provideAsWidgetRef(NavItemDirective)\n ]\n})\nexport class NavItemDirective extends StylableComponent implements AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n @ContentChild(AnchorComponent) innerLink;\n\n @HostListener('click')\n @HostListener('keydown.enter')\n makeActive() {\n const parentNode = this.nativeElement.parentNode;\n $(parentNode as HTMLElement).find('> li.active').removeClass('active');\n if (this.isAttached) {\n addClass(this.nativeElement, 'active');\n }\n }\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n\n public ngAfterViewInit() {\n if (this.innerLink) {\n this.innerLink.onActive(() => this.makeActive());\n }\n }\n\n public ngOnDetach() {\n removeClass(this.nativeElement, 'active', true);\n super.ngOnDetach();\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear ContentChild reference\n this.innerLink = null;\n\n super.ngOnDestroy();\n }\n}\n","import {PROP_ANY, PROP_BOOLEAN, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-nav',\n new Map(\n [\n ['autoclose', {value: 'always', ...PROP_STRING}],\n ['autoopen', {value: 'never', ...PROP_STRING}],\n ['class', PROP_STRING],\n ['dataset', PROP_ANY],\n ['iconposition', {value: 'left', ...PROP_STRING}],\n ['isactive', PROP_STRING],\n ['itemlabel', PROP_STRING],\n ['itemhint', PROP_STRING],\n ['itemlink', PROP_STRING],\n ['itemicon', PROP_STRING],\n ['itemclass', PROP_STRING],\n ['itemchildren', PROP_STRING],\n ['itemaction', PROP_STRING],\n ['itembadge', PROP_STRING],\n ['itemtarget', PROP_STRING],\n ['layout', PROP_STRING],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showonhover', {value: false, ...PROP_BOOLEAN}],\n ['type', PROP_STRING],\n ['userrole', PROP_STRING]\n ]\n )\n );\n};\n","import { CommonModule } from '@angular/common';\nimport { AnchorComponent } from '@wm/components/basic/anchor';\nimport { MenuComponent } from '../menu.component';\nimport { NavItemDirective } from './nav-item/nav-item.directive';\nimport { Attribute, ChangeDetectorRef, Component, forwardRef, Inject, Injector, OnDestroy, OnInit, Optional } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { addClass, App, triggerItemAction, UserDefinedExecutionContext } from '@wm/core';\nimport { APPLY_STYLES_TYPE, DatasetAwareNavComponent, provideAsWidgetRef, styler } from '@wm/components/base';\n\nimport { registerProps } from './nav.props';\nimport { find, forEach, isEmpty, omit } from \"lodash-es\";\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\n\nconst DEFAULT_CLS = 'nav app-nav';\nconst WIDGET_CONFIG = { widgetType: 'wm-nav', hostClass: DEFAULT_CLS };\n\nconst NavClassMap = {\n pills: 'nav-pills',\n tabs: 'nav-tabs',\n navbar: 'navbar-nav'\n};\n\n@Component({\n standalone: true,\n imports: [CommonModule, BsDropdownModule, AnchorComponent, forwardRef(() => MenuComponent), NavItemDirective, ],\n selector: '[wmNav]',\n templateUrl: './nav.component.html',\n providers: [\n provideAsWidgetRef(NavComponent)\n ]\n})\nexport class NavComponent extends DatasetAwareNavComponent implements OnInit, OnDestroy {\n static initializeProps = registerProps();\n\n public selecteditem;\n public type;\n public disableMenuContext: boolean;\n public layout;\n public showonhover: boolean;\n private itemActionFn: Function;\n private pageScope: any;\n private get activePageName() {\n return this.app.activePageName;\n }\n\n constructor(\n inj: Injector,\n private cdRef: ChangeDetectorRef,\n private route: Router,\n private userDefinedExecutionContext: UserDefinedExecutionContext,\n private app: App,\n @Attribute('select.event') selectEventCB,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n this.disableMenuContext = !!selectEventCB;\n this.pageScope = this.viewParent;\n // For selecting the item on load\n const datasetSubscription = this.nodes$.subscribe(() => {\n if (!isEmpty(this.nodes)) {\n let itemFound = false;\n const getItem = (nodes, isMenuWidget?) => {\n forEach(nodes, (item) => {\n if (itemFound) {\n return;\n }\n if (item.isactive) {\n itemFound = true;\n this.selecteditem = isMenuWidget ? omit(item, ['children', 'value']) : item.value;\n this.invokeEventCallback('select', { $event: {}, $item: item.value });\n // Trigger the action associated with active item\n triggerItemAction(this, item);\n // _selected is used to add active class for nav item. If we have children inside nav widget then it is not required.\n if (!isMenuWidget) {\n item._selected = true;\n }\n return false;\n }\n if (!isEmpty(item.children)) {\n getItem(item.children, 'menu');\n }\n });\n };\n getItem(this.nodes);\n }\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n\n }\n\n\n private setNavType(type) {\n addClass(this.nativeElement, NavClassMap[type]);\n }\n\n private setNavLayout(layout) {\n addClass(this.nativeElement, `nav-${layout}`);\n }\n\n public onNavSelect($event: Event, item: any) {\n $event.preventDefault();\n\n const selectedItem = find(this.nodes, '_selected');\n if (selectedItem) {\n // @ts-ignore\n delete selectedItem._selected;\n }\n\n this.selecteditem = item.value;\n\n this.invokeEventCallback('select', { $event, $item: item.value });\n // Trigger the action associated with active item\n triggerItemAction(this, item);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.setNavType(this.type);\n this.setNavLayout(this.layout);\n }\n\n /**\n * invoked from the menu widget when a menu item is selected.\n * @param $event\n * @param widget\n * @param $item\n */\n onMenuItemSelect($event, widget, $item) {\n this.selecteditem = omit($item, ['children', 'value']);\n this.invokeEventCallback('select', { $event, $item: this.selecteditem });\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Cleanup\n // Note: Subscription is already cleaned up via registerDestroyListener in constructor\n // but adding explicit OnDestroy to ensure proper cleanup lifecycle\n \n // Clear references\n this.selecteditem = null;\n this.pageScope = null;\n this.itemActionFn = null;\n\n super.ngOnDestroy();\n }\n}\n","<ng-template #menuRef let-item=\"item\" let-index=\"index\">\n <div wmMenu dropdown\n type=\"anchor\"\n autoclose.bind=\"autoclose\"\n iconclass.bind=\"item.icon\"\n autoopen.bind=\"autoopen\"\n caption.bind=\"item.label\"\n hint.bind=\"item.hint\"\n dataset.bind=\"item.children\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n showonhover.bind=\"showonhover\"\n select.event=\"onMenuItemSelect($event, widget, $item)\"></div>\n</ng-template>\n\n<ng-template #anchorRef let-item=\"item\" let-index=\"index\" let-liRef=\"liRef\">\n <a wmAnchor\n [disableMenuContext]=\"disableMenuContext || !!item.action\"\n [wmNavigationControl]=\"item.link\"\n [attr.aria-current]=\"item._selected || (!isactive && item.link === '#/' + activePageName) ? 'page' : ''\"\n caption.bind=\"item.label\"\n hint.bind=\"item.hint\"\n iconclass.bind=\"item.icon\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n click.event=\"onNavSelect($event, item)\"></a>\n</ng-template>\n\n@for (item of nodes; track item; let index = $index) {\n <li #liRef=\"navItemRef\"\n [ngClass]=\"{active: item._selected || (!isactive && item.link === '#/' + activePageName)}\"\n class=\"app-nav-item {{item.class}}\"\n wmNavItem>\n @if (!item.children.length) {\n <ng-container [ngTemplateOutlet]=\"anchorRef\"\n [ngTemplateOutletContext]=\"{item: item, index:index, liRef: liRef}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('anchor_' + liRef.trackId, {item: item, index:index, liRef: liRef})\"\n ></ng-container>\n }\n @if (item.children.length) {\n <ng-container [ngTemplateOutlet]=\"menuRef\"\n [ngTemplateOutletContext]=\"{item: item, index:index}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('menu_' + liRef.trackId, {item: item, index:index})\"\n ></ng-container>\n }\n </li>\n}\n\n@if (!nodes.length) {\n <ng-content select=\"[wmNavItem]\"></ng-content>\n}\n","import { MenuDropdownComponent } from '../menu-dropdown/menu-dropdown.component';\nimport { NavigationControlDirective } from '../nav/navigation-control.directive';\nimport { Component, ElementRef, forwardRef, HostListener, inject, Input, OnDestroy, OnInit, Optional } from '@angular/core';\n\nimport { addClass, triggerItemAction, UserDefinedExecutionContext, App, toggleClass } from '@wm/core';\nimport { hasLinkToCurrentPage, TextContentDirective } from '@wm/components/base';\nimport { NavComponent } from '../nav/nav.component';\n\nimport { KEYBOARD_MOVEMENTS, MENU_POSITION, MenuComponent } from '../menu.component';\nimport { clone, includes } from \"lodash-es\";\n\ndeclare const $;\n\nconst menuAlignClass = {\n 'pull-right': 'fa-caret-left',\n 'dropinline-menu': 'fa-caret-down',\n 'pull-left': 'fa-caret-right'\n};\n\nconst MENU_LAYOUT_TYPE = {\n HORIZONTAL: 'horizontal',\n VERTICAL: 'vertical'\n};\n\n@Component({\n standalone: true,\n imports: [TextContentDirective, forwardRef(() => MenuDropdownComponent), NavigationControlDirective],\n selector: 'li[wmMenuDropdownItem]',\n templateUrl: './menu-dropdown-item.component.html',\n})\nexport class MenuDropdownItemComponent implements OnInit, OnDestroy {\n\n public menualign: string;\n\n private itemActionFn: Function;\n\n @Input() item;\n\n private readonly nativeElement;\n private highlightActiveLinkSubscription: () => void;\n public menuRef = inject(MenuComponent);\n constructor(\n private app: App,\n private userDefinedExecutionContext: UserDefinedExecutionContext,\n @Optional() private parentNav: NavComponent,\n elRef: ElementRef,\n ) {\n this.nativeElement = elRef.nativeElement;\n addClass(this.nativeElement, 'app-menu-item');\n\n this.menualign = menuAlignClass[this.menuRef.menualign] || menuAlignClass['pull-left'];\n }\n\n ngOnInit() {\n // add active class to the item only if it is in nav component.\n if (this.parentNav) {\n if (hasLinkToCurrentPage([this.item], this.menuRef.route.url)) {\n // add active class to the li, if the menu item's link is same as the current page name.\n addClass(this.nativeElement, 'active');\n }\n this.highlightActiveLinkSubscription = this.app.subscribe(\"highlightActiveLink\", (data) => {\n toggleClass(this.nativeElement, 'active', hasLinkToCurrentPage([this.item], this.menuRef.route.url));\n });\n }\n }\n\n getInitialKeyMovements() {\n const KEY_MOVEMENTS = clone(KEYBOARD_MOVEMENTS);\n if (this.menuRef.menulayout === MENU_LAYOUT_TYPE.HORIZONTAL) {\n KEY_MOVEMENTS.MOVE_UP = 'LEFT-ARROW';\n KEY_MOVEMENTS.MOVE_LEFT = 'UP-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'RIGHT-ARROW';\n } else {\n if (this.menuRef.menuposition === MENU_POSITION.DOWN_LEFT || this.menuRef.menuposition === MENU_POSITION.UP_LEFT) {\n KEY_MOVEMENTS.MOVE_LEFT = 'RIGHT-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'LEFT-ARROW';\n } else if (this.menuRef.menuposition === 'inline') {\n KEY_MOVEMENTS.MOVE_UP = 'LEFT-ARROW';\n KEY_MOVEMENTS.MOVE_LEFT = 'UP-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'RIGHT-ARROW';\n }\n }\n return KEY_MOVEMENTS;\n }\n\n @HostListener('keydown.tab', ['$event'])\n onKeyDownTab($event: KeyboardEvent) { this.onKeyDown($event, 'TAB'); }\n\n @HostListener('keydown.shift.tab', ['$event'])\n onKeyDownShiftTab($event: KeyboardEvent) { this.onKeyDown($event, 'SHIFT-TAB'); }\n\n @HostListener('keydown.escape', ['$event'])\n onKeyDownEscape($event: KeyboardEvent) { this.onKeyDown($event, 'ESC'); }\n\n @HostListener('keydown.enter', ['$event'])\n onKeyDownEnter($event: KeyboardEvent) { this.onKeyDown($event, 'ENTER'); }\n\n @HostListener('keydown.arrowup', ['$event'])\n onKeyDownArrowUp($event: KeyboardEvent) { this.onKeyDown($event, 'UP-ARROW'); }\n\n @HostListener('keydown.arrowdown', ['$event'])\n onKeyDownArrowDown($event: KeyboardEvent) { this.onKeyDown($event, 'DOWN-ARROW'); }\n\n @HostListener('keydown.arrowright', ['$event'])\n onKeyDownArrowRight($event: KeyboardEvent) { this.onKeyDown($event, 'RIGHT-ARROW'); }\n\n @HostListener('keydown.arrowleft', ['$event'])\n onKeyDownArrowLeft($event: KeyboardEvent) { this.onKeyDown($event, 'LEFT-ARROW'); }\n\n onKeyDown($event: KeyboardEvent, eventAction: string) {\n const $li = $(this.nativeElement);\n const $ul = $(this.nativeElement).closest('ul.dropdown-menu');\n const $parentUl = this.menuRef.$element.find('> ul.dropdown-menu');\n const ARROW_KEYS = ['LEFT-ARROW', 'RIGHT-ARROW', 'UP-ARROW', 'DOWN-ARROW'];\n const KEY_MOVEMENTS = this.getInitialKeyMovements();\n\n if (includes(ARROW_KEYS, eventAction)) {\n // preventing from page scroll when up/down arrow is pressed, in case of menu is opened.\n $event.preventDefault();\n }\n\n if ((eventAction === KEY_MOVEMENTS.ON_TAB && $parentUl.children().last()[0] === this.nativeElement)\n || (eventAction === KEY_MOVEMENTS.ON_SHIFT_TAB && $parentUl.children().first()[0] === this.nativeElement)\n || eventAction === KEY_MOVEMENTS.ON_ESCAPE) {\n /*closing all the children elements when\n * 1. Tab is clicked on the last $element\n * 2. Shift Tab is clicked on the first $element\n * 3. When Escape key is clicked*/\n $event.preventDefault();\n this.menuRef.bsDropdown.hide();\n } else if ((eventAction === KEY_MOVEMENTS.ON_ENTER && !this.item.link) || eventAction === KEY_MOVEMENTS.MOVE_RIGHT) {\n // when there is no link for the menu, on enter open the inner child elements and focus the first $element\n $event.stopPropagation();\n if (this.item.children.length) {\n $li.toggleClass('open');\n $li.find('li').first().find('> a').focus();\n } else {\n $li.find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.MOVE_LEFT\n || (eventAction === KEY_MOVEMENTS.ON_TAB && $ul.children().last()[0] === this.nativeElement)\n || (eventAction === KEY_MOVEMENTS.ON_SHIFT_TAB && $ul.children().first()[0] === this.nativeElement)) {\n if ($parentUl[0] !== $ul[0]) {\n const $parentItem = $ul.parent();\n $parentItem.toggleClass('open').find('li.open').removeClass('open');\n $parentItem.find('> a').focus();\n $event.preventDefault();\n $event.stopPropagation();\n }\n } else if (eventAction === KEY_MOVEMENTS.MOVE_UP) {\n if ($parentUl[0] !== $ul[0] || $parentUl.find('> li').first()[0] !== this.nativeElement) {\n $event.stopPropagation();\n $li.prev().find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.MOVE_DOWN) {\n $event.stopPropagation();\n if ($parentUl.find('> li').last()[0] === this.nativeElement\n && (this.menuRef.menulayout !== MENU_LAYOUT_TYPE.HORIZONTAL\n && this.menuRef.menuposition === MENU_POSITION.UP_RIGHT\n || this.menuRef.menuposition === MENU_POSITION.UP_LEFT)) {\n this.menuRef.bsDropdown.hide();\n } else {\n $li.next().find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.ON_ENTER) {\n this.onSelect($event, this.item);\n } else {\n $event.stopPropagation();\n }\n }\n\n @HostListener('click', ['$event', 'item'])\n onSelect = ($event, item) => {\n if (this.nativeElement !== $($event.target).closest('.app-menu-item').get(0)) {\n return;\n }\n // prevent event event propagation if auto close is outside click.\n if (this.menuRef.autoclose === 'outsideClick') {\n $event.stopPropagation();\n }\n\n $event.preventDefault();\n const args = { $event, $item: item };\n this.menuRef.onMenuItemSelect(args);\n const selectedItem = clone(item);\n selectedItem.target = selectedItem.target || this.menuRef.linktarget;\n // Trigger the action associated with active item\n triggerItemAction(this, selectedItem);\n }\n\n ngOnDestroy(): void {\n if (this.highlightActiveLinkSubscription) {\n this.highlightActiveLinkSubscription();\n }\n }\n}\n","<a href=\"javascript:void(0);\" [title]=\"item.label\" [wmNavigationControl]=\"item.link\" [disableMenuContext]=\"menuRef.disableMenuContext || !!item.action\">\n @if (item.children.length) {\n <span class=\"pull-right fa caret {{menualign}}\"></span>\n }\n <i class=\"app-icon {{item.icon}}\"></i>\n <span class=\"anchor-caption\">{{item.label}}</span>\n @if (item.badge) {\n <span class=\"badge pull-right\" [textContent]=\"item.badge\"></span>\n }\n</a>\n@if (item.children.length) {\n <ul wmMenuDropdown [items]=\"item.children\"></ul>\n}","import { CommonModule } from '@angular/common';\nimport { MenuDropdownItemComponent } from '../menu-dropdown-item/menu-dropdown-item.component';\nimport { AfterViewInit, Component, ElementRef, inject, Input } from '@angular/core';\n\nimport { addClass } from '@wm/core';\n\nimport { MenuComponent } from '../menu.component';\n\nconst animationClasses = {\n scale: {\n 'name': 'wmScaleInLeft',\n 'down,right': 'wmScaleInLeft',\n 'down,left': 'wmScaleInRight',\n 'up,right': 'wmScaleInTopLeft',\n 'up,left': 'wmScaleInTopRight'\n },\n fade: {\n 'name': 'fadeIn',\n 'down,right': 'fadeIn',\n 'down,left': 'fadeIn',\n 'up,right': 'fadeIn',\n 'up,left': 'fadeIn'\n },\n slide: {\n 'name': 'wmSlideInDown',\n 'down,right': 'wmSlideInDown',\n 'down,left': 'wmSlideInDown',\n 'up,right': 'wmSlideInUp',\n 'up,left': 'wmSlideInUp'\n }\n};\n\nconst DEFAULT_CLS = 'dropdown-menu';\n\n@Component({\n standalone: true,\n imports: [CommonModule, MenuDropdownItemComponent],\n selector: 'ul[wmMenuDropdown]',\n templateUrl: './menu-dropdown.component.html'\n})\nexport class MenuDropdownComponent implements AfterViewInit {\n private readonly nativeElement;\n private hasExecutedCallback;\n @Input() items;\n private menuRef = inject(MenuComponent);\n constructor(elRef: ElementRef) {\n this.nativeElement = elRef.nativeElement;\n this.hasExecutedCallback = false;\n addClass(this.nativeElement, DEFAULT_CLS);\n }\n\n ngAfterViewInit() {\n const animateItems = this.menuRef.animateitems;\n let animationClass = '';\n if (animateItems) {\n animationClass = `animated ${(animationClasses[animateItems][this.menuRef.menuposition] || animationClasses[animateItems].name)}`;\n }\n addClass(this.nativeElement, `dropdown-menu ${this.menuRef.menualign} ${animationClass}`, true);\n this.getParentWidget();\n }\n // Function to check if the menu widget is present inside other widgets like table, tabs, dialog, nav, list, tile, panel, accordion\n // if true then call createObserver() which internally calculates dropown height\n getParentWidget() {\n const closestWidget = $(this.menuRef.nativeElement).closest('table, ul.list-group');\n\n // Check if the closest table is the parent of the menu widget\n if (closestWidget && $(closestWidget).has(this.menuRef.nativeElement).length > 0) {\n this.createObserver(this, this.callback);\n }\n }\n // function which changes the position of the menu dropdown dynamically if it exceeds viewport height\n callback(entries, observer) {\n if (!this.hasExecutedCallback) {\n const self = this;\n const positions = this.menuRef.menuposition?.split(',') || [];\n entries.forEach(entry => {\n if(entry.isIntersecting) {\n positions[0]='down';\n self.menuRef.menuposition= positions.length > 1 ? positions.join() : 'down,right';\n self.nativeElement.parentElement?.classList.add('dropdown');\n self.menuRef.setMenuPosition();\n } else {\n positions[0]='up';\n self.menuRef.menuposition = positions.length > 1 ? positions.join() : 'up,right';\n self.nativeElement.parentElement?.classList.add('dropup');\n self.menuRef.setMenuPosition();\n // when container=\"body\" is added to menu dropdown, the dropdown menu ul is attached directly to body.\n // so adding a class name inorder to adjust the styling of the dropdown\n const dropdownContainer = self.nativeElement.parentElement?.parentElement;\n if (dropdownContainer.tagName.toUpperCase() === \"BS-DROPDOWN-CONTAINER\") {\n // The parent element is <bs-dropdown-container>\n self.nativeElement.parentElement?.parentElement?.classList.add('parent-position');\n }\n\n }\n });\n this.hasExecutedCallback = true;\n }\n }\n\n // function which checks if the dropdown is within the viewport height or exceeds viewport height\n createObserver(target, callback) {\n const options = {\n root: null,\n threshold: 1,\n once: true\n };\n const observer = new IntersectionObserver(callback.bind(this), options);\n observer.observe(target.nativeElement);\n }\n\n}\n","@for (item of items; track item) {\n <li wmMenuDropdownItem\n [item]=\"item\"\n [ngClass]=\"{disabled: item.disabled, 'dropdown-submenu': item.children.length > 0}\"\n class=\"{{item.class}}\"\n role=\"menuitem\">\n </li>\n}\n","import {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-menu',\n new Map(\n [\n ['accessroles', {value: 'Everyone', ...PROP_STRING}],\n ['animateitems', PROP_STRING],\n ['autoclose', {value: 'always', ...PROP_STRING}],\n ['autoopen', {value: 'never', ...PROP_STRING}],\n ['caption', PROP_STRING],\n ['class', PROP_STRING],\n ['dataset', {value: 'Menu Item 1, Menu Item 2, Menu Item 3', ...PROP_ANY}],\n ['hint', {value: '', ...PROP_STRING}],\n ['arialabel', PROP_STRING],\n ['isactive', PROP_STRING],\n ['iconclass', PROP_STRING],\n ['iconurl', PROP_STRING],\n ['iconposition', {value: 'left', ...PROP_STRING}],\n ['itemaction', PROP_STRING],\n ['itemchildren', PROP_STRING],\n ['itemclass', PROP_STRING],\n ['itemicon', PROP_STRING],\n ['itemlabel', PROP_STRING],\n ['itemlink', PROP_STRING],\n ['itemtarget', PROP_STRING],\n ['linktarget', {value: '_self', ...PROP_STRING}],\n ['menuclass', PROP_STRING],\n ['menulayout', PROP_STRING],\n ['menuposition', PROP_STRING],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showonhover', {value: false, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', {value: 'menu', ...PROP_STRING}],\n ['userrole', PROP_STRING]\n ]\n )\n );\n};\n","import { CommonModule } from '@angular/common';\nimport { ButtonComponent } from '@wm/components/input/button';\nimport { MenuDropdownComponent } from './menu-dropdown/menu-dropdown.component';\nimport {\n AfterViewInit,\n Attribute,\n Component,\n HostListener,\n Inject,\n Injector,\n OnDestroy,\n OnInit,\n Optional,\n Self\n} from '@angular/core';\nimport {Router} from '@angular/router';\n\nimport {BsDropdownDirective, BsDropdownModule} from 'ngx-bootstrap/dropdown';\n\nimport {\n $appDigest,\n addClass,\n App,\n removeClass,\n toggleClass,\n triggerItemAction,\n UserDefinedExecutionContext\n} from '@wm/core';\nimport {\n AUTOCLOSE_TYPE,\n DatasetAwareNavComponent,\n hasLinkToCurrentPage,\n provideAsWidgetRef,\n styler,\n TextContentDirective,\n WmAppIconComponent\n} from '@wm/components/base';\nimport {NavComponent} from './nav/nav.component';\n\nimport {registerProps} from './menu.props';\nimport {clone, forEach, includes, isEmpty} from \"lodash-es\";\nimport { AnchorComponent } from '@wm/components/basic/anchor';\n\nexport const KEYBOARD_MOVEMENTS = {\n MOVE_UP: 'UP-ARROW',\n MOVE_LEFT: 'LEFT-ARROW',\n MOVE_RIGHT: 'RIGHT-ARROW',\n MOVE_DOWN: 'DOWN-ARROW',\n ON_ENTER: 'ENTER',\n ON_MOUSE_ENTER: 'MOUSE-ENTER',\n ON_MOUSE_LEAVE: 'MOUSE-LEAVE',\n ON_TAB: 'TAB',\n ON_SHIFT_TAB: 'SHIFT-TAB',\n ON_ESCAPE: 'ESC'\n};\n\nexport const MENU_POSITION = {\n UP_LEFT: 'up,left',\n UP_RIGHT: 'up,right',\n DOWN_LEFT: 'down,left',\n DOWN_RIGHT: 'down,right',\n INLINE: 'inline'\n};\n\nconst POSITION = {\n DOWN_RIGHT: 'down,right',\n DOWN_LEFT: 'down,left',\n UP_RIGHT: 'up,right',\n UP_LEFT: 'up,left',\n INLINE: 'inline'\n};\nconst CARET_CLS = {\n UP: 'fa-caret-up',\n DOWN: 'fa-caret-down'\n};\nconst PULL_CLS = {\n LEFT: 'pull-left',\n RIGHT: 'pull-right'\n};\n\nconst AUTO_OPEN = {\n NEVER: 'never',\n ACTIVE_PAGE: 'activepage',\n ALWAYS: 'always'\n};\n\nconst WIDGET_CONFIG = { widgetType: 'wm-menu', hostClass: 'dropdown app-menu' };\n@Component({\n standalone: true,\n imports: [BsDropdownModule, CommonModule, TextContentDirective, AnchorComponent, ButtonComponent, MenuDropdownComponent, WmAppIconComponent],\n selector: '[wmMenu]',\n templateUrl: './menu.component.html',\n providers: [\n provideAsWidgetRef(MenuComponent),\n\n ]\n})\nexport class MenuComponent extends DatasetAwareNavComponent implements OnInit, OnDestroy, AfterViewInit {\n static initializeProps = registerProps();\n\n public menualign: string;\n public menuposition: string;\n public menulayout: string;\n public menuclass: string;\n public linktarget: string;\n public iconclass: string;\n public iconurl: string;\n public animateitems: string;\n\n public disableMenuContext: boolean;\n public showonhover: boolean;\n public autoclose: string;\n public autoopen: string;\n public hint: string;\n public arialabel: string;\n\n private itemActionFn: Function;\n private menuCaret = 'fa-caret-down';\n private _selectFirstItem = false;\n\n public type: any;\n public _menuposition: string;\n\n @HostListener('onShown') onShow() {\n this._menuposition = this.menuposition;\n if (this._selectFirstItem) {\n setTimeout(() => {\n this.$element.find('> ul[wmmenudropdown] li.app-menu-item').first().find('> a').focus();\n });\n }\n $appDigest();\n }\n @HostListener('onHidden') onHide() {\n this.$element.find('li').removeClass('open');\n this._selectFirstItem = false;\n // reset the menuposition when dropdown is closed\n this.menuposition = this._menuposition ? this._menuposition : MENU_POSITION.DOWN_RIGHT;\n this.setMenuPosition();\n $appDigest();\n }\n\n @HostListener('keydown.arrowup', ['$event'])\n onKeyDownArrowUp($event: KeyboardEvent) { this.onKeyDown($event, 'UP-ARROW'); }\n\n @HostListener('mouseenter', ['$event'])\n onMouseEnter($event: MouseEvent) { this.onKeyDown($event, 'MOUSE-ENTER'); }\n\n @HostListener('mouseleave', ['$event'])\n onMouseLeave($event: MouseEvent) { this.onKeyDown($event, 'MOUSE-LEAVE'); }\n\n @HostListener('keydown.arrowdown', ['$event'])\n onKeyDownArrowDown($event: KeyboardEvent) { this.onKeyDown($event, 'DOWN-ARROW'); }\n\n @HostListener('keydown.arrowright', ['$event'])\n onKeyDownArrowRight($event: KeyboardEvent) { this.onKeyDown($event, 'RIGHT-ARROW'); }\n\n @HostListener('keydown.arrowleft', ['$event'])\n onKeyDownArrowLeft($event: KeyboardEvent) { this.onKeyDown($event, 'LEFT-ARROW'); }\n\n @HostListener('keydown.enter', ['$event'])\n onKeyDownEnter($event: KeyboardEvent) { this.onKeyDown($event, 'ENTER'); }\n\n onKeyDown($event: KeyboardEvent | MouseEvent, eventAction: string) {\n const KEY_MOVEMENTS = clone(KEYBOARD_MOVEMENTS);\n if (this.menuposition === MENU_POSITION.UP_RIGHT) {\n KEY_MOVEMENTS.MOVE_UP = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'UP-ARROW';\n } else if (this.menuposition === MENU_POSITION.UP_LEFT) {\n KEY_MOVEMENTS.MOVE_UP = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'UP-ARROW';\n KEY_MOVEMENTS.MOVE_LEFT = 'RIGHT-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'LEFT-ARROW';\n } else if (this.menuposition === MENU_POSITION.DOWN_LEFT) {\n KEY_MOVEMENTS.MOVE_LEFT = 'RIGHT-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'LEFT-ARROW';\n }\n\n if (includes([KEY_MOVEMENTS.MOVE_DOWN, KEY_MOVEMENTS.MOVE_RIGHT], eventAction)) {\n if (!this.bsDropdown.isOpen) {\n this._selectFirstItem = true;\n this.bsDropdown.show();\n } else {\n this.$element.find('> ul[wmmenudropdown] li.app-menu-item').first().find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.ON_ENTER || (eventAction === KEY_MOVEMENTS.ON_MOUSE_ENTER && this.showonhover)) {\n this.bsDropdown.toggle(true);\n } else if (includes([KEY_MOVEMENTS.MOVE_UP, KEY_MOVEMENTS.MOVE_LEFT], eventAction) || (eventAction == KEY_MOVEMENTS.ON_MOUSE_LEAVE && this.autoclose == AUTOCLOSE_TYPE.ALWAYS && this.showonhover)) {\n this.bsDropdown.hide();\n }\n $event.preventDefault();\n }\n\n constructor(\n inj: Injector,\n public route: Router,\n private userDefinedExecutionContext: UserDefinedExecutionContext,\n private app: App,\n @Self() @Optional() public bsDropdown: BsDropdownDirective,\n @Optional() private parentNav: NavComponent,\n @Attribute('select.event') public selectEventCB: string,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n if (parentNav) {\n this.disableMenuContext = !!parentNav.disableMenuContext;\n } else {\n this.disableMenuContext = !!selectEventCB;\n }\n // For selecting the item on load\n const datasetSubscription = this.nodes$.subscribe(() => {\n if (!isEmpty(this.nodes)) {\n if (hasLinkToCurrentPage(this.nodes, this.route.url)) {\n addClass(this.nativeElement.querySelector('.dropdown-toggle') as HTMLElement, 'active');\n }\n // If menu widget is inside nav widget then dont check for item isactive property because these will be handled form nav widget.\n if (this.parentNav) {\n return;\n }\n let itemFound = false;\n const getItem = (nodes) => {\n forEach(nodes, (item) => {\n if (itemFound) {\n return;\n }\n if (item.isactive) {\n itemFound = true;\n this.onMenuItemSelect({ $event: {}, $item: item });\n // Trigger the action associated with active item\n triggerItemAction(this, item);\n return false;\n }\n if (!isEmpty(item.children)) {\n getItem(item.children);\n }\n\n });\n };\n getItem(this.nodes);\n }\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n\n }\n\n protected resetNodes() {\n super.resetNodes();\n // open the menu if any of its menu items has link to current page and if autoopen value is 'active page'\n if ((this.autoopen === AUTO_OPEN.ACTIVE_PAGE && hasLinkToCurrentPage(this.nodes, this.route.url)) || this.autoopen === AUTO_OPEN.ALWAYS) {\n this.bsDropdown.show();\n }\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.setMenuPosition();\n\n const cancelSubscription = this.app.subscribe(\"highlightActiveLink\", (data) => {\n toggleClass(this.nativeElement.querySelector('.dropdown-toggle') as HTMLElement, 'active', hasLinkToCurrentPage(this.nodes, this.route.url ));\n });\n this.registerDestroyListener(() => cancelSubscription());\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n\n if (key === 'tabindex') {\n // Let the base class handle tabindex setting via setAttr\n super.onPropertyChange(key, nv, ov);\n return;\n }\n\n if (key === 'autoclose') {\n // ngx-bootstrap 21: autoClose is an InputSignal; WaveMaker sets internal dropdown state at runtime.\n (this.bsDropdown as unknown as { _state: { autoClose: boolean } })._state.autoClose =\n nv !== AUTOCLOSE_TYPE.DISABLED;\n this.autoclose = nv;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n public setMenuPosition() {\n switch (this.menuposition) {\n case POSITION.DOWN_RIGHT:\n removeClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.LEFT;\n this.menuCaret = CARET_CLS.DOWN;\n break;\n case POSITION.DOWN_LEFT:\n removeClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.RIGHT;\n this.menuCaret = CARET_CLS.DOWN;\n break;\n case POSITION.UP_LEFT:\n addClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.RIGHT;\n this.menuCaret = CARET_CLS.UP;\n break;\n case POSITION.UP_RIGHT:\n addClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.LEFT;\n this.menuCaret = CARET_CLS.UP;\n break;\n case POSITION.INLINE:\n this.menualign = 'dropinline-menu';\n break;\n }\n }\n\n public onMenuItemSelect(args) {\n const { $event } = args;\n const $item = args.$item.value;\n this.invokeEventCallback('select', { $event, $item });\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n // Fix tabindex if it's NaN (ensure it's fixed after view initialization)\n if (this.widget.tabindex !== undefined && (typeof this.widget.tabindex === 'number' && isNaN(this.widget.tabindex))) {\n this.widget.tabindex = 0;\n (this as any).tabindex = 0;\n }\n styler(this.nativeElement.querySelector('.dropdown-toggle') as HTMLElement, this);\n }\n}\n","\n\n<ng-template #innerTemplate>\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" alt=\"Menu icon\"></wm-app-icon>\n <span class=\"caption\" [textContent]=\"caption\"></span>\n <span class=\"pull-right caret fa {{menuCaret}}\"></span>\n</ng-template>\n\n@if (type === 'anchor') {\n <a wmAnchor\n dropdownToggle\n [attr.aria-label]=\"arialabel || 'Menu'\"\n href=\"javascript:void(0);\"\n role=\"button\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n hint.bind=\"hint\"\n class=\"dropdown-toggle {{menuclass}}\"\n shortcutkey.bind=\"shortcutkey\"\n tabindex.bind=\"tabindex\"\n caption.bind=\"caption\"\n iconclass.bind=\"iconclass\"\n iconurl.bind=\"iconurl\"\n iconposition.bind=\"iconposition\"\n badgevalue.bind=\"badgevalue\"\n >\n <span class=\"pull-right caret fa\" [ngClass]=\"[menuCaret]\"></span>\n </a>\n} @else {\n <button wmButton\n dropdownToggle\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n [attr.aria-label]=\"arialabel || 'Menu'\"\n class=\"btn app-button dropdown-toggle {{menuclass}}\"\n hint.bind=\"hint\"\n shortcutkey.bind=\"shortcutkey\"\n tabindex.bind=\"tabindex\"\n caption.bind=\"caption\"\n iconclass.bind=\"iconclass\"\n iconurl.bind=\"iconurl\"\n iconposition.bind=\"iconposition\"\n type=\"button\">\n <span class=\"pull-right caret fa\" [ngClass]=\"[menuCaret]\"></span>\n </button>\n}\n\n<ul *dropdownMenu [items]=\"nodes\" [ngClass]=\"menulayout\" class=\"icon-position-{{iconposition}}\" role=\"menubar\"\nwmMenuDropdown></ul>\n","import { AfterViewInit, QueryList, ViewChildren, Directive, Optional, Inject, OnDestroy } from '@angular/core';\nimport { MenuComponent } from './menu.component';\nimport { BaseContainerComponent } from '@wm/components/base';\nimport { includes } from \"lodash-es\";\n\nconst menuProps = ['itemlabel', 'itemicon', 'itemlink', 'itemaction', 'itemchildren', 'userrole'];\n\n@Directive()\nexport class MenuAdapterComponent extends BaseContainerComponent implements AfterViewInit, OnDestroy {\n\n private itemlabel;\n private menuRef;\n private pageScope;\n\n private binditemlabel;\n private binditemicon;\n private binditemaction;\n private binditemchildren;\n private binditemlink;\n private binduserrole;\n\n @ViewChildren(MenuComponent) private menuRefQL: QueryList<MenuComponent>;\n private menuRefQLSubscription: any;\n\n constructor(\n inj,\n WIDGET_CONFIG,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n this.pageScope = this.viewParent;\n this.binditemlabel = this.nativeElement.getAttribute('itemlabel.bind');\n this.binditemicon = this.nativeElement.getAttribute('itemicon.bind');\n this.binditemaction = this.nativeElement.getAttribute('itemaction.bind');\n this.binditemlink = this.nativeElement.getAttribute('itemlink.bind');\n this.binduserrole = this.nativeElement.getAttribute('userrole.bind');\n this.binditemchildren = this.nativeElement.getAttribute('itemchildren.bind');\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (includes(menuProps, key) && this.menuRef) {\n this.menuRef.itemlabel = nv;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n if(this.menuRefQL['first'])\n {this.setMenuProperty();}\n this.menuRefQLSubscription = this.menuRefQL.changes.subscribe((menuRefQL: QueryList<MenuComponent>) => {\n if (menuRefQL.first) {\n this.setMenuProperty();\n if (this.menuRefQLSubscription) {\n this.menuRefQLSubscription.unsubscribe();\n this.menuRefQLSubscription = null;\n }\n }\n });\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Unsubscribe from QueryList changes\n if (this.menuRefQLSubscription) {\n this.menuRefQLSubscription.unsubscribe();\n this.menuRefQLSubscription = null;\n }\n\n // MEMORY LEAK FIX: Clear QueryList reference\n this.menuRefQL = null;\n this.menuRef = null;\n\n super.ngOnDestroy();\n }\n\n protected setMenuProperty(){\n if(this.menuRefQL['first']) {\n if (this.menuRefQL.first) {\n this.menuRef = this.menuRefQL.first;\n menuProps.forEach((prop) => {\n const bindProp = `bind${prop}`;\n if (this[bindProp]) {\n this.menuRef[bindProp] = this[bindProp];\n }\n this.menuRef[prop] = this[prop];\n });\n }\n }\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG","i1","i2.NavComponent","i3","i4.NavComponent","i5"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/navigation/menu/src/nav/navigation-control.directive.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav-item/nav-item.props.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav-item/nav-item.directive.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav.props.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav.component.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown-item/menu-dropdown-item.component.ts","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown-item/menu-dropdown-item.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown/menu-dropdown.component.ts","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown/menu-dropdown.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu.props.ts","../../../../../projects/components/widgets/navigation/menu/src/menu.component.ts","../../../../../projects/components/widgets/navigation/menu/src/menu.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu-adapator.component.ts","../../../../../projects/components/widgets/navigation/menu/src/index.ts"],"sourcesContent":["import { Directive, ElementRef, Input, OnDestroy } from '@angular/core';\n\nimport { setAttr } from '@wm/core';\n\nexport const disableContextMenu = ($event: Event) => {\n $event.preventDefault();\n};\n\n@Directive({\n standalone: true,\n selector: '[wmNavigationControl]'\n})\nexport class NavigationControlDirective implements OnDestroy {\n\n private readonly nativeElement: HTMLElement;\n private _link: string;\n private boundContextMenuHandler: (event: Event) => void;\n\n @Input() disableMenuContext: boolean;\n\n @Input() set wmNavigationControl(val) {\n this._link = val;\n \n // MEMORY LEAK FIX: Remove existing listener before adding new one\n if (this.boundContextMenuHandler) {\n this.nativeElement.removeEventListener('contextmenu', this.boundContextMenuHandler);\n this.boundContextMenuHandler = null;\n }\n\n if (val && !this.disableMenuContext) {\n setAttr(this.nativeElement, 'href', val);\n } else {\n setAttr(this.nativeElement, 'href', 'javascript:void(0)');\n // MEMORY LEAK FIX: Store bound function reference for cleanup\n this.boundContextMenuHandler = disableContextMenu;\n this.nativeElement.addEventListener('contextmenu', this.boundContextMenuHandler);\n }\n }\n\n constructor(eleRef: ElementRef) {\n this.nativeElement = eleRef.nativeElement;\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Remove event listener using stored bound function reference\n if (this.boundContextMenuHandler) {\n this.nativeElement.removeEventListener('contextmenu', this.boundContextMenuHandler);\n this.boundContextMenuHandler = null;\n }\n }\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-nav-item',\n new Map(\n [\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ]\n )\n );\n};\n","import {ContentChild, Directive, HostListener, Injector, AfterViewInit, OnDestroy, Optional, Inject} from '@angular/core';\n\nimport {addClass, removeClass} from '@wm/core';\nimport { APPLY_STYLES_TYPE, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { AnchorComponent } from '@wm/components/basic/anchor';\n\nimport { registerProps } from './nav-item.props';\n\ndeclare const $;\n\nconst DEFAULT_CLS = 'app-nav-item';\nconst WIDGET_CONFIG = {widgetType: 'wm-nav-item', hostClass: DEFAULT_CLS};\n\n@Directive({\n standalone: true,\n selector: '[wmNavItem]',\n exportAs: 'navItemRef',\n providers: [\n provideAsWidgetRef(NavItemDirective)\n ]\n})\nexport class NavItemDirective extends StylableComponent implements AfterViewInit, OnDestroy {\n static readonly initializeProps = registerProps();\n @ContentChild(AnchorComponent) innerLink;\n\n @HostListener('click')\n @HostListener('keydown.enter')\n makeActive() {\n const parentNode = this.nativeElement.parentNode;\n $(parentNode as HTMLElement).find('> li.active').removeClass('active');\n if (this.isAttached) {\n addClass(this.nativeElement, 'active');\n }\n }\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n\n public ngAfterViewInit() {\n if (this.innerLink) {\n this.innerLink.onActive(() => this.makeActive());\n }\n }\n\n public ngOnDetach() {\n removeClass(this.nativeElement, 'active', true);\n super.ngOnDetach();\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear ContentChild reference\n this.innerLink = null;\n\n super.ngOnDestroy();\n }\n}\n","import {PROP_ANY, PROP_BOOLEAN, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-nav',\n new Map(\n [\n ['autoclose', {value: 'always', ...PROP_STRING}],\n ['autoopen', {value: 'never', ...PROP_STRING}],\n ['class', PROP_STRING],\n ['dataset', PROP_ANY],\n ['iconposition', {value: 'left', ...PROP_STRING}],\n ['isactive', PROP_STRING],\n ['itemlabel', PROP_STRING],\n ['itemhint', PROP_STRING],\n ['itemlink', PROP_STRING],\n ['itemicon', PROP_STRING],\n ['itemclass', PROP_STRING],\n ['itemchildren', PROP_STRING],\n ['itemaction', PROP_STRING],\n ['itembadge', PROP_STRING],\n ['itemtarget', PROP_STRING],\n ['layout', PROP_STRING],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showonhover', {value: false, ...PROP_BOOLEAN}],\n ['type', PROP_STRING],\n ['userrole', PROP_STRING]\n ]\n )\n );\n};\n","import { CommonModule } from '@angular/common';\nimport { AnchorComponent } from '@wm/components/basic/anchor';\nimport { MenuComponent } from '../menu.component';\nimport { NavItemDirective } from './nav-item/nav-item.directive';\nimport { Attribute, ChangeDetectorRef, Component, forwardRef, Inject, Injector, OnDestroy, OnInit, Optional } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { addClass, App, triggerItemAction, UserDefinedExecutionContext } from '@wm/core';\nimport { APPLY_STYLES_TYPE, DatasetAwareNavComponent, provideAsWidgetRef, styler } from '@wm/components/base';\n\nimport { registerProps } from './nav.props';\nimport { find, forEach, isEmpty, omit } from \"lodash-es\";\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\n\nconst DEFAULT_CLS = 'nav app-nav';\nconst WIDGET_CONFIG = { widgetType: 'wm-nav', hostClass: DEFAULT_CLS };\n\nconst NavClassMap = {\n pills: 'nav-pills',\n tabs: 'nav-tabs',\n navbar: 'navbar-nav'\n};\n\n@Component({\n standalone: true,\n imports: [CommonModule, BsDropdownModule, AnchorComponent, forwardRef(() => MenuComponent), NavItemDirective, ],\n selector: '[wmNav]',\n templateUrl: './nav.component.html',\n providers: [\n provideAsWidgetRef(NavComponent)\n ]\n})\nexport class NavComponent extends DatasetAwareNavComponent implements OnInit, OnDestroy {\n static readonly initializeProps = registerProps();\n\n public selecteditem;\n public type;\n public disableMenuContext: boolean;\n public layout;\n public showonhover: boolean;\n private itemActionFn: Function;\n private pageScope: any;\n private get activePageName() {\n return this.app.activePageName;\n }\n\n constructor(\n inj: Injector,\n private readonly cdRef: ChangeDetectorRef,\n private readonly route: Router,\n private readonly userDefinedExecutionContext: UserDefinedExecutionContext,\n private readonly app: App,\n @Attribute('select.event') selectEventCB,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n this.disableMenuContext = !!selectEventCB;\n this.pageScope = this.viewParent;\n // For selecting the item on load\n const datasetSubscription = this.nodes$.subscribe(() => {\n if (!isEmpty(this.nodes)) {\n let itemFound = false;\n const getItem = (nodes, isMenuWidget?) => {\n forEach(nodes, (item) => {\n if (itemFound) {\n return;\n }\n if (item.isactive) {\n itemFound = true;\n this.selecteditem = isMenuWidget ? omit(item, ['children', 'value']) : item.value;\n this.invokeEventCallback('select', { $event: {}, $item: item.value });\n // Trigger the action associated with active item\n triggerItemAction(this, item);\n // _selected is used to add active class for nav item. If we have children inside nav widget then it is not required.\n if (!isMenuWidget) {\n item._selected = true;\n }\n return false;\n }\n if (!isEmpty(item.children)) {\n getItem(item.children, 'menu');\n }\n });\n };\n getItem(this.nodes);\n }\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n\n }\n\n\n private setNavType(type) {\n addClass(this.nativeElement, NavClassMap[type]);\n }\n\n private setNavLayout(layout) {\n addClass(this.nativeElement, `nav-${layout}`);\n }\n\n public onNavSelect($event: Event, item: any) {\n $event.preventDefault();\n\n const selectedItem = find(this.nodes, '_selected');\n if (selectedItem) {\n // @ts-ignore\n delete selectedItem._selected;\n }\n\n this.selecteditem = item.value;\n\n this.invokeEventCallback('select', { $event, $item: item.value });\n // Trigger the action associated with active item\n triggerItemAction(this, item);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.setNavType(this.type);\n this.setNavLayout(this.layout);\n }\n\n /**\n * invoked from the menu widget when a menu item is selected.\n * @param $event\n * @param widget\n * @param $item\n */\n onMenuItemSelect($event, widget, $item) {\n this.selecteditem = omit($item, ['children', 'value']);\n this.invokeEventCallback('select', { $event, $item: this.selecteditem });\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Cleanup\n // Note: Subscription is already cleaned up via registerDestroyListener in constructor\n // but adding explicit OnDestroy to ensure proper cleanup lifecycle\n \n // Clear references\n this.selecteditem = null;\n this.pageScope = null;\n this.itemActionFn = null;\n\n super.ngOnDestroy();\n }\n}\n","<ng-template #menuRef let-item=\"item\" let-index=\"index\">\n <div wmMenu dropdown\n type=\"anchor\"\n autoclose.bind=\"autoclose\"\n iconclass.bind=\"item.icon\"\n autoopen.bind=\"autoopen\"\n caption.bind=\"item.label\"\n hint.bind=\"item.hint\"\n dataset.bind=\"item.children\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n showonhover.bind=\"showonhover\"\n select.event=\"onMenuItemSelect($event, widget, $item)\"></div>\n</ng-template>\n\n<ng-template #anchorRef let-item=\"item\" let-index=\"index\" let-liRef=\"liRef\">\n <a wmAnchor\n [disableMenuContext]=\"disableMenuContext || !!item.action\"\n [wmNavigationControl]=\"item.link\"\n [attr.aria-current]=\"item._selected || (!isactive && item.link === '#/' + activePageName) ? 'page' : ''\"\n caption.bind=\"item.label\"\n hint.bind=\"item.hint\"\n iconclass.bind=\"item.icon\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n click.event=\"onNavSelect($event, item)\"></a>\n</ng-template>\n\n@for (item of nodes; track item; let index = $index) {\n <li #liRef=\"navItemRef\"\n [ngClass]=\"{active: item._selected || (!isactive && item.link === '#/' + activePageName)}\"\n class=\"app-nav-item {{item.class}}\"\n wmNavItem>\n @if (!item.children.length) {\n <ng-container [ngTemplateOutlet]=\"anchorRef\"\n [ngTemplateOutletContext]=\"{item: item, index:index, liRef: liRef}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('anchor_' + liRef.trackId, {item: item, index:index, liRef: liRef})\"\n ></ng-container>\n }\n @if (item.children.length) {\n <ng-container [ngTemplateOutlet]=\"menuRef\"\n [ngTemplateOutletContext]=\"{item: item, index:index}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('menu_' + liRef.trackId, {item: item, index:index})\"\n ></ng-container>\n }\n </li>\n}\n\n@if (!nodes.length) {\n <ng-content select=\"[wmNavItem]\"></ng-content>\n}\n","import { MenuDropdownComponent } from '../menu-dropdown/menu-dropdown.component';\nimport { NavigationControlDirective } from '../nav/navigation-control.directive';\nimport { Component, ElementRef, forwardRef, HostListener, inject, Input, OnDestroy, OnInit, Optional } from '@angular/core';\n\nimport { addClass, triggerItemAction, UserDefinedExecutionContext, App, toggleClass } from '@wm/core';\nimport { hasLinkToCurrentPage, TextContentDirective } from '@wm/components/base';\nimport { NavComponent } from '../nav/nav.component';\n\nimport { KEYBOARD_MOVEMENTS, MENU_POSITION, MenuComponent } from '../menu.component';\nimport { clone, includes } from \"lodash-es\";\n\ndeclare const $;\n\nconst menuAlignClass = {\n 'pull-right': 'fa-caret-left',\n 'dropinline-menu': 'fa-caret-down',\n 'pull-left': 'fa-caret-right'\n};\n\nconst MENU_LAYOUT_TYPE = {\n HORIZONTAL: 'horizontal',\n VERTICAL: 'vertical'\n};\n\n@Component({\n standalone: true,\n imports: [TextContentDirective, forwardRef(() => MenuDropdownComponent), NavigationControlDirective],\n selector: 'li[wmMenuDropdownItem]',\n templateUrl: './menu-dropdown-item.component.html',\n})\nexport class MenuDropdownItemComponent implements OnInit, OnDestroy {\n\n public menualign: string;\n\n private readonly itemActionFn: Function;\n\n @Input() item;\n\n private readonly nativeElement;\n private highlightActiveLinkSubscription: () => void;\n public menuRef = inject(MenuComponent);\n constructor(\n private readonly app: App,\n private readonly userDefinedExecutionContext: UserDefinedExecutionContext,\n @Optional() private parentNav: NavComponent,\n elRef: ElementRef,\n ) {\n this.nativeElement = elRef.nativeElement;\n addClass(this.nativeElement, 'app-menu-item');\n\n this.menualign = menuAlignClass[this.menuRef.menualign] || menuAlignClass['pull-left'];\n }\n\n ngOnInit() {\n // add active class to the item only if it is in nav component.\n if (this.parentNav) {\n if (hasLinkToCurrentPage([this.item], this.menuRef.route.url)) {\n // add active class to the li, if the menu item's link is same as the current page name.\n addClass(this.nativeElement, 'active');\n }\n this.highlightActiveLinkSubscription = this.app.subscribe(\"highlightActiveLink\", (data) => {\n toggleClass(this.nativeElement, 'active', hasLinkToCurrentPage([this.item], this.menuRef.route.url));\n });\n }\n }\n\n getInitialKeyMovements() {\n const KEY_MOVEMENTS = clone(KEYBOARD_MOVEMENTS);\n if (this.menuRef.menulayout === MENU_LAYOUT_TYPE.HORIZONTAL || this.menuRef.menuposition === 'inline') {\n KEY_MOVEMENTS.MOVE_UP = 'LEFT-ARROW';\n KEY_MOVEMENTS.MOVE_LEFT = 'UP-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'RIGHT-ARROW';\n } else if (this.menuRef.menuposition === MENU_POSITION.DOWN_LEFT || this.menuRef.menuposition === MENU_POSITION.UP_LEFT) {\n KEY_MOVEMENTS.MOVE_LEFT = 'RIGHT-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'LEFT-ARROW';\n }\n\n return KEY_MOVEMENTS;\n }\n\n @HostListener('keydown.tab', ['$event'])\n onKeyDownTab($event: KeyboardEvent) { this.onKeyDown($event, 'TAB'); }\n\n @HostListener('keydown.shift.tab', ['$event'])\n onKeyDownShiftTab($event: KeyboardEvent) { this.onKeyDown($event, 'SHIFT-TAB'); }\n\n @HostListener('keydown.escape', ['$event'])\n onKeyDownEscape($event: KeyboardEvent) { this.onKeyDown($event, 'ESC'); }\n\n @HostListener('keydown.enter', ['$event'])\n onKeyDownEnter($event: KeyboardEvent) { this.onKeyDown($event, 'ENTER'); }\n\n @HostListener('keydown.arrowup', ['$event'])\n onKeyDownArrowUp($event: KeyboardEvent) { this.onKeyDown($event, 'UP-ARROW'); }\n\n @HostListener('keydown.arrowdown', ['$event'])\n onKeyDownArrowDown($event: KeyboardEvent) { this.onKeyDown($event, 'DOWN-ARROW'); }\n\n @HostListener('keydown.arrowright', ['$event'])\n onKeyDownArrowRight($event: KeyboardEvent) { this.onKeyDown($event, 'RIGHT-ARROW'); }\n\n @HostListener('keydown.arrowleft', ['$event'])\n onKeyDownArrowLeft($event: KeyboardEvent) { this.onKeyDown($event, 'LEFT-ARROW'); }\n\n onKeyDown($event: KeyboardEvent, eventAction: string) {\n const $li = $(this.nativeElement);\n const $ul = $(this.nativeElement).closest('ul.dropdown-menu');\n const $parentUl = this.menuRef.$element.find('> ul.dropdown-menu');\n const ARROW_KEYS = ['LEFT-ARROW', 'RIGHT-ARROW', 'UP-ARROW', 'DOWN-ARROW'];\n const KEY_MOVEMENTS = this.getInitialKeyMovements();\n\n if (includes(ARROW_KEYS, eventAction)) {\n // preventing from page scroll when up/down arrow is pressed, in case of menu is opened.\n $event.preventDefault();\n }\n\n if ((eventAction === KEY_MOVEMENTS.ON_TAB && $parentUl.children().last()[0] === this.nativeElement)\n || (eventAction === KEY_MOVEMENTS.ON_SHIFT_TAB && $parentUl.children().first()[0] === this.nativeElement)\n || eventAction === KEY_MOVEMENTS.ON_ESCAPE) {\n /*closing all the children elements when\n * 1. Tab is clicked on the last $element\n * 2. Shift Tab is clicked on the first $element\n * 3. When Escape key is clicked*/\n $event.preventDefault();\n this.menuRef.bsDropdown.hide();\n } else if ((eventAction === KEY_MOVEMENTS.ON_ENTER && !this.item.link) || eventAction === KEY_MOVEMENTS.MOVE_RIGHT) {\n // when there is no link for the menu, on enter open the inner child elements and focus the first $element\n $event.stopPropagation();\n if (this.item.children.length) {\n $li.toggleClass('open');\n $li.find('li').first().find('> a').focus();\n } else {\n $li.find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.MOVE_LEFT\n || (eventAction === KEY_MOVEMENTS.ON_TAB && $ul.children().last()[0] === this.nativeElement)\n || (eventAction === KEY_MOVEMENTS.ON_SHIFT_TAB && $ul.children().first()[0] === this.nativeElement)) {\n if ($parentUl[0] !== $ul[0]) {\n const $parentItem = $ul.parent();\n $parentItem.toggleClass('open').find('li.open').removeClass('open');\n $parentItem.find('> a').focus();\n $event.preventDefault();\n $event.stopPropagation();\n }\n } else if (eventAction === KEY_MOVEMENTS.MOVE_UP) {\n if ($parentUl[0] !== $ul[0] || $parentUl.find('> li').first()[0] !== this.nativeElement) {\n $event.stopPropagation();\n $li.prev().find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.MOVE_DOWN) {\n $event.stopPropagation();\n if ($parentUl.find('> li').last()[0] === this.nativeElement\n && (this.menuRef.menulayout !== MENU_LAYOUT_TYPE.HORIZONTAL\n && this.menuRef.menuposition === MENU_POSITION.UP_RIGHT\n || this.menuRef.menuposition === MENU_POSITION.UP_LEFT)) {\n this.menuRef.bsDropdown.hide();\n } else {\n $li.next().find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.ON_ENTER) {\n this.onSelect($event, this.item);\n } else {\n $event.stopPropagation();\n }\n }\n\n @HostListener('click', ['$event', 'item'])\n onSelect = ($event, item) => {\n if (this.nativeElement !== $($event.target).closest('.app-menu-item').get(0)) {\n return;\n }\n // prevent event event propagation if auto close is outside click.\n if (this.menuRef.autoclose === 'outsideClick') {\n $event.stopPropagation();\n }\n\n $event.preventDefault();\n const args = { $event, $item: item };\n this.menuRef.onMenuItemSelect(args);\n const selectedItem = clone(item);\n selectedItem.target = selectedItem.target || this.menuRef.linktarget;\n // Trigger the action associated with active item\n triggerItemAction(this, selectedItem);\n }\n\n ngOnDestroy(): void {\n if (this.highlightActiveLinkSubscription) {\n this.highlightActiveLinkSubscription();\n }\n }\n}\n","<a href=\"javascript:void(0);\" [title]=\"item.label\" [wmNavigationControl]=\"item.link\" [disableMenuContext]=\"menuRef.disableMenuContext || !!item.action\">\n @if (item.children.length) {\n <span class=\"pull-right fa caret {{menualign}}\"></span>\n }\n <i class=\"app-icon {{item.icon}}\"></i>\n <span class=\"anchor-caption\">{{item.label}}</span>\n @if (item.badge) {\n <span class=\"badge pull-right\" [textContent]=\"item.badge\"></span>\n }\n</a>\n@if (item.children.length) {\n <ul wmMenuDropdown [items]=\"item.children\"></ul>\n}","import { CommonModule } from '@angular/common';\nimport { MenuDropdownItemComponent } from '../menu-dropdown-item/menu-dropdown-item.component';\nimport { AfterViewInit, Component, ElementRef, inject, Input } from '@angular/core';\n\nimport { addClass } from '@wm/core';\n\nimport { MenuComponent } from '../menu.component';\n\nconst animationClasses = {\n scale: {\n 'name': 'wmScaleInLeft',\n 'down,right': 'wmScaleInLeft',\n 'down,left': 'wmScaleInRight',\n 'up,right': 'wmScaleInTopLeft',\n 'up,left': 'wmScaleInTopRight'\n },\n fade: {\n 'name': 'fadeIn',\n 'down,right': 'fadeIn',\n 'down,left': 'fadeIn',\n 'up,right': 'fadeIn',\n 'up,left': 'fadeIn'\n },\n slide: {\n 'name': 'wmSlideInDown',\n 'down,right': 'wmSlideInDown',\n 'down,left': 'wmSlideInDown',\n 'up,right': 'wmSlideInUp',\n 'up,left': 'wmSlideInUp'\n }\n};\n\nconst DEFAULT_CLS = 'dropdown-menu';\n\n@Component({\n standalone: true,\n imports: [CommonModule, MenuDropdownItemComponent],\n selector: 'ul[wmMenuDropdown]',\n templateUrl: './menu-dropdown.component.html'\n})\nexport class MenuDropdownComponent implements AfterViewInit {\n private readonly nativeElement;\n private hasExecutedCallback;\n @Input() items;\n private readonly menuRef = inject(MenuComponent);\n constructor(elRef: ElementRef) {\n this.nativeElement = elRef.nativeElement;\n this.hasExecutedCallback = false;\n addClass(this.nativeElement, DEFAULT_CLS);\n }\n\n ngAfterViewInit() {\n const animateItems = this.menuRef.animateitems;\n let animationClass = '';\n if (animateItems) {\n animationClass = `animated ${(animationClasses[animateItems][this.menuRef.menuposition] || animationClasses[animateItems].name)}`;\n }\n addClass(this.nativeElement, `dropdown-menu ${this.menuRef.menualign} ${animationClass}`, true);\n this.getParentWidget();\n }\n // Function to check if the menu widget is present inside other widgets like table, tabs, dialog, nav, list, tile, panel, accordion\n // if true then call createObserver() which internally calculates dropown height\n getParentWidget() {\n const closestWidget = $(this.menuRef.nativeElement).closest('table, ul.list-group');\n\n // Check if the closest table is the parent of the menu widget\n if (closestWidget && $(closestWidget).has(this.menuRef.nativeElement).length > 0) {\n this.createObserver(this, this.callback);\n }\n }\n // function which changes the position of the menu dropdown dynamically if it exceeds viewport height\n callback(entries, observer) {\n if (!this.hasExecutedCallback) {\n const self = this;\n const positions = this.menuRef.menuposition?.split(',') || [];\n entries.forEach(entry => {\n if(entry.isIntersecting) {\n positions[0]='down';\n self.menuRef.menuposition= positions.length > 1 ? positions.join() : 'down,right';\n self.nativeElement.parentElement?.classList.add('dropdown');\n self.menuRef.setMenuPosition();\n } else {\n positions[0]='up';\n self.menuRef.menuposition = positions.length > 1 ? positions.join() : 'up,right';\n self.nativeElement.parentElement?.classList.add('dropup');\n self.menuRef.setMenuPosition();\n // when container=\"body\" is added to menu dropdown, the dropdown menu ul is attached directly to body.\n // so adding a class name inorder to adjust the styling of the dropdown\n const dropdownContainer = self.nativeElement.parentElement?.parentElement;\n if (dropdownContainer.tagName.toUpperCase() === \"BS-DROPDOWN-CONTAINER\") {\n // The parent element is <bs-dropdown-container>\n self.nativeElement.parentElement?.parentElement?.classList.add('parent-position');\n }\n\n }\n });\n this.hasExecutedCallback = true;\n }\n }\n\n // function which checks if the dropdown is within the viewport height or exceeds viewport height\n createObserver(target, callback) {\n const options = {\n root: null,\n threshold: 1,\n once: true\n };\n const observer = new IntersectionObserver(callback.bind(this), options);\n observer.observe(target.nativeElement);\n }\n\n}\n","@for (item of items; track item) {\n <li wmMenuDropdownItem\n [item]=\"item\"\n [ngClass]=\"{disabled: item.disabled, 'dropdown-submenu': item.children.length > 0}\"\n class=\"{{item.class}}\"\n role=\"menuitem\">\n </li>\n}\n","import {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-menu',\n new Map(\n [\n ['accessroles', {value: 'Everyone', ...PROP_STRING}],\n ['animateitems', PROP_STRING],\n ['autoclose', {value: 'always', ...PROP_STRING}],\n ['autoopen', {value: 'never', ...PROP_STRING}],\n ['caption', PROP_STRING],\n ['class', PROP_STRING],\n ['dataset', {value: 'Menu Item 1, Menu Item 2, Menu Item 3', ...PROP_ANY}],\n ['hint', {value: '', ...PROP_STRING}],\n ['arialabel', PROP_STRING],\n ['isactive', PROP_STRING],\n ['iconclass', PROP_STRING],\n ['iconurl', PROP_STRING],\n ['iconposition', {value: 'left', ...PROP_STRING}],\n ['itemaction', PROP_STRING],\n ['itemchildren', PROP_STRING],\n ['itemclass', PROP_STRING],\n ['itemicon', PROP_STRING],\n ['itemlabel', PROP_STRING],\n ['itemlink', PROP_STRING],\n ['itemtarget', PROP_STRING],\n ['linktarget', {value: '_self', ...PROP_STRING}],\n ['menuclass', PROP_STRING],\n ['menulayout', PROP_STRING],\n ['menuposition', PROP_STRING],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showonhover', {value: false, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', {value: 'menu', ...PROP_STRING}],\n ['userrole', PROP_STRING]\n ]\n )\n );\n};\n","import { CommonModule } from '@angular/common';\nimport { ButtonComponent } from '@wm/components/input/button';\nimport { MenuDropdownComponent } from './menu-dropdown/menu-dropdown.component';\nimport {\n AfterViewInit,\n Attribute,\n Component,\n HostListener,\n Inject,\n Injector,\n OnDestroy,\n OnInit,\n Optional,\n Self\n} from '@angular/core';\nimport {Router} from '@angular/router';\n\nimport {BsDropdownDirective, BsDropdownModule} from 'ngx-bootstrap/dropdown';\n\nimport {\n $appDigest,\n addClass,\n App,\n removeClass,\n toggleClass,\n triggerItemAction,\n UserDefinedExecutionContext\n} from '@wm/core';\nimport {\n AUTOCLOSE_TYPE,\n DatasetAwareNavComponent,\n hasLinkToCurrentPage,\n provideAsWidgetRef,\n styler,\n TextContentDirective,\n WmAppIconComponent\n} from '@wm/components/base';\nimport {NavComponent} from './nav/nav.component';\n\nimport {registerProps} from './menu.props';\nimport {clone, forEach, includes, isEmpty} from \"lodash-es\";\nimport { AnchorComponent } from '@wm/components/basic/anchor';\n\nexport const KEYBOARD_MOVEMENTS = {\n MOVE_UP: 'UP-ARROW',\n MOVE_LEFT: 'LEFT-ARROW',\n MOVE_RIGHT: 'RIGHT-ARROW',\n MOVE_DOWN: 'DOWN-ARROW',\n ON_ENTER: 'ENTER',\n ON_MOUSE_ENTER: 'MOUSE-ENTER',\n ON_MOUSE_LEAVE: 'MOUSE-LEAVE',\n ON_TAB: 'TAB',\n ON_SHIFT_TAB: 'SHIFT-TAB',\n ON_ESCAPE: 'ESC'\n};\n\nexport const MENU_POSITION = {\n UP_LEFT: 'up,left',\n UP_RIGHT: 'up,right',\n DOWN_LEFT: 'down,left',\n DOWN_RIGHT: 'down,right',\n INLINE: 'inline'\n};\n\nconst POSITION = {\n DOWN_RIGHT: 'down,right',\n DOWN_LEFT: 'down,left',\n UP_RIGHT: 'up,right',\n UP_LEFT: 'up,left',\n INLINE: 'inline'\n};\nconst CARET_CLS = {\n UP: 'fa-caret-up',\n DOWN: 'fa-caret-down'\n};\nconst PULL_CLS = {\n LEFT: 'pull-left',\n RIGHT: 'pull-right'\n};\n\nconst AUTO_OPEN = {\n NEVER: 'never',\n ACTIVE_PAGE: 'activepage',\n ALWAYS: 'always'\n};\n\nconst WIDGET_CONFIG = { widgetType: 'wm-menu', hostClass: 'dropdown app-menu' };\n@Component({\n standalone: true,\n imports: [BsDropdownModule, CommonModule, TextContentDirective, AnchorComponent, ButtonComponent, MenuDropdownComponent, WmAppIconComponent],\n selector: '[wmMenu]',\n templateUrl: './menu.component.html',\n providers: [\n provideAsWidgetRef(MenuComponent),\n\n ]\n})\nexport class MenuComponent extends DatasetAwareNavComponent implements OnInit, OnDestroy, AfterViewInit {\n static readonly initializeProps = registerProps();\n\n public menualign: string;\n public menuposition: string;\n public menulayout: string;\n public menuclass: string;\n public linktarget: string;\n public iconclass: string;\n public iconurl: string;\n public animateitems: string;\n\n public disableMenuContext: boolean;\n public showonhover: boolean;\n public autoclose: string;\n public autoopen: string;\n public hint: string;\n public arialabel: string;\n\n private readonly itemActionFn: Function;\n private menuCaret = 'fa-caret-down';\n private _selectFirstItem = false;\n\n public type: any;\n public _menuposition: string;\n\n @HostListener('onShown') onShow() {\n this._menuposition = this.menuposition;\n if (this._selectFirstItem) {\n setTimeout(() => {\n this.$element.find('> ul[wmmenudropdown] li.app-menu-item').first().find('> a').focus();\n });\n }\n $appDigest();\n }\n @HostListener('onHidden') onHide() {\n this.$element.find('li').removeClass('open');\n this._selectFirstItem = false;\n // reset the menuposition when dropdown is closed\n this.menuposition = this._menuposition ? this._menuposition : MENU_POSITION.DOWN_RIGHT;\n this.setMenuPosition();\n $appDigest();\n }\n\n @HostListener('keydown.arrowup', ['$event'])\n onKeyDownArrowUp($event: KeyboardEvent) { this.onKeyDown($event, 'UP-ARROW'); }\n\n @HostListener('mouseenter', ['$event'])\n onMouseEnter($event: MouseEvent) { this.onKeyDown($event, 'MOUSE-ENTER'); }\n\n @HostListener('mouseleave', ['$event'])\n onMouseLeave($event: MouseEvent) { this.onKeyDown($event, 'MOUSE-LEAVE'); }\n\n @HostListener('keydown.arrowdown', ['$event'])\n onKeyDownArrowDown($event: KeyboardEvent) { this.onKeyDown($event, 'DOWN-ARROW'); }\n\n @HostListener('keydown.arrowright', ['$event'])\n onKeyDownArrowRight($event: KeyboardEvent) { this.onKeyDown($event, 'RIGHT-ARROW'); }\n\n @HostListener('keydown.arrowleft', ['$event'])\n onKeyDownArrowLeft($event: KeyboardEvent) { this.onKeyDown($event, 'LEFT-ARROW'); }\n\n @HostListener('keydown.enter', ['$event'])\n onKeyDownEnter($event: KeyboardEvent) { this.onKeyDown($event, 'ENTER'); }\n\n onKeyDown($event: KeyboardEvent | MouseEvent, eventAction: string) {\n const KEY_MOVEMENTS = clone(KEYBOARD_MOVEMENTS);\n if (this.menuposition === MENU_POSITION.UP_RIGHT) {\n KEY_MOVEMENTS.MOVE_UP = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'UP-ARROW';\n } else if (this.menuposition === MENU_POSITION.UP_LEFT) {\n KEY_MOVEMENTS.MOVE_UP = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'UP-ARROW';\n KEY_MOVEMENTS.MOVE_LEFT = 'RIGHT-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'LEFT-ARROW';\n } else if (this.menuposition === MENU_POSITION.DOWN_LEFT) {\n KEY_MOVEMENTS.MOVE_LEFT = 'RIGHT-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'LEFT-ARROW';\n }\n\n if (includes([KEY_MOVEMENTS.MOVE_DOWN, KEY_MOVEMENTS.MOVE_RIGHT], eventAction)) {\n if (!this.bsDropdown.isOpen) {\n this._selectFirstItem = true;\n this.bsDropdown.show();\n } else {\n this.$element.find('> ul[wmmenudropdown] li.app-menu-item').first().find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.ON_ENTER || (eventAction === KEY_MOVEMENTS.ON_MOUSE_ENTER && this.showonhover)) {\n this.bsDropdown.toggle(true);\n } else if (includes([KEY_MOVEMENTS.MOVE_UP, KEY_MOVEMENTS.MOVE_LEFT], eventAction) || (eventAction == KEY_MOVEMENTS.ON_MOUSE_LEAVE && this.autoclose == AUTOCLOSE_TYPE.ALWAYS && this.showonhover)) {\n this.bsDropdown.hide();\n }\n $event.preventDefault();\n }\n\n constructor(\n inj: Injector,\n public route: Router,\n private readonly userDefinedExecutionContext: UserDefinedExecutionContext,\n private readonly app: App,\n @Self() @Optional() public bsDropdown: BsDropdownDirective,\n @Optional() private readonly parentNav: NavComponent,\n @Attribute('select.event') public selectEventCB: string,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n if (parentNav) {\n this.disableMenuContext = !!parentNav.disableMenuContext;\n } else {\n this.disableMenuContext = !!selectEventCB;\n }\n // For selecting the item on load\n const datasetSubscription = this.nodes$.subscribe(() => {\n if (!isEmpty(this.nodes)) {\n if (hasLinkToCurrentPage(this.nodes, this.route.url)) {\n addClass(this.nativeElement.querySelector('.dropdown-toggle') as HTMLElement, 'active');\n }\n // If menu widget is inside nav widget then dont check for item isactive property because these will be handled form nav widget.\n if (this.parentNav) {\n return;\n }\n let itemFound = false;\n const getItem = (nodes) => {\n forEach(nodes, (item) => {\n if (itemFound) {\n return;\n }\n if (item.isactive) {\n itemFound = true;\n this.onMenuItemSelect({ $event: {}, $item: item });\n // Trigger the action associated with active item\n triggerItemAction(this, item);\n return false;\n }\n if (!isEmpty(item.children)) {\n getItem(item.children);\n }\n\n });\n };\n getItem(this.nodes);\n }\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n\n }\n\n protected resetNodes() {\n super.resetNodes();\n // open the menu if any of its menu items has link to current page and if autoopen value is 'active page'\n if ((this.autoopen === AUTO_OPEN.ACTIVE_PAGE && hasLinkToCurrentPage(this.nodes, this.route.url)) || this.autoopen === AUTO_OPEN.ALWAYS) {\n this.bsDropdown.show();\n }\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.setMenuPosition();\n\n const cancelSubscription = this.app.subscribe(\"highlightActiveLink\", (data) => {\n toggleClass(this.nativeElement.querySelector('.dropdown-toggle') as HTMLElement, 'active', hasLinkToCurrentPage(this.nodes, this.route.url ));\n });\n this.registerDestroyListener(() => cancelSubscription());\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n\n if (key === 'tabindex') {\n // Let the base class handle tabindex setting via setAttr\n super.onPropertyChange(key, nv, ov);\n return;\n }\n\n if (key === 'autoclose') {\n // ngx-bootstrap 21: autoClose is an InputSignal; WaveMaker sets internal dropdown state at runtime.\n (this.bsDropdown as unknown as { _state: { autoClose: boolean } })._state.autoClose =\n nv !== AUTOCLOSE_TYPE.DISABLED;\n this.autoclose = nv;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n public setMenuPosition() {\n switch (this.menuposition) {\n case POSITION.DOWN_RIGHT:\n removeClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.LEFT;\n this.menuCaret = CARET_CLS.DOWN;\n break;\n case POSITION.DOWN_LEFT:\n removeClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.RIGHT;\n this.menuCaret = CARET_CLS.DOWN;\n break;\n case POSITION.UP_LEFT:\n addClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.RIGHT;\n this.menuCaret = CARET_CLS.UP;\n break;\n case POSITION.UP_RIGHT:\n addClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.LEFT;\n this.menuCaret = CARET_CLS.UP;\n break;\n case POSITION.INLINE:\n this.menualign = 'dropinline-menu';\n break;\n }\n }\n\n public onMenuItemSelect(args) {\n const { $event } = args;\n const $item = args.$item.value;\n this.invokeEventCallback('select', { $event, $item });\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n // Fix tabindex if it's NaN (ensure it's fixed after view initialization)\n if (this.widget.tabindex !== undefined && (typeof this.widget.tabindex === 'number' && isNaN(this.widget.tabindex))) {\n this.widget.tabindex = 0;\n (this as any).tabindex = 0;\n }\n styler(this.nativeElement.querySelector('.dropdown-toggle') as HTMLElement, this);\n }\n}\n","\n\n<ng-template #innerTemplate>\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" alt=\"Menu icon\"></wm-app-icon>\n <span class=\"caption\" [textContent]=\"caption\"></span>\n <span class=\"pull-right caret fa {{menuCaret}}\"></span>\n</ng-template>\n\n@if (type === 'anchor') {\n <a wmAnchor\n dropdownToggle\n [attr.aria-label]=\"arialabel || 'Menu'\"\n href=\"javascript:void(0);\"\n role=\"button\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n hint.bind=\"hint\"\n class=\"dropdown-toggle {{menuclass}}\"\n shortcutkey.bind=\"shortcutkey\"\n tabindex.bind=\"tabindex\"\n caption.bind=\"caption\"\n iconclass.bind=\"iconclass\"\n iconurl.bind=\"iconurl\"\n iconposition.bind=\"iconposition\"\n badgevalue.bind=\"badgevalue\"\n >\n <span class=\"pull-right caret fa\" [ngClass]=\"[menuCaret]\"></span>\n </a>\n} @else {\n <button wmButton\n dropdownToggle\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n [attr.aria-label]=\"arialabel || 'Menu'\"\n class=\"btn app-button dropdown-toggle {{menuclass}}\"\n hint.bind=\"hint\"\n shortcutkey.bind=\"shortcutkey\"\n tabindex.bind=\"tabindex\"\n caption.bind=\"caption\"\n iconclass.bind=\"iconclass\"\n iconurl.bind=\"iconurl\"\n iconposition.bind=\"iconposition\"\n type=\"button\">\n <span class=\"pull-right caret fa\" [ngClass]=\"[menuCaret]\"></span>\n </button>\n}\n\n<ul *dropdownMenu [items]=\"nodes\" [ngClass]=\"menulayout\" class=\"icon-position-{{iconposition}}\" role=\"menubar\"\nwmMenuDropdown></ul>\n","import { AfterViewInit, QueryList, ViewChildren, Directive, Optional, Inject, OnDestroy } from '@angular/core';\nimport { MenuComponent } from './menu.component';\nimport { BaseContainerComponent } from '@wm/components/base';\nimport { includes } from \"lodash-es\";\n\nconst menuProps = ['itemlabel', 'itemicon', 'itemlink', 'itemaction', 'itemchildren', 'userrole'];\n\n@Directive()\nexport class MenuAdapterComponent extends BaseContainerComponent implements AfterViewInit, OnDestroy {\n\n private itemlabel;\n private menuRef;\n private readonly pageScope;\n\n private binditemlabel;\n private binditemicon;\n private readonly binditemaction;\n private readonly binditemchildren;\n private readonly binditemlink;\n private readonly binduserrole;\n\n @ViewChildren(MenuComponent) private menuRefQL: QueryList<MenuComponent>;\n private menuRefQLSubscription: any;\n\n constructor(\n inj,\n WIDGET_CONFIG,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n this.pageScope = this.viewParent;\n this.binditemlabel = this.nativeElement.getAttribute('itemlabel.bind');\n this.binditemicon = this.nativeElement.getAttribute('itemicon.bind');\n this.binditemaction = this.nativeElement.getAttribute('itemaction.bind');\n this.binditemlink = this.nativeElement.getAttribute('itemlink.bind');\n this.binduserrole = this.nativeElement.getAttribute('userrole.bind');\n this.binditemchildren = this.nativeElement.getAttribute('itemchildren.bind');\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (includes(menuProps, key) && this.menuRef) {\n this.menuRef.itemlabel = nv;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n if(this.menuRefQL['first'])\n {this.setMenuProperty();}\n this.menuRefQLSubscription = this.menuRefQL.changes.subscribe((menuRefQL: QueryList<MenuComponent>) => {\n if (menuRefQL.first) {\n this.setMenuProperty();\n if (this.menuRefQLSubscription) {\n this.menuRefQLSubscription.unsubscribe();\n this.menuRefQLSubscription = null;\n }\n }\n });\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Unsubscribe from QueryList changes\n if (this.menuRefQLSubscription) {\n this.menuRefQLSubscription.unsubscribe();\n this.menuRefQLSubscription = null;\n }\n\n // MEMORY LEAK FIX: Clear QueryList reference\n this.menuRefQL = null;\n this.menuRef = null;\n\n super.ngOnDestroy();\n }\n\n protected setMenuProperty(){\n if(this.menuRefQL['first']) {\n if (this.menuRefQL.first) {\n this.menuRef = this.menuRefQL.first;\n menuProps.forEach((prop) => {\n const bindProp = `bind${prop}`;\n if (this[bindProp]) {\n this.menuRef[bindProp] = this[bindProp];\n }\n this.menuRef[prop] = this[prop];\n });\n }\n }\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG","i1","i2.NavComponent","i3","i4.NavComponent","i5"],"mappings":"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"}
@@ -6,11 +6,11 @@ import { UserDefinedExecutionContext, App } from '@wm/core';
6
6
  import { DatasetAwareNavComponent, BaseContainerComponent, StylableComponent } from '@wm/components/base';
7
7
 
8
8
  declare class NavComponent extends DatasetAwareNavComponent implements OnInit, OnDestroy {
9
- private cdRef;
10
- private route;
11
- private userDefinedExecutionContext;
12
- private app;
13
- static initializeProps: void;
9
+ private readonly cdRef;
10
+ private readonly route;
11
+ private readonly userDefinedExecutionContext;
12
+ private readonly app;
13
+ static readonly initializeProps: void;
14
14
  selecteditem: any;
15
15
  type: any;
16
16
  disableMenuContext: boolean;
@@ -57,12 +57,12 @@ declare const MENU_POSITION: {
57
57
  };
58
58
  declare class MenuComponent extends DatasetAwareNavComponent implements OnInit, OnDestroy, AfterViewInit {
59
59
  route: Router;
60
- private userDefinedExecutionContext;
61
- private app;
60
+ private readonly userDefinedExecutionContext;
61
+ private readonly app;
62
62
  bsDropdown: BsDropdownDirective;
63
- private parentNav;
63
+ private readonly parentNav;
64
64
  selectEventCB: string;
65
- static initializeProps: void;
65
+ static readonly initializeProps: void;
66
66
  menualign: string;
67
67
  menuposition: string;
68
68
  menulayout: string;
@@ -77,7 +77,7 @@ declare class MenuComponent extends DatasetAwareNavComponent implements OnInit,
77
77
  autoopen: string;
78
78
  hint: string;
79
79
  arialabel: string;
80
- private itemActionFn;
80
+ private readonly itemActionFn;
81
81
  private menuCaret;
82
82
  private _selectFirstItem;
83
83
  type: any;
@@ -106,13 +106,13 @@ declare class MenuComponent extends DatasetAwareNavComponent implements OnInit,
106
106
  declare class MenuAdapterComponent extends BaseContainerComponent implements AfterViewInit, OnDestroy {
107
107
  private itemlabel;
108
108
  private menuRef;
109
- private pageScope;
109
+ private readonly pageScope;
110
110
  private binditemlabel;
111
111
  private binditemicon;
112
- private binditemaction;
113
- private binditemchildren;
114
- private binditemlink;
115
- private binduserrole;
112
+ private readonly binditemaction;
113
+ private readonly binditemchildren;
114
+ private readonly binditemlink;
115
+ private readonly binduserrole;
116
116
  private menuRefQL;
117
117
  private menuRefQLSubscription;
118
118
  constructor(inj: any, WIDGET_CONFIG: any, explicitContext: any);
@@ -125,7 +125,7 @@ declare class MenuAdapterComponent extends BaseContainerComponent implements Aft
125
125
  }
126
126
 
127
127
  declare class NavItemDirective extends StylableComponent implements AfterViewInit, OnDestroy {
128
- static initializeProps: void;
128
+ static readonly initializeProps: void;
129
129
  innerLink: any;
130
130
  makeActive(): void;
131
131
  constructor(inj: Injector, explicitContext: any);
@@ -138,7 +138,7 @@ declare class NavItemDirective extends StylableComponent implements AfterViewIni
138
138
 
139
139
  declare const disableContextMenu: ($event: Event) => void;
140
140
  declare class NavigationControlDirective implements OnDestroy {
141
- private nativeElement;
141
+ private readonly nativeElement;
142
142
  private _link;
143
143
  private boundContextMenuHandler;
144
144
  disableMenuContext: boolean;
@@ -153,7 +153,7 @@ declare class MenuDropdownComponent implements AfterViewInit {
153
153
  private readonly nativeElement;
154
154
  private hasExecutedCallback;
155
155
  items: any;
156
- private menuRef;
156
+ private readonly menuRef;
157
157
  constructor(elRef: ElementRef);
158
158
  ngAfterViewInit(): void;
159
159
  getParentWidget(): void;
@@ -164,11 +164,11 @@ declare class MenuDropdownComponent implements AfterViewInit {
164
164
  }
165
165
 
166
166
  declare class MenuDropdownItemComponent implements OnInit, OnDestroy {
167
- private app;
168
- private userDefinedExecutionContext;
167
+ private readonly app;
168
+ private readonly userDefinedExecutionContext;
169
169
  private parentNav;
170
170
  menualign: string;
171
- private itemActionFn;
171
+ private readonly itemActionFn;
172
172
  item: any;
173
173
  private readonly nativeElement;
174
174
  private highlightActiveLinkSubscription;
@@ -62,12 +62,12 @@
62
62
  this.navContent = null;
63
63
  super.ngOnDestroy();
64
64
  }
65
- static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0__namespace, type: NavbarComponent, deps: [{ token: i0__namespace.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: NavbarComponent, isStandalone: true, selector: "[wmNavbar]", providers: [
65
+ static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: NavbarComponent, deps: [{ token: i0__namespace.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.21", type: NavbarComponent, isStandalone: true, selector: "[wmNavbar]", providers: [
67
67
  base.provideAsWidgetRef(NavbarComponent)
68
68
  ], viewQueries: [{ propertyName: "navContent", first: true, predicate: ["navContent"], descendants: true, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "<div class=\"container-fluid\">\n <div class=\"navbar-header\">\n <button type=\"button\" class=\"btn-transparent navbar-toggle collapsed\" data-toggle=\"collapse\" (click)=\"toggleCollapse()\" aria-expanded=\"false\">\n <span class=\"sr-only\">Toggle navigation</span>\n <wm-app-icon [iconclass]=\"menuiconclass\" [iconurl]=\"menuiconurl\" alt=\"Menu icon\"></wm-app-icon>\n </button>\n @if (title || imgsrc) {\n <a class=\"navbar-brand\" [href]=\"(homelink | trustAs: 'resource') || '#/'\">\n @if (imgsrc) {\n <img data-identifier=\"img\" class=\"brand-image\" [alt]=\"Brand\" height=\"20\" [src]=\"imgsrc | image\"/>\n }\n <span class=\"title\" [textContent]=\"title\"></span>\n </a>\n }\n </div>\n <div class=\"collapse navbar-collapse\" #navContent>\n <ng-content></ng-content>\n </div>\n</div>", dependencies: [{ kind: "ngmodule", type: common.CommonModule }, { kind: "directive", type: base.TextContentDirective, selector: "[textContent]", inputs: ["textContent"] }, { kind: "component", type: base.WmAppIconComponent, selector: "wm-app-icon", inputs: ["icon", "iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }, { kind: "pipe", type: base.TrustAsPipe, name: "trustAs" }, { kind: "pipe", type: base.ImagePipe, name: "image" }] }); }
69
69
  }
70
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0__namespace, type: NavbarComponent, decorators: [{
70
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: NavbarComponent, decorators: [{
71
71
  type: i0.Component,
72
72
  args: [{ standalone: true, imports: [common.CommonModule, base.TextContentDirective, base.TrustAsPipe, base.ImagePipe, base.WmAppIconComponent], selector: '[wmNavbar]', providers: [
73
73
  base.provideAsWidgetRef(NavbarComponent)
@@ -42,12 +42,12 @@ class NavbarComponent extends StylableComponent {
42
42
  this.navContent = null;
43
43
  super.ngOnDestroy();
44
44
  }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: NavbarComponent, deps: [{ token: i0.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
46
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: NavbarComponent, isStandalone: true, selector: "[wmNavbar]", providers: [
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NavbarComponent, deps: [{ token: i0.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.21", type: NavbarComponent, isStandalone: true, selector: "[wmNavbar]", providers: [
47
47
  provideAsWidgetRef(NavbarComponent)
48
48
  ], viewQueries: [{ propertyName: "navContent", first: true, predicate: ["navContent"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"container-fluid\">\n <div class=\"navbar-header\">\n <button type=\"button\" class=\"btn-transparent navbar-toggle collapsed\" data-toggle=\"collapse\" (click)=\"toggleCollapse()\" aria-expanded=\"false\">\n <span class=\"sr-only\">Toggle navigation</span>\n <wm-app-icon [iconclass]=\"menuiconclass\" [iconurl]=\"menuiconurl\" alt=\"Menu icon\"></wm-app-icon>\n </button>\n @if (title || imgsrc) {\n <a class=\"navbar-brand\" [href]=\"(homelink | trustAs: 'resource') || '#/'\">\n @if (imgsrc) {\n <img data-identifier=\"img\" class=\"brand-image\" [alt]=\"Brand\" height=\"20\" [src]=\"imgsrc | image\"/>\n }\n <span class=\"title\" [textContent]=\"title\"></span>\n </a>\n }\n </div>\n <div class=\"collapse navbar-collapse\" #navContent>\n <ng-content></ng-content>\n </div>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: TextContentDirective, selector: "[textContent]", inputs: ["textContent"] }, { kind: "component", type: WmAppIconComponent, selector: "wm-app-icon", inputs: ["icon", "iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }, { kind: "pipe", type: TrustAsPipe, name: "trustAs" }, { kind: "pipe", type: ImagePipe, name: "image" }] }); }
49
49
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: NavbarComponent, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: NavbarComponent, decorators: [{
51
51
  type: Component,
52
52
  args: [{ standalone: true, imports: [CommonModule, TextContentDirective, TrustAsPipe, ImagePipe, WmAppIconComponent], selector: '[wmNavbar]', providers: [
53
53
  provideAsWidgetRef(NavbarComponent)
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/navigation/navbar/src/navbar.props.ts","../../../../../projects/components/widgets/navigation/navbar/src/navbar.component.ts","../../../../../projects/components/widgets/navigation/navbar/src/navbar.component.html","../../../../../projects/components/widgets/navigation/navbar/src/index.ts"],"sourcesContent":["import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-navbar',\n new Map(\n [\n ['class', {value: '', ...PROP_STRING}],\n ['homelink', PROP_STRING],\n ['imgsrc', PROP_STRING],\n ['menuiconclass', {value: 'wi wi-more-vert', ...PROP_STRING}],\n ['menuiconurl', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['title', PROP_STRING]\n ]\n )\n );\n};\n","import { CommonModule } from '@angular/common';\nimport {AfterViewInit, Component, ElementRef, Inject, Injector, Optional, ViewChild, OnDestroy} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, ImagePipe, styler, StylableComponent, provideAsWidgetRef, TextContentDirective, TrustAsPipe, WmAppIconComponent } from '@wm/components/base';\n\nimport { registerProps } from './navbar.props';\n\nconst DEFAULT_CLS = 'navbar navbar-default app-navbar';\nconst WIDGET_CONFIG = {widgetType: 'wm-navbar', hostClass: DEFAULT_CLS};\n\ndeclare const $;\n\n@Component({\n standalone: true,\n imports: [CommonModule, TextContentDirective, TrustAsPipe, ImagePipe, WmAppIconComponent],\n selector: '[wmNavbar]',\n templateUrl: './navbar.component.html',\n providers: [\n provideAsWidgetRef(NavbarComponent)\n ]\n})\nexport class NavbarComponent extends StylableComponent implements AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n public menuiconclass: any;\n public menuiconurl: string;\n public title: string;\n public imgsrc: string;\n @ViewChild('navContent', {static: true}) private navContent: ElementRef;\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n\n public toggleCollapse() {\n const $navContent = $(this.navContent.nativeElement);\n $navContent.animate({ 'height': 'toggle'});\n if ($navContent.hasClass('in')) {\n setTimeout(() => this.toggleNavCollapse(), 500);\n } else {\n this.toggleNavCollapse();\n }\n }\n\n private toggleNavCollapse() {\n this.navContent.nativeElement.classList.toggle('in');\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear ViewChild reference\n this.navContent = null;\n\n super.ngOnDestroy();\n }\n}\n","<div class=\"container-fluid\">\n <div class=\"navbar-header\">\n <button type=\"button\" class=\"btn-transparent navbar-toggle collapsed\" data-toggle=\"collapse\" (click)=\"toggleCollapse()\" aria-expanded=\"false\">\n <span class=\"sr-only\">Toggle navigation</span>\n <wm-app-icon [iconclass]=\"menuiconclass\" [iconurl]=\"menuiconurl\" alt=\"Menu icon\"></wm-app-icon>\n </button>\n @if (title || imgsrc) {\n <a class=\"navbar-brand\" [href]=\"(homelink | trustAs: 'resource') || '#/'\">\n @if (imgsrc) {\n <img data-identifier=\"img\" class=\"brand-image\" [alt]=\"Brand\" height=\"20\" [src]=\"imgsrc | image\"/>\n }\n <span class=\"title\" [textContent]=\"title\"></span>\n </a>\n }\n </div>\n <div class=\"collapse navbar-collapse\" #navContent>\n <ng-content></ng-content>\n </div>\n</div>","/**\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/navigation/navbar/src/navbar.props.ts","../../../../../projects/components/widgets/navigation/navbar/src/navbar.component.ts","../../../../../projects/components/widgets/navigation/navbar/src/navbar.component.html","../../../../../projects/components/widgets/navigation/navbar/src/index.ts"],"sourcesContent":["import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-navbar',\n new Map(\n [\n ['class', {value: '', ...PROP_STRING}],\n ['homelink', PROP_STRING],\n ['imgsrc', PROP_STRING],\n ['menuiconclass', {value: 'wi wi-more-vert', ...PROP_STRING}],\n ['menuiconurl', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['title', PROP_STRING]\n ]\n )\n );\n};\n","import { CommonModule } from '@angular/common';\nimport {AfterViewInit, Component, ElementRef, Inject, Injector, Optional, ViewChild, OnDestroy} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, ImagePipe, styler, StylableComponent, provideAsWidgetRef, TextContentDirective, TrustAsPipe, WmAppIconComponent } from '@wm/components/base';\n\nimport { registerProps } from './navbar.props';\n\nconst DEFAULT_CLS = 'navbar navbar-default app-navbar';\nconst WIDGET_CONFIG = {widgetType: 'wm-navbar', hostClass: DEFAULT_CLS};\n\ndeclare const $;\n\n@Component({\n standalone: true,\n imports: [CommonModule, TextContentDirective, TrustAsPipe, ImagePipe, WmAppIconComponent],\n selector: '[wmNavbar]',\n templateUrl: './navbar.component.html',\n providers: [\n provideAsWidgetRef(NavbarComponent)\n ]\n})\nexport class NavbarComponent extends StylableComponent implements AfterViewInit, OnDestroy {\n static readonly initializeProps = registerProps();\n\n public menuiconclass: any;\n public menuiconurl: string;\n public title: string;\n public imgsrc: string;\n @ViewChild('navContent', {static: true}) private navContent: ElementRef;\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n\n public toggleCollapse() {\n const $navContent = $(this.navContent.nativeElement);\n $navContent.animate({ 'height': 'toggle'});\n if ($navContent.hasClass('in')) {\n setTimeout(() => this.toggleNavCollapse(), 500);\n } else {\n this.toggleNavCollapse();\n }\n }\n\n private toggleNavCollapse() {\n this.navContent.nativeElement.classList.toggle('in');\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear ViewChild reference\n this.navContent = null;\n\n super.ngOnDestroy();\n }\n}\n","<div class=\"container-fluid\">\n <div class=\"navbar-header\">\n <button type=\"button\" class=\"btn-transparent navbar-toggle collapsed\" data-toggle=\"collapse\" (click)=\"toggleCollapse()\" aria-expanded=\"false\">\n <span class=\"sr-only\">Toggle navigation</span>\n <wm-app-icon [iconclass]=\"menuiconclass\" [iconurl]=\"menuiconurl\" alt=\"Menu icon\"></wm-app-icon>\n </button>\n @if (title || imgsrc) {\n <a class=\"navbar-brand\" [href]=\"(homelink | trustAs: 'resource') || '#/'\">\n @if (imgsrc) {\n <img data-identifier=\"img\" class=\"brand-image\" [alt]=\"Brand\" height=\"20\" [src]=\"imgsrc | image\"/>\n }\n <span class=\"title\" [textContent]=\"title\"></span>\n </a>\n }\n </div>\n <div class=\"collapse navbar-collapse\" #navContent>\n <ng-content></ng-content>\n </div>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { AfterViewInit, OnDestroy, Injector } from '@angular/core';
3
3
  import { StylableComponent } from '@wm/components/base';
4
4
 
5
5
  declare class NavbarComponent extends StylableComponent implements AfterViewInit, OnDestroy {
6
- static initializeProps: void;
6
+ static readonly initializeProps: void;
7
7
  menuiconclass: any;
8
8
  menuiconurl: string;
9
9
  title: string;